Question

Mon application a été traduite dans plusieurs langues, dont le français, le chinois traditionnel et le chinois simplifié. Désormais, lors du premier lancement de l'application, j'aimerais sélectionner automatiquement la traduction correcte en fonction des paramètres régionaux de l'utilisateur.

Pour le français, l'évaluation de la propriété TwoLettersIsoLanguageName du InstalledUiCulture a bien fonctionné, mais pour le chinois, les codes ISO ne sont pas suffisants. J'ai pensé à recourir à la propriété Name, qui sépare zh-Hans et zh-Hant, mais qui rompt le français, car elle donne fr-FR sur certains systèmes et fr-CA sur d'autres, par exemple.

Y a-t-il un moyen simple d'obtenir le code de langue à deux lettres de la culture actuelle s'il n'est pas chinois, et autrement obtenir zh-Hans / zh-Hant?

Je recherche une solution élégante; J'ai bien sûr pensé à analyser la propriété Name de la culture et à créer un cas particulier pour le chinois, mais ce n'est pas vraiment joli: /

En bref, je pense que je cherche un moyen de récupérer une culture "neutre" de la culture actuelle: de fr-Fr obtenir fr, de zh-TW obtenir zh-Hant, et de zh-CN obtenir zh-Hans. Des idées?

Merci!

Était-ce utile?

La solution

Il semble que la Parent propriété deLa classe CultureInfo est ce que vous recherchez.
Il semble qu'il a été pris en charge dès le début.

BTW.En cas de traduction, vous devez utiliser CurrentUICulture plutôt que CurrentCulture (ce dernier est destiné àformatage) ou InstalledUiCulture, qui est la version linguistique du système d'exploitation et non la préférence utilisateur nécessaire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top