Fix sr locale being selected over sr-Latn (#13693)
* Fix sr locale being selected over sr-Latn * Update tests
This commit is contained in:
parent
4b2d9b8a55
commit
4bcef12bad
3 changed files with 10 additions and 16 deletions
|
@ -28,18 +28,6 @@ module Localized
|
||||||
end
|
end
|
||||||
|
|
||||||
def request_locale
|
def request_locale
|
||||||
preferred_locale || compatible_locale
|
http_accept_language.language_region_compatible_from(I18n.available_locales)
|
||||||
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
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -55,8 +55,8 @@ module Mastodon
|
||||||
:el,
|
:el,
|
||||||
:en,
|
:en,
|
||||||
:eo,
|
:eo,
|
||||||
:'es-AR',
|
|
||||||
:es,
|
:es,
|
||||||
|
:'es-AR',
|
||||||
:et,
|
:et,
|
||||||
:eu,
|
:eu,
|
||||||
:fa,
|
:fa,
|
||||||
|
@ -97,8 +97,8 @@ module Mastodon
|
||||||
:sk,
|
:sk,
|
||||||
:sl,
|
:sl,
|
||||||
:sq,
|
:sq,
|
||||||
:'sr-Latn',
|
|
||||||
:sr,
|
:sr,
|
||||||
|
:'sr-Latn',
|
||||||
:sv,
|
:sv,
|
||||||
:ta,
|
:ta,
|
||||||
:te,
|
:te,
|
||||||
|
|
|
@ -16,10 +16,16 @@ describe ApplicationController, type: :controller do
|
||||||
end
|
end
|
||||||
|
|
||||||
shared_examples 'default locale' do
|
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
|
it 'sets available and preferred language' do
|
||||||
request.headers['Accept-Language'] = 'ca-ES, fa'
|
request.headers['Accept-Language'] = 'ca-ES, fa'
|
||||||
get 'success'
|
get 'success'
|
||||||
expect(response.body).to eq 'fa'
|
expect(response.body).to eq 'ca'
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'sets available and compatible language if none of available languages are preferred' do
|
it 'sets available and compatible language if none of available languages are preferred' do
|
||||||
|
|
Loading…
Reference in a new issue