/ / Создание сайта на нескольких языках
ноябрь 28 2006

Создание сайта на нескольких языках

Добрый день уважаемые посетители,

сегодня хочется продолжить написание полезных советов по работе с DataLife Engine. Как известно это очень мощный и гибкий инструмент по созданию собственного портала. С каждым днем его возможности расширяются, но не всегда некоторым пользователям понятно как использовать ту или иную возможность. Одним из нововведений версии 5.1 является полная поддержка ведения сайта на нескольких языках. Но так как 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]. теперь при смене пользователем на сайте русского языка на английский то сама новость будет также выводиться на английском. Правда теперь незабывайте писать новости на двух языках. По аналогии вы можете добавить дополнительное поле и для просмотра полной новости.

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

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

Комментарии

probelov

probelov

20 октября 2008 20:38 Клиенты
0
с версии 5,1 до 7,3 в этом направлении так ничего и не сделали. Это не решение вопроса мультиязычного портала.
cocacola

cocacola

21 октября 2008 13:49 Клиенты
0
Выложенный здесь вариант реализации очень ненадежный! т,е практически не работает!
Jaspis

Jaspis

24 ноября 2008 14:06 Клиенты
0
1. в 7.3 версии нет поддержки английского языка - папку наверно забыли кинуть
English .
2. Вариант который написан нормальный, НО дальше коротко новости у меня дело не пошло, так как при нажатие Подробнее в английском варианте выбрасывает на полную новость русского языка. Скажите, что не так делаю !
Пыталась в шаблонах играть [xfgiven_x] [xfvalue_x] [/xfgiven_x] и т.д.
Очень хочеться решения этой проблемы !
Всё , проблему решила !!! Всем спасибо.
Цитата: evgenzy
4. + Заголовки статей

Заголовки статей это не проблема создаём дополнительное поле eng_title (например) получиться [xfvalue_eng_title]
и в краткой новости в английском шаблоне или в какой-нибудь ёще (где надо) вставляем вместо {title} - [xfvalue_eng_title].
gogay

gogay

23 декабря 2008 05:13 Посетители
0
а названия категорий?
Jaspis

Jaspis

3 января 2009 22:54 Клиенты
0
gogay,
а названия категорий?

Создать категории на английском и выбрать английский шаблон для этих категорий .
Так же нужно разрешить мультикатегории для сайта. И при публикации новостей нужно выбирать категории рус и анг.
Pentaru

Pentaru

30 марта 2009 20:39 Клиенты
0
А можно ли как то сделать чтоб строка в которую водить английский был с редактором?
GoldenLion

GoldenLion

31 марта 2009 04:04 Посетители
0
Если можно, подскажите решение проблемы, получается так же как у Jaspis, при нажатие Подробнее в английском варианте выбрасывает на полную новость русского языка.
Pentaru

Pentaru

31 марта 2009 15:04 Клиенты
0
GoldenLion,

Эта проблема как я понял у всех
CTALKEP

CTALKEP

13 сентября 2009 09:51 Клиенты
0
а ещё проблема в многостраничных новостях - в доп.полях не работает постраничное отображение :(
maestro

maestro

6 октября 2009 14:40 Посетители
1
Как реализовать переключение не так как предложил автор

А в так...
http://сайт.ру/eng/
http://сайт.ру/ru/
Avacore

Avacore

17 октября 2009 19:34 Клиенты
1
спасибо, выручил
Pentaru

Pentaru

16 ноября 2009 18:52 Клиенты
2
Цитата: maestro
Как реализовать переключение не так как предложил автор

А в так...
http://сайт.ру/eng/
http://сайт.ру/ru/


Тоже этот вопрос интересует
tpabokyp4uk

tpabokyp4uk

25 февраля 2010 15:05 Клиенты
0
Цитата: maestro
Как реализовать переключение не так как предложил автор
А в так...
http://сайт.ру/eng/
http://сайт.ру/ru/
Тоже этот вопрос интересует

Использовать .htaccess, допустим так:
RewriteRule ^eng/(/?)+$ index.php?action_skin_change=yes&skin_name=english [L]
RewriteRule ^ru/(/?)+$ index.php?action_skin_change=yes&skin_name=russian [L]

Инструкция: открываем в корневой папке файл .htaccess и после строки RewriteEngine On вставляем код который и привёл ниже.

PS интересует такая ситуация, есть какая-либо переменная, которая отвечает за языковой пакет? К примеру: http://site.ru/index.php?action_skin_change=yes&skin_name=english и я хочу добавить переменную lang=english чтобы вместе с шаблоном сменился языковой пакет.. Я не в теме просто с DLE не много работал.


Проблемку решил, собака зарыта была в engine/init.php.
ZZZik

ZZZik

5 марта 2010 00:01 Клиенты
0
как сделать чтоб в {topnews} отображалить головки [xfvalue_eng_title]
(на другом языке)..... Топик новостей очень важен!
jeka66

jeka66

20 декабря 2011 06:28 Клиенты
0
Давно не писали в этой ветке. Такой способ сейчас самый актуальный для создания 2-х языков на сайте или появилось что-то новое??
celsoft

celsoft

20 декабря 2011 12:21 Администраторы
0
Цитата: jeka66
Давно не писали в этой ветке. Такой способ сейчас самый актуальный для создания 2-х языков на сайте или появилось что-то новое??

Этот способ актуален. Можно также использовать https://dle-news.ru/2007/04/18/edinaja_registracija_i_avtorizacija_na_neskolkikh_sajjtakh.html
razer85

razer85

11 октября 2012 11:59 Клиенты
1
а метатеги dle сам изменит на английскую?
razer85

razer85

13 января 2013 02:18 Клиенты
1
Метатеги категории и новости всеравно будут на одном языке, не подскажете как можно их тоже сделать на двух языках?
celsoft

celsoft

13 января 2013 14:57 Администраторы
0
Цитата: razer85
Метатеги категории и новости всеравно будут на одном языке, не подскажете как можно их тоже сделать на двух языках?

https://dle-news.ru/tips/152-edinaja_registracija_i_avtorizacija_na_neskolkikh_sajjtakh.html
saved

saved

27 января 2013 20:54 Посетители
0
Подскажите как реализовать, чтоб при смене языка также менялся язык админпанели?

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Календарь
«    Август 2019    »
ПнВтСрЧтПтСбВс
 1234
567891011
12131415161718
19202122232425
262728293031 
Опрос на сайте
Совершаете ли вы покупки в интернет?

Популярные новости
Архив новостей
Май 2019 (3)
Апрель 2019 (1)
Март 2019 (3)
Февраль 2019 (2)
Январь 2019 (2)
Декабрь 2018 (1)