@timonbandit
Front End Developer

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

Нужно сделать сайт на modx - с этим нет проблем, так как движок совершенно замечательный, гибки и все дела. Но вот проблема с тем, чтоб сделать его мультиязычным.
Самый простой вариант - дублировать ресурсы, например создали в подразделе ru/ страницу avalon.html и следом делаем страницу de/avalon.html. Но это мне просто, а будущему владельцу сайта - нет, для него это будет излишняя заморочка. Поэтому нужно делать кошерно.
Нашел три варианта:
  • MIGX Multilang
  • Babel
  • Xlexicon


Первый крут, но для того чтоб его освоить, нужно освоить MIGX, который непрост, да и документации не так уж много. И если с MIGX все понятно, то с MIGX Multilang вообще все сложно. Картинки загружаю в каталог по умолчанию, но плагин дописывает ru или de - совершенно неуместные здесь. Как добавить tv в перевод? Документация описывает самые азы, но толку от них не много.

Babel и xlexicon - там заморочка с контекстами..

Самое главное, что сайт нужен весьма несложный:
Некий каталог.
Обычный посетитель может добавить в каталог данные с картинками, но они в каталог попадут после модерации.
Поиск по каталогу.
Страница объекта/товара.

Как это проще реализовать? Стоит ли дальше заморачиваться с MIGX Multilang? Или проще с Babel?
  • Вопрос задан
  • 6140 просмотров
Пригласить эксперта
Ответы на вопрос 4
@neznae4ko
Программирую, разрабатываю, печатаю, паяю и создаю
как вариант (я бы не заморачивался бы и сделал так)
просто создал бы тв en, в который пихал бы перевод на аглицкий, в тв de - пихал бы дойч.
Сделал бы сниппет который смотрит юзер-агент. В зависимости от языка браузера пользователя отдавать можно нужную тв. а если нужно переключить язык, то сделать что-то вроде site.com/page.html?lang=de
так что если есть переменная ланг, то отдаем тот язык, который в в ланг, если нету, то тот который отрапортовал браузер. если не удалось распазнать язык браузера, то отдаем язык по умолчанию. Кстати да, site.com/page.html?lang=de с помощью нехитрых правил реврайта превращается в какой-нить site.com/lang/de/page.html и его любят поисковики))
Ответ написан
@MirageFFF
Lingua замечательный плагин.
Либо localizator от нашего соотечественника.
В первом можно управлять доп полями.
Во втором только content и pagetilte и другими стандартными полями.
Ответ написан
Комментировать
osipova
@osipova
Сервис онлайн конкурсов Competizer.com
Понимаю, что вопрос устарел для автора топика, но, может, кому-то будет полезно.

У меня стояла задача чуть сложнее - сделать мультисайтовость в админке и мультиязычность на каждом сайте. Каким образом я это реализовала (в этом я восторгаюсь гибкостью MODX, тк был даже выбор - как можно сделать)

Мультидоменность реализована через контексты - это внутренняя возможность системы. А вот мультисайтовость через Xlexicon. Он как раз добавляет переводы полей к каждой странице и показывает нужный перевод в зависимости от того, какой язык выбран пользователем. А шаблоны и все плагины/снипеты используются одни и те же, служебные переводы хранятся в словарях - это тоже встроенная возможность MODX.
Ответ написан
Комментировать
@webartdp
"Babel и xlexicon - там заморочка с контекстами"
Я бы не сказал что тут много заморочек. Настраиваю мультиязычность всегда в связке Babel + Контексты. Очень удобно в дальнейшем работать с таким сайтом. Вот подробная инструкция по настройки контекстов и в целом создании мультиязычности.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы