Estoy usando I18n-js, y todas las llamadas I18n.t de mi lado del cliente devuelven un mensaje de traducción faltante cuando se ejecuta en producción.I18n la ruta de carga no se establece cuando se ejecutan "activos bin/rake: precompilación"!
Todo está bien en desarrollo y prueba.
El origen de este problema parece estar en la canalización de activos.
I18n.load_path no contiene ninguno de mis traducciones (cuando se ejecuta activos bin/rastrillo: precompilación) que sólo contiene las siguientes rutas:
["/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"]
Estos se parecen a la ActiveSupport defecto, ActiveModel, activerecord y actionpack las traducciones de las gemas ...
Mis caminos de traducción hacer sin embargo conseguir el sistema como se espera cuando se ejecuta bin/carriles de la consola en el desarrollo y producción:
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"]
De hecho, la documentación de I18n establece: "La configuración regional predeterminada es: en y todas las traducciones de config/locales/*. Rb, yml se cargan automáticamente".
También he intentado especificando en application.rb
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '*.{rb,yml}').to_s]
Pero todavía no hay alegría.
Cualquiera tiene alguna idea de lo que podría causar que I18n.load_path no se establezca solo cuando se ejecutan activos: precompilación?
Gracias por cualquier idea