Ressources d’application et système de gestion des ressourcesApp resources and the Resource Management System

Cette section vous montre comment créer, mettre en package et utiliser les ressources de chaîne, d’image et de fichier de votre application.This section shows you how to author, package, and consume your app's string, image, and file resources. Par exemple, vous pouvez créer un package contenant un fichier avec votre jeu simple qui comprend une définition des niveaux de jeu, puis charger le fichier au moment de l’exécution.For example, you might package a file along with your casual game containing a definition of the game's levels, and load the file at run-time. Nous vous montrons également comment, en conservant vos ressources séparées de la logique de l’application, il est plus facile de localiser et personnaliser votre application pour différents paramètres régionaux, écrans d’appareils, paramètres d’accessibilité et autres contextes d’utilisateur et d’ordinateur.We also show you how maintaining your resources independently of the app's logic makes it easy to localize and customize your app for different locales, device displays, accessibility settings, and other user and machine contexts. Les ressources telles que les chaînes et les images doivent généralement exister dans plusieurs variantes de langue, d’échelle et de contraste.Resources such as strings and images typically need to exist in multiple language, scale, and contrast variants. Pour ce type de ressources, vous pouvez vous appuyer sur le système de gestion des ressources.For resources such as that, you have the support of the Resource Management System.

Il existe deux types de ressource d’application.There are two types of app resource.

  • Une ressource de fichier est une ressource stockée sous la forme d’un fichier sur disque.A file resource is a resource stored as a file on disk. Une ressource de fichier peut contenir une image bitmap, des données XAML, XML, HTML ou tout autre type de données.A file resource can contain a bitmap image, XAML, XML, HTML, or any other kind of data.
  • Une ressource incorporée est une ressource qui est incorporée dans un fichier de ressources contenant.An embedded resource is a resource that is embedded within some containing resource file. L’exemple le plus courant est une ressource de chaîne incorporée dans un fichier de ressources (.resw ou .resjson).The most common example is a string resource embedded within a Resources File (.resw or .resjson).

Pour plus d’informations sur la proposition de valeur de la localisation de votre application, consultez Internationalisation et localisation.For more info about the value proposition of localizing your app, see Globalization and localization.

