mirror of
https://github.com/discourse/discourse.git
synced 2025-09-07 12:02:53 +08:00
FIX: Include resolved locale in anonymous cache key (#10289)
This only applies when set_locale_from_accept_language_header is enabled
This commit is contained in:
parent
bcb0e62363
commit
c09b5807f3
5 changed files with 52 additions and 13 deletions
13
lib/http_language_parser.rb
Normal file
13
lib/http_language_parser.rb
Normal file
|
@ -0,0 +1,13 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module HttpLanguageParser
|
||||
def self.parse(header)
|
||||
# Rails I18n uses underscores between the locale and the region; the request
|
||||
# headers use hyphens.
|
||||
require 'http_accept_language' unless defined? HttpAcceptLanguage
|
||||
available_locales = I18n.available_locales.map { |locale| locale.to_s.tr('_', '-') }
|
||||
parser = HttpAcceptLanguage::Parser.new(header)
|
||||
matched = parser.language_region_compatible_from(available_locales)&.tr('-', '_')
|
||||
matched || SiteSetting.default_locale
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue