“1 file” and “5 files” is the whole problem in English, so English developers build for two cases. Polish needs four and Arabic needs six, and a file that ships two of them is not slightly wrong — it is wrong for most numbers.
They are grammatical buckets, not amounts. “few” in Polish covers 2, 3 and 4 — and also 22, 23 and 24, but not 12, 13 or 14.
The singular form. In Russian and Polish this covers 21, 31 and 101 as well as 1.
Polish and Czech: numbers ending 2–4, excluding the teens. Romanian uses it for 0 and 2–19.
Slavic languages use it for the rest. French, Spanish, Italian and Portuguese use it only for large numbers.
The names come from Unicode CLDR, which is what every i18n library ultimately reads — i18next, ICU MessageFormat, gettext, Android and Flutter included. Getting them right is not a nicety; it is the difference between a sentence and a bug your Polish users see every day.
| Language | zero | one | two | few | many | other | Forms |
|---|---|---|---|---|---|---|---|
Arabic ar | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 6 |
Chinese zh | · | · | · | · | · | ✓ | 1 |
Czech cs | · | ✓ | · | ✓ | ✓ | ✓ | 4 |
Dutch nl | · | ✓ | · | · | · | ✓ | 2 |
English en | · | ✓ | · | · | · | ✓ | 2 |
French fr | · | ✓ | · | · | ✓ | ✓ | 3 |
German de | · | ✓ | · | · | · | ✓ | 2 |
Italian it | · | ✓ | · | · | ✓ | ✓ | 3 |
Japanese ja | · | · | · | · | · | ✓ | 1 |
Korean ko | · | · | · | · | · | ✓ | 1 |
Polish pl | · | ✓ | · | ✓ | ✓ | ✓ | 4 |
Portuguese pt | · | ✓ | · | · | ✓ | ✓ | 3 |
Romanian ro | · | ✓ | · | ✓ | · | ✓ | 3 |
Russian ru | · | ✓ | · | ✓ | ✓ | ✓ | 4 |
Spanish es | · | ✓ | · | · | ✓ | ✓ | 3 |
Turkish tr | · | ✓ | · | · | · | ✓ | 2 |
Ukrainian uk | · | ✓ | · | ✓ | ✓ | ✓ | 4 |
item.one and item.other. Polish inherits the shape and silently loses few and many.locoloop holds the forms per language rather than per file: enable Polish and the editor shows four cells, and GET /status reports the forms a language is still missing by name. How each file format carries plurals →
Import it and the editor will show you which forms are missing, by language. Free while you are evaluating.