php gettext包含带有php代码的字符串

时间:2014-01-16 06:14:29

标签: gettext poedit

我正在尝试使用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提取字符串呢?或者我还应该使用其他工具吗?

1 个答案:

答案 0 :(得分:3)

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

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

或使用多个变量时

echo vsprintf( _("This %s can be %s"), ['string', 'translated']);