7

sto cercando di modificare le impostazioni internazionali che i miei rotaie (4.1.4) applicazione utilizza, ma ogni volta che provo a cambiare nella console utilizzando comandi comeRails non consente la modifica locale

I18n.locale = :es 
I18n.default_locale = :de 

un errore I18n :: InvalidLocale viene visualizzato. Questo è il caso per ogni locale che collaudo, compresi quelli regionali come: en-US. Questo è vero anche se ho un file * .yml impostato per quella locale. L'unico che funziona è: en, che è l'impostazione predefinita per me.

Credo che questo dovrebbe essere qualcosa di piuttosto semplice in quanto tutte le risorse che trovo sembrano saltare questo come un dato, ma non funziona per me e non riesco a capire dove cercare la fonte del problema.

risposta

23

È stata aggiunta la nuova locale in application.rb?

config.i18n.enforce_available_locales = false 
config.i18n.available_locales = [:en, :es, :de] 
config.i18n.default_locale = :de 

si hanno anche per creare i file en.yml, es.yml e de.yml nella cartella config/locale.

0

Grazie! Quando ho guardato in quel file, mi sono reso conto che, oltre alla risposta che hai dato, Rails fornisce di essa la propria soluzione commentata -

# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. 
config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] 

Quindi, in pratica ci vuole un file di traduzione, come pt-br.yml e aggiunge che alla lista delle localizzazioni valide.

0

Assicurarsi di aver aggiunto es.yml e de.yml nella cartella config/locales.