我已将RefineryCMS与我的rails-devise应用程序集成,在ApplicationController
中,我曾经像这样设置本地:
class ApplicationController < ActionController::Base
before_filter :set_locale
def set_locale
I18n.locale = extract_locale_from_tld || I18n.default_locale
end
def extract_locale_from_tld
parsed_locale = params[:locale] || ((lang = request.env['HTTP_ACCEPT_LANGUAGE']) && lang[/^[a-z]{2}/])
parsed_locale= 'en' if parsed_locale.nil?
I18n.available_locales.include?(parsed_locale.to_sym) ? parsed_locale : nil
end
因此,这将使application.html.haml中的locale变量变得方便,我将使用它来选择基于语言环境的css
但是,当我查看RefineryCSS本地化页面时,上面的extract_locale_from_tld
将无法获取已查看的页面区域设置,它将始终返回en,我该如何执行以下操作:
refinerycms-i18n
选择的语言环境)确实感谢任何帮助!