That syntax is exactly what the Arabic translator wanted to use; but the
error message says that for Arabic you need an extra "|zero=" parameter;
unfortunately that syntax does not explicitly pass the numeric value, and
just assumes a simpler singular vs. plural scheme for English-like plurals,
and this does not work for Arabic which expects more than 2 plural forms
and insists in having other forms for "zero", "two", and "few".

That early "simplified" syntax, suitable for Germanic and Romance languages
(as well as East Asian languages having just 1) should be deprecated, does
not work for languages having more than 2 forms (including Arabic, or most
Slavic and Celtic languages); and there's also still no way to allow
several forms to share the result value (so parameter values need to be
duplicated for each expected plural form, there's no support for e.g.
"|zero,two,few="). That old syntax is inherited from Gettext (where there
was no explicit parameter to indicate which "variable" contains the actual
discriminating value to test), forcing translation projects to create
separate translation units for additional plural forms, and specific code
in the app (with quirks to ensure that translation units are distinct in
the source text usually in English, sometimes in Chinese in various
projects).

There's no easy solution: the MediaWiki syntax for plurals (and the CLDR
syntax, or other modern i18n frameworks for Java, C#, Rust, etc...) are
more suitable and capable than the limited Gettext syntax designed with
Germanic, Romance and East Asian assumptions (these old designs existed
long before CLDR started to document what was really needed for Semitic,
Slavic and Celtic languages, even if they are very "popular" and heavily
used like Arabic, Russian or Ukrainian). Projects built with old Gettext
assumptions should really think about redesigning their i18n model and
support libraries)

Le sam. 8 nov. 2025 à 01:27, Cooltey Feng <[email protected]> a écrit :

> Hi Haytham Abulela Aly,
>
> Thank you for your contribution!
>
> If you see a warning message about the plural forms, please make sure the
> plural template format is correct.
>
> The valid usage of a {{PLURAL}} would be like:
> {{PLURAL|one=article|%1$d articles}}
>
> For more examples of correctly using the {{PLURA}} format, please see the
> wiki page here:
> https://translatewiki.net/wiki/Template:PLURAL
> _______________________________________________
> Translators-l mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
>
_______________________________________________
Translators-l mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to