我正在尝试使用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提取字符串呢?或者我还应该使用其他工具吗?
答案 0 :(得分:3)
一种可能性是使用sprintf
。只需确保将百分比(%)保留在poedit字符串中!
echo sprintf( _("This %s can be translated "), 'string');
或使用多个变量时
echo vsprintf( _("This %s can be %s"), ['string', 'translated']);