100% Мультиязычность DataLife Engine

Разберем небольшой пример создания сайта на русском и английском языке. Итак во первых нам понадобиться два шаблона, для того чтобы была 100% поддержка двух языков, а не так что часть надписей на русском, часть надписей на английском.

Допустим у нас есть шаблоны

/templates/russian/

/templates/english/

Также нам понадобиться два языковых пакета для скрипта

/language/russian/

/language/english/

Далее в админпанеле настройках скрипта указываем шаблон по умолчанию russian, язык по умолчанию также указываем russian.

Теперь нам нужно чтобы каждому из наших шаблонов соответствовал необходимый нам языковой пакет, чтобы при переключении с одного шаблона на другой, менялся бы также язык системных сообщений скрипта. Для этого заходим в Админпанель скрипта -> Другие разделы -> Шаблоны сайта и устанавливаем для каждого шаблона Используемый язык, т.е. для шаблона russian назначаем язык russian, для шаблона english назначаем язык english

Следующим этапом является добавления переключения языков для посетителей сайта. Для этого в main.tpl создадим две ссылки например:

<a href="http://site.ru/index.php?action_skin_change=yes&skin_name=russian">Русский</a>
<a href="http://site.ru/index.php?action_skin_change=yes&skin_name=english">Английский</a>

Теперь при переходе по этим ссылкам пользователь будет менять свой шаблон, а вместе с ним и язык системных сообщений скрипта.

Но и это еще не все наша же цель создать полностью мультиязычный проект, поэтому должно поддерживаться также написание новостей на двух языках. Для этого идем в Админпанель -> Другие разделы -> Дополнительные поля новостей. Выбираем там пункт Добавить поле.

Создаем новое дополнительное поле со следующими параметрами:

Название поля: english
Описание поля: Английский коротко
Категория: Все
Тип поля: Несколько строк

Далее открываем в шаблоне английского языка templates/english/ файл shortstory.tpl и меняем в нем тег {short-story} на тег дополнительного поля [xfvalue_english]. теперь при смене пользователем на сайте русского языка на английский то сама новость будет также выводиться на английском. Правда теперь незабывайте писать новости на двух языках. По аналогии вы можете добавить дополнительное поле и для просмотра полной новости.

Ну вот собственно и все дамы и господа

Удачи вам в построении собственных сайтов.