C # GetCultures in Local / CurrentCulture
-
29-10-2019 - |
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?
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à peren-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).