{
  "locale": "pl",
  "language": "Polish",
  "source": "CLDR plural rules",
  "note": "Rule expressions use CLDR plural-rule syntax: n is the absolute value of the source number, i its integer digits and v the count of visible fraction digits. Categories are selected by the FIRST matching rule; 'other' is always the fallback. Assert on the category returned for each sample value, not on any wording.",
  "categories": [
    "one",
    "few",
    "many",
    "other"
  ],
  "cardinal": {
    "one": "i = 1 and v = 0",
    "few": "v = 0 and i % 10 = 2..4 and i % 100 != 12..14",
    "many": "v = 0 and i != 1 and i % 10 = 0..1 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 12..14",
    "other": "(default — reached only by fractional values)"
  },
  "cardinalSamples": {
    "one": [
      1
    ],
    "few": [
      2,
      3,
      4,
      22,
      23,
      24,
      102,
      1002
    ],
    "many": [
      0,
      5,
      9,
      10,
      11,
      12,
      13,
      14,
      20,
      21,
      25,
      100,
      112
    ],
    "other": [
      0.5,
      1.0,
      1.5,
      2.0
    ]
  },
  "ordinal": {
    "other": "(default — Polish has a single ordinal category)"
  },
  "ordinalSamples": {
    "other": [
      1,
      2,
      3,
      5,
      11,
      22
    ]
  },
  "gettextPluralForms": "nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);",
  "trap": "CLDR gives Polish FOUR categories but the traditional gettext header gives it THREE — gettext folds CLDR 'many' and 'other' together because its rule takes an integer n and never sees v. A converter that maps msgstr[n] to CLDR categories positionally will mis-key the third form."
}
