使用 gettext
单值
echo gettext( "Hello, world!\n" );
Plurals
printf(ngettext("%d comment", "%d comments", $n), $n);
英文同音字?
echo gettext("Letter");// as in mail, for Russian outputs "письмо"
echo gettext("Letter");// as in character, for Russian outputs "буква"
和英文单词“character”一样,可以是一个人的性格,也可以是一个字母!
gettext 如何识别同音异义词的正确翻译?
您正在寻找的是上下文gettext
这解决了像你的例子这样的歧义。您可以在以下位置找到相关信息文档 http://www.gnu.org/software/gettext/manual/html_node/Contexts.html。还是需要的方法pgettext
未在 PHP 中实现,因此您可以使用用户评论 http://www.php.net/manual/de/book.gettext.php#89975在 php 文档中。
if (!function_exists('pgettext')) {
function pgettext($context, $msgid)
{
$contextString = "{$context}\004{$msgid}";
$translation = dcgettext('messages', contextString,LC_MESSAGES);
if ($translation == $contextString) return $msgid;
else return $translation;
}
}
在你的情况下它将是
echo pgettext('mail', 'Letter');
echo pgettext('character', 'Letter');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)