我正在尝试使用后端和前端开发商务解决方案。我刚刚完成后端,它被名称空间分隔,并意识到我需要为每一方分隔不同的语言环境。那么有没有一个解决方案如何分别为前端和后端设置区域设置?感谢您的建议
答案 0 :(得分:1)
http://guides.rubyonrails.org/i18n.html#setting-and-passing-a-locale
语言环境可以伪全局设置为
I18n.locale
(使用Thread.current
,例如Time.zone
),也可以作为选项传递给#translate
和#localize
。如果没有传递语言环境,则使用
I18n.locale
:
I18n.locale = :de
I18n.t :foo
I18n.l Time.now
明确传递语言环境:
I18n.t :foo, locale: :de
I18n.l Time.now, locale: :de
I18n.locale
默认为I18n.default_locale
,默认为:en
。默认语言环境可以设置如下:I18n.default_locale = :de
所以,来自现实生活的例子(语言环境,基于Accept-Language HTTP-header(https://github.com/iain/http_accept_language)):
class ApplicationController < ActionController::Base
#...
before_filter :set_locale
def set_locale
I18n.locale = http_accept_language.compatible_language_from(I18n.available_locales)
end
end