多言語WPFアプリケーションプロジェクトテンプレート

はじめに


WPFでアプリケーションをローカライズするのは簡単な作業ではありません。 ほとんどすべてのWPFローカライズチュートリアルには、ローカライズされたアプリケーションを実装するための詳細と手動の手順が豊富にあります。



既存のソリューション


Microsoftローカライズガイドに記載されているLocBamlユーティリティを使用したローカライズには多くの利点がありますが、サポートするのは困難です。 Andrévan heerwaardeは、カスタマイズされたビルドステップを使用してこのソリューションを簡素化することを提案した記事で、翻訳されたテキストフラグメントをマージするユーティリティも作成しました。 ただし、彼の記事には多くの手動の手順もあります。



Visual Studioプロジェクトテンプレート


多言語WPFアプリケーションでの作業を開始するには、作成したローカライズされたアプリケーションテンプレートを使用することをお勧めします。 このテンプレートを使用して作成されたプロジェクトには、ローカリゼーションに必要なすべてのユーティリティが既に含まれており、開発プロセス中にローカリゼーション手順を可能な限り自動化します。



アプリケーションの開発中に、ローカライズを気にせずに新しいXAMLファイルを追加します。 変更が完了したら、プロジェクトをビルドします。



アセンブリの前に構成されたステップは、msbuild / t:updateuid [プロジェクト名] .csprojを呼び出します。 この手順により、テキスト要素を含む各要素にx:Uidが自動的に追加されます。

その後、アセンブリプロセス中にLocBamlが自動的に起動され、XAMLファイル内のすべてのテキスト要素が検索され、テキスト要素を含むCSVファイルが作成されます。

次のステップでは、Andrévan heerwaardeからMergeLocBamlCsvユーティリティを起動します。 その結果、以前の翻訳済みフラグメントは新しいフラグメントとマージされます。 StripLocBamlCsvユーティリティは、CSVファイルから未使用のアイテムを切り取ります。



手動で行う必要があるのは、新しい言語と実際の翻訳自体を追加することだけです。



新しい言語を追加する


プロジェクトに新しい言語を追加するには、次を行う必要があります。

中立言語のローカライズを新しいCSVファイルにコピーする

コピー翻訳\ Translate.csv翻訳\ Translate.ru-RU.csv

テキストエディターでプロジェクトファイルを開きます。

< LocBamlCsv Include ="Translation\Translate.de-DE.csv" >

< Culture > de-DE </ Culture >

</ LocBamlCsv >






新しい言語を追加します

< LocBamlCsv Include ="Translation\Translate.ru-RU.csv" >

< Culture > ru-RU </ Culture >

</ LocBamlCsv >






その後、Visual Studioでプロジェクトを再度開く必要があります。プロジェクトが既に開かれている場合、開発環境は、変更を反映するためにプロジェクトを再度開くかどうかを尋ね、「はい」と答えます。

間違いを犯さなかった場合、翻訳フォルダーで新しく開かれたプロジェクトに新しいファイルTranslate.ru-RU.csvが表示されます



アセンブリを実行して翻訳ファイルを更新した後、新しいファイルを開いて翻訳を開始できます。



読み込み中


参照資料



All Articles