Skip to content
  1. Компоненты
  2. Localizator

Localizator

Компонент Localizator дает возможность создания языковых версий / сателлитов без контекстов, с автоматическим переводом всех полей ресурса, включая дополнительные параметры, а также автоперевод лексиконов.

  • Для работы должны быть включены ЧПУ (friendly URLs)
  • Компонент требует установки pdoTools и MIGX.

Настройка

Создание псевдоконтекстов «локализации» (можно вместе работать через site.ru/en/ и ch.site.ru)

псевдоконтексты

У ресурса есть таб, где заполняются все стандартные поля ресурса + сео + дополнительные поля, далее по нажатию кнопки это все можно перевести на другие языки.

таб локализатораокно локализации

Системные настройки

Для работе со сниппетами пакета pdoTools (pdoResources, pdoMenu) для выборки ресурсов, необходимо заменить значение системной настройки pdoFetch.class на pdotools.pdofetchlocalizator.

Все поля ресурса подменяются локализированными, кроме content, он выводится через {$_modx->resource.localizator_content}.

Для правильной работы с mFilter2 сделан обработчик. Для его активации нужно указать в системной настройке mse2_filters_handler_class значение mse2LocalizatorFilter.

НазваниеПо умолчаниюОписание
localizator_default_languageНетКлюч локализации по умолчанию
localizator_default_translatorYandexПереводчик для автоматического перевода
localizator_key_yandexНетAPI ключ для Яндекс переводчика, https://translate.yandex.ru/developers/keys
localizator_translate_fieldspagetitle longtitle menutitle seotitle keywords introtext description contentСписок полей для перевода, которые будут переведены при использовании автоматического перевода, в том числе и доп.поля
localizator_translate_translatedНетПри использовании автоматического перевода переведет ПУСТЫЕ поля у существующих локализаций
localizator_translate_translated_fieldsНетПри использовании автоматического перевода перезапишет все поля локализации
localizator_tv_fieldsНетУказанные дополнительные поля будут доступны для редактирования в локализации. Оставьте настройку пустой, если нужны все доп.поля. Укажите поля со знаком минус в начале чтобы исключить доп.поля ('-image')

Настройка локализаций типа site.ru/en/

Apache2

Для правильной работы нужно указать правило в .htaccess

apache
RewriteRule ^(ru|en)/assets(.*)$ assets$2 [L,QSA]

NGINX

nginx
location ~ ^/(ru|en) {
  rewrite ^/(ru|en)/(favicon.ico|assets.*)$ /$2 redirect;
  try_files $uri $uri/ @rewrite;
}