オプション1:
XML ファイルをリソースに格納し、ストリーム オブジェクトを取得してそれを読み取ることができます。これは、文字列などで行われるのと同じアプローチを使用します。http://msdn.microsoft.com/en-us/library/を参照してください。そのためのzxee5096.aspx。
オプション 2:
リソースで使用されるのと同じ基本的なアプローチを自分で適用することもできます。いずれにせよ、多くのファイル (.aspx、.html、.css、.js、.png など) に基づいていることが多い Web アプリケーションでは便利であることがわかりました。次のようなディレクトリがたくさんあるとします。
localized/en/SomeFile1.xml (およびその他...) localized/en-US/SomeFile1.xml (およびその他...) localized/en-GB/SomeFile.xml localized/fr/SomeFile.xml
私は en-IE の好みに合わせて、あなたはそれに一致しませんが、あなたは en に一致し、それで十分です (理想的には、en-IE が en-US よりも en-GB に近いことを理解する必要がありますが、これは完全にボーナス クレジットの領域に入り、.NET がリソースを処理するよりもはるかに優れています)。
マッチング アルゴリズムは次のようになります。
- 探しているロケールに一致するものを見つけようとし、見つかった場合は返します。
- ロケールの末尾を削除すると、en-GB-OED が en-GB になり、en-GB が en- になります。それでもすべてが削除されない場合は、この新しいロケールでステップ 1 に戻ります。
- zxx を試してみてください (
zxx
.NET では使用されていませんが、BCP 47/RFC 4647 および ISO 639 では、言語コンテンツのないアイテムに使用されます。たとえば、あなたのパスポート写真はロケール zxx です。ヨルバ語またはウェールズ語としてのフランスの文書)。
- あなたが定義した「デフォルト」のロケールを試してください (または、アプリケーションが適切な一致を約束している場合はエラーになります)。
その時点で、リソース ファイルよりもわずかに優れた結果が得られます。それでも、ほとんどの場合、オプション 1 ははるかに単純で、はるかに自己完結型です。