2015-07-14 17 views
17

Próbuję użyć I18n.transliterate, aby "znormalizować" trochę tekstu z akcentowanymi znakami, dzięki czemu mogę analizować i porównywać je z różnymi językami.I18n :: InvalidLocale:: pl nie jest prawidłową lokalizacją

Jednak przy stosowaniu tej metody następujący błąd wyskakuje

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

Zrobiłem kilka wyszukiwania dla tego problemu, a ja tylko znalazłem rozwiązań związanych z konfiguracją szynach. Używam tego w pliku Ruby, nic związanego z Railsami, więc ... Co mogę zrobić?

Odpowiedz

35

Wydaje mi się, że mam podobny problem, który rozwiązałem, sprawdzając kod źródłowy związany z błędem.

znalazłem muszę jawnie ustawić dostępne lokalizacje tak:

I18n.config.available_locales = :en 

Nie jestem pewien, czy to jest prawidłowe podejście, widzę też, że następująca osiąga ten sam efekt i prawdopodobnie więcej krzepki.

+0

To powinno być oznaczone jako odpowiedź –

+0

Gdzie? jaki plik? –

+0

@ArnoldRoa po prostu dowolny plik w folderze 'config/initializers', możesz użyć' text_resources.rb' – bigsolom