rubyでgoogle翻訳を使ってみる
翻訳BOTでも作ってみようかなって思ってgoogle翻訳は面白いから(精度は関係ない!)ちょっと調べてみたら
gemにEasyTranslateって言うのがありました(https://github.com/seejohnrun/easy_translate)
使い方はドキュメントを見ればすぐ解るのですが、いかんせんドキュメント通りじゃ動きません。
irb(main):001:0> require 'rubygems' => true irb(main):002:0> require 'easy_translate' => true irb(main):003:0> EasyTranslate.translate('Hola, mundo', :from => :spanish, :to => :en) EasyTranslate::EasyTranslateException: Suspected Terms of Service Abuse. Please see http://code.google.com/apis/errors from /var/lib/gems/1.8/gems/easy_translate-0.2.1/lib/easy_translate/translator.rb:128:in `api_call' from /var/lib/gems/1.8/gems/easy_translate-0.2.1/lib/easy_translate/translator.rb:61:in `translate' from (irb):3
多分ドキュメント通りにやると上記のエラーが出ると思います。(実行環境 ruby 1.8.7)
何が足りないって、APIKEYが足りなかったんですよ!
https://code.google.com/apis/console/#project:78960694122
ここ行ってAPIKEY取得して再度コンソールでトライ!
irb(main):011:0> EasyTranslate.translate('Hola, mundo', :from => :spanish, :to => :en, :key => GOOGLE_API_KEY) => "Hello world"
これで意図した動きになりました。