|
![]() ![]() ![]() ![]() ![]() | |
これまで、INASOFTで公開している .NET Framework のフォームアプリケーションは、他のいくつかのネイティブアプリケーションで実施しているような、日本語環境以外で動作させたときにUIが英語になる対応を行っていません。 単に面倒くさかったこともありますが、実施するためのよい方法を探すのが面倒くさかったというのもあります。 今回、ちょっと興味がわいてググってみたら、結構すぐに見つかりました。 ■Windowsフォームを多言語対応にするには? 英語に自信があるわけではないですが、ちょっと試してみようかと思います。 ちなみに、すでに日本語で作られたUIがあり、日本語以外の環境では英語で表示されなければならないので、ちょうど下記のサイトの記載が参考になりそうです。 ■Windowsアプリの国際化(i18n)のやり方 とりあえずは「複数行置換」から試してみようかと思います。 英語には自信がないので、ほぼ自動翻訳の英語を割り当てることになりそうですけどね。 なお、表示言語のコントロールは、環境の言語設定だけでなく、環境変数からも実施できるようにするので、環境変数の取得メソッドも使うことになります。 ■MSDNライブラリ - Environment.GetEnvironmentVariable メソッド (String) 【6/26 7:00追記】よく考えたら、リンク先のページに書いてあるような、規定言語をブランチしてそこを日本語のままにして、英語ダイアログを作ってプログラムから言語設定をねじ曲げるより、規定言語をブランチして日本語ダイアログをつくり、日本語ダイアログはいじらずに規定言語ダイアログを英語化したほうが、プログラムでねじ曲げなくて済む分、シンプルですね。 【6/26 20:50追記】実際に試してみたらダメでした。日本語ダイアログを作ってから既定言語(英語相当)ダイアログをいじる(例えば、終了(X)をExitに変える)と、日本語ダイアログ側まで変わってしまう。要は、既定言語とその他の言語は、差分情報だけを保持しており、差分が差分として反映されるのは既定言語以外のダイアログをいじったときのみというわけだ。既定言語側ダイアログをいじると、日本語側ダイアログに対する入力で差分情報を持っているのでなければ、日本語ダイアログ側にもその変更が反映されてしまうという仕組みか。作戦失敗... 目次の表示: ブログではないので、コメント機能とトラックバック機能は提供していません。ご質問・ご意見等はメール、フィードバックまたはTwitter等からお願いします。いただいたご質問・ご意見などは、この「管理人のひとこと」の記事に追加、あるいは新規の記事にする形で一部または全文をそのまま、あるいは加工させていただいた上で、ご紹介させていただく場合があります。 当サイトでは掲載内容による不具合等に関する責任を持ちません。また、内容の正確性についての保証もありませんので、情報をご利用の際は、利用者の自己責任で確認をお願いします。 |
- 最近の更新 - |
|
3289418 (+0201)[+1138] Copyright© 2010-2025 INASOFT |