[Translation] Add multiple number forms of a noun
Take for example string ‘%d comment(s)’. In English, there are only two forms of that noun:
- ‘no, 1 comment’;
- ‘many, few, 0, 2+ comments’.
In Slovak however, we have 3 forms:
- ‘žiadny (no), 1 komentár’;
- ‘2-4 komentáre’;
- ‘niekoľko (few), veľa (many), 0, 5+ komentárov’.
This is generally true of all Slovak nouns (we should not forget of adjectives, too, as they have the same number of forms as nouns, e.g. ‘%{count} more’). I believe there are many different rules in other languages and I think we should have something like a ‘GitLab Translator’s Wiki’ where we (as GitLab) should place all the rules (general and concreate) translators should follow (btw, I know of this very basic introduction, but it is basic and not sufficient IMO). I’ll create a new issue for the GTW. :)
Anyway, there’s another problem with translating strings into Slovak (and Czech, Hungarian, German, Polish, etc): inflection. As Slovak (et al) is a heavily inflected language (we have 7 grammar cases per a number, that is 14 cases in total), therefore there is a constant problem with translating strings in Crowdin or Transifex, as they both don’t support translating a word in 14 forms. Adding them manually to each noun is labourous work, therefore I don’t consider this as an issue with GitLab (traslation)—I just wanted to note it. :)
And another note: check of the nouns in Glossary (but also in the gitlab.pot
), because many nouns does not have more than one form (they should all have more forms). Here is a list I have found so far:
- ‘%{state} epics’
- ‘%{count} more assignees’
- ‘%{count} more’
- ‘0 for unlimited’ (the adjective ‘unlimited’ might be translated differently [in masculine, feminine or neuter form] based on the nound it follows)
I this the ideal solution would be that if there is only one form in a language, show only one form; when there is a need to add another form, let the translator add and set it up. By setting a form up I mean that the translator should define the conditions for each and every form (like the case, number or gender). However, this could be done only in Crowdin itself.
A kind of workaround is this: There should be as many forms as needed for any and all languages, in every language, and then the translator should fill in the correct translations of those particular forms. This, however, is not an elegent solution as it would require the translator to translate many more forms than the particular language would actually need.