当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R update_pkg_po 准备包的翻译


R语言 update_pkg_po 位于 tools 包(package)。

说明

准备‘’ 包的目录,并可选择编译和安装翻译。

用法

update_pkg_po(pkgdir, pkg = NULL, version = NULL,
              pot_make = TRUE, mo_make = TRUE,
              verbose = getOption("verbose"),
              mergeOpts = "", copyright, bugs)

参数

pkgdir

包目录的路径。

pkg

包名:ifNULL它是从包的‘DESCRIPTION' 文件。

version

软件包版本:如果NULL它是从包的‘DESCRIPTION' 文件。

pot_make , mo_make

logicals 指示是否有一个新的‘*。锅' 文件或新的二进制翻译'*.mo’应该被(重新)创建。

verbose

logical 指示是否应将有关更新过程的额外信息打印到控制台。

mergeOpts

一个字符串,默认为空,由空格分隔的选项组成msgmerge此外"--update"。自从R4.2.0,"--no-wrap"当从以下位置调用时使用file.path(R.home("po"), "Makefile").

copyright , bugs

' 的可选字符串⁠版权⁠' 和 '⁠Report-Msgid-Bugs-至⁠' 模板文件中的详细信息。

细节

这将执行一系列步骤来准备或更新包中的消息。

  • 如果包源还没有‘’目录,就创建了一个。

  • xgettext2pot被调用来创建/更新文件‘PO/R-软件包名称。锅’包含包中的可翻译消息。

  • 目录中所有现有文件po与名字‘R-.po' 更新自 'R-软件包名称。锅’,checkPoFile在更新的文件上调用,如果没有问题,该文件将被编译并安装在“研究所/PO’。

  • 在 UTF-8 语言环境中,‘translation’ ‘R-en@quot.po' 使用 UTF-8 定向引号创建,编译并安装在 '研究所/PO’。

  • 仅当文件‘宝/软件包名称。锅' 已经存在。这 'src/*.{c,cc,cpp,m,mm}' 检查包中的文件以创建文件'宝/软件包名称。锅' 包含 C/C++ 文件中的可翻译消息。如果有一个src/windows目录,其中的文件也会被检查。

  • 目录中所有现有文件po与名字‘.po' 更新自 '软件包名称。锅’,checkPoFile在更新的文件上调用,如果没有问题,该文件将被编译并安装在“研究所/PO’。

  • 在 UTF-8 语言环境中,‘translation’ ‘en@quot.po' 使用 UTF-8 定向引号创建,编译并安装在 '研究所/PO’。

请注意,C/C++ 消息不会自动准备翻译,因为它们需要在源文件中显式标记为翻译。完成后,创建一个空文件‘宝/软件包名称。锅' 在包源中并再次运行此函数。

pkg = "base"是特殊的(并且供使用R仅限开发人员):C 文件不在包目录中,而是在主要源代码中。

系统要求

此函数需要 GNU gettext-tools 中的以下工具:xgettextmsgmergemsgfmtmsginitmsgconv。这些是大多数 Linux 发行版的一部分,可以轻松地从类 Unix 系统(包括 macOS)上的源代码进行编译。 https://www.stats.ox.ac.uk/pub/Rtools/goodies/gettext-tools.zip 中提供了适用于 Windows 的预编译版本。

除了 UTF-8 语言环境之外,它可能无法正确处理 en@quot 翻译,因此在其他地方会跳过这些翻译。

也可以看看

xgettext2pot

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Prepare Translations for a Package。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。