Jump to main content Jump to doc navigation
Заметка: Этот документ является заглушкой, пожалуйста, помогите, расширив его.

MODX поставляется с концепцией Лексиконов которая помочь с интернационализацией (i18n). Они представляют собой пары key=>value для каждого языка, к которым можно получить доступ различными способами.

Соответствующие настройки

Для правильной поддержки i18n настройте следующие параметры:

  • Для менеджера установите manager_language двухсимвольный код языка.
  • Для фронтенда:
    • Установить cultureKey двухсимвольный код языка, чтобы указать, какую лексикон следует загружать.
    • Установить locale установку полной локали (например, de_DE.UTF8) среди прочего использовать локаль для форматов времени/даты/чисел.

Лексиконы

Темы лексиконов должны быть загружены перед использованием.

Использование лексиконов в шаблонах

[[%key? &topic=`topicname` &namespace=`namespace_name` &language=`en`]]

Использование лексиконов в PHP

$modx->lexicon->load('namespace_name:topicname');
echo $modx->lexicon('key');

Создание многоязычного сайта

Для создания многоязычных сайтов в MODX обычно есть два подхода.

Первый включает в себя настройку контекстов для языка. Вы направите посетителя в нужный контекст по (суб) домену или подпапке, используя gateway плагин, virtual host, или сторонние дополнения как xRouting или LangRouter.

С многоконтекстным подходом Babel может быть полезным для связи переводов в разных контекстах. Вы также можете использовать лексиконы в своих шаблонах в разных контекстах, создав соответствующие параметры контекста cultureKey и locale.

Другой подход заключается в управлении всеми языками из единого контекста. Это требует сторонних дополнений, таких как Lingua.