Re: Compile error due to po/fr.po on old gettext in v2.21.0
- From
Jiang Xin <worldhello.net@gmail.com>
- Date
- Feb 26, 2019, 02:12 UTC
- Message-ID
- <CANYiYbF_6U6x7fCV6LNt_c8yc9mF0PhwdqXdQNHB9eP5onDUKw@mail.gmail.com>
- In-Reply-To
- <2933589.YIuU4JMJIj@cayenne>
Jean-Noël AVILA <jn.avila@free.fr> 于2019年2月26日周二 上午4:54写道:
Show 14 quoted lines
>
> On Monday, 25 February 2019 21:19:53 CET Ævar Arnfjörð Bjarmason wrote:
> > On a NetBSD test box I have with msgfmt 0.14.4 v2.21.0 fails to compile.
> >
> > I didn't spot this in rc2 because b3225a4183 ("l10n: fr.po v2.21.0 rnd
> > 2", 2019-02-13) along with the rest of i18n updates gets pulled in after
> > all the RCs.
> >
> > I.e. this is because of the comments being parsed (fuzzy comments).
> >
> > The 0.14.4 gettext release was back in 2005, so presumably this is due
> > to some GPLv3 allergy of NetBSD's. The OS version itself is 7.1,
> > released a couple of years ago.
> >gettext (version below 0.16) doesn't work well with the special format in `po/fr.po`. I will update the validation script to check for this issue for future l10n updates.
$ LC_ALL=C PATH=/opt/gettext/0.15/bin/:$PATH po-helper.sh check
------------------------------------------------------------
bg.po : 4363 translated messages.
ca.po : 3450 translated messages, 417 fuzzy translations, 318
untranslated messages.
de.po : 4363 translated messages.
el.po : 1038 translated messages, 3325 untranslated messages.
es.po : 4363 translated messages.
fr.po : po/fr.po:22482:4: parse error
po/fr.po:22482: missing `msgstr' section
po/fr.po:22487:4: parse error
po/fr.po:22487: missing `msgstr' section
po/fr.po:22492:4: parse error
po/fr.po:22492: missing `msgstr' section
po/fr.po:22497:4: parse error
po/fr.po:22497: missing `msgstr' section
po/fr.po:22502:4: parse error
po/fr.po:22502: missing `msgstr' section
po/fr.po:22507:4: parse error
po/fr.po:22507: missing `msgstr' section
po/fr.po:22512:4: parse error
po/fr.po:22512: missing `msgstr' section
po/fr.po:22517:4: parse error
po/fr.po:22517: missing `msgstr' section
po/fr.po:22522:4: parse error
po/fr.po:22522: missing `msgstr' section
po/fr.po:22527:4: parse error
po/fr.po:22527: missing `msgstr' section
msgfmt: too many errors, aborting
is.po : 14 translated messages.
it.po : 2347 translated messages, 583 fuzzy translations, 1433
untranslated messages.
ko.po : 3608 translated messages.
pt_PT.po : 3198 translated messages.
ru.po : 3366 translated messages, 594 untranslated messages.
sv.po : 4363 translated messages.
vi.po : 4187 translated messages.
zh_CN.po : 4363 translated messages.
------------------------------------------------------------Show 6 quoted lines
> > I kept the commented entries as a translation memory, even when they are > fuzzy. > > Would unfuzzying these entries resolve the issue? >
It's not caused by the fuzzy directions in comments (e.g. line 22481), but because of the duplicated msgid in line 22482. Removing line 22482 will fix this issue.
22481 #, fuzzy
22482 #~| msgid "git archive [<options>] <tree-ish> [<path>...]"
22483 #~ msgid "git diff --no-index [<options>] <path> <path>"
22484 #~ msgstr "git archive [<options>] <arbre ou apparenté> [<chemin>...]"