Langage: HTML | XAML

Comment gérer la langue et la région (HTML)

Applies to Windows and Windows Phone

Vous pouvez contrôler la manière dont Windows sélectionne les ressources d’interface utilisateur et formate les éléments d’interface utilisateur de l’application. Pour contrôler ces fonctionnalités, utilisez les différents paramètres de langue et de région fournis par Windows.

Pour un exemple d’application qui illustre comment gérer les paramètres de langue et de région, voir Exemple de ressources d’application et de localisation.

Un utilisateur Windows n’a pas besoin de choisir uniquement une langue dans un ensemble limité de langues. En revanche, l’utilisateur peut indiquer à Windows qu’il parle une langue donnée, même si Windows n’est pas traduit dans cette langue. L’utilisateur peut même spécifier qu’il peut parler plusieurs langues.

Un utilisateur Windows peut spécifier son emplacement géographique, qui peut être n’importe où dans le monde. En outre, l’utilisateur peut spécifier qu’il parle une langue quelconque dans un emplacement géographique quelconque. L’emplacement géographique et la langue ne se limitent pas mutuellement. Le simple fait qu’un utilisateur parle le français ne signifie pas qu’il se trouve en France et, réciproquement, le simple fait qu’un utilisateur est en France ne signifie pas qu’il préfère parler français.

Un utilisateur Windows peut exécuter des applications dans une langue complètement différente de celle de Windows. Par exemple, l’utilisateur peut exécuter une application en espagnol alors que Windows s’exécute en français.

Pour les applications du Windows Store, une langue est représentée sous la forme d’une balise de langue BCP-47. La plupart des API de Windows Runtime, HTML et XAML peuvent retourner ou accepter la représentation sous forme de chaînes de ces balises de langue BCP-47. Consultez également la liste de langues IANA.

Pour obtenir la liste des balises de langue prises en charge par le Windows Store, voir Choix de vos langues.

Instructions

Étape 1: Définissez les langues de l’utilisateur.

La liste des langues de l’utilisateur est une liste ordonnée des langues de l’utilisateur, classées par ordre de préférence.

  • Applies to Windows

L’utilisateur établit cette liste dans Panneau de configuration > Horloge, langue et région > Langue.

  • Applies to Windows Phone

L’utilisateur établit cette liste dans Paramètres > langue.

La liste des préférences de langue de l’utilisateur peut contenir plusieurs langues et des variantes régionales ou spécifiques. Par exemple, l’utilisateur peut préférer fr-CA, mais peut également comprendre en-GB.

Étape 2: Spécifiez les langues prises en charge dans le manifeste de l’application.

Un développeur d’application spécifie la liste des langues prises en charge dans l’élément Ressources du fichier manifeste de l’application (en général Package.appxmanifest) ou Visual Studio génère automatiquement la liste des langues dans le fichier manifeste en fonction des langues trouvées dans le projet. Le manifeste doit décrire précisément les langues prises en charge au niveau approprié de granularité. Les langues qui figurent dans le manifeste sont les langues présentées aux utilisateurs dans le Windows Store.

Étape 3: Spécifiez la langue par défaut.

Une application utilise la langue par défaut quand elle ne prend en charge aucune des langues que l’utilisateur a choisies. MSBuild et MakePRI.exe utilisent la langue par défaut pour ajouter des métadonnées aux ressources marquées dans cette langue, ce qui permet aux ressources appropriées d’être choisies au moment de l’exécution.

Pour utiliser Visual Studio afin de définir la langue par défaut dans une application du Windows Store en JavaScript :

  • Ouvrez package.appxmanifest dans Visual Studio, accédez à l’onglet Application et définissez votre langue par défaut sur la langue que vous utilisez pour créer votre application.

La propriété de langue par défaut doit également être définie en tant que première langue dans le manifeste pour définir de façon appropriée la langue de l’application (décrite à l’étape "Créez la liste des langues de l’application" plus bas). Les ressources dans la langue par défaut doivent toujours être qualifiées avec leur langue (par exemple, en-US/logo.png). La langue par défaut ne spécifie pas la langue implicite des ressources non qualifiées. Pour en savoir plus, voir Comment nommer des ressources à l’aide de qualificateurs.

Étape 4: Qualifiez des ressources avec leur langue.

Définissez soigneusement votre public ainsi que la langue et l’emplacement des utilisateurs que vous voulez cibler. De nombreuses personnes vivant dans une région ne préfèrent pas utiliser la langue principale de cette région. Par exemple, la langue principale de millions de foyers aux États-Unis est l’espagnol.

