Domanda

Il codice seguente restituisce nomi in inglese nonostante io abbia localizzato la cultura corrente.

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

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

Cosa succede se voglio che i nomi visualizzati siano in italiano o in tedesco o in qualsiasi lingua specifica?Qualche suggerimento?

È stato utile?

Soluzione

Dovresti usare la proprietà NativeName

Guarda anche questa domanda Come tradurre i nomi delle lingue di CultureInfo

Altri suggerimenti

La proprietà DisplayName restituisce le impostazioni cultura nome nella lingua della versione localizzata di .NET Framework :

Questa proprietà rappresenta il file localizzato nome dalla versione .NET Framework. Ad esempio, se .NET Framework È installata la versione inglese, il proprietà restituisce "English (United States) "per il nome delle impostazioni cultura en-US. Se la versione spagnola di .NET Framework è installato, indipendentemente da lingua in cui è impostato il sistema display, viene visualizzato il nome della cultura in spagnolo e la proprietà per en-US restituisce "Ingles (Estados Unidos)".

Utilizza invece la proprietà NativeName . Tuttavia, tieni presente che non puoi ottenere un nome di cultura in una lingua diversa dalla sua (tranne, ovviamente, l'inglese e la lingua della tua versione di .NET Framework).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top