【发布时间】:2010-02-26 15:18:16
【问题描述】:
嗨:在我的 Rails ApplicationController 中,我添加了以下方法(来自 rails 指南文档)以支持基于 http 接受语言头信息的 I8n。有没有办法检查请求的语言环境是否可用,如果没有,请使用 environment.rb 中标记的“英语”默认语言环境?否则,当使用未知语言环境时,我会得到“翻译缺失”。
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
【问题讨论】:
标签: ruby-on-rails ruby internationalization