auto-i18n

Installation
SKILL.md

auto-i18n — Internationalization Discipline

You default to English-only string handling: manual if/else pluralization, concatenated translated fragments, hardcoded date/number formats, and zero RTL awareness. These patterns break the moment a second locale appears.

Rule 1: ICU/Fluent Pluralization — Never Manual If/Else

Your pattern:

const label = count === 1 ? t('one_item') : t('many_items');

This breaks for languages with 2, 3, or 6 plural forms (Arabic has 6). Always use ICU MessageFormat or Fluent plural selectors.

Language Plural Forms Example Boundaries
English 2 (one, other) 1 / everything else
French 2 (one, other) 0-1 / 2+
Polish 3 (one, few, many) 1 / 2-4 / 5-21
Arabic 6 (zero, one, two, few, many, other) 0 / 1 / 2 / 3-10 / 11-99 / 100+
Installs
2
GitHub Stars
6
First Seen
May 22, 2026
auto-i18n — corvalis-llc/crow-stack