嗨:在我的Rails ApplicationController中,我添加了以下方法(来自Rails指南文档),以支持基于http接受语言头信息的I8n。有没有办法检查请求的语言环境是否可用,如果没有,请使用environment.rb中标记的“英语”默认语言环境?否则,当使用未知语言环境时,我会得到“翻译缺失”。Rails I8n:请求的区域设置(来自HTTP标头)不可用时,使用默认区域设置吗?
def set_locale
logger.debug "* Accept-Language: #{request.env['HTTP_ACCEPT_LANGUAGE']}"
I18n.locale = extract_locale_from_accept_language_header
logger.debug "* Locale set to '#{I18n.locale}'"
end
private
def extract_locale_from_accept_language_header
request.env['HTTP_ACCEPT_LANGUAGE'].scan(/^[a-z]{2}/).first
end
我发现,只是在同一秒;)看到我上面的答案。 – Sney 2010-02-26 15:41:47