Дві мови в DataLife Engine (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?
А як же зробити двомовні версії постів, щоб на російській шаблоні були російські, англійською - англійські відповідно?