メッセージのi18n化にgettext_i18n_railsを使う

Post date: 2014/06/05 8:09:38

gettext_i18n_railsについては、Rails 3.0で gettextを使う などを参考にする。

参考: Ruby gettext internationalization tutorial on using the fast_gettext gem

1。rake gettext:find を実行

RubyLex::SyntaxError: unknown type of %string というエラーがでる。

対策: Re: RubyLex fails to read "#{Time.now.strftime("%m/%d")}" に従って、" をシングルにかえる

2。locale/ja/app.po を編集する

drymlからgettextしたくて、lib/tasks/gettext.rakeを以下のように定義してみたが、うまくいかない。

namespace :gettext do

def files_to_translate

Dir.glob("{app,lib,config,locale}/**/*.{rb,erb,dryml}")

end

end

drymlからerbをシンボリックリンクすれば、gettextできる。dryml中の、_('xxxx') は変換される

MEMO

localeを変更するには、デバッガなどを使って

session[:locale] = :ja

session[:locale] = :en

で変更できる