Pergunta

O código a seguir retorna nomes em inglês, apesar de eu ter localizado a cultura atual.

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

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

E se eu quiser que os nomes de exibição sejam em italiano, ou em alemão ou em qualquer idioma que eu especificar?Alguma sugestão?

Foi útil?

Solução

Você deve usar o NativeName propriedade

Veja esta pergunta também Como traduzir nomes de idiomas CultureInfo

Outras dicas

O Nome de exibição propriedade retorna o nome da cultura no idioma da versão localizada do .NET Framework:

Esta propriedade representa o localizado nome da versão do .NET Framework.Por exemplo, se o .NET Framework A versão em inglês está instalada, o propriedade retorna "Inglês (United Estados)" para o en-US nome da cultura.Se a versão espanhola do .NET Framework está instalado, independentemente do idioma para o qual o sistema está definido display, o nome da cultura é exibido em espanhol e a propriedade para en-USretorna "Ingles (Estados Unidos)".

Use o NomeNativo propriedade em vez disso.No entanto, observe que você não pode obter um nome de cultura em um idioma diferente do seu (exceto, é claro, o inglês e o idioma da sua versão do .NET Framework).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top