Complete.Org: Mailing Lists: Archives: freeciv-dev: August 2002:
[Freeciv-Dev] Freeciv po file problems.
Home

[Freeciv-Dev] Freeciv po file problems.

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-dev@xxxxxxxxxxx
Cc: Keld Simonsen <keld@xxxxxxxx>, Egbert Hinzen <egbert@xxxxxxxxxxxxxxx>, Miguel Lobo <miguell@xxxxxxxxxxxxxxx>, Ahti Akel <akel@xxxxxxxxxxx>, Sini Ruohomaa <siruohom@xxxxxxxxxxxxx>, Freeciv french team <freeciv-fr@xxxxxxxxxx>, Gábor Takács <tg330@xxxxxxxxxxx>, Freeciv Italian Team <slug-freeciv@xxxxxxxxxxxxxx>, SAWADA Katsuya <ama@xxxxxxxxxxx>, Andreas Røsdal <andrearo@xxxxxxxxxxxx>, Mateusz Stefek <matusik_s@xxxxx>, Vasco Costa <vasc@xxxxxxxxxxxxxx>, Dmitriy Genzel <dg@xxxxxxxxxxxx>, Erik Sigra <sigra@xxxxxxx>
Subject: [Freeciv-Dev] Freeciv po file problems.
From: Gaute B Strokkenes <gs234@xxxxxxxxx>
Date: Sat, 10 Aug 2002 23:17:02 +0200

If you're reading this email you're either subscribed to freeciv-dev
or the person mentioned in the Last-Translator field of one of the
Freeciv po files.  Mass-mailing a lot of people like this is not a
very efficient way to communicate, but it is currently the only way.
Hopefully, the soon-to-come freeciv-i18n mailing list will eliminate
this inefficiency.

I'm experimenting with Gettext 0.11.4 and Freeciv.  The biggest
problem is that most of the po files trigger additional warnings in
msgfmt, which then causes make to fail.  This is a serious problem:
people who have gettext 0.11 installed will have problems building
freeciv, regardless of whether we upgrade the version of libintl
bundled with Freeciv or not.

gs234@posleen:~/freeciv/po$ for i in *.po ; do msgfmt -c --statistics $i ; done
da.po:10698: 'msgstr' is not a valid C format string, unlike 'msgid'
msgfmt: found 1 fatal error
msgfmt: de.po: headerfield `Language-Team' missing in header
msgfmt: de.po: headerfield `MIME-Version' missing in header
de.po:306: number of format specifications in 'msgid' and 'msgstr' does not 
match
de.po:1304: 'msgstr' is not a valid C format string, unlike 'msgid'
de.po:4355: number of format specifications in 'msgid' and 'msgstr' does not 
match
de.po:4360: number of format specifications in 'msgid' and 'msgstr' does not 
match
de.po:4377: number of format specifications in 'msgid' and 'msgstr' does not 
match
de.po:5314: number of format specifications in 'msgid' and 'msgstr' does not 
match
de.po:5799: number of format specifications in 'msgid' and 'msgstr' does not 
match
de.po:7930: 'msgstr' is not a valid C format string, unlike 'msgid'
de.po:7958: number of format specifications in 'msgid' and 'msgstr' does not 
match
de.po:10453: number of format specifications in 'msgid' and 'msgstr' does not 
match
de.po:10458: number of format specifications in 'msgid' and 'msgstr' does not 
match
msgfmt: found 13 fatal errors
42 translated messages, 3 fuzzy translations, 2879 untranslated messages.
es.po:800: number of format specifications in 'msgid' and 'msgstr' does not 
match
es.po:2564: number of format specifications in 'msgid' and 'msgstr' does not 
match
es.po:5224: 'msgstr' is not a valid C format string, unlike 'msgid'
msgfmt: found 3 fatal errors
msgfmt: et.po: field `Project-Id-Version' still has initial default value
et.po:6277: number of format specifications in 'msgid' and 'msgstr[1]' does not 
match
et.po:9166: format specifications in 'msgid' and 'msgstr[1]' for argument 1 are 
not the same
msgfmt: found 3 fatal errors
msgfmt: fi.po: field `PO-Revision-Date' still has initial default value
fi.po:1311: number of format specifications in 'msgid' and 'msgstr' does not 
match
fi.po:1422: format specifications in 'msgid' and 'msgstr' for argument 1 are 
not the same
fi.po:2401: number of format specifications in 'msgid' and 'msgstr' does not 
match
fi.po:4932: number of format specifications in 'msgid' and 'msgstr' does not 
match
fi.po:5016: 'msgstr' is not a valid C format string, unlike 'msgid'
fi.po:5728: format specifications in 'msgid' and 'msgstr' for argument 1 are 
not the same
fi.po:11047: 'msgstr' is not a valid C format string, unlike 'msgid'
msgfmt: fi.po: warning: PO file header fuzzy
               warning: older versions of msgfmt will give an error on this
