Skip to content
Extraits de code Groupes Projets
language_detector.rb 521 octets
Newer Older
  • Learn to ignore specific revisions
  • # frozen_string_literal: true
    
    class LanguageDetector
      attr_reader :text, :account
    
      def initialize(text, account = nil)
        @text = text
        @account = account
      end
    
      def to_iso_s
    
        WhatLanguage.new(:all).language_iso(text_without_urls) || default_locale.to_sym
    
      def text_without_urls
        text.dup.tap do |new_text|
          URI.extract(new_text).each do |url|
            new_text.gsub!(url, '')
          end
        end
      end
    
    
      def default_locale
        account&.user&.locale || I18n.default_locale
      end
    end