可能是重复问题:
gettext如何处理动态内容?
我正在使用PHP的gettext。我想要翻译一句话,其中包含一个变量,这个可行吗?
例如,在英语中:
Are you sure you want to block Alice?
(其中“Alice”是用户的名称)
但在德语中,主语不会出现在句子的末尾。
Sind Sie sicher, dass Sie Alice blockieren?
在messages.po文件中,我有:
msgid "BLOCK"
msgstr "Are you sure you want to block"
但我没有看到传递一个或多个变量的方法。这是否可行?
%s
和sprintf
等,可以用于此类情况。此外,在gettext源字符串中不应使用缩写。对于未翻译的消息,请使用简单的英语。实际上,消息很少更改,如果发生更改,gettext目录可以很容易地进行适应。 - mario