> ## Documentation Index
> Fetch the complete documentation index at: https://heygen-1fa696a7.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Translation Rules

> Keep brand terms untranslated or force an exact translation in every target language with a brand glossary's do_not_translate_terms and forced_translations.

![](https://mintcdn.com/heygen-1fa696a7/hfMXXwJzjE7vBSYZ/images/theme/research.webp?fit=max\&auto=format\&n=hfMXXwJzjE7vBSYZ\&q=85\&s=3e4c2594813dcfd56985f3d63e3ba321)

Two lists in a [brand glossary](https://heygen-1fa696a7.mintlify.site/docs/brand-glossary.md) control how your terms come through translation. They take effect only through a translation feature: [video translation](https://heygen-1fa696a7.mintlify.site/docs/video-translate.md) over the API, and a Studio or Video Agent draft translated in the HeyGen app. Plain video generation and text-to-speech use [`terms`](https://heygen-1fa696a7.mintlify.site/docs/brand-glossary/pronunciations) alone.

| List | Effect |
| - | - |
| `do_not_translate_terms` | `term` stays as written in every target language. |
| `forced_translations` | `term` becomes its exact `translation`. |

```json theme={null}
{
  "do_not_translate_terms": [
    { "term": "HeyGen" }
  ],
  "forced_translations": [
    { "term": "CEO", "translation": "Geschäftsführer" },
    { "term": "Hello", "translation": "Bonjour", "target_language": { "scope": "specific", "code": "fr" } }
  ]
}
```

## Don't translate

`do_not_translate_terms` keeps product names, brand names, and codes intact. Each entry applies to all languages.

## Forced translations

A `translation` is inserted verbatim with no inflection, so pick a form that reads correctly on its own.

Add `target_language` to apply a forced translation in one language. It works like [per-language pronunciations](https://heygen-1fa696a7.mintlify.site/docs/brand-glossary/pronunciations.md#per-language-pronunciations):

* Omit the field, or send `{ "scope": "all" }`, for every language.
* `code` is a base language code: `fr`, `es`, `de`.
* A language-specific rule takes precedence over an all-languages rule for that language.
* A term can appear once per language.

## When a term is in both lists

A term in both `do_not_translate_terms` and `forced_translations` stays untranslated. Its forced translations stay saved, and apply again once you remove the term from `do_not_translate_terms`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.