使用上下文的 Gettext (pgettext)
Gettext to work with context (pgettext)
我想用 pgettext 来指定一些要翻译的字符串的上下文,我发现你需要在 PHP 中自己添加它,我就是这样做的 following this post's instructions .我对它做了一些改动以使其正常工作(dcgettext
函数调用有一些错误):
function pgettext($context, $msgid) {
$contextString = "{$context}[=10=]4{$msgid}";
$translation = dcgettext('messages', $contextString, 5);
if ($translation == $contextString) return $msgid;
else return $translation;
}
但是这个功能好像不起作用,当我改变语言时,文本没有改变。
我错过了什么?
我找到了适合我的解决方案:
function pgettext($context, $msgid) {
$contextString = "{$context}[=10=]4{$msgid}";
$translation = _($contextString);
if($translation == $contextString) return $msgid;
else return $translation;
}
我想用 pgettext 来指定一些要翻译的字符串的上下文,我发现你需要在 PHP 中自己添加它,我就是这样做的 following this post's instructions .我对它做了一些改动以使其正常工作(dcgettext
函数调用有一些错误):
function pgettext($context, $msgid) {
$contextString = "{$context}[=10=]4{$msgid}";
$translation = dcgettext('messages', $contextString, 5);
if ($translation == $contextString) return $msgid;
else return $translation;
}
但是这个功能好像不起作用,当我改变语言时,文本没有改变。
我错过了什么?
我找到了适合我的解决方案:
function pgettext($context, $msgid) {
$contextString = "{$context}[=10=]4{$msgid}";
$translation = _($contextString);
if($translation == $contextString) return $msgid;
else return $translation;
}