言語切り替え機能つきのプログラムの開発について

このQ&Aのポイント
  • 言語切り替え機能つきのプログラムの開発について教えてください。
  • 言語切り替え機能つきのプログラムの開発は、フリーソフトなどでも簡単に実装できる可能性があります。
  • 現在使用しているソフトウェアには言語切り替え機能がありますが、中国語へ切り替えるためには別途ソフトウェアの追加インストールが必要です。
回答を見る
  • ベストアンサー

言語切り替え機能つきのプログラムの開発について

言語切り替え機能つきのプログラムの開発について教えてください。 現在とある会社が開発したソフトウェアを使用しているのですが、 これに言語切り替え機能がついています。 中国語、英語、日本語に切り替えできます。 しかし、中国語へ切り替える際はMicrosoft Applocalseというものを追加インストールして それを経由して起動させる必要があります。 しかし、フリーソフトなどでも簡単に言語切り替えできるものが多数存在しています。 なので、そんなに難しいことではないのではないかと思っていたのですが その開発会社に聞いたところとても大変で難しいと言われました。 ですが本当にそうなのでしょうか? 調べたところVisualBasic5 - 6、Delphi 6.0 - 7.0などの古い言語で開発されているようです。 古い言語では難しかったかもしれませんが新しい言語であれば簡単に実装できるのであれば提案したいと思います。 皆さまのご意見をよろしくお願い致します。 ※言語切り替えで変わるのはメニューなどの固定項目のみです。

質問者が選んだベストアンサー

  • ベストアンサー
  • wormhole
  • ベストアンサー率28% (1619/5653)
回答No.7

