Логотип

Документация по макросам и шаблонам UMI.CMS

Интернационализация шаблонов данных

Для решения этой задачи, так же как и в случае с XSLT-шаблонизатором, следует использовать функционал языковых констант. И, опять же, если данная операция была запланирована и проведена в самом начале создания сайта, а затем набор констант только поддерживается в актуальном состоянии — операция будет не столь трудоёмкой.

В данном случае списки констант размещаются в файлах i18n.%языковой_префикс%.php в директории ~/classes/modules/data/. Примерная структура файла i18n.en.php такова:

<?php

 $i18n = Array(
  'field-picture' => 'Picture',
  'field-is_hidden' => 'Hidden',
  ...
 );

?>

Примечание: Для новой реализации модулей используется директория ~/classes/components/data/.

Мы видим, что это массив, в котором ключом является название константы (название произвольно), а значением — содержимое этой константы.

Использовать эти константы в модуле «Шаблоны данных» можно следующим образом:

При создании или редактировании поля, группы полей, элемента справочника и т.д., в поле «Название» следует ввести следующую конструкцию: i18n::%название_константы%. Таким образом, для константы из нашего примера запись будет такой: «i18n::field-picture».

После сохранения изменений и перезагрузки страницы вы увидите, что созданный или отредактированный элемент шаблона данных отображает имя, заданное в файле i18n.%префикс текущей языковой версии админ-панели%.php.

Обратите внимание, что файлы i18n.php используются также макросами всех модулей системы (подобные файлы находятся в папках каждого модуля и в корне директории ~/classes/modules/) и шаблонами админ-панели (подробнее об этом в следующем разделе). Программисты и разработчики сайта также могут использовать эти файлы для интернационализации функционала, добавляемого ими в систему.