Мультиязычность в modx

Сделал уже три мультиязычных сайта на МОДХ. Ничего сложного там нет и Для просмотра ссылки Войди или Зарегистрируйся вполне адекватно все описывает. Хотя получилось не с первого раза :).
Говорил со знакомым сеошником и он был приятно удивлен именно такой мультиязычности.
А можете пример хотя бы один показать для интереса? :) А вообще статья интересная и комментарии полезные по теме, сам занят вопросами мультиязычности и как нельзя кстати описание увидел, буду пробовать.
Плюсы по мнению сеошника в чем он увидел если поточнее? просто сама постановка вопроса в чем лучше в сравнении с другими подходами, ну как-то может поясните тоже?
Спасибо! :)
 
А можете пример хотя бы один показать для интереса?
К примеру:

Скрытое содержимое доступно для зарегистрированных пользователей!

Плюсы по мнению сеошника в чем он увидел если поточнее?

Сеошнику понравилось формирование ссылок и их связка в разных языках. Схема такова что позволяет иметь на каждую языковую версию страницы одинаковый url кроме букв языка.
в чем лучше в сравнении с другими подходами
Один из подходов это банальное использование вложенности в ресурсах и своего плагина для смены языка. Тобиш есть два (или сколько нужно) ресурса (рус, укр, пол и т.п.). А уже основная структура под каждый язык своя. Но этот подход не выдерживает никакой критики и даже не стоит внимания.
Еще один описан
Скрытое содержимое доступно для зарегистрированных пользователей!
но я им не пользовался потому что не хотел обьяснять блондинкам как наполнять сайты с ним.
 
Я делаю проще (на мой взгляд проще...).

Создаю 2 новых шаблона, один для русского фронтэнда, второй для английского (ru_main, eng_main).
Далее создаю 2 новых ресурса, даю названия - ru, eng. Эти ресурсы являются родительскими.
Далее создаю вложенные ресурсы на русском языке (главная, о нас, услуги и т.д.), в качестве родителя выбираю ресурс RU.

Тоже самое с чанками - шапка, футер и т.д. Прописываю в именах _ru, _eng, дабы не запутаться потом.

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

Теперь остается сделать в шапке выбор языка отображения контента на сайте, делаю простым выбором идентификатора ресурса (RU, ENG).

Все, сайт работает в режиме мультиязычности.

Минусы такого способа - не работает с включенными урлами, так как ориентирован под идентификаторы ресурсов, и при переключении языка происходит "переброс" на главную страницу (родительскую RU или ENG).
 
Я делаю проще (на мой взгляд проще...).

Создаю 2 новых шаблона, один для русского фронтэнда, второй для английского (ru_main, eng_main).
Далее создаю 2 новых ресурса, даю названия - ru, eng. Эти ресурсы являются родительскими.
Далее создаю вложенные ресурсы на русском языке (главная, о нас, услуги и т.д.), в качестве родителя выбираю ресурс RU.

Тоже самое с чанками - шапка, футер и т.д. Прописываю в именах _ru, _eng, дабы не запутаться потом.

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

Теперь остается сделать в шапке выбор языка отображения контента на сайте, делаю простым выбором идентификатора ресурса (RU, ENG).

Все, сайт работает в режиме мультиязычности.

Минусы такого способа - не работает с включенными урлами, так как ориентирован под идентификаторы ресурсов, и при переключении языка происходит "переброс" на главную страницу (родительскую RU или ENG).


Это действительно неприятный момент, но он решается модификацией файла index.php. В остальном, этот способ позволяет получить наиболее коррекнтую на мой взгляд структуру.
 
Про какой именно "неприятный момент" вы пишите - решается модификацией index файла? Знаете решение как запустить этот метод мультиязычности с включенными урлами?
 
Конечно. Решение не элегантное, но рабочее:

Язык можно определить так:
$cur_lang = substr($_SERVER['REQUEST_URI'], 1, 2);

А потом примерно так выводить переключатель языков:

if (isset($_REQUEST['current_id'])) {echo '<a href="/'.$lang.substr($_SERVER['REQUEST_URI'], 3).'/'.$_REQUEST['current_id'].'">' . $langLabels[$lang] . '</a>';

На а дальше дело техники ;)
 
По любому вариант с Babel подходит очень хорошо. Устанавливал его по статье указанной konishoa
addon Babel позволяет организовать мультиязычность на сайте. Вот видеоурок Для просмотра ссылки Войди или Зарегистрируйся

возникли проблемы с редиректом, так как сайт был на субдомене. Решается очень просто. Возникнет проблема, пишите.
 
Последний проект тоже решил реализовать на Babel. Полет отличный. Наверно остановлюсь на этом варианте для всех последующих проектов.
 
не сказать чтобы прям танцы с бубном, делал уже на 1 сайте, все работет, сейчас статью не найду, но смысл в использовании разных контекстов
 
А я не пойму нечего сколько уже раз пробовал сделать не работает корректно на Babel :(
 
Назад
Сверху