­

Joomla! 言語定義ファイルは非常に基本的な INIファイル形式 で書かれています。

それらは UTF-8 エンコーディングを使用して保存する必要があります。空行とセミコロン(;)で始まる行は無視され、後者はファイルにコメントを追加するために使用することができます。各行は、次のように等号で区切られたキーと値の組で構成されています:

KEY="value"

ここで KEY はソフトウェア内で使用される文字列、value は翻訳される文字列です。例えば次のようになります:

ADDITIONAL_INFORMATION="追加情報"

Joomla の異なるバージョンでは言語ファイルを読み取るためにわずかに異なる方法(すなわち、独自のパーサとネイティブの PHP INI パーサ、後者は PHP 5.2 以前ではバグがありました)を使用しています。以下のルールに従う言語ファイルは Joomla の多くのバージョンで動作しますが、少なくとも Joomla 3.x 以降は動作します。

KEY は ASCII 文字のみ使用してください。英大文字(A-Z)、数字(0-9)、下線(_)、ハイフン(-) のみを含み、先頭は英大文字で始まる必要があります。ドット(.) は正式には許可されていますが、完全にはサポートされていないようです。翻訳される文字列中の空白をアンダースコアで置き換えるのが慣例です。複数のエントリが同じキーを持っていた場合は、最後に出現したものが使用されます。

JText::_ の呼び出しでキーを使用する場合、文字列は検索が行われる前に大文字に折りたたまれるので、大文字小文字は関係ありません。そのため additional_informationAdditional_Informationあるいは AdDiTiOnAl_InFoRmAtIoN でさえもマッチします。

例のように、値は常にダブルクォート文字(") で囲まれていなければなりません。値自体にダブルクォート文字を含めることはできませんが、シングルクォート文字(') は有効です。値にダブルクォート文字を入れる場合は、ダブルクォート文字を含めて "_QQ_" を使用してください。例えば <span class="red">Warning!</span> という値を WARNING_TEXT というキーに結び付けたい場合は次のようにします:

WARNING_TEXT="<span class="_QQ_"red"_QQ_">Warning!</span>"

これらの規則は PHP INI パーサが要求するものよりも厳しいものであることに注意しましょう。例えば PHP INI パーサ では、特定の文字を含まない限り値の周りの二重引用符を省略することができます。上記のルールを使用することで、二重引用符が必要なときに二重引用符を忘れてしまうなどのミスを防ぐことができるようになります。

この記事は Joomla 公式サイトの wiki ドキュメント の抄訳です。

­