よたらぼ
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。

November 26, 2002

[Ruby-GNOME2] FootNotes(gnomedesktop.org)

ちと遅くなったけど。

Ruby/GConfのNikolaiがアナウンスしてくれた。ここにアナウンスするとGNOME本家の方にも反映されるのね。ありがたい。

ホントはfreshmeatとかにもアナウンスした方が良いのかもしれないけど、1回アナウンスすると毎回継続してやらなきゃならなくなりそうなのがトテモ大変そうなのでやめた。

誰かやってくれないかなぁ、と言ってみるテスト(最近他力本願が多いらしい(^^;))。


November 26, 2005

[Rails] Modelのローカライズ

最新のCVS版Ruby-GetText-Packageを使うと、以下のようにするだけで_("")をはじめとするGetTextなメソッドが使えるようになる。

#app/controllers/application.rb
require 'gettext/rails'
class ApplicationController < ActionController::Base
  init_gettext "blog", "UTF-8"  # textdomain, charset
end
#app/models/article.rb
class Article < ActiveRecord::Base
  validates_presence_of :description, :message => _("can't be empty.")
end

上記はViewでもModelでも同じblogというテキストドメインが使用されるので、poファイルを作るときは全部で1つのblog.poファイルを作ればよい。もちろん、:messageを指定しなければデフォルトのメッセージが(ローカライズされた上で)表示される。

そうそう、plugin化するかちょっと迷ったけど、まぁ、しなくてイイかなぁ、と思ってる。だってどうせinit_gettext行を書くなら、ここにrequireも書いちゃった方が、pluginディレクトリ配下にファイルを置くより楽だもんね。

それから、第0回 Rails勉強会@東京を参考にしつつ、ActiveRecord本体のエラーメッセージもローカライズできるように変更中。特に、フィールド名のローカライズについて、かなり良さげなアイデアを思いついてしまったのでそれを実装してみようと思う。

これらは、次のRuby-GetText-Packageに含まれる予定。お楽しみに。


更新 設定