Recupérer le code lang locale iso 639 (fr_FR) avec std::locale - C++ - Programmation
Marsh Posté le 07-11-2012 à 12:52:23
En voyant un petit exemple de l'utilisation de std::locale, il semblerait que tu puisses avoir presque ce que tu veux, vu qu'ils obtiennent "English_United States.1252" via un appel à setlocale(LC_ALL,NULL).
Il semblerait qu'ils aient récupéré la valeur par défaut du système avec setlocale (LC_ALL,"" );
Marsh Posté le 07-11-2012 à 13:29:19
Merci, ca semble avancer, néanmois, voici ce que j'obtiens:
sous mingw sous windows XP, j'obtiens
setlocale(LC_ALL, NULL) => "C"
setlocale(LC_ALL, "" ) => "French_France.1252"
et sous mac 10.5
setlocale(LC_ALL, NULL) => "C"
setlocale(LC_ALL, "" ) => "C"
Donc, c'est pas encore ça... mais c'est mieux, y'a un cas où j'ai obtenu qqchose d'utilisable.
Marsh Posté le 07-11-2012 à 12:19:12
Bonjour,
Je dois rien comprendre aux Locales...
Je voudrais récupérer le code iso 639 de la locale utilisée par l'utilisateur courant, à partir de fonctions standard (std::locale par exemple).
Mais à l'usage, si je récupère std::locale().name(), j'ai la lettre "C" (pour Classique, je crois).
Mais je prefererais une chaine du type "fr_FR" ou "en_US".
Comment on fait pour connaitre la langue courante de l'utilisateur avec des fonctions standards (non windows, non mac, non thirdparty) ?