From: Jakub Narebski Date: Wed, 02 Mar 2011 10:32:23 GMT Subject: Re: What's cooking in git.git (Feb 2011, #06; Sun, 27) Message-ID: In-Reply-To: Piotr Krukowiecki writes: > On Wed, Mar 2, 2011 at 6:24 AM, Junio C Hamano wrote: >> Jeff King writes: >>>   - Nit: you nicely use "%d commit%s" to handle the single/plural case >>>     in the warning message, but then you "them" later on. It needs >>>     (1 < lost) ? "them" : "it". >> >> I actually don't like playing games like that, especially when i18n topic >> is in flight.  Among the languages I know rules reasonably well, two has >> the rule that a countable noun is spelled differently depending on the >> number of that thing is one or more, and one spells the noun the same way >> regardless of the number.  Who knows if git needs to be translated into a >> language whose noun changes its shape three-way, depending on the number >> being one, two, or more? Well, one of such languages with spelling depending in number of things is Russian, for which we have translation for git-gui, so I guess somebody would add one for git itself. > For gettex this is described at > http://www.gnu.org/software/gettext/manual/gettext.html#Plural-forms Which includes example for Polish language: 1 file = 1 plik 2,3,4 files = 2,3,4 pliki 5-21 files = 5-21 plików 22-24 files = 22-24 pliki 25-31 files = 25-31 plików and so on [...] Three forms, special case for one and some numbers ending in 2, 3, or 4 The header entry would look like this: Plural-Forms: nplurals=3; \ plural=n==1 ? 0 : \ n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; Languages with this property include: Slavic family Polish > Don't know how it's handled in shell scripts or perl or whatever other > language (which does not use gettext?) Both shell scripts and Perl scripts would use gettext: gettext.sh for shell, Locale::Messages for Perl (we need lower level than Text::Domain, and Locale::Maketext is first no longer recommended, and second does not use gettext at least by default). -- Jakub Narebski Poland ShadeHawk on #git