はじめに
プログラムを書いたり成果物を公開したりしていると何かと英語を書かねばならないことが多いと思います.
私自身は英語がものすごく得意と言うわけではないので自分が書いた英語が不安なときはGoogle翻訳に渡して自分が思っているような日本語にちゃんと翻訳されるかどうかというチェックをしたりします.
普段文章を書くときはほとんどVimを使っているのですがちょっとした英語のチェックのためにマウス操作を強いられるのが結構なストレスです.そこでなにか良いツールが無いかと探していたらtranslate-shellというツールを発見したので備忘録的に個人的に便利だと思う使い方をまとめたいと思います.
導入
Gnu Awkさえ入っていれば導入はかんたんです.
git clone
してmake install
するだけです.
$ git clone https://github.com/soimort/translate-shell
$ cd translate-shell/
$ make
$ [sudo] make install
ターミナルから使う
基本的な使い方はtrans -sl=翻訳元の言語 -tl=翻訳先の言語 "翻訳したいテキスト"
のような感じです.なお対話環境で翻訳したりなど結構リッチな機能も色々備えているようですが今回は簡単にチェックするのが目的なので扱いません.
$ trans -sl=en -tl=ja "Peace begins with a smile."
Peace begins with a smile.
平和は笑顔で始まります。
(Heiwa wa egao de hajimarimasu.)
Translations of Peace begins with a smile.
[ English -> 日本語 ]
Peace begins with a smile.
平和は笑顔で始まります
長い出力が鬱陶しいときは-brief
または-b
をオプションに追加します.
$ trans -b -sl=en -tl=ja "Peace begins with a smile."
平和は笑顔で始まります。
ファイルを翻訳したいときは-i ファイル名
でファイルを指定します.
$ trans -b -sl=en -tl=ja -i teresa.txt
平和は笑顔で始まります。
なおファイルに結果を出力したければ同様に-o ファイル名
で出力先を指定できます.また-v
または-view
を指定するとless
などのページャで結果を見ることもできます.
Vimから使う
別にこのツールに限った使い方ではないのでvimmerな方ならここまで読めばここから先は必要ないと思いますが備忘録として書いておきます.
編集中のファイル全体を翻訳
:w !コマンド
でバッファの中身を任意のコマンドに流し込めます.なので今回の場合だと以下のようになります.
:w !trans -b -sl=en -tl=ja
これで翻訳結果が表示されエンターキーで編集に戻ります.
選択範囲を翻訳
Visualモードで範囲選択後:
を押して任意のコマンドを入力すれば選択行に対して処理を実行できます.具体的には以下のような手順です.
v
...範囲を選択...
:
w !trans -b -sl=en -tl=ja
最終的なコマンドラインは以下のようになっているはずです.
:'<,'>w !trans -b -sl=en -tl=ja
いちいち打つのが面倒なのでtrans -b -sl=en -tl=ja
をシェルで適当なエイリアスを設定しておくかVimのキーバインドに設定しておくと良さそうです.