このスレッドはすでに回答済みですが、CreateSpecificCulture APIのユニークな発見に出くわしましたが、それは時々それほど明白ではないかもしれません。したがって、このスレッドは私の調査結果に適した場所であると考えました。私はこれに数日を費やしたので、他の人にも数時間または数日節約できるのであれば、私の経験を共有することを考えました。
pt
APIを使用するときに、 (ポルトガル語の場合)または(ドイツ語の場合)のようなカルチャ名のみを渡すと、de
このAPIは、そのカルチャのデフォルトロケールと呼ばれるロケールに対応する特定のカルチャを返します。今、このロケールは、私が行き詰まった場所に聞こえるので、それほど明白ではないかもしれません。ドイツ語の場合、de-DE
ドイツ語で話されているドイツ語は明らかです。イタリア語の場合、it-IT
イタリア語で話されているイタリア語は明らかです。
同様pt-PT
に、ポルトガルで話されているポルトガル語についても明白に見えます。残念ながら、これは当てはまりません。正確な理由(人口、出身国、国語など)がわからないことに基づいて、カルチャIDから特定のカルチャを作成しようとしたときに、特定のカルチャのデフォルトロケールが決定されるグローバル標準化があります。 (pt
この場合)。Microsoftは、次のリンクでリスト全体を文書化しています。
http://msdn.microsoft.com/en-us/goglobal/bb896001.aspx
特定の文化または言語のデフォルトの国ロケールを知りたい場合は、上記のリンクの最後の列(言語名の省略形)コードと一致させてください。
ポルトガル語の場合、不変文化「Portuguese」の言語名の略語は、PTBである「Portuguese(Brazil)」と一致します。ポルトガル語(Portugal)のコードは異なりますPTG
。したがって、この場合、ポルトガル語(ブラジル)がポルトガル語のデフォルトロケールです。
アプリケーションロジックまたは要件がこのAPIのこの動作に何らかの形で依存している場合は、注意が必要です。多言語Webサイトのローカライズ版を表示している場合、市場のすべてのブラウザーもこれらのガイドラインに従い、http要求ヘッダーで適切な情報を送信するため、この動作はWebベースのアプリケーションでより重要になります。
私はまだ理由を探していますが、ポルトガル語の場合はそれほど明白に聞こえない文化のデフォルトのロケールとして特定の国を設定する背後にある要因です。どんな情報やコメントでも大歓迎です。