[freeciv-i18n] Freeciv po files
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
Hi all!
I want to continue this thread here.
The problem that Gaute has pointed out, thus the presence or not of
the -c parameter in the msgfmt command, seems an important improvement
to me.
Thus I suggest to modify po/Makefile.in.in and add the -c check to the
relevant line.
(I've added a patch to this mail)
The introduction of this check will help i18n work and translators to
not make mistakes, and the only drawback I see in this choice is to
limit a bit the choices of the translators (because they can't change
the number of % parameters in a c-string) and that it will broke the cvs
compilation until all the actually broken .po files are checked and
corrected. (at the moment they are da.po, de.po, et.po, fi.po, fr.po,
hu.po, no.po, pt.po, pt_BR.po, ro.po, ru.po, sv.po).
But looking to the errors, many of them are untranslated plurals,
malformed headers and obviously mismatched c-format, and quite all of
them can be solved even without knowledge of the relevant language.
I can even try to submit patches to make the msgfmt -c command happy
(without assuring the the foreign translation will be perfect,
obviously...)
An example:
de.po:5255: number of format specifications in 'msgid' and 'msgstr' does
not match
This error is triggered by this translation:
#: server/unittools.c:1902
#, c-format
msgid "Game: %s lost to an attack by %s's %s%s."
msgstr "Spiel: %s beim Angriff von %ss %s verloren."
(notice the lack of %s%s in the translation)
I using this instead completely wrong (in german?)
#: server/unittools.c:1902
#, c-format
msgid "Game: %s lost to an attack by %s's %s%s."
msgstr "Spiel: %s beim Angriff von %ss %s%s verloren."
(I say this because some lines after the relevant one, there is this
translation:
#: server/unittools.c:1931
#, c-format
msgid "Game: You lost %d unit to an attack from %s's %s%s."
msgid_plural "Game: You lost %d units to an attack from %s's %s%s."
msgstr[0] "Spiel: %d Einheiten bei einem Angriff von %ss %s%s verloren."
(which is wrong because it has only 1 plurar but has the %s%s
verloren...)
even if german singular and plural forms are equal in this case, the
correct .po file should be:
#: server/unittools.c:1931
#, c-format
msgid "Game: You lost %d unit to an attack from %s's %s%s."
msgid_plural "Game: You lost %d units to an attack from %s's %s%s."
msgstr[0] "Spiel: %d Einheiten bei einem Angriff von %ss %s%s verloren."
msgstr[1] "Spiel: %d Einheiten bei einem Angriff von %ss %s%s verloren."
And this can be done wherever is necessary.
What other translators/maintainers think?
Ciao, Davide
-- Attached file included as plaintext by Ecartis --
-- File: msgmft-c.patch
--- freeciv/po/Makefile.in.in Sat Jun 16 01:12:58 2001
+++ freeciv-work/po/Makefile.in.in Wed Aug 21 11:27:24 2002
@@ -69,7 +69,7 @@
.po.gmo:
file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \
- && rm -f $$file && $(GMSGFMT) --statistics -o $$file $<
+ && rm -f $$file && $(GMSGFMT) -c --statistics -o $$file $<
all: all-@USE_NLS@
|
|