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