[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: pkgsrc コメント翻訳
>>> http://www.jp.NetBSD.org/ja/JP/ml/www-changes-ja/200710/msg00054.html
> やってみました。1日1回(朝7:00)に更新しています。
> うまい感じで更新されているようです。
>
> http://www.jp.netbsd.org/ja/JP/Documentation/Packages/list/README.html
ありがとうございます。
あとは、私の宿題ですね。
FreeBSD 由来の翻訳の抹殺は、この正月休みでなんとかしたいと思います。
また、以前に書いた、
In message <20071202.014453.59482359.kano@na.rim.or.jp> I wrote:
>> x11/oneko|他の動物も持ったデスクトップ上以外はxnekoによく似たプログラム
>
> みたいになってるのを、
>
>> x11/oneko|他の動物も持ったデスクトップ上以外はxnekoによく似たプログラム|Much like xneko except on the desktop and with other animals.
>
> みたいにすればどうかと思っています。
>
> で、最新の原文 (Like xneko except on the desktop and with other animals)
> と違ってるやつは、
> nodata.html みたいに書き出して、私らがすぐ気づくようにするとか、
> どこぞみたいに「最新の原文とはずれがあります」を表示するとかです。
これへのご意見がないのですが、
異議なしとみなしてやっちゃいますよ?
# ダサダサとかいわれると思っていたのですががが
# あと、$wwwdir が $wwwsrc になってるとこを修正とか。
Index: comment2ja.pl
===================================================================
RCS file: /cvsroot/htdocs/JP/Documentation/Packages/comment2ja/comment2ja.pl,v
retrieving revision 1.23
diff -u -r1.23 comment2ja.pl
--- comment2ja.pl 4 Oct 2007 02:14:19 -0000 1.23
+++ comment2ja.pl 28 Dec 2007 15:13:32 -0000
@@ -4,7 +4,7 @@
#
$|=1;
-my (%category, %packages,%nodata);
+my (%category, %packages, %nodata, %obsoletedata);
my ($pkgsrc) = shift;
my ($wwwdir) = shift;
my ($mode) = 0755;
@@ -21,9 +21,9 @@
my (@data) = split(/\|/);
if ($data[0] =~ /\//) {
- $packages{$data[0]} = $data[1];
+ $packages{$data[0]} = { "ja" => $data[1], "en" => $data[2] };
} else {
- $category{$data[0]} = $data[1];
+ $category{$data[0]} = { "ja" => $data[1], "en" => $data[2] };
}
}
close(COMMENT);
@@ -60,13 +60,17 @@
&rej("README.html");
open(SRC, "$tmpfile") || die "src:$tmpfile\n";
if (! -d $wwwdir) {mkdir($wwwdir, $mode) || die "dst:$wwwdir\n";}
-open(DST, "|nkf -j > $wwwdir/README.html") || die "dst:$wwwsrc/README.html\n";
+open(DST, "|nkf -j > $wwwdir/README.html") || die "dst:$wwwdir/README.html\n";
while (<SRC>) {
if (/^<TR><TD VALIGN=TOP><a href=\"([^\/]+)/) {
my ($p) = $1;
- my ($cat) = $category{$p};
+ my ($cat) = $category{$p}{"ja"};
if (defined($cat)) {
- s/(<\/a>:\s*).*(<TD>)/$1$cat$2/;
+ s/(<\/a>:\s*)(.*)(<TD>)/$1$cat$3/;
+ my $current = $2;
+ if ( $current ne $category{$p}{"en"} ) {
+ $obsoletedata{$p} = join("|", $category{$p}{"ja"}, $category{$p}{"en"}, $current);
+ }
} else {
/<\/a>:\s*(.*)<TD>/;
$nodata{$p} = $1;
@@ -85,13 +89,17 @@
close(SRC);
&rej("README-all.html");
open(SRC, "$tmpfile") || die "src:$tmpfile\n";
-open(DST, "|nkf -j > $wwwdir/README-all.html") || die "dst:$wwwsrc/README-all.html\n";
+open(DST, "|nkf -j > $wwwdir/README-all.html") || die "dst:$wwwdir/README-all.html\n";
while (<SRC>) {
if (/<TR VALIGN=TOP><TD><a href=\"([^\/]+\/[^\/]+)\/README.html/) {
my ($p) = $1;
- my ($pkg) = $packages{$p};
+ my ($pkg) = $packages{$p}{"ja"};
if (defined($pkg)) {
- s/(\) <td>).*/$1$pkg/;
+ s/(\) <td>)(.*)/$1$pkg/;
+ my $current = $2;
+ if ( $current ne $packages{$p}{"en"} ) {
+ $obsoletedata{$p} = join("|", $packages{$p}{"ja"}, $packages{$p}{"en"}, $current);
+ }
} else {
/\) <td>(.*)/;
$nodata{$p} = $1;
@@ -110,16 +118,13 @@
close(SRC);
&rej("README-IPv6.html");
open(SRC, "$tmpfile") || die "src:$tmpfile\n";
-open(DST, "|nkf -j > $wwwdir/README-IPv6.html") || die "dst:$wwwsrc/README-IPv6.html\n";
+open(DST, "|nkf -j > $wwwdir/README-IPv6.html") || die "dst:$wwwdir/README-IPv6.html\n";
while (<SRC>) {
if (/<TR VALIGN=TOP><TD><a href=\"([^\/]+\/[^\/]+)\/README.html/) {
my ($p) = $1;
- my ($pkg) = $packages{$p};
+ my ($pkg) = $packages{$p}{"ja"};
if (defined($pkg)) {
- s/(\) <td>).*/$1$pkg/;
- } else {
- /\) <td>(.*)/;
- $nodata{$p} = $1;
+ s/(\) <td>)(.*)/$1$pkg/;
}
}
print DST $_;
@@ -147,19 +152,16 @@
if (! -d "$wwwdir/$dir")
{mkdir("$wwwdir/$dir", $mode) || die "dst:$wwwdir/$dir\n";}
open(DST, "|nkf -j >$wwwdir/$dir/README.html") ||
- die "dst:$wwwsrc/$dir/README.html\n";
+ die "dst:$wwwdir/$dir/README.html\n";
while (<SRC>) {
s/You are now in the directory (".*")./$1 ディレクトリー/;
if (/^<TR><TD VALIGN=TOP><a href=\"([^\/]+)/) {
my ($p) = "$dir/$1";
- my ($pkg) = $packages{$p};
+ my ($pkg) = $packages{$p}{"ja"};
if (defined($pkg)) {
- s/(<\/a>:\s*).*(<TD>)/$1$pkg$2/;
- } else {
- /<\/a>:\s*(.*)<TD>/;
- $nodata{$p} = $1;
+ s/(<\/a>:\s*)(.*)(<TD>)/$1$pkg$3/;
}
}
print DST $_;
@@ -171,7 +173,7 @@
# Package README.html
#
opendir(CATEGORY, "$pkgsrc/$dir") || die "$pkgsrc/$dir";
- foreach $pkgdir (readdir(CATEGORY)) {
+ foreach my $pkgdir (readdir(CATEGORY)) {
if ($pkgdir =~ /^\.$/ || $pkgdir =~ /^\.\.$/ ||
! -d "$pkgsrc/$dir/$pkgdir" ||
! -f "$pkgsrc/$dir/$pkgdir/Makefile" ||
@@ -188,7 +190,7 @@
{mkdir("$wwwdir/$dir/$pkgdir", $mode) ||
die "dst:$wwwdir/$dir/$pkgdir\n";}
open(DST, "|nkf -j >$wwwdir/$dir/$pkgdir/README.html") ||
- die "dst:$wwwsrc/$dir/$pkgdir/README.html\n";
+ die "dst:$wwwdir/$dir/$pkgdir/README.html\n";
my ($com) = 0;
while (<SRC>) {
@@ -210,9 +212,12 @@
$com++;
} elsif ($com == 2) {
$com = 0;
- my ($pkg) = $packages{"$dir/$pkgdir"};
+ my ($pkg) = $packages{"$dir/$pkgdir"}{"ja"};
if (defined($pkg)) {
- s/.*/$pkg/;
+ s/(.*)/$pkg/;
+ if (defined($obsoletedata{"$dir/$pkgdir"})) {
+ $_ .= " (最新の原文とは、ずれがあります)\n";
+ }
}
}
print DST $_;
@@ -228,9 +233,9 @@
#
# nodata pkgs
#
-open(DST, ">$wwwdir/nodata.html") || die "dst:$wwwsrc/nodata.html\n";
+open(DST, ">$wwwdir/nodata.html") || die "dst:$wwwdir/nodata.html\n";
my (@pkgs) = keys %nodata;
-if ($#pkgs > 0) {
+if ($#pkgs >= 0) {
print "NODATA:\n";
print DST <<EOF;
<html>
@@ -255,4 +260,34 @@
}
close(DST);
+#
+# obsoletedata pkgs
+#
+open(DST, ">$wwwdir/obsoletedata.html") || die "dst:$wwwdir/obsoletedata.html\n";
+@pkgs = keys %obsoletedata;
+if ($#pkgs >= 0) {
+ print "OBSOLETEDATA:\n";
+ print DST <<EOF;
+<html>
+<head><title>NetBSD Packages</title></head>
+<body>
+<pre>
+EOF
+
+ my ($pkg);
+ foreach $pkg (sort keys %obsoletedata) {
+ print DST "$pkg|$obsoletedata{$pkg}\n";
+ print "$pkg|$obsoletedata{$pkg}\n";
+ }
+
+ print DST <<EOF;
+</pre>
+</body>
+</html>
+EOF
+} else {
+ print DST "<html><body>OK</body></html>\n";
+}
+close(DST);
+
0;