3

我正在使用.po.mo文件来翻译我的网站。我的问题是,是否可以将参数传递到.po 翻译文件中的翻译句子中?

例如:en -> 嗨,我的名字是 Sarah,我是一个酒鬼,我想使用两个参数来翻译这句话,名字 (Sarah) 和职业 (酒鬼)。

先感谢您。

4

2 回答 2

9

这取决于语言,但基本上,是的,你总是可以的。

printf(_("Hi, my name is %s and I am %s"), name, prof);

在c。

echo sprintf(_("Hi, my name is %s and I am %s"), $name, $prof);

在 php.ini 中。

alert( _('Hi, my name is %s and I am %s')
    .replace('%s',name).replace('%s',prof) );

在 javascript 或更好的东西中,例如:

alert( _('Hi, my name is %1 and I am %2')
    .replace('%1',name).replace('%2',prof) );

或任何你能想出的占位符。Javascript 实现当然依赖于在预处理时或作为运行时下划线函数提供的翻译机制。

等等。

于 2009-09-18T11:27:15.230 回答
0

这是一个古老的话题,但只是提一下......

在许多语言中,您还可以指示要使用的参数,如下所示(在 PHP 中):

$name = 'Agustinus';
printf(_("Hi %1$s.\n The owner of this page is: %1$s. Today is %s.", 
   $name, date('d-m-Y'));
于 2011-01-06T04:23:28.680 回答