gettext_activerecord

gettext_activerecord provides the localization for ActiveRecord-2.2 or later using Ruby-GetText-Package.

  • Validation messages translation
  • Model translation
    • extract messages from models with the rake task.

Website

Requirements

Install

#Uninstall old gettext if exists.
(sudo/su on POSIX system)
gem uninstall gettext

#from rubyforge 
(sudo/su on POSIX system)
gem install locale
gem install gettext_activerecord

Usage

without Rails

Rakefile

require 'rubygems'

desc "Create mo files"
task :makemo do
require 'gettext_activerecord/tools'
GetText.create_mofiles
end

task :updatepo do
require 'gettext_activerecord/tools'
# Need to access DB to find Model table/column names.
# Use config/database.yml which is the same style with rails.
GetText.update_pofiles("sample_ar", ["topic.rb"], "sample AR 1.0.0")
end

topic.rb

class Topic < ActiveRecord::Base validates_length_of :title, :minimum => 10 end

sample.rb

require 'gettext_activerecord' require 'topic'

# Use config/database.yml which is the same style with rails.
config = YAML.load(IO.read("config/database.yml"))["development"]
ActiveRecord::Base.establish_connection(config)

GetText.bindtextdomain_to(ActiveRecord, "sample_ar", :path => "locale")

GetText.set_locale "ja_JP.UTF-8"
a = Topic.new
a.title = "Foo"
a.save
puts a.errors.full_messages  #puts Japanese error message.

Then ...

$ rake updatepo $ cd po $ mkdir ja $ msginit -l ja_JP.UTF-8 -i sample_ar.pot -o ja/sample_ar.po $ Edit ja/sample_ar.po $ cd ../../ $ rake makemo $ ruby sample.rb

with Rails

See gettext_rails [http://github.com/mutoh/gettext_rails/tree/master]

Support matrix

  • gettext_activerecord-2.1.0 - rails-2.3.2,2.3.3,2.3.4
  • gettext_activerecord-2.0.2 - rails-2.3.2
  • gettext_activerecord-2.0.1 - rails-2.3.2
  • gettext_activerecord-2.0.0 - rails-2.3.2

License

This program is licenced under the same licence as Ruby(See COPYING) or LGPL(Lesser General Public License: http://www.gnu.org/licenses/lgpl-3.0.txt).

  • Copyright (C) 2001-2009 Masao Mutoh

Translators

  • Bosnian(bs) - Sanjin Sehic
  • Bulgarian(bg) - Sava Chankov <sava.chankov at gmail.com>
  • Catalan(ca) - Ramon Salvadó
  • Chinese(Simplified)(zh_CN)
    • Yang Bob <bob.yang.dev at gmail.com> (current)
    • Yingfeng
  • Chinese(Traditional)(zh_TW)
    • Yang Bob <bob.yang.dev at gmail.com> (current)
    • LIN CHUNG-YI
  • Croatian(hr) - Sanjin Sehic
  • Czech(cs) - Karel Miarka
  • Dutch(nl) - Bart ten Brinke (current) Menno Jonkers
  • Esperanto(eo) - Malte Milatz
  • Estonian(et) - Erkki Eilonen
  • French(fr)
    • Vincent Isambart <vincent.isambart at gmail.com> (current)
    • David Sulc
    • David Sulc
    • Laurent Sansonetti <laurent.sansonetti at gmail.com>
  • German(de)
    • Patrick Lenz (current)
    • Detlef Reichl <detlef.reichl at gmx.org>
    • Sven Herzberg
    • Sascha Ebach
  • Greek(el) - Vassilis Rizopoulos
  • Hungarian(hu) - Tamás Tompa
  • Italian(it)
    • Marco Lazzeri <marco.lazzeri at gmail.com>
    • Gabriele Renzi <surrender_it at yahoo.it>
  • Japanese(ja) - Masao Mutoh
  • Korean(ko) - Gyoung-Yoon Noh
  • Latvian(lv) - Aivars Akots <aivars.akots at gmail.com>
  • Norwegian(nb) - Runar Ingebrigtsen
  • Portuguese(Brazil)(pt_BR)
    • Antonio S. de A. Terceiro (current)
    • Joao Pedrosa
  • Russian(ru) - Yuri Kozlov <kozlov.y at gmail.com>
  • Serbian(sr) - Slobodan Paunović" <slobodan.paunovic at gmail.com>
  • Spanish(es)
    • David Espada (current)
    • David Moreno Garza
  • Ukrainian(ua) - Alex Rootoff
  • Vietnamese(vi) - Ngoc Dao Thanh

Status of translations

  • Bosnian(bs) - 1.90.0 (old)
  • Bulgarian(bg) - 2.0.0
  • Catalan(ca) - 2.0.0
  • Croatian(hr) - 1.90.0 (old)
  • Chinese(zh_CN) - 2.0.0
  • Chinese(zh_TW) - 2.0.0
  • Czech(cs) - 1.9.0 (old)
  • Dutch(nl) - 2.0.2
  • English(default) - 1.90.0 (old)
  • Esperanto(eo) - 2.0.0
  • Estonian(et) - 2.0.0
  • French(fr) - 2.0.0
  • German(de) - 2.0.0
  • Greek(el) - 2.0.0
  • Hungarian(hu) - 2.0.0
  • Italian(it) - 1.6.0 (old)
  • Japanese(ja) - 2.1.0
  • Korean(ko) - 1.9.0 (old)
  • Latvian(lv) - 2.0.0
  • Norwegian(nb) - 2.0.0
  • Portuguese(Brazil)(pt_BR) - 2.0.0
  • Russian(ru) - 2.0.0
  • Serbian(sr) - 1.91.0 (old)
  • Spanish(es) - 2.0.0
  • Ukrainian(ua) - 2.0.0
  • Vietnamese(vi) - 2.0.0

Maintainer

Masao Mutoh