← Back to blogs

ICU Validation Checklist for JSON and ARB

A production checklist for validating ICU syntax in JSON/ARB files, reducing localization regressions and runtime formatter failures.

ICU message errors often appear late in the release cycle because they can hide inside translation files and only fail under specific runtime values or locales.

A strong validation process combines syntax checks, data-contract checks, and rendered-output checks. Syntax-only validation is necessary, but not enough for production quality.

This checklist is designed for teams using JSON or ARB resource files with frequent localization updates.

Step 1: Run syntax validation on every pull request

Validate message structure before merge: balanced braces, valid argument types, and required fallback branches such as `other` in plural/select.

Treat syntax failures as merge blockers. They are high-confidence defects that can break rendering immediately in production.

Step 2: Verify variable consistency across locales

Ensure each locale version of a key uses the same variable names as the source. If one locale changes `{itemCount}` to `{count}`, formatting will fail at runtime for that locale only.

Automate this check where possible and surface clear error messages to developers and localization managers.

  • Check variable name parity per key
  • Check plural/select branch presence where required
  • Check for accidental token edits in translator updates

Step 3: Render critical messages with real data

Preview strings with realistic values (including edge values) in your top locales. Focus first on high-impact user flows: onboarding, payments, account security, notifications, and transactional email copy.

This catches awkward phrasing and context mistakes that pure syntax validation cannot detect.

Step 4: Add release gates and ownership

Define ownership for localization quality: who triages validation errors, who approves branch coverage, and who signs off preview snapshots.

Teams with explicit ownership and CI gates usually reduce emergency translation hotfixes after deployment.

Key takeaways

  • Block merges on syntax failures.
  • Enforce variable consistency across locales.
  • Render-test critical messages with real values.
  • Define clear ownership for localization quality gates.

Frequently asked questions

Is CI syntax validation enough to guarantee quality?

No. It prevents structural failures but cannot ensure natural or context-appropriate translated output. Add render previews for key flows.

Which files should be validated first in large apps?

Start with high-traffic and high-risk surfaces: checkout, authentication, billing, and notifications.