Risorse dell'app e Sistema gestione risorseApp resources and the Resource Management System

Questa sezione illustra come creare, inserire in un pacchetto e usare le risorse di tipo stringhe, immagini e file dell'app.This section shows you how to author, package, and consume your app's string, image, and file resources. Potresti ad esempio inserire un file in un pacchetto insieme ai giochi che contengono una definizione dei livelli di gioco e caricare il file in fase di esecuzione.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. Illustreremo anche come la gestione delle risorse indipendente dalla logica dell'app rende più semplice localizzare e personalizzare la tua app per differenti impostazioni locali, schermi di dispositivo, impostazioni di accessibilità e altri contesti utente e di computer.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. In genere le risorse come le stringhe e le immagini devono essere presenti in più varianti di lingua, scala e contrasto.Resources such as strings and images typically need to exist in multiple language, scale, and contrast variants. Per risorse come queste, puoi usare il supporto del Sistema gestione risorse .For resources such as that, you have the support of the Resource Management System.

Esistono due tipi di risorse di app.There are two types of app resource.

  • Una risorsa file viene archiviata come file su disco.A file resource is a resource stored as a file on disk. Può contenere un'immagine bitmap, XAML, XML, HTML o qualsiasi altro tipo di dati.A file resource can contain a bitmap image, XAML, XML, HTML, or any other kind of data.
  • Una risorsa incorporata è incorporata all'interno di un file di risorse che la contiene.An embedded resource is a resource that is embedded within some containing resource file. L'esempio più comune è una risorsa stringa incorporata all'interno di un file di risorse (con estensione resw o resjson).The most common example is a string resource embedded within a Resources File (.resw or .resjson).

Per altre informazioni sulla proposta di valore associata alla localizzazione dell'app, vedi Globalizzazione e localizzazione.For more info about the value proposition of localizing your app, see Globalization and localization.

ArticoloArticle DescrizioneDescription
Sistema gestione risorseResource Management System In fase di compilazione, il Sistema gestione risorse crea un indice di tutte le varianti diverse delle risorse disponibili nel pacchetto della tua app.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. In fase di esecuzione, il sistema rileva le impostazioni utente e del computer in vigore e carica le risorse che offrono la migliore corrispondenza con tali impostazioni.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.
Come vengono trovate e scelte le risorse dal Sistema gestione risorseHow the Resource Management System matches and chooses resources Quando viene richiesta una risorsa, potrebbero esserci diversi candidati che corrispondono in qualche misura al contesto corrente.When a resource is requested, there may be several candidates that match the current resource context to some degree. Il Sistema gestione risorse analizza tutti i candidati e individua quello migliore da restituire.The Resource Management System will analyze all of the candidates and determine the best candidate to return. Questo argomento descrive in dettaglio il processo e fornisce alcuni esempi.This topic describes that process in detail and gives examples.
Come viene eseguita la corrispondenza dei tag di lingua dal Sistema gestione risorseHow the Resource Management System matches language tags Nell'argomento precedente (Come vengono trovate e scelte le risorse dal Sistema gestione risorse) è stata esaminata la corrispondenza dei qualificatori in generale.The previous topic (How the Resource Management System matches and chooses resources) looks at qualifier-matching in general. Questo argomento si focalizza sulla corrispondenza dei tag di lingua in modo più dettagliato.This topic focuses on language-tag-matching in more detail.
Personalizzare le risorse di lingua, scala, contrasto elevato e altri qualificatoriTailor your resources for language, scale, high contrast, and other qualifiers Questo argomento descrive il concetto generale di qualificatori di risorse, il relativo uso e lo scopo di ognuno dei nomi qualificatori.This topic explains the general concept of resource qualifiers, how to use them, and the purpose of each of the qualifier names.
Localizzare le stringhe dell'interfaccia utente nel manifesto del pacchetto dell'appLocalize strings in your UI and app package manifest Se vuoi supportare lingue di visualizzazione diverse nell'app e hai stringhe letterali nel codice o nel markup XAML oppure nel manifesto del pacchetto dell'app, sposta le stringhe in un file di risorse (con estensione 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). Puoi quindi creare una copia tradotta del file di risorse per ogni lingua supportata dall'app.You can then make a translated copy of that Resources File for each language that your app supports.
Caricare immagini e asset personalizzati per scala, tema, contrasto elevato e altroLoad images and assets tailored for scale, theme, high contrast, and others La tua app può caricare file di risorse immagine contenenti immagini personalizzate per il fattore di scala dello schermo, il tema, il contrasto elevato e altri contesti di runtime.Your app can load image resource files containing images tailored for display scale factor, theme, high contrast, and other runtime contexts.
Schemi URIURI schemes Esistono diversi schemi URI (Uniform Resource Identifier) che puoi usare per fare riferimento ai file forniti dal pacchetto dell'app, dalle cartelle di dati dell'app o dal 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. Puoi inoltre usare uno schema URI per fare riferimento a stringhe caricate dai file di risorse (con estensione resw) dell'app.You can also use a URI scheme to refer to strings loaded from your app's Resources Files (.resw).
Specificare le risorse predefinite usate dall'appSpecify the default resources that your app uses Se la tua app non include risorse che corrispondono alle impostazioni specifiche di un dispositivo cliente, vengono usate le risorse predefinite dell'app.If your app doesn't have resources that match the particular settings of a customer device, then the app's default resources are used. Questo argomento illustra come specificare quali sono queste risorse predefinite.This topic explains how to specify what those default resources are.
Creare risorse nel pacchetto dell'app invece che nel pacchetto di risorseBuild resources into your app package, instead of into a resource pack Alcuni tipi di app (dizionari multilingue, strumenti di traduzione e così via) devono sostituire il comportamento predefinito di un bundle dell'app e creare risorse nel pacchetto di app invece che in pacchetti di risorse separati.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. Questo argomento spiega come fare.This topic explains how to do that.
API per l'indicizzazione delle risorse del pacchetto e sistemi di compilazione personalizzatiPackage resource indexing (PRI) APIs and custom build systems Con le API di indicizzazione delle risorse del pacchetto puoi sviluppare un sistema di compilazione personalizzato per le risorse dell'app UWP.With the package resource indexing (PRI) APIs, you can develop a custom build system for your UWP app's resources. Il sistema di compilazione sarà in grado di creare, impostare la versione e sottoporre al dump (come XML) i file di indice delle risorse del pacchetto con qualsiasi livello di complessità richiesto dall'app 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.
Compilare le risorse manualmente con MakePri.exeCompile resources manually with MakePri.exe MakePri.exe è uno strumento della riga di comando che puoi usare per creare file PRI di dump.MakePri.exe is a command line tool that you can use to create and dump PRI files. È integrato nell'ambito di MSBuild all'interno di Microsoft Visual Studio e potrebbe essere utile per la creazione manuale di pacchetti o con un sistema di compilazione personalizzato.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.
Usare il Sistema gestione risorse di Windows 10 in un'app legacy o in un giocoUse the Windows 10 Resource Management System in a legacy app or game Creando il pacchetto del gioco o dell'app .NET o Win32 come pacchetto .msix o .appx, puoi usare il sistema di gestione delle risorse per caricare le risorse dell'app personalizzate per il contesto di 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. Questo argomento descrive dettagliatamente le tecniche.This in-depth topic describes the techniques.

Vedi anche Supporto delle notifiche di riquadri e avvisi popup per lingua, fattore di scala e contrasto elevato.Also see Tile and toast notification support for language, scale, and high contrast.