首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何国际化/本地化我的rails插件?

如何国际化/本地化我的rails插件?
EN

Stack Overflow用户
提问于 2010-11-19 12:58:41
回答 1查看 383关注 0票数 3

我写了一个validates_word_count plugin。我想将错误消息存储在一个YAML文件中,这样就可以很容易地翻译它们。

我的插件的文件布局如下所示:

代码语言:javascript
复制
validates_word_count/
  init.rb
  lib/
    validates_word_count.rb
    locale/
      en.yml

我的YAML文件如下所示:

代码语言:javascript
复制
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)"

但是,如果我调用I18n.translate('validates_word_count.errors.messages.too_few_words'),我会得到这个错误:

代码语言:javascript
复制
translation missing: en, validates_word_count, errors, messages, too_few_words

如何设置我的插件/区域设置才能使I18n.translate()正常工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-02 15:23:46

答案分为两部分。

  1. 使用标准目录布局:

代码语言:javascript
复制
validates_word_count/
init.rb
   lib/
     validates_word_count.rb
   config/
     locales/
       en.yml

  1. 在init.rb中,添加以下行:

代码语言:javascript
复制
Dir[File.join("#{File.dirname(__FILE__)}/config/locales/*.yml")].each do |locale|
I18n.load_path.unshift(locale)
end
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4222220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档