翻譯

說明

識別由特殊符號分隔的檔案中的金鑰,並使用從資源包中讀取的值翻譯它們。

資源包包含特定於語言環境的金鑰值對。資源包是屬性檔案的階層式集合。包名稱組成其基本系列名稱。組成此包的每個檔案都有此名稱加上其語言環境。例如,如果資源包名稱為 MyResources,則包含德語文字的檔案將採用名稱 MyResources_de。除了語言,國家和變體也用於形成包中的檔案。

資源包查詢會根據 (1) 所需的語言環境和 (2) 預設語言環境 (basebundlename) 搜尋具有各種字尾的資源檔案,其順序從較低層級 (較具體) 到父層級 (較不具體)

basebundlename + "_" + language1 + "_" + country1 + "_" + variant1
basebundlename + "_" + language1 + "_" + country1
basebundlename + "_" + language1
basebundlename
basebundlename + "_" + language2 + "_" + country2 + "_" + variant2
basebundlename + "_" + language2 + "_" + country2
basebundlename + "_" + language2

由此產生的檔案名稱會附加字串 .properties 以組成要使用的檔案名稱。

支援檔案編碼。可以指定來源檔案、目標檔案和包檔案的編碼方案。

可以使用 forceoverwrite 屬性明確覆寫目標檔案。如果 forceoverwritefalse,則僅當目標檔案最後修改後,來源檔案或組成包的任何檔案已修改時,才會覆寫目標檔案。

自 Apache Ant 1.6 起,來源檔案的換行符號會保留在已翻譯的檔案中。

FileSet 用於選擇要翻譯的檔案。

參數

屬性 說明 必要
todir 要建立目標檔案的目標目錄。
starttoken 識別金鑰的起始符號。
endtoken 識別金鑰的結束符號。
bundle 資源包的系列名稱。
bundlelanguage 資源包的特定於語言環境的語言。 否;預設為預設語言環境的語言
bundlecountry 資源包的特定於語言環境的國家。 否;預設為預設語言環境的國家
bundlevariant 資源包的特定於語言環境的變體。 否;預設為 bundlelanguage_bundlecountry
srcencoding 來源檔案編碼方案。 否;預設為預設 JVM 字元編碼
destencoding 目標檔案編碼方案。 否;預設為 srcencoding
bundleencoding 資源套件檔案編碼方案。 否;預設為 srcencoding
forceoverwrite 覆寫現有檔案,即使目標檔案較新。 否;預設為 no

參數指定為巢狀元素

fileset

檔案集用於選取包含關鍵字的檔案,並為其產生已翻譯的檔案。

範例

使用以日文編碼的資源套件,將以英文編碼的原始檔翻譯成日文。

<translate toDir="$(dest.dir}/ja"
           starttoken="#"
           endtoken="#"
           bundle="resource/BaseResource"
           bundlelanguage="ja"
           forceoverwrite="yes"
           srcencoding="ISO8859_1"
           destencoding="SJIS"
           bundleencoding="SJIS">
    <fileset dir="${src.dir}">
        <include name="**/*.jsp"/>
    </fileset>
</translate>