- ベストアンサー
言語切り替え機能つきのプログラムの開発について
- 言語切り替え機能つきのプログラムの開発について教えてください。
- 言語切り替え機能つきのプログラムの開発は、フリーソフトなどでも簡単に実装できる可能性があります。
- 現在使用しているソフトウェアには言語切り替え機能がありますが、中国語へ切り替えるためには別途ソフトウェアの追加インストールが必要です。
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
>Unicode対応のソフトを作るためにはどのようなことを勧めたらよいのでしょうか? まずは.NETでの開発に切り替える事でしょうけど(VisualBasic6でもできますが「必要なコンポーネントはお客様自身で導入してください」となります。http://support.microsoft.com/kb/193540/ja )、それができるのなら最初から.NETで開発してるんじゃないでしょうか。
その他の回答 (7)
- myuki1232
- ベストアンサー率57% (97/170)
No.1さん、No.6さんも言っていますし、私も申し上げている通り、問題は開発者の能力にあるのであって、使っている道具にあるのではありません。 どんな方法を提案しても、「それができるのならば最初からやっている」「1から作り直しになるので、言語切り替えが解決しても結局別の問題が発生する」という結果にしかならないでしょう。 「〇〇すれば簡単にできますよ」と、あなたが望む回答をしてあげることは簡単ですが、嘘にしかなりません。 一番の方法は開発会社を変えること。 形式的にそれができないのならば、別の会社を名目上の下請けにさせる、など方法はあるのではないですか。
お礼
回答ありがとうございます。 お礼が遅くなって申し訳ありません! 開発者の能力がないことは、このソフトウェアの出来を見て一目瞭然です・・・ しかし、会社的に変更できない理由が別にあるのです。変更できればそれが一番いいのですが。
- aton
- ベストアンサー率47% (160/334)
Applocalseって何?と思って調べたらこれかな? Microsoft AppLocale Utility http://www.microsoft.com/ja-jp/download/details.aspx?id=13209 これを使わないと多言語対応ができないということは,Unicode非対応=もともとのソフトウェアの造りが古い,ということでしょう。 ちなみに,上記ページの「詳細」には, > アプリケーション開発者は、製品を Unicode に変換する代替手段として AppLocale を位置付けないでください。現在では、MSLU (Microsoft Layer for Unicode) を使用して、Windows 98 などの Unicode ベースでないプラットフォームにも実装できる Unicode アプリケーションを作成することができます。 とあるので, (No.4 の補足より) > 「言語切替機能をMicrosoft Applocalseなしで実現してくれ」ということは提案済みです。 > その答えが「Windowsの仕様上の問題であり、その問題を回避するためにApplocaleというソフトが公開されているのでそれを使用するしか無い」という回答が返ってきています。 というのは間違いです。 (No.4 の補足より) > なので今回の問題も、これが問題で文字化けが発生していると思われるのでこのようにしたら解決できるのではないでしょうか?ということを提案する必要があるのです。 ソフトをUnicode対応に作り直せば解決できると思われます。 ただ,個人的には,AppLocale Utility を入れれば中国語対応が現状でも可能なのに,何故わざわざ新規に投資を行ってまでUnicode対応する必要があるのかが,ここに書かれている情報からだけでは全く理解できません。 Unicode非対応のものをUnicode対応に作り変えるのは「単純だけど大変」という No.1, No.2 の回答者の方の意見には私も賛成で, > しかし、フリーソフトなどでも簡単に言語切り替えできるものが多数存在しています。 > なので、そんなに難しいことではないのではないかと思っていたのですが のような,「無料のソフトでもできているんだから,簡単(=そんなに金がかかる作業ではない)なはず」というkikitaOKさんの判断には,疑問を感じざるを得ません。 そもそも,kikitaiOKさんが当該開発会社について書かれていることを事実ならば,そんな会社にまともなUnicode対応改造ができるとは思えないので,下手をすると料金だけとられて(AppLocaleは要らなくなったけど)前よりもバグだらけのものを納品される危険性も高いと思います。 その辺も考慮して,Unicode対応を依頼すべきかどうかを判断したほうがいいのではないでしょうか?
お礼
>ソフトをUnicode対応に作り直せば解決できると思われます。 文字コードについて知識がないため確証がありませんでしたがこれで1つ解決できました。ありがとうございます。 Unicode対応のソフトを作るためにはどのようなことを勧めたらよいのでしょうか?
補足
>無料のソフトでもできているんだから,簡単(=そんなに金がかかる作業ではない)なはず 説明不足、表現力不足で誤解を招いているようなので補足させていただきます。 フリーソフトでもできているのだから簡単という解釈には誤解があります。 私が言いたかったのは、 手間がかかること=大変で難しい ということではなく、 スキルが必要なこと=大変で難しい ということです。 有料で開発依頼したものに実装ですることが『難しい』機能をそこらへんに転がっているフリーソフトで実装して提供している そんなことがあるのか?と思ったのです。 ※ここで言う難しいとはWindowsの仕様上の問題を回避できるくらいのスキルが必要なことです。 とは言ったものの考えてみればいろんなプログラミング言語に精通しているプロの方からすると vb6だろうと.netだろうと手間さえかければ実装できなくはない?ので スキルが必要なこと=大変で難しい となることはないんですかね。 プロの方からすると、その手間の度合いがvb6よりは.netのほうが楽ってくらいの差なんでしょうか・・・ であれば誤解されて当然ですね。 また、理由を説明すると長くなるので省略させていただきますが、今回の改善要求をするにあたって追加の費用は一切必要ないです。 実際に納品され使用しておりますが、納品前の動作確認の段階と思ってもらっても大丈夫です。 なので改善要求をするにあたって追加の費用が発生する可能性は低いです。 最後にApplocaleを使用しない方向にこだわるのは、この開発していただいたソフトを実際に使用するエンドユーザーのスキルの問題があるからです。 Applocaleはvista以上では管理者権限でコマンドラインからインストーラーを起動させる必要があります。 これだけでも初心者には難しい作業になると思います。 Applocaleのインストール方法を詳しく解説してあるウェブサイトがありましたのでそちらを参考に上司にインストール作業を行ってもらいましたが Applocaleのダウンロードからつまずいて、インストールなんてとんでもないって状況になりました。 そんな理由からApplocaleを使用せずに切り替えにこだわる理由です。
- wormhole
- ベストアンサー率28% (1626/5665)
>その答えが「Windowsの仕様上の問題であり、その問題を回避するためにApplocaleというソフトが公開されているのでそれを使用するしか無い」という回答が返ってきています。 Windowsの仕様上の問題ではなくアプリケーションの仕様上の問題ですね。 http://www.microsoft.com/ja-jp/download/details.aspx?id=13209 の説明を読めばわかると思いますがApplocaleはunicode対応でないアプリケーションをシステムロケールとは異なる言語で動作させたいときに使うものですから、アプリケーションがunicode対応であれば必要ありません(そういう意味では開発言語にVB6など選択してる時点で間違ってると思いますけど)。 >なので今回の問題も、これが問題で文字化けが発生していると思われるのでこのようにしたら解決できるのではないでしょうか?ということを提案する必要があるのです。 今までの話の中で「文字化け」など出てきていませんが。 あえていえるとしても「とあるアプリケーションで文字化けが起きます原因を教えてください」と何も情報ない状態なので何ともいえません。 # シフトJIS限定な実装がしてあるとかそんな落ちな気はするけど。
お礼
回答ありがとうございます。
補足
Applocaleを経由して使う必要がある = 文字化けして使えない が分かるものとして勝手に思い込んでいました。説明不足でした。申し訳ありません。
- wormhole
- ベストアンサー率28% (1626/5665)
>多額の開発資金を支払っているのでWindowsの仕様上の問題ではなく、 >別の開発言語を使えば解決することが確実であれば >それを上司に伝え、上司から開発会社へ提案していただこうと思っているのです。 言語切替機能も含めて発注されてるのでしたら「言語切替機能をMicrosoft Applocalseなしで実現してくれ」とはいえると思いますが、開発環境を変えるよういった場合には追加料金取られると思いますよ(おそらく作り直しになると思いますし)。
お礼
回答ありがとうございます。
補足
補足させていただきます。 「言語切替機能をMicrosoft Applocalseなしで実現してくれ」ということは提案済みです。 その答えが「Windowsの仕様上の問題であり、その問題を回避するためにApplocaleというソフトが公開されているのでそれを使用するしか無い」という回答が返ってきています。 それが本当であれば、仕方のないことだと思えますが現にCCleanerなどのフリーソフトでは問題なく言語切り替えができています。 この開発会社はYesNoのダイアログでNoを選んでキャンセルした時にエラーメッセージが表示され強制終了というバグの前の動作確認すらしていない問題を指摘した時に、「じゃぁ、どうしたらいいですか?」というようなことを言ってくるような会社です。 もちろんその回答には「操作をキャンセルしました。などのメッセージを表示して元の画面に戻してください」と言いましたが、こんなバガみたいなやりとりをしなければならない開発会社です。 ※こんな会社なら他に変更と思われるかもしれませんがそれができていれば苦労しません・・・変更できない理由がほかにあります。 なので今回の問題も、これが問題で文字化けが発生していると思われるのでこのようにしたら解決できるのではないでしょうか?ということを提案する必要があるのです。 以上の事により、なぜ文字化けが発生しているのか、またそれを解決するにはどうしたらいいのかということが分かれば幸いです。
- myuki1232
- ベストアンサー率57% (97/170)
開発会社に問題があることはわかりましたが、言語を変えることによってそれを解決することはできません。 言語は道具に過ぎず、いくら良い道具を使っても、使うほうが下手ならばまともなものは作れません。 苦言を言わせていただくと、この基本的なことがわかっていなければ、ソフトウェア開発に関しての認識は、あなたとあなたの上司は五十歩百歩と言わざるを得ません。 「自分は上司より上だ」という思い込みを捨て、きっちりとした根拠のある提案をしなければ、上司はあなたの言うことに決して納得しないでしょう。 そもそも「何が問題なのか」ということが、あなたと上司との間で認識が共有できていないと思います。 あなたは「ソフトウェアの質が低く、使いものにならない」と思っているかもしれませんが、上司は「値段なりのもので、適正」と思っているかもしれません。 あなたの提案は「もっと予算をかけて質を上げましょう」と言っているに等しく、上司からすれば「なぜ余計な金をかけてそんなことをしなければならないのか」と思われても仕方がありません。 プログラミング言語などという瑣末なことに拘るのをやめ、仕事の仕方、提案の仕方をもっと考えるべきです。
お礼
再度の回答ありがとうございます。
補足
補足させていただきます。 今回の問題については、上司も私と見解が一致しております。 CCleanerなどのフリーソフトでさえ、それ単体で実装できているのでWindows側の問題とは言えないということで改善を要求することになっております。 また、言語の変更に伴い追加費用が発生するなどの心配は無用です。 最後に、回答No4さんの補足に記載しました通り、開発会社へは具体的に提案しなければ屁理屈を言ってごまかされてしまいます。 なので今回文字化けが発生している原因とその解決策を具体的に提案したいと思っているところなのです。 なので文字化けの原因が開発言語に関係しないのであれば、VB5~6、Delphi 6.0 - 7.0で多言語開発をする注意点などの具体的なことを教えていただければありがたいです。
- myuki1232
- ベストアンサー率57% (97/170)
そのソフトウェアを見たわけではないので推測ですが、問題は「技術として難しい」ということではなく、「大変だ=手間がかかる」ということだと思われます。 一般論として、多言語への対応というのは、プログラムとしては基礎的(簡単という意味ではなく、全体に関わるという意味で)なことなので、最初からそれを見越して開発しないと後から対応するのは困難(=修正箇所が多岐にわたる)です。 おそらくそのソフトウェアは、後から泥縄的に言語切り替えに対応したために、そうなってしまったのでしょう。 回答No.1さんも言っているように、「簡単だけど大変」な作業です。 新しい言語にするというのは、ほとんどの部分を1から作り直しするということであり、問題の解決にはなっていません。将来性に投資するなら別ですが、質問者さんが問題にしているのは「今、できない」ということのようですので。 そういう細かいことは開発者のほうがよほどよく知っているでしょうから、相手から提案してこない限り余計な口出しをするのはやめたほうがいいでしょう。
お礼
回答ありがとうございました。
補足
補足させていただきます。 このソフトウェアは簡単な顧客管理システムで、表示されるテキスト数も多くありません。 また、独自に発注して開発してもらったものなので言語切り替え機能も見越して開発されています。 そして説明すると長くなるので省きますが、この開発会社は『非常に』いい加減な会社です。 1つ例をあげるとすればこのソフトウェアが納品された当初、入力データの保存時に空欄が存在しているとエラーが出て保存できないというものがありました。 これはNull値の処理を適切に行っていないから発生したものです。 その他にもバグとも言えないレベルの不良が多すぎてとても使い物になりませんでした。 バグチェックどころか、動作確認さえろくにせずに納品するようないい加減な会社です。 (私は簡単なものであればVBで作ることができますので、猶更この会社のいい加減さがわかります。) 私はこの会社を信用していません。 ですが、この会社との取引、交渉はすべてパソコン関係に無知な上司が行っておりますので私には決定権がありません。 そんな会社に今回の言語切り替えもWindowsの仕様上の問題だと言われました。 私としては上司が無知なのをいいことに適当なことを言ってごまかしているようにしか思えないのです。 なので、調べてみるとどうも開発言語の問題のようでした。 VB6ではUnicodeが完全にサポートされてない?みたいなことが書いてありましたし、 .netではそこらへんが効率的に開発できるようになった?のかな?と思ってます。 多額の開発資金を支払っているのでWindowsの仕様上の問題ではなく、 別の開発言語を使えば解決することが確実であれば それを上司に伝え、上司から開発会社へ提案していただこうと思っているのです。 現に納品されたソフトではその機能を完全には実装できていませんので・・・
- wormhole
- ベストアンサー率28% (1626/5665)
開発環境がVisual Studioなら以下のような感じですが。 http://msdn.microsoft.com/ja-jp/library/cc708922.aspx 大変で難しいかは、ご自分で判断してください。 私の感覚だと簡単だけど大変。
お礼
回答ありがとうございます。 VB2005とは.netですよね? やはり新しい言語だと簡単っぽいですね。
お礼
何度も回答いただいてありがとうございました。 おかげさまで当初疑問だったことは解決できました。 .netで開発できていれば最初から・・・ それは私もそう思います。 しかし、こちらが全くの無知だと思って適当な対応をしてくる会社に一発ギャフンと言わしてやりたんです。 『いまどき.netで開発もできないんですか?それでよくソフトウェア開発会社なんてやってられますね!』 とまでは言いませんが、『windowsの仕様なのでどうしようもありません』みたいに、いい加減なことばかり言っても通用しないんだってことを少しでも証明できればと思ってます。 ありがとうございました!