Для решения этой задачи, так же как и в случае с 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/
) и шаблонами админ-панели (подробнее об этом в следующем разделе). Программисты и разработчики сайта также могут использовать эти файлы для интернационализации функционала, добавляемого ими в систему.