You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
jellyfin/Emby.Server.Implementations/TextEncoding/NLangDetect/LanguageDetector.cs

38 lines
946 B

using System;
using MediaBrowser.Model.Serialization;
namespace NLangDetect.Core
{
// TODO IMM HI: change to non-static class
// TODO IMM HI: hide other, unnecassary classes via internal?
public static class LanguageDetector
{
private const double _DefaultAlpha = 0.5;
#region Public methods
public static void Initialize(IJsonSerializer json)
{
DetectorFactory.LoadProfiles(json);
}
public static void Release()
{
DetectorFactory.Clear();
}
public static string DetectLanguage(string plainText)
{
if (string.IsNullOrEmpty(plainText)) { throw new ArgumentException("Argument can't be null nor empty.", nameof(plainText)); }
var detector = DetectorFactory.Create(_DefaultAlpha);
detector.Append(plainText);
return detector.Detect();
}
#endregion
}
}