0. はじめに
Visual Studioで多言語対応が必要なアプリケーションを開発する際、ResXManagerという拡張機能が便利そうだったので、使用方法などを簡単にまとめてみました。
ResXManagerは、各言語リソースファイルを開かなくとも、専用の画面で言語キー(文字列)を参照/追加/更新/削除できる機能になります。
1. ResXManagerをダウンロードする
Visual Studioメニューの「拡張機能 > 拡張機能の管理」から、ResXManagerをダウンロードします。
※ダウンロード後、変更を反映するため、Visual Studioの再起動が必要かと思います。
2. 言語リソースファイルを追加する
まずは準備として、ソリューションエクスプローラーコンテキストメニューの「追加 > 新しい項目」からリソースファイルを作成します。
名前は何でもいいですが、私は「Strings.resx」としました。
3. ResXManagerを使ってみる
Visual Studioメニューの「ツール > ResX Manager」を選択すると、ResX Resource Managerが起動します。
3-1. デフォルトの言語を変更する
Configurtionタブの「Netural Resouces Language」から、デフォルトの言語を変更できます。
元々は英語になっているかと思いますので、日本語に変更しました。
3-2. 言語を追加する
Mainタブの「Add new language」から、言語を追加できます。
今回は英語・フランス語を追加してみました。
対応するリソースファイル(Strings.en.resx、Strings.fr.resx)が自動で生成されます!
3-3. キー(文字列)を追加する
「Add new key」から、キー(文字列)を追加できます。
3-4. キー(文字列)を削除する
「Delete selected items」から、キー(文字列)を削除できます。
4. 出力してみる
class Program
{
static void Main(string[] args)
{
// 日本語
Console.WriteLine(Strings.HelloWorld);
// 英語
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
Console.WriteLine(Strings.HelloWorld);
// フランス語
Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR");
Console.WriteLine(Strings.HelloWorld);
}
}
5. おわりに
- 「〇〇言語に〇〇キーの文字列が設定されていない!」ということにすぐ気づけるのでとても便利ですね(今回この拡張機能を使おうと思ったきっかけがコレでした)
- 私が必要としていた機能は上記に記載した範囲でしたが、他にも「キー(文字列)のコピー/ペースト」「エクセルへのインポート/エクスポート」 といったことが行えるみたいです