> ## Documentation Index
> Fetch the complete documentation index at: https://docs.elementlabs.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Text is wrong or missing

> Diagnose untranslated text, a key name on screen, or a language that will not change.

## Symptoms

One of the following in a product's interface:

* a key name such as `hud.legend.title` appears where a label should be;
* most of the interface is in the language you chose, but a few strings are not;
* the language does not change at all, whatever you set;
* a word you reworded is back to the original after an update;
* a placeholder is missing from a sentence, leaving a gap.

## Likely cause

* **A key name on screen** means the key is missing from both the active language file and the
  fallback language file. This is what an incomplete translation looks like.
* **A few strings in the wrong language** means those keys are missing from the active language file
  only, so the fallback language is used for them.
* **The language never changes** means `active` is not listed in `available`, or the resource was
  not restarted. A language outside `available` is ignored and the fallback is used, without any
  message.
* **A reworded string is back** means an update replaced your language file.
* **A missing placeholder** means a placeholder was renamed or removed while editing. A placeholder
  the product does not supply is replaced with nothing.

## Resolution

<Steps>
  <Step title="Restart the resource" icon="arrows-rotate">
    ```text theme={null}
    restart element_map
    ```

    Language files are read at start, like configuration.
  </Step>

  <Step title="Check the active language against available and the files present" icon="language">
    In `configs/locales.jsonc`, confirm `active` appears in `available`, and that both name a file
    in the product's `locales` directory: `it` needs `locales/it.json`. A mismatch is silent.
  </Step>

  <Step title="Find the missing key" icon="magnifying-glass">
    For a key name showing on screen, search the product's language files for that key. Add it to
    the active language file, keeping the same nesting.

    If it is missing from every file, the release does not ship it. Report it. See [Getting
    help](/support/contact).
  </Step>

  <Step title="Check the file can be read" icon="triangle-exclamation">
    A language file with a syntax error yields no text at all, so every key falls back to the
    fallback language. It is reported once at start:

    ```text theme={null}
    [WARN ] [   Locales] Locale file for "it" is missing or invalid.
    ```

    If a whole language stopped working after an edit, look for a trailing comma or a missing
    bracket.

    <Note>
      Unlike configuration files, language files are plain JSON: comments are not allowed in them.
    </Note>
  </Step>

  <Step title="Restore placeholders" icon="code">
    Compare your edited line with the same line in the file the release shipped. Placeholders are
    the parts in braces, such as `{count}`. Keep them, keep their names, and keep the plural
    branches around them.
  </Step>

  <Step title="If you added a language" icon="plus">
    Confirm all three edits are in place: the language file itself, its line in the `files` block of
    the resource's `fxmanifest.lua`, and its entry in `available` in `configs/locales.jsonc`.
    Missing the `fxmanifest.lua` line means the file never reaches players, so the language appears
    to have no effect. See [Languages and text](/sdk/localization).
  </Step>
</Steps>

## Verification

Restart the resource and confirm in game that every label is in the expected language, with no key
names and no gaps in sentences. Check a screen that shows counts, if the product has one, so plural
wording is covered too.
