2016-11-18 15:19:57 -08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module SettingsHelper
|
|
|
|
HUMAN_LOCALES = {
|
|
|
|
en: 'English',
|
2017-04-27 16:59:19 -07:00
|
|
|
ar: 'العربية',
|
2018-07-24 11:47:13 -07:00
|
|
|
ast: 'l\'asturianu',
|
2017-04-23 10:09:52 -07:00
|
|
|
bg: 'Български',
|
2017-05-16 15:25:10 -07:00
|
|
|
ca: 'Català',
|
2018-05-06 16:34:19 -07:00
|
|
|
co: 'Corsu',
|
2018-08-31 02:16:19 -07:00
|
|
|
cy: 'Cymraeg',
|
2018-07-05 05:50:16 -07:00
|
|
|
da: 'Dansk',
|
2016-11-18 15:19:57 -08:00
|
|
|
de: 'Deutsch',
|
2018-05-03 06:54:10 -07:00
|
|
|
el: 'Ελληνικά',
|
2017-04-10 03:52:06 -07:00
|
|
|
eo: 'Esperanto',
|
2017-04-23 10:09:52 -07:00
|
|
|
es: 'Español',
|
2018-04-26 04:56:45 -07:00
|
|
|
eu: 'Euskara',
|
2017-04-24 13:39:15 -07:00
|
|
|
fa: 'فارسی',
|
2017-04-23 10:09:52 -07:00
|
|
|
fi: 'Suomi',
|
2016-11-22 01:20:28 -08:00
|
|
|
fr: 'Français',
|
2018-05-03 06:54:10 -07:00
|
|
|
gl: 'Galego',
|
2017-05-02 05:54:35 -07:00
|
|
|
he: 'עברית',
|
2017-04-17 01:38:13 -07:00
|
|
|
hr: 'Hrvatski',
|
2016-11-28 04:55:03 -08:00
|
|
|
hu: 'Magyar',
|
2018-01-21 12:02:23 -08:00
|
|
|
hy: 'Հայերեն',
|
2017-04-23 10:09:52 -07:00
|
|
|
id: 'Bahasa Indonesia',
|
2017-04-21 10:15:25 -07:00
|
|
|
io: 'Ido',
|
2017-04-17 01:38:13 -07:00
|
|
|
it: 'Italiano',
|
2017-04-23 10:09:52 -07:00
|
|
|
ja: '日本語',
|
2018-08-17 09:00:01 -07:00
|
|
|
ka: 'ქართული',
|
2017-07-04 07:11:23 -07:00
|
|
|
ko: '한국어',
|
2017-04-13 07:02:23 -07:00
|
|
|
nl: 'Nederlands',
|
2017-04-12 08:07:51 -07:00
|
|
|
no: 'Norsk',
|
2017-04-18 06:21:16 -07:00
|
|
|
oc: 'Occitan',
|
2017-04-20 18:29:11 -07:00
|
|
|
pl: 'Polszczyzna',
|
2017-04-11 23:50:50 -07:00
|
|
|
pt: 'Português',
|
2017-04-17 01:38:27 -07:00
|
|
|
'pt-BR': 'Português do Brasil',
|
2018-09-02 13:31:53 -07:00
|
|
|
ro: 'Limba română',
|
2017-04-10 03:52:06 -07:00
|
|
|
ru: 'Русский',
|
2018-08-10 22:52:05 -07:00
|
|
|
sk: 'Slovenčina',
|
2018-05-14 03:52:25 -07:00
|
|
|
sl: 'Slovenščina',
|
2017-12-31 00:28:20 -08:00
|
|
|
sr: 'Српски',
|
2018-01-02 03:39:12 -08:00
|
|
|
'sr-Latn': 'Srpski (latinica)',
|
2017-10-16 21:41:36 -07:00
|
|
|
sv: 'Svenska',
|
2018-09-02 13:31:53 -07:00
|
|
|
ta: 'தமிழ்',
|
2018-05-03 06:54:10 -07:00
|
|
|
te: 'తెలుగు',
|
2017-05-08 06:56:00 -07:00
|
|
|
th: 'ภาษาไทย',
|
2017-05-07 07:20:53 -07:00
|
|
|
tr: 'Türkçe',
|
2017-04-11 23:50:50 -07:00
|
|
|
uk: 'Українська',
|
2017-09-08 03:32:22 -07:00
|
|
|
zh: '中文',
|
2017-04-11 23:50:50 -07:00
|
|
|
'zh-CN': '简体中文',
|
|
|
|
'zh-HK': '繁體中文(香港)',
|
2017-04-17 01:35:06 -07:00
|
|
|
'zh-TW': '繁體中文(臺灣)',
|
2016-11-18 15:19:57 -08:00
|
|
|
}.freeze
|
|
|
|
|
|
|
|
def human_locale(locale)
|
|
|
|
HUMAN_LOCALES[locale]
|
|
|
|
end
|
2017-01-12 11:46:24 -08:00
|
|
|
|
2017-09-08 03:32:22 -07:00
|
|
|
def filterable_languages
|
2017-09-16 05:59:41 -07:00
|
|
|
LanguageDetector.instance.language_names.select(&HUMAN_LOCALES.method(:key?))
|
2017-09-08 03:32:22 -07:00
|
|
|
end
|
|
|
|
|
2017-01-12 11:46:24 -08:00
|
|
|
def hash_to_object(hash)
|
|
|
|
HashObject.new(hash)
|
|
|
|
end
|
2017-06-25 07:54:30 -07:00
|
|
|
|
|
|
|
def session_device_icon(session)
|
|
|
|
device = session.detection.device
|
|
|
|
|
|
|
|
if device.mobile?
|
|
|
|
'mobile'
|
|
|
|
elsif device.tablet?
|
|
|
|
'tablet'
|
|
|
|
else
|
|
|
|
'desktop'
|
|
|
|
end
|
|
|
|
end
|
2016-11-18 15:19:57 -08:00
|
|
|
end
|