Ich verwende I18n-js, und meine Client-Seite I18n.t ruft alle eine Übersetzung fehlende Nachricht zurück, wenn in der Produktion ausgeführt wird.I18n Ladepfad wird beim Ausführen von "bin/rake assets: precompile" nicht gesetzt!
Alles ist in Entwicklung und Test in Ordnung.
Die Ursache dieses Problems scheint in der Asset-Pipeline zu liegen.
I18n.load_path enthält keine meiner Übersetzungen (wenn bin/Rake Vermögen ausgeführt wird: precompile) nur die folgenden Pfade enthält:
["/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"]
Diese sehen aus wie die Standard-Active, activemodel, Active und Action Übersetzungen aus den Edelsteinen ...
Meine Übersetzung Pfaden setzen jedoch bekomme wie erwartet, wenn ist laufen/Schienen-Konsole in der Entwicklung und Produktion:
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"]
Tatsächlich heißt es in der I18n-Dokumentation: "Das Standardgebietsschema lautet: en und alle Übersetzungen von config/locales/*. Rb, yml werden automatisch geladen."
Ich habe auch versucht
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '*.{rb,yml}').to_s]
aber noch keine Freude in application.rb angeben.
Jeder hat eine Idee, was dazu führen könnte, dass I18n.load_path nicht nur beim Ausführen von Assets gesetzt wird: precompile?
Vielen Dank für alle Ideen