gettext中的php字符串变量

Posted

技术标签:

【中文标题】gettext中的php字符串变量【英文标题】:php string variables in gettext 【发布时间】:2010-11-23 20:45:19 【问题描述】:

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

【问题讨论】:

【参考方案1】:

http://us2.php.net/manual/en/book.gettext.php有详细信息。

【讨论】:

【参考方案2】:

你不能有字符串变量。你应该这样做,例如

$sentance = _('Hello world');

另一种方法是使用一些解析器之王,它将能够找到你的 hello world 字符串并最终输出到某个地方

$fakie = _('Hello World');

此输出应存储在某个文件中,然后由 poedit 提取并翻译。为了显示翻译,您可以使用

$myTranslation = _($sentance);

我们将此转换过程用于 javascript 文件和 smarty 模板。

【讨论】:

非常感谢,这正是我需要的 如果你有一个 foreach 和一个以数百种不同方式定义的变量怎么办?

以上是关于gettext中的php字符串变量的主要内容,如果未能解决你的问题,请参考以下文章

php 使用gettext WordPress过滤器更改任何可翻译的字符串。

php 使用gettext WordPress过滤器更改任何可翻译的字符串。

php 使用gettext WordPress过滤器更改任何可翻译的字符串。

PHP Gettext - 没有翻译

php源代码到PO文件生成器

TextView Problems中的getText()