国际化模块

此模块提供国际化和本地化功能。

用法

要使用此模块,只需执行:i18n = import('i18n')。 然后,以下函数将作为名为 i18n 的对象上的方法提供。 当然,您可以将 i18n 替换为任何其他名称。

i18n.gettext()

设置 gettext 本地化,以便在安装过程中构建翻译并将其放置到适当的位置。 接受一个位置参数,该参数是 gettext 模块的名称。

  • args: 传递给 xgettext 的额外参数列表,用于生成 pot 文件
  • data_dirs: (0.36.0 添加) 用于 GETTEXTDATADIRS 环境变量的目录列表(需要 gettext 0.19.8+),用于本地 its 文件
  • languages: 要生成的语言列表。 从 0.37.0 开始,这是可选的,并且会读取 LINGUAS 文件。
  • preset: (0.37.0 添加) 预设参数列表的名称,当前选项为 'glib',有关其值的详细信息,请参阅 源代码
  • install: (0.43.0 添加) 如果为假,则不安装生成的翻译。
  • install_dir: (0.50.0 添加) 覆盖默认安装位置,默认值为 localedir

此函数还定义了维护者可以使用目标:注意:这些输出到源目录

  • <project_id>-pot: 运行 xgettext 重新生成 pot 文件
  • <project_id>-update-po: 从当前 .pot 文件重新生成 .po 文件
  • <project_id>-gmo: 构建翻译,但不安装

(自 0.60.0 起) 返回一个包含以下内容的列表:

  • 已构建的 .mo 文件列表
  • 维护者 -pot 目标
  • 维护者 -update-po 目标

i18n.merge_file()

此函数使用 msgfmt 将翻译合并到文本文件中。 有关普通关键字,请参阅 custom_target()。 此外,它还接受以下关键字

  • output: 与 custom_target 相同,但仅接受一个项目
  • install_dir: 与 custom_target 相同,但仅接受一个项目
  • install_tag: 与 custom_target 相同,但仅接受一个项目
  • data_dirs: (0.41.0 添加) 用于 its 文件的目录列表(另请参阅 i18n.gettext()
  • po_dir: 包含翻译的目录,相对于当前目录
  • type: 文件类型,有效选项为 'xml'(默认)和 'desktop'
  • args: (0.51.0 添加) 传递给 msgfmt 的额外参数列表

0.37.0 添加

i18n.itstool_join()

此函数使用 itstool 将翻译合并到 XML 文件中。 有关普通关键字,请参阅 custom_target()。 此外,它还接受以下关键字

  • output: 与 custom_target 相同,但仅接受一个项目
  • install_dir: 与 custom_target 相同,但仅接受一个项目
  • install_tag: 与 custom_target 相同,但仅接受一个项目
  • its_files: 应明确使用的 ITS 文件文件名(否则会自动检测 XML 翻译规则)。
  • mo_targets 必填: 由 i18n.gettext() 返回的 mo 文件生成目标。

0.62.0 添加

搜索结果为