/// <summary> /// Translates a given text to a target language. /// </summary> /// <param name="text">The content to translate.</param> /// <param name="sourceLanguage">Required. Source language code.</param> /// <param name="targetLanguage">Required. Target language code.</param> /// <param name="projectId">Your Google Cloud Project ID.</param> public static void TranslateTextSample(string text, string projectId, string sourceLanguage = "en_US", string targetLanguage = "zh-CN") { try { TranslationServiceClient translationServiceClient = TranslationServiceClient.Create(); TranslateTextRequest request = new TranslateTextRequest { Contents = { // The content to translate. text, }, SourceLanguageCode = sourceLanguage, TargetLanguageCode = targetLanguage, ParentAsLocationName = new LocationName(projectId, "global"), }; TranslateTextResponse response = translationServiceClient.TranslateText(request); // Display the translation for each input text provided foreach (Translation translation in response.Translations) { Console.WriteLine($"Translated text: {translation.TranslatedText}"); SavaTranslateText(text, sourceLanguage, targetLanguage, translation.TranslatedText); } } catch (Exception ex) { Console.WriteLine($"Error text: {ex.Message}"); } }
/// <summary> /// Translates a given text to a target language using glossary. /// </summary> /// <param name="text">The content to translate.</param> /// <param name="sourceLanguage">Optional. Source language code.</param> /// <param name="targetLanguage">Required. Target language code.</param> /// <param name="glossaryId">Translation Glossary ID.</param> /// <param name="projectId">Your Google Cloud Project ID.</param> public static void TranslateTextWithGlossarySample( string text = "[TEXT_TO_TRANSLATE]", string sourceLanguage = "en_US", string targetLanguage = "ch", string projectId = "[Google Cloud Project ID]", string glossaryId = "[YOUR_GLOSSARY_ID]") { TranslationServiceClient translationServiceClient = TranslationServiceClient.Create(); string glossaryPath = $"projects/{projectId}/locations/{"us-central1"}/glossaries/{glossaryId}"; TranslateTextRequest request = new TranslateTextRequest { Contents = { // The content to translate. text, }, TargetLanguageCode = targetLanguage, ParentAsLocationName = new LocationName(projectId, "us-central1"), SourceLanguageCode = sourceLanguage, GlossaryConfig = new TranslateTextGlossaryConfig { // Translation Glossary Path. Glossary = glossaryPath, }, MimeType = "text/plain", }; TranslateTextResponse response = translationServiceClient.TranslateText(request); // Display the translation for given content. foreach (Translation translation in response.GlossaryTranslations) { Console.WriteLine($"Translated text: {translation.TranslatedText}"); } }
/// <summary> /// Unmarshaller the response from the service to the response class. /// </summary> /// <param name="context"></param> /// <returns></returns> public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context) { TranslateTextResponse response = new TranslateTextResponse(); context.Read(); int targetDepth = context.CurrentDepth; while (context.ReadAtDepth(targetDepth)) { if (context.TestExpression("SourceLanguageCode", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.SourceLanguageCode = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("TargetLanguageCode", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.TargetLanguageCode = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("TranslatedText", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.TranslatedText = unmarshaller.Unmarshall(context); continue; } } return(response); }
public static async Task <string> SimpleTranslation(this TranslationServiceClient service, string targetLanguageCode, string sourceLanguageCode, string text) { if (targetLanguageCode == sourceLanguageCode) { return(text); } if (string.IsNullOrWhiteSpace(text)) { return(text); } TranslateTextRequest request = new TranslateTextRequest { Parent = ApplicationValues.GOOGLE_PROJECT_NAME.ToString(), TargetLanguageCode = targetLanguageCode, SourceLanguageCode = sourceLanguageCode, Contents = { text }, MimeType = "text/plain", }; TranslateTextResponse response = await service.TranslateTextAsync(request); string translation = response.Translations[0].TranslatedText; // Translations are HTML encoded using (StringWriter sw = new StringWriter()) { HttpUtility.HtmlDecode(translation, sw); return(sw.ToString()); } }
/// <summary> /// Translates a given text to a target language with custom model. /// </summary> /// <param name="modelId">Translation Model ID.</param> /// <param name="text">The content to translate.t</param> /// <param name="targetLanguage">Required. Target language code.</param> /// <param name="sourceLanguage">Optional. Source language code.</param> /// <param name="projectId"> Google Project ID.</param> /// <param name="location"> Region.</param> public static void TranslateTextWithModelSample( string modelId = "[YOUR_MODEL_ID]", string text = "[TEXT_TO_TRANSLATE]", string targetLanguage = "ja", string sourceLanguage = "en", string projectId = "[Google Cloud Project ID]", string location = "us-central1") { TranslationServiceClient translationServiceClient = TranslationServiceClient.Create(); string modelPath = $"projects/{projectId}/locations/{location}/models/{modelId}"; TranslateTextRequest request = new TranslateTextRequest { Contents = { // The content to translate. text, }, TargetLanguageCode = targetLanguage, ParentAsLocationName = new LocationName(projectId, location), Model = modelPath, SourceLanguageCode = sourceLanguage, MimeType = "text/plain", }; TranslateTextResponse response = translationServiceClient.TranslateText(request); // Display the translation for each input text provided foreach (Translation translation in response.Translations) { Console.WriteLine($"Translated text: {translation.TranslatedText}"); } }
public async Task <ActionResult <string> > GetSimpleTranslation( [Required, FromQuery] string targetLanguageCode, [Required, FromQuery] string sourceLanguageCode, [FromQuery] string text) { if (string.IsNullOrEmpty(text)) { return(text); } TranslateTextRequest request = new TranslateTextRequest { Parent = GoogleCloudTranslateServiceAccessor.PARENT, TargetLanguageCode = targetLanguageCode, SourceLanguageCode = sourceLanguageCode, Contents = { text }, }; TranslationServiceClient service = await translateServiceAccessor.InitializeServiceAsync(); TranslateTextResponse response = await service.TranslateTextAsync(request); string translation = response.Translations[0].TranslatedText; // Translations are HTML encoded using StringWriter sw = new StringWriter(); HttpUtility.HtmlDecode(translation, sw); return(sw.ToString()); }
public string Translate(string original) { if (!IsUseable()) { return(null); } if (string.IsNullOrEmpty(original)) { return(""); } TranslateTextRequest request = new TranslateTextRequest { Contents = { original, }, SourceLanguageCode = "zh", TargetLanguageCode = "en", ParentAsLocationName = new LocationName("pow-english-mod", "global"), }; TranslateTextResponse response = translationServiceClient.TranslateText(request); foreach (Translation translation in response.Translations) { return(translation.TranslatedText); } Useable = false; return(null); }
public static TranslateTextResponse Unmarshall(UnmarshallerContext context) { TranslateTextResponse translateTextResponse = new TranslateTextResponse(); translateTextResponse.HttpResponse = context.HttpResponse; translateTextResponse.RequestId = context.StringValue("TranslateText.RequestId"); translateTextResponse.Code = context.StringValue("TranslateText.Code"); translateTextResponse.Message = context.StringValue("TranslateText.Message"); TranslateTextResponse.TranslateText_Data data = new TranslateTextResponse.TranslateText_Data(); data.Text = context.StringValue("TranslateText.Data.Text"); translateTextResponse.Data = data; return(translateTextResponse); }
/// <summary>Snippet for TranslateText</summary> public void TranslateText_RequestObject() { // Snippet: TranslateText(TranslateTextRequest,CallSettings) // Create client TranslationServiceClient translationServiceClient = TranslationServiceClient.Create(); // Initialize request argument(s) TranslateTextRequest request = new TranslateTextRequest { Contents = { }, TargetLanguageCode = "", ParentAsLocationName = new LocationName("[PROJECT]", "[LOCATION]"), }; // Make the request TranslateTextResponse response = translationServiceClient.TranslateText(request); // End snippet }
static List <Translations> TranslateV3(RestClient restClient, List <string> text) { TranslationServiceClient client = TranslationServiceClient.Create(); TranslateTextRequest request = new TranslateTextRequest(); request.TargetLanguageCode = "es-ES"; request.Parent = new ProjectName("desiringgod").ToString(); request.Contents.AddRange(text); TranslateTextResponse response = client.TranslateText(request); return(response.Translations.Select(s => new Translations { translatedText = s.TranslatedText, detectedSourceLanguage = s.DetectedLanguageCode }).ToList()); }
private void OnTranslate(object sender, RoutedEventArgs e) { string translateText = txtTextInput.Text.Trim(); if (translateText != "") { var translate = new AmazonTranslateClient(); var request = new TranslateTextRequest() { Text = translateText, SourceLanguageCode = "en", TargetLanguageCode = "vi" }; TranslateTextResponse translateResponse = translate.TranslateText(request); txtTextResult.Text = translateResponse.TranslatedText; } }
public async static Task <String> googleTranslateApiV3(String textToTranslate, String targetLanguage, String projectName, ILogger logger, IOptions <GoogleTranslateApiCredentials> googleTranslateApiCredentials) { if (Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT").Equals("Development")) { //var credential = GoogleCredential.GetApplicationDefaultAsync(); //Hostirano lokalno TranslationServiceClientBuilder translationServiceClientBuilder = new TranslationServiceClientBuilder(); translationServiceClientBuilder.JsonCredentials = JsonConvert.SerializeObject(googleTranslateApiCredentials.Value); TranslationServiceClient translationServiceClient = await translationServiceClientBuilder.BuildAsync(); TranslateTextRequest request = new TranslateTextRequest { Contents = { // The content to translate. textToTranslate, }, TargetLanguageCode = targetLanguage, ParentAsLocationName = new LocationName(projectName, "global"), }; TranslateTextResponse response = await translationServiceClient.TranslateTextAsync(request); return(response.Translations[0].TranslatedText); } if (Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT").Equals("Production")) { TranslationServiceClient translationServiceClient = await TranslationServiceClient.CreateAsync(); TranslateTextRequest request = new TranslateTextRequest { Contents = { // The content to translate. textToTranslate, }, TargetLanguageCode = targetLanguage, ParentAsLocationName = new LocationName(projectName, "global"), }; TranslateTextResponse response = await translationServiceClient.TranslateTextAsync(request); return(response.Translations[0].TranslatedText); } return(null); }
public static string Translate(string text, string targetLanguage, string sourceLanguage) { var credentialsPath = Path.Combine(Directory.GetCurrentDirectory(), "service-account.json"); Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", credentialsPath); var projectId = JObject.Parse(File.ReadAllText(credentialsPath)).SelectToken("project_id").ToString(); TranslationServiceClient translationServiceClient = TranslationServiceClient.Create(); TranslateTextRequest request = new TranslateTextRequest { Contents = { text }, TargetLanguageCode = targetLanguage, SourceLanguageCode = sourceLanguage, ParentAsLocationName = new LocationName(projectId, "global") }; TranslateTextResponse response = translationServiceClient.TranslateText(request); return(response.Translations.FirstOrDefault()?.TranslatedText); }
public static IEnumerable <string> GetTranslate(string projectID, string locationID, Language sourceLanguage, Language targetLanguage, string text, string modelID = "general/nmt") { TranslationServiceClient client = TranslationServiceClient.Create(); LocationName locationName = new LocationName(projectId: projectID, locationId: locationID); TranslateTextRequest request = new TranslateTextRequest() { Parent = locationName.ToString(), MimeType = "text/plain", SourceLanguageCode = LanguageDic[sourceLanguage], TargetLanguageCode = LanguageDic[targetLanguage], Model = modelID, Contents = { text }, }; TranslateTextResponse response = client.TranslateText(request); return(response.Translations.Select(result => result.TranslatedText)); }
/// <summary>Snippet for TranslateTextAsync</summary> public async Task TranslateTextAsync_RequestObject() { // Snippet: TranslateTextAsync(TranslateTextRequest,CallSettings) // Additional: TranslateTextAsync(TranslateTextRequest,CancellationToken) // Create client TranslationServiceClient translationServiceClient = await TranslationServiceClient.CreateAsync(); // Initialize request argument(s) TranslateTextRequest request = new TranslateTextRequest { Contents = { }, TargetLanguageCode = "", ParentAsLocationName = new LocationName("[PROJECT]", "[LOCATION]"), }; // Make the request TranslateTextResponse response = await translationServiceClient.TranslateTextAsync(request); // End snippet }
public async Task TranslateTextAsync() { Mock <TranslationService.TranslationServiceClient> mockGrpcClient = new Mock <TranslationService.TranslationServiceClient>(MockBehavior.Strict); mockGrpcClient.Setup(x => x.CreateOperationsClient()) .Returns(new Mock <Operations.OperationsClient>().Object); TranslateTextRequest request = new TranslateTextRequest { Contents = { }, TargetLanguageCode = "targetLanguageCode1323228230", ParentAsLocationName = new LocationName("[PROJECT]", "[LOCATION]"), }; TranslateTextResponse expectedResponse = new TranslateTextResponse(); mockGrpcClient.Setup(x => x.TranslateTextAsync(request, It.IsAny <CallOptions>())) .Returns(new Grpc.Core.AsyncUnaryCall <TranslateTextResponse>(Task.FromResult(expectedResponse), null, null, null, null)); TranslationServiceClient client = new TranslationServiceClientImpl(mockGrpcClient.Object, null); TranslateTextResponse response = await client.TranslateTextAsync(request); Assert.Same(expectedResponse, response); mockGrpcClient.VerifyAll(); }
public void TranslateText() { Mock <TranslationService.TranslationServiceClient> mockGrpcClient = new Mock <TranslationService.TranslationServiceClient>(MockBehavior.Strict); mockGrpcClient.Setup(x => x.CreateOperationsClient()) .Returns(new Mock <Operations.OperationsClient>().Object); TranslateTextRequest request = new TranslateTextRequest { Contents = { }, TargetLanguageCode = "targetLanguageCode1323228230", Parent = new LocationName("[PROJECT]", "[LOCATION]").ToString(), }; TranslateTextResponse expectedResponse = new TranslateTextResponse(); mockGrpcClient.Setup(x => x.TranslateText(request, It.IsAny <CallOptions>())) .Returns(expectedResponse); TranslationServiceClient client = new TranslationServiceClientImpl(mockGrpcClient.Object, null); TranslateTextResponse response = client.TranslateText(request); Assert.Same(expectedResponse, response); mockGrpcClient.VerifyAll(); }
/// <summary> /// Translates a given text to a target language. /// </summary> /// <param name="text">The content to translate.</param> /// <param name="targetLanguage">Required. Target language code.</param> /// <param name="projectId">Your Google Cloud Project ID.</param> public static void TranslateTextSample(string text = "[TEXT_TO_TRANSLATE]", string targetLanguage = "ja", string projectId = "[Google Cloud Project ID]") { TranslationServiceClient translationServiceClient = TranslationServiceClient.Create(); TranslateTextRequest request = new TranslateTextRequest { Contents = { // The content to translate. text, }, TargetLanguageCode = targetLanguage, ParentAsLocationName = new LocationName(projectId, "global"), }; TranslateTextResponse response = translationServiceClient.TranslateText(request); // Display the translation for each input text provided foreach (Translation translation in response.Translations) { Console.WriteLine($"Translated text: {translation.TranslatedText}"); } }
private static void translateText(string userSentence, AmazonTranslateClient client) { // Danish // Italian // French // Spanish string[] languageCodes = { "da", "it", "fr", "es" }; string[] languages = { "DANISH", "ITALIAN", "FRENCH", "SPANISH" }; TranslateTextRequest[] requests = new TranslateTextRequest[4]; // Create a list of request objects for (int i = 0; i < 4; i++) { TranslateTextRequest request = new TranslateTextRequest { SourceLanguageCode = "en", TargetLanguageCode = languageCodes[i], Text = userSentence }; requests[i] = request; } try { int i = 0; foreach (var r in requests) { TranslateTextResponse response = client.TranslateText(r); Console.WriteLine(languages[i] + ": " + response.TranslatedText); i++; } } catch (Exception ex) { Console.WriteLine(ex.ToString()); } }
public void GettingStarted() { string projectId = TestEnvironment.GetTestProjectId(); // Sample: GettingStarted TranslationServiceClient client = TranslationServiceClient.Create(); TranslateTextRequest request = new TranslateTextRequest { Contents = { "It is raining." }, TargetLanguageCode = "fr-FR", Parent = new ProjectName(projectId).ToString() }; TranslateTextResponse response = client.TranslateText(request); // response.Translations will have one entry, because request.Contents has one entry. Translation translation = response.Translations[0]; Console.WriteLine($"Detected language: {translation.DetectedLanguageCode}"); Console.WriteLine($"Translated text: {translation.TranslatedText}"); // End sample Assert.Equal(1, response.Translations.Count); Assert.Equal("en", translation.DetectedLanguageCode); Assert.Equal("Il pleut.", translation.TranslatedText); }
private async Task DoTranslation() { try { string Identifer = Utility.RandomHex(); DebugLog.Log("Making translation request [" + Identifer + "]: " + this.rawText); if (!File.Exists(Properties.Settings.Default.apiKeyPath)) { throw new FileNotFoundException("Keyfile not present at " + Properties.Settings.Default.apiKeyPath); } // Wait for rate limiter before starting the clock GoogleAsyncStatic.rate.Check(); Stopwatch sw = new Stopwatch(); // Make our connection client TranslationServiceClient translationServiceClient = new TranslationServiceClientBuilder { CredentialsPath = Properties.Settings.Default.apiKeyPath, }.Build(); // Request translation TranslateTextRequest request = new TranslateTextRequest { //Contents = { rawText }, TargetLanguageCode = Properties.Settings.Default.targetLocale, ParentAsLocationName = new LocationName(Properties.Settings.Default.projectName, "global"), }; // It does not appear that there's any way initialize the Contents above directly with a split of strings string[] splitters = new string[] { Environment.NewLine }; request.Contents.AddRange(rawText.Split(splitters, StringSplitOptions.RemoveEmptyEntries)); // Send request sw.Start(); TranslateTextResponse response = await translationServiceClient.TranslateTextAsync(request); sw.Stop(); // Anticipating one result per submitted line, in same order _translatedText = response.Translations .Select(tr => WebUtility.HtmlDecode(tr.TranslatedText)) .Aggregate((l, r) => l + Environment.NewLine + r); // Close enough _detectedLocale = response.Translations.First().DetectedLanguageCode; _timeStamp = string.Format("{0:00}:{1:00}:{2:00}.{3:000}", sw.Elapsed.Hours, sw.Elapsed.Minutes, sw.Elapsed.Seconds, sw.Elapsed.Milliseconds); isDone = true; callback?.Invoke(this); DebugLog.Log("Finishing translation [" + Identifer + "]: " + this._translatedText); } catch (Grpc.Core.RpcException e) { Form.Invoke(Form.SafeLogWorkerError, new object[] { e.Message, "http://www.yahoo" }); } catch (Exception e) { Form.Invoke(Form.SafeLogWorkerError, new object[] { e.Message, "" }); } }