グローバリゼーションとローカライズ

Windows は世界中で利用されており、言語、地域、文化の異なる多様なユーザーを対象としています。 アプリはさまざまな言語を使用するユーザーによって、さまざまな国や地域で使用されます。 中には複数の言語を話すユーザーもいます。 そのため、言語、地域、文化のシステム設定の多くの組み合わせを含む構成でアプリが実行されます。 グローバリゼーションローカライズによってアプリの適応性を高めることにより、潜在的な市場を拡大することができます。

アプリを世界に向けて準備する方法を示す短いビデオについては、「グローバリゼーションとローカライズの概要」を参照してください。

グローバリゼーションとは、カルチャ固有の変更やカスタマイズを必要とせずに、さまざまなグローバル市場 (言語やカルチャ構成が異なるシステム上) で適切に動作するようにアプリを設計および開発するプロセスです。

  • 文字列を操作するときにはカルチャを考慮します。たとえば、文字列を比較する前に、文字列の大文字と小文字を変更しないでください。
  • 現在のカルチャに適したカレンダーを使用します。
  • Globalization API を使って、国や地域に応じた適切な形式のデータ (数値、日付、時刻、通貨など) を表示します。
  • カルチャによって、テキストやその他のデータの照合 (並べ替え) のルールが異なることを考慮します。

コードは、アプリでサポートすることにした任意のカルチャでも同様に正常に動作する必要があります。 理想的には、コードは任意の言語、地域、カルチャのコンテキスト内で同様に正常に動作します。 アプリの機能をグローバル化する最も効率的な方法は、カルチャ/ロケールの概念を使用することです。 カルチャ/ロケールとは、特定の言語と地域に固有のルールのセットとデータのセットです。 これらのルールおよびデータには、次の情報が含まれます。

  • 文字分類
  • 書記体系
  • 日付と時刻の形式
  • 数値、通貨、太さ、および測定の表記規則
  • 並べ替え規則

注意

Windows オペレーティング システムのバージョンでサポートされているロケール名の一覧については、「Windows ロケール識別子 (LCID) リファレンス」の「付録 A:製品の動作」に記載されている表の言語タグ列を参照してください。

ローカライズの可否は、ローカライズ用にグローバル化したアプリを準備し、そのアプリがローカライズできる状態であることを検証するプロセスです。 適切にアプリをローカライズ可能にすることは、後続のローカライズ プロセスでアプリの機能上の欠陥が発生しないことを意味します。 ローカライズ可能なアプリの最も重要な特性は、その実行可能コードが、アプリのローカライズ可能なリソースから明確に区別されていることです。

  • 異なる言語に翻訳された文字列は、長さが大きく異なる場合があります。 そのため、異なるテキストの長さとフォント サイズがラベルとテキストの入力コントロールに対応するように UI を設計します。
  • テキストまたは文化的に重要な内容をイメージに含めないようにしてください。
  • 文字列や文化に依存するイメージをアプリのコードとマークアップにハードコーディングしないでください。 代わりに、アプリのビルドされたバイナリとは関係なくさまざまな地域市場に適応できるように文字列および画像リソースとして保存してください。
  • アプリを擬似言語でローカライズすると、ローカライズの可否に関する問題が明らかになります。

ローカライズは、アプリのサポート対象となる特定の地域市場の言語、文化、政治の要件に合うようにアプリのローカライズ可能なリソースを適応または変換するプロセスです。 アプリをローカライズする段階に達するまで、アプリがローカライズ可能であれば、このプロセス中にロジックを変更する必要はありません。

  • 新しい市場のためにアプリの文字列リソースとその他のアセットを翻訳します。
  • 文化に依存するイメージを必要に応じて変更します。
  • ファイルは、言語とは別にユーザーの地域によっても異なることがあります。 たとえば、ユーザーの位置によって地図にはさまざまな境界がありますが、ラベルはユーザーの言語に従う必要があります。

ほとんどのローカライズ チームは、プロセスを支援するために特別なツールを使用します。 たとえば、繰り返し出現する文字列の翻訳を再使用します。

[アーティクル] 説明
グローバリゼーションのガイドライン 言語とカルチャの構成が異なるシステムで適切に機能するようにアプリを設計して開発します。
ユーザー プロファイルの言語とアプリ マニフェストの言語について このトピックでは、「ユーザー プロファイルの言語の一覧"、「アプリ マニフェストの言語の一覧"、「アプリの実行時の言語の一覧」という用語を定義します。 これらの用語は、この機能領域のこのトピックおよびその他のトピックで使用しますので、意味を把握しておくことが重要です。
日付、時刻、数値の形式のグローバル化 日付、時刻、数値、電話番号、通貨を適切に書式設定することで、グローバル対応のアプリを設計します。 これを行うと、後でアプリを世界市場の他のカルチャ、地域、言語に適応させることができます。
テンプレートとパターンを使った日付と時刻の書式設定 Windows.Globalization.DateTimeFormatting 名前空間のクラスでカスタムのテンプレートとパターンを使うと、日付と時刻を好みの形式で表示できます。
レイアウトやフォントの調整と RTL のサポート RTL (右から左) のテキストの方向を含め、複数の言語のレイアウトやフォントをサポートするアプリを設計します。
NumeralSystem 値 ここでは、Windows.Globalization 名前空間のさまざまなクラスの NumeralSystem プロパティに使用できる値を示します。
アプリをローカライズ可能にする ローカライズされたアプリは、アプリで機能上の欠陥を生じさせることなく他の市場、言語、または地域にローカライズできるアプリです。 ローカライズ可能なアプリの最も重要な特性は、その実行可能コードが、アプリのローカライズ可能なリソースから明確に区別されていることです。
国際フォント このトピックでは、米国英語以外の言語にローカライズされる Windows アプリで使用できるフォントの一覧を示します。
双方向テキストに対応したアプリを設計する 左から右方向および右から左方向の書記体系のスクリプトを組み合わせることができるように、双方向テキスト サポート (BiDi) を備えたアプリを設計します。
多言語アプリ ツールキット 4.0 の使用 Microsoft Visual Studio 2017 以降には、多言語アプリ ツールキット (MAT) 4.0 が統合されています。そのため、Windows アプリで翻訳がサポートされ、翻訳ファイルを管理したり、エディター ツールを利用したりできます。
多言語アプリ ツールキット 4.0 に関する FAQ とトラブルシューティング このトピックでは、多言語アプリ ツールキット (MAT) 4.0 に関連したよくある質問と問題の回答を示します。
UTF-8 コード ページの使用 UTF-8 は、国際化のためのユニバーサル コード ページです。
アプリケーションの新元号対応 2019 年 5 月に行われる改元と、アプリケーションでの対応方法について説明します。