Railsアプリケーションの日本語化(国際化)で、Ruby-GetText を使ってみる。MacのCarbon Emacs + rails.elで、poファイルを開くと、POモードになるのが、かなりイイ! Spaceボタンで次の翻訳候補にフォーカスして、RETで日本語訳入力モードに。日本語を入力して C-c C-cで確定。もっと面倒なのかと思っていたけど、かなり簡単。

以下、単なるインストール・メモなので、詳しくはGetTextのページを参考にするのがよいかと思われます。
Ruby on RailsでRuby-GetText-Packageを使う - よたらぼ 保管庫
rubygems でインストール
$ gem install gettext
application.rb でgettext をinitする。
require 'gettext/rails' class ApplicationController < ActionController::Base init_gettext 'myproject' end
.rhtml ファイル内の日本語化したい部分を、_('text') で囲む。
<%=h _('Title') %>
lib/tasks/gettext.rake ファイルを作成
require 'gettext/utils'
task :update_po do
GetText.update_pofiles('myproject', Dir.glob('app/**/*.{rb,rhtml}'), 'myproject 1.0.0')
end
task :make_mo do
GetText.create_mofiles(true, 'po', 'locale')
end
gettextで、pot ファイル, po ファイルを作成
$ rake update_po $ pwd /Rails/myproject $ mkdir po/ja $ cd po/ja $ msginit -i ../myproject.pot -o myproject.po
poファイルに日本語訳を記述。myproject.po を編集する。Carbon Emacs でpo ファイルを開いたら、POモードが起動した。Spaceボタンで次の翻訳候補にフォーカスして、RETで日本語訳入力モードに。日本語を入力して C-c C-cで確定。
poファイルからmoファイルを作成。
rake make_mo
これで、WEBrickなどサーバを起動してアプリケーションを確認すると、アプリケーションの日本語化がされています。
沢山Rails本が出てるな〜と思って、手に取って見てみたら、「かんたんRuby on RailsでWebアプリケーション開発」は、GetTextとか色々なプラグインの説明が多くて楽しいですね。


ブックマーク & はてなスター
コメント