语言定义

为了恰当地呈现不同的翻译,需要提供有关语言名称、文本方向、复数定义和语言代码的信息。

内置语言定义

Weblate 中包含了大约 600 种语言的定义,而且该语言列表在每个发行版中都会进行扩充。每当升级 Weblate 时(更确切地说,是每当执行 weblate 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-2ISO 639-3 代码。它还支持 BCP 47 定义的扩展代码。

语言名称

语言的可见名称。还要根据用户界面语言将 Weblate 中包括的语言名称进行本地化。

文字方向

确定语言是从右向左还是从左向右书写。对于大多数语言来说,此属性都能正确地自动检测出来。

复数数量

语言中使用的复数数量。

复数公式

Gettxt 兼容的复数公式,用于确定给定数量使用哪种复数形式。

添加新的翻译

在 2.18 版本发生变更: 在 2.18 以前的版本中,添加新的翻译的行为因文件格式而不同。

Weblate 可以为所有文件格式自动开始新的翻译。

一些格式希望以一个空文件开始,并只包含已翻译的字符串(如 Android 字符串资源),而另一些格式则希望包含所有 key(如 GNU gettext)。基于文档的格式(如 OpenDocument 格式)以源文档的副本开始,所有字符串均被标记为需要编辑。某些情况下,这实际上并不取决于格式,而更取决于用来处理翻译的框架(如使用 JSON 文件)。

当在 部件配置 中指定 新翻译的翻译模版 时,Weblate 将使用这个文件开始新的翻译。当执行时任何现有翻译将从文件中删除。

新翻译的翻译模版 是空的,并且文件格式支持时,新建空文件,一旦新的字符串被翻译就添加进去。

语言代码风格 允许在生成的文件名中将语言代码个性化:

基于文件格式的默认值

取决于文件格式,其中大多数文件格式用的是 POSIX 风格。

POSIX 风格,使用下划线作为分隔符

通常由 gettext 和相关工具使用,生成像 pt_BR 这样的语言代码。

POSIX 风格,使用下划线作为分隔符,包括国家地区代码

POSIX 风格的语言代码,包含国家地区代码,即使没有必要(例如 cs_CZ)。

BCP 风格,使用连字符作为分隔符

通常用于网络平台,生成像 pt-BR 这样的语言代码。

BCP 风格,使用连字符作为分隔符,包含国家地区代码

BCP 风格的语言代码,包含国家地区代码,即使没有必要(例如 cs-CZ)。

BCP 风格,使用连字符作为分隔符,旧式语言代码

对中文和 BCP 样式符号使用旧代码。

BCP 样式,使用连字符作为分隔符,小写

BCP 样式表示法,全部为小写(例如 cs-cz )。

应用商店元数据样式

适用于将元数据上传到应用商店的样式,这应该适用于 Apple App Store 和Google Play Store。

Android 风格

只在 Android 应用中使用,生成 pt-rBR 这样的语言代码。

Linux 风格

Linux 使用的语言环境,使用中文和 POSIX 样式符号的遗留代码。

此外,语言别名 中定义的任何映射都反向应用。

备注

Weblate 在解析翻译文件时能识别其中的任何一种,上面的设置只影响新文件的创建方式。