Дві мови в DataLife Engine (DLE)

Верстав тут сайт на DLE і виникла потреба створити дві версії сайту на різних мовах, англійську та російську Верстав тут сайт на DLE і виникла потреба створити дві версії сайту на різних мовах, англійську та російську.

Є кілька способів реалізації подібної фішки, мені відомі поки тільки два. Перший - найпростіший: робити версію сайту за замовчуванням на основному домені, а друга мова прикручувати на другу версію сайту, що висить на піддомені, додати спільну реєстрацію і все в шоколаді.

Користь цього способу полягає в тому, що хоч і на піддомені, але друга версія сайту також як і перша буде знаходитися, індексуватися і підніматися в пошукових системах. А неприємний момент полягає в тому, що у нас виходить два хоч і повноцінних, але за рахунок движка, досить важких сайту.

Другий спосіб більш цікавий у своїй реалізації та на відміну від першого дуже навіть легкий. Ось тільки слід відразу зауважити що альтернативна версія сайту з іншим мовою не буде помічена пошуковими системами, та й взагалі - вона всього лише створює видимість багатомовності. Але я впевнений що даний метод підійде багатьом проектам.

Загалом, полягає все в створенні двох (ну або більше) шаблонів сайту з різними мовами і впровадженні кнопок на їх перемикання. Скажімо, зробили ми два шаблони, один російський, другий - англійська. Закинули папки в директорію темплейтов і вийшло два відносних адреси:

/ Templates / rus / / templates / eng /

Далі качаємо англійську версію мови для движкових повідомлень. Чомусь в нуллених версіях DLE присутній тільки російська. Завантажили і закинули в папку "language".

В налаштуваннях адмінпенелі вказуємо шаблон за замовчуванням, нехай це буде російська. Також, мова за замовчуванням робимо російським.

Далі, щоб другий шаблон здавався зовсім англійським, заходимо в "Інші розділи" адмінки, там є "Шаблони сайту" - знаходимо наш "eng" і прикручуємо до нього мову "english". Тепер все системні повідомлення DLE будуть видаватися англійською (ну, аналогічно і з іншими мовами, хоч японський).

Наступний крок полягає в прикручуванні кнопок зміни мови. Зазвичай роблять прапорці країн. Так ось, створили два прапорці, сунули їх в шаблон і зробили кнопками, провідними за наступними адресами:

/index.php?action_skin_change=yes&skin_name=rus /index.php?action_skin_change=yes&skin_name=eng

Ну, власне, шаблони вже переключаються і дизайн з системними повідомленнями у нас на двох мовах. А як же зробити двомовні версії постів, щоб на російській шаблоні були російські, англійською - англійські відповідно?

Тулімов в адмінку, шукаємо в тих же "Інших розділах" "Додаткові поля новин" і додаємо туди нове поле з наступними параметрами:

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

Потім в шаблоні англійської мови відкриваємо файл shortstory.tpl і міняємо в ньому тег {short-story} на тег додаткового поля [xfvalue_eng_short].

Тепер в англійській версії шаблону будуть виводитися короткі описи, які написані в поле "Англійське опис", при соданія поста. За аналогією, то ж можна зробити і з fullstory і title.

Все дуже просто і реалізація досить цікава. Ось тільки, блін, для SEO англійську мову існувати не буде ...

  • • Схожі записи
  • • Попереднє з рубрики

Php?
Php?
А як же зробити двомовні версії постів, щоб на російській шаблоні були російські, англійською - англійські відповідно?