about summary refs log tree commit diff
path: root/app/lib/language_detector.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/lib/language_detector.rb')
-rw-r--r--app/lib/language_detector.rb14
1 files changed, 13 insertions, 1 deletions
diff --git a/app/lib/language_detector.rb b/app/lib/language_detector.rb
index 9a32d6a64..8c1751beb 100644
--- a/app/lib/language_detector.rb
+++ b/app/lib/language_detector.rb
@@ -9,11 +9,23 @@ class LanguageDetector
   end
 
   def to_iso_s
-    WhatLanguage.new(:all).language_iso(text_without_urls) || default_locale.to_sym
+    detected_language_code || default_locale.to_sym
   end
 
   private
 
+  def detected_language_code
+    detected_language[:code].to_sym if detected_language_reliable?
+  end
+
+  def detected_language
+    @_detected_language ||= CLD.detect_language(text_without_urls)
+  end
+
+  def detected_language_reliable?
+    detected_language[:reliable]
+  end
+
   def text_without_urls
     text.dup.tap do |new_text|
       URI.extract(new_text).each do |url|