Your CI Pipeline Doesn’t Speak Spanish. Let’s Fix That
Hardcoded strings silently breaking localization is a common but preventable problem. By treating i18n as a pipeline concern rather than a developer discipline issue, teams can catch untranslated strings, key drift, incomplete locale files, and untranslatable concatenations automatically. A practical four-stage CI pipeline is outlined: ESLint-based i18n linting, key validation against locale files, coverage reporting per locale, and TMS sync on merge. Pre-commit hooks with lint-staged provide faster local feedback. The post also covers source string quality checks (emoji, length, missing context) and common failure modes like stagnant coverage thresholds and TMS workflows nobody owns. The core mental model: translation files are build artifacts, and missing translations are build errors.