bug-texinfo
[Top][All Lists]
Advanced

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

Re: po_document/pl.iso-8859-2.po file is misplaced


From: Gavin Smith
Subject: Re: po_document/pl.iso-8859-2.po file is misplaced
Date: Thu, 19 Oct 2023 16:51:04 +0100

On Thu, Oct 19, 2023 at 04:59:13PM +0200, Patrice Dumas wrote:
> I think that it tests a case that is relative to the next change in
> Changelog:
> 2023-08-06  Patrice Dumas  <pertusus@free.fr>
> 
>       * tp/Texinfo/Translations.pm (gdt): have the gettext framework convert
>       translated strings to UTF-8, and decode from UTF-8 to internal perl
>       encoding.
> 
> If we use only UTF-8 encoded files, we do not get to see the effect of
> that bug.  That being said, if translation files are all UTF-8, the
> bug and regressions if the test is removed would be harmless.

I see, I hadn't realised that.

As you say, it's a theoretical problem as the other translation files
are all either ASCII or UTF-8.

The important thing is that the current code is correct and that it
is clear how it works.  It seems much clearer now than the previous
version (with both the $encoding and $perl_encoding variables), so is
likely to keep on working correctly.


> > * Add Makefile rules to generate the file.  The commit message says the
> >   file was produced "using iconv and manual edition" so it is not clear
> >   if it is easy to generate the file automatically from pl.po.  If I do
> >   "diff pl.po pl.iso-8859-2.po" then most of the changes are either
> >   recoding of translations or updates to the header fields but there are
> >   a small number of other changes too.
> 
> My feeling that this option should be easily done, I think I did an
> iconv call, and the manual change could easily be a sed one liner, as I
> believe that the only change is to replace
> 
> "Content-Type: text/plain; charset=UTF-8\n"
> by
> "Content-Type: text/plain; charset=ISO-8859-2\n"
> 
> I can try to do some Makefile rules to setup the file.
> 
> We could add a line at the beginning, too, like
> 
> # File automatically generated from pl.po for a text.  This file
> # should not be modified nor be used as a basis for setting up
> # translations, the pl.po file should be used for that.
> 
> 
> But this is not perfect, as you analysed, as we would still install a
> useless file and we would still have a file that looks like the other po
> files that are used for translations but is not.  

It may not do any harm to install the ISO-8859-2 file and have it available
to use for translations.  It just creates a question for anybody looking
at the list of files of what this file is and where it has come from.

> One option would be to make that test manual, have a script to setup the
> pl.iso-8859-2.po file, run the test and remove the file.  A bit like
> tex-html tests tests, but with cleanup in addition.

The rules under po_document/Makefile.in.in build the *.gmo files and
the script would have to replicate that:

$ touch pl.iso-8859-2.po
$ make pl.iso-8859-2.gmo
rm -f pl.iso-8859-2.gmo && /usr/bin/msgmerge --for-msgfmt -o pl.iso-8859-2.1po 
pl.iso-8859-2.po texinfo_document.pot && /usr/bin/msgfmt -c --statistics 
--verbose -o pl.iso-8859-2.gmo pl.iso-8859-2.1po && rm -f pl.iso-8859-2.1po
pl.iso-8859-2.1po: 204 translated messages.

Then the rules in tp/Makefile.docstr copy the *.gmo files to where they
are used by texi2any.

If that can be replicated, then it might be possible.  Otherwise removing
the test would be the simplest.



reply via email to

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