- sudo gem install gettext --no-ri --no-rdoc
- sudo gem install fast_gettext --no-ri --no-rdoc
- 
script/plugin install git://github.com/grosser/gettext_i18n_rails.git(didn't work as gem)
- environment.rb: see code example at the bottom
- 
if this is your first translation: cp locale/app.pot locale/de/app.pofor every locale you want to use
- use method "_" like _('text')in your rails code
- run rake gettext:findto let GetText find all translations used
- translate messages in 'locale/de/app.po' (leave msgstr blank and msgstr == msgid) new translations will be marked "fuzzy", search for this and remove it, so that they will be used. Obsolete translations are marked with ~#, they usually can be removed since they are no longer needed
- 
touch tmp/restart.txtto apply the translations
Be careful using unicode characters!
The time running rake gettext:find grows exponentially with the number of unicode characters between two write outs (<%= %>). So up 5 unicode characters may still be o.k.
Variables inside Strings
puts _("Welcome, %{name}") % { :name => current_user.name }
Plural
puts n_("A file was removed", "%{num} files were removed", n) % { :num => n }
environment.rb:
    require 'fast_gettext'
    FastGettext.available_locales = [ 'en', 'de' ]
    FastGettext.add_text_domain('app', :path=>'locale', :type=>:po)
    FastGettext.text_domain = 'app'
    Rails::Initializer.run do |config|
      # Versionsnummern selber rausfinden:
      config.gem 'spreadsheet', :version => '=0.6.4.1'
      config.gem "fast_gettext", :version => "=0.5.7"
      config.gem "gettext", :version => '=2.1.0'
Posted by Martin Straub to makandra dev (2010-08-25 12:56)