5

WPFでのローカリゼーションに推奨されるアプローチは、LocBamlツールを使用して、ローカライズ可能なアイテムをcsvファイルなどに抽出し、アイテムを目的の言語に翻訳して、このcsvファイルから新しいサテライトアセンブリを再生成することです。ただし、私の実験から、これはresources.resxファイルからの衛星アセンブリの生成と競合しているようです。どちらもリソースを単一のリソースファイルに結合しておらず、既存の衛星アセンブリを単にオーバーライドしているためです。

LocBaml / generateからの出力とresources.resxファイルで実行中のresgenの出力の「マージ」を実行するための推奨されるアプローチ(またはさらに優れた既存のツール)はありますか(デフォルトでは、ビルド時にVSによって実行されます)。同じ問題に取り組んでいる人はいますか?

4

3 に答える 3

3

手動で LocBaml から .resources を生成し、Assembly リンカーを使用して Resx リソースと BAML リソースをマージする必要があります。

プロセスは次のようになります。

LocBaml.exe /generate ..\obj\WpfLocalization.g.en-US.resources 
            /trans:Res\de.csv /out:de /culture:de

REM Combine resource files w/ Assembly Linker
al /template:WpfLocalization.exe 
   /embed:de\WpfLocalization.g.de.resources 
   /embed:..\..\obj\WpfLocalization.Properties.Resources.de.resources   
   /culture:de  /out:de\WpfLocalization.resources.dll

(バッチ ファイル内の 1 行のすべて)。

上記をプロジェクト用にカスタマイズされたバッチ ファイルに入れることができます。LocBaml は、出力ファイルと同じフォルダーにある必要があることに注意してください。これをビルド後のタスクとして追加できます。

于 2009-06-14T08:08:27.143 に答える
1

私の WPF プロジェクトをローカライズするには、 codeplexにあるWPF Localization Extensionプロジェクトを使用することを好みます。

WinForms と同じアプローチを使用でき、LocBaml よりもはるかに簡単に使用できます。

于 2008-11-10T22:41:01.253 に答える
0

少しググってみたところ、LocBaml を使用するいくつかの方法を説明しているこのページが見つかりました。このページには、resources.resx と locbaml によって生成されたリソースを (al.exe を使用して) 1 つのファイルにマージする方法に関する非常に詳細な説明が含まれています。

LocBaml を使用した WPF のローカライズ

このページでは LocBaml を使用する 3 つの方法について説明しており、アプローチ 3 の最後のステップを探していました。

于 2008-11-11T14:38:57.810 に答える