0

with prestashop 1.4.8, PHP 5.3 I want to do this in a module.

$myVar = 'Vincent';
echo $this->l($myVar);

I don't know why it doesn't work, and what the 'real' difference with

echo $this->l('Vincent')

I need to do this becose labels comes from XML files from my own modules configuration system.

any idea ?

Thanks you all.

4

3 回答 3

2

你好,

当你想在 PrestaShop 中翻译某些东西时,你必须使用 l 函数。

这个 :

$fieldToTranslate = $this->l('My Text to translate');  
echo $fieldToTranslate; 

类似于 :

echo $this->l('My Text to translate');

使用 echo 时,您应该看到翻译后的字符串..取决于所选语言..

如果它不起作用,那么您应该检查 l 函数是否可用于您的模块...您是否从正确的类继承?等等

希望这可以帮助,

溴,

于 2012-08-17T12:45:44.687 回答
0

你试过这个吗?

$myVar = 'Vincent';
echo $this->l($myVar, 'your module name');
于 2014-12-03T13:24:05.553 回答
0

有点晚了,但这是我的 2 美分。

原因是 Prestashop 需要一个文字字符串。将变量传递给 prestashops translate 函数是没有意义的。如果要翻译的单词可以是任何可能的字符串,翻译模块如何知道使用哪个翻译?

我猜这也是双引号字符串不起作用的原因......它们可能包含变量。

于 2016-07-28T11:34:05.890 回答