2
我正在尝试开发具有后端和前端双方的商业解决方案。我刚刚完成了由名称空间分隔的后端,并意识到我需要为每一侧分隔不同的区域设置。那么是否有解决方案,如何分别为前端和后端设置区域设置?感谢建议前端,后端Rails i18n不同语言环境
我正在尝试开发具有后端和前端双方的商业解决方案。我刚刚完成了由名称空间分隔的后端,并意识到我需要为每一侧分隔不同的区域设置。那么是否有解决方案,如何分别为前端和后端设置区域设置?感谢建议前端,后端Rails i18n不同语言环境
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
因此,例如,从现实生活中的(区域的基础上,接受语言HTTP标头(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
我不知道如果u理解我的权利。我的问题是我在管理模块中设置了语言环境,然后我在前端模块中工作,并且会有无效语言环境的消息,因为我在前端和后端具有不同的语言环境。我在应用程序控制器中设置了前端的区域设置,并在admin :: application控制器中设置了后端。 – Onda 2015-04-02 21:46:35
文档指出,您可以在每个请求范围('I18n.locale')或每个方法调用('I18n.t:foo,区域设置::')的任何位置设置区域设置。您已在不同的控制器中设置不同的区域设置。任何问题? :)我只想说,如果你设置了不正确的语言环境并且看到错误 - 那么你的问题不是你看到错误,而是你设置了不正确的语言环境。 –
AlkH
2015-04-03 13:26:57