Skip to content
Metric VaultHelp Center
Open app

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 planWhat happens
FreeRuns normally. This tool costs nothing.
Starter and aboveRuns normally.
Signed outThe 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.

Dashboard → Write & Optimize → Localization

The sidebar entry carries a NEW badge.

Inputs#

FieldAcceptsRequiredDefaultValidationNotes
Draft box (Paste the content you want to localize…)Plain text of any lengthYesEmptyEmpty 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 languagesYesSpanishSpanish, French, Portuguese, German, Italian, Dutch, Russian, Japanese, Korean, Chinese, Arabic, Hindi, Turkish, Polish, Swedish, Indonesian, Vietnamese, Thai, Ukrainian, English
Try sampleNoOnly fills the box when it is emptyDrops 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#

  1. Open Dashboard → Write & Optimize → Localization.
  2. Paste your draft into the box. Keep a blank line between paragraphs — that is what defines a segment.
  3. Optional: press Try sample to load example content instead.
  4. Choose a language from Translate to.
  5. Click Translate. The result area shows Translating into <Language>… while the run is in flight.
  6. Read the four tiles, then check the translated text below them.
  7. Click Copy translation to put the whole localized version on your clipboard. The button briefly reads Copied.
  8. 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

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#

Screenshot
The Localization screen with the LOCALIZATION, 20 LANGUAGES and PARAGRAPH-AWARE badges, the draft box, the Translate to selector and the Try sample and Translate buttons
Screenshot
A completed result header reading "Localized to Spanish" with the characters, segments and from-cache meta line
Screenshot
The four tiles — Target language, Segments, Characters and Cache hits — above the paragraph-aligned translation panel
Screenshot
The translation panel with the Copy translation button and the export row above it

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#

SymptomLikely causeFix
Paste some content to translate.The box is emptyPaste 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 configuredAsk your administrator to enable the Workers AI binding or set a DeepL key. See Some text is still in English
Unsupported or missing target languageThe target was not one of the 20 supported codesRe-select a language from Translate to
Too many strings (max 100 per request)More than 100 paragraphs reached the serverSplit the draft into two runs
Payload too large (max 20000 chars per request)The text exceeded the character ceilingSplit the draft at a section break
No translation was returned. Try again.The provider returned an empty responseRun it again; if it repeats, shorten the draft
The whole result is one paragraphThe source had no blank linesAdd blank lines between paragraphs and re-run
Some paragraphs are still in EnglishThose paragraphs failed at the provider and were passed through unchangedRe-run; cached paragraphs return instantly so the retry is fast
Hourly fair-use messageMore than 100 light calls from your IP in one hourWait 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?