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

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

celsoft 28 ноября 2006 Советы 76 457
Добрый день уважаемые посетители,

сегодня хочется продолжить написание полезных советов по работе с 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]. теперь при смене пользователем на сайте русского языка на английский то сама новость будет также выводиться на английском. Правда теперь незабывайте писать новости на двух языках. По аналогии вы можете добавить дополнительное поле и для просмотра полной новости.

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

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

Комментарии

  1. probelov (Клиенты)

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

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

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

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

    23 декабря 2008 05:13 12 комментариев
    а названия категорий?
  5. Jaspis (Клиенты)

    3 января 2009 22:54 2 комментария
    gogay,
    а названия категорий?

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

    30 марта 2009 20:39 21 комментарий
    А можно ли как то сделать чтоб строка в которую водить английский был с редактором?
  7. GoldenLion (Посетители)

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

    31 марта 2009 15:04 21 комментарий
    GoldenLion,

    Эта проблема как я понял у всех
  9. CTALKEP (Клиенты)

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

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

    А в так...
    http://сайт.ру/eng/
    http://сайт.ру/ru/
  11. Avacore (Клиенты)

    17 октября 2009 19:34 39 комментариев
    спасибо, выручил
  12. Pentaru (Клиенты)

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

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


    Тоже этот вопрос интересует
  13. tpabokyp4uk (Клиенты)

    25 февраля 2010 15:05 2 комментария
    Цитата: 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.
  14. ZZZik (Клиенты)

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

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

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

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

    11 октября 2012 11:59 35 комментариев
    а метатеги dle сам изменит на английскую?
  18. razer85 (Клиенты)

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

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

    https://dle-news.ru/tips/152-edinaja_registracija_i_avtorizacija_na_neskolkikh_sajjtakh.html
  20. saved (Посетители)

    27 января 2013 20:54 1 комментарий
    Подскажите как реализовать, чтоб при смене языка также менялся язык админпанели?
  21. DimkaG (Клиенты)

    15 сентября 2020 10:15 31 комментарий
    Актуально? не получается т.к. нереально использовать текстовый редактор при сохранении полной и короткой новости!
  22. Dnny (Клиенты)

    20 декабря 2021 19:50 6 комментариев

    Что нибудь сдвинулось с тех давних лет по мультиязычности?
    Переключение шаблонов конечно было неплохим решением в далеком 2006 году, но сейчас уже 2021 заканчивается. :) Хотелось бы какого-то реального решения который не будет использовать костыли и сторонние модули.

  23. almaz.izguzhin (Посетители)

    26 августа 2022 18:17 2 комментария

    Здравствуйте. Есть нормальное решение современное?

Информация

Комментирование публикаций доступно только пользователям имеющим действующую лицензию на скрипт. Если вы уже приобретали скрипт, то вам необходимо зайти на сайт под своим клиентским аккаунтом.

Календарь

«    Апрель 2024    »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930 

Опрос на сайте

Совершаете ли вы покупки в интернет?