I18n::InvalidLocale: :en is not a valid locale

拟墨画扇 提交于 2019-12-06 18:21:48

问题


I am trying to use I18n.transliterate to "normalize" some text with accented characters so I can analyze and compare it with different languages.

However, when using this method the following error pops out

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>'

I have made some searches for this problem and I only found solutions related to Rails configuration. I am just using this in a Ruby file, nothing related to Rails, so... What can I do?


回答1:


I seem to have a similar problem which I resolved by inspecting the source code associated with the error.

I found I have to explicitly set the available locales like so:

I18n.config.available_locales = :en

I'm not sure if this is the correct approach, I see also that the following achieves the same effect and is likely more robust.



来源:https://stackoverflow.com/questions/31416559/i18ninvalidlocale-en-is-not-a-valid-locale

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!