[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-devel:13958] Re: ja って何者?



At Fri, 30 Mar 2001 01:18:36 +0900,
Junichi Uekawa wrote:

> >   "ja" って何なのでしょうか.
> > 
> > ja_JP.eucJPなのか,ja_JP.utf8なのか,ja_JP.....なのか,良く分からないけ
> > れども,
> > 結構 "ja" とだけ付いている物があるような気がします.
> 
> とりあえず,一番目に付いたのが
> 
> /usr/share/locale/ja/LC_MESSAGES
> /usr/share/man/ja
> 
> ですが,どうやらeucJPである事が前提とされているように
> 見えます.
> 
> これは,jaに限った事では無いように思いますが,
> なんとなく,いやな感じがします.

これは、日本語ロケールに関する指針に乗っ取ったからじゃなかったかな。

http://nucba.www.linux.or.jp/JF/JFdocs/Japanese-Locale-Policy.txt

ただ、ここでは使用するなとなっています。

  ja              ロケール名称としては使用しないことを推奨する。しかし
                  ながら現時点では互換性の目的で、他に特に指定がない場
                  合には ja_JP.eucJP が指定されたかのように動作するこ
                  とが望ましい。この規定も将来変更される可能性が高い。

かといって、ja_JP.eucJP にしてしまえば良いかと言うと,そうしてしまうと 

  ja_JP.ujis      ja_JP.eucJP の別名とみなす。今後の使用は推奨されない
                  が歴史的な経緯から当面は使用可能とするのが望ましい。

の問題にひっかかってきます。libc の枠組を使ってるものは locale.alias でなん
とかできますが。独自にロケールを処理しているものは動かない可能性もあります。
例えば現状 tcl/tk8.2 は ja_JP.ujis でないと動きません。バグ報告すべき?
#そいえば ja_JP.eucJP に対応させるのは woody の目標だったような。

> 他には,debconfのtemplateのdescription-ja の文字コードなどが
> 例としてあげられると思います.

今ぱっと見てみましたが debconf は locale.alias を見ていないようです。

sub _getlangs {
        my $language=setlocale(5); # LC_MESSAGES
        if ($language eq 'C' || $language eq 'POSIX') {
                return;
        }
        elsif ($language=~m/^(\w\w)_/) {
                return $language, $1;
        }
        return $language;
}

これだと ("ja", "ja_JP.eucJP") にしかならないと思うので
LANG=ja_JP.ujis にしてる場合に問題がおきそうです。

#これも要作業? > locale.alias

--