Регистрация
Вход через соцсети
Восстановление пароля

Опыт создания многоязычных сайтов

Новый топик
12.07.2006, 05:08
Ответить | Цитировать
diawest

Зарегистрирован:
2006-01-20
Сообщений: 6

Встал вопрос разработки многоязычного сайта на NetCat. Стоит версия Plus, но от этого не легче, т.к. встроенная многоязычность актуально только для админки. Опыт работы с NetCat совсем небольшой, поэтому хотел бы посоветоваться с народом улыбка

Предположим, взяли на вооружение совет из документации и сделали сабдомены - ru.mysite.com, en.mysite.com, на каждый завели по отдельному сайту в системе. Текстовые константы, статически прописанные в шаблонах, можно подставлять через opt_case в зависимости от значения дополнительного поля f_Language в свойствах текущего сайта. Но встает вопрос с данными. Если какие-нибудь новости имеет смысл продублировать отдельно в другой языковой версии, то что делать с фотогалереей к примеру? Заставить контент-менеджера закачивать три копии каждой фотографии (отдельную копию для каждой языковой версии)? А если кроме фото мы выкладываем еще и видео - где взять столько места?

Может кто-то решал подобную задачу и готов поделиться опытом?



NetCat CMS Certified Developer ;) http://www.specialist.ru?public=295096
12.07.2006, 12:04
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Все зависит непосредственно от ваших задач и требований. Стандартных наработок, я думаю, нет. Каждый под себя что-то думает. Приведу несколько возможных, на мой взгляд, для Вас решений:

1. Создаете отдельный шаблон для файлового контента с полями: FileName, File, Description. В существующих многоязычных шаблонах убираете файловые поля, и добавляете поле ссылку на файловы шаблон: File_ID. Теперь Вам остается настроить шаблоны таким образом, что контент-менеджеру при добавлении новости надо только нажать на кнопочку и выбрать из файлового шаблона соответсвующую картинку или файл (если файла нет, то добавить его) - тут уж как Вы это визуально сделаете и на сколько Ваш интерфейс будет удобным - зависит только от Вас (но сделать такое удобным и простым реально).

2. Допустим, что у Вас только два языка RU, EN. Тогда в многоязычных шаблонах создаете дублирующиеся поля, типа: EN_Name, RU_Name, EN_Text, RU_Text и одно файловое поле. После этого настраиваете шаблон таким образом, что на русском сайте отображаются записи с заполненными русскими полями, а на англ. сайте - ангийскими полями.

3. Добавляете в многоязычные шаблоны поле CODE. В это поле будет вноситься какой-нить уникальный код для каждой записи шаблона. Например, контент-мменеджер добавляет новость на рус. языке и подгружает картинку и указывает код "911". После этого при добавлении той же новости на англ. сайт, вбивается текст новости, картинка не подгружается, а указывается лишь код "911". а Потом настраиваете шаблон таким образом, что если указано поле CODE и нет картинки, то картинку надо взять из аналогичной записи с таким же кодом, если записи нет, то ничего не выводить... (В качестве CODE можно юзать Message_ID другой записи, также можно сделать альтернативную форму добавления, где в выпадающем меню дать возможность контент-менеджеру выбрать определенный аналог новости на другом языке)

4. Может еще че-нить... улыбка)

зы: Полюбому, Ваша проблема решаема. Самым универсальным решением будет 1ый вариант, потому как для версии 2.4 проверяются еще права доступа к файлам и т.д. и сделав один выделенный шаблон вы решите много вопросов сразу.

Удачи!

Temet nosce...
13.07.2006, 11:24
Ответить | Цитировать
Гость
Гость

Еще в тему, чтоб новый топик не открывать.
А как быть в мультиязычной среде с системными сообщениями?
Например, в гостевой книге, на англицком языке, кнопка добавить на русском.
Как я понял, язык задается в доп поле только для сайта целиком, а для разделов никак нельзя задать?
13.07.2006, 17:27
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Сам движок поддерживает рус. и англ. языки, т.е. можете менять язык админки. А доска объявлений - используйте альтернативную форму добавления.

Temet nosce...
13.07.2006, 23:34
Ответить | Цитировать
Гость
Гость

DiGGy писал(а):
Сам движок поддерживает рус. и англ. языки, т.е. можете менять язык админки. А доска объявлений - используйте альтернативную форму добавления.

С движком все понятно, а так получается, под другой язык нужно шаблон делать новый
14.07.2006, 09:42
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Гость писал(а):
С движком все понятно, а так получается, под другой язык нужно шаблон делать новый

Делать новый шаблон не обязательно. Вы можете настроить существующий...

Temet nosce...
14.07.2006, 13:32
Ответить | Цитировать
Гость
Гость

Не совсем понятно, как например настроить, что бы кнопка $f_AdminButtons выводила не "Добавить" а "Add" например?
14.07.2006, 14:04
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Ну для начала Вы можете сменить язык в админке - и эти кнопки тоже должны смениться (вроде как). К тому же, насколько я понимаю, в версии 2.4 вы моежете сами определять внешний вид $f_AdminButtons

Temet nosce...
198 196 2006-07-14 14:04:58 8632
Описание проекта