2015-07-14 4 views
17

Я пытаюсь использовать I18n.transliterate для «нормализации» текста с акцентированными символами, чтобы я мог анализировать и сравнивать его с разными языками.I18n :: InvalidLocale:: en не является допустимым языком

Однако при использовании этого метода следующая ошибка выскакивает

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, поэтому ... Что я могу сделать?

ответ

35

У меня, похоже, есть аналогичная проблема, которую я разрешил, проверив исходный код, связанный с ошибкой.

я обнаружил, что есть явно установить доступные локали следующим образом:

I18n.config.available_locales = :en 

Я не уверен, если это правильный подход, я вижу также, что следующее достигается тот же эффект, и, вероятно, более надежный.

+0

Это должно быть отмечено как ответ –

+0

Где? какой файл? –

+0

@ArnoldRoa просто любой файл в папке 'config/initializers', вы можете использовать' text_resources.rb' – bigsolom

Смежные вопросы