From 297c11dba2864b20992cd3f98282f5ce35d5d144 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 18 Apr 2017 16:20:12 -0400 Subject: Language detection refactor (#2099) * Extract detect_language to separate class * Use default locale, not just en * Add spec to confirm that whatlanguage cant identify empty string * Allow account locale to override default in language detector * PostStatusService supplies an account to detect language --- app/lib/language_detector.rb | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 app/lib/language_detector.rb (limited to 'app/lib') diff --git a/app/lib/language_detector.rb b/app/lib/language_detector.rb new file mode 100644 index 000000000..b6f81923b --- /dev/null +++ b/app/lib/language_detector.rb @@ -0,0 +1,20 @@ +# 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) || default_locale.to_sym + end + + private + + def default_locale + account&.user&.locale || I18n.default_locale + end +end -- cgit