Лексиконы

    Лексиконы

    Для использования лексиконов необходимо создать папку с полным названием языка (russian-UTF8, english и т.д.) или кодом ISO 639-1 (ru, en и т.д.), в ней создать файл название_лексикона.inc.php:

    <?php
    if (!defined('MODX_BASE_PATH')) {die();}
    $_lang = array();
    $_lang['ключ'] = 'Значение.';
    return $_lang;
    ?>

    Для загрузки лексиконов при вызове сниппета следует указать параметры:

    • langDir - путь к папке с лексиконами;
    • lang - название языка лексикона (если не указано, то используется параметр конфигурации manager_language), при использовании кода ISO для языков, поддерживаемых MODX, выполнится преобразование;
    • lexicon - название лексикона, можно указать несколько названий через запятую. Также можно задать значения непосредственно в параметре:
      &lexicon=`{
      "english":{
          "test":"Test lexicon value",
          "foo":"Another lexicon value",
          "bar":"And one more value"
      },
      "russian-UTF8":{
          "test":"Проверка",
          "foo":"Еще проверка",
          "bar":"И еще"
      }
      }`

    После этого в шаблонах можно использовать плейсхолдеры [%ключ%] для подстановки значений из загруженных языковых файлов. Возможно подключать сторонние лексиконы через класс-адаптер, указав его в параметре lexiconHandler (см. файл assets/snippets/FormLister/lib/LexiconHandlers/EvoBabelLexiconHandler.php).