This 2D companion renders the exact same Unicode CLDR plural rules engine as the 3D version — the same per-language boolean rules, the same category set (zero, one, two, few, many, other) and the same colour coding — but as a flat, pannable, zoomable 11×11 tile grid instead of an instanced 3D cube field. Each tile n (0–100) is coloured by its matched category and its filled bar height inside the tile is proportional to how common that category is for the current locale (a taller bar = more of the 101 integers land in that category).
Russian: one: n%10==1 && n%100!=11
few: n%10 in [2,4] && n%100 not in [12,14]
many: n%10==0 || n%10 in [5,9] || n%100 in [11,14]
other: everything else (fractions)
Arabic: zero: n==0 one: n==1 two: n==2
few: n%100 in [3,10]
many: n%100 in [11,99]
other: everything else
Welsh: zero:0 one:1 two:2 few:3 many:6 other: rest
Japanese: other (no plural distinction at all)
A mobile app that hard-codes n + " item(s)" is only correct for English. Real i18n frameworks (ICU MessageFormat, Android <plurals>, iOS .stringsdict) look up the rule for the user's locale, evaluate it against n, and select the matching translated template — e.g. Russian needs four separately-translated strings for "file(s)" where English needs two.
- Locale buttons — switch the active CLDR rule set; every tile in the grid recolors and re-scales instantly by category.
- n slider / Random — pick the integer being tested; the matching tile pulses white and a beam rises from it to a floating "n → category" label.
- Auto-cycle — sweeps n from 0 to 100 continuously so you can watch which categories are rare (e.g. Arabic's "two" fires for exactly one value) versus common.
- Drag to pan, scroll/pinch to zoom — the grid is a real 2D camera, not a fixed image; zoom in on a cluster of tiles or pan across the full 0–100 range.
This is the actual algorithm shipped inside every major i18n runtime — not a metaphor for it.