Sto usando I18n-js e il mio lato client I18n.t chiama tutti restituiscono un messaggio di traduzione mancante durante l'esecuzione in produzione.Il percorso di caricamento I18n non viene impostato durante l'esecuzione di "bin/rake assets: precompilare"!
Tutto è ok in fase di sviluppo e test.
La radice di questo problema sembra essere nella pipeline degli asset.
I18n.load_path non contiene nessuna delle mie traduzioni (quando si esegue le attività bin/rake: precompilazione) contiene solo i seguenti percorsi:
["/home/chris/.rvm/gems/[email protected]/gems/activesupport-3.2.3/lib/active_support/locale/en.yml",
"/home/chris/.rvm/gems/[email protected]/gems/activemodel-3.2.3/lib/active_model/locale/en.yml",
"/home/chris/.rvm/gems/[email protected]/gems/activerecord-3.2.3/lib/active_record/locale/en.yml",
"/home/chris/.rvm/gems/[email protected]/gems/actionpack-3.2.3/lib/action_view/locale/en.yml"]
Questi sembrano l'ActiveSupport predefinita, activemodel, ActiveRecord e actionpack traduzioni del le gemme ...
miei percorsi traduzione Peraltro Preparati come previsto durante l'esecuzione di bin/rotaie console nello sviluppo e produzione:
1.9.3p125 :002 > I18n.load_path
=> ["/home/chris/.rvm/gems/[email protected]/gems/activesupport-3.2.3/lib/active_support/locale/en.yml",
"/home/chris/.rvm/gems/[email protected]/gems/activemodel-3.2.3/lib/active_model/locale/en.yml",
"/home/chris/.rvm/gems/[email protected]/gems/activerecord-3.2.3/lib/active_record/locale/en.yml",
"/home/chris/.rvm/gems/[email protected]/gems/actionpack-3.2.3/lib/action_view/locale/en.yml",
"/home/chris/.rvm/gems/[email protected]/gems/carrierwave-0.6.1/lib/carrierwave/validations/../locale/en.yml",
"/home/chris/.rvm/gems/[email protected]/gems/devise-2.0.4/config/locales/en.yml",
"/media/sf_code/Project/config/locales/active_record.en.yml",
"/media/sf_code/Project/config/locales/project.en.yml"]
In effetti la documentazione I18n afferma: "Le impostazioni locali predefinite sono: en e tutte le traduzioni da config/locales/*. Rb, yml sono caricate automaticamente."
Ho anche provato specificando in application.rb
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '*.{rb,yml}').to_s]
Ma ancora nessuna gioia.
Chiunque ha idea di cosa possa causare l'impossibilità di impostare I18n.load_path solo durante l'esecuzione delle risorse: precompilare?
Grazie per tutte le idee