public LanguageDetectModule(LanguageDetector languageDetector) : base("/language-detector") { Get["/"] = _ => { return(View[LanguageDetectionViewName, new DetectedLanguageResponse()]); }; Post["/"] = _ => { var model = this.Bind <LanguageDetectRequest>(); if (ModelIsInvalid(model)) { return(BadRequest()); } DetectedLanguageResponse detectedLanguageResponse = languageDetector.DetectLanguage(model); //return Response.AsXml(detectedLanguageResponse); return(Negotiate .WithContentType("text/html; charset=utf-8") .WithModel(detectedLanguageResponse) .WithView(LanguageDetectionViewName)); }; }
private string DetectLanguage(byte[] bytes) { try { return(LanguageDetector.DetectLanguage(Encoding.UTF8.GetString(bytes))); } catch (NLangDetectException ex) { } try { return(LanguageDetector.DetectLanguage(Encoding.ASCII.GetString(bytes))); } catch (NLangDetectException ex) { } try { return(LanguageDetector.DetectLanguage(Encoding.Unicode.GetString(bytes))); } catch (NLangDetectException ex) { } return(null); }
private string DetectLanguage(byte[] bytes, int index, int count) { try { return(LanguageDetector.DetectLanguage(Encoding.UTF8.GetString(bytes, index, count))); } catch (NLangDetectException ex) { _logger.LogDebug(ex, "LanguageDetector.DetectLanguage threw a NLangDetectException."); } try { return(LanguageDetector.DetectLanguage(Encoding.ASCII.GetString(bytes, index, count))); } catch (NLangDetectException ex) { _logger.LogDebug(ex, "LanguageDetector.DetectLanguage threw a NLangDetectException."); } try { return(LanguageDetector.DetectLanguage(Encoding.Unicode.GetString(bytes, index, count))); } catch (NLangDetectException ex) { _logger.LogDebug(ex, "LanguageDetector.DetectLanguage threw a NLangDetectException."); } return(null); }
public void TestDetectLanguage(string text, string language) { var detector = new LanguageDetector(generateConfig()); var result = detector.DetectLanguage(new Lyric { Text = text }); Assert.AreEqual(result, new CultureInfo(language)); }
public void AutoDetectLyricLanguage() { var lyrics = beatmap.HitObjects.OfType <Lyric>().ToList(); if (!lyrics.Any()) { return; } // todo : should get the config from setting. var config = new LanguageDetectorConfig(); var detector = new LanguageDetector(config); changeHandler?.BeginChange(); foreach (var lyric in lyrics) { var detectedLanguage = detector.DetectLanguage(lyric); lyric.Language = detectedLanguage; } changeHandler?.EndChange(); }
public /*protected*/ override void ProcessDocument(Document document) { string contentType = document.Features.GetFeatureValue("contentType"); if (contentType != "Text") { return; } StringBuilder strBuilder = new StringBuilder(); try { TextBlock[] blocks = document.GetAnnotatedBlocks(mBlockSelector); foreach (TextBlock block in blocks) { strBuilder.AppendLine(block.Text); } string text = strBuilder.ToString(); if (text.Length >= mMinTextLen) { LanguageProfile langProfile = mLanguageDetector.DetectLanguage(text); if (langProfile != null) { document.Features.SetFeatureValue("detectedLanguage", langProfile.Language.ToString()); } } if (text.Length > 0) { document.Features.SetFeatureValue("detectedCharRange", TextMiningUtils.GetCharRange(text)); } } catch (Exception exception) { mLogger.Error("ProcessDocument", exception); } }
public virtual Language DetectLanguage(string text) { return(LanguageDetector.DetectLanguage(text)); }