Rails 请教 Rails 3 里面的 I18n.t 如何查找字典?

zlx_star · 2012年07月18日 · 最后由 zlx_star 回复于 2012年07月18日 · 2750 次阅读

请问 Rails 3 里面的 I18n.t 是如何查找字典的?Controller 和 View 里面一样吗? 比如我有如下结构

config/locales/
|-- cn.yml
|-- controllers
|   |-- cn.yml
|   |-- en.yml
|   `-- ru.yml
|-- defaults
|   |-- cn.yml
|   |-- en.yml
|   `-- ru.yml
|-- devise.cn.yml
|-- devise.en.yml
|-- devise.ru.yml
|-- en.yml
|-- models
|   |-- cn.yml
|   |-- en.yml
|   `-- ru.yml
|-- ru.yml
`-- views
    |-- cn.yml
    |-- en.yml
    |-- home
    |   |-- cn.yml
    |   |-- en.yml
    |   `-- ru.yml
    |-- layouts
    |   |-- cn.yml
    |   |-- en.yml
    |   `-- ru.yml
    |-- products
    |   |-- cn.yml
    |   |-- en.yml
    |   `-- ru.yml

这个看了没啊: http://guides.rubyonrails.org/i18n.html

  1. 目录结构只是便于对国际化的内容进行分类,在翻译时是无关的。对翻译有效的只有:文件名中的语言编码和 yml 结构数据。
  2. Controller 和 View 里有些 convention 是不一样的,我还没有找到一个好的汇总贴。但如果不嫌烦,写完整路径是没错的。

#1 楼 @camel 这个链接看过了,里面没有涉及目录查找的方式。有可能的一个问题是两个文件定义同一个值会如何选择?

需要 登录 后方可回复, 如果你还没有账号请 注册新账号