Pour qualifier des ressources avec une langue :

  • Incluez un script lorsqu’il n’y a aucune valeur de script de suppression définie pour la langue. Voir le registre des sous-balises de langues IANA pour plus de détails sur les balises de langue. Par exemple, utilisez zh-Hant, zh-Hant-TW ou zh-Hans et non zh-CN ou zh-TW.
  • Marquez tout le contenu linguistique avec une langue. La propriété de projet de langue par défaut n’est pas la langue des ressources non marquées (c’est-à-dire, une langue neutre) ; elle indique quelle ressource de langue marquée doit être choisie si aucune autre ressource de langue marquée ne correspond à l’utilisateur.

Marquez les ressources avec une représentation précise du contenu.

  • Windows procède à une mise en correspondance complexe des langues, en prenant en compte les variantes régionales (par exemple en-US est mis en correspondance avec en-GB), pour que les applications puissent librement marquer les ressources avec une représentation précise du contenu, Windows faisant correspondre la langue appropriée pour chaque utilisateur.
  • Le Windows Store présente aux utilisateurs de l’application le contenu du manifeste.
  • Sachez que certains outils et composants tels que les outils de traduction automatique peuvent trouver des balises de langue spécifiques, telles que des informations de dialecte régional, ce qui s’avère utile pour analyser certaines données.
  • Veillez à marquer les ressources avec des informations complètes, surtout lorsque plusieurs variantes de langue sont disponibles. Par exemple, marquez les ressources avec en-GB et en-US si les deux langues sont spécifiques à la région.
  • Dans le cas des langues pour lesquelles existent un seul dialecte standard il n’est pas nécessaire d’ajouter la région. Le balisage général est conseillé dans certaines situations, par exemple il est préférable de marquer des ressources avec ja au lieu de ja-JP.

Il peut arriver parfois que certaines ressources ne doivent pas être localisées.

  • Les ressources telles que les chaînes d’interface utilisateur existantes dans toutes les langues doivent être marquées avec la langue dans laquelle elles sont. Veillez cependant à ce que toutes ces ressources soient disponibles dans la langue par défaut. Il n’est pas nécessaire de spécifier une ressource neutre (c’est-à-dire une ressource qui n’est pas marquée avec une langue).
  • Concernant les ressources qui sont fournies dans un sous-ensemble des langues pour l’application entière (localisation partielle), spécifiez les langues dans lesquelles ces ressources sont disponibles et veillez à ce que toutes ces ressources soient disponibles dans la langue par défaut. Windows sélectionne la meilleure langue possible pour l’utilisateur en fonction de toutes les langues parlées par celui-ci dans leur ordre de préférence. Par exemple, l’intégralité de l’interface utilisateur d’une application peut ne pas être localisée en catalan, si l’application dispose d’un ensemble complet de ressources en espagnol. Pour les utilisateurs qui parlent le catalan en premier puis l’espagnol, les ressources non disponibles en catalan apparaissent en espagnol.
  • Si parmi les ressources, certaines sont spécifiques à certaines langues, alors qu’une ressource est commune à toutes les langues, la ressource qui doit être utilisée pour toutes les langues doit être marquée avec la balise de langue indéterminée 'und'. Windows interprète la balise de langue 'und' de la même manière que '*', c’est-à-dire qu’il choisit la langue principale de l’application après toute langue spécifique. Par exemple, si quelques ressources (telles que la largeur d’un élément) sont différentes pour le finnois, alors que les autres ressources sont les mêmes pour toutes les langues, la ressource en finnois doit être marquée avec la balise de langue pour le finnois et les autres ressources doivent être marquées avec 'und'.
  • Pour les ressources qui sont basées sur le script d’une langue au lieu de la langue elle-même, comme une police ou une hauteur de texte, utilisez la balise de langue indéterminée avec un script spécifique : 'und-<script>'. Par exemple, pour les polices latines utilisez und-Latn\fonts.css et pour les polices cyrilliques utilisez und-Cryl\fonts.css.

Étape 5: Créez la liste des langues de l’application.

