Os recursos de aplicativo e o Sistema de Gerenciamento de RecursosApp resources and the Resource Management System

Esta seção mostra como criar, empacotar e consumir recursos de arquivo, imagem e cadeia de caracteres do aplicativo.This section shows you how to author, package, and consume your app's string, image, and file resources. Por exemplo, você pode empacotar um arquivo com seu jogo casual que contém uma definição dos níveis do jogo e carregar o arquivo em tempo de execução.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. Mostramos também como manter os recursos, independentemente da lógica do aplicativo, facilita a localização e a personalização do aplicativo para diferentes localidades, telas de dispositivo, configurações de acessibilidade e outros contextos de usuário e computador.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. Recursos como cadeias de caracteres e imagens normalmente precisam existir em vários idiomas, escala e variantes de contraste.Resources such as strings and images typically need to exist in multiple language, scale, and contrast variants. Para recursos desse tipo, você tem o suporte do Sistema de Gerenciamento de Recursos.For resources such as that, you have the support of the Resource Management System.

Existem dois tipos de recurso de aplicativo.There are two types of app resource.

  • Um recurso de arquivo é um recurso armazenado como um arquivo no disco.A file resource is a resource stored as a file on disk. O recurso de arquivo pode conter uma imagem de bitmap, XAML, XML, HTML ou qualquer outro tipo de dados.A file resource can contain a bitmap image, XAML, XML, HTML, or any other kind of data.
  • Um recurso inserido é um recurso incorporado em algum arquivo de recurso que pode receber outros itens.An embedded resource is a resource that is embedded within some containing resource file. O exemplo mais comum é um recurso de cadeia de caracteres inserido em um arquivo de recursos (.resw ou. resjson).The most common example is a string resource embedded within a Resources File (.resw or .resjson).

Para obter mais informações sobre a proposta de valor de localização do aplicativo, consulte Globalização e localização.For more info about the value proposition of localizing your app, see Globalization and localization.

