diff --git a/pkg/internal/services/languages.go b/pkg/internal/services/languages.go index 2161625..63581ff 100644 --- a/pkg/internal/services/languages.go +++ b/pkg/internal/services/languages.go @@ -6,12 +6,20 @@ import ( "github.com/pemistahl/lingua-go" ) -func DetectLanguage(content string) string { - return "unknown" +var detector lingua.LanguageDetector - detector := lingua.NewLanguageDetectorBuilder(). - FromLanguages(lingua.AllLanguages()...). +func CreateLanguageDetector() lingua.LanguageDetector { + return lingua.NewLanguageDetectorBuilder(). + FromAllLanguages(). + WithLowAccuracyMode(). Build() +} + +func DetectLanguage(content string) string { + if detector == nil { + detector = CreateLanguageDetector() + } + if lang, ok := detector.DetectLanguageOf(content); ok { return strings.ToLower(lang.String()) }