2013-01-08 9 views
6

Mam aplikację Rails 3, w której używam I18n.available_locales do wyświetlania listy dostępnych języków dla kont użytkowników. W moim katalogu config/locales mam tylko pliki en i nl yml, jednak I18n.available_locales zwraca wiele innych kluczy ustawień narodowych, które zakładam, są obecne z powodu obecności tłumaczeń w klejnotach, których używam. Czy istnieje wspólny/standardowy sposób, aby metoda zwróciła tylko tłumaczenia obecne w samej aplikacji?Szyny 3 dostępne_lokalizacje z wyłączeniem tłumaczeń klejnotów

+0

Prompt należycie zauważyć, TA –

Odpowiedz

9

Proponuję, należy użyć tego klejnotu: rails-i18n, zapewnia podstawowe tłumaczenia dla każdego językach, a następnie ograniczać dostępne lokalizacje z

config.i18n.available_locales = ['es-CO', :de] 

Oczywiście, rails-i18n nie jest obowiązkowe tutaj, można wystarczy zdefiniować available_locales w pliku

config/application.rb I jak powiedział w komentarzach, powinno się przyjąć jakieś odpowiedzi, aby poprawić accept_rate

+0

To nie działa w Railsach 4.2. Nadal zwraca całą listę. – b1nary

+0

@ b1nary: Właśnie wypróbowałem w mojej aplikacji 4.2 kolejki i zadziałało. Dodałem 'config.i18n.available_locales = [: en]' w 'config/application.rb', a następnie' I18n.available_locales' zwraca '[: en]', gdy patrzę na niego w 'rails c' – pjam

+0

czy klejnoty są montowane z ich własnymi plikami językowymi? – b1nary