WPF アプリケーションのローカライズ
このトピックでは、WPF (Windows Presentation Foundation) アプリケーションをローカライズする手順と、ローカライズに役立つベスト プラクティスについて紹介します。
グローバリゼーションとローカリゼーション
グローバリゼーションとは、さまざまな場所で実行されるアプリケーションを設計および開発することです。 たとえば、グローバリゼーションは、さまざまなカルチャのユーザーのために、ローカライズされたユーザー インターフェイスと地域データをサポートします。 WPF には、自動レイアウト、サテライト アセンブリ、ローカライズされた属性とコメントなどの、グローバリゼーション デザイン機能が用意されています。
ローカリゼーションとは、アプリケーションでサポートする特定のカルチャ用のローカライズ バージョンに、アプリケーション リソースを変換することです。 WPF でローカリゼーションを行う場合には、System.Windows.Markup.Localizer 名前空間の API を使用します。 これらの API は、LocBaml ツールのサンプルのコマンド ライン ツールによって使用されます。 LocBaml を作成および使用する方法について、詳しくは「方法 : アプリケーションをローカライズする」を参照してください。
WPF の UI 設計のベスト プラクティス
WPF ベースの UI を設計するときには、次のようなベスト プラクティスの実装を考慮してください。
UI を XAML で記述します。UI はコードで作成しないようにします。 XAML を使用して UI を作成する場合は、組み込みローカリゼーション API を通じてそれを公開します。
コンテンツのレイアウト時に、絶対位置と固定サイズを使用しないようにします。代わりに、相対位置と自動サイズ設定を使用します。 詳細については、「WPF デザイナーのレイアウト」を参照してください。
SizeToContent プロパティを使用し、幅と高さの設定は Auto のままにします。
UI のレイアウト設定に Canvas コントロールを使用しないようにします。
Grid コントロールとそのサイズ共有機能を使用します。
詳細については、「WPF のグローバリゼーションおよびローカリゼーションの概要」を参照してください。
WPF のローカリゼーションのベスト プラクティス
WPF ベースのアプリケーションをローカライズするとき、次のようなベスト プラクティスの実装を考慮してください。
ローカリゼーション コメントを使用して、ローカライザーに追加のコンテキストを提供します。
ローカリゼーションを制御するには、要素の Uid プロパティを選択的に省略するのではなく、ローカリゼーション属性を使用します。 詳細については、「ローカリゼーション属性とコメント」を参照してください。
XAML で Uid プロパティを追加して確認するには、msbuild /t:updateuid および /t:checkuid を使用します。
詳細については、「WPF のグローバリゼーションおよびローカリゼーションの概要」を参照してください。
参照
処理手順
チュートリアル : サテライト アセンブリからのリソースの読み込み