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

[debian-devel:10747] Re: Fw: dpkg & i18n



  吉山です。

From: Fumitoshi UKAI <ukai@debian.or.jp>
Subject: [debian-devel:10736] Re: Fw: dpkg & i18n
Date: Sun, 24 Oct 1999 04:17:19 +0900

> rpm のは serious design mistake だの a bad example だのと言われてますが:)

  ほう。

> >   個人的には、タグを拡張して、
> > 
> >         Description-JP: (JA の方が良いのか?)
> >         Description-GB:
> >         Description-KR:
> >           ...
> > 
> > というタグに各国語のメッセージを納め、環境変数によって切替えるようにし
> > たらどうか、と考えています。勿論、環境変数に該当する説明文がなければ、
> > この手の仕組みでよく行われるように、デフォルト(Descripton:)のメッセー
> > ジが使用される事は言うまでもありません。
> 
> このやりかたは駄目だろうという意見がでてますね
> 
> From: Changwoo Ryu <cwryu@xxxxxxxxxxxxxxxx>
> To: Piotr Roszatycki <dexter@xxxxxxx>
> Cc: Debian Development Mailing List <debian-devel@lists.debian.org>
> Subject: Re: dpkg & i18n
> Message-ID: <87k8oel1sr.fsf@xxxxxxxxxxxxxxxxxxxx>
> 
> | Translated fields in one file for all the languages, like the recent
> | rpm .spec change?
> | 
> | I think the rpm change was a serious design mistake (also KDE .kdelnk
> | and GNOME .desktop were).  Multiple character encodings in one file is
> | not a good idea.  Maintaining such files is difficult.  In Emacs,
> | opening such files as a Korean mode might break other 8-bit encodings.

# なるほどね。韓国コードか。

  では、別のアプローチを取るしかありません。
  ご存知、Debian のバイナリパッケージ(.deb)の情報管理ファイルは下記の
ような構造をしています。

---
((16:45:52  master2:/tmp))
 yosshy: tar -ztvf control.tar.gz 
drwxr-xr-x root/root         0 1999-06-21 06:39:18 ./
-rwxr-xr-x root/root      1529 1999-06-21 06:39:17 postinst
-rw-r--r-- root/root       730 1999-06-21 06:39:17 control
-rwxr-xr-x root/root       731 1999-06-21 06:39:17 prerm
-rwxr-xr-x root/root       673 1999-06-21 06:39:17 postrm
-rw-r--r-- root/root        12 1999-06-21 02:44:04 conffiles
-rw-r--r-- root/root      2190 1999-06-21 06:39:18 md5sums
---

  こちらに、言語毎の description (+他?) を納めるディレクトリを作りま
す。考えられるフォーマットは2つ。(1)言語毎にディレクトリを作るか、(2)
情報毎にディレクトリを作るか。

  (1)の場合、

---
drwxr-xr-x root/root         0 1999-06-21 06:39:18 ./
-rwxr-xr-x root/root      1529 1999-06-21 06:39:17 postinst
-rw-r--r-- root/root       730 1999-06-21 06:39:17 control
-rwxr-xr-x root/root       731 1999-06-21 06:39:17 prerm
-rwxr-xr-x root/root       673 1999-06-21 06:39:17 postrm
-rw-r--r-- root/root        12 1999-06-21 02:44:04 conffiles
-rw-r--r-- root/root      2190 1999-06-21 06:39:18 md5sums
drwxr-xr-x root/root         0 1999-06-21 06:39:18 ja
-rw-r--r-- root/root       730 1999-06-21 06:39:17 ja/control
---

となり、(2)の場合、

---
drwxr-xr-x root/root         0 1999-06-21 06:39:18 ./
-rwxr-xr-x root/root      1529 1999-06-21 06:39:17 postinst
-rw-r--r-- root/root       730 1999-06-21 06:39:17 control
-rwxr-xr-x root/root       731 1999-06-21 06:39:17 prerm
-rwxr-xr-x root/root       673 1999-06-21 06:39:17 postrm
-rw-r--r-- root/root        12 1999-06-21 02:44:04 conffiles
-rw-r--r-- root/root      2190 1999-06-21 06:39:18 md5sums
drwxr-xr-x root/root         0 1999-06-21 06:39:18 description
-rw-r--r-- root/root       730 1999-06-21 06:39:17 description/ja
---

となります。ディレクトリの追加であれば、以前の dpkg とフォーマット上の
互換性がある(かもしれない)はずです。
  必要であれば、prerm や postrm 等の各言語版を用意しても良いかも知れま
せんが、本来これらは1つのファイルを国際化した方が良いのかも知れません。
この点に関しては知識人の方々の意見を求めたいところです。

  それと、忘れてはいけないのが /var/lib/dpkg/{status, available}。こち
らも、言語毎の description ファイルを同パス上に置いて、該当するパッケー
ジの説明文があればそちらを使うという工夫をする必要があります。また、
Packages ファイルの生成過程にも i18n 化を意識した工夫が必要なのは言う
までもありません。

---
   Name: 吉山あきら  Akira Yoshiyama
   E-mail: yosshy@debian.or.jp  (yosshy@xxxxxxxxxxxxx)