Skip to content
Extraits de code Groupes Projets
settings_helper.rb 2,77 ko
Newer Older
  • Learn to ignore specific revisions
  • # frozen_string_literal: true
    
    module SettingsHelper
      HUMAN_LOCALES = {
    
        ar: 'العربية',
    
        bg: 'Български',
    
        bn: 'বাংলা',
    
    spla's avatar
    spla a validé
        ca: 'Català',
    
        co: 'Corsu',
    
        cs: 'Čeština',
    
        cy: 'Cymraeg',
    
        de: 'Deutsch',
    
        el: 'Ελληνικά',
    
        eo: 'Esperanto',
    
        'es-AR': 'Español (Argentina)',
    
        es: 'Español',
    
        eu: 'Euskara',
    
        fa: 'فارسی',
    
        fi: 'Suomi',
    
        fr: 'Français',
    
        ga: 'Gaeilge',
    
        gl: 'Galego',
    
        he: 'עברית',
    
        hi: 'हिन्दी',
    
        hr: 'Hrvatski',
    
        hy: 'Հայերեն',
    
        id: 'Bahasa Indonesia',
    
        io: 'Ido',
    
        is: 'Íslenska',
    
        it: 'Italiano',
    
        ja: '日本語',
    
        ka: 'ქართული',
    
        kab: 'Taqbaylit',
    
        kn: 'ಕನ್ನಡ',
    
        ko: '한국어',
    
        mk: 'Македонски',
    
        ml: 'മലയാളം',
    
        mr: 'मराठी',
    
        nl: 'Nederlands',
    
        oc: 'Occitan',
    
        'pt-BR': 'Português (Brasil)',
    
        'pt-PT': 'Português (Portugal)',
        pt: 'Português',
    
        ru: 'Русский',
    
        sk: 'Slovenčina',
    
        sl: 'Slovenščina',
    
        'sr-Latn': 'Srpski (latinica)',
    
        sv: 'Svenska',
    
        ta: 'தமிழ்',
    
        te: 'తెలుగు',
    
        tr: 'Türkçe',
    
        uk: 'Українська',
    
        ur: 'اُردُو',
    
        vi: 'Tiếng Việt',
    
        '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?))
    
    
      def session_device_icon(session)
        device = session.detection.device
    
        if device.mobile?
          'mobile'
        elsif device.tablet?
          'tablet'
        else
          'desktop'
        end
      end
    
    
      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
    
    
      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