我想使用pgettext来指定一些要翻译的字符串的上下文,我发现你需要在PHP中自己添加它,这就是我所做的following this post's instructions 。我对其进行了一些更改以使其正常工作(dcgettext
函数调用有一些错误):
function pgettext($context, $msgid) {
$contextString = "{$context}\004{$msgid}";
$translation = dcgettext('messages', $contextString, 5);
if ($translation == $contextString) return $msgid;
else return $translation;
}
但是这个功能似乎不起作用,当我改变语言时,文本没有改变。
我错过了什么?
最佳答案
我找到了一个对我来说效果很好的解决方案:
function pgettext($context, $msgid) {
$contextString = "{$context}\004{$msgid}";
$translation = _($contextString);
if($translation == $contextString) return $msgid;
else return $translation;
}
关于php - Gettext 与上下文一起使用 (pgettext),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31994975/