.NET Framework ベースの国際対応アプリケーションの概要
Visual Studio における国際対応アプリケーションの作成には、グローバリゼーションとローカリゼーションの 2 つの要素があります。グローバリゼーションとは、異なるカルチャに対応できるアプリケーションをデザインするプロセスです。ローカリゼーションとは、特定のカルチャに合わせてリソースを翻訳するプロセスです。各国のユーザーに向けたアプリケーション デザインの一般的な情報については、「推奨される国際対応アプリケーション開発手順」を参照してください。
.NET Framework のローカリゼーション モデルは、アプリケーション コードとフォールバック リソースの両方を含むメイン アセンブリで構成されています。フォールバック リソースとは、アプリケーションの開発に使用されたのと同じ言語による文字列、イメージ、およびその他のオブジェクトを指します。ローカライズされた各アプリケーションには、サテライト アセンブリが含まれます。これは、ローカライズされたリソースだけを含むアセンブリです。メイン アセンブリには常にフォールバック リソースが含まれるため、ローカライズされたサテライト アセンブリ内にリソースが見つからない場合、ResourceManager はそのリソースを階層的に読み込もうとし、最終的にはメイン アセンブリ内のリソースに戻ります。リソースのフォールバック システムの詳細については、「ローカリゼーション用リソースの階層編成」を参照してください。
Microsoft のローカライズされた製品すべてに関する用語集も、ローカリゼーション リソースとして使用するよう考えてください。この CSV ファイルには、12,000 個の英語の用語と、その用語を 59 種類の言語で翻訳したものが含まれています。用語集は、このパッケージは、「Microsoft Terminology Translations」からダウンロードできます。
Windows フォーム アプリケーションのプロジェクト システムでは、フォールバック リソース ファイルと、UI カルチャごとのリソース ファイルの両方を生成できます。フォールバック リソース ファイルはメイン アセンブリに組み込まれます。カルチャ固有のリソース ファイルは、UI カルチャごとに 1 つのサテライト アセンブリに組み込まれます。プロジェクトをビルドすると、リソース ファイルは Visual Studio XML 形式 (.resx) から中間バイナリ形式 (.resources) にコンパイルされ、サテライト アセンブリに埋め込まれます。
Windows フォームと Web フォームのどちらのプロジェクト システムでも、アセンブリ リソース ファイル テンプレートを使用してリソース ファイルをビルドし、リソースにアクセスし、プロジェクトをビルドができます。サテライト アセンブリはメイン アセンブリと共に作成されます。
ローカライズされたアプリケーションを実行するときは、その外観が 2 つのカルチャ値によって決定されます。カルチャとは、言語、環境、および文化的な慣習に関連する、ユーザー設定情報のセットです。どのリソースを読み込むかは UI カルチャ設定によって決まります。UI カルチャは、Web.config ファイルとページ ディレクティブの UICulture として設定され、Visual Basic または Visual C# のコードでは CurrentUICulture として設定されます。カルチャ設定は、日付、数値、通貨などの値の形式を決定します。カルチャは、Web.config ファイルとページ ディレクティブの Culture として設定され、Visual Basic または Visual C# のコードでは CurrentCulture として設定されます。