1

我昨天发布了一个问题,但我刚刚意识到答案似乎不适用于某种情况。该帖子是gettext中的php字符串变量,这是我所问的:

你好,

gettext 如何翻译字符串变量?它似乎不想这样做..假设我有 $sentence = "Hello World"; 然后我想回显 ($sentence); ...我该怎么做才能翻译 Poedit 中 $sentence 中的内容?我可以使用 -> echo sprintf(("%s test"), $sentence) 这将在浏览器,但它会在 Poedit 中显示为“%s test”,我不会在 Poedit 中获得 Hello World 的翻译版本。那么如何在 Poedit 中使用字符串变量呢?谢谢!

这已经解决了。

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

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

$foo = $xmlData -> titleText;

进而

echo _($foo); 

或类似的东西

$finalVar = _($foo);

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

(相信翻译js文件中的信息也会出现这个问题)

感谢您的帮助,

西蒙

4

1 回答 1

1

显然你不能让 Poedit 理解 PHP。

编辑:您是否考虑过不同的方法?

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

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

echo $foo;

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

于 2009-08-29T11:56:24.930 回答