|
|
|
@ -2,11 +2,11 @@ class LanguagesController < ApplicationController |
|
|
|
|
|
|
|
before_action :set_locale_to_default, only: :index |
|
|
|
before_action :set_locale, only: :show |
|
|
|
before_action :set_node |
|
|
|
|
|
|
|
helper_method :accept_language |
|
|
|
|
|
|
|
def index |
|
|
|
@node = Node.roots.viewable.first |
|
|
|
|
|
|
|
not_found unless @node |
|
|
|
end |
|
|
|
@ -14,7 +14,6 @@ class LanguagesController < ApplicationController |
|
|
|
|
|
|
|
def show |
|
|
|
@accept_language = params[:locale] |
|
|
|
@node = Node.roots.viewable.first |
|
|
|
|
|
|
|
not_found unless @node |
|
|
|
|
|
|
|
@ -33,6 +32,10 @@ class LanguagesController < ApplicationController |
|
|
|
|
|
|
|
private |
|
|
|
|
|
|
|
def set_node |
|
|
|
@node = Node.roots.viewable.first |
|
|
|
end |
|
|
|
|
|
|
|
def accept_language |
|
|
|
@accept_language ||= first_matching_language |
|
|
|
end |
|
|
|
@ -42,7 +45,7 @@ private |
|
|
|
accept_languages = request.env['HTTP_ACCEPT_LANGUAGE'].to_s.split(',').map { |l| |
|
|
|
lang, q_factor = l.split(';q=') |
|
|
|
[lang, (q_factor || '1').to_f] |
|
|
|
}.sort_by { |_, q| -q }.map(&:first) |
|
|
|
}.sort_by { |_, q| -q }.map(&:first) |
|
|
|
|
|
|
|
available_languages = I18n.t('languages').keys.map(&:to_s) |
|
|
|
|
|
|
|
|