summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Jankowski <mjankowski@thoughtbot.com>2017-04-23 13:09:52 -0400
committerEugen <eugen@zeonfederated.com>2017-04-23 19:09:52 +0200
commit55e1e12b7d673aece3cf015360af9fb4252dd7e5 (patch)
tree4f98e21c7007938e3845224df81f1fd7e955b48a
parent6e27e08cb435d170a8d37dd17d3c2442e9ad34ce (diff)
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 helper
-rw-r--r--app/helpers/settings_helper.rb11
-rw-r--r--config/application.rb1
-rw-r--r--spec/helpers/settings_helper_spec.rb22
3 files changed, 28 insertions, 6 deletions
diff --git a/app/helpers/settings_helper.rb b/app/helpers/settings_helper.rb
index bc9ae9ee749..128e1e98c26 100644
--- a/app/helpers/settings_helper.rb
+++ b/app/helpers/settings_helper.rb
@@ -3,29 +3,30 @@
module SettingsHelper
HUMAN_LOCALES = {
en: 'English',
+ ar: 'عربى',
+ bg: 'Български',
de: 'Deutsch',
- es: 'Español',
eo: 'Esperanto',
+ es: 'Español',
+ fi: 'Suomi',
fr: 'Français',
hr: 'Hrvatski',
hu: 'Magyar',
+ id: 'Bahasa Indonesia',
io: 'Ido',
it: 'Italiano',
+ ja: '日本語',
nl: 'Nederlands',
no: 'Norsk',
oc: 'Occitan',
pl: 'Polszczyzna',
pt: 'Português',
'pt-BR': 'Português do Brasil',
- fi: 'Suomi',
ru: 'Русский',
uk: 'Українська',
- ja: '日本語',
'zh-CN': '简体中文',
'zh-HK': '繁體中文(香港)',
'zh-TW': '繁體中文(臺灣)',
- bg: 'Български',
- id: 'Bahasa Indonesia',
}.freeze
def human_locale(locale)
diff --git a/config/application.rb b/config/application.rb
index 03e98557dbb..50dc2a10b56 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -35,7 +35,6 @@ module Mastodon
:fi,
:fr,
:hr,
- :id,
:hu,
:id,
:io,
diff --git a/spec/helpers/settings_helper_spec.rb b/spec/helpers/settings_helper_spec.rb
new file mode 100644
index 00000000000..5a51e0ef1f1
--- /dev/null
+++ b/spec/helpers/settings_helper_spec.rb
@@ -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