Skip to content

Языки (PRO)

Многоязычность без копий дерева ресурсов и без отдельных контекстов MODX. Язык — это значение context_key у блока, строки таблицы или ресурса.

PageBlocks → Конструктор → Языки.

Настройки языка

НастройкаЧто делает
КлючТо, что попадёт в context_key. Например de. Обязательное
НазваниеКак язык подписан в списках. Обязательное
Culture keyПапка в App/lang/ и код для переводчика. По умолчанию равен ключу
ЛокальСистемная локаль, de_DE.UTF-8
Префикс URLСегмент адреса. Пусто — берётся ключ
ПереводчикКто переводит машинно — см. Переводчики
НастройкиJSON, применяется как настройки MODX на время запроса
По умолчаниюЯзык без префикса в адресе. Может быть только один
АктивноНеактивный язык сайту не виден

Контент не дублируется

Это главное отличие от привычного подхода с контекстами. Строка не копируется под каждый язык целиком — у перевода свой context_key, и всё. Не переведённое остаётся одним экземпляром и не требует внимания.

Настройки под язык

Поле Настройки принимает JSON и подменяет системные настройки MODX на время запроса:

json
{"site_name": "Comstil", "emailsender": "info@example.com"}

Так у немецкой версии своё имя сайта и свой адрес отправителя писем, без единого условия в шаблоне.

Язык по умолчанию всегда без префикса

Он один, и адрес у него голый: /about, а не /ru/about. Остальные живут под своим префиксом. Поэтому переключение основного языка меняет все канонические адреса сайта — решать это надо до запуска, а не после.

© PageBlocks 2019-present