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

问题描述 投票:8回答:3

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

ruby-on-rails-3 internationalization
3个回答
5
投票

我认为这与这个错误有关: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中更改它。希望这能为你解决。


5
投票

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


0
投票

我有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

© www.soinside.com 2019 - 2024. All rights reserved.