[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Announce of the upcoming NMU for the isoqlog package



Christian Perrier wrote:
> > 1) Someone has apparently merged parts of iso_639.pot into the isoqlog.pot
> >    file. This is a *bad* thing, because it causes translators to do duplicated
> 
> 
> I don't think that this is what happened. More likely did the german
> translator use something like:
> 
> msgcat --use-first iso_639_de.po de.po >de-new.po

Something like this, yes. But first, he must have downloaded a POT file
containing translation requests like this:

  msgid "French"
  msgstr ""

Actually I find such a POT file in
  http://i18n.debian.net/material/po/unstable/main/i/isoqlog/debian/po/isoqlog_2.2-0.3_templates.pot.gz

> >    The fix is: Please use the original iso_639 domain, and change your
> >    program to use the 'dgettext' function instead of the 'gettext' function
> >    for this domain. Then remove the iso_639 messages from the isoqlog package.
> 
> So far, this is not easily achievable because of the nature of Debian
> debconf templates translation method.

You know better than me what "templates" are and how they are processed.
If using dgettext is not an option, you can also do it by PO and POT file
manipulations.

Distinguish
   isoqlog_templates-all.pot  - the file containing all messages - and
   isoqlog_templates-spc.pot  - the file containing only the messages
                                specific to isoqlog.

You know how to generate isoqlog_templates-all.pot - that is what you
currently generate.

For a translator, it's better to see only isoqlog_templates-spc.pot.

So, you can convert isoqlog_templates-all.pot into isoqlog_templates-spc.pot,
like this:

  xgettext -o isoqlog_templates-spc.pot \
           -x iso_639.pot isoqlog_templates-all.pot

You send this out to the translators. What comes back from the translator,
is, say, isoqlog_templates-spc-${lang}.po. From the iso-639 package you
also have a iso_639-${lang}.po. You combine and merge them like this:

  msgmerge -o isoqlog_templates-all-${lang}.po \
           -C iso_639-${lang}.po isoqlog_templates-spc-${lang}.po \
           isoqlog_templates-all.pot

or like this:

  msgcat --use-first -o temp.po isoqlog_templates-spc-${lang}.po iso_639-${lang}.po
  msgmerge -o isoqlog_templates-all-${lang}.po \
           temp.po isoqlog_templates-all.pot

This gives you the complete isoqlog_templates-all-${lang}.po, without having
to bother the translators about retranslation.

Put this into your Makefile, and the problem is solved.

Bruno



Reply to: