アプリ リソースとリソース管理システムApp resources and the Resource Management System

このセクションでは、アプリの文字列、画像、ファイル リソースを作成、パッケージ化、利用する方法を示します。This section shows you how to author, package, and consume your app's string, image, and file resources. たとえば、カジュアル ゲームと共に、ゲームのレベルの定義が含まれるファイルをパッケージ化し、実行時にそのファイルを読み込むことができます。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. アプリのロジックとは別にリソースを管理することによって、さまざまなロケール、デバイスのディスプレイ、アクセシビリティの設定、その他のユーザーとコンピューターのコンテキストに合わせたアプリのローカライズやカスタマイズが容易になることも説明します。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. 文字列や画像などのリソースには、通常、言語、スケール、コントラストの複数のバリエーションが存在している必要があります。Resources such as strings and images typically need to exist in multiple language, scale, and contrast variants. そのようなリソースについては、リソース管理システムを活用できます。For resources such as that, you have the support of the Resource Management System.

アプリ リソースには、次の 2 種類があります。There are two types of app resource.

  • ファイル リソースは、ディスク上のファイルとして格納されているリソースです。A file resource is a resource stored as a file on disk. ファイル リソースには、ビットマップ画像、XAML、XML、HTML、またはその他のあらゆる種類のデータを含めることができます。A file resource can contain a bitmap image, XAML, XML, HTML, or any other kind of data.
  • 埋め込みリソースは、特定の格納するリソース ファイル内に埋め込まれたリソースです。An embedded resource is a resource that is embedded within some containing resource file. 最も一般的な例は、リソース ファイル (.resw または .resjson) に埋め込まれた文字列リソースです。The most common example is a string resource embedded within a Resources File (.resw or .resjson).

アプリのローカライズの価値提案の詳細については、「グローバリゼーションとローカライズ」をご覧ください。For more info about the value proposition of localizing your app, see Globalization and localization.

記事Article 説明Description
リソース管理システムResource Management System ビルド時に、リソース管理システムは、アプリとしてパッケージ化されているリソースのさまざまなバリエーションすべてのインデックスを作成します。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. 実行時に、システムは、有効になっているユーザーやコンピューターの設定を検出し、それらの設定に最適なリソースを読み込みます。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.
リソース管理システムでのリソースの照合と選択の仕組みHow the Resource Management System matches and chooses resources リソースを要求すると、現在のリソース コンテキストにある程度一致するリソース候補がいくつか存在する場合があります。When a resource is requested, there may be several candidates that match the current resource context to some degree. リソース管理システムはすべての候補を分析して、返すのに最もよい候補を決定します。The Resource Management System will analyze all of the candidates and determine the best candidate to return. このトピックでは、そのプロセスの詳細について説明し、例を示します。This topic describes that process in detail and gives examples.
リソース管理システムでの言語タグの照合の仕組みHow the Resource Management System matches language tags 前のトピック (「リソース管理システムでのリソースの照合と選択の仕組み」) では、一般的な修飾子の照合について説明しました。The previous topic (How the Resource Management System matches and chooses resources) looks at qualifier-matching in general. このトピックでは、言語タグの照合についてさらに詳しく説明します。This topic focuses on language-tag-matching in more detail.
言語、スケール、ハイ コントラスト、その他の修飾子用にリソースを調整するTailor your resources for language, scale, high contrast, and other qualifiers このトピックでは、リソース修飾子の一般概念、使用方法、各修飾子名の目的について説明します。This topic explains the general concept of resource qualifiers, how to use them, and the purpose of each of the qualifier names.
UI とアプリ パッケージ マニフェスト内の文字列をローカライズするLocalize strings in your UI and app package manifest アプリで複数の表示言語をサポートする必要があり、コード、XAML マークアップ、アプリ パッケージ マニフェスト内に文字列リテラルが含まれている場合は、その文字列をリソース ファイル (.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). アプリでサポートする各言語用に、このリソース ファイルを翻訳したコピーを作成することができます。You can then make a translated copy of that Resources File for each language that your app supports.
スケール、テーマ、ハイ コントラストなどに合わせた画像と資産の読み込みLoad images and assets tailored for scale, theme, high contrast, and others アプリで、表示倍率、テーマ、ハイ コントラスト、その他の実行時のコンテキストに合わせた画像を含む画像リソース ファイルを読み込むことができます。Your app can load image resource files containing images tailored for display scale factor, theme, high contrast, and other runtime contexts.
URI スキームURI schemes アプリのパッケージ、アプリのデータ フォルダー、またはクラウドからのファイルを参照するために使用できる URI (Uniform Resource Identifier) スキームはいくつかあります。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. また、URI スキームを使用して、アプリのリソース ファイル (.resw) から読み込まれた文字列を参照することもできます。You can also use a URI scheme to refer to strings loaded from your app's Resources Files (.resw).
アプリで使用する既定のリソースを指定するSpecify the default resources that your app uses アプリにユーザーのデバイスの特定の設定に一致するリソースがない場合、アプリの既定のリソースが使用されます。If your app doesn't have resources that match the particular settings of a customer device, then the app's default resources are used. このトピックでは、これらの既定のリソースの内容を指定する方法について説明します。This topic explains how to specify what those default resources are.
リソースをリソース パックではなくアプリ パッケージに組み込むBuild resources into your app package, instead of into a resource pack 一部の種類のアプリ (多言語の辞書、翻訳ツールなど) は、アプリ バンドルの既定の動作をオーバーライドし、別のリソース パッケージではなくアプリ パッケージにリソースを組み込む必要があります。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. このトピックでは、その方法について説明します。This topic explains how to do that.
パッケージ リソース インデックス (PRI) API とカスタム ビルド システムPackage resource indexing (PRI) APIs and custom build systems パッケージ リソース インデックス (PRI) API を使用すると、UWP アプリのリソース用にカスタム ビルド システムを開発することができます。With the package resource indexing (PRI) APIs, you can develop a custom build system for your UWP app's resources. ビルド システムでは、UWP アプリが必要とする複雑さのレベルにかかわらず、パッケージ リソース インデックス (PRI) ファイルを (XML として) 作成、バージョン管理、ダンプすることができます。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.
MakePri.exe を使用して手動でリソースをコンパイルするCompile resources manually with MakePri.exe MakePri.exe は、PRI ファイルを作成およびダンプするために使用できるコマンド ライン ツールです。MakePri.exe is a command line tool that you can use to create and dump PRI files. このツールは、Microsoft Visual Studio の MSBuild の一部として統合されていますが、パッケージを手動で作成したり、カスタム ビルド システムを使って作成する場合にも使うことができます。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.
レガシ アプリやゲームで Windows 10 のリソース管理システムを使用するUse the Windows 10 Resource Management System in a legacy app or game .NET または Win32 アプリやゲームを AppX パッケージとしてパッケージ化することにより、リソース管理システムを活用して実行時のコンテキストに合わせたアプリ リソースを読み込むことができます。By packaging your .NET or Win32 app or game as an AppX package, you can leverage the Resource Management System to load app resources tailored to the run-time context. この詳細なトピックでは、この手法について説明します。This in-depth topic describes the techniques.

言語、スケール、ハイ コントラストに合わせたタイルとトースト通知のサポート」も参照してください。Also see Tile and toast notification support for language, scale, and high contrast.