ArticleArticle DescriptionDescription
Système de gestion des ressourcesResource Management System Lors de la génération, le système de gestion des ressources crée un index de toutes les variantes de ressources qui sont incluses dans le package avec votre application.At build time, the Resource Management System creates an index of all the different variants of the resources that are packaged up with your app. Lors de l’exécution, le système détecte les paramètres en vigueur pour l’utilisateur et l’ordinateur, et charge les ressources les plus appropriées pour ces paramètres.At run-time, the system detects the user and machine settings that are in effect and loads the resources that are the best match for those settings.
Comment le système de gestion des ressources met en correspondance et sélectionne les ressourcesHow the Resource Management System matches and chooses resources Quand une ressource est requise, plusieurs candidats sont susceptibles de correspondre, avec plus ou moins d’exactitude, au contexte de ressource actuel.When a resource is requested, there may be several candidates that match the current resource context to some degree. Le système de gestion des ressources analyse tous les candidats et identifie le meilleur à retourner.The Resource Management System will analyze all of the candidates and determine the best candidate to return. Cette rubrique décrit ce processus en détail et donne des exemples.This topic describes that process in detail and gives examples.
Comment le système de gestion des ressources met en correspondance les balises de langueHow the Resource Management System matches language tags La rubrique précédente (Comment le système de gestion des ressources met en correspondance et sélectionne les ressources) aborde la correspondance entre les qualificateurs de manière générale.The previous topic (How the Resource Management System matches and chooses resources) looks at qualifier-matching in general. Cette rubrique se concentre plus particulièrement sur la correspondance entre les balises de langue.This topic focuses on language-tag-matching in more detail.
Personnaliser vos ressources pour la langue, l’échelle, le contraste élevé et d’autres qualificateursTailor your resources for language, scale, high contrast, and other qualifiers Cette rubrique explique le concept général des qualificateurs de ressource, leur utilisation et le rôle de chacun des noms de qualificateur.This topic explains the general concept of resource qualifiers, how to use them, and the purpose of each of the qualifier names.
Localiser les chaînes dans l’interface utilisateur et le manifeste du package d’applicationLocalize strings in your UI and app package manifest Si vous souhaitez que votre application prenne en charge différentes langues d’affichage et si des opérateurs de chaîne figurent dans votre code, votre balisage XAML ou le manifeste du package d’application, déplacez ces chaînes dans un fichier de ressources (.resw).If you want your app to support different display languages, and you have string literals in your code or XAML markup or app package manifest, then move those strings into a Resources File (.resw). Vous pouvez ensuite effectuer une copie traduite de ce fichier de ressources pour chaque langue prise en charge par votre application.You can then make a translated copy of that Resources File for each language that your app supports.
Charger des images et des ressources adaptées pour la mise à l’échelle, le thème, le contraste élevé et autresLoad images and assets tailored for scale, theme, high contrast, and others Votre application peut charger des fichiers de ressources d’image contenant des images adaptées pour le facteur d’échelle de l’affichage, le thème, le contraste élevé et d’autres contextes d’exécution.Your app can load image resource files containing images tailored for display scale factor, theme, high contrast, and other runtime contexts.
Schémas d’URIURI schemes Vous pouvez utiliser plusieurs schémas d’URI (Uniform Resource Identifier) pour faire référence à des fichiers qui proviennent de votre package d’application, des dossiers de données de votre application ou du cloud.There are several URI (Uniform Resource Identifier) schemes that you can use to refer to files that come from your app's package, your app's data folders, or the cloud. Vous pouvez également utiliser un schéma d’URI pour faire référence à des chaînes chargées à partir des fichiers de ressources (.resw) de votre application.You can also use a URI scheme to refer to strings loaded from your app's Resources Files (.resw).
Préciser les ressources par défaut que votre application utiliseSpecify the default resources that your app uses Si votre application n’a pas les ressources qui correspondent aux paramètres particuliers d’un appareil client, les ressources de l’application par défaut sont utilisées.If your app doesn't have resources that match the particular settings of a customer device, then the app's default resources are used. Cette rubrique explique comment spécifier ce que sont ces ressources par défaut.This topic explains how to specify what those default resources are.
Générer des ressources dans votre package d’application, plutôt que dans un pack de ressourcesBuild resources into your app package, instead of into a resource pack Certains types d’applications (dictionnaires multilingues, outils de traduction, etc.) doivent remplacer le comportement par défaut d’un ensemble d’applications et créer des ressources dans le package d’application plutôt que dans des packages de ressources distincts.Some kinds of apps (multilingual dictionaries, translation tools, etc.) need to override the default behavior of an app bundle, and build resources into the app package instead of having them in separate resource packages. Cette rubrique explique la procédure à suivre.This topic explains how to do that.
API d’indexation de ressources de package (IRP) et systèmes de génération personnalisésPackage resource indexing (PRI) APIs and custom build systems Grâce aux API d’indexation de ressources de package (IRP), vous pouvez développer un système de génération personnalisé pour les ressources de votre application UWP.With the package resource indexing (PRI) APIs, you can develop a custom build system for your UWP app's resources. Le système de génération pourra créer, versionner et vider (en tant que XML) les fichiers d’index de ressources de package (IRP) au niveau de complexité dont votre application UWP a besoin.The build system will be able to create, version, and dump (as XML) package resource index (PRI) files to whatever level of complexity your UWP app needs.
Compiler des ressources manuellement avec MakePri.exeCompile resources manually with MakePri.exe MakePri.exe est un outil en ligne de commande que vous pouvez utiliser pour créer et vider des fichiers IRP.MakePri.exe is a command line tool that you can use to create and dump PRI files. Il est intégré en tant qu’élément de MSBuild dans Microsoft Visual Studio, mais il peut aussi être utilisé pour la création de packages manuellement ou avec un système de génération personnalisé.It is integrated as part of MSBuild within Microsoft Visual Studio, but it could be useful to you for creating packages manually or with a custom build system.
Utiliser le système de gestion des ressources Windows 10 dans une application ou un jeu héritéUse the Windows 10 Resource Management System in a legacy app or game En incluant votre application ou jeu .NET ou Win32 dans un package .msix ou .appx, vous pouvez exploiter le système de gestion des ressources pour charger des ressources d’application adaptées au contexte d’exécution.By packaging your .NET or Win32 app or game as an .msix or .appx package, you can leverage the Resource Management System to load app resources tailored to the run-time context. Cette rubrique détaillée décrit ces techniques.This in-depth topic describes the techniques.

Consultez aussi Prise en charge des notifications de vignettes et toasts pour la langue, la mise à l’échelle et le contraste élevé.Also see Tile and toast notification support for language, scale, and high contrast.