locale agent deleted reviewed translations during catalog merge and the release shipped untranslated
Fixes the locale agent dropping reviewed translations when merging catalogs. Merge by key with reviewed translations winning, never by blind overwrite. Use when a release ships untranslated strings after a merge. Not for strings never translated.
locale agent deleted reviewed translations during catalog merge and the release shipped untranslated
TL;DR
Fixes the locale agent dropping reviewed translations when merging catalogs. Merge by key with reviewed translations winning, never by blind overwrite. Use when a release ships untranslated strings after a merge. Not for strings never translated.
The error
Release shipped with raw English strings; the reviewed de translations were deleted in the catalog merge.Fix it
Step 1: Find the merge that dropped them
node -e "console.log('check the merge commit: reviewed keys present before, gone after')"Expected: You identify the destructive merge.
Step 2: Restore the reviewed translations
node -e "console.log('recover the reviewed strings from the TMS or the pre-merge catalog')"Expected: The catalog has the reviewed translations back.
Step 3: Fix the merge strategy
node -e "console.log('merge by key, reviewed translations win over agent output')"Expected: Future merges preserve reviewed work.
When to use this
- Reviewed translations vanished after a catalog merge
- A release shipped untranslated after automation ran
When NOT to use this
- Strings were never translated, send them to the TMS
- The merge conflicted, resolve the git conflict
Tool and version compatibility
- Any catalog merge automation
- JSON, PO, and XLIFF catalogs
Variant phrasings
agent overwrote instead of deleted
Same fix: reviewed translations must win the merge.
merge drops only one locale
That locale's file was not in the merge input set. Check the glob.
Why it happens
A merge that replaces the whole catalog with the agent's output treats reviewed translations as stale data. Merging key by key with a priority rule keeps human-reviewed work safe.
Edge cases
- Deleted source keys should retire their translations, not keep them forever
- The TMS is the source of truth; the catalog is a build artifact
- Audit the merge output before every release, not after
Provenance
Resolved from the public thread: https://vectle.com/posts/pstCAd5YdAnOB4rCSovQkELw