i18n在rails 3.0.3项目中配置:
config.i18n.default_locale = :fr
在我的开发环境中,一切正常,价格为€,文本(如下一个来自will_paginate)正确显示。
在生产环境中,一切都是英语和$。
我在哪里可以找到我的i18n的问题?
i18n在制作中我错过了什么?
更多信息:
在rails控制台生产中的生产服务器上:
irb(main):002:0> I18n.config.default_locale
=> :fr
2Nd编辑
有没有办法在调试或视图中显示I18n属性或配置?
我认为这与这个错误有关:http://groups.google.com/group/rubyonrails-core/browse_thread/thread/1fe3e88f9fe73177/。
在config.i18n.default_locale传播到I18n类之前调用18n.locale。
我将尝试在config / initializers / locale.rb中更改它。根据q可选:http://guides.rubyonrails.org/i18n.html中的自定义I18n配置设置,您还应该在config / initializers / locale.rb中更改它。希望这能为你解决。
通过在我的application.rb中添加config.i18n.locale = :fr
以及默认的config.i18n.default_locale = :fr
来解决
我有rails admin这个问题。但我相信它与任何Rails应用程序都是一样的。一开始我在application.eb中静态设置了语言环境。后来我解决了这个问题,从application.rb中删除了这个
if ENV['language']
config.i18n.default_locale = ENV['language']
else
config.i18n.default_locale = :he
end
只需将它留在rails_admin / application_controller.rb(或者只是application_controller.rb用于常规rails应用程序)
before_action :set_locale
def set_locale
I18n.locale = params[:locale] || 'he'
end
def default_url_options
{ locale: I18n.locale }
end
另外一个关于如何基于Url设置i18n语言环境的好教程:qazxsw poi