msgfmt: found 8 fatal errors
msgfmt: fr.po: field `Project-Id-Version' still has initial default value
fr.po:1227: 'msgstr' is not a valid C format string, unlike 'msgid'
fr.po:1232: 'msgstr' is not a valid C format string, unlike 'msgid'
fr.po:1251: 'msgstr' is not a valid C format string, unlike 'msgid'
fr.po:4958: 'msgstr' is not a valid C format string, unlike 'msgid'
fr.po:4964: 'msgstr' is not a valid C format string, unlike 'msgid'
fr.po:4969: 'msgstr' is not a valid C format string, unlike 'msgid'
fr.po:5200: 'msgstr' is not a valid C format string, unlike 'msgid'
fr.po:5205: 'msgstr' is not a valid C format string, unlike 'msgid'
fr.po:5227: 'msgstr' is not a valid C format string, unlike 'msgid'
fr.po:5238: 'msgstr[0]' is not a valid C format string, unlike 'msgid'
fr.po:5247: 'msgstr' is not a valid C format string, unlike 'msgid'
fr.po:7559: number of format specifications in 'msgid' and 'msgstr' does not 
match
fr.po:7922: number of format specifications in 'msgid' and 'msgstr' does not 
match
msgfmt: found 14 fatal errors
hu.po:622: number of format specifications in 'msgid' and 'msgstr' does not 
match
hu.po:1150: number of format specifications in 'msgid' and 'msgstr' does not 
match
hu.po:1159: 'msgstr' is not a valid C format string, unlike 'msgid'
hu.po:1164: 'msgstr' is not a valid C format string, unlike 'msgid'
hu.po:1174: 'msgstr' is not a valid C format string, unlike 'msgid'
hu.po:1183: 'msgstr' is not a valid C format string, unlike 'msgid'
hu.po:1192: number of format specifications in 'msgid' and 'msgstr' does not 
match
hu.po:1212: number of format specifications in 'msgid' and 'msgstr' does not 
match
hu.po:1217: number of format specifications in 'msgid' and 'msgstr' does not 
match
hu.po:1236: 'msgstr' is not a valid C format string, unlike 'msgid'
hu.po:1246: 'msgstr' is not a valid C format string, unlike 'msgid'
hu.po:1253: 'msgstr' is not a valid C format string, unlike 'msgid'
hu.po:1264: 'msgstr' is not a valid C format string, unlike 'msgid'
hu.po:1271: 'msgstr' is not a valid C format string, unlike 'msgid'
hu.po:1288: 'msgstr' is not a valid C format string, unlike 'msgid'
hu.po:1293: 'msgstr' is not a valid C format string, unlike 'msgid'
hu.po:1321: number of format specifications in 'msgid' and 'msgstr' does not 
match
hu.po:1327: 'msgstr' is not a valid C format string, unlike 'msgid'
hu.po:1344: number of format specifications in 'msgid' and 'msgstr' does not 
match
hu.po:1351: 'msgstr' is not a valid C format string, unlike 'msgid'
hu.po:1358: 'msgstr' is not a valid C format string, unlike 'msgid'
hu.po:1363: number of format specifications in 'msgid' and 'msgstr' does not 
match
hu.po:1368: 'msgstr' is not a valid C format string, unlike 'msgid'
hu.po:1373: 'msgstr' is not a valid C format string, unlike 'msgid'
hu.po:1387: number of format specifications in 'msgid' and 'msgstr' does not 
match
hu.po:1394: 'msgstr' is not a valid C format string, unlike 'msgid'
hu.po:1401: 'msgstr' is not a valid C format string, unlike 'msgid'
hu.po:1411: 'msgstr' is not a valid C format string, unlike 'msgid'
hu.po:1418: 'msgstr' is not a valid C format string, unlike 'msgid'
hu.po:1423: 'msgstr' is not a valid C format string, unlike 'msgid'
hu.po:1430: 'msgstr' is not a valid C format string, unlike 'msgid'
hu.po:1439: number of format specifications in 'msgid' and 'msgstr' does not 
match
hu.po:1445: number of format specifications in 'msgid' and 'msgstr' does not 
match
hu.po:2047: 'msgstr' is not a valid C format string, unlike 'msgid'
hu.po:5047: number of format specifications in 'msgid' and 'msgstr' does not 
match
hu.po:5296: number of format specifications in 'msgid' and 'msgstr' does not 
match
hu.po:5311: number of format specifications in 'msgid' and 'msgstr' does not 
match
msgfmt: hu.po: warning: PO file header fuzzy
               warning: older versions of msgfmt will give an error on this
msgfmt: found 37 fatal errors
it.po:2048: 'msgstr' is not a valid C format string, unlike 'msgid'
msgfmt: found 1 fatal error
ja.po:4361: 'msgstr' is not a valid C format string, unlike 'msgid'
msgfmt: found 1 fatal error
2953 translated messages.
msgfmt: no.po: headerfield `Language-Team' missing in header
msgfmt: no.po: headerfield `MIME-Version' missing in header
no.po:10883: 'msgstr' is not a valid C format string, unlike 'msgid'
msgfmt: found 3 fatal errors
msgfmt: pl.po: headerfield `Language-Team' missing in header
pl.po:2257: 'msgstr' is not a valid C format string, unlike 'msgid'
pl.po:2406: 'msgstr' is not a valid C format string, unlike 'msgid'
msgfmt: found 3 fatal errors
pt.po:11: nplurals = 2...
pt.po:5138: ...but some messages have only one plural form
1806 translated messages, 358 fuzzy translations, 760 untranslated messages.
msgfmt: pt_BR.po: some header fields still have the initial default value
msgfmt: found 1 fatal error
msgfmt: ro.po: headerfield `Language-Team' missing in header
msgfmt: found 1 fatal error
ru.po:5: nplurals = 3...
ru.po:5320: ...but some messages have only one plural form
2417 translated messages, 311 fuzzy translations, 196 untranslated messages.
sv.po:10951: 'msgstr' is not a valid C format string, unlike 'msgid'
sv.po:11618: 'msgstr' is not a valid C format string, unlike 'msgid'
msgfmt: found 2 fatal errors
gs234@posleen:~/freeciv/po$ 

I recommend that all translators install and use Gettext 0.11.4 for
their work.

If you use $ in a c-format string to change the order of certain
arguments, then you now need to use $ on all the format specifiers.
For instance, the following change improves the situation with da.po:

--- da.po~      Sat Aug 10 23:10:02 2002
+++ da.po       Sat Aug 10 23:10:32 2002
@@ -10700,7 +10700,7 @@
 "%s of the %s\n"
 "%s %s: %s"
 msgstr ""
-"%s\n"
+"%1$s\n"
 "%3$ss %2$s\n"
 "%4$s %5$s: %6$s"

Another common problem is the lack of plural translations.  It is
necessary to supply translations of either *all* or *none* of the
plural forms of a message.

-- 
Big Gaute                               http://www.srcf.ucam.org/~gs234/
... I live in a FUR-LINE FALLOUT SHELTER


[Prev in Thread] Current Thread [Next in Thread]