Practice of Programming

プログラム とか Linuxとかの話題

tranにdiff追加した

翻訳で取りたい diff というと

  1. オリジナル - 翻訳間
  2. オリジナル - オリジナル
  3. 翻訳 - 翻訳

て、感じ。3はおまけかな。

tran diff cpan Moose

とすると、オリジナルと翻訳のdiffが取れます。冒頭が微妙だったので、途中を抜粋。

 --- /home/ktat/.tran/original/cpan/Moose/0.93/lib/Moose/Manual.pod
 +++ /home/ktat/git/github/jpa-translation/Moose-Doc-JA//Moose/Manual.pod
 @@ -2,49 +2,29 @@
  
  =pod
  
 -=head1 NAME
 +=head1 題名
  
 -Moose::Manual - What is Moose, and how do I use it?
 +Moose::Manual - Mooseとはなにか、どうやって使うのか
  
 -=head1 WHAT IS MOOSE?
 +=head1 Mooseとはなにか?
  
 -Moose is a I object system for Perl 5. Consider any modern
 -object-oriented language (which Perl 5 definitely isn't). It provides
 -keywords for attribute declaration, object construction, inheritance,
 -and maybe more. These keywords are part of the language, and you don't
 -care how they are implemented.
 +Mooseは、Perl 5のために書かれた「完全な」オブジェクトシステムです。現代的なオブジェクト指向言語をなにかひとつ思い浮かべてみてください(Perl 5は決して現代的なオブジェクト指向言語ではありません)。アトリビュートを宣
 言したり、オブジェクトを構築したり、継承を行ったり、あるいはもっといろいろできるかもしれませんが、そのような作業のためのキーワードが用意されていますし、その実装がどうなっているかなんてだれも気にとめません。

オプションとして、-o/-t がありますが。

  • -t ... 翻訳間の diff を取る
  • -o ... オリジナル間の diff を取る

-t は、JPAの文書では使えません。JPAの文書の前のバージョンの翻訳を取ってくる仕組みは実装してないんで...。
でも、-t は特に必要ない気はします。

tran diff -o cpan Moose

って、やると、前のバージョンのMooseと、最新のバージョンのMooseの diff を取ります(ソースコードじゃなくて、podの)。

tran diff -v 0.89 Moose

のように、バージョンを指定することもできます(0.89と最新のdiffを取ります)。

tran diff -v 0.89:0.92 Moose

とかね(0.89と0.92のdiffを取ります)。

ただし、tran が持っているバージョンになります。
持ってない場合は、コケます。なければ、get してやってもいいんだけど。

現在のところ、ファイルは指定できませんので、diff -r みたいな結果になります。
そのうちファイルは指定できるようにします。


ちなみに、TRAN_PAGER=less とかってしてあげると、ページャーで見れますので、設定しておくといいかも。