Lors de l’exécution, le système détermine les préférences de langue de l’utilisateur que l’application déclare prendre en charge dans son manifeste et crée une liste des langues de l’application. Il utilise cette liste pour déterminer en quelle(s) langue(s) doit être l’application. La liste détermine les langues qui sont utilisées pour les dates, les heures, les nombres et les ressources système de l’application, ainsi que pour d’autres composants. Par exemple, le système de gestion des ressources (Windows.ApplicationModel.Resources, Windows.ApplicationModel.Resources.Core et l’espace de noms WinJS.Resources) charge les ressources d’interface utilisateur en fonction de la langue de l’application. Windows.Globalization choisit également les formats en fonction de la liste des langues de l’application. La liste des langues de l’application est disponible en utilisant Windows.Globalization.ApplicationLanguages.languages.

La mise en correspondance des langues avec les ressources est difficile. Nous vous recommandons de laisser Windows s’en charger, car de nombreux composants facultatifs dans une balise de langue influencent dans la pratique la priorité de correspondance.

Voici des exemples de composants facultatifs dans une balise de langue :

  • Script pour supprimer des langues de script. Par exemple, en-Latn-US correspond à en-US.
  • Région. Par exemple, en-en-US correspond à en.
  • Variantes. Par exemple, de-DE-1996 correspond à de-DE.
  • -x et autres extensions. Par exemple, en-US-x-Pirate correspond à en-US.

Il y a également de nombreux composants dans une balise de langue qui ne sont pas au format xx ou xx-yy et tous ne correspondent pas.

  • zh-Hant ne correspond pas à zh-Hans.

Windows hiérarchise la correspondance des langues d’une façon logique. Par exemple, en-US correspond, par ordre de priorité, à en-US, en, en-GB, et ainsi de suite.

  • Windows assure la correspondance avec les langues régionales. Par exemple, en-US correspond à en-US, en, et en-*.
  • Windows dispose de données supplémentaires pour établir des affinités dans une région, par exemple la région principale pour une langue. Par exemple, fr-FR convient mieux pour fr-BE que pour fr-CA.
  • Vous pourrez obtenir gratuitement d’autres améliorations de correspondance de langue dans Windows via les API Windows.

La mise en correspondance pour la première langue d’une liste se produit avant la mise en correspondance de la deuxième langue d’une liste, même pour d’autres variantes régionales. Par exemple, une ressource pour en-GB est choisie à la place d’une ressource fr-CA si la langue de l’application est en-US. En revanche s’il n’y a aucune ressource pour une forme de en, une ressource pour fr-CA est choisie.

La liste des langues de l’application est définie sur la variante régionale de l’utilisateur, même si celle-ci est différente de la variante régionale que l’application fournissait. Par exemple, si l’utilisateur parle en-GB alors que l’application prend en charge en-US, la liste des langues de l’application inclura en-GB. Cela garantit que les dates, les heures et les nombres seront formatés d’une manière plus proche des attentes de l’utilisateur (en-GB), mais les ressources d’interface utilisateur continuent à être chargées (en raison de la mise en correspondance des langues) dans la langue prise en charge par l’application (en-US).

La liste des langues de l’application comporte les éléments suivants :

  1. (En option) Langue principale de substitution. Le paramètre PrimaryLanguageOverride est un paramètre de substitution simple pour les applications qui donnent aux utilisateurs leur propre choix de langue indépendant ou les applications qui ont une bonne raison de remplacer les langues par défaut. Pour en savoir plus, voir Exemple de ressources d’application et de localisation.
  2. Les langues de l’utilisateur prises en charge par l’application Il s’agit de la liste des langues de l’utilisateur, classées dans l’ordre où il les préfère. Elle est filtrée par la liste des langues prises en charge dans le manifeste de l’application. Le filtrage des langues de l’utilisateur par celles prises en charge par l’application préserve la cohérence entre les Kits de développement logiciel (SDK), les bibliothèques de classes, les packages d’infrastructure dépendants et l’application.
  3. Si les points 1 et 2 sont vides, la première langue ou la langue par défaut prise en charge par l’application Si l’utilisateur ne parle aucune des langues prises en charge par l’application, la langue sélectionnée pour l’application est la première langue prise en charge par l’application.

Voir la section Remarques ci-dessous pour consulter des exemples.

Étape 6: Définissez l’en-tête HTTP Accept-Language.

Les requêtes HTTP envoyées à partir d’applications du Windows Store et d’applications de bureau dans des requêtes Web standard et XMLHttpRequest (XHR) utilisent l’en-tête HTTP standard Accept-Language. Par défaut, l’en-tête HTTP est défini conformément aux langues de l’utilisateur, dans l’ordre de préférence de l’utilisateur, comme spécifié dans Panneau de configuration > Horloge, langue et région > Langue. Chaque langue de la liste est développée pour inclure les éléments neutres de la langue et un poids (q). Par exemple, la liste des langues d’un utilisateur comprenant fr-FR et en-US produit un en-tête Accept-Language HTTP comprenant fr-FR, fr, en-US, en ("fr-FR,fr;q=0.8,en-US;q=0.5,en;q=0.3").

