ローカライズされる静的リソース(画像とHTMLファイル)がいくつかあります。私がこれを行っているのを見たソフトウェアの1つは、名前にロケールを追加するApacheです。たとえば、test_en_US.html
またはtest_de_CH.html
。この命名スキームが標準と見なされているのか、それともプロジェクトごとに異なる方法で行われているのか疑問に思います。
3 に答える
ローカライズされたファイルの命名規則は文書化されていませんが、filename[_language[ _country]]という形式を使用することをお勧めします。
例えば:
- myFile.txt (ローカライズされていないファイル)
- myFile_en.txt (グローバル英語にローカライズ)
- myFile_en_US.txt (米国英語にローカライズ)
- myFile_en_GB.txt (イギリス英語にローカライズ)
なんで?これは、オペレーティング システム、グローバリゼーション ツール (Trados や WorldServer など)、およびプログラミング言語で使用される最も一般的な形式です。したがって、別のフォーマットが特に好きでない限り、他のほとんどの人が行っていることから逸脱する理由はないと思います。これにより、今後の統合に関する頭痛の種が解消される可能性があります。
ファイル名のどこにそれらを配置するかについての標準的な規則はないように見えますが、言語 (「en」など) と地域 (「en-US」など) の国際コードは非常に一般的で、非常に簡単です。「enUS」対「en_US」対「en-US」を除く、私が見たバリエーション:
- foo.enUS.ext
- foo.ext_enUS
- enUS.foo.ext
- foo/enUS.ext
- enUS/foo.ext
- …うんざり
私は個人的に最初と最後の変種を好みます。前者は名前/リソースごとにファイルをグループ化する場合 (限られた数のファイルをローカライズする必要がある場合に適しています)、後者はロケールごとにファイルをグループ化する場合 (ローカライズされたファイルが多数ある場合に適しています)。
常に「事実上の」標準を使用する必要があります。これは、.NET での unix/posix の方法gettext
です。そしてgettext
、ローカライズを行うために使用する必要があります!
したがって、唯一の正しい方法は、次のようにローカライズの命名を使用することです。
en
en_US
en_UK
一部のアプリケーション、特に Java 開発者はen-US
(アンダースコアではなくハイフンで) を使用することがありますが、それはすべて間違っています!!!
gettext 標準はこれであり、これだけです:
locale
|_en_US
|_LC_MESSAGES
|_appname.mo
どこ:
locale
- ディレクトリの名前はさまざまですが、"locale"-name のままにしておくことを強くお勧めします
en_US
- *es_ES*、*es_PT* などの標準ロケール
LC_MESSAGES
- 必須で変更できません!
appname.mo - msgfmt でコンパイルされた appname.po ファイル (appname は任意です)