1

我正在尝试使用 gettext 翻译我网站中的字符串

gettext 检测字符串没有问题,例如

<? echo _("Donations"); ?>

或者

<? echo _("Donate to this site");?>

但显然,通常我们会在我们的网站中使用这样的代码

<? echo _("$siteName was developed with one thing in mind"); ?>

当然在网站中, $siteName 正确显示为

   My Website was developed with one thing in mind

如果我们把

$siteName = "My Website";

之前。

我的问题是,我正在使用 poedit 来提取我的代码中需要翻译的所有字符串,并且似乎 poedit 并没有像我上面描述的那样使用 php 代码提取所有字符串。那么我如何获得包含 php 代码的 poedit 提取字符串呢?或者还有其他我应该使用的工具吗?

4

1 回答 1

3

一种可能性是使用sprintf. 只需确保在 poedit 字符串中保留百分比 (%)!

echo sprintf( _("This %s can be translated "), 'string');

或者当使用多个变量时

echo vsprintf( _("This %s can be %s"), ['string', 'translated']);
于 2014-01-16T06:22:18.770 回答