Ensure i18n matches options (#2358)
* Add failing spec showing that human_locales does not match what i18n knows about * Add missing `ar` key for arabic to human locales * Remove duplicate `id` key from available locales * Sort keys in human locales list * Add spec for human_locale helpergh/stable
parent
6e27e08cb4
commit
55e1e12b7d
|
@ -3,29 +3,30 @@
|
||||||
module SettingsHelper
|
module SettingsHelper
|
||||||
HUMAN_LOCALES = {
|
HUMAN_LOCALES = {
|
||||||
en: 'English',
|
en: 'English',
|
||||||
|
ar: 'عربى',
|
||||||
|
bg: 'Български',
|
||||||
de: 'Deutsch',
|
de: 'Deutsch',
|
||||||
es: 'Español',
|
|
||||||
eo: 'Esperanto',
|
eo: 'Esperanto',
|
||||||
|
es: 'Español',
|
||||||
|
fi: 'Suomi',
|
||||||
fr: 'Français',
|
fr: 'Français',
|
||||||
hr: 'Hrvatski',
|
hr: 'Hrvatski',
|
||||||
hu: 'Magyar',
|
hu: 'Magyar',
|
||||||
|
id: 'Bahasa Indonesia',
|
||||||
io: 'Ido',
|
io: 'Ido',
|
||||||
it: 'Italiano',
|
it: 'Italiano',
|
||||||
|
ja: '日本語',
|
||||||
nl: 'Nederlands',
|
nl: 'Nederlands',
|
||||||
no: 'Norsk',
|
no: 'Norsk',
|
||||||
oc: 'Occitan',
|
oc: 'Occitan',
|
||||||
pl: 'Polszczyzna',
|
pl: 'Polszczyzna',
|
||||||
pt: 'Português',
|
pt: 'Português',
|
||||||
'pt-BR': 'Português do Brasil',
|
'pt-BR': 'Português do Brasil',
|
||||||
fi: 'Suomi',
|
|
||||||
ru: 'Русский',
|
ru: 'Русский',
|
||||||
uk: 'Українська',
|
uk: 'Українська',
|
||||||
ja: '日本語',
|
|
||||||
'zh-CN': '简体中文',
|
'zh-CN': '简体中文',
|
||||||
'zh-HK': '繁體中文(香港)',
|
'zh-HK': '繁體中文(香港)',
|
||||||
'zh-TW': '繁體中文(臺灣)',
|
'zh-TW': '繁體中文(臺灣)',
|
||||||
bg: 'Български',
|
|
||||||
id: 'Bahasa Indonesia',
|
|
||||||
}.freeze
|
}.freeze
|
||||||
|
|
||||||
def human_locale(locale)
|
def human_locale(locale)
|
||||||
|
|
|
@ -35,7 +35,6 @@ module Mastodon
|
||||||
:fi,
|
:fi,
|
||||||
:fr,
|
:fr,
|
||||||
:hr,
|
:hr,
|
||||||
:id,
|
|
||||||
:hu,
|
:hu,
|
||||||
:id,
|
:id,
|
||||||
:io,
|
:io,
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
describe SettingsHelper do
|
||||||
|
describe 'the HUMAN_LOCALES constant' do
|
||||||
|
it 'has the same number of keys as I18n locales exist' do
|
||||||
|
options = I18n.available_locales
|
||||||
|
|
||||||
|
expect(described_class::HUMAN_LOCALES.keys).to eq(options)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'human_locale' do
|
||||||
|
it 'finds the human readable local description from a key' do
|
||||||
|
# Ensure the value is as we expect
|
||||||
|
expect(described_class::HUMAN_LOCALES[:en]).to eq('English')
|
||||||
|
|
||||||
|
expect(helper.human_locale(:en)).to eq('English')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Reference in New Issue