トップ回答者
日本語版のVB.NETで作成したアプリケーションを他言語版Windowsに対応させるには?

質問
-
日本語版のVB.NETで開発したアプリケーションを他言語版Windows上でも
動作するようにするにはどのようにすればよいのでしょうか?
EXEをそのまま他言語版Windowsに載せても
多分動かないとは思いますが、
例えば英語版Windowsに対応させるには
日本語版VB.NETで作成したプログラムソースを
英語版VB.NETで開いてビルドすれば対応されたりするのでしょうか?
他言語版への対応を行ったことのある方、
対応方法をご存知の方、
いらっしゃいましたら教えていただけないでしょうか。
ちなみにサードパーティーのコンポーネントは
使用しておりません。
よろしくお願いします。
回答
-
外池と申します。まず、お奨めとしましては、.Net Frameworkにおける他国後へ対応したアプリの作成について、ドキュメントをお読みになった方が近道かと・・・。
で、要点ですが、
ビールヒヨコ さんからの引用 EXEをそのまま他言語版Windowsに載せても多分動かないとは思いますが、
そんなことはありません。基本的に動きます。.Net Frameworkの場合は、基本的に動くような仕組みになっています。
問題は、インターフェイスに用いているフォントと文字です。
これさえも、現時点で、配布するターゲットのマシンと互換性のあるフォントと文字を使っているのであれば、exeファイルを移せばそのまま動くはずです。
-
この辺ですね。
http://msdn2.microsoft.com/ja-jp/library/1021kkz0.aspx
外池 さんからの引用 これさえも、現時点で、配布するターゲットのマシンと互換性のあるフォントと文字を使っているのであれば、exeファイルを移せばそのまま動くはずです。
ロケールに依存する処理を書いていた場合、例外が起きたりする等のトラブルはあります。
例えば、小数点を"."と決めつけているコードがあれば、","のロケールで動かした時に問題が起きます。
決して、デザインやフォントだけの問題ではありません。
-
外池です。
Azulean さんからの引用 ロケールに依存する処理を書いていた場合、例外が起きたりする等のトラブルはあります。
例えば、小数点を"."と決めつけているコードがあれば、","のロケールで動かした時に問題が起きます。
すいません、「動く」の意味の捉え方が、ズレてしまっていたようで・・・。
私が申し上げたかったのは、例えば、ランタイムのDLLが無いだとか、合わないだとかのトラブルは無いはずで、とりあえず、走り始めるハズという意味で「動く」と書きました。フォントと文字があれば表示も出てくる・・・(文字化け、□や?などの表示もなく)
動作全体が整合が取れるかどうかで、Azuleanさんの仰る問題は重要です。
すべての返信
-
外池と申します。まず、お奨めとしましては、.Net Frameworkにおける他国後へ対応したアプリの作成について、ドキュメントをお読みになった方が近道かと・・・。
で、要点ですが、
ビールヒヨコ さんからの引用 EXEをそのまま他言語版Windowsに載せても多分動かないとは思いますが、
そんなことはありません。基本的に動きます。.Net Frameworkの場合は、基本的に動くような仕組みになっています。
問題は、インターフェイスに用いているフォントと文字です。
これさえも、現時点で、配布するターゲットのマシンと互換性のあるフォントと文字を使っているのであれば、exeファイルを移せばそのまま動くはずです。
-
この辺ですね。
http://msdn2.microsoft.com/ja-jp/library/1021kkz0.aspx
外池 さんからの引用 これさえも、現時点で、配布するターゲットのマシンと互換性のあるフォントと文字を使っているのであれば、exeファイルを移せばそのまま動くはずです。
ロケールに依存する処理を書いていた場合、例外が起きたりする等のトラブルはあります。
例えば、小数点を"."と決めつけているコードがあれば、","のロケールで動かした時に問題が起きます。
決して、デザインやフォントだけの問題ではありません。
-
外池です。
Azulean さんからの引用 ロケールに依存する処理を書いていた場合、例外が起きたりする等のトラブルはあります。
例えば、小数点を"."と決めつけているコードがあれば、","のロケールで動かした時に問題が起きます。
すいません、「動く」の意味の捉え方が、ズレてしまっていたようで・・・。
私が申し上げたかったのは、例えば、ランタイムのDLLが無いだとか、合わないだとかのトラブルは無いはずで、とりあえず、走り始めるハズという意味で「動く」と書きました。フォントと文字があれば表示も出てくる・・・(文字化け、□や?などの表示もなく)
動作全体が整合が取れるかどうかで、Azuleanさんの仰る問題は重要です。
-
>外池様、Azulean様
ご回答いただき、ありがとうございました。
私としては、日本語版VBで作成したアプリがそもそも他言語版Windowsでは動かないのではないか、
動いた場合でも、システムエラーのメッセージは(日本語のままのため)化けるんじゃないかと
考えておりました。
ですので、外池様の「基本動く」というのはびっくりしました。
(おそらくエラーメッセージも.NET FrameWorkが吸収してくれるのかな。)
Azulean様の「ロケールに依存する処理を書いていた場合~」は
他言語版に対応していない場合はプログラムの修正をする必要はありますね。
このたびは大変参考になりました。
ありがとうございました。