On translate toolkit I'm now doing the following:
* consider the unit immediately after a "Localization_and_Plurals" comment
* parse that comment for "LOCALIZATION NOTE (key_1, ... , key_n)" and
consider the units with those keys
* if any of those units have semicolon, then it is a plural unit.
This seems to catch the greater number of plural units with no false
positive, but manual checking should a few false negatives all of them
are missing "Localization_and_Plurals" in the comment:
browser/chrome/browser/browser.properties editBookmark.removeBookmarks.label
browser/chrome/browser/browser.properties popupWarning.message
browser/chrome/browser/preferences/aboutPermissions.properties cookiesCount
browser/chrome/browser/preferences/aboutPermissions.properties passwordsCount
browser/chrome/browser/preferences/aboutPermissions.properties visitCount
browser/chrome/browser/syncSetup.properties addonsCount.label
toolkit/chrome/mozapps/extensions/extensions.properties numReviews
toolkit/chrome/mozapps/extensions/extensions.properties showAllSearchResults
> >>Another level of complexity is that the plural support within the
> >>gettext world may differ from gecko, in terms of how many plural
> >>forms are expected and how they're ordered. It's not something we'd
> >>do lightly, but it's also not something where we'd, say, revert to
> >>gettext behavior added after gecko support was added with a
> >>different form.
> >
> >I'm aware of that because Arabic is one of the languages affected by
> >this. I was going to first try to convince you to revert to to gettext
> >formula, otherwise implement some sort of conversion table.
>
> How do they differ?
In Gettext zero case is the first, in Mozilla it is the last.
Regards,
Khaled