Comment identifier la langue du système d'exploitation à l'aide de CultureInfo
? Par exemple. si la langue de Windows est définie sur le français, je dois identifier le français et charger les données des fichiers de ressources fr
.
Je pense que quelque chose comme ça vous donnerait l'actuelle CultureInfo:
CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;
C'est ça que vous cherchez?
C'est ce que j'ai utilisé:
var culture = System.Globalization.CultureInfo.CurrentCulture;
et ça marche :)
La langue actuelle du système est récupérée à l'aide de:
CultureInfo.InstalledUICulture
"Obtient le CultureInfo qui représente la culture installée avec le système d'exploitation."
Pour le définir comme langue par défaut pour l'utilisation des threads:
System.Globalization.CultureInfo.DefaultThreadCurrentCulture=CultureInfo.InstalledUICulture;
J'ai essayé {CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;}
mais cela n'a pas fonctionné pour moi, car ma culture d'interface utilisateur était différente de ma culture de nombre/devise. Je vous suggère donc d'utiliser:
CultureInfo currentCulture = Thread.CurrentThread.CurrentUICulture;
Cela vous donnera la culture de votre interface utilisateur (textes sur les fenêtres, boîtes de message, etc.).
Pour obtenir l'identifiant de langue ISO 639-1 à 2 caractères, utilisez:
System.Threading.Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName;