62 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # frozen_string_literal: true
 | |
| 
 | |
| module SettingsHelper
 | |
|   HUMAN_LOCALES = {
 | |
|     en: 'English',
 | |
|     ar: 'العربية',
 | |
|     bg: 'Български',
 | |
|     ca: 'Català',
 | |
|     de: 'Deutsch',
 | |
|     eo: 'Esperanto',
 | |
|     es: 'Español',
 | |
|     fa: 'فارسی',
 | |
|     fi: 'Suomi',
 | |
|     fr: 'Français',
 | |
|     he: 'עברית',
 | |
|     hr: 'Hrvatski',
 | |
|     hu: 'Magyar',
 | |
|     id: 'Bahasa Indonesia',
 | |
|     io: 'Ido',
 | |
|     it: 'Italiano',
 | |
|     ja: '日本語',
 | |
|     ko: '한국어',
 | |
|     nl: 'Nederlands',
 | |
|     no: 'Norsk',
 | |
|     oc: 'Occitan',
 | |
|     pl: 'Polszczyzna',
 | |
|     pt: 'Português',
 | |
|     'pt-BR': 'Português do Brasil',
 | |
|     ru: 'Русский',
 | |
|     th: 'ภาษาไทย',
 | |
|     tr: 'Türkçe',
 | |
|     uk: 'Українська',
 | |
|     zh: '中文',
 | |
|     'zh-CN': '简体中文',
 | |
|     'zh-HK': '繁體中文(香港)',
 | |
|     'zh-TW': '繁體中文(臺灣)',
 | |
|   }.freeze
 | |
| 
 | |
|   def human_locale(locale)
 | |
|     HUMAN_LOCALES[locale]
 | |
|   end
 | |
| 
 | |
|   def filterable_languages
 | |
|     LanguageDetector.instance.language_names.select(&HUMAN_LOCALES.method(:key?))
 | |
|   end
 | |
| 
 | |
|   def hash_to_object(hash)
 | |
|     HashObject.new(hash)
 | |
|   end
 | |
| 
 | |
|   def session_device_icon(session)
 | |
|     device = session.detection.device
 | |
| 
 | |
|     if device.mobile?
 | |
|       'mobile'
 | |
|     elsif device.tablet?
 | |
|       'tablet'
 | |
|     else
 | |
|       'desktop'
 | |
|     end
 | |
|   end
 | |
| end
 |