There isn't really one answer to where to store different language
values for a string.  It depends on the case.  There are two main
ones.

For static strings (text in templates, error messages), using
locales/*.yml makes sense as they are easy to edit and use.  They are
called frequently and rarely change and thus loading them into memory
once makes sense rather than pulling them from the database (though
you could compromise and use cache per locale to offset this). See the
translate plugin (http://github.com/newsdesk/translate) to add an
administrator interface for them.  For Rails there is also a number of
standard strings already translated that you can simply grab from
http://github.com/svenfuchs/rails-i18n/tree/master/rails/locale/.

For dynamic strings that are from content pulled from the database
anyway, most plugins and gems (globalize2, etc.) store the
translations in the database.  I'm actually working on a new gem that
stores the translations in MongoDB that is paired with a standard
RDBMS backed ActiveRecord (http://github.com/kete/mongo_translatable -
not yet alpha) and there are many other plugins and gems that also
work with translating dynamic content.

You would probably get better answers asking this on the l18n specific
http://groups.google.com/group/rails-i18n?pli=1.  You should also
check out http://rails-i18n.org/wiki and
http://guides.rubyonrails.org/i18n.html, too.

Cheers,
Walter

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-t...@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to