WPFのローカライズシリーズ、今回はResourceDictionaryを使用して
<TextBlock.Text>の内容を英語、または日本語で表示します。

まずは英語、日本語それぞれのResourceDictionaryを作成します。

リソースファイルは下記フォルダ構成でプロジェクトに追加します。
【プロジェクト】\Forms\Languages\【言語】\【ファイル名】.xaml

【言語】フォルダは米国英語ならen-US、日本語ならja-JPという名称で作成します。

ResourceDictionary内に追加する項目はSystem.String型で作成するため
XML名前空間に下記のようにSystem参照を追加します。

xmlns:sys="clr-namespace:System;assembly=mscorlib"

Systemはassemblyの値がSystemとmscorlibの2種類ありますが
System.String型が宣言されているのはmscorlibの方なので注意してください。

System.String型で項目名:Messageを追加します。



Viewで作成したResourceDictionaryの参照設定を行います。

<Window.Resources>に<ResourceDictionary>を追加し
Sourceに作成したResourceDictionaryのパスを入力します。

<TextBlock.Text>にて{StaticResource Message}と入力すれば完了です。


プログラムを起動してみます。
01

上記XAMLは英語(en-US)を表示しますが、ja-JPに書き換えると日本語を表示します。
02

ResourceDictionaryを参照する方法は以上ですが、現状プログラム上で対応する必要があり
多言語表示に対応したとはいえません。

次回はプログラム動作中に表示言語を切り替える方法を考えます。