ホーム > IP Messenger > IP Messenger の多言語対応

IP Messenger の多言語対応

2010 年 11 月 10 日 コメントをどうぞ コメント

本家 IP Messenger (Windows 版)の最新ベータ版(2.50b7)が出ています。実はこれ、結構大きな意味のある変更が入っています。

「多言語(UTF-8)通信対応」というやつです。

最近、たまたまなんですが、妙に海外からの問い合わせが多いです。IPMsg の Mac 版がクラッシュするんだけど、と。ヨーロッパ圏(言語)、中国(語)あたりの問い合わせが多いです。メカニズムは分かっているんですが、どうしようもないというか、対応する必要はないかな、と思っていた問題でした。それが今回の変更をきっかけに直ってしまうかもしれません。かなり長年期待していたところだったので、少しやる気出てきてしまったかも。

落ちたり文字化けするのは、Mac OS X だとアプリ内部は Unicode で文字列データを扱うので、通信が SJIS と決まっている IPMsg では、通信のたびに SJIS と Unicode を変換しているからです。OS のライブラリ的に文字列変換でアプリクラッシュするのもどうなんだろってのはありますが、ヨーロッパ圏のウムラウト他の 8bit ASCII や、中国語のようなマルチバイトの文字符号で、SJIS の漢字 1byte 目のコードと同じもの出てくると、続くデータの解釈でいろいろおかしな事になるのは想像つきます。互換性がなくなるのを覚悟して使う前提で環境設定で文字符号を設定できるようにしても良かったのですが、正式仕様を逸脱したくなかったので、対応はしてきませんでした。
Windows の場合は、プログラム内部で使う文字符号が OS の言語毎に違うので、文字符号変換が必要ありません。中国語 OS 同士であれば、中国語のやりとりも結果としてうまくいっちゃうんですよね。良い悪いや優劣ではなくそういう仕組み上の違いがあるってだけですけど。

なので、Mac OS X だと日本語と英語以外で通信すると不安定になる、Windows だと異なる言語設定の OS 同士だと文字化けして通信できない、といった状況になります。

今回、Windows 版のベータが UTF-8 に対応することで、少なくとも対応クライアントを利用する限りは、これまで起きていたクラッシュがなくなります。現状のベータでは本文のみの Uniocode 化で、まだユーザ名やグループ名などは Unicoce 非対応です。これは通信プロトコルの都合で対応方法を検討する必要があるからなんですが、過去との互換性を重視した設計をされる作者の @shirouzu さんらしい進め方だと思います。

Twitter で聞いてみましたが、Windows 版の 2.5 は年内には出したいとのこと。Mac OS X 版も早めに対応していきたいと思います。前回バージョンアップ目前までいって OS 10.4 での問題が出て停滞してしまっているので、いい加減重い腰を上げないといかんですな。


カテゴリー: IP Messenger タグ:
  1. コメントはまだありません。
  1. トラックバックはまだありません。