> [: Victor Sergienko :]
> I believe, if msgid does not contain a variable, and only msgid_plural
> does, then msgstr[0] should not be checked for the variable, but only
> msgstr[1] and msgstr[2].

This is frequently true, and the script takes care of that. E.g. it doesn't
warn of such cases in German or French POs. However...

> I see false alarms in wesnoth/ru.po.
> [...]
> po/wesnoth/ru.po:7014(#720): missing interpolations in msgstr[0]: $enemies

For Russian, as mandated by its plural formula in PO header, there is no
form which is used only for n == 1: msgstr[0] is used for all numbers ending
in 1, except those ending in 11. So msgstr[0] too has to contain the number.

Now, I suppose that to have a sentence "Вижу 1 врага!" instead of
"Вижу врага!" would be stylistically bad in Russian. Actually, for Serbian
we used the same plural formula as for Russian, and exactly due to this
style deficiency, we switched to a 4-form formula, where msgstr[3] is added
to be used only for n == 1. This 4-form formula is:

  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;

If you'd like to make this switch for Russian too, it shouldn't be hard, as
there are total of 17 plural messages in wesnoth.po, and none in other POs.

-- 
Chusslove Illich (Часлав Илић)

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
Wesnoth-i18n mailing list
Wesnoth-i18n@gna.org
https://mail.gna.org/listinfo/wesnoth-i18n

Reply via email to