Internal Whitespace Check
The internal whitespace check flags changes to repeated spaces or tabs inside a string, excluding leading and trailing whitespace.
Examples
{
"shortcut.copy": "Press Ctrl C",
"table.header": "Name Status"
}{
"shortcut.copy": "Ctrl C を押します",
"table.header": "名前 Status"
}shortcut.copy: double internal space removed table.header: tab changed to space
Monospaced output, keyboard instructions, tables, and preformatted examples can rely on spacing that is invisible in normal review.
What LocaleQA checks
LocaleQA compares internal whitespace runs, such as repeated spaces or tabs, on matching source and target strings. It ignores leading and trailing whitespace because those have separate checks.
Internal whitespace drift commonly appears when translators clean up text that looks odd in a JSON file but is intentional in the product, such as a table, command output, or keyboard shortcut example.
What appears in the report
The report shows the affected JSON path and the internal whitespace drift it detected. The finding gives reviewers a specific place to decide whether the formatting is required.
The rule does not know whether a double space is good writing. It only reports that the target no longer preserves the source spacing pattern.
When to keep or skip this check
Some locales legitimately rewrite spacing around Latin terms, numbers, or symbols. Some style guides also prefer normalizing double spaces that were accidental in source.
Disable this rule when the source contains known spacing noise or when the target locale intentionally changes spacing conventions. Keep it enabled for preformatted text, examples, tables, CLI output, and strings used in snapshots or exact comparisons.
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.