Translation requirements
Write translation requirements the on-device model can follow.
Overview
Translation requirements are what you fill in before translating a transcript or an alignment result, not a chat with the model. Each requirement is placed in a fixed position in the request, and the on-device translation model was trained on those formats. Requirements written this way are followed far more reliably than instructions typed elsewhere.
Where the fields live:
- This result only. Open the language picker in the toolbar, then choose More translation settings.
- Defaults for new results. Models → Translation → Default translation settings.
- Dictionary translations. Kept in the dictionary, reachable through Edit dictionary translations.
Every requirement has a How to write link next to its label with one sentence and one example. This page is the long version.
| Requirement | When it appears | What you enter |
|---|---|---|
| Background info | Always | One or two sentences about the recording |
| Translation preferences | On-device model only | Up to 5 short items, one requirement each |
| Dictionary translations | Always | A switch, plus per-language wording in the dictionary |
| Translation style | Always | One preset |
| Preserve formatting | Only when tags, keys, or placeholders are detected | A switch |
| Custom instructions | Commercial model services only | Free text |
Background info
What it is for. Information not mentioned in the text itself that the model needs to know: topic, speakers, setting, and recurring names. Background info is placed ahead of the source text as reference material and is never translated into the output.
How to write it. Use one or two plain sentences to describe the content. Do not write instructions, and do not specify a target language in background info. The budget is roughly 1,000 characters; text beyond it is not sent, and the interface will warn you.
Good:
- Tech podcast where two hosts discuss on-device AI chips.
- Product walkthrough for a video editor. The speaker demonstrates the timeline and the export panel.
- Undergraduate macroeconomics lecture. The professor speaks throughout, and questions come from students in the room.
Avoid:
| Written in background info | Why it misfires | Where it belongs |
|---|---|---|
| Please translate this into Japanese and fix the typos. | An order, a target language, and a task the model does not do | The language picker, and the source text itself |
| GPU = graphics processor, NPU = neural engine | Term pairs read as text to be translated, not as a glossary | Dictionary translations |
| A pasted meeting summary, several pages long | Overruns the budget, and the latter half cannot reach the model | Keep it to topic, speakers, and setting |
Translation preferences
What it is for. Rules that apply across the whole result and cannot be written as a term pair: how names are handled, which person to address the viewer in, how numbers are rendered. Supported only with the on-device model.
How to write it. One requirement per item, as a short imperative sentence, up to 5 items. Preferences are sent as a numbered list after your text, where each item corresponds to one numbered task. Keeping items within 30 words in English or 60 characters in Chinese is more stable. If an item is too long or combines multiple requirements, translations tend to drift.
Good:
- Keep personal names in English.
- Address the viewer as "you" in on-screen instructions.
- Write numbers as digits.
Avoid:
| Written as one preference | Why it misfires | Fix |
|---|---|---|
| Keep names in English, keep the tone casual, don't translate product names, and keep it short. | Four requirements collapsed into one numbered task | Split into multiple items, and move product names to the dictionary |
| Fix the grammar in the source and make it read better. | Proofreading and polishing | Edit the source text, or use a commercial model service |
| Translate into Japanese. | Target languages are not a preference | Choose languages in the language picker |
Dictionary translations
What it is for. Fixed wording for names, products, and terminology. Terms that appear in the text being translated are placed ahead of it as a reference list. Terms with translations for the target language are rendered accordingly; terms left blank stay unchanged, which is how brand and model names are preserved.
Dictionary entries double as transcription hot words. Adding a term also helps it get recognized accurately during transcription.
How to write it. Enter the term as it actually appears in the source, one entry per term, then fill in translations for each language. Leave any language blank to keep the term in its original form.
| Entry | Japanese | Result in the output |
|---|---|---|
| EdgeSpeak | left empty | Stays as EdgeSpeak |
| forced alignment | 強制アラインメント | Rendered the same way every time |
| Lattice-2 | left empty | Stays as Lattice-2 |
Keep whole sentences out of the dictionary, and keep general rules out too. "Keep all personal names in English" is a preference, not a term.
Translation style
What it is for. The register of the output, such as conversational subtitles or formal. Once you select a preset, the model receives a description of that style and is instructed to follow it strictly.
How to write it. Pick the preset closest to your actual use case. Do not repeat style requirements in translation preferences: presets use patterns the model was trained on, which works better than rephrasing them yourself. If you need requirements beyond the preset, adding a single short preference is enough.
| What you are translating | Do this | Not this |
|---|---|---|
| A vlog headed for subtitles | Pick the conversational subtitles preset | Write "sound relaxed, like two friends chatting" as a preference |
| A board meeting recording | Pick a formal preset | Put "be professional and formal" in background info |
| Subtitles that also need names left in English | Pick the preset, then add one preference: Keep personal names in English. | Pack the register and the name rule into a single preference |
Preserve formatting
When it appears. Only when content contains HTML tags, JSON, or placeholders such as {{name}}, ${name}, or %s. If such content is detected while the switch is off, the interface prompts you to turn it on.
What it does. Turning it on adds structural constraints to the request: preserve data structure, hierarchy, and indentation, translate only user-facing text, and leave tags, keys, property names, and variable placeholders untouched.
How to write it. Nothing to write, it is a switch. Do not repeat these rules in background info or translation preferences: the switch sends patterns the model was trained on, and restating them in your own words is less effective.
What to leave out
Requirements the model cannot execute will not throw errors, but they crowd the request and derail the translation. Each item below has a better place:
| What you want | Where it goes |
|---|---|
| Fixed wording for a name, product, or term | Dictionary translations |
| A term kept untranslated | Dictionary translations, with the corresponding language left empty |
| The target language | The language picker in the toolbar |
| Mistakes in the source corrected | Edit the source text first. Translation starts from what is there |
| Polishing, summarizing, expanding, explaining | A commercial model service |
| Two versions, or a note on the choice | Not available. Each segment gets one translation |
| Source and translation side by side | The Side by side view, and the arrangement options when exporting |
| "Take the earlier context into account" | Nothing to write. Preceding text is included automatically |
In most cases, EdgeSpeak automatically flags these as you type: a term pair in the wrong field, instructions mixed into background info, a language conflicting with your selection, or a task the on-device model does not do. Hints appear after you stop typing, never block translation, and can be dismissed for the current result.
On-device model and commercial services
| On-device model | Commercial model services | |
|---|---|---|
| Where text is processed | On your device, offline | Sent to the service you configured in Providers |
| Languages | 38 supported | Depends on the service |
| Background info, dictionary translations, style | Yes | Yes |
| Translation preferences | Up to 5 items | Replaced by custom instructions |
| Custom instructions | Not available | Free text, no fixed shape |
| Proofreading, polishing, summarizing | No | Depends on the service |
Custom instructions are free text and are not bound by the formatting rules on this page. Still, set the target language in the language picker rather than writing it into instructions, so the two cannot conflict.
FAQ
A translation came back with the word "separator" or a bracketed label in it. Subtitle translation batches several segments into one request and aligns them with separators. Each batch gets two checks: the number of separators must match the number of segments, and the output cannot contain instruction words. If either check fails, the batch automatically falls back to segment-by-segment translation, so you rarely encounter this. If a segment still shows such wording, click Retry or retranslate that segment.
Characters changed on their own in Cantonese or Traditional Chinese. Chinese translations are converted to traditional characters before being saved: Hong Kong conventions for Cantonese, Taiwan conventions for Traditional Chinese, with halfwidth punctuation after Chinese text converted to fullwidth. This step runs across all model packages.
How long can background info be, and how many preferences fit? Background info is budgeted at roughly 1,000 characters, estimated in tokens, and anything past that is not sent. Preferences are capped at 5 items, and keeping each under about 30 words in English or 60 characters in Chinese is more stable.
A segment is marked "Translation needs updating". Usually triggered by two situations: the source text was edited, merged, or split after translation; or dictionary translations or any translation requirement were modified, marking all translations in that language as outdated. Choose Update translation to redo one segment, or choose Translate to fill in everything under the default "Missing and outdated segments" scope. Reviewed segments are skipped by default; enable "Overwrite reviewed segments" when you want them replaced too.
A requirement looks like it was ignored. Usually there are three reasons: multiple requirements packed into one item, an item that ran too long, or requesting tasks the on-device model does not perform. Split requirements up and keep them short, move terminology to the dictionary, and use commercial model services for polishing needs.