WPF アプリケーションのローカライズ
更新 : 2007 年 11 月
このトピックでは、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 のグローバリゼーションおよびローカリゼーションの概要」を参照してください。
参照
処理手順
チュートリアル : サテライト アセンブリからのリソースの読み込み