Подтвердить что ты не робот

I18n:: InvalidLocale:: en не является допустимым языком

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

4b9b3361

Ответ 1

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

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

I18n.config.available_locales = :en

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