'gettext not applying plural rule correctly

In my polish .po file header I have:

"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 |"
"| n%100>=20) ? 1 : 2);\n"

In my application code I have:

n_('%{n} year', '%{n} years', count) % { n: count }

Then when I run rake gettext:find the following is inserted into my Polish .po file:

msgid "%{n} year"
msgid_plural "%{n} years"
msgstr[0] ""
msgstr[1] ""

Because Polish has two plural forms (as captured in the plural form rule in the .po file) I would expect it to also have a msgstr[2] "" placeholder, and the fact that it doesn't is causing confusion with our translators.

Is gettext:find supposed to build these placeholders correctly? (i.e. an nplurals number of placeholders). If so, where might I be going wrong in my configuration?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source