2009-05-09 15 views
4

.NETでローカライズされた国名を取得することは可能ですか?.NET内のローカライズされた地域/国名

RegionInfo classにはEnglishName、DisplayName、NativeNameのみが含まれていますが、たとえば "オーストリッヒ"の "Austria"のローカルデンマーク語の名前を取得することはできないようです。スレッドは、どの文化やUICultureに関係なく、常に英語の名前を返します。

使用できる手法はありますか、それともデータストアを作成する必要がありますか?

答えて

6

ローカライズされた名前は、フレームワークに必要な言語のリソースがある場合にのみ使用できます。したがって、DisplayNameが必要な名前を返す前に、言語パックをインストールする必要があります(正しいカルチャがアプリケーションに設定されている必要があります)。

danish 3.5 SP1 language pack hereをダウンロードしてください(他の多くの言語も同様に選択できます)。

0

MSDNの文書によると、RegionInfo.DisplayNameは、国のローカライズされた(あなたの場合はデンマーク語)名を取得する必要があります。まだ英語版が返ってきていることを考えれば、.NET Frameworkを(再)インストールするときにロケールを設定するだけでよいという疑いがあります。それがトリックかどうか私に教えてください。

+0

英語の名前を返します。 – JacobE

+3

あなたは必要なNativeNameのような音を出します:http://msdn.microsoft.com/en-us/library/system.globalization.regioninfo.nativename.aspx –

+0

すべて異なる* Nameプロパティは英語の名前を返します - 常に - 現在のスレッドカルチャとは無関係です。 – JacobE

3

Guysは、あなたが完全にMSDN文を誤解している:

DisplayNameプロパティは、.NET Frameworkのローカライズ版の言語で国/地域名を表示します。

したがって、国名に独自のローカライズを実装する必要があります。

+0

それを自分で実装する必要はありません。フレームワークに必要な言語でリソースがあることを確認してください。 – Lucero

+0

よく、35.6 MB - 73.4 MB *〜120文字列のために私は少し奇妙に思えます:) – balint

関連する問題