ArtigoArticle DescriçãoDescription
Sistema de Gerenciamento de RecursosResource Management System No momento do build, o Sistema de Gerenciamento de Recursos cria um índice de todas as variantes dos recursos que são empacotados com o aplicativo.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. Em tempo de execução, o sistema detecta as configurações do usuário e do computador que estão em vigor e carrega os recursos que representam a melhor correspondência para essas configurações.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.
Como o Sistema de Gerenciamento de Recursos faz a correspondência dos recursos e os escolheHow the Resource Management System matches and chooses resources Quando um recurso é solicitado, pode haver vários candidatos que correspondam em um certo grau ao contexto de recurso atual.When a resource is requested, there may be several candidates that match the current resource context to some degree. O Sistema de Gerenciamento de Recursos analisará todos os candidatos e determinará o melhor deles para ser retornado.The Resource Management System will analyze all of the candidates and determine the best candidate to return. Este tópico descreve detalhadamente esse processo e fornece exemplos.This topic describes that process in detail and gives examples.
Como o Sistema de Gerenciamento de Recursos faz a correspondência de marcas de idiomaHow the Resource Management System matches language tags O tópico anterior (Como o Sistema de Gerenciamento de Recursos faz a correspondência dos recursos e os escolhe) analisa a correspondência de qualificador em geral.The previous topic (How the Resource Management System matches and chooses resources) looks at qualifier-matching in general. Este tópico aborda a correspondência de marcação de idioma mais detalhadamente.This topic focuses on language-tag-matching in more detail.
Personalizar os recursos de idioma, escala, alto contraste e outros qualificadoresTailor your resources for language, scale, high contrast, and other qualifiers Este tópico descreve o conceito geral dos qualificadores de recurso, como usá-los e a finalidade de cada nome de qualificador.This topic explains the general concept of resource qualifiers, how to use them, and the purpose of each of the qualifier names.
Localizar cadeias de caracteres na interface do usuário e no manifesto do pacote do aplicativoLocalize strings in your UI and app package manifest Se você deseja que o aplicativo dê suporte a diferentes idiomas de exibição e tem literais de cadeia de caracteres no código, na marcação XAML ou no manifesto do pacote do aplicativo, mova essas cadeias de caracteres para um arquivo de recursos (.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). Em seguida, você poderá fazer uma cópia traduzida desse arquivo de recursos para cada idioma ao qual o aplicativo dê suporte.You can then make a translated copy of that Resources File for each language that your app supports.
Carregar imagens e ativos personalizados para escala, tema, alto contraste e outrosLoad images and assets tailored for scale, theme, high contrast, and others O aplicativo pode carregar arquivos de recurso de imagem contendo imagens personalizadas para fator de escala de exibição, tema, alto contraste e outros contextos de runtime.Your app can load image resource files containing images tailored for display scale factor, theme, high contrast, and other runtime contexts.
Esquemas de URIURI schemes Há vários esquemas de URI (Uniform Resource Identifier) que você pode usar para fazer referência aos arquivos que vêm no conjunto de aplicativo, nas pastas de dados do seu aplicativo ou na nuvem.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. Você também pode usar um esquema de URI para fazer referência a cadeias de caracteres carregadas dos arquivos de recursos (.resw) do aplicativo.You can also use a URI scheme to refer to strings loaded from your app's Resources Files (.resw).
Especificar os recursos padrão usados pelo aplicativoSpecify the default resources that your app uses Se o aplicativo não tiver recursos que correspondam às configurações específicas de um dispositivo de cliente, os recursos padrão do aplicativo serão usados.If your app doesn't have resources that match the particular settings of a customer device, then the app's default resources are used. Este tópico explica como especificar quais são esses recursos padrão.This topic explains how to specify what those default resources are.
Crie recursos no pacote do aplicativo, não em um pacote de recursosBuild resources into your app package, instead of into a resource pack Alguns tipos de aplicativos (dicionários multilíngues, ferramentas de tradução etc.) precisam substituir o comportamento padrão de um lote de aplicativo e criar recursos no pacote do aplicativo, em vez de tê-los em pacotes de recursos separados.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. Este tópico explica como fazer isso.This topic explains how to do that.
APIs de PRI (índice de recurso do pacote) e sistemas de build personalizadosPackage resource indexing (PRI) APIs and custom build systems Com as APIs de PRI (índice de recurso do pacote), você pode desenvolver um sistema de build personalizado para recursos do aplicativo UWP.With the package resource indexing (PRI) APIs, you can develop a custom build system for your UWP app's resources. O sistema de build será capaz de criar, controlar a versão e despejar os arquivos de PRI (índice de recurso do pacote) (como XML) em qualquer nível de complexidade exigido pelo aplicativo UWP.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.
Compilar recursos manualmente com o MakePri.exeCompile resources manually with MakePri.exe O MakePri.exe é uma ferramenta de linha de comando que você pode usar para criar e despejar arquivos PRI.MakePri.exe is a command line tool that you can use to create and dump PRI files. Ele é integrado como parte do MSBuild no Microsoft Visual Studio, mas pode ser útil para criar pacotes manualmente ou com um sistema de build personalizado.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.
Use o Sistema de Gerenciamento de Recursos do Windows 10 em um aplicativo ou jogo herdadoUse the Windows 10 Resource Management System in a legacy app or game Empacotando o aplicativo ou jogo .NET ou Win32 como um pacote .msix ou .appx, você pode aproveitar o Sistema de Gerenciamento de Recursos para carregar recursos de aplicativo personalizados para o contexto de runtime.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. Este tópico detalhado descreve as técnicas.This in-depth topic describes the techniques.

Consulte também Suporte a blocos e notificações do sistema para idioma, escala e alto contraste.Also see Tile and toast notification support for language, scale, and high contrast.