Translator Document Multilingual Publisher
When a document is published to a SharePoint library, the flow translates it into a configured set of target languages with Microsoft Translator (preserving formatting), files each localized copy into a language-foldered structure, and notifies regional owners. Keeps a multilingual document set in sync from a single source document.
Provided as-is, without warranty of any kind. Review and test each pattern in a non-production environment before deploying it to live automations. See our Terms.
Overview
This flow produces a multilingual document set from a single source. When a document is published to a SharePoint source library, it reads the content, translates it into a configured set of target languages with Microsoft Translator V3 (textType=html, so HTML structure and formatting are preserved), files each localized copy into a per-language folder in a separate destination library, and emails regional owners that the new versions are ready. Maintaining translated versions by hand is slow and drifts out of sync; auto-generating localized copies on publish keeps every language current from a single authoritative source.
Use Case
A team authors policies, guides, or marketing docs centrally (as HTML/text source documents) and needs them available in several languages, refreshed whenever a new source document is published. Regional owners are notified automatically so they can review the machine translations.
Flow Architecture
When a Document Is Published
SharePoint - GetOnNewFileItemsPolling trigger (5-min, splitOn body/value) fires once per newly published file in the source library.
Initialize Config
Initialize variableBinds the source language, splits target languages into an array, and binds destination library, Translator category, and owner emails from env vars.
Get File Content
SharePoint - GetFileContentReads the published file by id; base64ToString decodes $content to the source HTML/text.
Apply To Each Language
Apply to eachIterates the target languages, producing one localized copy per language.
Translate Document
Microsoft Translator - TranslateTranslates the content with textType=html and the configured category, preserving HTML formatting.
Create Localized File
SharePoint - CreateFileFiles the localized copy under /<lang>/ in the destination library.
Notify Regional Owners
Outlook - SendEmailV2Emails regional owners that the localized versions are ready.
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_SharePointSiteURL | String | https://your-tenant.sharepoint.com | Site hosting the source and destination libraries. |
| flowlibs_TranslatorSourceLibrary | String | Source Documents | Monitored source library name. |
| flowlibs_TranslatorDestLibrary | String | Translated Documents | Destination library root (per-language subfolders). |
| flowlibs_TranslatorSourceLanguage | String | en | BCP-47 source language code. |
| flowlibs_TargetLanguages | String | fr,de,es,ja | Comma-separated target language codes. |
| flowlibs_RegionalOwnerEmails | String | owners@yourcompany.com | Semicolon-separated notification recipients. |
| flowlibs_TranslatorCategory | String | general | Translator category / custom glossary id (general = standard model). |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| Microsoft Translator | shared_microsofttranslatorv | Translate |
| SharePoint | shared_sharepointonline | GetOnNewFileItems GetFileContent CreateFile |
| Office 365 Outlook | shared_office365 | SendEmailV2 |
Note — All connections are referenced as solution connection references; the flow is portable between environments as long as a connection is mapped at import time.
Customization Guide
Almost every realistic variant of this flow can be implemented by changing environment variable values. A few cases require small edits inside the flow definition — those are called out explicitly below.
- Glossary / brand protection
- Point flowlibs_TranslatorCategory at a Custom Translator category id so product, brand, and SKU terms are not translated.
- Per-document languages
- Add a metadata column on the source library and read it to drive target languages per document instead of the global env var.
- Human review gate
- For regulated content, insert an Approvals StartAndWaitForAnApproval between Translate Document and Create Localized File so a reviewer signs off before publishing.
- Binary Office documents
- For .docx/.pptx, swap the text Translate for Translator's asynchronous Document Translation (built-in HTTP, blob-staged) for full document fidelity.
- Translation frequency
- Adjust the trigger recurrence (default Minute/5) to match how often documents are published.
Key Expressions
The flow is intentionally light on Power Fx / WDL gymnastics — the heaviest expressions are the branch-name concatenation and the approval outcome check. They are listed below in the order they appear in the flow.
EXPR.01Decode source file
Decodes the base64 file content to source HTML/text.
EXPR.02Translated text (V3 flattened)
The V3 connector flattens the result to {TranslatedText}.
EXPR.03Localized folder path
Per-language destination folder.
EXPR.04Localized file name
Language-prefixed file name.
EXPR.05Target languages array
Parses the comma list into target codes.
Customize & download
Generate a ready-to-import copy of this solution with your environment-variable values baked in — available on Base, Pro, or Team.
Upgrade to customize
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.