読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

Google翻訳APIで文字列を翻訳するモジュールを書いた

Google翻訳APIで文字列を翻訳するモジュールを書きました。

  • 対象とする文字列と翻訳元/翻訳先言語を指定して呼び出すと、翻訳された文字列が返されます。
  • プロキシが必要なら「Translate.set_proxy」で事前に設定してください。
require 'rubygems'
require 'json/lexer'
require 'httpclient'
require 'uri'

#Google 翻訳APIで文字列を翻訳する
module Translate
  URL = "http://ajax.googleapis.com/ajax/services/language/translate"
  @@proxy = nil

  #プロキシ設定を行なう。
  def self.set_proxy( proxy )
    @@proxy = proxy
    @@client = nil
  end

  #文字列を指定された言語に翻訳する。
  def self.translate( q, from, to )
    @@client ||= HTTPClient.new( @@proxy, "Client")
    result = @@client.get( "#{URL}?v=1.0&q=#{URI.encode(q)}&langpair=#{from}%7C#{to}" )
    parsed = JSON::Lexer.new(result.content).nextvalue
    raise parsed["responseDetails"].to_s if parsed["responseStatus"] != 200
    parsed["responseData"]["translatedText"]
  end
end

class String
  # 文字列を日本語と見なして英語に翻訳する。
  def to_en
    Translate.translate( self, "ja", "en" )
  end
end

#呼び出しサンプル
Translate.set_proxy( "http://proxy.com:80" ) # 必要であれば。
puts "文字列を日本語と見なして英語に翻訳する".to_en

実行結果です。

Considers to be translated into English and Japanese text

さて、これで「それっぽい英語リソースファイル」を作るかな。