i18n for rails适用于开发中而非生产中

时间:2011-12-02 18:51:52

标签: ruby-on-rails-3 internationalization

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属性或配置?

3 个答案:

答案 0 :(得分:5)

通过在我的application.rb中添加config.i18n.locale = :fr以及默认config.i18n.default_locale = :fr来解决此问题

答案 1 :(得分:4)

我认为这与此错误有关:http://groups.google.com/group/rubyonrails-core/browse_thread/thread/1fe3e88f9fe73177/

  

在config.i18n.default_locale之前调用18n.locale   传播到I18n班。

我将尝试在config / initializers / locale.rb中更改它。根据2.2可选:http://guides.rubyonrails.org/i18n.html中的自定义I18n配置设置,您还应该在config / initializers / locale.rb中更改它。希望这能为你解决。

答案 2 :(得分:0)

我在Rails管理员中遇到了这个问题。但我相信任何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中 (或者对于常规Rails应用,仅是application_controller.rb)

before_action :set_locale

def set_locale
  I18n.locale = params[:locale] || 'he'
end

def default_url_options
  { locale: I18n.locale }
end

关于如何基于Url设置i18n语言环境的一个很好的教程: https://dev.to/morinoko/setting-up-i18n-for-rails-with-locales-from-url-params-38pg

相关问题