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(); } }
public static TranslatorClient Create(string apiKey) { var client = new TranslatorClient() { ApiKey = apiKey, }; var authToken = GetAuthorizationTokenAsync(apiKey); authToken.Wait(); client.AuthorizationToken = authToken.Result; return(client); }