+ I18n.locale = select_locale
+
+ if @user && @user.languages.empty? && !request.user_preferred_languages.empty?
+ @user.languages = request.user_preferred_languages
+ @user.save
+ end
+
+ response.headers['Content-Language'] = I18n.locale.to_s
+ end
+
+ def select_locale(locales = I18n.available_locales)
+ if params[:locale]
+ request.user_preferred_languages = [ params[:locale] ]
+ end
+
+ if request.compatible_language_from(locales).nil?