8

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

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

“从 #AVAILABILITYFROM 到 #AVAILABILITYTO,适用于 #NUMADULTS 成人和 #NUMCHILDREN 儿童”

4

1 回答 1

10

语法在英语以外的其他语言中可能非常复杂,您应该知道,使用您的方法生成正确的复杂句子实际上是不可能的。

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

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

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

于 2009-12-12T16:36:47.797 回答