Re: plural forms, важна!!!
Ihar Hrachyshka <[email protected]> Sun, 11 Sep 2011 14:52:19 +0300
| Newsgroups | gmane.comp.internationalization.belarusian |
|---|---|
| Message-ID | <[email protected]> |
On 09/11/2011 02:40 PM, 375gnu wrote: > Звычайнае апісаньне множных формаў у файлах gettext [1] ня ўлічвае > даволі рэдкай, але цалкам імавернай сытуацыі, калі адзіночная й > множныя формы апісваюцца з рознай колькасьцю фарматавальнікаў, > напрыклад > > msgid "one procedure" > msgid_plural "%d procedures" > msgstr[0] "адна працэдура" > msgstr[1] "%d працэдуры" > msgstr[2] "%d працэдураў" > > Такі пераклад будзе некарэктным, бо значэньням 21, 31, 41 і г.д. будзе > адпавядаць msgstr[0]. > > Правільнае апісаньне множных формаў мусіць выглядаць наступным чынам: > > nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n%10>=2 && > n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n > > Тады вышэйпадазены прыклад прыме выгляд: > > msgid "one procedure" > msgid_plural "%d procedures" > msgstr[0] "%d працэдура" > msgstr[1] "%d працэдуры" > msgstr[2] "%d працэдураў" > msgstr[3] "адна працэдура" > > Я з гэтым сутыкнуўся ў GIMP. > > [1] nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 > && (n%100<10 || n%100>=20) ? 1 : 2);\n Сумнеўна. Якая прычына абавязкова перакладаць "one procedure" як "адна працэдура", а не як "1 працэдура"? /Ihar _______________________________________________ I18n mailing list [email protected] http://mova.org/cgi-bin/mailman/listinfo/i18n