Permalink
Browse files

finish start_trans_cpan.pl and update README_perlchina

  • Loading branch information...
1 parent 588fcba commit 1e32ff9bf5f8dc8050c221c1e342cf1a9b14f782 Achilles Xu committed Apr 18, 2012
Showing with 45 additions and 0 deletions.
  1. +4 −0 README_perlchina.pod
  2. +41 −0 start_trans_cpan.pl
View
@@ -38,6 +38,8 @@ PerlChina 社区网站是对 L<http://www.perl.org> 、L<http://search.cpan.org>
=item * 网站每1分钟会自动 pull 翻译文件。
+=item * 翻译 CPAN 与以上翻译网站类似,只是需要运行 C<perl start_trans_cpan.pl Dancer::Request> 这样来生成翻译骨架。前面这个指令会生成 C<data/origin/cpan/Dancer-Request.old> 文件(基准原文文件)和 C<data/trans/cpan/Dancer-Request.old> 文件(翻译工作针对此文件进行)。注意需要在翻译文件顶部加上 C<=encoding utf-8> 和 C<=cut> 两行,翻译完后文件渲染才不会乱码。翻译后的文件可以在 L<http://cpan.perlchina.org> 查看,如: L<http://cpan.perlchina.org/~rschupp/PAR-Packer-1.013/lib/PAR/Packer.pm> 。
+
=back
=head2 不加入翻译团队
@@ -58,6 +60,8 @@ PerlChina 社区网站是对 L<http://www.perl.org> 、L<http://search.cpan.org>
=over 4
+=item * 新加入翻译的志愿者最好加入 QQ 群 552603 ,方便在初始流程不熟的时候得到帮助,并能够跟大家一起探讨翻译用语约定。
+
=item * 不要破坏页面结构和缩进,只在原来位置替换英文。
=item * 注意 perl.org 用的缩进是空格。
View
@@ -0,0 +1,41 @@
+use strict;
+use warnings;
+
+use Smart::Comments;
+use LWP::UserAgent;
+use File::Copy qw(cp);
+
+my $module = shift @ARGV;
+### $module
+die "Usage : perl $0 <modulename>" unless $module;
+
+my $ua = LWP::UserAgent->new;
+$ua->max_redirect(0);
+
+my $res = $ua->get("http://search.cpan.org/perldoc?". $module);
+
+if ($res->code == 302) {
+ my $url = $res->header('location');
+ $url =~ s{^/~([^/]+)}{'http://cpansearch.perl.org/src/'.uc($1)}e;
+ ### $url
+
+ $module =~ s{::}{-}g;
+ my $bfile = "data/origin/cpan/".$module. ".old";
+ ### $bfile
+ my $tfile = "data/trans/cpan/".$module.".old";
+ ### $tfile
+ $res = $ua->get($url);
+ if ($res->is_success) {
+ my $fh;
+ open $fh, ">", $bfile or die $!;
+ print $fh $res->content;
+ close $fh;
+ open $fh, ">", $tfile or die $!;
+ print $fh $res->content;
+ close $fh;
+ ### scaffold create succeed
+ exit 0;
+ }
+}
+
+print "no this module", "\n";

0 comments on commit 1e32ff9

Please sign in to comment.