PLOCALE.ECLASS

章节: eclass-manpages (5)
更新日期: 2024年11月
索引 返回主内容

名称

plocale.eclass - 处理本地化的便捷函数

描述

plocale(本地化)eclass 提供了许多函数,以便更方便地处理软件包提供的本地化(翻译)。这些函数旨在防止代码重复,例如确定用户设置的 LINGUAS 与软件包提供的本地化之间的交集等枯燥任务。

ebuild 中的典型用法如下

  PLOCALES="de en fr pt_BR zh_CN"
  PLOCALE_BACKUP="en"

其中,PLOCALES 是软件包支持的语言环境列表。PLOCALE_BACKUP 是可选的,并指定单个语言环境,如果 PLOCALES 中没有一个与用户的 LINGUAS 选择匹配,则将其用作回退。

eclass 函数随后对软件包的 PLOCALES 与用户的 LINGUAS 设置的交集进行操作。(作为特殊情况,如果 LINGUAS 变量未设置,则将使用 PLOCALES 中的所有项目,模拟 gettext 的行为。)

在以下简单示例中,特定语言环境的 README 文件(例如 README.de、README.en)被添加到 DOCS 变量中

  my_add_to_docs() {
      DOCS+=( ${1}.${2} )
  }
  plocale_for_each_locale my_add_to_docs README

还存在一个补充函数 plocale_for_each_disabled_locale,它对 PLOCALES 和 LINGUAS 的差集进行操作,即用户未启用的语言环境。例如,它可用于删除不必要的语言环境文件。

最后,plocale_find_changes 纯粹是 ebuild 维护的辅助函数。它可用于扫描目录以查找可用的翻译,并检查 ebuild 的 PLOCALES 是否仍然是最新的。

支持的 EAPIS

7 8

函数

plocale_for_each_locale <函数> [<参数>...]
用于处理所有启用的本地化的便捷函数。参数应为一个函数(在使用 eclass 或 ebuild 中定义),该函数以单个语言环境作为其(最后一个)参数。

示例:plocale_for_each_locale install_locale

plocale_for_each_disabled_locale <函数> [<参数>...]
作为 plocale_for_each_locale 的补充,此函数将处理已禁用的语言环境。例如,这可以用于从 Makefile 中删除语言环境,以防止它们被无谓地构建。
plocale_find_changes <翻译目录> <文件名前缀模式> <文件名后缀模式>
Ebuild 维护辅助函数,用于在进行版本升级时查找软件包提供的语言环境中的更改。例如,这可以添加到 src_prepare 中。

示例:plocale_find_changes "${S}/src/translations" "${PN}_" '.ts'

plocale_get_locales [disabled]
确定用户启用了哪些 PLOCALES 中列出的软件包提供的 LINGUAS,并返回它们。如果未选择任何语言环境,则回退到 PLOCALE_BACKUP。当给出 disabled 参数时,返回禁用的语言环境而不是启用的语言环境。

ECLASS 变量

PLOCALES
列出软件包提供本地化的语言环境的变量。

示例:PLOCALES="cy de el_GR en_US pt_BR vi zh_CN"

PLOCALE_BACKUP
在某些情况下,如果用户未选择任何提供的 PLOCALES,则软件包会失败。在这种情况下,应将此变量设置为默认语言环境(通常为“en”或“en_US”)作为备份。

示例:PLOCALE_BACKUP="en_US"

作者

Ben de Groot <[email protected]>

维护者

Ulrich Müller <[email protected]>

报告 Bug

请通过 https://bugs.gentoo.org/ 报告 Bug

文件

plocale.eclass

另请参见

ebuild(5)
https://gitweb.gentoo.org/repo/gentoo.git/log/eclass/plocale.eclass


索引

名称
描述
支持的 EAPIS
函数
ECLASS 变量
作者
维护者
报告 Bug
文件
另请参见

本文件由 man2html 使用手册页创建。
时间:2024年11月12日,格林尼治标准时间03:27:01