s
означает строку и является строкой для перевода.
l()
- это пользовательская функция Smarty, которую мы добавили в PrestaShop для создания шаблонов(.tpl файлы) переводимые.
Мы зарегистрировали его в /config/smarty.config.inc.php
в строке 86:
smartyRegisterFunction($smarty, 'function', 'l', 'smartyTranslate', false);
И затем добавили в \config\smartyfront.config.inc.php
и config\smartyadmin.config.inc.php
:
function smartyTranslate($params, $smarty)
Можно использовать следующие параметры:
mod
Для использования только в файлах шаблонов модулей (.tpl), симя связанного модуля
Пример: {l s='My module text' mod='mymodulename'}
js
Для использования в блоках кода JavaScript переведенный контент будет экранирован
Пример: var my_var = '{l s='Delete' d='Admin.Actions' js=1}';
pdf
Для использования со ссылкой на файл PDF
Пример: {l s='Note' d='Shop.Pdf' pdf='true'}
d
Будетиспользуется со ссылкой на конкретный файл перевода
Пример: {l s='No menu' d='Admin.Advparameters.Feature'}
sprintf
Используется, если в переведенной строке есть переменные
Пример:{l s='My variable is %s' sprintf=[$my_var|escape:'html':'UTF-8']}
Более подробную информацию можно найти в документации PrestaShop 1.7 здесь .