ICU syntax blogs

Practical articles on ICU MessageFormat, plural rules, and localization quality. Practice each topic in the online editor, validator, and plural rules by locale.

ICU MessageFormat Basics for Real Projects

A practical ICU syntax guide for placeholders, number/date/time formatting, and writing localization-safe messages that scale in production.

ICU MessageFormat is the foundation of many modern localization pipelines. It allows you to keep translatable copy in resource files while still injecting runtime values like user names, counts, dates, prices, and status labels.

Read full article →

ICU Plural Rules with Production Examples

Learn how to write ICU plural messages that work across locales, including exact-number matching, category coverage, and release-safe QA practices.

Pluralization mistakes are among the most common internationalization bugs. A message that seems correct in English can fail in languages that require additional categories such as `few` or `many`.

Read full article →

Select and SelectOrdinal: Practical ICU Patterns

Use ICU select/selectordinal for role-based text, status copy, and ranked messaging without hardcoding language logic in UI components.

`select` and `selectordinal` solve two different but common localization needs. `select` branches on string values like role or status; `selectordinal` handles ordinal language such as 1st, 2nd, 3rd.

Read full article →

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.

Read full article →