# translations/messages

> Checks the next-intl JSON/ICU files under `translations.messages_folder`: each message parses, none stays empty, and each locale holds all keys of the base.

Checks the next-intl JSON/ICU files under `translations.messages_folder`: each message parses, none stays empty, and each locale holds all keys of the base.

Part of the [`translations`](/reference/configurations/translations/) configuration, at the `recommended` [level](/start/concepts/#levels). It runs at the `push` [stage](/start/concepts/#stage), once per scope. gspot runs this check itself. It skips until you set `translations.messages_folder`.

## Why

next-intl loads one locale at a time, so only a comparison with the base finds a missing key.

## What to do

Correct the message, or add the missing key to the locale.

## Example

When the base locale defines `welcome` and another lacks it, the check reports the missing key. Add the translation with the same placeholders.

## Turn it off

Turn it off for some files, with a reason:

```shell
gspot ignore translations/messages --paths "<glob>" --reason "<why>"
```
