diff --git a/app/models/locale_site_setting.rb b/app/models/locale_site_setting.rb index 607a8e7cddd..fad31b53e1f 100644 --- a/app/models/locale_site_setting.rb +++ b/app/models/locale_site_setting.rb @@ -25,7 +25,17 @@ class LocaleSiteSetting < EnumSiteSetting def self.supported_locales @lock.synchronize do - @supported_locales ||= Dir.glob(File.join(Rails.root, 'config', 'locales', 'client.*.yml')).map { |x| x.split('.')[-2] }.sort + @supported_locales ||= begin + app_client_files = Dir.glob( + File.join(Rails.root, 'config', 'locales', 'client.*.yml') + ) + + plugin_client_files = Dir.glob( + File.join(Rails.root, 'plugins', '*', 'config', 'locales', 'client.*.yml') + ) + + (app_client_files + plugin_client_files).map { |x| x.split('.')[-2] }.uniq.sort + end end end diff --git a/config/locales/names.yml b/config/locales/names.yml index 60e9925014a..6f15ab632d6 100644 --- a/config/locales/names.yml +++ b/config/locales/names.yml @@ -119,6 +119,9 @@ eo: es: name: Spanish nativeName: Español +es_MX: + name: Spanish + nativeName: Español (MX) et: name: Estonian nativeName: eesti diff --git a/spec/models/locale_site_setting_spec.rb b/spec/models/locale_site_setting_spec.rb index 115354701c1..ef81765dc07 100644 --- a/spec/models/locale_site_setting_spec.rb +++ b/spec/models/locale_site_setting_spec.rb @@ -14,7 +14,7 @@ describe LocaleSiteSetting do describe 'values' do it 'returns all the locales that we have translations for' do - expect(LocaleSiteSetting.values.map { |x| x[:value] }.sort).to eq(Dir.glob(File.join(Rails.root, 'config', 'locales', 'client.*.yml')).map { |x| x.split('.')[-2] }.sort) + expect(LocaleSiteSetting.values.map { |x| x[:value] }).to include(*Dir.glob(File.join(Rails.root, 'config', 'locales', 'client.*.yml')).map { |x| x.split('.')[-2] }) end end