用两个复数词来国际化句子

时间:2009-12-11 14:40:10

标签: internationalization gettext plural

使用gettext如何使具有多个数字变量的句子可翻译? ngettext只接受一个数字作为复数参数。

以下句子应允许的排列是“成人和儿童”,“成人和儿童”,“成人和儿童”以及“成人和儿童”。

“从#AVAILABILITYFROM到#NAILADULTS成人和#NUMCHILDREN孩子的#AVAILABILITYTO”

1 个答案:

答案 0 :(得分:8)

语法在其他语言中可能比英语复杂,你应该意识到使用你的方法生成正确的复杂句子是不可能的。

请记住,多个变量和类型(男/女)也会增加许多复杂性。

解决方案是只生成只有一个变量的简单句子。这是ngettext支持的情况。

了解ngettext是一个很棒的东西,这是来自bug软件公司的大多数商业i18n框架甚至都不支持的东西。即便如此,它也有其局限性,所以很快您的问题的解决方案就是将您的复杂句子拆分成几个简单的句子,这些句子只能使用一个变量进行翻译。