>Unicode対応のソフトを作るためにはどのようなことを勧めたらよいのでしょうか? まずは.NETでの開発に切り替える事でしょうけど(VisualBasic6でもできますが「必要なコンポーネントはお客様自身で導入してください」となります。http://support.microsoft.com/kb/193540/ja )、それができるのなら最初から.NETで開発してるんじゃないでしょうか。

kikitaiOK
質問者

お礼

何度も回答いただいてありがとうございました。 おかげさまで当初疑問だったことは解決できました。 .netで開発できていれば最初から・・・ それは私もそう思います。 しかし、こちらが全くの無知だと思って適当な対応をしてくる会社に一発ギャフンと言わしてやりたんです。 『いまどき.netで開発もできないんですか?それでよくソフトウェア開発会社なんてやってられますね!』 とまでは言いませんが、『windowsの仕様なのでどうしようもありません』みたいに、いい加減なことばかり言っても通用しないんだってことを少しでも証明できればと思ってます。 ありがとうございました!

その他の回答 (7)

  • myuki1232
  • ベストアンサー率57% (97/170)
回答No.8

No.1さん、No.6さんも言っていますし、私も申し上げている通り、問題は開発者の能力にあるのであって、使っている道具にあるのではありません。 どんな方法を提案しても、「それができるのならば最初からやっている」「1から作り直しになるので、言語切り替えが解決しても結局別の問題が発生する」という結果にしかならないでしょう。 「〇〇すれば簡単にできますよ」と、あなたが望む回答をしてあげることは簡単ですが、嘘にしかなりません。 一番の方法は開発会社を変えること。 形式的にそれができないのならば、別の会社を名目上の下請けにさせる、など方法はあるのではないですか。

kikitaiOK
質問者

お礼

回答ありがとうございます。 お礼が遅くなって申し訳ありません! 開発者の能力がないことは、このソフトウェアの出来を見て一目瞭然です・・・ しかし、会社的に変更できない理由が別にあるのです。変更できればそれが一番いいのですが。

  • aton
  • ベストアンサー率47% (160/334)
回答No.6

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対応を依頼すべきかどうかを判断したほうがいいのではないでしょうか?

kikitaiOK
質問者

お礼

>ソフトをUnicode対応に作り直せば解決できると思われます。 文字コードについて知識がないため確証がありませんでしたがこれで1つ解決できました。ありがとうございます。 Unicode対応のソフトを作るためにはどのようなことを勧めたらよいのでしょうか?

kikitaiOK
質問者

補足

>無料のソフトでもできているんだから,簡単(=そんなに金がかかる作業ではない)なはず 説明不足、表現力不足で誤解を招いているようなので補足させていただきます。 フリーソフトでもできているのだから簡単という解釈には誤解があります。 私が言いたかったのは、 手間がかかること=大変で難しい ということではなく、 スキルが必要なこと=大変で難しい ということです。 有料で開発依頼したものに実装ですることが『難しい』機能をそこらへんに転がっているフリーソフトで実装して提供している そんなことがあるのか?と思ったのです。 ※ここで言う難しいとはWindowsの仕様上の問題を回避できるくらいのスキルが必要なことです。 とは言ったものの考えてみればいろんなプログラミング言語に精通しているプロの方からすると vb6だろうと.netだろうと手間さえかければ実装できなくはない?ので スキルが必要なこと=大変で難しい となることはないんですかね。 プロの方からすると、その手間の度合いがvb6よりは.netのほうが楽ってくらいの差なんでしょうか・・・ であれば誤解されて当然ですね。 また、理由を説明すると長くなるので省略させていただきますが、今回の改善要求をするにあたって追加の費用は一切必要ないです。 実際に納品され使用しておりますが、納品前の動作確認の段階と思ってもらっても大丈夫です。 なので改善要求をするにあたって追加の費用が発生する可能性は低いです。 最後にApplocaleを使用しない方向にこだわるのは、この開発していただいたソフトを実際に使用するエンドユーザーのスキルの問題があるからです。 Applocaleはvista以上では管理者権限でコマンドラインからインストーラーを起動させる必要があります。 これだけでも初心者には難しい作業になると思います。 Applocaleのインストール方法を詳しく解説してあるウェブサイトがありましたのでそちらを参考に上司にインストール作業を行ってもらいましたが Applocaleのダウンロードからつまずいて、インストールなんてとんでもないって状況になりました。 そんな理由からApplocaleを使用せずに切り替えにこだわる理由です。

  • wormhole
  • ベストアンサー率28% (1619/5653)
回答No.5

>その答えが「Windowsの仕様上の問題であり、その問題を回避するためにApplocaleというソフトが公開されているのでそれを使用するしか無い」という回答が返ってきています。 Windowsの仕様上の問題ではなくアプリケーションの仕様上の問題ですね。 http://www.microsoft.com/ja-jp/download/details.aspx?id=13209 の説明を読めばわかると思いますがApplocaleはunicode対応でないアプリケーションをシステムロケールとは異なる言語で動作させたいときに使うものですから、アプリケーションがunicode対応であれば必要ありません(そういう意味では開発言語にVB6など選択してる時点で間違ってると思いますけど)。 >なので今回の問題も、これが問題で文字化けが発生していると思われるのでこのようにしたら解決できるのではないでしょうか?ということを提案する必要があるのです。 今までの話の中で「文字化け」など出てきていませんが。 あえていえるとしても「とあるアプリケーションで文字化けが起きます原因を教えてください」と何も情報ない状態なので何ともいえません。 # シフトJIS限定な実装がしてあるとかそんな落ちな気はするけど。

kikitaiOK
質問者

お礼

回答ありがとうございます。

kikitaiOK
質問者

補足

Applocaleを経由して使う必要がある = 文字化けして使えない が分かるものとして勝手に思い込んでいました。説明不足でした。申し訳ありません。

  • wormhole
  • ベストアンサー率28% (1619/5653)
回答No.4

>多額の開発資金を支払っているのでWindowsの仕様上の問題ではなく、 >別の開発言語を使えば解決することが確実であれば >それを上司に伝え、上司から開発会社へ提案していただこうと思っているのです。 言語切替機能も含めて発注されてるのでしたら「言語切替機能をMicrosoft Applocalseなしで実現してくれ」とはいえると思いますが、開発環境を変えるよういった場合には追加料金取られると思いますよ(おそらく作り直しになると思いますし)。

kikitaiOK
質問者

お礼

回答ありがとうございます。

kikitaiOK
質問者

補足

補足させていただきます。 「言語切替機能をMicrosoft Applocalseなしで実現してくれ」ということは提案済みです。 その答えが「Windowsの仕様上の問題であり、その問題を回避するためにApplocaleというソフトが公開されているのでそれを使用するしか無い」という回答が返ってきています。 それが本当であれば、仕方のないことだと思えますが現にCCleanerなどのフリーソフトでは問題なく言語切り替えができています。 この開発会社はYesNoのダイアログでNoを選んでキャンセルした時にエラーメッセージが表示され強制終了というバグの前の動作確認すらしていない問題を指摘した時に、「じゃぁ、どうしたらいいですか?」というようなことを言ってくるような会社です。 もちろんその回答には「操作をキャンセルしました。などのメッセージを表示して元の画面に戻してください」と言いましたが、こんなバガみたいなやりとりをしなければならない開発会社です。 ※こんな会社なら他に変更と思われるかもしれませんがそれができていれば苦労しません・・・変更できない理由がほかにあります。 なので今回の問題も、これが問題で文字化けが発生していると思われるのでこのようにしたら解決できるのではないでしょうか?ということを提案する必要があるのです。 以上の事により、なぜ文字化けが発生しているのか、またそれを解決するにはどうしたらいいのかということが分かれば幸いです。

  • myuki1232
  • ベストアンサー率57% (97/170)
回答No.3

開発会社に問題があることはわかりましたが、言語を変えることによってそれを解決することはできません。 言語は道具に過ぎず、いくら良い道具を使っても、使うほうが下手ならばまともなものは作れません。 苦言を言わせていただくと、この基本的なことがわかっていなければ、ソフトウェア開発に関しての認識は、あなたとあなたの上司は五十歩百歩と言わざるを得ません。 「自分は上司より上だ」という思い込みを捨て、きっちりとした根拠のある提案をしなければ、上司はあなたの言うことに決して納得しないでしょう。 そもそも「何が問題なのか」ということが、あなたと上司との間で認識が共有できていないと思います。 あなたは「ソフトウェアの質が低く、使いものにならない」と思っているかもしれませんが、上司は「値段なりのもので、適正」と思っているかもしれません。 あなたの提案は「もっと予算をかけて質を上げましょう」と言っているに等しく、上司からすれば「なぜ余計な金をかけてそんなことをしなければならないのか」と思われても仕方がありません。 プログラミング言語などという瑣末なことに拘るのをやめ、仕事の仕方、提案の仕方をもっと考えるべきです。

kikitaiOK
質問者

お礼

再度の回答ありがとうございます。

kikitaiOK
質問者

補足

補足させていただきます。 今回の問題については、上司も私と見解が一致しております。 CCleanerなどのフリーソフトでさえ、それ単体で実装できているのでWindows側の問題とは言えないということで改善を要求することになっております。 また、言語の変更に伴い追加費用が発生するなどの心配は無用です。 最後に、回答No4さんの補足に記載しました通り、開発会社へは具体的に提案しなければ屁理屈を言ってごまかされてしまいます。 なので今回文字化けが発生している原因とその解決策を具体的に提案したいと思っているところなのです。 なので文字化けの原因が開発言語に関係しないのであれば、VB5~6、Delphi 6.0 - 7.0で多言語開発をする注意点などの具体的なことを教えていただければありがたいです。

  • myuki1232
  • ベストアンサー率57% (97/170)
回答No.2

そのソフトウェアを見たわけではないので推測ですが、問題は「技術として難しい」ということではなく、「大変だ=手間がかかる」ということだと思われます。 一般論として、多言語への対応というのは、プログラムとしては基礎的(簡単という意味ではなく、全体に関わるという意味で)なことなので、最初からそれを見越して開発しないと後から対応するのは困難(=修正箇所が多岐にわたる)です。 おそらくそのソフトウェアは、後から泥縄的に言語切り替えに対応したために、そうなってしまったのでしょう。 回答No.1さんも言っているように、「簡単だけど大変」な作業です。 新しい言語にするというのは、ほとんどの部分を1から作り直しするということであり、問題の解決にはなっていません。将来性に投資するなら別ですが、質問者さんが問題にしているのは「今、できない」ということのようですので。 そういう細かいことは開発者のほうがよほどよく知っているでしょうから、相手から提案してこない限り余計な口出しをするのはやめたほうがいいでしょう。

kikitaiOK
質問者

お礼

回答ありがとうございました。

kikitaiOK
質問者

補足

補足させていただきます。 このソフトウェアは簡単な顧客管理システムで、表示されるテキスト数も多くありません。 また、独自に発注して開発してもらったものなので言語切り替え機能も見越して開発されています。 そして説明すると長くなるので省きますが、この開発会社は『非常に』いい加減な会社です。 1つ例をあげるとすればこのソフトウェアが納品された当初、入力データの保存時に空欄が存在しているとエラーが出て保存できないというものがありました。 これはNull値の処理を適切に行っていないから発生したものです。 その他にもバグとも言えないレベルの不良が多すぎてとても使い物になりませんでした。 バグチェックどころか、動作確認さえろくにせずに納品するようないい加減な会社です。 (私は簡単なものであればVBで作ることができますので、猶更この会社のいい加減さがわかります。) 私はこの会社を信用していません。 ですが、この会社との取引、交渉はすべてパソコン関係に無知な上司が行っておりますので私には決定権がありません。 そんな会社に今回の言語切り替えもWindowsの仕様上の問題だと言われました。 私としては上司が無知なのをいいことに適当なことを言ってごまかしているようにしか思えないのです。 なので、調べてみるとどうも開発言語の問題のようでした。 VB6ではUnicodeが完全にサポートされてない?みたいなことが書いてありましたし、 .netではそこらへんが効率的に開発できるようになった?のかな?と思ってます。 多額の開発資金を支払っているのでWindowsの仕様上の問題ではなく、 別の開発言語を使えば解決することが確実であれば それを上司に伝え、上司から開発会社へ提案していただこうと思っているのです。 現に納品されたソフトではその機能を完全には実装できていませんので・・・

  • wormhole
  • ベストアンサー率28% (1619/5653)
回答No.1

開発環境がVisual Studioなら以下のような感じですが。 http://msdn.microsoft.com/ja-jp/library/cc708922.aspx 大変で難しいかは、ご自分で判断してください。 私の感覚だと簡単だけど大変。

kikitaiOK
質問者

お礼

回答ありがとうございます。 VB2005とは.netですよね? やはり新しい言語だと簡単っぽいですね。

関連するQ&A

  • 【C言語】メールを送信するプログラムについて

    お世話になっています。 perl(Linuxでもあるのでしょうか?)で扱えるsendmail関数は、 宛先さえ指定すればメールを送信出来ます。 その機能を実装したいのですが、可能でしょうか。 つまり、SMTPサーバーを指定せずに送信機能が使いたいのです。 理由は、ソフトウェアでアンケートソフトを作りたいのですが、 例えばGmail等のサーバーを借りて、そのアカウントのSMTPを指定したソフトを配布した場合、 どえらいことになってしまうのではないか!?と思っていますし、実際そうなると思うので…… ご存知のかたがいらっしゃいましたら、実装が可能か、またどのような言葉で調べればいいかなどご教授ください。 よろしくお願いいたします。 なお、開発環境はWindowsです(7 home 64bit) ※蛇足ですが、実はC言語で実装ではなくActiveBasicというBASIC言語で開発しようとしています。 ですが、VBの用にマクロが充実しておらず、おそらくActiveBasicと言ってもご存じの方が少ないと思いC言語のフォームで質問させていただいております。 もちろんC言語でのご回答で大丈夫ですので、お願いします。

  • 今、開発言語をどれにしようか、迷っています。

    マシンはデュアルコアのAthlon64 4800+は 決定しているのですが開発言語をどれにしようか、迷っています。 Windows: ASM, C, VB, Delphi, C++Builder, VC++, Java, VB2005, VC2005, C# ... Linux:GCCが良いよでしたら、Linuxにするかもしれません。 計算とグラフ表示が主な処理で、なかなかアルゴリズムが難しく、開発途中で試行錯誤しますので、開発のし易さも選ぶポイントです。 以下の優先順位です。 1番目:実行速度の早いもの(最適化など) 2番目:Profile機能がある(サードパーティでもよい) 3番目:ソースの記述量が少ない。(簡単) 4番目:書籍や情報が多い 5番目:汎用性が高い(今後のメンテナンスも考えて) 1番目の実行速度にこだわるのは、VB6でプログラムを書いて実行させたところ、昔BCCで書いていたプログラムより遅かったので驚愕しました。 簡単なのはよいのですが、速度が遅いのとプロファイル機能が手に入れなかったので、VisualBasicは断念しようと思います。 仕事とは直接関係ないのですが、今後の参考にしたいので、皆さまのご意見をお聞かせください。

  • Ipadのソフトウェアキーボードの入力言語切替について

    Ipadのソフトウェアキーボードの入力言語切替について IPadユーザーです。これまで入力言語の切替はソフトウェアキーボードのグローバルマークで「日本語」「English」と切替できましたが、今日突然「中国語」が選択肢に増えました。 中国語入力は使用しないので邪魔なのですが、これはバージョンアップか何かによる仕様変更なのでしょうか?それとも何か設定があるのでしょうか? ご支援お願い致します。

  • 他言語

    VB.net、Delphiなどでアプリケーションを作成する時に、中国語や韓国語を表示させたいと思います。次の2通りで検討していますが、経験がないのでやり方が分かりません。どなたか教えて下さい。(1)日本語Windowsで、画面表示やメッセージだけを他言語にする (2)中国語(韓国語)Windowsで開発する

  • Windows 7 Ultimate の多言語機能を使いたいと思います

    Windows 7 Ultimate の多言語機能を使いたいと思いますが、言語の切り替え操作が複雑と聞きました。購入前に具体的な切り替え操作(日本語⇔独語、仏語、英語)のやり方を知りたいので、教えて下されば、購入後にお手上げにならないで助かります。

  • 各プログラム言語の特徴

     プログラム言語の特徴を教えてください。 汎用的なソフトが作れる事、またネットワークやデーターベースが(Apacheなどを使わず)扱える事。 当方素人のため、言語に謝りや追加される事もあります。 前の人の回答や補足も見て頂けると幸いです。 知りたいのは、習得の難易度/生産性/実行速度/主な開発ソフト/将来性、他。 もちろん、一つでも問題ありません。 Visual Basic Visual Basic .NET C言語 C+ C++ C# Visual C Visual C+ Visual C++ Visual C# Visual C# .NET D言語 JAVA Delphi Ruby  第4世代言語(?)で他にもありましたらお願いします。 日本語プログラムのひまわり/なでしこなんかもあるみたいですねー。

  • windows7 ultimeteの35ヶ国語

    windows7アルティメット版の目玉機能?である35ヶ国語対応について 自分は中国語のunicodeに対応していないソフトウェアを使う事があります。 今はXPですが、そのソフトウェアを使う時だけ地域と言語の選択からソフトウェア環境を中国語にして 対応しています。 ですが毎回再起動する必要があり、中国語環境にすると逆に日本語のソフトウェアが正しく動かなくなったりするので不便です。 そこで、windows7 ultimeteに複数言語切り替えという機能があると知りました。 この機能は上記の様な別の言語で作成されたソフトを同時にもしくはいちいち設定変更→再起動しなくても使えるものでしょうか? それともただ単にwindowsの表示上の見た目を変えるだけでしょうか?

  • Windowsアプリ開発環境につきまして

    10数年前に、OJT3ヶ月を含め、1年余のC言語の経験がありましたが、その後コンピュータ業界を離れ。(よって、C言語は薄っすら記憶しているに過ぎません。)7,8年前にWEBプログラマーとして返り咲き(?)ました。(開発言語はPerl、PHP、ASPなどでした。) 1年前に主婦となりましたが、Windowsのアプリケーションを開発してみたいと思い、開発言語、開発環境など検討しております。 最終的にはシェアウエアの作成を目指したいと思っております。 過去の質問も多数拝見いたしましたが、初めてのプログラミング言語なら、という質問が多いように思いましたし、何しろ無料の環境は常に最新になっているようで・・・。 開発言語はDelphiかC++と思っておりますが、その為に何が必要かという部分が、今ひとつ見えておりません。 主婦という立場もあり、開発環境にお金をかけるのも心苦しいので、できれば無料の環境である程度その言語が使えるようになってから、シェアウエアの開発が出来る環境に切り替える。という方法はどうかと思っております。(挫折も懸念しておりますし・・・) そこで、お勧めの開発言語、開発環境(コンパイラ等々も含め)、それに伴った分かりやすい書籍、WEBサイトがございましたら、ご教授いただけませんでしょうか。 ちなみにBorlandがDelphiを手放すという噂も気になっております。ご存知の方がいらっしゃいましたらこの点の事情もお教えください。

  • Win10での言語切替

    Win 7で、日本語モードから中国語モードへの切替は出来ます。しかし、Win10、での言語モード切替が解かりません。  判る方がいれば教えてください。 但し、回答は日本語でお願いします。

  • Windows7 Ultimate の 35言語切り替え機能について

    Windows7 Ultimateの機能の「35言語切り替え」機能について、確認させてください。 これは、OS上の表示を切り替えるだけの機能になりますか? それともデゥアルブート的な感じで、各言語によって環境も異なるのでしょうか? 行いたいことは、各言語におけるホームページの文字化けチェックを行いたいと思っています。 通常、Webページに日本語文字を使うと、英語OSでは文字化けしますが、この機能を利用して同様のテストを行う事は可能でしょうか? 各言語を選択した場合の参照するフォント情報がどのようになるのか、という点になるかと思いますが、 各言語における参照しているフォントは同じになるので、英語環境でも文字化けせずに表示されてしまいますか? よろしくお願いいたします。

専門家に質問してみよう