[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