Translating your content automatically with n8n and AI: multilingual sites without the friction
Published 26 July 2026 · 7 min read
An e-commerce site that wants to sell in Germany, a French blog where every article deserves an English version, support tickets arriving in Spanish or Italian while the team answers in French: the need for translation is everywhere, and for a long time it was handled in two equally unsatisfying ways — paying an agency for every batch of content, or copy-pasting by hand into an online translator. With n8n, translation becomes a pipeline step like any other: triggered by a new item, executed by a dedicated API or an LLM, checked, validated when needed, then published. This guide builds that pipeline end to end, with the concrete choices that separate a usable translation from text that smells like a machine.
Four use cases where automated translation changes the game
- The multilingual e-commerce catalog. Dozens or hundreds of product pages to roll out in several languages, with consistent terminology (material names, sizes, legal notices): exactly the kind of repetitive volume a human translates badly because it is boring, and a machine translates well because it is constrained.
- The FR→EN blog (or the other way around). Every article published in one language is an SEO asset sleeping in the other: a workflow that produces a translated version on publication, with review before it goes live, doubles your content surface without doubling the writing effort.
- Incoming support tickets in a foreign language. A customer writes in Portuguese, the agent replies in French: translating the ticket on arrival (and the reply on the way out) removes the barrier without requiring a polyglot team.
- Internal documentation. Procedures, meeting notes, the team wiki in a multi-country organization: the translation does not need to be perfect, it needs to exist and stay up to date.
These four cases do not demand the same level of rigor — and that is what shapes the workflow's architecture, notably whether a human validation step is included or not.
Dedicated translation API or LLM: two tools, two strengths
First approach: a dedicated translation API — DeepL or Google Translate, called from n8n through their node when one exists or a plain HTTP Request node. Its strength is predictability: the engine does one thing, does it consistently, the same input produces the same output, and it will never invent a sentence that was not in the source text. For raw volume on well-covered language pairs, it is the simplest option to operate.
Second approach: an LLM, through an AI Agent node or a classic LLM chain, connected as described in our guide to hooking Claude or GPT up to n8n. Its strength is everything a translation API cannot do: enforcing a tone ("informal address, technical register, short sentences"), applying a domain glossary ("workflow stays workflow, never translate it"), taking context into account ("this is a fashion product page, not a legal text"), and above all translating markdown or HTML while preserving the structure instead of shredding it.
On raw quality, LLMs are no longer a gamble: the evaluation published by Jiao and co-authors in 2023, "Is ChatGPT a Good Translator?", compared an LLM to commercial translation engines and concluded that it competes with them on high-resource languages, while remaining markedly less reliable on rare or distant languages (Jiao et al., 2023). The operational takeaway: for an FR↔EN or FR↔DE pipeline, the LLM is a solid choice; for a low-resource language, prefer the dedicated API or reinforce the human check.
The workflow, step by step
1. The trigger: a new item to translate
The entry point depends on the source: a trigger on a content database with Notion connected to n8n for product pages or articles, a new row in a Google Sheets watched by n8n for a catalog managed in a spreadsheet, an RSS Feed Read node to translate new articles from a feed automatically, or a webhook for incoming support tickets.
2. Preparation: split long texts first
Long content (a 2,000-word article, a documentation page) benefits from being split before translation: by markdown sections (the ## headings make natural boundaries) or by paragraph blocks. A Code node does the splitting, each chunk becomes an n8n item processed sequentially, and a reassembly step rebuilds the document. This avoids truncated outputs, keeps every call at a comfortable size, and lets you retry a single chunk on failure instead of rerunning everything.
3. The translation: a prompt that enforces glossary, tone and format
This is the heart of the pipeline. The AI Agent node's system prompt should contain four blocks:
Role: professional FR → EN translator, fashion e-commerce domain.
Glossary (to follow strictly):
- "workflow" → "workflow" (do not translate)
- "fiche produit" → "product page"
- "livraison offerte" → "free shipping"
Tone: professional, direct, short sentences. No pompous phrasing.
NEVER modify:
- markdown syntax (## headings, lists, links, bold)
- HTML tags
- variables in double curly braces such as {{name}} or {{order_id}}
- URLs and code blocks
The output must have exactly the same structure as the input.
That last block is the one everyone forgets and the one that costs the most: an email template where {{first_name}} gets translated into {{prénom}} breaks the send in production. Explicit exclusion in the prompt handles the vast majority of cases. To make the output even more reliable (for instance getting a JSON object with the translated text, the detected language and a confidence flag), a Structured Output Parser downstream of the node enforces the format.
4. Quality control: a second LLM pass
A machine translation starts with a handicap: nobody proofreads it by default. A second LLM pass with a reviewer prompt ("compare the source and the translation, flag mistranslations, glossary terms not followed, altered variables or tags, and assign a score from 1 to 10") catches the most expensive errors at a marginal cost. An IF node then routes: high score → the pipeline continues; low score → human review queue.
5. Human approval for public-facing content
For anything customers will read — product pages, articles, website pages — a validation step is non-negotiable: a Wait node pauses the workflow and a Slack message presents the translation with Approve / Fix buttons, following the pattern detailed in our article on human approval with Wait and Slack. For internal uses (tickets, documentation), publishing directly is fine: the reader knows they are reading machine output and the residual error costs little.
6. Publishing and storage
The last step depends on the destination: updating the Notion page with the translated version, writing into the EN column of the Google Sheets, calling the CMS or e-commerce platform API, or simply enriching the reply in the ticketing tool.
The gain is real — and measured
On the value of assisting these writing tasks with AI, we have solid experimental evidence: the study by Noy and Zhang published in Science in 2023 showed that professionals assisted by an LLM on writing tasks complete their work significantly faster, with higher perceived quality, the effect being strongest among initially lower-performing profiles (Noy & Zhang, 2023, Science). Assisted translation follows the same logic: the AI produces a usable first draft in seconds, while the human keeps the review of any content that carries the company's image.
Costs and volume: translate in batches, not drip by drip
Two habits keep the budget in check as the catalog grows:
- Translate in batches. Rather than a workflow triggered content by content, a daily Schedule Trigger that fetches all untranslated items and processes them as a batch (with the Loop Over Items node) smooths the load, simplifies tracking and avoids bursts of executions.
- Track API costs. Every LLM call has a token cost, and translation consumes tokens on the input and the output — a 1,000-word piece costs roughly twice what an equivalent generation would. Our guide to tracking the cost of AI calls in n8n covers how to log each execution's consumption and spot drift before the invoice does.
Wrapping up
The pipeline comes down to six steps: a trigger on the content source, splitting for long texts, an LLM translation with glossary, tone and format exclusions enforced in the prompt, a second control pass, Slack approval for public-facing content, and publication. The dedicated API remains the right call for raw volume and low-resource languages; the LLM wins as soon as style, terminology or markdown matter. To start without building from scratch, FlowKit's ready-to-use n8n workflows include directly reusable building blocks — Notion or Google Sheets trigger, LLM chain with a structured prompt, Slack approval — to assemble around your content source and your quality bar.
FAQ
Frequently asked questions
Should I use DeepL or an LLM to translate in n8n?
The two approaches are complementary. A dedicated translation API like DeepL is constrained and predictable: same input, same output, no drift. An LLM called through an AI Agent node or an LLM chain, on the other hand, lets you enforce a tone, a domain glossary and context, and translate markdown while preserving its structure. A good rule of thumb: dedicated API for raw volume and well-covered languages, LLM as soon as style, terminology or format matter.
Do LLMs translate as well as commercial translation engines?
On high-resource languages (English, French, German, Spanish), published evaluations show that LLMs compete with commercial engines. On rare or distant languages, they remain less reliable — and that is a concrete selection criterion. If your site targets markets whose language is poorly represented in training data, a dedicated API or systematic human review is the safer bet.
How do I stop the AI from breaking markdown or translating variables like {{name}}?
By excluding them explicitly in the prompt: list everything that must never be modified (HTML tags, markdown syntax, variables in double curly braces, URLs, code blocks) and require the output to keep exactly the same structure as the input. A second control pass — an LLM reviewer or a simple before/after count of the variables — catches the rare cases where the instruction is not followed.
Do I need human validation before publishing an automatic translation?
For public-facing content (product pages, blog posts, website pages), yes: an approval step with a Wait node and a Slack message with buttons costs a few seconds per piece and prevents a clumsy translation from reaching production. For internal uses (support tickets, team documentation), direct translation without validation is usually acceptable, since the reader knows they are reading machine output.
Bundle FlowKit Complet
€269