Exemplo n.º 1
0
        private static void DoTranslate(string docxFilePath, string outputDocxFilePath)
        {
            const string apiKey = "<API Key>";

            using (var wordClient = new WordDocumentClient(docxFilePath, outputDocxFilePath))
            {
                foreach (var paragraph in wordClient.GetParagraphs())
                {
                    var paragraphStyle = paragraph.ParagraphProperties?.ParagraphStyleId;
                    if (!IsExcludedStyleParagraph(paragraphStyle))
                    {
                        // Get the text for translate.
                        var text = GetConcatenatedTextInParagraph(paragraph);

                        using (var translatorClient = TranslatorClient.Create(apiKey))
                        {
                            Console.WriteLine(text);

                            // Translate.
                            var result = translatorClient.TranslateTextArray("en", "ja", new string[] { text });
                            result.Wait();

                            //
                            paragraph.RemoveAllChildren <Run>();

                            //
                            paragraph.AppendChild(new Run(new Text(result.Result[0])));

                            Console.WriteLine(result.Result[0]);

                            //text.Text = result.Result[0];
                            //Console.WriteLine(text.Text);
                        }


                        //foreach (var text in paragraph.Descendants<Text>())
                        //{
                        //    // Translate.
                        //    using (var translatorClient = TranslatorClient.Create(apiKey))
                        //    {
                        //        Console.WriteLine(text.Text);

                        //        var result = translatorClient.TranslateTextArray("en", "ja", new string[] { text.Text });
                        //        result.Wait();
                        //        text.Text = result.Result[0];

                        //        Console.WriteLine(text.Text);
                        //    }
                        //}
                    }
                }

                wordClient.Save();
            }
        }
Exemplo n.º 2
0
        public static TranslatorClient Create(string apiKey)
        {
            var client = new TranslatorClient()
            {
                ApiKey = apiKey,
            };

            var authToken = GetAuthorizationTokenAsync(apiKey);

            authToken.Wait();
            client.AuthorizationToken = authToken.Result;

            return(client);
        }