namazu-dev(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
i18n (Re: gettext)
namazu コマンドの gettext化が一通り終わりました。gettext化し
た namazu コマンドの動作を確認してもらえると助かります。最新
のコードは
% cvs -d :pserver:guest@xxxxxxxxxxxxxxxxxx:/circus/cvsroot \
co -r namazu-1-9-4-libralization namazu
で取ってこれます。make は次の手順で行います
% ./configure --with-included-gettext
% make
% make install
# --with-included-gettext は必須です。[namazu-dev 468]
…というわけで、改めて国際化について考えてみます。意見をもら
えると助かります。
mknmz のメッセージはどうするか?
gettext.pm があるが、これは XS なので Win32 で困りそう。
XS も含めてきれいに Win32 用のバイナリパッケージを作れると
いいんだけど、どうでしょう? > 広瀬さん。
# NKF, Text::Kakasi の XS も使いたいし :-)
CGI のときのメッセージはどうするか?
環境変数 $LANG は信用できないので .namazurc の LANG の
設定または CGI変数 lang の値を優先すればいいでしょう。
HTTP_ACCEPT_LANGUAGEの値も見た方がいいかな? (悩むところ)
また .namazurc の LANG ディレクティヴは完全に CGI向けであ
ることをはっきりさせるために CGI_LANG などと名前を変えた方
がよさそう。
優先順位は
1. CGI変数 lang (例: http://foo.bar.jp/namazu.cgi?lang=ja )
2. .namazurc に CGI_LANG が設定されていればこの値
3. 1, 2がどちらも存在しないときは HTTP_ACCEPT_LANGUAGE
といったところかなあ。
mknmz, namazu のコマンドラインオプション --lang= をどうするか?
与えられた引数を元に mknmz, namazu 内部で環境変数 $LANG を
設定する。このオプションは廃止してしまってもいいかも。
./configure の --without-japanese, --with-lang= をどうするか?
廃止したい。言語依存の処理は mknmz, namazu 実行時の環境変
数 $LANGに応じて切り分けたい。つまり $LANG が ja から始まる
なら、 NKF を通す、日本語をわかち書きするといった、日本語固
有の処理を行う。
Win32 用の ja.po はどうするのか?
よく考えてみれば、Win32 上では mknmz, namazu はメッセージ
を EUC-JP から Shift_JIS に変換してから出力しています。つ
まり、EUC-JP の ja.po がそのまま流用できます。
ただ、内部でコード変換を行ってから出力するのは変な気がする
ので、ja_JP.sjis を用意した方がよい気もします。どちらがい
いのかしら?
OS/2 用の ja.po はどうするのか?
OS/2 で gettext を使えるか確認するのを忘れていました。たぶ
ん大丈夫だと思いますが。
内部コードはどうするのか?
$LANG が ja から始まるときは EUC-JP。それ以外の時は単純に
8-bit透過の 1 byte文字として処理します。つまり ISO-8859-x
が扱えます。Perl 5.6 がリリースされてしばらくしたら全面的
に UTF-8 に移行する予定です。
マニュアルはどうするのか?
日本語版とともに英語版を用意するつもりです。
そもそも何のために国際化するのか?
世界中の人に使ってもらいたいという野心があります。需要はた
ぶんあるでしょう。:-)
# 世界進出をたくらむなら公式 Webサイトを
# <http://www.namazu.org/> に移した方がいいかな? 計算機資
# 源とネットワ─ク資源を提供してくれる人・組織があるとい
# いんだけど…。(どなたかあてがありませんか?)
ところで、
Satoru Takabayashi <satoru-t@xxxxxxxxxxxxxxxxxx> wrote:
> * カタログを作るのが面倒
> - msgmerge, po-mode は使いづらい。イライラする。単調作業
> に消耗した一日だった。
慣れてくるとそんなに悪くないです。こんな感じに作業しています。
もっと楽な方法があるかな?
% cd ../po
% make namazu.pot
% msgmerge ja.po namazu.pot > ja.tmp.po
(ja.tmp.poを編集)
% mv ja.tmp.po ja.po
-- Satoru Takabayashi