Blog

ICU Message Format for People Who Do Not Write Compilers

A plain-language explanation of why `{count, plural, ...}` survives in apps — and how the same idea shows up in storefront copy.

2026-09-11 · 6 min read

If you have ever shipped a mobile app, you have probably sworn at plural rules. English has “1 item / 2 items.” Other languages have more forms. ICU message format exists so translators do not hard-code broken grammar into your binary.

E-commerce teams meet the same problem in softer clothes: “Only {count} left,” “Save {discount}%,” “Ships in {days} days.” Those are messages with slots. Treat the slots as sacred.

When an LLM rewrites the sentence and drops the slot, you do not get a mildly worse translation — you get a feature regression. Inventory urgency disappears. Promo badges show empty. Support tickets start with screenshots.

The fix is operational: detect slots, protect them, rewrite around them, test with sample values. Glossaries help for brand terms; fixtures help for slots. Neither is optional once you leave a single-language store.