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?

¿Fue útil?

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 de en-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).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top