Deterministic rule

Untranslated Same-as-Source Check

The same-as-source check creates a review list for target strings that still match source text on the same JSON path.

Examples

Source JSON
{
  "account.delete": "Delete account",
  "brand.name": "LocaleQA",
  "billing.renew": "Renew plan"
}
Target JSON
{
  "account.delete": "Delete account",
  "brand.name": "LocaleQA",
  "billing.renew": "プランを更新"
}
Expected finding
Same as source: account.delete
Review candidate: brand.name may be intentional
Release impact
A brand name can remain unchanged, but an account action left in English is likely a missed translation before release.

What LocaleQA checks

LocaleQA compares source and target string values on matching JSON paths and flags values that remain identical after trim-only comparison.

The goal is review triage. That does not make every unchanged string wrong. It gives the reviewer a short list to accept or fix.

What appears in the report

The report shows the path and the unchanged value so reviewers can quickly separate product names, codes, and intentionally preserved terms from missed translations.

Localization PMs often own the final decision, vendors can fix clear misses before delivery, and QA teams can use the report to avoid finding source-language strings during UI testing.

When to keep or skip this check

Product names, brand names, command names, SKU codes, API labels, and short technical terms may intentionally remain the same across locales.

Disable this rule for scans where the target locale intentionally shares most UI text with source, or where same-as-source review is already covered by a separate linguistic process. Keep it enabled for release languages where source-language leakage is a common client complaint.

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