Missing Localization Keys in JSON Files
Missing localization keys are structural mismatches: the source file contains a string path that the target file does not provide.
Examples
{
"errors.required": "Required",
"errors.email": "Invalid email",
"errors.password": "Password is too short"
}{
"errors.required": "必須です",
"errors.emailAddress": "メールアドレスが正しくありません"
}Missing keys: errors.email, errors.password Extra key: errors.emailAddress
A renamed or dropped error key can show fallback text or break validation messaging in the localized UI.
Where missing keys appear
Missing keys often appear after a source file changes during translation, when a vendor works from an older export, or when someone manually edits a nested JSON object. Developers usually see the symptom first, but the root cause may be in handoff or delivery.
Localization PMs and vendors should catch missing keys before delivery; developers should catch them before merge; QA should not be the first team to discover them in-product.
Why JSON validity misses it
The target file can be perfectly valid JSON while omitting required paths. Syntax validation cannot know which keys the application expects; it only knows that the file can be parsed.
LocaleQA flattens both files into stable string paths and reports any source path missing from the target. It does not infer that a renamed key is equivalent.
Manual versus automated detection
Manual key comparison is possible for small files, but it is hard to catch by eye nested paths or mistake a renamed key for a valid replacement. Automated comparison is more reliable because every source path is checked on every run.