]> cat aescling's git repositories - mastodon.git/commitdiff
Fix sr locale being selected over sr-Latn (#13693)
authorThibG <thib@sitedethib.com>
Sun, 10 May 2020 23:09:21 +0000 (01:09 +0200)
committerGitHub <noreply@github.com>
Sun, 10 May 2020 23:09:21 +0000 (01:09 +0200)
* Fix sr locale being selected over sr-Latn

* Update tests

app/controllers/concerns/localized.rb
config/application.rb
spec/controllers/concerns/localized_spec.rb

index b43859d9d626be53b13af0a3f93fda55ad5fdd36..d1384ed56ff38f232822a31b83093f3a11435d66 100644 (file)
@@ -28,18 +28,6 @@ module Localized
   end
 
   def request_locale
-    preferred_locale || compatible_locale
-  end
-
-  def preferred_locale
-    http_accept_language.preferred_language_from(available_locales)
-  end
-
-  def compatible_locale
-    http_accept_language.compatible_language_from(available_locales)
-  end
-
-  def available_locales
-    I18n.available_locales.reverse
+    http_accept_language.language_region_compatible_from(I18n.available_locales)
   end
 end
index d1980cd68116ab0fa525a3bc108a43583542831d..8348649df4c0ffd0bb07e63e3531ce8a73d388fa 100644 (file)
@@ -55,8 +55,8 @@ module Mastodon
       :el,
       :en,
       :eo,
-      :'es-AR',
       :es,
+      :'es-AR',
       :et,
       :eu,
       :fa,
@@ -97,8 +97,8 @@ module Mastodon
       :sk,
       :sl,
       :sq,
-      :'sr-Latn',
       :sr,
+      :'sr-Latn',
       :sv,
       :ta,
       :te,
index 7635d10e19f9dc384d2d922e7b731e070dee0f52..a89e24af04bab0e127eb2ebed8fb95c6df35aaa3 100644 (file)
@@ -16,10 +16,16 @@ describe ApplicationController, type: :controller do
   end
 
   shared_examples 'default locale' do
+    it 'sets available and preferred language' do
+      request.headers['Accept-Language'] = 'sr-Latn'
+      get 'success'
+      expect(response.body).to eq 'sr-Latn'
+    end
+
     it 'sets available and preferred language' do
       request.headers['Accept-Language'] = 'ca-ES, fa'
       get 'success'
-      expect(response.body).to eq 'fa'
+      expect(response.body).to eq 'ca'
     end
 
     it 'sets available and compatible language if none of available languages are preferred' do