【发布时间】:2015-02-12 06:02:25
【问题描述】:
我在尝试在 heroku 上加载翻译文件时遇到很多 I18n::InvalidLocaleData 错误:
I18n::InvalidLocaleData can not load translations from /app/config/locales/pt.yml: #<Timeout::Error: execution expired>
这些文件存在于我们的存储库中并通过了 YAML 验证检查。我无法找到此超时错误的任何原因。有关修复或解决方法的任何想法?
一些版本信息:
ruby-2.1.2
rails 3.2.21
i18n 0.6.11
谢谢!
更新
irb(main):001:0> YAML.load(File.open('config/locales/pt.yml'))
=> {"pt"=>{"meet"=>"Conheça", "he_is"=>"ele é", "she_is"=>"ela é", "years_old"=>"anos", "and"=>"e", "from"=>"de", "default"=>"Suas escolhas diárias estão prontas! Vejam antes que expirem em 24 has", "default_chosen"=>"Suas escolhas diárias estão prontas! Vejam antes que expirem em 24 has", "sunset"=>"We've missed you - check your Daily Picks today if you'd like to keep receiving them"}}
【问题讨论】:
-
Yaml 格式有版本 (1.0-1.2)。检查您的验证器是否针对您的解析器解析的相同版本进行验证。我发现解析器(在 PHP 世界中)的不同之处在于它们支持的语法以及它们对不带引号的特殊字符的容忍度
-
发布
YAML.load(File.open('config/locales/pt.yml'))的输出 -
您是否可能超过 Heroku 的 30 秒超时时间,而这只是一个红鲱鱼? Heroku 将终止任何持续时间超过 30 秒的请求,当它这样做时,您有时会遇到类似这样的令人困惑的错误。
-
绝对有可能。关于如何确认/解决这个问题的任何想法?
标签: ruby-on-rails heroku localization rails-i18n i18n-gem