翻訳

説明

特殊なトークンで区切られたファイルのキーを識別し、リソースバンドルから読み込まれた値を使って翻訳します。

リソースバンドルには、ロケール固有のキーと値のペアが含まれます。リソースバンドルは、プロパティファイルの階層セットです。バンドル名は、基盤となるファミリ名で構成されます。このバンドルを構成する各ファイルには、この名前とそれぞれのロケールが追加されています。たとえば、リソースバンドルの名前が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以降 ソースファイルの行末は、翻訳されたファイルに保持されます。

ファイルセットを使用して、翻訳するファイルを指定します。

パラメータ

属性 説明 必須
todir 宛先ファイルが作成される宛先ディレクトリ。 はい
starttoken キーを識別するための開始トークン。 はい
endtoken キーを識別するための終了トークン。 はい
bundle リソースバンドルのファミリ名。 はい
bundlelanguage リソースバンドルのロケール固有の言語。 いいえ、デフォルトではデフォルトのロケールの言語
bundlecountry リソースバンドルのロケール固有の国。 いいえ、デフォルトではデフォルトのロケールの国
bundlevariant リソースバンドルのロケール固有のバリアント。 いいえ、デフォルトではbundlelanguage_bundlecountry
srcencoding ソースファイルのエンコーディング方式。 いいえ、デフォルトではデフォルトの JVM 文字エンコーディング
destencoding 宛先ファイルのエンコーディング方式。 いいえ、デフォルトではsrcencoding
bundleencoding リソースバンドルファイルのエンコーディング方式。 いいえ、デフォルトではsrcencoding
forceoverwrite 宛先ファイルが新しい場合でも、既存のファイルを上書きします。 いいえ、デフォルトではno

ネストされた要素として指定されるパラメータ

ファイルセット

ファイルセットを使用して、翻訳されたファイルの値が生成されるキーを含むファイルを選択します。

日本語でエンコードされたリソースバンドルを使用して、英語でエンコードされたソースファイルを日本語の同義語に翻訳します。

<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>