C # getCultures en local / currentCulture
-
29-10-2019 - |
Pregunta
El siguiente código devuelve nombres en inglés a pesar de que localicé la cultura actual.
List<string> languageList = new List<string>();
CultureInfo[] cultureList = CultureInfo.GetCultures(CultureTypes.AllCultures);
foreach (CultureInfo culture in cultureList)
{
languageList.Add(culture.DisplayName);
}
¿Qué sucede si quiero que los nombres para mostrar se digan en italiano, en alemán o en el idioma que especifique?¿Alguna sugerencia?
Solución
Debería utilizar la propiedad NativeName
Mire también esta pregunta Cómo traducir nombres de idiomas CultureInfo
Otros consejos
La propiedad DisplayName devuelve la cultura nombre en el idioma de la versión localizada de .NET Framework :
Esta propiedad representa la localización nombre de la versión de .NET Framework. Por ejemplo, si .NET Framework La versión en inglés está instalada, la propiedad devuelve "Inglés (United States) "para el nombre de la cultura
en-US
. Si la versión en español de .NET Framework está instalado, independientemente de la idioma en el que está configurado el sistema pantalla, se muestra el nombre de la cultura en español y la propiedad deen-US
devuelve "Inglés (Estados Unidos)".
Utilice la propiedad NativeName en su lugar. Sin embargo, tenga en cuenta que no puede obtener un nombre de cultura en un idioma diferente al suyo (excepto, por supuesto, el inglés y el idioma de su versión de .NET Framework).