Exemplo n.º 1
0
 /// <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}");
     }
 }
Exemplo n.º 2
0
        /// <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}");
            }
        }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
0
        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());
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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
 }
Exemplo n.º 10
0
        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());
        }
Exemplo n.º 11
0
        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);
        }
Exemplo n.º 13
0
        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}");
            }
        }
Exemplo n.º 19
0
        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());
            }
        }
Exemplo n.º 20
0
        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);
        }
Exemplo n.º 21
0
        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, "" });
            }
        }