C# 多言語化の利器 - ResX Manager

C# 多言語化の利器 - ResX Manager

この記事ではプロジェクトの国際化を実現する方法を紹介するのではなく、主に`VS`拡張機能を紹介します。これにより、共通のリソースファイル(*.resx)を簡単に管理できます。

最終更新 2021/02/16 22:23
沙漠尽头的狼
読了目安 2 分
カテゴリ
.NET WPF
タグ
.NET C# WPF 国際化 Visual Studio

WPF の国際化を実現する方法は多数あります:

  1. XAML リソースファイル(*.xaml)を使用して各言語の表示内容を保存する方法。私の別アカウントで紹介済みです:
  1. 汎用のリソースファイル(*.resx)を使用する方法。この方法はプロジェクトテンプレートに依存せず、他のプロジェクトタイプ(C/S、B/S、App(Xamarin)など)でも使用できます。

本記事ではプロジェクトの国際化の実装方法を説明するのではなく、VS 拡張機能を紹介し、汎用リソースファイル(*.resx)を便利に管理できるようにします。例えば以下のように:

ResX Manager を使用した複数リソースファイルの管理

ResX Manager を使用した複数リソースファイルの管理

便利な点:

  • 1つの画面でソリューション内のすべてのリソースファイルを一覧表示
  • 同じプロジェクトの国際化リソースファイルを1つの画面で比較しながら管理可能

多言語リソースファイルの命名規則に従い、同じプレフィックスを持つリソースファイルは、サフィックス(.resx の直前の部分)で言語を区別します。例:UiResource.zh-CN.resx は簡体字中国語、UiResource.resx はデフォルト言語、その他の言語はリソースファイルを追加してサフィックスを変更するだけです。

リソースファイルを直接開いた場合との比較:

デフォルト言語のリソースファイル

デフォルト言語のリソースファイル

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

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

上記は2ファイルだけですが、さらに多くの国際化言語をサポートする場合、翻訳を追加・修正するたびにすべてのリソースファイルをダブルクリックして開く必要があり、非常に手間がかかります。

前置きが長くなりましたが、このプラグインのインストール方法と使い方を説明します。

1 インストール

ResXManager の公開ページからダウンロードしてインストールしてください:

プラグイン詳細

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

VS拡張機能検索インストール

2 機能説明

2.1 各リソースファイルの一括管理・編集

本記事の最初の図(乐趣课堂 WPF プロジェクトリソースファイル)をご参照ください。左側にはソリューション内のすべてのプロジェクトのリソースファイル構成と場所が表示され、特定のリソースファイルを選択すると、右側にそのリソースファイルのキーと各言語の翻訳文が表示されます。同じ命名規則のリソースファイルは同時に編集できます。

2.2 漏れの確認

下図のように、SearchStartTime キーに対応する中国語翻訳が不足しており、入力ボックスが赤い背景で警告表示されます。その場で直接翻訳を入力できます。

翻訳漏れの表示

翻訳漏れの表示

キーが多い場合やサポート言語が多い場合は、下部の 翻訳 タブに切り替えて編集することもできますが、通常は上の画面で直接修正しています。以下の画面を操作することはほとんどありません:

  • 翻訳 タブに切り替え
  • 未翻訳の言語を入力
  • 「開始」「すべてに適用」をクリックして、修正した翻訳を対応するリソースファイルに反映

翻訳待ちの言語が明確に表示される

翻訳待ちの言語が明確に表示される

2.3 Excel ファイルのエクスポートとインポート

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

リソースファイルをExcelにエクスポート

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

エクスポートしたExcelファイルを編集

上図のように翻訳を完成させたら、インポートを選択するだけです。

この拡張機能はとても便利ではないでしょうか?コメントをお待ちしています。

さらに探索

関連読書

その他の記事
同じカテゴリ / 同じタグ 2025/05/27

WPFで危険警告効果を実現する

作成したプログラムをユーザーに配布した後、ユーザーが危険な操作を行っている場合、ソフトウェアは警告効果を表示する必要があります。例えば、フレームの端が赤くなるような、高徳地図のような警告効果です。

続きを読む
同じカテゴリ / 同じタグ 2025/01/26

WPF カスタムXMLファイルによる国際化

この記事では、WPFプログラムでカスタムXMLファイルを使用して国際化を実現する方法について詳しく説明します。必要なNuGetパッケージのインストール、言語リストの動的取得、言語の動的切り替え、コードおよびXAMLインターフェースでの翻訳文字列の使用などを含み、ソースコードのリンクも提供し、開発者がWPFアプリケーションの国際化を簡単に実装できるように支援します。

続きを読む