代码之家  ›  专栏  ›  技术社区  ›  dsas

两个复数单词的国际化句子

  •  8
  • dsas  · 技术社区  · 15 年前

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

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

    “从可用性到可用性到麻木成人和麻木儿童”

    1 回复  |  直到 15 年前
        1
  •  8
  •   sorin    15 年前

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

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

    解决方案是只生成只有一个变量的简单句子。这种情况得到了 ngettext .

    理解nGetText是一个伟大的东西,这是大多数Bug软件公司的商业i18n框架甚至不支持的东西。即使如此,它也有其局限性,所以很快你的问题的解决办法是 把复杂的句子分成几个简单的句子,这些句子只能用一个变量来翻译。