I wrote a validates_word_count plugin. I would like to store the error messages in a YAML file so they can be easily translated. Full source: https://github.com/paulschreiber/validates_word_count/ My plugin's file layout looks like this: validates_word_count/ init.rb lib/ validates_word_count.rb locale/ en.yml My YAML file looks like this: en: validates_word_count: errors: messages: too_few_words: "has too few words (minimum is %d words)" too_many_words: "has too many words (maximum is %d words) However, if I call I18n.translate('validates_word_count.errors.messages.too_few_words'), I get this error: translation missing: en, validates_word_count, errors, messages, too_few_words How can I set up my plugin / locale so I18n.translate() works? Paul
on 2010-11-23 00:24
on 2010-11-27 13:28
Hi Paul,
You have to add the file to the I18n load path. If you have a Railtie
file, that would be the place to add it. By heart, it should be
something like:
class Railtie < ::Rails::Railtie
ActiveSupport.before_configuration do |config|
config.i18n.load_path += "your file"
end
end
For Rails 2, I don't know. Probably just call I18n somewhere. As an
example: devise has a generator that copies a locale file to the
config/locale directory of the app.
Hope this helps,
iain
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.