では、現在の ISO 命名規則 (つまり、、、 ) を使用して、C#
さまざまな言語/文化の resx ファイルを作成できます。コンパイルすると、カルチャ固有の resx ファイルごとに対応するフォルダーが取得されます。私のジレンマは、使用されている命名規則にあります。Strings.resx
Strings.en-GB.resx
Strings.fr.resx
MS は、「languagecode2-country/regioncode2 の形式を使用します。ここで、languagecode2 は から派生した小文字の 2 文字のコードでISO 639-1
あり、country/regioncode2 は から派生した大文字の 2 文字のコードですISO 3166
。」
私の会社の他のコンポーネントとの相互作用はほとんど制御できないため、次のようにアンダースコア (_) を使用する必要があります: languagecode2_country/regioncode2. たとえば、 の代わりに"en-GB"
が必要"en_GB"
です。目標は、en_GB
システムのカルチャが"en-GB"
.
これは可能ですか?セパレーターの ISO 仕様が見つからないので、それがあれば、それを弾薬として使用して実際の問題を解決し、使用している他のコンポーネントの標準に従うことができるかもしれません。
アプリ内のローカライズされたリソースにアクセスするときは、designer.cs
ファイル内の自動生成されたプロパティを介してアクセスするため"en-GB"
、"en_GB"
.