[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-devel:00461] Re: dpkg-1.4.0.6(JP)
やなぎはらです。
yosshy> 吉山@神戸大です。
yosshy>
yosshy> # 昨日は学校に来れませんでした。
yosshy>
yosshy> I received from yochi@xxxxxxxxxxx on 01 21 , 1997.
yosshy>
yosshy> + yosshy> 日本語版 dpkg の 1.4.0.6 を作りましたので ftp.linux.or.jp に
dpkg_1.4.0.6 をインストールしたあとでは、 dpkg_1.4.0.6/dpkg_1.4.0.6-JP
のインストールができなかった ....(;_;)
吉山さんは、dpkg_1.4.0.6-jp をインストールできました?
yosshy> + yosshy> put しました(gettext 化は難航しています)。
yosshy> + gettext化は難しいですか?
yosshy>
yosshy> gettext 化の手順は分かるのですが、dpkg のソースの書き方が gettext 化に
yosshy> 向いていない部分があるのです。(TT
yosshy> 具体的には、
yosshy> ---
yosshy> static void usage(void) {
yosshy> if (!fputs("\
yosshy> Usage: " BACKEND " -b|--build <directory> [<deb>] Build an archive.\n\
yosshy> " BACKEND " -c|--contents <deb> List contents.\n\
yosshy> " BACKEND " -I|--info <deb> [<cfile>...] Show info to stdout.\n\
yosshy> " BACKEND " -f|--field <deb> [<cfield>...] Show field(s) to stdout.\n\
yosshy> " BACKEND " -e|--control <deb> [<directory>] Extract control info.\n\
yosshy> " BACKEND " -x|--extract <deb> <directory> Extract files.\n\
yosshy> " BACKEND " -X|--vextract <deb> <directory> Extract & list files.\n\
yosshy> " BACKEND " --fsys-tarfile <deb> Output filesystem tarfile.\
yosshy> n\
yosshy> " BACKEND " -h|--help Display this message.\n\
yosshy> " BACKEND " --version | --licence Show version/licence.\n\
yosshy> <deb> is the filename of a Debian format archive.\n\
yosshy> <cfile> is the name of an administrative file component.\n\
yosshy> <cfield> is the name of a field in the main `control' file.\n\
yosshy> Options: -D for debugging output; --old or --new controls archive format;\n\
yosshy> --no-check to suppress control file check (build bad package).\n\
yosshy> \n\
yosshy> Use `" DPKG "' to install and remove packages from your system, or\n\
yosshy> `" DSELECT "' for user-friendly package management. Packages unpacked\n\
yosshy> using `" BACKEND " --extract' will be incorrectly installed !\n",
yosshy> stdout)) werr("stdout");
yosshy> }
yosshy> ---
yosshy> という部分が(特にヘルプ部分に多く)あって、これが悪さしているのです。
yosshy> 現在、プリプロセッサを通して上記の部分を先に1行にしてしまうような
yosshy> 処理を考えているのですが、道は遠いようです。
う〜ん、そうですねぇ。
ちょっと、上記のようなパターンの簡易版のソースを作って、
テストしてみました。
--- a.c ---
#include <locale.h>
#include <libintl.h>
#include <stdio.h>
#define DDD "test" <---- DPKG のばあい、include/dpkg.h で定義
main()
{
int value;
setlocale(LC_ALL, "");
bindtextdomain("a", "/usr/share/locale");
textdomain ("a");
value = 10;
fprintf(stderr, gettext("usage: " DDD " Hello! Value=%d\n"));
exit(0);
}
-------------
---- プレメッセージファイル a.pre.po --
msgid "usage: "DDD" Hello! Value=%d\n"
msgstr "形式: "DDD" こんにちは! 値は %d\n"
-------------------
cc -o a a.c -lintl
sed 's/\"DDD\"/test/g' a.pre.po > a.po
msgfmt a.po -o a.mo
上記の手順で、メッセージファイル中の "DDD" (dpkg の場合は、" DPKG ")を
sed で置換します。置換し終ったファイルをメッセージファイルとして、
使えば、何とかいけそうです。
dpkg のソース中のメッセージを、そっくりそのままメッセージIDに使ってし
まおうというのが、上記の手段です。
だめかなぁ、こういう手段。
yosshy> + パッケージ名の事なのですが、オリジナルパッケージと同名になるのは
yosshy> + dselect の時に都合が悪いので、日本語パッケージということが
yosshy> + 分かるようにしませんか?
yosshy> +
yosshy> + dpkg なら jdpkg とか、dpkg-jp とか。
yosshy> +
yosshy> + いま、mh, man とかが該当すると上記の問題に該当するのですが、
yosshy> + jmh, jman にするか、mh-jp, man-jp にするかで悩んでいます。
yosshy>
yosshy> 皆さんのルールに従います。
じゃ、dpkg-ja にしてもらえますか?
+---------------------------------------------------------+
Yoshiaki Yanagihara E-mail: yochi@xxxxxxxxxxx
yosiaki@debian.org
Debian JP Project
[Japanese] http://www.linux.or.jp/~yochi/debian-jp.html
[English ] http://www.linux.or.jp/~yochi/debian-jp-e.html