コンテンツ、ライブラリ、Web サービスを国際化する方法 (HTML)
[ この記事は、Windows ランタイム アプリを作成する Windows 8.x および Windows Phone 8.x 開発者を対象としています。Windows 10 向けの開発を行っている場合は、「最新のドキュメント」をご覧ください]
外部のコンポーネントや Web サービスとの一貫性を保ってアプリのコンテンツが国際化されるようにします。
手順
アプリが外部のコンポーネントとやり取りする場合は、外部コンポーネントの UI とアプリの UI との一貫性を保つことをお勧めします。resource management system または Globalization API (Windows.Globalization と Windows.Globalization.NumberFormatting) を利用するコンポーネント (WinJS コントロールなど) は、一貫性のあるアプリケーション言語を自動的に読み込みます。
利用するアプリケーションと Web サービスは、アプリと同じ程度ローカライズされている場合があります。ローカライズの程度には、サポートされる言語の数やローカライズされる情報などが含まれます。この同じ程度のローカライズは、Web サービスをアプリと一緒に制御する場合に特に当てはまります。この場合には、ユーザーの言語プロファイル リストに設定されている HTTP Accept-Language ヘッダーを利用して、アプリケーション言語の動作を模倣できます。
ただし、使っているアプリとローカライズの程度が異なるコンポーネント (アプリケーションよりも多い言語または少ない言語にローカライズされるコンポーネント) の中には、ローカライズに別のメカニズムを使っているものもありえます。顕著なものとして、パブリック Web サービスやコード ライブラリが挙げられます。このような場合は、まず自分のアプリ内で使われる言語をアプリで解決したうえで、サービスへの要求を行い、その後そのサービスで使う言語についてアプリで明確にすることをお勧めします。
便利な方法として、たとえば Web サービスまたはライブラリで文字列リソースとしてサポートされる可能性がある URL または API パラメーターを指定して、それらのパラメーターをローカルに検索した後、要求することができます。この方法では、ローカル アプリケーションと同じ言語照合ロジックを利用して、UI の正しい言語をサービスから選びます。
たとえば、天気予報アプリが現在 UI をフランス語 (フランス) で表示していても、ユーザー設定リスト内のユーザーのトップ言語はドイツ語ということがあります。アプリ内での一貫性を保持するために、アプリがサービスに対して明示的にフランス語 (フランス) を要求する必要がある場合があります。
注 このトピックについてのシナリオが含まれた「アプリ リソースとローカライズのサンプル」をご覧ください。