2009-05-07 6 views
1

ローカライズされる静的リソース(イメージとHTMLファイル)があります。私が見たソフトウェアの1つはApacheです。これはロケールを名前に追加します。例えば、test_en_US.htmlまたはtest_de_CH.htmlです。私は、この名前付けスキームが標準と見なされるかどうか、またはすべてのプロジェクトがそれを異なる方法で行うかどうかを考えています。ロケール固有の静的ファイルの命名規則はありますか?

答えて

8

ローカライズされたファイルに名前を付けるための文書化の標準はありませんが、私は形式にファイル名を使用してお勧めします[_language [_country]]

  • 言語は領土
  • ISO-639 2文字の言語コードですISO-3166 2文字の国コードは、例えば

です:

  • MYFILE.TXT(グローバル英語にローカライズ)(ローカライズされていないファイル)
  • myFile_en.txt(米国英語にローカライズ)
  • myFile_en_US.txt(UK英語にローカライズ)
  • myFile_en_GB.txt

なぜですか?これは、オペレーティングシステム、グローバリゼーションツール(TradosやWorldServerなど)、およびプログラミング言語で使用される最も一般的な形式です。だから、あなたが別のフォーマットのために特に好きでない限り、私は他のほとんどの人々がやっていることから逸脱する理由はないと思う。それは道路の下でいくつかの統合の頭痛を軽減する可能性があります。

1

については、ファイル名にのような標準的な表記法はありませんが、言語(例:en)と地域(en-USなど)の国際コードは両方非常に一般的で非常に簡単です。 "ENUS" 対 "en_USの" 対 "ENUS" を除く、私が見てきたバリエーション、:

  • foo.enUS.ext
  • foo.ext_enUS
  • enUS.foo.ext
  • FOO/enUS.ext
  • ENUS/foo.ext
  • ...広告nauseum
私は個人的にFAVO

r最初と最後の変種。前者は、ファイルを名前/リソースでグループ化する(限定された数のファイルをローカライズする必要がある場合)、後者を使用してロケールでファイルをグループ化する場合(ローカライズされたファイルが多数ある場合に適しています)。

0

ユークリッド/ポスキーの方法である「事実上」の標準を常にgettextとしてください。あなたはローカライゼーションを行うためにgettextを使用します。

したがって唯一の正しい方法は次のようにローカライズネーミングを使用することです:

en 
en_US 
en_UK 

一部のアプリケーション、特にJava開発者は時々使用したAR en-US(代わりに、下線よりハイフン)と、それはすべて間違っています!

gettextの標準はこれとこれだけです:

locale 
|_en_US 
    |_LC_MESSAGES 
     |_appname.mo 

locale -

を-nameディレクトリの名前は、変えることができますが、非常に "ロケール" に滞在することをお勧めします

en_US - * es_ES *、* es_PT *、...

LC_MESSAGESのような標準ロケール - 必須ではありません。ぶら下がった!

appname.mo - msgfmtコンパイルされたappname.poファイル(appnameはこれまでのものです)

関連する問題