- 追加された行はこの色です。
- 削除された行はこの色です。
- Tips/WPF へ行く。
* 概要 [#s9ff04d9]
WPF とか XAML とか C# とか。未整理。
#contentsx(depth=1:2)
* 多言語対応 [#m6efdc36]
** 基本形 [#k6e52cd1]
リソースファイルを言語ごとに作成する。ファイル名の命名に注意。
<プロジェクト>
+- Properties
+- Resource.resx
+- Resource.ja-JP.resx
ビルドすると Resource.resx は本体埋め込み、それ以外は言語ごとに DLL ファイルになる。
<出力先>
+- <アセンブリ名>.exe
+- ja-JP/
+- <アセンブリ名>.resources.dll
*** 所感 [#n65e15a9]
「日本語と英語以外に対応する気なんてねーよ」って場合、別ファイル(*.dll)に分けるのは大袈裟な気がする。まぁ勝手に分けられちゃうんだけど。
** 応用?形 [#s053fb68]
DLL ファイルを作らせずに実行可能ファイルに全部埋め込む方法。下記参考 URI 参照。他にも方法あるんかな?
*** 所感 [#f329fe89]
リンク先の例で言うと、StringTable と StringTable_en_US の間には継承関係が無い。同じインターフェースの実装というわけでもない。同名のプロパティがあるというだけ。
なので XAML に Binding する分には良いけど、ソースコード中でリソース参照する際は、現在のカルチャーで分岐とかしなきゃならん。実にイケてない。
それとも一手間加えればこの辺うまいこと解決できるんかな…
** 参考 URI [#m2f4838d]
- [[多言語対応したアプリを1つのexeファイルで実現したい:http://social.msdn.microsoft.com/Forums/ja-JP/wpfja/thread/a68caf09-4ec3-421c-86fc-1a7b4936b504/]]