2016-11-19 01:19:57 +02:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module SettingsHelper
|
|
|
|
HUMAN_LOCALES = {
|
2017-04-28 02:59:19 +03:00
|
|
|
ar: 'العربية',
|
2019-02-13 19:53:01 +02:00
|
|
|
ast: 'Asturianu',
|
2017-04-23 20:09:52 +03:00
|
|
|
bg: 'Български',
|
2019-03-18 22:55:21 +02:00
|
|
|
bn: 'বাংলা',
|
2019-10-03 04:59:43 +03:00
|
|
|
br: 'Breton',
|
2017-05-17 01:25:10 +03:00
|
|
|
ca: 'Català',
|
2018-05-07 02:34:19 +03:00
|
|
|
co: 'Corsu',
|
2018-09-05 02:50:06 +03:00
|
|
|
cs: 'Čeština',
|
2018-08-31 12:16:19 +03:00
|
|
|
cy: 'Cymraeg',
|
2018-07-05 15:50:16 +03:00
|
|
|
da: 'Dansk',
|
2016-11-19 01:19:57 +02:00
|
|
|
de: 'Deutsch',
|
2018-05-03 16:54:10 +03:00
|
|
|
el: 'Ελληνικά',
|
2019-10-03 04:59:43 +03:00
|
|
|
en: 'English',
|
2017-04-10 13:52:06 +03:00
|
|
|
eo: 'Esperanto',
|
2019-10-03 04:59:43 +03:00
|
|
|
'es-AR': 'Español (Argentina)',
|
2017-04-23 20:09:52 +03:00
|
|
|
es: 'Español',
|
2019-10-03 04:59:43 +03:00
|
|
|
et: 'Eesti',
|
2018-04-26 14:56:45 +03:00
|
|
|
eu: 'Euskara',
|
2017-04-24 23:39:15 +03:00
|
|
|
fa: 'فارسی',
|
2017-04-23 20:09:52 +03:00
|
|
|
fi: 'Suomi',
|
2016-11-22 11:20:28 +02:00
|
|
|
fr: 'Français',
|
2019-03-18 22:55:21 +02:00
|
|
|
ga: 'Gaeilge',
|
2018-05-03 16:54:10 +03:00
|
|
|
gl: 'Galego',
|
2017-05-02 15:54:35 +03:00
|
|
|
he: 'עברית',
|
2019-03-18 22:55:21 +02:00
|
|
|
hi: 'हिन्दी',
|
2017-04-17 11:38:13 +03:00
|
|
|
hr: 'Hrvatski',
|
2016-11-28 14:55:03 +02:00
|
|
|
hu: 'Magyar',
|
2018-01-21 22:02:23 +02:00
|
|
|
hy: 'Հայերեն',
|
2017-04-23 20:09:52 +03:00
|
|
|
id: 'Bahasa Indonesia',
|
2017-04-21 20:15:25 +03:00
|
|
|
io: 'Ido',
|
2020-01-19 00:22:35 +02:00
|
|
|
is: 'Íslenska',
|
2017-04-17 11:38:13 +03:00
|
|
|
it: 'Italiano',
|
2017-04-23 20:09:52 +03:00
|
|
|
ja: '日本語',
|
2018-08-17 19:00:01 +03:00
|
|
|
ka: 'ქართული',
|
2020-01-26 15:42:35 +02:00
|
|
|
kab: 'Taqbaylit',
|
2019-02-23 23:20:35 +02:00
|
|
|
kk: 'Қазақша',
|
2019-11-14 00:36:41 +02:00
|
|
|
kn: 'ಕನ್ನಡ',
|
2017-07-04 17:11:23 +03:00
|
|
|
ko: '한국어',
|
2019-02-23 23:20:35 +02:00
|
|
|
lt: 'Lietuvių',
|
2019-02-13 19:53:01 +02:00
|
|
|
lv: 'Latviešu',
|
2019-10-03 04:59:43 +03:00
|
|
|
mk: 'Македонски',
|
2018-12-25 19:29:30 +02:00
|
|
|
ml: 'മലയാളം',
|
2019-11-14 00:36:41 +02:00
|
|
|
mr: 'मराठी',
|
2019-02-13 19:53:01 +02:00
|
|
|
ms: 'Bahasa Melayu',
|
2017-04-13 17:02:23 +03:00
|
|
|
nl: 'Nederlands',
|
2019-10-03 04:59:43 +03:00
|
|
|
nn: 'Nynorsk',
|
2017-04-12 18:07:51 +03:00
|
|
|
no: 'Norsk',
|
2017-04-18 16:21:16 +03:00
|
|
|
oc: 'Occitan',
|
2019-02-13 19:53:01 +02:00
|
|
|
pl: 'Polski',
|
2019-09-13 17:00:19 +03:00
|
|
|
'pt-BR': 'Português (Brasil)',
|
2019-10-03 04:59:43 +03:00
|
|
|
'pt-PT': 'Português (Portugal)',
|
|
|
|
pt: 'Português',
|
2019-02-13 19:53:01 +02:00
|
|
|
ro: 'Română',
|
2017-04-10 13:52:06 +03:00
|
|
|
ru: 'Русский',
|
2018-08-11 08:52:05 +03:00
|
|
|
sk: 'Slovenčina',
|
2018-05-14 13:52:25 +03:00
|
|
|
sl: 'Slovenščina',
|
2019-02-11 14:19:06 +02:00
|
|
|
sq: 'Shqip',
|
2018-01-02 13:39:12 +02:00
|
|
|
'sr-Latn': 'Srpski (latinica)',
|
2019-10-03 04:59:43 +03:00
|
|
|
sr: 'Српски',
|
2017-10-17 07:41:36 +03:00
|
|
|
sv: 'Svenska',
|
2018-09-02 23:31:53 +03:00
|
|
|
ta: 'தமிழ்',
|
2018-05-03 16:54:10 +03:00
|
|
|
te: 'తెలుగు',
|
2019-02-13 19:53:01 +02:00
|
|
|
th: 'ไทย',
|
2017-05-07 17:20:53 +03:00
|
|
|
tr: 'Türkçe',
|
2017-04-12 09:50:50 +03:00
|
|
|
uk: 'Українська',
|
2019-11-14 00:36:41 +02:00
|
|
|
ur: 'اُردُو',
|
2020-05-10 12:25:35 +03:00
|
|
|
vi: 'Tiếng Việt',
|
2017-04-12 09:50:50 +03:00
|
|
|
'zh-CN': '简体中文',
|
|
|
|
'zh-HK': '繁體中文(香港)',
|
2017-04-17 11:35:06 +03:00
|
|
|
'zh-TW': '繁體中文(臺灣)',
|
2019-10-03 04:59:43 +03:00
|
|
|
zh: '中文',
|
2016-11-19 01:19:57 +02:00
|
|
|
}.freeze
|
|
|
|
|
|
|
|
def human_locale(locale)
|
|
|
|
HUMAN_LOCALES[locale]
|
|
|
|
end
|
2017-01-12 21:46:24 +02:00
|
|
|
|
2017-09-08 13:32:22 +03:00
|
|
|
def filterable_languages
|
2017-09-16 15:59:41 +03:00
|
|
|
LanguageDetector.instance.language_names.select(&HUMAN_LOCALES.method(:key?))
|
2017-09-08 13:32:22 +03:00
|
|
|
end
|
|
|
|
|
2017-01-12 21:46:24 +02:00
|
|
|
def hash_to_object(hash)
|
|
|
|
HashObject.new(hash)
|
|
|
|
end
|
2017-06-25 17:54:30 +03:00
|
|
|
|
|
|
|
def session_device_icon(session)
|
|
|
|
device = session.detection.device
|
|
|
|
|
|
|
|
if device.mobile?
|
|
|
|
'mobile'
|
|
|
|
elsif device.tablet?
|
|
|
|
'tablet'
|
|
|
|
else
|
|
|
|
'desktop'
|
|
|
|
end
|
|
|
|
end
|
2019-09-19 21:58:19 +03:00
|
|
|
|
|
|
|
def compact_account_link_to(account)
|
|
|
|
return if account.nil?
|
|
|
|
|
|
|
|
link_to ActivityPub::TagManager.instance.url_for(account), class: 'name-tag', title: account.acct do
|
|
|
|
safe_join([image_tag(account.avatar.url, width: 15, height: 15, alt: display_name(account), class: 'avatar'), content_tag(:span, account.acct, class: 'username')], ' ')
|
|
|
|
end
|
|
|
|
end
|
2020-04-20 15:03:03 +03:00
|
|
|
|
|
|
|
def picture_hint(hint, picture)
|
|
|
|
if picture.original_filename.nil?
|
|
|
|
hint
|
|
|
|
else
|
|
|
|
link = link_to t('generic.delete'), settings_profile_picture_path(picture.name.to_s), data: { method: :delete }
|
|
|
|
safe_join([hint, link], '<br/>'.html_safe)
|
|
|
|
end
|
|
|
|
end
|
2016-11-19 01:19:57 +02:00
|
|
|
end
|