{"id":2455,"date":"2026-06-03T10:00:00","date_gmt":"2026-06-03T17:00:00","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/foundry\/?p=2455"},"modified":"2026-06-01T11:36:07","modified_gmt":"2026-06-01T18:36:07","slug":"document-translation-build-2026","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/foundry\/document-translation-build-2026\/","title":{"rendered":"Expanding the Reach of Document Translation &#8211; New Capabilities Announced at Microsoft Build"},"content":{"rendered":"<p>Our commitment to advancing cross-language communication takes another major step forward at Microsoft Build. Azure Translator in Foundry Tools is expanding Document Translation with a set of new capabilities designed to meet enterprises where their content lives today \u2014 across formats, modalities, and languages. From large language model\u2013powered translations to native image translation and expanded structured content support, these updates help organizations translate more of what they produce, with higher fidelity and less friction.<\/p>\n<p>Here&#8217;s what&#8217;s new.<\/p>\n<h2>Translate image files \u2014 synchronous (GA)<\/h2>\n<p>With the new synchronous image translation capability, Document Translation can now accept an image file directly \u2014 returning a translated image in real time, with layout preserved.<\/p>\n<h3>How It Works<\/h3>\n<p>The service uses Azure AI Vision to detect and extract text from the image, translates it with Azure Translator, and renders the translated text back into the image in context. This happens in a single synchronous call, making it ideal for interactive scenarios such as customer support workflows, live preview experiences, and on-demand localization.<\/p>\n<h3>Getting Started<\/h3>\n<p>Submit an image file to the synchronous Document Translation endpoint, specifying source and target languages as you would for any other document type.<\/p>\n<pre><code class=\"language-python\">import os\r\nfrom pathlib import Path\r\n\r\nimport requests\r\n\r\nendpoint = \"DOCUMENT_TRANSLATION_ENDPOINT\"\r\nkey = \"DOCUMENT_TRANSLATION_KEY\"\r\nimagefile_path = Path(\".\/image_file.jpg\")\r\n\r\nresponse = requests.post(\r\n    f\"{endpoint}\/translator\/document:translate\",\r\n    params={\r\n        \"api-version\": \"2026-03-01\",\r\n        \"sourceLanguage\": \"en\",\r\n        \"targetLanguage\": \"de\",\r\n    },\r\n    headers={\"Ocp-Apim-Subscription-Key\": key},\r\n    files={\r\n        \"document\": (\r\n            imagefile_path.name,\r\n            imagefile_path.open(\"rb\"),\r\n            \"application\/json\",\r\n        )\r\n    },\r\n    timeout=120,\r\n)\r\nresponse.raise_for_status()\r\n\r\nPath(\".\/image_file_de.jpg\").write_bytes(response.content)<\/code><\/pre>\n<h3>Usage and cost<\/h3>\n<p>This feature uses Azure Translator resource, and translating images incurs additional charges. Review <a href=\"https:\/\/azure.microsoft.com\/pricing\/details\/translator\/\">Azure Translator pricing<\/a>.<\/p>\n<h2>Translate image files \u2014 batch\/asynchronous (GA)<\/h2>\n<p>For organizations processing images at scale \u2014 scanned archives, product catalogs, training datasets \u2014 batch image translation brings the same enterprise throughput you expect from Document Translation to visual content.<\/p>\n<h3>How It Works<\/h3>\n<p>Submit a batch of image files staged in Azure Blob Storage. The service processes each image asynchronously, translates embedded text using Azure AI Vision and Azure Translator, and writes the translated images back to your target container \u2014 ready for downstream pipelines.<\/p>\n<h3>Getting Started<\/h3>\n<p>Use the batch Document Translation REST API, pointing your source container to a collection of supported image files. Results are delivered to your target container on completion.<\/p>\n<pre><code class=\"language-python\">import os\r\n\r\nimport requests\r\n\r\nendpoint = \"DOCUMENT_TRANSLATION_ENDPOINT\"\r\nkey = \"DOCUMENT_TRANSLATION_KEY\"\r\n\r\npayload = {\r\n    \"inputs\": [\r\n        {\r\n            \"source\": {\r\n                \"sourceUrl\": \"SOURCE_CONTAINER_SAS_URL_OR_MANAGED_IDENTITY\",\r\n                \"storageSource\": \"AzureBlob\",\r\n                \"language\": \"en\",\r\n            },\r\n            \"targets\": [\r\n                {\r\n                    \"targetUrl\": \"TARGET_CONTAINER_SAS_URL_OR_MANAGED_IDENTITY\",\r\n                    \"storageSource\": \"AzureBlob\",\r\n                    \"language\": \"fr\",\r\n                }\r\n            ],\r\n        }\r\n    ]\r\n}\r\n\r\nresponse = requests.post(\r\n    f\"{endpoint}\/translator\/document\/batches\",\r\n    params={\"api-version\": \"2026-03-01\"},\r\n    headers={\r\n        \"Ocp-Apim-Subscription-Key\": key,\r\n        \"Content-Type\": \"application\/json\",\r\n    },\r\n    json=payload,\r\n    timeout=60,\r\n)\r\nresponse.raise_for_status()\r\n\r\nprint(\"Batch operation:\", response.headers[\"Operation-Location\"])<\/code><\/pre>\n<h3>Usage and cost<\/h3>\n<p>This feature uses Azure Translator resource, and translating images incurs additional charges. Review <a href=\"https:\/\/azure.microsoft.com\/en-us\/pricing\/details\/translator\/\">Azure Translator pricing<\/a>.<\/p>\n<h2>Batch Document Translation for PDF leveraging Azure AI Document Intelligence (GA)<\/h2>\n<p>PDF remains the workhorse format for enterprise documents \u2014 and we&#8217;re making batch PDF translation even better by leveraging Azure AI Document Intelligence. This update brings improved layout retention, more accurate handling of complex multi-column structures, and higher fidelity for embedded elements such as tables and footnotes.<\/p>\n<h3>How It Works<\/h3>\n<p>Enhancements to the PDF processing pipeline deliver translated output that more closely mirrors the source \u2014 so documents look like originals, not approximations.<\/p>\n<h3>Getting Started<\/h3>\n<p>Submit PDFs through the same batch translation endpoint you already use for other document formats. Stage source PDFs in a read-enabled Azure Blob Storage container, provide a write-enabled target container, and start the batch operation.<\/p>\n<pre><code class=\"language-python\">import os\r\n\r\nimport requests\r\n\r\nendpoint = \"DOCUMENT_TRANSLATION_ENDPOINT\"\r\nkey = \"DOCUMENT_TRANSLATION_KEY\"\r\n\r\npayload = {\r\n    \"inputs\": [\r\n        {\r\n            \"source\": {\r\n                \"sourceUrl\": \"PDF_SOURCE_CONTAINER_SAS_URL_OR_MANAGED_IDENTITY\",\r\n                \"storageSource\": \"AzureBlob\",\r\n                \"language\": \"en\",\r\n            },\r\n            \"targets\": [\r\n                {\r\n                    \"targetUrl\": \"PDF_TARGET_CONTAINER_SAS_URL_OR_MANAGED_IDENTITY\",\r\n                    \"storageSource\": \"AzureBlob\",\r\n                    \"language\": \"es\",\r\n                }\r\n            ],\r\n        }\r\n    ]\r\n}\r\n\r\nresponse = requests.post(\r\n    f\"{endpoint}\/translator\/document\/batches\",\r\n    params={\"api-version\": \"2026-03-01\"},\r\n    headers={\r\n        \"Ocp-Apim-Subscription-Key\": key,\r\n        \"Content-Type\": \"application\/json\",\r\n    },\r\n    json=payload,\r\n    timeout=60,\r\n)\r\nresponse.raise_for_status()\r\n\r\nprint(\"PDF batch operation:\", response.headers[\"Operation-Location\"])<\/code><\/pre>\n<h3>Usage and cost<\/h3>\n<p>This feature uses Azure Translator resource. Review <a href=\"https:\/\/azure.microsoft.com\/en-us\/pricing\/details\/translator\/\">Azure Translator pricing<\/a>.<\/p>\n<h2>XML DITA and XLIFF 2.0 support in synchronous and asynchronous Document Translation (GA)<\/h2>\n<p>Technical writers, localization teams, and enterprise content platforms increasingly rely on structured authoring formats. Document Translation now natively supports XML DITA and XLIFF 2.0 across both synchronous and asynchronous modes.<\/p>\n<h3>How It Works<\/h3>\n<p>The service preserves semantic markup, element structure, and translation units defined by each format \u2014 so your translated output drops cleanly back into your CMS, CAT tool, or publishing pipeline without preprocessing or post-cleanup.<\/p>\n<h3>Getting Started<\/h3>\n<p>Submit DITA or XLIFF 2.0 files to either the synchronous or asynchronous Document Translation endpoint. Supported file extensions and schema details are listed in the documentation.<\/p>\n<pre><code class=\"language-python\">import os\r\nfrom pathlib import Path\r\n\r\nimport requests\r\n\r\nendpoint = \"DOCUMENT_TRANSLATION_ENDPOINT\"\r\nkey = \"DOCUMENT_TRANSLATION_KEY\"\r\nxliff_path = Path(\".\/messages.xlf\")\r\n\r\nresponse = requests.post(\r\n    f\"{endpoint}\/translator\/document:translate\",\r\n    params={\r\n        \"api-version\": \"2026-03-01\",\r\n        \"sourceLanguage\": \"en\",\r\n        \"targetLanguage\": \"de\",\r\n    },\r\n    headers={\"Ocp-Apim-Subscription-Key\": key},\r\n    files={\r\n        \"document\": (\r\n            xliff_path.name,\r\n            xliff_path.open(\"rb\"),\r\n            \"application\/xliff+xml\",\r\n        )\r\n    },\r\n    timeout=120,\r\n)\r\nresponse.raise_for_status()\r\n\r\nPath(\".\/messages.de.xlf\").write_bytes(response.content)<\/code><\/pre>\n<h3>Usage and cost<\/h3>\n<p>This feature uses Azure Translator resource. Review <a href=\"https:\/\/azure.microsoft.com\/en-us\/pricing\/details\/translator\/\">Azure Translator pricing<\/a>.<\/p>\n<h2>Translate images within Office documents \u2014 batch Document Translation (GA)<\/h2>\n<p>Word documents, and PowerPoint decks rarely contain only text. Charts, diagrams, screenshots, and embedded images often carry the most critical information on the page \u2014 and with this update, text inside those images is now translated alongside the document text in batch Document Translation.<\/p>\n<h3>How It Works<\/h3>\n<p>Document Translation leverages Azure AI Document Intelligence to detect, extract, and translate text embedded within images inside Office files. The translated images are reinserted into the document, producing a fully localized output \u2014 slides, reports, and spec sheets that speak every language your customers do.<\/p>\n<h3>Getting Started<\/h3>\n<p>This capability builds on the existing &#8220;translateTextWithinImage&#8221; parameter introduced for image-in-document translation. Set the parameter to &#8220;true&#8221; in your batch request options to activate image text translation across Word and PowerPoint documents.<\/p>\n<pre><code class=\"language-python\">import os\r\n\r\nimport requests\r\n\r\nendpoint = \"DOCUMENT_TRANSLATION_ENDPOINT\"\r\nkey = \"DOCUMENT_TRANSLATION_KEY\"\r\n\r\npayload = {\r\n    \"inputs\": [\r\n        {\r\n            \"source\": {\r\n                \"sourceUrl\": \"OFFICE_SOURCE_CONTAINER_SAS_URL_OR_MANAGED_IDENTITY\",\r\n                \"storageSource\": \"AzureBlob\",\r\n                \"language\": \"en\",\r\n            },\r\n            \"targets\": [\r\n                {\r\n                    \"targetUrl\": \"OFFICE_TARGET_CONTAINER_SAS_URL_OR_MANAGED_IDENTITY\",\r\n                    \"storageSource\": \"AzureBlob\",\r\n                    \"language\": \"ja\",\r\n                }\r\n            ],\r\n        }\r\n    ],\r\n    \"options\": {\r\n        \"translateTextWithinImage\": True,\r\n    },\r\n}\r\n\r\nresponse = requests.post(\r\n    f\"{endpoint}\/translator\/document\/batches\",\r\n    params={\"api-version\": \"2026-03-01\"},\r\n    headers={\r\n        \"Ocp-Apim-Subscription-Key\": key,\r\n        \"Content-Type\": \"application\/json\",\r\n    },\r\n    json=payload,\r\n    timeout=60,\r\n)\r\nresponse.raise_for_status()\r\n\r\nprint(\"Office batch operation:\", response.headers[\"Operation-Location\"])<\/code><\/pre>\n<h3>Usage and cost<\/h3>\n<p>This feature uses Azure Translator in Foundry Tools, and translating images incurs additional charges. Review <a href=\"https:\/\/azure.microsoft.com\/en-us\/pricing\/details\/translator\/\">Azure Translator pricing<\/a>.<\/p>\n<h2>LLM-powered capabilities in Document Translation (Coming Soon)<\/h2>\n<p>Building on the proven reliability of Azure Translator in Foundry Tools, Document Translation now offers large language model\u2013powered translations across document workflows. This capability brings deeper contextual understanding to enterprise content \u2014 without requiring any change to how you integrate with the service. This feature will be released soon.<\/p>\n<h3>How It Works<\/h3>\n<p>When LLM translation is enabled, Document Translation routes your content through LLMs (GPT-5.x) optimized for long-form, context-rich documents. You retain full control \u2014 choose LLM-powered translation when quality and nuance matter most, or stay with classic neural machine translation (NMT) models when throughput and cost efficiency are priorities.<\/p>\n<h3>Usage and cost<\/h3>\n<p>This feature requires a Microsoft Foundry resource and a large language model deployment in Foundry Models. It uses Azure Translator in Foundry Tools for Document Translation, and LLM usage incurs additional charges. Review <a href=\"https:\/\/azure.microsoft.com\/en-us\/pricing\/details\/microsoft-foundry\/\">Microsoft Foundry pricing<\/a>.<\/p>\n<p>These new advancements reflect our dedication to pushing the boundaries of Document Translation \u2014 empowering enterprises to connect, collaborate, and communicate more effectively, regardless of language or format.<\/p>\n<h3>Learn More<\/h3>\n<ul>\n<li><a href=\"https:\/\/aka.ms\/documenttranslationoverview20260301\">Document Translation 2026-03-01 overview<\/a><\/li>\n<li><a href=\"https:\/\/aka.ms\/documenttranslationfeatures\">Document Translation Features<\/a><\/li>\n<li><a href=\"https:\/\/aka.ms\/documenttranslationsupportedformats\">Document Translation Supported Formats<\/a><\/li>\n<li><a href=\"https:\/\/aka.ms\/documenttranslationprerequisites\">Document Translation Prerequisites and setup<\/a><\/li>\n<li><a href=\"https:\/\/aka.ms\/documenttranslatione2ebatchworkflow\">Document Translation end-to-end batch workflow<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Learn how new Document Translation capabilities in Azure Translator, available in Foundry Tools, help developers translate images, PDFs, Office files, DITA, XLIFF, and future LLM-powered document workflows.<\/p>\n","protected":false},"author":214450,"featured_media":1563,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[121,2],"class_list":["post-2455","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microsoft-foundry","tag-foundry-tools","tag-microsoft-foundry"],"acf":[],"blog_post_summary":"<p>Learn how new Document Translation capabilities in Azure Translator, available in Foundry Tools, help developers translate images, PDFs, Office files, DITA, XLIFF, and future LLM-powered document workflows.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/foundry\/wp-json\/wp\/v2\/posts\/2455","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/foundry\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/foundry\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/foundry\/wp-json\/wp\/v2\/users\/214450"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/foundry\/wp-json\/wp\/v2\/comments?post=2455"}],"version-history":[{"count":2,"href":"https:\/\/devblogs.microsoft.com\/foundry\/wp-json\/wp\/v2\/posts\/2455\/revisions"}],"predecessor-version":[{"id":2457,"href":"https:\/\/devblogs.microsoft.com\/foundry\/wp-json\/wp\/v2\/posts\/2455\/revisions\/2457"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/foundry\/wp-json\/wp\/v2\/media\/1563"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/foundry\/wp-json\/wp\/v2\/media?parent=2455"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/foundry\/wp-json\/wp\/v2\/categories?post=2455"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/foundry\/wp-json\/wp\/v2\/tags?post=2455"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}