Мультиязычность - локализация сайта на tpl-шаблонах — различия между версиями
VITL' (обсуждение | вклад) (Новая страница: «При использовании TPL-шаблонизатора и нескольких языковых версий сайта, возможно создание …») |
(нет различий)
|
Версия 19:05, 26 апреля 2011
При использовании TPL-шаблонизатора и нескольких языковых версий сайта, возможно создание переменных, значения которых будут динамически изменяться в зависимости от текущей языковой версии сайта. Рассмотрим пример для модуля каталог. Необходимо создать копию файла classes/modules/catalog/lang.php и переименовать в lang.ru.php. В файл lang.ru.php добавим строку:
$LANG_EXPORT['filter'] = 'Фильтр по брендам';
Также создадим файл lang.en.php:
<?php $LANG_EXPORT = Array(); $LANG_EXPORT['filter'] = 'Filter by brand'; ?>
ru, en, de, fr и т.д. – языковой префикс сайта. При обновлении системы, файлы lang.XX.php не перезаписываются. В tpl-шаблоне одного из макросов модуля каталог, допустим в блоке objects_block, пропишем макрос %filter%:
$FORMS['objects_block'] = <<<END %filter%: %catalog search('%category_id%')% %system numpages(%total%, %per_page%)% <ul> %lines% </ul> %system numpages(%total%, %per_page%)% END;
Находясь в русской версии сайта: _http://sait.ru/shop/audio/ , вместо макроса %filter% будет выведено 'Фильтр по брендам', а в английской версии сайта: _http://sait.ru/en/shop/audio/ , увидим строку 'Filter by brand'.