Skip to content

Sync — issue codes (i18nprune.sync.*) ​

← Issue codes index

locale_file_not_found ​

Severity: warning
When: sync --target requested a locale basename with no matching *.json under localesDir (skipped).
Who: sync, runSync.
What to do: Create the locale file (e.g. generate) or fix --target spelling.


metadata_flag_conflict ​

Severity: warning
When: sync receives both metadata-write intent and strip intent in the same run (for example --metadata and --strip-metadata).
Who: sync, runSync.
What to do: Treat it as a precedence notice: strip wins and leaves are written as plain strings (legacy_string mode). Remove one flag for clearer intent. See Sync metadata flag conflict and Locales config metadata mode.


scan_extras_retained ​

Severity: info
When: After sync, a target locale still has key paths extra vs the code scan that were retained (preserve / uncertain keep). Reasons on each path: copyKey, copyPrefix, uncertainPrefix, or autoUncertain.
Who: sync, runSync.
JSON: additive data.scanExtrasRetained[] — { localeCode, localeFile, retained: [{ path, reason }] }. Issue includes paths and a short sample in message.
What to do: This is not a failure. sync aligns to scan ∩ source + preserve expansion and is conservative around dynamic / declared keep trees. To preview scan-based removal from the target file, run:

bash
i18nprune cleanup --target <code> --dry-run

Review output, then apply with cleanup --target <code> --yes or --ask. Optional: --rg for a substring presence guard. See Sync vs tips vs cleanup.