Переводы в Prestashop при использовании переменной DEFINE

Например. когда я определил define(MYTEXT, 'Мой текст') и использовал это в модуле Prestashop $this->l(MYTEXT), он отлично работает (поэтому я могу отделять большие блоки текста в отдельном включаемом файле).

Но когда я использую переводы (инструменты) для другого языка, каждый такой текст, в котором используются переменные DEFINE, больше не отображается?

Так что я понятия не имею, как перевести это на другой язык, возможно, конструкция с кодировкой md5 не будет распознана...


person Francois99    schedule 07.02.2013    source источник


Ответы (2)


Я не уверен, почему вы используете определение для текстовых переводов? Но это сделает вещи более сложными. Просто поместите текст в модуль, например

$this->l('Your text here');

и все, вы можете перевести этот текст на любое количество языков.

Спасибо

person Altaf Hussain    schedule 10.02.2013

Вот функция "l" в classes/module/Module.php

abstract class ModuleCore
{
    public function l($string, $specific = false)
    {
       ............
    }
}

поэтому дочерние классы, расширяющиеся от ModuleCore, могут использовать функцию l для перевода текста. в вашем случае вы должны использовать функцию $this->('your text') в своем классе модуля.

person m0z4rt    schedule 20.06.2018