4

次のコードは、currentculture をローカライズしたにもかかわらず、英語の名前を返します。

List<string> languageList = new List<string>();
CultureInfo[] cultureList = CultureInfo.GetCultures(CultureTypes.AllCultures);

    foreach (CultureInfo culture in cultureList)
    {
        languageList.Add(culture.DisplayName);
    }

表示名をイタリア語、ドイツ語、または指定した言語で表示したい場合はどうすればよいですか? 助言がありますか?

4

2 に答える 2

4

DisplayNameプロパティは、ローカライズされたバージョンの .NET Framework の言語でカルチャ名を返します。

このプロパティは、.NET Framework バージョンのローカライズされた名前を表します。たとえば、.NET Framework の英語版がインストールされている場合、プロパティはen-USカルチャ名として "English (United States)" を返します。.NET Framework のスペイン語バージョンがインストールされている場合、システムが表示するように設定されている言語に関係なく、カルチャ名はスペイン語で表示され、プロパティen-US は "Ingles (Estados Unidos)" を返します。

代わりにNativeNameプロパティを使用してください。ただし、独自の言語以外の言語でカルチャ名を取得することはできないことに注意してください (もちろん、英語と使用しているバージョンの .NET Framework の言語は除きます)。

于 2011-05-05T11:46:30.517 に答える
3

NativeNameプロパティを使用する必要があります

この質問も見てください。CultureInfo言語名を翻訳する方法

于 2011-05-05T11:46:09.460 に答える