Max OS X 10.5 - Ruby-GetText

Railsアプリケーションを日本語化(というか国際化)する Ruby-GetTextライブラリを使ってみました。

現在の環境

Ruby-GetTextのインストール

深く考えずに

$sudo gem install gettext

したら、自動的に gettext(1.92.0) がインストールされました。
途中で、バージョンが選択できるかと思ったのに。

このままでは、日本語化への第一歩(後述)の修正をして、WEBrickサーバを再起動したときに

…aliasing.rb:28:in `alias_method': undefined method `label' for class `ActionView::Helpers::FormBuilder' (NameError)

と出て、サーバが起動しません。
gettext1.90 にすると、回避できるらしいのですが…

結論。

rails1.2系のときは、gettext1.10.0 を使うべきみたいです。
gettext1.90リリースノートに「Rails 1.2.xは対象外とします」とあります*1

先に入れたgettext1.92.0を削除して

$sudo gem uninstall gettext

バージョンを指定して再度インストールしておきます。

$sudo gem install gettext -v 1.10.0

日本語化への第一歩

config/environment.rb(先頭に2行、最終行に1行追加)

$KCODE = 'u'
require 'jcode'
(省略)
require 'gettext/rails'

app/controllers/application.rb

class ApplicationController < ActionController::Base
 init_gettext 'プロジェクト名'
end

変更したら、WEBrickを再起動するのを忘れずに。
エラーメッセージが日本語で出る!うれしい!!



GNU gettext のインストール

日本語化をもう一歩進めるために、msginit, msgmergeコマンドが使えるように GNU gettext をインストールします。
目的にどんぴしゃなgettextのインストール(Mac OSX)を参考にインストールしました。(Leopard対応、大感謝!!)

        • libiconv-1.12
        • expat-2.0.1
        • gettext-0.17

*1:本家のサイトには書いてなかったよなあ。なんと、さりげない…。いい勉強になりました。