當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。