Directives relatives à la globalisation

Concevez et développez votre application de manière à ce qu’elle fonctionne correctement sur des systèmes avec différentes configurations de langue et de culture. Utiliser les API de globalisation pour mettre en forme les données ; et évitez les hypothèses dans votre code concernant la langue, la région, la classification des caractères, le système d’écriture, la mise en forme de date/heure, les nombres, les devises, les pondérations et les règles de tri.

Recommandation Description
Prenez en compte la culture lors de la manipulation et de la comparaison de chaînes. Par exemple, ne modifiez pas la casse des chaînes avant de les comparer. Consultez Recommandations pour l’utilisation des chaînes.
Lors de la collecte (tri) de chaînes et d’autres données, ne supposez pas qu’elles sont toujours effectuées par ordre alphabétique. Pour les langues qui n’utilisent pas de script latin, le classement est basé sur des facteurs tels que la prononciation ou le nombre de traits de stylet. Même les langues qui utilisent le script latin n’utilisent pas toujours le tri alphabétique. Par exemple, dans certaines cultures, un annuaire n’est pas trié par ordre alphabétique. Windows peut gérer le tri pour vous, mais si vous créez votre propre algorithme de tri, veillez à prendre en compte les méthodes de tri utilisées dans vos marchés cibles.
Format approprié des numéros, dates, heures, adresses et numéros de téléphone. Ces formats varient selon les cultures, les régions, les langues et les marchés. Si vous affichez ces données, utilisez les API Globalization pour obtenir le format approprié pour un public particulier. Consultez Globaliser vos formats de date/heure/nombre. L’ordre dans lequel la famille et les noms donnés sont affichés, ainsi que le format des adresses, peuvent également différer. Utilisez les affichages de date, d’heure et de nombre standard. Utilisez des contrôles de sélecteur de date et d’heure standard. Utilisez les informations d’adresse standard.
Prise en charge des unités de mesure et de devises internationales. Des unités et des échelles différentes sont utilisées dans différents pays, bien que les systèmes métrique et impérial soient les plus populaires. Veillez à prendre en charge la mesure système correcte si vous traitez des mesures telles que la longueur, la température et la surface. Utilisez la propriété GeographicRegion.CurrenciesInUse pour obtenir l’ensemble des devises utilisées dans une région.
Utilisez Unicode pour le codage des caractères. Par défaut, Microsoft Visual Studio utilise l’encodage de caractères Unicode pour tous les documents. Si vous utilisez un autre éditeur, veillez à enregistrer les fichiers sources dans les codages de caractères Unicode appropriés. Toutes les API Windows Runtime retournent des chaînes codées selon le codage de caractères UTF-16.
Prenez en charge les formats de papier internationaux. Les tailles de papier les plus courantes diffèrent d’un pays à l’autre. Par conséquent, si vous incluez des fonctionnalités qui dépendent du format du papier, telles que l’impression, veillez à prendre en charge et à tester les tailles internationales courantes.
Enregistrez la langue du clavier ou de l’IME. Lorsque votre application demande à l’utilisateur d’entrer du texte, enregistrez la balise de langue pour la disposition du clavier ou l’éditeur de méthode d’entrée (IME) actuellement activé. Cela garantit que, lorsque l’entrée est affichée ultérieurement, elle sera présentée à l’utilisateur dans le format approprié. Utilisez la propriété Language.CurrentInputMethodLanguageTag pour obtenir la langue d’entrée actuelle.
N’utilisez pas la langue pour supposer la région d’un utilisateur ; et n’utilisez pas la région pour supposer la langue d’un utilisateur. La langue et la région sont des concepts distincts. Un utilisateur peut parler une variante régionale particulière d’une langue, comme en-GB pour l’anglais tel qu’il est parlé au Royaume-Uni, mais l’utilisateur peut se trouver dans un pays ou une région entièrement différent. Déterminez si votre application nécessite des connaissances sur la langue de l’utilisateur (pour le texte de l’interface utilisateur, par exemple) ou la région (pour les licences, par exemple). Pour plus d’informations, consultez Comprendre les langages de profil utilisateur et les langages de manifeste d’application.
Les règles de comparaison des balises de langue ne sont pas triviales. Les balises de langage BCP-47 sont complexes. Il existe un certain nombre de problèmes lors de la comparaison de balises de langue, dont notamment des problèmes de correspondance entre les informations de script, les balises héritées et les différentes variantes régionales. Le système de gestion des ressources dans Windows s’occupe de la correspondance pour vous. Vous pouvez spécifier un ensemble de ressources dans des langues quelconques et le système choisit celle qui est appropriée pour l’utilisateur et l’application. Consultez Ressources d’application et Système de gestion des ressources et Comment le système de gestion des ressources correspond aux balises de langue.
Concevez votre interface utilisateur pour prendre en charge différentes longueurs de texte et tailles de police pour les étiquettes et les contrôles d’entrée de texte. Les chaînes traduites en différentes langues pouvant varier considérablement en longueur, vous aurez donc besoin de vos contrôles d’interface utilisateur pour dimensionner dynamiquement leur contenu. Les caractères courants dans d’autres langues incluent des marques au-dessus ou au-dessous de ce qui est généralement utilisé en anglais (par exemple, Å ou A). Utilisez les tailles de police et les hauteurs de trait standard pour fournir un espace vertical adéquat. N’oubliez pas que les polices d’autres langues peuvent nécessiter des tailles de police minimales plus grandes pour rester lisibles. Consultez les classes de l’espace de noms Windows.Globalization.Fonts .
Prend en charge la mise en miroir de l’ordre de lecture. L’alignement du texte et l’ordre de lecture peuvent être de gauche à droite (comme en anglais, par exemple), ou de droite à gauche (RTL) (comme en arabe ou en hébreu, par exemple). Si vous localisez votre produit dans des langues qui utilisent un ordre de lecture différent du vôtre, assurez-vous que la disposition de vos éléments d’interface utilisateur prend en charge la mise en miroir. Même les éléments tels que les boutons précédents, les effets de transition de l’interface utilisateur et les images peuvent avoir besoin d’être mis en miroir. Pour plus d’informations, consultez Ajuster la disposition et les polices et prendre en charge RTL.
Affichez correctement le texte et les polices. Les paramètres optimaux de police, taille de police et direction du texte varient entre les différents marchés. Pour plus d’informations, consultez Ajuster la disposition et les polices, et prenez en chargeles polices RTL et International.

API importantes

 

Exemples