I18n :: InvalidLocaleData - 无法加载翻译

时间:2016-04-20 02:20:09

标签: ruby-on-rails internationalization erb

我使用i18n进行国际化。 但是,发生问题就像打击一样。

config / locales / view / en.yml:期望它返回一个哈希,但不是

虽然,我用正确的意图写了yml(2个空格,没有水龙头),
发生错误。
我怎么能解决这个问题?

en.yml

en:
  moderna:
    language:
      en: English
      jp: Japanese
      kr: Korean
    menu:
      company: Company
      home: Home
    submenu:
      company:
        history: History
        introduce: Introduce
        philosophy: Philosophy
        subsidiary: Subsidiary
        vision: Vision

ERB

<%= link_to t("moderna.menu.home"), xx_path %>
<%= link_to t("moderna.submenu.company.introduce"), introduce_path %>
<%= link_to t("moderna.submenu.company.history"), history_path %>
<%= link_to t("moderna.submenu.company.philosophy"), philosophy_path %>
<%= link_to t("moderna.submenu.company.subsidiary"), subsidiary_path %>
<%= link_to t("moderna.submenu.company.vision"), vision_path %>

1 个答案:

答案 0 :(得分:0)

我找到了原因。在项目中使用i18n时

  1. 应生成具有不同名称的内化文件。

    配置/区域设置/默认/ en.yml
    配置/区域设置/默认/ kr.yml
    配置/区域设置/模型/ en.yml
    配置/区域设置/模型/ kr.yml
    发动机/ hoge_engines /配置/区域设置/默认/ en.yml
    发动机/ hoge_engines /配置/区域设置/默认/ kr.yml
    发动机/ hoge_engines /配置/区域设置/ MODLE / en.yml
    engine / hoge_engines / config / locales / model / kr.yml

  2. =&GT;可能会发生错误。[无法加载翻译~~~~~]    所以,我把文件名更改为打击

    config/locales/default/default_en.yml  
    config/locales/default/default_kr.yml  
    config/locales/model/model_en.yml  
    config/locales/model/model_kr.yml  
    engines/hoge_engines/config/locales/default/default_en.yml   
    engines/hoge_engines/config/locales/default/default_kr.yml  
    engines/hoge_engines/config/locales/modle/model_en.yml   
    engines/hoge_engines/config/locales/model/model_kr.yml  
    
    1. 不要为内化(yml)制作空文件。 我制作了空的yml文件供以后使用。它也会引起加注错误。