Хак Многоязычность DLE

Тема в разделе "DLE", создана пользователем sergeysnl, 1 фев 2009.

Информация :
Актуальная версия DataLife Engine 11.3
( Final Release v.11.3 | Скачать DataLife Engine | Скачать 11.3 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.2 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. sergeysnl

    sergeysnl Читатель

    Заблокирован
    Регистр.:
    10 фев 2008
    Сообщения:
    331
    Симпатии:
    100
    Думаю многие столкнулись или сталкивались с проблемой многоязычности в DLE. Сегодня научу вас как сделать ваш движок многоязычным не прикладывая особых усилий. Буду показывать пример многоязычности с 2мя языками: Русским и английским, по примеру этих двух вы сможете сделать и больше.

    Итак начнем.

    Подготовка:

    Во-первых нам понадобится 2 шаблона, одинаковых, неодинаковых - Ваше дело. Папку с первым шаблоном переименовываем в Русский, вторую в English. Открываем Шаблон English и все *.tpl файлы редактируем под английский язык. Графику тоже редактируем.

    Во-вторых, понадобится английский перевод сайта и админки (админки не обязательно). На форуме выкладывали английский движок с установкой, вам же надо скачать его (_ttp://www.failai.lt/td51eu6p4at8/Datalife-Engine-v7.5en.zip.htm) и из папки languages вытянуть папку English и скопировать в ваш сайт в папку Languages. Если же у вас имеется уже Английский язык в папке Languages можна не делать то что описанно выше про язык.

    Создание непосредственно многоязычности

    Идем в нашу админку - Другие разделы - Шаблоны сайта. Выбираем шаблон English и Используемый язык делаем English. Выбираем шаблон Russian и соотвественно присваиваем язык Russian. Большая часть уже готова.

    Теперь вы наверное задумались как же решить проблему с новостями, ведь из админки вы добавляете русскую версию. И в этом я вам помогу :)

    2 и более языков для новости.​

    Опять же идем в Настройки системы - Дополнительные поля новостей.

    Жмем "добавить поле" в Название поля пишем Englishshort в Описание поля Короткая английская версия. Тип поля - Несколько строк. Жмем Сохранить.

    Идем в папку с шаблоном English в нем открываем файл shortstory.tpl Ищем
    {short-story}
    Заменяем на
    [xfvalue_Englishshort]

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

    Опять же идем в Настройки системы - Дополнительные поля новостей.

    Жмем "добавить поле" в Название поля пишем Englishfull в Описание поля Полная английская версия. Тип поля - Несколько строк. Жмем Сохранить.

    Идем в папку с шаблоном Russian в нем открываем файл fullstory.tpl Ищем
    {full-story}
    Заменяем на
    [xfvalue_Englishfull]

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

    - - - - - -
    (c) sergeysnl
    Спасибо только кнопкой
    - - - - - -

    То что вы пишете в добавлении новости в короткую новость и полную новость это русская версия что пишете в Короткая Английская версия и Полная английская версия это Полная и короткие английские версии новости.

    Есть вопросы ? Смело задавайте!
     
    masima, starter1983 и jred нравится это.
  2. sergeysnl

    sergeysnl Читатель

    Заблокирован
    Регистр.:
    10 фев 2008
    Сообщения:
    331
    Симпатии:
    100
    Совсем забыл про важную вещь... В конце проделанного пишем в какой либо блок {changeskin} называем блок Смена языка \ Language Change
     
  3. starter1983

    starter1983 Постоялец

    Регистр.:
    7 авг 2008
    Сообщения:
    82
    Симпатии:
    17
    Очень классный хак.
    Я в свое время пользовался только сменой скина, для мультиязычности - благо, что на сайте были одни статические страницы.
    А так - :ay:
    Автору - респект!
     
  4. avenger

    avenger

    Регистр.:
    20 апр 2007
    Сообщения:
    194
    Симпатии:
    13
    Исключительно для пользователя - решение хорошее, но вот поисковик этого не оценит... Шаблоны он переключать не умеет.
    А ведь использование двуязычного сайта в большей мере оправдано тем, что охватывает больше запросов(оба языка). Даже если придумать как сделать переключение языков ссылкой, все-равно остается проблемным то, что некоторые страницы в индексе будут на одном языке, другие на другом...
    ТС спасибо - хороше решение предложил, но реально очень важно последнее, а именно - SEO(чем так славится DLE).
    Как вариант можно страницы второго языка обозначить типа "?ln=en", или введением дополнительного суфикса в урл... Но вот как это осуществить технически?
     
  5. sergeysnl

    sergeysnl Читатель

    Заблокирован
    Регистр.:
    10 фев 2008
    Сообщения:
    331
    Симпатии:
    100
    Смена Посредством ссылки:
    На русский:
    PHP:
    /index.php?action_skin_change=yes&skin_name=russian
    на английский:
    PHP:
    /index.php?action_skin_change=yes&skin_name=english
    ну а дальше вы сами поймете по названию.
     
  6. antiterror

    antiterror xProgramming

    Регистр.:
    22 авг 2007
    Сообщения:
    344
    Симпатии:
    135
    Не знаю ты или не ты писал sergeysnl на оф. сайте, но это уже там давно написано...

    и не красиво если не твоя работа, теперь здесь писать мол твои копирайты
    - - - - - -
    (c) sergeysnl
    Спасибо только кнопкой
    - - - - - -
     
  7. dm_mb

    dm_mb

    Регистр.:
    6 июн 2006
    Сообщения:
    610
    Симпатии:
    122
    главное еще в шаблоне не забыть поменять в языках

    'wysiwyg_language' => "ru", на нужный язык. и скачать язык для редактора :)

    Добавлено через 21 минуту
    Перейти по ссылке

    тс. а копирайт почему свой поставил? изложил своими словами или сам додумался :))

    извини, но спасибо заберу своё :)

    кстати всем рекомендую на оффсайте почитать раздел • Полезные Советы

    тут сейчас половина вопрос про кодировки и прочее в соседних топиках отпадет.
     
  8. $aSH

    $aSH

    Регистр.:
    3 ноя 2006
    Сообщения:
    536
    Симпатии:
    233
    вот вот, и я ночью удивился, почему это офф сайт дублируют. там и так разжовано все
     
  9. avenger

    avenger

    Регистр.:
    20 апр 2007
    Сообщения:
    194
    Симпатии:
    13
    Это хорошо, но как я уже сказал - пути к разным версиям страниц то не изменятся... Т.е. одна и так же страница у поисковика может быть проиндексирована или на одном языке, или на другом... А не как две разные страницы...
     
  10. sergeysnl

    sergeysnl Читатель

    Заблокирован
    Регистр.:
    10 фев 2008
    Сообщения:
    331
    Симпатии:
    100
    не разводите флуд! я незнал об этой новости на офф сайте я туда вообще заходил 1 раз наверное, я вам выложил то, до чего догадался сам. Кому ненравится - идите на оффсайт и юзайте. Модеров прошу закрыть тему что бы только видеть могли сообщение, т.к. флуд повалится немеренный
     
Статус темы:
Закрыта.