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));
            };
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
        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();
        }
Esempio n. 6
0
        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);
            }
        }
Esempio n. 7
0
 public virtual Language DetectLanguage(string text)
 {
     return(LanguageDetector.DetectLanguage(text));
 }