Handle plural forms with Intl.PluralRules or ICU MessageFormat
SkillDev toolsPluralization is a skill for AI agents that reviews code for correct handling of plural forms across locales. It flags string concatenation involving counts, singular/plural branching, and i18n library configurations that would produce grammatically wrong output in languages with more plural categories than English.
Available today. Use it from your connected AI after setup.
No other account needed.
Have an agent that can load skills, and a codebase that renders counts or uses an i18n library.
Then ask your AI: use the Handle plural forms with Intl.PluralRules or ICU MessageFormat skill
What your AI can do with it
- Find places where a count value is concatenated with a string
- Flag ternaries that pick only between singular and plural
- Check i18next and react-intl messages for missing plural keys
- Review translation files and components that render counts
- Suggest Intl.PluralRules or ICU MessageFormat replacements
- Explain CLDR plural categories and why languages differ
Getting started
- Have an agent that can load skills, and a codebase that renders counts or uses an i18n library.
- Add the pluralization skill to the agent's available skills.
- Ask the agent to review string concatenation involving counts, translation key lookups, or i18n configurations.
- Apply the suggested fixes using Intl.PluralRules or ICU MessageFormat plural syntax.
- Consult references/rule.md in the skill for implementation details and framework-specific guidance.
What this skill tells your AI
The instructions your AI receives, as published by thedaviddias/front-end-checklist in skills/pluralization/SKILL.md and read by ahel’s review.
Pluralization rules vary dramatically across languages — what works as a simple singular/plural branch in English produces grammatically wrong output in Arabic, Russian, Polish, and dozens of other languages. Shipping incorrect plurals signals low translation quality and breaks trust with native speakers in target markets.
Quick Reference
- English has 2 plural forms but Arabic has 6 and Russian has 3
- Never concatenate a count with a string like '"You have " + count + " items"'
- Use Intl.PluralRules to select the right message key per locale
- ICU MessageFormat in react-intl or i18next handles plural selection automatically
Check
Find all places in this codebase where a count value is concatenated with a string or where only singular/plural branching is used, without Intl.PluralRules or ICU plural syntax.
Fix
Replace count string concatenation and binary singular/plural logic with Intl.PluralRules-based key selection or ICU MessageFormat plural syntax so that all CLDR plural categories are covered for every target locale.
Explain
Explain why languages have different numbers of plural forms, what CLDR plural categories are, and how Intl.PluralRules and ICU MessageFormat solve pluralization correctly across locales.
Code Review
Review translation files and components that render counts. Flag any strings that concatenate a number with text, any ternary that picks only between "singular" and "plural", and any i18next or react-intl message that is missing plural keys required by the target locale.
For full implementation details, code examples, and framework-specific guidance,
see references/rule.md.
Rule page: https://frontendchecklist.io/en/rules/i18n/pluralization
Signals
- GitHub stars
- 74k
- Forks
- 7k
- Last commit
- Aug 2026
Questions
- Why is simple singular/plural branching not enough?
- Languages differ in how many plural forms they have: English has 2, Arabic has 6, and Russian has 3. A binary branch produces grammatically wrong output in many target locales.
- What should replace count string concatenation?
- Use Intl.PluralRules to select the right message key per locale, or ICU MessageFormat plural syntax in libraries like react-intl or i18next, which handles plural selection automatically.
- How long does it take to use?
- The estimated time listed in the skill metadata is 25 minutes.
Advanced
- Item type
- skill
- Key
pluralization- Source
- github.com/thedaviddias/front-end-checklist