Symptoms
One of the following in a product’s interface:- a key name such as
hud.legend.titleappears 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
activeis not listed inavailable, or the resource was not restarted. A language outsideavailableis 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
Restart the resource
Check the active language against available and the files present
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.Find the missing key
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.
Check the file can be read
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:If a whole language stopped working after an edit, look for a trailing comma or a missing
bracket.
Unlike configuration files, language files are plain JSON: comments are not allowed in them.
Restore placeholders
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.If you added a language
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.