每种语言对于单数和复数短语都有其自己的语法形式。
例如:
这对本地化提出了挑战。
支持对复数敏感的 Strings 进行翻译,包括基数和序数复数形式。这些 Strings 必须使用基于译文语言复数规则的复数形式进行翻译。这些复数形式必须在原文文件中定义。
例如:
-
英语字符串 There are %d% items left,其中 %d% 代表除 1 以外的任何数字。
-
在捷克语中,这需要以两种方式进行翻译。
第一种用于数字 2、3 或 4(即 few),第二种用于数字 0、5 及以上(即 other)。
PO (gettext) 文件通常使用复数形式以及 ICU 消息。
有关复数规则的更多信息,请参阅 CLDR 复数规则。
处理复数形式
支持多种本地化文件格式,并以不同方式处理复数值。针对每种 格式 展示了最常见的方法。
复数形式的数量会根据 Unicode 规则 自动处理。这意味着某些语言最多有 6 种形式,而其他语言只有几种。当向项目添加 区域 并提供 ISO 代码时,该语言正确的复数类别会自动显示在 Strings Editor<3> 中以供翻译。导出时,复数键会转换为目标平台正确的语法。
复数形式在 窗口的 选项卡中处理。
在创建或编辑键时,可以通过启用复数形式将 键 设置为复数。若要在项目的 选项卡中按键启用复数形式,请按照以下步骤操作:
-
在项目页面中,选择 更多/键。
显示 选项卡。
-
点击所需键的齿轮
图标。
显示 窗口。
-
点击 选项卡并选择 。
显示 下拉菜单。
-
在 和 复数类型之间进行选择。
重要
更改复数类型会清除现有的翻译。
-
点击保存。
如果所用格式有要求(例如,使用 gettext 时),请确保提供 。
复数类型也会在每个键的 编辑器侧边栏 的 部分中显示并可编辑。