catstodon/app/lib/language_detector.rb
Matt Jankowski 297c11dba2 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
2017-04-18 22:20:12 +02:00

20 lines
354 B
Ruby

# 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