I18n :: InvalidLocale :: en不是有效的语言环境

时间:2015-07-14 20:23:20

标签: ruby internationalization

我正在尝试使用I18n.transliterate对带有重音字符的文本进行“规范化”,以便我可以分析并将其与不同语言进行比较。

但是,使用此方法时会弹出以下错误

I18n::InvalidLocale: :en is not a valid locale
    from /home/xxx/.rvm/gems/ruby-2.1.5/gems/i18n-0.7.0/lib/i18n.rb:284:in `enforce_available_locales!'
    from /home/xxx/.rvm/gems/ruby-2.1.5/gems/i18n-0.7.0/lib/i18n.rb:235:in `transliterate'
    from (irb):2
    from /home/xxx/.rvm/rubies/ruby-2.1.5/bin/irb:11:in `<main>'

我已经对这个问题进行了一些搜索,我只找到了与Rails配置相关的解决方案。我只是在Ruby文件中使用它,没有任何与Rails相关的内容,所以......我该怎么办?

1 个答案:

答案 0 :(得分:42)

我似乎遇到了类似的问题,我通过检查与错误相关的源代码解决了这个问题。

我发现我必须明确设置可用的语言环境,如下所示:

I18n.config.available_locales = :en

我不确定这是否是正确的方法,我也看到以下情况可以达到相同的效果并且可能更加强大。

相关问题