mirror of
https://github.com/iv-org/invidious.git
synced 2025-08-14 08:38:30 +00:00
Determine default locale using "Accept-Language" header
This commit is contained in:
parent
c5c0dc4507
commit
3ae2984404
@ -166,10 +166,17 @@ def popular_videos
|
|||||||
end
|
end
|
||||||
|
|
||||||
before_all do |env|
|
before_all do |env|
|
||||||
preferences = begin
|
preferences = Preferences.from_json("{}")
|
||||||
Preferences.from_json(URI.decode_www_form(env.request.cookies["PREFS"]?.try &.value || "{}"))
|
begin
|
||||||
|
if prefs_cookie = env.request.cookies["PREFS"]?
|
||||||
|
preferences = Preferences.from_json(URI.decode_www_form(prefs_cookie.value))
|
||||||
|
elsif language_header = env.request.headers["Accept-Language"]?
|
||||||
|
preferred_langs = parse_accept_language_header(language_header)
|
||||||
|
if first_match = first_language_match(LOCALES.keys.to_set, preferred_langs)
|
||||||
|
preferences.locale = first_match
|
||||||
|
end
|
||||||
|
end
|
||||||
rescue
|
rescue
|
||||||
Preferences.from_json("{}")
|
|
||||||
end
|
end
|
||||||
|
|
||||||
env.set "preferences", preferences
|
env.set "preferences", preferences
|
||||||
|
Loading…
Reference in New Issue
Block a user