gettext中的php字符串变量(忘了一个案例场景)

时间:2009-08-29 11:53:13

标签: php string variables gettext poedit

昨天我发布了一个问题,但我刚刚意识到答案似乎并不适用于某种情况。帖子是php string variables in gettext,这就是我的问题:

  

您好,

     

gettext如何翻译字符串   变量?它似乎不想   这样做..让我说我有$ sentence =   “你好,世界”;然后我想回声   ($句); ......我怎么能这样做呢   我可以翻译里面的东西   Poedit中的$句子?我可以使用 - >回声   sprintf((“%s test”),$句子)和   这将打印出“Hello World test”   浏览器,但它将显示为“%s   测试“在Poedit,我不会得到   Hello World的翻译版本   在Poedit里面。那我怎么用呢   Poedit里面的字符串变量?   谢谢!

这已经解决了。

如果我想从XML文件中获取数据并进行翻译,则会出现问题。

我希望能够做到以下几点:

$foo = $xmlData -> titleText;

然后

echo _($foo); 

或类似

$finalVar = _($foo);

如果我在浏览器中查看php文件,我可以在页面上看到$ foo的内容,但是Poedit没有在$ foo中找到字符串,所以我可以翻译它。

(我相信在js文件中翻译信息时也会出现此问题)

感谢您的帮助,

西蒙

1 个答案:

答案 0 :(得分:1)

显然你不能让Poedit理解PHP。

编辑:你有没有考虑过不同的方法?

if (true) {
    $foo = _('variable holds true');
}

else {
    $foo = _('variable holds false');
}

echo $foo;

您可以让PHP生成与gettext兼容的XML并且关于数据库,我认为最好的解决方案是将转换存储在数据库本身,但是您也可以创建一个脚本来转储数据库中的所有键和值,使用gettext。