Skip to content
  1. Extras
  2. Localizator

Localizator

Localizator lets you create language versions / satellites without contexts, with automatic translation of all resource fields (including TVs) and lexicons.

  • Friendly URLs must be enabled
  • Requires pdoTools and MIGX

Setup

Create "localization" pseudo-contexts (e.g. site.ru/en/ and ch.site.ru):

pseudo-contexts

Resources get a tab where you fill standard fields + SEO + TVs; a button then translates everything into other languages.

Localizator tabLocalization window

System settings

To use pdoTools snippets (pdoResources, pdoMenu) for localized resources, set pdoFetch.class to pdotools.pdofetchlocalizator.

All resource fields are replaced by localized values except content, which is output via {$_modx->resource.localizator_content}.

For mFilter2, set mse2_filters_handler_class to mse2LocalizatorFilter.

NameDefaultDescription
localizator_default_languageNoDefault localization key
localizator_default_translatorYandexTranslator for auto-translation
localizator_key_yandexNoAPI key for Yandex Translate, https://translate.yandex.ru/developers/keys
localizator_translate_fieldspagetitle longtitle menutitle seotitle keywords introtext description contentFields to translate when using auto-translate (including TVs)
localizator_translate_translatedNoWhen auto-translating, also translate EMPTY fields in existing localizations
localizator_translate_translated_fieldsNoWhen auto-translating, overwrite all localization fields
localizator_tv_fieldsNoTVs listed here are editable in localizations. Leave empty for all. Use minus prefix to exclude ('-image')

site.ru/en/ style setup

Apache2

Add a rule in .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;
}