Étape 7: Utilisez les API dans l’espace de noms Windows.Globalization.

En règle générale, les éléments d’API dans l’espace de noms Windows.Globalization utilisent la liste des langues de l’application pour déterminer la langue. Si aucune de ces langues ne possède de format correspondant, les paramètres régionaux de l’utilisateur sont utilisés. Il s’agit des paramètres régionaux utilisés pour l’horloge système. Les paramètres régionaux de l’utilisateur sont disponibles dans Panneau de configuration > Horloge, langue et région > Région : Modifier les formats de date, d’heure ou de nombre. Les API Windows.Globalization acceptent également une substitution pour spécifier une liste de langues, à utiliser à la place de la liste des langues de l’application.

Windows.Globalization possède également un objet Language qui est fourni en tant qu’objet Application d’assistance. Il permet aux applications d’inspecter des détails relatifs à la langue, tels que le script de la langue, le nom complet et le nom natif.

Étape 8: Utilisez la région lorsque cela est approprié.

À la place de la langue, vous devez utiliser le paramètre de région de résidence de l’utilisateur pour choisir le contenu à présenter à l’utilisateur. Par exemple, une application d’actualités pourra afficher par défaut un contenu provenant du lieu de résidence de l’utilisateur, qui est défini à l’installation de Windows et qui est disponible dans le Panneau de configuration Région. Vous pouvez récupérer le paramètre actuel de la région de résidence de l’utilisateur à l’aide de Windows.System.UserProfile.GlobalizationPreferences.HomeGeographicRegion.

Windows.Globalization possède également un objet GeographicRegion qui est fourni en tant qu’objet Application d’assistance. Il permet aux applications d’inspecter les détails relatifs à une région particulière, tels que son nom complet, son nom natif et les devises utilisées.

Remarques

Le tableau ci-dessous contient des exemples de ce que l’utilisateur verrait dans l’interface utilisateur de l’application lorsque différents paramètres de langue et de région sont configurés.

Langues prises en charge par l’application (définies dans le manifeste)Langues de l’utilisateur (définies dans le Panneau de configuration)Langue principale de substitution de l’application (en option)Langues de l’applicationCe que l’utilisateur voit dans l’application
Anglais (GB) (par défaut) ; allemand (Allemagne) Anglais (GB)aucuneAnglais (GB)Interface utilisateur : anglais (GB) Dates/Heures/Nombres : anglais (GB)
Allemand (Allemagne) (par défaut) ; français (France) ; italien (Italie) Français (Autriche)(aucune)Français (Autriche)Interface utilisateur : français (France) (option de repli pour français (Autriche)) Dates/Heures/Nombres : français (Autriche)
Anglais (É.-U.) (par défaut) ; français (France) ; anglais (R.-U.) Anglais (Canada) ; français (Canada) aucuneAnglais (Canada) ; français (Canada) Interface utilisateur : anglais (É.-U.) (option de repli pour anglais (Canada)) Dates/Heures/Nombres : anglais (Canada)
Espagnol (Espagne) (par défaut) ; espagnol (Mexique) ; espagnol (Amérique latine) ; portugais (Brésil) Anglais (É.U.)aucuneEspagnol (Espagne)Interface utilisateur : espagnol (Espagne) (utilise le paramètre par défaut car aucune option de repli n’est disponible pour l’anglais) Dates/Heures/Nombres : espagnol (Espagne)
Catalan (par défaut) ; espagnol (Espagne) ; français (France) Catalan ; français (France) aucuneCatalan ; français (France) Interface utilisateur : principalement en catalan et un peu en français (France) car toutes les chaînes ne sont pas en catalan Dates/Heures/Nombres : Catalan
Anglais (R.-U.) (par défaut) ; français (France) ; allemand (Allemagne) Allemand (Allemagne) ; anglais (R.-U.) Anglais (R.-U.) (choisi par l’utilisateur dans l’interface utilisateur de l’application)Anglais (R.-U.) ; allemand (Allemagne) Interface utilisateur : anglais (R.-U.) (langue de substitution) Dates/Heures/Nombres : anglais (R.-U.)

 

 

 

Afficher:
© 2014 Microsoft