Yahoo!Messenger
yellowTAB が
Yahoo!Messenger を出したと思ったら
BeY! を単に LocaleKit 対応にしただけだった。
yahoo.com アカウントだったら、もしかしたら日本語もそのまま通るかもしれない(UTF-8で処理しているようなので)けど、yahoo.co.jp アカウントではサーバーが違うのでサインインすらできない。
BeY! はオープンソースなので、日本仕様にカスタマイズできる。
以前、途中までやって投げ出しちゃったので、どこまで修正したか正確ではないがメモしておく。
まず、
BeY!src/MiniWin.cpp Line:
case GET_YID: {
BString url = "http://edit.yahoo.co.jp/config/eval_register?.intl=jp&new=1&.done=http%3a//messenger.yahoo.co.jp/index.html&.src=pg&.v=0&.u=70absk91nrfo5&partner=&.p=&promo=&.last=";
としてアカウント取得のページアドレスを変更する。
BeY!src/libyahoo2/libyahoo2.c Line:
static char pager_host[] = "cs.yahoo.co.jp";
static int pager_port = 5050;
static int fallback_ports[]={23, 25, 80, 20, 119, 8001, 8002, 5050, 0};
static char filetransfer_host[]="filetransfer.msg.yahoo.co.jp";
static int filetransfer_port=80;
static char webcam_host[]="webcam.yahoo.com";
static int webcam_port=5100;
static char webcam_description[]="";
static char local_host[]="";
static int conn_type=Y_WCM_DSL;
static char profile_url[] = "http://profiles.yahoo.co.jp/";
として、日本のサーバーに接続できるようにする。
同じく
BeY!src/libyahoo2/libyahoo2.c
snprintf(url, 1024, "http://insider.msg.yahoo.co.jp/ycontent/?ab2=0");
strncpy(url, "http://insider.msg.yahoo.co.jp/ycontent/?addab2=0", size);
snprintf(url, 1024, "http://insider.msg.yahoo.co.jp/ycontent/?chatcat=0");
snprintf(url, 1024, "http://insider.msg.yahoo.co.jp/ycontent/?chatroom_%d=0",chatroomid);
snprintf(url, 1024, "http://members.yahoo.co.jp/interests?.oc=m&.kw=%s&.sb=%d&.g=%d&.ar=0%s%s%s",
.com を .co.jp に修正。
あとは
y_utf8_to_str や y_str_to_utf8 廻りを sjis にしてあげればいいはずなんですが、ログファイルは正常に表示されても画面上で文字化けしたり、相手に表示されなかったりといったところでストップしてます。