- - PR -
多国語対応について教えてください
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-12-27 14:30
現在 VB6 で開発したシステムを中国でも使いたいということになりました。
そこで、教えていただきたいことがいくつかあります。 Q1.日本語の環境で中国語対応のソフトって作れるものなんですか? Q2.VB6で日本語対応のソフトに、中国語対応の機能を盛り込むことは可能ですか? Q3.VB.NETでは、Q2のようなことは可能ですか? Q4.皆さんなら、どのような方法を選択しますか? 英語ならできそうですが、中国語だとフォントの問題とか、Windows が中国語対応のものが必要かな?、などと思うのですが、何をどう調べて良いのかもわかりません。 | ||||||||||||
|
投稿日時: 2005-12-27 14:55
やは!Yamです。
.netでは多国語対応は簡単です。 (日本語に対応する外国語文字列が用意されていれば) FormのプロパティLocalizable=True,Languuageを該当語に変更して、 コントロールに表示される文字列を外国語文字列に変更すればOKです。 その他詳しくはこちらで。 | ||||||||||||
|
投稿日時: 2005-12-27 16:10
作れないこともないとは思いますが、かなり難しいと聞きます。 依存関係にあるコンポーネントがすべて中国語に対応していなければなりません。 この時点で結構アウトだったり... 英語なら全然問題ないんですけどね。 リソースのストリング テーブルだけで楽勝ですし。
対応フォントさえあれば可能です。
英語で我慢して貰いますね。 どうしてもならば、別々の環境で作ります。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2005-12-28 15:58
ありがとうございました。試してみましたが、確かに簡単ですね。 フォントも切り替わるので、中国語の場合と日本語の場合のフォントも変更してくれます。 メッセージボックス中に文字列を埋め込む場合は、このような支援機能は無いのでしょうか?
こちらも、かなり勉強になりました。 .net なら日本語の開発環境で他国語対応のソフトも作れそうですね。 ありがとうございました。 | ||||||||||||
|
投稿日時: 2005-12-28 16:04
の部分なのですが、じゃんぬねっとさんとしては、VB.NET に移植後に他国後対応にするのはアリですか?
この部分が非常に気になっています。 これは、VB6ということを前提として、英語で我慢してもらう選択をとると言う解釈で良いですか? #最近、気が付くと「こんな時、じゃんぬねっとさんならどうするだろう?」なんて考えている自分がいたりします。 | ||||||||||||
|
投稿日時: 2005-12-28 17:13
念頭においてやる方が良いには決まってますが、やむを得ない場合もありますよね。 移植の予算さえ出してくれれば、やりますね。
はい、VB6 なら確実にそうさせます。 VB.NET でも「英語で勘弁して貰えませんか?」って言いますね。 理由は、中国語 OS だとフォントの関係からか、コントロールの Size がおかしくなるんですよ。 もちろん、英語でも微調整は必要になる箇所はありますが、 中国語やハングル文字の場合は、プログラム中でかなり動的に設定しなきゃいけなくなるんですよね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2005-12-28 18:18
やは!
ResourceManagerクラスを使用します。 言語別にリソースファイル(XML)を作成し、 GetStringメソッドでキーを指定すれば現在のカルチャに応じたリソースから文字列を取得します。 詳細はヘルプ等を参照して下さい。
じゃんぬねっとさんも書かれているように日本語開発環境でデザインした画面と実際に外国語OSで表示される画面とはかなりズレがあります。 動作確認には当該語の環境が必須だと思います。 | ||||||||||||
|
投稿日時: 2005-12-29 13:17
じゃんぬねっとさん、Yamさん、ありがとうございました。
おかげさまで、進むべき道がはっきりしました。 既に上司とも話をしました。 (1) まずは英語での提案をする。 (2) 駄目なら、先方の要求する言語での開発を行う。 (3) その際に、サイズの問題を考慮して、最終的に、その国の環境でテストする。 以上でいこうと思います。 今回の件については、とりあえず .net への移植を最低条件としようと思います。 本当に助かりました。ありがとうございました。 |
1