2013-01-08 12 views
6

Ho un'app Rails 3 in cui sto utilizzando I18n.available_locales per visualizzare un elenco di lingue disponibili per gli account utente. Nella mia directory config/locales ho solo file en e nl yml, tuttavia I18n.available_locales restituisce una varietà di altre chiavi locali che presumo siano presenti a causa delle traduzioni presenti nelle gemme che sto usando. C'è un modo comune/standard per ottenere il metodo per restituire solo le traduzioni presenti nell'app stessa?Rails 3 available_locales escluse le traduzioni gemma

+0

Prompt preso atto, ta –

risposta

9

Vorrei suggerire, si utilizza questo gioiello: rails-i18n, fornisce traduzioni di base per tutte le lingue, e quindi, limitare locale disponibili con

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

Naturalmente, le rotaie-i18n non è obbligatorio qui, si potrebbe semplicemente definire available_locales nel config/application.rb file di

E come detto nei commenti, si dovrebbe assolutamente accettare alcune risposte per migliorare la vostra accept_rate

+0

Questo non funziona su Rails 4.2. Ritorna comunque l'intera lista. – b1nary

+0

@ b1nary: Ho appena provato nella mia app per rails 4.2 e ha funzionato. Ho aggiunto 'config.i18n.available_locales = [: en]' in 'config/application.rb' e poi' I18n.available_locales' restituisce '[: en]' quando lo guardo in un 'rails c' – pjam

+0

avere gemme montate con i propri file di linguaggio? – b1nary