public void DetectionValid() { var service = new FakeTranslateService(); var client = new TranslationClientImpl(service); var inputs = new string[] { "a", "b" }; var request = service.Detections.List(new Repeatable <string>(inputs)); var response = new DetectionsListResponse { Detections = new List <IList <DetectionsResourceItems> > { new List <DetectionsResourceItems> { new DetectionsResourceItems { Language = "en", Confidence = 0.5f, IsReliable = true } }, new List <DetectionsResourceItems> { new DetectionsResourceItems { Language = "fr", Confidence = 0.8f, IsReliable = true } }, } }; service.ExpectRequest(request, response); var result = client.DetectLanguages(inputs); // Just check the original text and language. Assert.Equal("a", result[0].Text); Assert.Equal("en", result[0].Language); Assert.Equal("b", result[1].Text); Assert.Equal("fr", result[1].Language); }
public void DetectionResultHasNonSingleList(int count) { var service = new FakeTranslateService(); var client = new TranslationClientImpl(service); var inputs = new string[] { "a", "b" }; var request = service.Detections.List(new Repeatable <string>(inputs)); var response = new DetectionsListResponse { // This time we have the right number of top-level results, but the second // result doesn't have a single entry Detections = new List <IList <DetectionsResourceItems> > { new List <DetectionsResourceItems> { new DetectionsResourceItems { Language = "en" } }, Enumerable.Repeat(new DetectionsResourceItems { Language = "en" }, count).ToList() } }; service.ExpectRequest(request, response); Assert.Throws <InvalidOperationException>(() => client.DetectLanguages(inputs)); }
private static String GoogleTranslateText(String text) { TranslationResult gresult; TranslateService service = new TranslateService(new BaseClientService.Initializer { ApiKey = googleCloudKey }); TranslationClientImpl gclient = new TranslationClientImpl(service, TranslationModel.ServiceDefault); gresult = gclient.TranslateText(text, LanguageCodes.ChineseTraditional); return(gresult.TranslatedText); }
public async Task <string> GetTranslatedText(string text, string from, string to) { var service = new TranslateService( new BaseClientService.Initializer { ApiKey = _translatorsSettings.Items.Find(i => i.Vendor.ToLower() == Vendors.Google)?.SubscriptionKey }); var client = new TranslationClientImpl(service); var response = await client.TranslateTextAsync(text, to, from); return(response.TranslatedText); }
public async Task <string> GetLanguage(string text) { var service = new TranslateService( new BaseClientService.Initializer { ApiKey = _translatorsSettings.Items.Find(i => i.Vendor.ToLower() == Vendors.Google)?.SubscriptionKey }); var client = new TranslationClientImpl(service); var detection = await client.DetectLanguageAsync(text); return(detection.Language); }
public void NonMatchingTranslateResultCount() { var service = new FakeTranslateService(); var client = new TranslationClientImpl(service); var inputs = new string[] { "a", "b" }; var request = service.Translations.List(new Repeatable <string>(inputs), "en"); request.Format = FormatEnum.Text; var response = new TranslationsListResponse { // Content is irrelevant; we shouldn't get that far Translations = new List <TranslationsResource> { new TranslationsResource() } }; service.ExpectRequest(request, response); Assert.Throws <InvalidOperationException>(() => client.TranslateText(inputs, "en")); }
public static void ConfigureGeneralizationServices(this IServiceCollection services, IConfiguration configuration) { var generalizationApiKey = configuration.GetSection("Twist_Generalization_ApiKey").Value; if (string.IsNullOrEmpty(generalizationApiKey)) { throw new ArgumentException("Value cannot be null or empty", nameof(generalizationApiKey)); } services.AddSingleton <TranslationClientImpl>(p => { var service = new TranslateService(new BaseClientService.Initializer { ApiKey = generalizationApiKey }); var client = new TranslationClientImpl(service, TranslationModel.ServiceDefault); return(client); }); services.AddSingleton <IGeneralizationService, GeneralizationService>(); }
public void NonMatchingDetectionResultCount() { var service = new FakeTranslateService(); var client = new TranslationClientImpl(service); var inputs = new string[] { "a", "b" }; var request = service.Detections.List(new Repeatable <string>(inputs)); var response = new DetectionsListResponse { // Content is irrelevant; we shouldn't get that far Detections = new List <IList <DetectionsResourceItems> > { new List <DetectionsResourceItems> { new DetectionsResourceItems { Language = "en" } } } }; service.ExpectRequest(request, response); Assert.Throws <InvalidOperationException>(() => client.DetectLanguages(inputs)); }
public void NonMatchingTranslateResultCount() { var service = new FakeTranslateService(); var client = new TranslationClientImpl(service); var inputs = new string[] { "a", "b" }; var body = new TranslateTextRequest { Q = inputs, Format = "text", Target = "en" }; var request = service.Translations.Translate(body); var response = new TranslationsListResponse { // Content is irrelevant; we shouldn't get that far Translations = new List <TranslationsResource> { new TranslationsResource() } }; service.ExpectRequest(request, response); Assert.Throws <InvalidOperationException>(() => client.TranslateText(inputs, "en")); }
private static void Main(string[] args) { var service = new TranslateService(new BaseClientService.Initializer { ApiKey = GoogleApiKey }); var client = new TranslationClientImpl(service); var results = new List <string>(); string line; var file = new StreamReader(ToolbarPath); while ((line = file.ReadLine()) != null) { Console.WriteLine(line); if (line.Contains("locale_1033")) { results.Add(line); var onlyText = RemoveTags(line); var translated = client.TranslateText(onlyText, "es", "en", null); results.Add(AddTags(translated.TranslatedText, "1034")); translated = client.TranslateText(onlyText, "fr", "en", null); results.Add(AddTags(translated.TranslatedText, "1036")); translated = client.TranslateText(onlyText, "it", "en", null); results.Add(AddTags(translated.TranslatedText, "1040")); translated = client.TranslateText(onlyText, "pt", "en", null); results.Add(AddTags(translated.TranslatedText, "2070")); translated = client.TranslateText(onlyText, "de", "en", null); results.Add(AddTags(translated.TranslatedText, "1031")); translated = client.TranslateText(onlyText, "zh-cn", "en", null); results.Add(AddTags(translated.TranslatedText, "2052")); translated = client.TranslateText(onlyText, "zh-tw", "en", null); results.Add(AddTags(translated.TranslatedText, "1028")); translated = client.TranslateText(onlyText, "ja", "en", null); results.Add(AddTags(translated.TranslatedText, "1041")); translated = client.TranslateText(onlyText, "cs", "en", null); results.Add(AddTags(translated.TranslatedText, "1029")); translated = client.TranslateText(onlyText, "ru", "en", null); results.Add(AddTags(translated.TranslatedText, "1049")); translated = client.TranslateText(onlyText, "pl", "en", null); results.Add(AddTags(translated.TranslatedText, "1045")); translated = client.TranslateText(onlyText, "ko", "en", null); results.Add(AddTags(translated.TranslatedText, "1042")); } else { results.Add(line); } } file.Close(); var translatedRui = new StreamWriter(ToolbarPathCopy); foreach (var lineTranslated in results) { translatedRui.WriteLine(lineTranslated); } translatedRui.Close(); }
public GeneralizationService(TranslationClientImpl client) { _client = client; }