i18n 模組

此模組提供國際化和本地化的功能。

使用方式

要使用此模組,只需執行: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)如果為 false,則不安裝已建構的翻譯。
  • 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

搜尋結果為