Skip to main content

Symptoms

One of these in a product’s interface:
  • a key name such as map.waypoint where a label should be;
  • most of the text is in the right language, but a few lines are not;
  • the language never changes, whatever you set;
  • text you reworded is back to the original after an update;
  • a sentence has a gap where a name or a number should be.

Causes

Fix

1

Restart the resource

Language files are read when the resource starts.
2

Look for a language warning

The file is missing or cannot be read. Look for a comma after the last entry, a missing quote, or a comment: language files are plain JSON and take none.
3

Check the language choice

For a product with configs/locales.jsonc: active must appear in available, and both must name files in locales. fr needs locales/fr.json.
4

Find the missing key

Search the product’s language files for the key shown on screen and add it to the language that is missing it, in the same place in the nesting. If no file has it, the release does not ship it: tell us.
5

Restore placeholders

Compare your line with the same line in the file the release shipped and put back every part in braces, with the same name.
6

If you added a language

Check all of its steps: the file itself, its line in the files block of fxmanifest.lua, and, for a product with configs/locales.jsonc, its entry in available. Without the fxmanifest.lua line the file never reaches players. See Languages.

Check that it worked

Restart the resource. In game, every label is in the expected language, with no key names and no gaps. Check a screen that shows a count, so plural forms are covered too.