Localization
Translates a draft into any of 20 languages paragraph by paragraph, so the localized version comes back with your structure and order intact.
Last updated 2026-08-06
Summary#
Localization takes a draft you paste in, splits it on your blank lines, and translates each paragraph on its own into one of 20 target languages. You get the same number of paragraphs back in the same order, ready to paste into your CMS.
Purpose#
Publishing in a second language usually stalls for one of two reasons: a translator costs money and takes days, or a raw copy-paste into a free translator merges your paragraphs and destroys the layout you spent an hour building.
Localization removes both blockers. It gives you a strong machine translation in seconds and guarantees the structure survives, so the decision becomes "which markets do we want" rather than "can we afford to translate this".
Overview#
The tool works on plain text. Paste your draft into the box, choose a target language, and press Translate.
Before anything is sent, the page splits your text on blank lines. Each block between blank lines becomes one segment. Segments are sent as a list, and each one is translated independently, then rejoined with the same blank lines between them. Because nothing is translated as one long block, no paragraph can be merged into its neighbour or moved.
Translation runs on real machine translation — either the Workers AI binding or a DeepL key, depending on how your environment is configured. Every translated paragraph is stored in a translation cache keyed to the exact source text and the language pair. Paste the same paragraph again and it comes back from cache instantly, so re-running a draft after an edit only translates the parts you changed.
The source language is always treated as English. If a paragraph cannot be translated because the provider hiccups, that paragraph is returned unchanged rather than blanked.
Benefits#
- 20 target languages from a single draft, one language per run.
- Paragraph count and order are preserved, so the result drops straight into your layout.
- No credits. This tool does not touch your monthly allowance.
- Repeat paragraphs — intros, footers, standard calls to action — come back from cache with no wait.
- The result carries the same export row as every other tool: PDF, Excel, CSV, JSON and a public share link.
Use Cases#
- Multi-market launch. You have an announcement going out today and three markets to serve; translate it into each language in the same sitting rather than holding the launch for a translator.
- Agency delivery. A client asks for their new page in Spanish and German; run the draft twice and hand back both versions the same day.
- Product and store pages. Ecommerce descriptions keep the paragraph layout your store template expects, so nothing breaks on paste.
- Help content. Localize an FAQ or support article so each region reads the same steps in the same order.
- First-pass drafts for review. Give a native-speaking colleague something to correct instead of something to write from scratch.
Requirements#
- A signed-in Metric Vault account. Every plan, including Free, can use this tool.
- Text in the box. There is no URL or file import.
- A configured translation provider on the environment. If neither the Workers AI binding nor a DeepL key is present, the tool returns a clear notice instead of a translation.
- No credits and no connected integration are needed.
Permissions#
Localization has no plan gate and no team-role restriction.
| Your plan | What happens |
|---|---|
| Free | Runs normally. This tool costs nothing. |
| Starter and above | Runs normally. |
| Signed out | The dashboard itself requires sign-in to reach the tool. |
The only limit that applies is the shared fair-use cap of 100 light calls per hour, counted per IP address for this endpoint.
Cost#
0 credits. The Translate button carries no credit chip, and the run is not metered against your monthly premium allowance. Cached paragraphs and fresh paragraphs cost the same: nothing.
Because there is no charge, there is no "You already ran this" prompt and no saved-result flow here. For how credits work everywhere else, see How credits work.
Navigation Path#
Dashboard → Write & Optimize → Localization
The sidebar entry carries a NEW badge.
Inputs#
| Field | Accepts | Required | Default | Validation | Notes |
|---|---|---|---|---|---|
Draft box (Paste the content you want to localize…) | Plain text of any length | Yes | Empty | Empty input returns Paste some content to translate. | Split on blank lines into segments; a maximum of 100 segments and roughly 19,000 characters are sent per run |
Translate to (locTarget) | One of 20 languages | Yes | Spanish | — | Spanish, French, Portuguese, German, Italian, Dutch, Russian, Japanese, Korean, Chinese, Arabic, Hindi, Turkish, Polish, Swedish, Indonesian, Vietnamese, Thai, Ukrainian, English |
| Try sample | — | No | — | Only fills the box when it is empty | Drops in a two-paragraph example so you can see the output shape |
Choosing English as the target is a pass-through: the text comes back exactly as you sent it, because the source is already treated as English.
Step-by-Step Guide#
- Open
Dashboard → Write & Optimize → Localization. - Paste your draft into the box. Keep a blank line between paragraphs — that is what defines a segment.
- Optional: press Try sample to load example content instead.
- Choose a language from Translate to.
- Click Translate. The result area shows
Translating into <Language>…while the run is in flight. - Read the four tiles, then check the translated text below them.
- Click Copy translation to put the whole localized version on your clipboard. The button briefly reads
Copied. - To localize the same draft into another language, change Translate to and press Translate again. Nothing is lost.
Reading the Results#
The result header. The title reads Localized to <Language>, and the line beneath it gives three facts: the character count sent, the number of segments, and — when any were reused — how many came from cache. A green Translated badge on the right confirms the run completed.
The four tiles.
- Target language — the language name, with its two-letter code underneath. Check this first when a result looks wrong; picking the wrong target is the most common cause.
- Segments — labelled
paragraphs translated. This is the number that must match your source. If you pasted six paragraphs and this reads 6, your structure is intact. If it reads 1, your draft had no blank lines and was treated as a single block — the translation is still valid, but it will come back as one paragraph. - Characters — labelled
source length. This counts only the characters actually sent. If it is noticeably lower than your draft, the run hit the size ceiling and the tail was dropped; split the draft and run it twice. - Cache hits — labelled
reused translations. Zero on a first run. On a re-run after a small edit, a high number here means most of the draft was untouched and only your edits were translated fresh.
The translation panel. Below a section header reading <Language> translation with the note paragraph-aligned, the full localized text appears with the original blank lines between paragraphs. Read the first and last paragraph before anything else — they confirm the order was preserved end to end. Right-to-left languages such as Arabic render in their correct direction.
What good looks like: segment count equal to your paragraph count, character count close to your draft length, and a first paragraph that clearly corresponds to your first paragraph.
What to act on: a segment count lower than expected means blank lines are missing in the source. A character count well below your draft means content was trimmed at the ceiling. Both are fixed in the input, not in the output.
The export row at the top of the screen offers Export PDF, Export Excel, Export CSV, Export JSON and Share public link, all acting on the translation currently on screen.
Examples#
Example: You paste a 6-paragraph product announcement, 1,240 characters, and choose Spanish. The header reads Localized to Spanish · 1,240 characters · 6 segments · 2 from cache. Segments reads 6, matching your six paragraphs, so the layout is intact. Cache hits reads 2 — your standard intro and sign-off were translated in an earlier run and came back instantly. You press Copy translation, paste it into your CMS, then switch Translate to to German and run again for the second market.
Screenshots#
Tips#
- Keep one blank line between paragraphs. That single habit is what makes the output paste cleanly.
- Localize your highest-traffic page first. One page in five languages usually beats five pages in one.
- Re-run the same boilerplate deliberately. Shared intros and calls to action get cached, so every later draft finishes faster.
- Translate before you add markup. Paste the plain text here, then apply formatting in your CMS.
- For a long page, split it at a natural section break and run the halves separately rather than letting the ceiling trim the end.
Best Practices#
- Have a native speaker skim anything customer-facing or legal. Treat the output as a strong first draft, not a certified translation.
- Keep brand names, product names and code examples in mind when reviewing — machine translation can render them literally.
- Run each language separately and check the Segments tile every time; it is a two-second integrity check.
- Store the localized version alongside the source so a later edit can be re-translated cheaply from the cache.
- Pair with Content Repurposer when you need channel variants as well as language variants.
Common Mistakes#
- No blank lines in the source. The whole draft becomes one segment and comes back as one paragraph.
- Pasting HTML. The tool works on plain text; tags are treated as text.
- Expecting a source-language picker. There is none — the source is always treated as English.
- Choosing English as the target. That is a pass-through and returns your text unchanged.
- Assuming the result is saved. Localization runs are not stored in the Library. Copy or export before you navigate away.
- Pasting a whole 40,000-character page. Everything past the ceiling is dropped silently; watch the Characters tile.
Limitations#
- One target language per run.
- A maximum of 100 segments per run; extra paragraphs are dropped.
- Roughly 19,000 characters per run from the page, against a hard server ceiling of 20,000 characters per request.
- Plain text only. No HTML, Markdown structure, file upload or URL import.
- The source language is fixed as English.
- No glossary, tone control, translation memory editing or per-term overrides.
- Runs are not saved to the Library and do not appear in your run history.
- A provider failure on a single paragraph returns that paragraph in English rather than raising an error, so scan the output for untranslated blocks.
Troubleshooting#
| Symptom | Likely cause | Fix |
|---|---|---|
Paste some content to translate. | The box is empty | Paste a draft, then press Translate |
Translation is not enabled on this environment yet. It needs the Workers AI binding or a DeepL key. | No translation provider is configured | Ask your administrator to enable the Workers AI binding or set a DeepL key. See Some text is still in English |
Unsupported or missing target language | The target was not one of the 20 supported codes | Re-select a language from Translate to |
Too many strings (max 100 per request) | More than 100 paragraphs reached the server | Split the draft into two runs |
Payload too large (max 20000 chars per request) | The text exceeded the character ceiling | Split the draft at a section break |
No translation was returned. Try again. | The provider returned an empty response | Run it again; if it repeats, shorten the draft |
| The whole result is one paragraph | The source had no blank lines | Add blank lines between paragraphs and re-run |
| Some paragraphs are still in English | Those paragraphs failed at the provider and were passed through unchanged | Re-run; cached paragraphs return instantly so the retry is fast |
| Hourly fair-use message | More than 100 light calls from your IP in one hour | Wait for the next hourly reset. See Tool limits and performance |
FAQs#
Does this cost credits? No. Localization is a zero-credit tool on every plan, including Free. It is not counted against your monthly premium allowance.
Will my paragraphs come back in the same order? Yes. The draft is split on blank lines, each paragraph is translated on its own, and they are rejoined in the original order. Check the Segments tile to confirm the count matches your source.
Where does the translation come from? Real machine translation, provided by the Workers AI binding or a DeepL key depending on how your environment is configured. It is not a large-language-model rewrite of your content.
How much can I translate at once? Up to 100 paragraphs and roughly 19,000 characters per run. Longer drafts are trimmed to fit, so split a very long page across two runs.
Can I translate from a language other than English? Not in this tool. The source is always treated as English.
Is the result saved anywhere? Only on screen. Use Copy translation or the export row before leaving the page; Localization runs do not appear in the Library.
Can I trust it for published copy? It is a strong first draft in seconds. For high-stakes pages — legal, medical, paid advertising — have a native speaker review it before it goes live.
See also
Was this article helpful?
Thanks — feedback noted for the docs team.