Skip to content
better-i18n.com

Translation guidelines are free-form instructions that travel with every AI translation in the project: tone, formality, regional variant, anything specific to how your product should sound.

Where they live #

The project's AI Context settings, under Custom System Prompt. One text field, project-wide.

What happens with it: your text is inserted into the translator's system prompt as PROJECT-SPECIFIC INSTRUCTIONS, ahead of the platform's own rules. So it is read before the model decides anything — not applied as a filter afterwards.

Don't spend instructions on what is already enforced #

Three rules are always in the prompt, whatever you write:

  • return only the translation, no commentary
  • keep the tone and style of the source
  • preserve placeholders and variables{{variable}}, {count} and friends

Repeating those wastes the part of the prompt where your product's actual particulars should be.

What is worth writing #

Formality #

Code
German: use "Sie", never "du".
French: use "vous" in all user-facing text.
Turkish: use "sen" — our Turkish users prefer the informal register.

Formality is the single highest-value instruction, because it is a decision no model can infer from a UI string and it is wrong in a way every native speaker notices immediately.

Regional variant #

Code
Spanish: Latin American Spanish, not Castilian.
Chinese: Simplified.
Portuguese: Brazilian.

What stays in English #

Code
Keep "API", "SDK", "token", "webhook" in English in every language.
Never translate the product name.

For a handful of terms this is fine here. For a real vocabulary, use the glossary instead — it is per-term, reviewable, and gets synced to machine-translation engines, which prose in a prompt does not.

Length pressure #

Code
Button and menu labels: as short as the target language allows,
even if that means dropping an article the source has.

Worth saying because a translation that is technically right and 40% longer breaks the layout it lands in.

One field, not per-language sections #

There is no structured per-language setting: writing [Turkish] as a header does not create a Turkish-only rule, it is just text in the same instruction block. Naming languages inline (as above) works because the model reads it, not because the platform parses it.

If your languages need genuinely different treatment, keep the instructions short and explicit per language rather than long paragraphs — the model is choosing between them on every string.

Where else your instructions show up #

  • Activity log — a change is recorded with its previous and new value, so a translation quality shift can be traced to the day someone rewrote the prompt
  • AI agentsgetTranslationContext hands your instructions to an MCP client along with the glossary, so an agent translating from your editor follows the same rules as the dashboard

Guidelines vs glossary #

GlossaryGuidelines
ShapeOne entry per term, typed and describedOne free-form text field
Best for"This word is translated exactly this way""This is how we sound"
MatchingSemantic retrieval per stringAlways present in the prompt
Reaches MT enginesYes, synced to the providerNo — AI translation only
ReviewablePer term, with a source and historyAs one blob

Use both: the glossary for words you cannot afford to get wrong, guidelines for the register everything is written in.