image

  • フォト Amazonギフト券
    ※この時計の時刻は、閲覧しているパソコンのものであり、必ずしも正確な時間とは限りません

検索

最近のトラックバック

無料ブログはココログ

« 2008年3月22日 | トップページ | 2008年3月24日 »

2008年3月23日

2008-03-23

google rtranslate を試した

google rtranslate という google の電子翻訳 API を試してみた。

$ sudo gem install rtranslate

コマンドラインでも動作する。
$ rtranslate -f en -t ja "i love you"

アイラブユー
$ rtranslate -f en -t ja "I love you."
あなたを愛しています。
$ rtranslate -f en -t ja "I hate you."
ママなんて大嫌いだ。

上と同じことを ruby スクリプトでも試す。
これがスクリプト。
$ cat rtrans.rb
# See http://stickstack.org/node/245
#     http://code.google.com/p/rtranslate/wiki/SupportLanguage (サポート言語一覧)

require 'rubygems'
require 'rtranslate'

puts Translate.t("japan", Language::ENGLISH, Language::JAPANESE)
puts Translate.t("I love you", Language::ENGLISH, Language::JAPANESE)
puts Translate.t("I love you.",  Language::ENGLISH, Language::JAPANESE)
puts Translate.t("I hate you.", Language::ENGLISH, Language::JAPANESE)

実行してみよう。
$ ruby rtrans.rb
日本
アイラブユー
あなたを愛しています。
ママなんて大嫌いだ。

"I hate you." の you は 何故 ママに限定される?

http://www.google.com/uds/samples/language/translate.html
として、 ajax での翻訳 API もある。

Mac での say コマンド(単語を発発音してくれる) と組み合わせて使うと面白いかもしれない。
xfy/xvcd とからの利用法も考えてみたい...

祝日一覧を google から得る

- http://emasaka.blog65.fc2.com/blog-entry-289.html
> > 本を読む 祝日のリストをGoogle Calendar APIを使って作る
なんて記事を読んだ。

なぜか
  REXML::XPath.match(doc, '//entry/gd:when/@startTime')
がうまく 要素のマッチしないので、
element#attribgutes を使ってデータを得るように書き換えてみた。
以下にスクリプトと実行例を示す。

$cat holiday.rb
# See http://emasaka.blog65.fc2.com/blog-entry-289.html

require 'set'
require 'date'
require 'open-uri'
require 'rexml/document'
require 'pp'

$KCODE="utf8"

HOLYDAY_URL_PTN = 'http://www.google.com/calendar/feeds/japanese@holiday.calendar.google.com/public/full?start-min=\
%s&start-max=%s'

class HolidayList < Set
  def initialize(from, to)
    super()
    from_s = from.strftime('%F')
    to_s = to.strftime('%F')
    open(HOLYDAY_URL_PTN % [from_s, to_s]) {|io|
      doc = REXML::Document.new(io)
      REXML::XPath.match(doc, '//entry').each {|elm|
        date = REXML::XPath.match(elm, 'gd:when')[0].attributes['startTime']
        title = REXML::XPath.match(elm, 'title/text()')[0].to_s
        self << date + " " + title
      }
    }
  end
end

year = Time.new.strftime("%Y").to_i
list = HolidayList.new(Date.new(year, 1, 1), Date.new(year, 12, -1))
list.sort.each {|d| puts d}

$ ruby holiday.rb
2008-01-01 元日
2008-01-14 成人の日
2008-02-11 建国記念の日
2008-03-20 春分の日
2008-04-29 みどりの日
2008-05-03 憲法記念日
2008-05-04 国民の休日
2008-05-05 こどもの日
2008-07-21 海の日
2008-09-15 敬老の日
2008-09-23 秋分の日
2008-10-13 体育の日
2008-11-03 文化の日
2008-11-23 勤労感謝の日
2008-11-24 振替休日
2008-12-23 天皇誕生日

« 2008年3月22日 | トップページ | 2008年3月24日 »

mokuji

2013年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

google

  • twitter
  • __
  • _
    Googleボットチェッカー

合わせて読む

  • 合わせて読む
    フィードメーター - katoy: cocolog あわせて読みたい

リンク