[pacman-dev] Plurals (was: [translation] Let's start the work for 3.5.0 release)

Dan McGee dpmcgee at gmail.com
Mon Mar 7 15:40:47 EST 2011


2011/3/7 Nagy Gabor <ngaba at bibl.u-szeged.hu>:
>> 2011/3/6 Nagy Gabor <ngaba at bibl.u-szeged.hu>:
>> >> We're using transifex this time around, and going cold turkey, so I
>> >> won't even look at translations submitted here.
>> >>
>> >> http://projects.archlinux.org/pacman.git/tree/doc/translation-help.txt
>> >
>> > Hi, I cannot get msgid_plurals to work:
>> > I tried to copy the French .po file, so I did the following:
>> > "Plural-Forms: nplurals=2; plural=(n > 1)\n"
>> > ...
>> > #, c-format
>> > msgid "Do you want to skip the above package for this upgrade?"
>> > msgid_plural "Do you want to skip the above packages for this upgrade?"
>> > msgstr[0] "Mellőzzük a fenti csomag telepítését?"
>> > msgstr[1] "Mellőzzük a fenti csomagok telepítését?"
>> >
>> > I always get msgstr[0]. What is wrong? (Btw, any help in the
>> > translation-help.txt file would be nice.)
>>
>> You shouldn't have to mess with the Plural-Forms bit yourself;
>> Transifex automatically generates that and sticks it into the
>> generated translation file.
>>
>> With that said, I have no idea what to tell you as to why it may not
>> be working, or what help you are looking for in the
>> translation-help.txt file. For instance, this seemed to work for me
>> and shows both message types:
>>
>> $ sudo cp po/fr.mo /usr/share/locale/fr/LC_MESSAGES/pacman.mo
>> $ LANG=fr_FR.utf8 ./src/pacman/pacman -Qk pacman-git glibc kernel26
>> pacman-git: 154 fichiers au total, 0 fichier manquant
>> glibc: 1422 fichiers au total, 0 fichier manquant
>> kernel26: 3266 fichiers au total, 0 fichier manquant
>
> Well, I uploaded my .po files to transifex (when I wrote the last
> e-mail, I hadn't have write access yet), and it reformatted my .po file
> and reset the header.
This is exactly what Transifex is supposed to do- you shouldn't have
to mess with the header. It does all the Plural-Form stuff for you.

> It still doesn't work, now I _always_ get plural
> forms. Since LANG=fr_FR.utf8 always gives English output here, I cannot
> test French :-(.
How exactly are you testing for both of these cases? Giving us some
exact commands might help Xavier and I offer some input.

If `locale -a` doesn't list a locale you are trying to use, you need
to actually generate it using /etc/locale.gen and locale-gen.

With unresolvable001 as a test case (LANG=hu_HU.utf8 ./runpactest.sh
unresolvable001.py):

[14:38:48] debug: finished resolving dependencies
:: az alábbi csomagokat nem lehet telepíteni feloldhatatlan függőségek miatt:
      package  dep

Mellőzzük a fenti csomagok telepítését? [i/N]
belső ütközések keresése...
[14:38:48] debug: looking for conflicts

Which seems to be what you listed as the plural (second) form.

> On transifex website, my translation looks fine (I can see correct "one"
> and "other" strings, visually the same output as with French .po file),
> please test it, maybe something is wrong here. I can't do anything
> more atm, I think I did my translation job.
>
> Hint: In Hungarian we use "154 file" and "1 file" (we only use plural,
> if it gives "extra" information), so please test the unresolvable stuff,
> like "pacman -S gimp --ignore libwmf", there you should see the
> difference between "following package" and "following packages".

OK. The provided Plural-Forms is the same as English (but not the same
as French, the == 0 case is different).
"Language: hu\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"

-Dan


More information about the pacman-dev mailing list