ln18翻译错误

时间:2014-11-01 09:43:32

标签: ruby-on-rails

出于测试原因,我试过:

I18n.locale = "fehler_ausgabe"
puts I18n.translate "activerecord.attributes.diagnosis.sicherheit"

哪些方法正常运行并为此yaml文件返回E-mail addresse

fehler_ausgabe:
  activerecord:
    attributes:
      diagnosis:
        sicherheit: "E-mail addresse"

接下来,我尝试测试我的模型中定义的错误:

validates :sicherheit, inclusion: { in: ["U","V"]}, unless: :skip_fehler

我改变了我的yaml文件:

fehler_ausgabe:
  activerecord:
    attributes:
      diagnosis:
        sicherheit: "E-mail addresse"
          inclusion: "muss zugeorndet werden"

我再试一次:

puts I18n.translate "activerecord.attributes.diagnosis.sicherheit"

但现在不知何故得到这个错误:

I18n::InvalidLocaleData (can not load translations from C:/Sites/heroku
2/config/locales/fehler_ausgabe.yml: #<Psych::SyntaxError:     (C:/Sites/heroku2/config/locales/fehler_ausgabe.yml): 
did not find expected key while parsin
g a block mapping at line 5 column 9>):

我错了什么?我不明白为什么我的代码现在抛出错误!致谢

1 个答案:

答案 0 :(得分:3)

你的改变:

fehler_ausgabe:
  activerecord:
    attributes:
      diagnosis:
        sicherheit: "E-mail addresse"
          inclusion: "muss zugeorndet werden"

使您的YAML文件无效。如果您倾向于inclusion: "muss zugeorndet werden",则无法sicherheit: "E-mail addresse"。删除inclusion: "muss zugeorndet werden""E-mail addresse"以使您的安排有效。

但是,您可以在YAML中checkout this answer正确设置inclusion验证。