Deterministic rule

Missing Keys Check

The missing keys check flags source string paths that the target JSON file does not provide.

Examples

Source JSON
{
  "checkout.pay": "Pay now",
  "checkout.cancel": "Cancel",
  "checkout.total": "Total: {amount}"
}
Target JSON
{
  "checkout.cancel": "キャンセル",
  "checkout.total": "合計: {amount}"
}
Expected finding
Missing key: checkout.pay
Release impact
The checkout screen may render a fallback, blank button, raw key, or fail a build check depending on the app.

What LocaleQA checks

LocaleQA compares flattened source JSON string paths against flattened target JSON string paths and reports source paths that are absent from the target.

Missing keys tend to appear when a source file changes after export, a vendor works from an older file, a manual merge drops a path, or a nested object is copied incompletely.

What appears in the report

The report shows the missing JSON path so the owner can restore the target key or confirm that the source file has changed.

Developers own the source structure, localization PMs own delivery completeness, and vendors can use the report as a pre-delivery checklist before files reach engineering.

When to keep or skip this check

A missing key is rarely intentional for a release target, but it can be expected during partial localization, phased rollout work, or locale-specific files that intentionally omit strings handled elsewhere.

Disable this rule only for partial-file scans or migration work where missing paths are expected. Keep it enabled for normal release, client delivery, and vendor acceptance checks.

How to use the finding

LocaleQA reports the affected JSON path, the source and target values involved, and the rule that triggered the finding. Developers, localization PMs, vendors, and QA reviewers can use that as a specific file-level item to fix, approve, or discuss before release.

Some findings are valid exceptions. A migration file, documented style choice, or locale-specific convention may explain the difference. In those cases, teams can leave the string as-is or disable the check for that scan.

LocaleQA is JSON file QA. It does not judge wording or rewrite translations; it surfaces the file issue so the responsible owner can decide the right fix.

Related pages