カテゴリー別

お絵描き、デザイン

写真、動画関連ソフト

アメーバピグ専用ソフト

ホームページ関連

画像処理

スキャナー用

SEO 関連

お楽しみ

その他

過去ログ

2013年09月13日(金)

c# 2010 英語のリソースを追加して国際化する方法

写真閲覧ソフト: ミルノ PC フォトフレーム
を英語に対応させたときに行った方法を書きます。

つまり、もともと日本語のみに対応していたソフトを
英語に対応させるための方法ですが、うまく読み換えれば、
別の言語の場合でも、有用な情報になっていると思います。

リソースの英語化

もともと日本語専用のソフトなので、Resources.resx は、日本語用になっていますが、Resources.resx は本来、Language: (既定値) 用のファイルで、対応する言語のリソースが無い場合に使われるリソースです。今回用意しないドイツ語圏などでは、日本語で表示されるより、英語で表示された方が好ましいと思うので、Resources.resx を英語化します。その前に、日本語のリソースを、Resources.resx をコピーして作ります。

日本語用のリソースは、Resources.ja.resx です。ファイル名によって「日本語」と判断されます。C# 2008 のソリューションエクスプローラーで、Resources.resx を Ctrl キーを押しながらドラッグするとコピーできるので、その後、Resources.ja.resx に名前を変更します。

あとは、Resources.resx を英語化するだけです。また、アイコンなど、英語と日本語で全く同じリソースについては、Resources.ja.resx の方を削除しても同じ結果になります。

ja:日本語 と ja-JP:日本語(日本) について

Resources.ja.resx の代わりに、Resources.ja-JP.resx を使用することもできますが、Resources.ja.resx の方がベターです。Resources.ja.resx は日本語圏用の汎用リソースで、Resources.ja-JP.resx は日本語圏の中の日本用のリソースです。今のところ、日本語を使う地域は、日本だけ、かつ、増えそうもないので、実質的には、どちらでも大差ありませんが、原理的にはそうです。例えば、英語の場合には、英語(英国)、英語(米国)、のように英語を使う地域が複数あります。英語(英国)、英語(米国)の違いはわずかなので、例えば、米国産のソフトなら、英語(米国)向けのリソースを英語圏用のリソースとして用意して、英語(英国)で英国特有の表現を使用することで、実行形式のサイズと手間が省けます。

フォームなどのデザイナーリソースを英語化する

フォーム (FormAbout.cs) の場合について説明します。もちろん他のフォーム名でも操作は共通なので、適宜置き換えて解釈してください。まずは、フォームのデザイン画面を開いて、プロパティの Language から、「日本語」を選択します。Language はフォームのプロパティなので、変更するときにはフォームを選択します。子のコントロールでフォームが覆われている場合など、選択しにくい場合には、フォームの子コントロール上で右クリックすると表示されるメニューから、「'FormAbout' の選択」を選ぶと選択できます。

Language に、日本語が選択されている状態で、リソースを変更して保存すると、日本語用のリソースファイル (FormAbout.ja.resx) が作成されます。もともとのリソースは日本語なので、変更する必要は無いのですが、ここで変更して保存せずに、(既定値) のリソースを英語にすると、日本語のリソースも英語になってしまいます。そこで、一時的に、全ての日本語のテキストを変更して保存することにより、日本語のリソースを無理矢理作成します。私はテキストの最初か最後に、一時的に - 記号をつけてみました。

あとは、Language を (既定値) に戻してから、テキストを英語に翻訳します。全て終わったら、Language を日本語に戻して、元のテキスト表現に戻します。FormAbout.ja.resx をテキストエディターで置換してしまうと簡単に元に戻せますが、文字コードなどを変更してしまわないように注意しましょう。

完了

以上で終わりです。この作業により、OS の環境によって、使用される言語が変わるようになります。Winodws 8 Pro の場合には、コントロールパネルの言語から、使用する言語を切り換えることができます。

最初は「日本語」しか用意されていないので、「言語の追加」で例えば、「English (United States) 」を用意します。あとは、「上へ」「下へ」ボタンを利用して、テストしたい言語を一番上に持ってくれば OK です。

Gengo

参考ページ

多言語対応 - C# フォーム階梯
@IT:.NET TIPS Windowsフォームを多言語対応にするには? - C#

・・・

自分は、一時的に付けた、- を一部取り忘れてしまいました。
リリース前に、検索機能でチェックするとよいと思います。

あんまり関係ありませんけど、英語と日本語に対応している
ミルノ PC フォトフレームのダウンロードは、下記リンクからどうぞ。

日本語の最新版はこちらのページから、ダウンロードできます
You can download the latest version of Miruno PC Photoframe here.

ご意見・ご要望はこちらから
You can contact me by this mail form.

ミルノ PC フォトフレーム
ミルノ PC フォトフレームのダウンロード
ミルノ PC フォトフレームの更新履歴
ご意見・ご要望連絡窓口


コメント
コメントする