WPF の国際化を実現する方法は多数あります:
- XAML リソースファイル(*.xaml)を使用して各言語の表示内容を保存する方法。私の別アカウントで紹介済みです:
- 汎用のリソースファイル(*.resx)を使用する方法。この方法はプロジェクトテンプレートに依存せず、他のプロジェクトタイプ(C/S、B/S、App(Xamarin)など)でも使用できます。
本記事ではプロジェクトの国際化の実装方法を説明するのではなく、VS 拡張機能を紹介し、汎用リソースファイル(*.resx)を便利に管理できるようにします。例えば以下のように:
ResX Manager を使用した複数リソースファイルの管理

便利な点:
- 1つの画面でソリューション内のすべてのリソースファイルを一覧表示
- 同じプロジェクトの国際化リソースファイルを1つの画面で比較しながら管理可能
多言語リソースファイルの命名規則に従い、同じプレフィックスを持つリソースファイルは、サフィックス(.resx の直前の部分)で言語を区別します。例:UiResource.zh-CN.resx は簡体字中国語、UiResource.resx はデフォルト言語、その他の言語はリソースファイルを追加してサフィックスを変更するだけです。
リソースファイルを直接開いた場合との比較:
デフォルト言語のリソースファイル

簡体字中国語のリソースファイル

上記は2ファイルだけですが、さらに多くの国際化言語をサポートする場合、翻訳を追加・修正するたびにすべてのリソースファイルをダブルクリックして開く必要があり、非常に手間がかかります。
前置きが長くなりましたが、このプラグインのインストール方法と使い方を説明します。
1 インストール
ResXManager の公開ページからダウンロードしてインストールしてください:

または VS の拡張機能で ResX Manager を検索してインストール:

2 機能説明
2.1 各リソースファイルの一括管理・編集
本記事の最初の図(乐趣课堂 WPF プロジェクトリソースファイル)をご参照ください。左側にはソリューション内のすべてのプロジェクトのリソースファイル構成と場所が表示され、特定のリソースファイルを選択すると、右側にそのリソースファイルのキーと各言語の翻訳文が表示されます。同じ命名規則のリソースファイルは同時に編集できます。
2.2 漏れの確認
下図のように、Search と StartTime キーに対応する中国語翻訳が不足しており、入力ボックスが赤い背景で警告表示されます。その場で直接翻訳を入力できます。
翻訳漏れの表示

キーが多い場合やサポート言語が多い場合は、下部の 翻訳 タブに切り替えて編集することもできますが、通常は上の画面で直接修正しています。以下の画面を操作することはほとんどありません:
翻訳タブに切り替え- 未翻訳の言語を入力
- 「開始」「すべてに適用」をクリックして、修正した翻訳を対応するリソースファイルに反映
翻訳待ちの言語が明確に表示される

2.3 Excel ファイルのエクスポートとインポート
多言語翻訳の作業量が多い場合や、特定の言語を専門家に依頼する場合、相手に Visual Studio でリソースファイルを編集してもらうのは合理的ではありません。その場合はエクスポート機能を使用して指定したリソースファイルを Excel 形式で出力し、不足部分を直接記入してもらい、完成した Excel ファイルをインポートして各リソースファイルを自動更新します。

翻訳が必要なリソースファイルのキーを選択し、「選択したものをエクスポート」を選択することもできます。エクスポートファイルは以下のようになります。赤枠部分は入力した簡体字中国語の翻訳文です。

上図のように翻訳を完成させたら、インポートを選択するだけです。
この拡張機能はとても便利ではないでしょうか?コメントをお待ちしています。