fix(i18n): add Kosovo to countries list

Kosovo is not part of ISO 3166 as of time of writing. https://en.wikipedia.org/wiki/ISO_3166-2:RS#cite_ref-1
This commit is contained in:
Paul Chavard 2021-09-08 12:11:25 +02:00
parent b67cc4a254
commit 44eb0ada4f
3 changed files with 18 additions and 2 deletions

View file

@ -2,7 +2,7 @@ class API::PaysController < ApplicationController
before_action :authenticate_logged_user!
def index
countries = I18nData.countries('FR').zip(I18nData.countries(I18n.locale))
countries = CountriesService.get('FR').zip(CountriesService.get(I18n.locale))
countries = countries.map do |(code, value_fr), (localized_code, localized_value)|
if code != localized_code
raise "Countries lists mismatch. It means i18n_data gem has some internal inconsistencies."

View file

@ -20,7 +20,7 @@
class Champs::PaysChamp < Champs::TextChamp
def localized_value
if external_id
I18nData.countries(I18n.locale)[external_id].to_s
CountriesService.get(I18n.locale)[external_id].to_s
else
value.present? ? value.to_s : ''
end

View file

@ -0,0 +1,16 @@
class CountriesService
def self.get(locale)
I18nData.countries(locale).merge(get_localized_additional_countries(locale))
end
def self.get_localized_additional_countries(locale)
additional_countries[locale.to_s.upcase] || {}
end
def self.additional_countries
{
'FR' => { 'XK' => 'Kosovo' },
'EN' => { 'XK' => 'Kosovo' }
}
end
end