web-dev-qa-db-fra.com

Obtenir la langue actuelle dans CultureInfo

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.

43
Sharpeye500

Je pense que quelque chose comme ça vous donnerait l'actuelle CultureInfo:

CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;

C'est ça que vous cherchez?

64
Brosto

C'est ce que j'ai utilisé:

var culture = System.Globalization.CultureInfo.CurrentCulture;

et ça marche :)

18
smukamuka

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."

InstalledUICulture

Pour le définir comme langue par défaut pour l'utilisation des threads:

   System.Globalization.CultureInfo.DefaultThreadCurrentCulture=CultureInfo.InstalledUICulture;
9
DominicusPlatus

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

4

Pour obtenir l'identifiant de langue ISO 639-1 à 2 caractères, utilisez:

System.Threading.Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName;
3
primehunter