Personnaliser vos ressources pour la langue, l’échelle, le contraste élevé et d’autres qualificateurs
Cette rubrique explique le concept général des qualificateurs de ressource, leur utilisation et le rôle de chacun des noms de qualificateur. Consultez ResourceContext.QualifierValues pour obtenir une table de référence de toutes les valeurs de qualificateur possibles.
Votre application peut charger des ressources et des ressources adaptées aux contextes d’exécution tels que le langage d’affichage, le contraste élevé, le facteur d’échelle d’affichage et bien d’autres. Pour ce faire, vous devez nommer les dossiers ou fichiers de vos ressources pour qu’ils correspondent aux noms de qualificateurs et aux valeurs de qualificateur qui correspondent à ces contextes. Par exemple, vous souhaiterez peut-être que votre application charge un autre ensemble de ressources d’image en mode contraste élevé.
Pour plus d’informations sur la proposition de valeur de la localisation de votre application, consultez Internationalisation et localisation.
Nom du qualificateur, valeur de qualificateur et qualificateur
Un nom de qualificateur est une clé qui correspond à un ensemble de valeurs de qualificateur. Voici le nom du qualificateur et les valeurs de qualificateur pour le contraste.
Context | Nom du qualificateur | Valeurs de qualificateur |
---|---|---|
Paramètre à contraste élevé | élevé | standard, élevé, noir, blanc |
Vous combinez un nom de qualificateur avec une valeur de qualificateur pour former un qualificateur. <qualifier name>-<qualifier value>
est le format d’un qualificateur. contrast-standard
est un exemple de qualificateur.
Ainsi, pour un contraste élevé, l’ensemble de qualificateurs est contrast-standard
, contrast-high
, contrast-black
, et contrast-white
. Les noms des qualificateurs et les valeurs de qualificateur ne respectent pas la casse. Par exemple, contrast-standard
et Contrast-Standard
sont le même qualificateur.
Utiliser des qualificateurs dans les noms de dossiers
Voici un exemple d’utilisation de qualificateurs pour nommer des dossiers qui contiennent des fichiers de ressources. Utilisez des qualificateurs dans les noms de dossiers si vous avez plusieurs fichiers de ressources par qualificateur. De cette façon, vous définissez le qualificateur une fois au niveau du dossier, et le qualificateur s’applique à tout ce qui se trouve dans le dossier.
\Assets\Images\contrast-standard\<logo.png, and other image files>
\Assets\Images\contrast-high\<logo.png, and other image files>
\Assets\Images\contrast-black\<logo.png, and other image files>
\Assets\Images\contrast-white\<logo.png, and other image files>
Si vous nommez vos dossiers comme dans l’exemple ci-dessus, votre application utilise le paramètre de contraste élevé pour charger des fichiers de ressources à partir du dossier nommé pour le qualificateur approprié. Par conséquent, si le paramètre est noir à contraste élevé, les fichiers de ressources du \Assets\Images\contrast-black
dossier sont chargés. Si le paramètre est None (autrement dit, l’ordinateur n’est pas en mode contraste élevé), les fichiers de ressources du \Assets\Images\contrast-standard
dossier sont chargés.
Utiliser des qualificateurs dans les noms de fichiers
Au lieu de créer et d’nommer des dossiers, vous pouvez utiliser un qualificateur pour nommer eux-mêmes les fichiers de ressources. Vous préférez peut-être le faire si vous n’avez qu’un seul fichier de ressources par qualificateur. Voici un exemple.
\Assets\Images\logo.contrast-standard.png
\Assets\Images\logo.contrast-high.png
\Assets\Images\logo.contrast-black.png
\Assets\Images\logo.contrast-white.png
Le fichier dont le nom contient le qualificateur le plus approprié pour le paramètre est celui qui est chargé. Cette logique correspondante fonctionne de la même façon que pour les noms de fichiers que pour les noms de dossiers.
Référencer une ressource de chaîne ou d’image par nom
Pour plus d’informations sur la référence à une ressource de chaîne ou d’image par nom, consultez les rubriques suivantes :
- Reportez-vous à un identificateur de ressource de chaîne à partir du balisage XAML
- Reportez-vous à un identificateur de ressource de chaîne à partir du code
- Référencer une image ou un autre élément multimédia à partir du balisage XAML et du code
Correspondances des qualificateurs réels et neutres
Vous n’avez pas besoin de fournir un fichier de ressources pour chaque valeur de qualificateur. Par exemple, si vous constatez que vous n’avez besoin que d’une seule ressource visuelle pour un contraste élevé et une pour le contraste standard, vous pouvez nommer ces ressources comme ceci.
\Assets\Images\logo.contrast-high.png
\Assets\Images\logo.png
Le premier nom de fichier contient le contrast-high
qualificateur. Ce qualificateur est une correspondance réelle pour tout paramètre de contraste élevé lorsque le contraste élevé est activé. En d’autres termes, il s’agit d’une correspondance proche. Une correspondance réelle ne peut se produire que si le qualificateur contient une valeur réelle , comme celui-ci le fait. Dans ce cas, high
est une valeur réelle pour contrast
.
Le fichier nommé logo.png
n’a aucun qualificateur de contraste sur celui-ci. L’absence d’un qualificateur est une valeur neutre . Si aucune correspondance préférée n’est trouvée, la valeur neutre sert de correspondance de secours. Dans cet exemple, si le contraste élevé est désactivé, il n’y a aucune correspondance réelle. La correspondance neutre est la meilleure correspondance qui peut être trouvée, et donc la ressource logo.png
est chargée.
Si vous deviez modifier le nom de celui-ci, le nom du logo.png
logo.contrast-standard.png
fichier contient une valeur de qualificateur réelle. Avec un contraste élevé, il y aurait une correspondance réelle avec logo.contrast-standard.png
, et c’est le fichier de ressources qui serait chargé. Par conséquent, les mêmes fichiers seraient chargés, dans les mêmes conditions, mais en raison de correspondances différentes.
Si vous n’avez besoin que d’un seul ensemble de ressources pour un contraste élevé et d’un ensemble pour le contraste standard, vous pouvez utiliser des noms de dossiers plutôt que des noms de fichiers. Dans ce cas, omettre entièrement le nom du dossier vous donne la correspondance neutre.
\Assets\Images\contrast-high\<logo.png, and other images to load when high contrast theme is not None>
\Assets\Images\<logo.png, and other images to load when high contrast theme is None>
Pour plus d’informations sur le fonctionnement de la correspondance des qualificateurs, consultez Gérer les ressources avec MRT Core.
Qualificateurs multiples
Vous pouvez combiner des qualificateurs dans les noms de dossiers et de fichiers. Par exemple, vous souhaiterez peut-être que votre application charge des ressources d’image lorsque le mode contraste élevé est activé et que le facteur d’échelle d’affichage est 400. Pour ce faire, vous pouvez utiliser des dossiers imbriqués.
\Assets\Images\contrast-high\scale-400\<logo.png, and other image files>
Pour logo.png
que les autres fichiers soient chargés, les paramètres doivent correspondre aux deux qualificateurs.
Une autre option consiste à combiner plusieurs qualificateurs dans un nom de dossier.
\Assets\Images\contrast-high_scale-400\<logo.png, and other image files>
Dans un nom de dossier, vous combinez plusieurs qualificateurs séparés par un trait de soulignement. <qualifier1>[_<qualifier2>...]
est le format.
Vous pouvez combiner plusieurs qualificateurs dans un nom de fichier au même format.
\Assets\Images\logo.contrast-high_scale-400.png
Selon les outils et le flux de travail que vous utilisez pour la création de ressources, ou sur ce que vous trouvez le plus simple à lire et/ou à gérer, vous pouvez choisir une stratégie de nommage unique pour tous les qualificateurs, ou les combiner pour différents qualificateurs.
AlternateForm
Le alternateform
qualificateur est utilisé pour fournir une autre forme de ressource à des fins particulières. Il est généralement utilisé uniquement par les développeurs d’applications japonais pour fournir une chaîne furigana pour laquelle la valeur msft-phonetic
est réservée (voir la section « Support Furigana pour les chaînes japonaises qui peuvent être triées » dans Comment préparer la localisation).
Votre système cible ou votre application doivent fournir une valeur par rapport à laquelle alternateform
les qualificateurs sont mis en correspondance. N’utilisez pas le msft-
préfixe pour vos propres valeurs de qualificateur personnalisées alternateform
.
Configuration
Il est peu probable que vous aurez besoin du nom du configuration
qualificateur. Il peut être utilisé pour spécifier des ressources applicables uniquement à un environnement de création donné, comme les ressources de test uniquement.
Le configuration
qualificateur est utilisé pour charger une ressource qui correspond le mieux à la valeur de la variable d’environnement MS_CONFIGURATION_ATTRIBUTE_VALUE
. Vous pouvez donc définir la variable sur la valeur de chaîne qui a été affectée aux ressources pertinentes, par exemple designer
, ou test
.
Contraste
Le contrast
qualificateur est utilisé pour fournir des ressources qui correspondent le mieux aux paramètres de contraste élevé.
DXFeatureLevel
Il est peu probable que vous aurez besoin du nom du dxfeaturelevel
qualificateur. Il a été conçu pour être utilisé avec les ressources de jeu Direct3D, afin de charger des ressources de niveau inférieur afin qu’elles correspondent à une configuration matérielle de niveau inférieur particulière de l’heure. Mais la prévalence de cette configuration matérielle est maintenant si faible que nous vous recommandons de ne pas utiliser ce qualificateur.
HomeRegion
Le homeregion
qualificateur correspond au paramètre de l’utilisateur pour le pays ou la région. Il représente l’emplacement d’accueil de l’utilisateur. Les valeurs incluent n’importe quelle balise de région BCP-47 valide. Autrement dit, tout code de région à deux lettres ISO 3166-1 alpha-2 , ainsi que l’ensemble de codes géographiques à trois chiffres numériques ISO 3166-1 pour les régions composées (voir la composition de la Division des statistiques des Nations Unies M49 des codes régionaux). Les codes relatifs à « Sélection économique et autres regroupements » ne sont pas valides.
Langage
Un language
qualificateur correspond au paramètre de langue d’affichage. Les valeurs incluent n’importe quelle balise de langue BCP-47 valide. Pour obtenir la liste des langues, consultez le registre de sous-balises de langue IANA.
Si vous souhaitez que votre application prend en charge différentes langues d’affichage et que vous disposez de littéraux de chaîne dans votre code ou dans votre balisage XAML, déplacez ces chaînes hors du code/balisage et dans un fichier de ressources (.resw
). Vous pouvez ensuite effectuer une copie traduite de ce fichier de ressources pour chaque langue prise en charge par votre application.
Vous utilisez généralement un language
qualificateur pour nommer les dossiers qui contiennent vos fichiers de ressources (.resw
).
\Strings\language-en\Resources.resw
\Strings\language-ja\Resources.resw
Vous pouvez omettre la language-
partie d’un language
qualificateur (autrement dit, le nom du qualificateur). Vous ne pouvez pas le faire avec les autres types de qualificateurs ; et vous ne pouvez le faire que dans un nom de dossier.
\Strings\en\Resources.resw
\Strings\ja\Resources.resw
Au lieu de nommer des dossiers, vous pouvez utiliser language
des qualificateurs pour nommer eux-mêmes les fichiers de ressources.
\Strings\Resources.language-en.resw
\Strings\Resources.language-ja.resw
Consultez Localiser vos chaînes d’interface utilisateur pour plus d’informations sur la localisation de votre application à l’aide de ressources de chaîne et sur la façon de référencer une ressource de chaîne dans votre application.
LayoutDirection
Un layoutdirection
qualificateur correspond à la direction de disposition du paramètre de langue d’affichage. Par exemple, une image peut être mise en miroir pour une langue de droite à gauche telle que l’arabe ou l’hébreu. Les panneaux de disposition et les images de votre interface utilisateur répondent correctement à la direction de disposition si vous définissez leur propriété FlowDirection (voir Ajuster la disposition et les polices, et prendre en charge RTL). Toutefois, le layoutdirection
qualificateur est destiné aux cas où le découpage simple n’est pas adéquat et vous permet de répondre à la direction de l’ordre de lecture et de l’alignement de texte spécifiques de manière plus générale.
Mise à l’échelle
Windows sélectionne automatiquement un facteur d’échelle pour chaque affichage en fonction de son PPP (points par pouce) et de la distance d’affichage de l’appareil. Consultez les pixels effectifs et le facteur d’échelle. Vous devez créer vos images à plusieurs tailles recommandées (au moins 100, 200 et 400) afin que Windows puisse choisir la taille parfaite ou utiliser la taille la plus proche et la mettre à l’échelle. Pour que Windows puisse identifier le fichier physique qui contient la taille correcte de l’image pour le facteur d’échelle d’affichage, vous utilisez un scale
qualificateur. L’échelle d’une ressource correspond à la valeur de DisplayInformation.ResolutionScale ou à la ressource à l’échelle suivante.
Voici un exemple de définition du qualificateur au niveau du dossier.
\Assets\Images\scale-100\<logo.png, and other image files>
\Assets\Images\scale-200\<logo.png, and other image files>
\Assets\Images\scale-400\<logo.png, and other image files>
Cet exemple montre comment le définir au niveau du fichier.
\Assets\Images\logo.scale-100.png
\Assets\Images\logo.scale-200.png
\Assets\Images\logo.scale-400.png
Pour plus d’informations sur la qualification d’une ressource pour les deux scale
et , consultez Qualifier une ressource d’image pour la taille des targetsize
cibles.
TargetSize
Le targetsize
qualificateur est principalement utilisé pour spécifier des icônes d’association de type de fichier ou des icônes de protocole à afficher dans Explorateur de fichiers. La valeur de qualificateur représente la longueur latérale d’une image carrée en pixels bruts (physiques). Ressource dont la valeur correspond au paramètre Affichage dans Explorateur de fichiers est chargée ; ou la ressource avec la valeur la plus importante suivante en l’absence d’une correspondance exacte.
Vous pouvez définir des ressources qui représentent plusieurs tailles de valeur de targetsize
qualificateur pour l’icône d’application (/Assets/Square44x44Logo.png
) sous l’onglet Ressources visuelles du concepteur de manifeste du package d’application.
Pour plus d’informations sur la qualification d’une ressource pour les deux scale
et , consultez Qualifier une ressource d’image pour la taille des targetsize
cibles.
Thème
Le theme
qualificateur est utilisé pour fournir des ressources qui correspondent le mieux au paramètre de mode d’application par défaut, ou au remplacement de votre application à l’aide d’Application.RequestedTheme.
Thème clair de l’interpréteur de commandes et ressources nonplates
Le Mise à jour de mai 2019 de Windows 10 a introduit un nouveau thème « light » pour Windows Shell. Par conséquent, certaines ressources d’application qui étaient précédemment affichées sur un arrière-plan sombre seront désormais affichées sur un arrière-plan clair. Pour les applications qui ont fourni des ressources altform-nonplatées pour les commutateurs de barre des tâches et de fenêtre (Alt+Tab, Affichage des tâches, etc.), vous devez vérifier qu’ils ont un contraste acceptable sur un arrière-plan clair.
Fourniture de ressources spécifiques au thème clair
Les applications qui souhaitent fournir une ressource personnalisée pour le thème clair shell peuvent utiliser un nouveau qualificateur de ressource de formulaire de remplacement : altform-lightunplated
. Ce qualificateur reflète le qualificateur altform-unplated existant.
Considérations relatives au niveau inférieur
Les applications ne doivent pas utiliser le theme-light
qualificateur avec le altform-unplated
qualificateur. Cela entraîne un comportement imprévisible sur RS5 et les versions antérieures de Windows en raison de la façon dont les ressources sont chargées pour la barre des tâches. Sur les versions antérieures de Windows, la version de thème-lumière peut être utilisée de manière incorrecte. Le altform-lightunplated
qualificateur évite ce problème.
Comportement de compatibilité
Pour la compatibilité descendante, Windows inclut la logique permettant de détecter des icônes monochromatiques et de vérifier s’il contraste avec l’arrière-plan prévu. Si l’icône ne répond pas aux exigences de contraste, Windows recherche une version blanche de contraste de la ressource. Si ce n’est pas disponible, Windows revient à utiliser la version plate de la ressource.
API importantes
Rubriques connexes
- Pixels effectifs et facteur d’échelle
- Gérer les ressources avec MRT Core
- Guide pratique pour préparer la localisation
- Localiser vos chaînes d’interface utilisateur
- BCP-47
- Composition des codes régionaux de la Division des statistiques des Nations Unies M49
- Registre de sous-balise de langue IANA
- Ajuster la disposition et les polices, et prendre en charge le sens du flux DàG
Windows developer