我希望翻译回退到:en,但默认语言环境是:de。我怎样才能做到最好? 我试过'config / application.rb'
config.i18n.default_locale = :en
config.i18n.locale = :de
但是I18n.locale仍然是:在此之后。 任何想法?
答案 0 :(得分:3)
如果您将区域设置设置为以下行
I18n.locale = :de
然后在触发线后,每个访问者都会使用de
区域设置,而不是默认区域设置en
。
所以更好的方法是
在你的application_controller.rb
中before_filter: set_locale
private
def set_locale
I18n.locale = params[:locale] || I18n.default_locale
end
回复Jonathan Clark:
从application_controller继承的每个控制器都将设置语言环境。
答案 1 :(得分:1)
您无法在您的环境中设置区域设置。
您必须将default_locale放在环境配置文件中,并且必须在应用程序本身中设置您的语言环境。
例如在你的application_controller.rb
中before_filter: set_locale
private
def set_locale
I18n.locale = params[:locale] if params[:locale]
end