Pourquoi CultureInfo.DisplayName dans Sami tout à coup? Je l'utilise pour afficher une liste de noms de pays. Pas une bonne idée peut-être, mais cela a fonctionné jusqu'à récemment et je suis tout à fait sûr qu'il était en suédois (je suppose que cela aurait pu être l'anglais.)CultureInfo.DisplayName aller Sami sur moi
MSDN dit
Cette propriété représente le nom localisé de la Version .NET Framework. Par exemple, si la version anglaise de .NET Framework est installée, la propriété renvoie "English (United States)" pour le nom de culture en-US. Si la version espagnole de .NET Framework est installée, quelle que soit la langue que le système doit afficher, le nom de la culture s'affiche en espagnol et la propriété pour en-US renvoie "Ingles (Estados Unidos)".
Mais je suis assez sûr que je n'ai pas la version Sami du cadre installé.
Mon web-config a:
<globalization
culture="sv-SE"
uiCulture="sv-SE"/>
Addition: Le code
public static IEnumerable<KeyValuePair<string, string>> CountryList
{
get
{
Thread.CurrentThread.CurrentCulture =
CultureInfo.CreateSpecificCulture("sv-SE");
Thread.CurrentThread.CurrentUICulture = new
CultureInfo("sv-SE");
var cultures = CultureInfo.GetCultures(CultureTypes.SpecificCultures);
/*Array.Sort(countries.Select(
x => Regex.Match(x.DisplayName, "\\(([\\w- ]+)\\)").ToString()).ToArray(),
countries);
*/
SortedDictionary<string, CultureInfo> d = new SortedDictionary<string, CultureInfo>();
foreach (CultureInfo cultureInfo in cultures)
{
string key = Regex.Match(cultureInfo.DisplayName, "\\(([\\w- ]+)\\)").ToString();
if (!d.ContainsKey(key))
d.Add(key, cultureInfo);
}
var countries = d
.Where(x => Regex.Match(x.Value.DisplayName, "\\([A-ZÅÄÖ]").Success)
.Select(
x => new KeyValuePair<string, string>(
Regex.Match(x.Value.Name, "-(\\w+)").Groups[1].ToString(),
Regex.Match(x.Value.DisplayName, "\\(([\\w- ]+)\\)").Groups[1].ToString()
));
return countries;
}
}
Merci pour votre suggestion . J'ai fait comme tu l'as dit. Rien de nouveau. – Martin