语言定义¶
为了恰当地呈现不同的翻译,需要提供有关语言名称、文本方向、复数定义和语言代码的信息。
内置语言定义¶
Weblate 中包含了大约 650 种语言的定义,而且该语言列表在每个发行版中都会进行扩充。每当升级 Weblate 时(更确切地说,是每当执行 :wladmin:` migrate` 时,请参见 一般的升级指示)语言数据库都会更新,以包含 Weblate 提供的所有语言定义。
这个特性可以使用 UPDATE_LANGUAGES
来禁止。还可以使用 setuplang
来强制更新数据库,从而匹配 Weblate 内建数据。
分析语言代码¶
解析翻译时,Weblate 试图从 文件掩码 将语言代码(通常为 ISO 639-1)映射到任何现有的语言对象。
您可以通过 语言别名 在项目层次来进一步调整这种映射。
如果无法找到精确的匹配,将尝试把其融入一种现有的语言。已尝试以下措施:
大小写不敏感的查询。
将下划线和破折号标准化。
查询内置的语言别名。
按语言名称查找。
忽略给定语言的默认国家地区代码——选择
cs
而非cs_CZ
。
如果这也失败了,将使用默认值(从左到右的文本方向,一个复数)创建一个新的语言定义。自动创建的代码为 xx_XX
的语言将被命名为 xx_XX (generated)。您可能想稍后在管理界面中更改这个(见 更改语言定义),并将它报告给问题跟踪器(见 为 Weblate 作贡献),这样的话,正确的定义就可以添加到即将发布的 Weblate 版本中。
提示
在您看到有些不想要的内容作为语言的情况下,您会想要调整 语言筛选,当分析翻译时忽略这样的文件。
更改语言定义¶
您可以在语言界面来更改语言定义( /languages/
URL )。
当编辑时,确认所有字段都是正确的(特别是复数和正文方向),否则译者将不能正常编辑这些翻译。
歧义语言代码和宏语言¶
在很多情况下,最好不要为翻译使用宏语言代码。可能会出问题的典型示例是库尔德语,它可以用阿拉伯文或拉丁字母书写,这取决于实际的变体。为了让 Weblate 可以正确地运行,建议只使用单独的语言代码,避免使用宏语言代码。
语言定义¶
每种语言都包括后面的字段:
语言代码¶
识别语言的代码。Weblate 使用两个字母代码,如 ISO 639-1 所定义的,但对于没有两个字母代码的语言,使用会使用 ISO 639-2 或 ISO 639-3 代码。它还支持 BCP 47 定义的扩展代码。
语言名称¶
语言的可见名称。还要根据用户界面语言将 Weblate 中包括的语言名称进行本地化。
文字方向¶
确定语言是从右向左还是从左向右书写。对于大多数语言来说,此属性都能正确地自动检测出来。
语言使用者数量¶
全世界说这种语言的人的数目。
复数定义¶
Weblate 有内置的复数定义集。它们时基于文件格式规范、CLDR及其他来源。
警告
更改内置的复数定义很可能不会生产你期望的效果,因为这些规则需匹配底层实现。
更改复数或配方只会影响字符串显示,但不会影响解析字符串并将字符串存储到文件中。如果你认为 Weblate 的行为有误,请在我们的问题追踪器上新开一个问题。
复数数量¶
语言中使用的复数数量。
复数公式¶
Gettxt 兼容的复数公式,用于确定给定数量使用哪种复数形式。