[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:42596] [gettext] ja.po の msgid に non-ASCII 文字は使える?
こんばんは、はじめまして。濱崎と申します。
UTF-8 で書かれた日本語メッセージカタログ、ja.po ファイルの中で、
msgid の中に 人名を表記するため(フランス語など)
non-ASCII が入っているソフトがあります。
Debian パッケージにも入っている HTML エディタ、Bluefish です。
http://bluefish.openoffice.nl/
この msgid に対応した msgstr を書いて、
msgfmt ja.po -o ja.gmo
とし、この ja.gmo を /usr/share/locale/ja/LC_MESSAGES/bluefish.mo
としてインストールしました。
locale(1) の実行結果が
LANG=ja_JP.eucJP
LC_CTYPE="ja_JP.eucJP"
LC_NUMERIC="ja_JP.eucJP"
LC_TIME="ja_JP.eucJP"
LC_COLLATE="ja_JP.eucJP"
LC_MONETARY="ja_JP.eucJP"
LC_MESSAGES="ja_JP.eucJP"
LC_PAPER="ja_JP.eucJP"
LC_NAME="ja_JP.eucJP"
LC_ADDRESS="ja_JP.eucJP"
LC_TELEPHONE="ja_JP.eucJP"
LC_MEASUREMENT="ja_JP.eucJP"
LC_IDENTIFICATION="ja_JP.eucJP"
LC_ALL=ja_JP.eucJP
となっている環境で bluefish を起動してみました。
msgid が ASCII のみで書かれている文字列に対応する msgstr は表示されますが、
msgid に non-ASCII が含まれている文字列に対応する msgstr は表示されません。
msgid のままになります。
もっと小さな
printf("Hello World");
レベルのプログラムでも、結果は同じでした。
これは、仕様なのでしょうか。
2003 年に久保田さんが書かれた Introduction to i18n
http://www.jp.debian.org/doc/manuals/intro-i18n/ch-library.en.html#s-gettext
には、
Don't use non-ASCII characters for 'msgid'.
と書かれています。
これは、今も変わらないのでしょうか?
Bluefish の開発メーリングリストでは、msgid に使える文字は ASCII に
限らない、という回答でした。また、fr_FR ロケールでは、
non-ASCII の msgid に対応する msgstr も表示できているようです。
また、Debian 上の de_DE ロケールでは ja_JP.eucJP と同じく
変換されないという話でした。
なお、bluefish は Debian の公式 パッケージに入っているものではなく、
Bluefish の CVS から持ってきたものを使用しています。
http://bluefish.openoffice.nl/development.html
Bluefish のソースには、元から debian ディレクトリが含まれています。
以上の質問の中で足りない記述などありましたら、ご指摘ください。
よろしくお願いします。
--------------------------------------------------
濱崎 健 E-mail: hma@xxxxxxxxxxxxx