/// <summary> /// Detects the language of the input text. /// </summary> /// <param name="textToDetect">The text to translate.</param> /// <returns>A task that represents the detection operation. /// The task result contains the id of the detected language.</returns> public async Task <string> DetectAsync(string textToDetect) { textToDetect = _preProcessor.PreprocessMessage(textToDetect); var payload = new TranslatorRequestModel[] { new TranslatorRequestModel { Text = textToDetect } }; using (var request = _requestBuilder.BuildDetectRequest(payload)) { var detectedLanguages = await _responseGenerator.GenerateDetectResponseAsync(request).ConfigureAwait(false); return(detectedLanguages.First().Language); } }