次の方法で共有


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 のグローバリゼーションおよびローカリゼーションの概要」を参照してください。

参照

処理手順

チュートリアル : サテライト アセンブリからのリソースの読み込み

LocBaml ツールのサンプル

概念

方法 : アプリケーションをローカライズする

その他の技術情報

WPF デザイナを使用した配置とローカリゼーション

グローバライズとローカライズ