C# getCultures em local/currentCulture
-
29-10-2019 - |
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?
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 paraen-US
retorna "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).