Hello,

Le samedi 06 août 2022 à 06:20 +0200, Helge Kreutzmann a écrit :
> 
> On Sat, Aug 06, 2022 at 12:23:48AM +0200, Martin Quinson wrote:
> > the short answer is that po4a-gettextize is not intended to be used on a
> > regular
> > basis. It's only intended for the first run when you want to convert an
> > existing
> > translation to the po-based workflow. Once it's done, you're supposed to use
> > po4a-updatepo to create an empty PO file. Even better, you should use po4a
> > directly instead of the deprecated atomic commands.
> 
> Ok, so this would be incorrect usage in sgt-puzzles? It did work for
> the past ~ 13 years. Then it might be helpful to add a note that
> certain use cases are not working anymore.
> 
> Should this bug be cloned to sgt-puzzles for updating its
> infrastructure?

The fact is that I never imagined that someone would use po4a-gettextize on a
regular basis, to create the empty POT file. I would have added a note in the
changelog if I knew. I see the intend now, but this is not a usecase that I plan
to maintain. I just added a check to po4a-gettextize which makes it break if you
call it without localized files, as you would do to generate the empty POT
files.

My rational here is that the gettextization (ie, the resynchronization of a
master file and a localized file to generate a valid PO file that can be used
afterward in a po4a-based workflow) is a really tedious process. I prefer the
po4a-gettextize script to dedicate to this usage, trying to smooth it as much as
possible. This is not really compatible with its use as in sgt-puzzles.

So, yes, the infrastructure of sgt-puzzles should be updated as it will fail
with the next upcoming release of po4a. Sorry about that. The easiest should be
to simply use po4a-updatepo with an unexistant POT file instead of po4a-
gettextize, but the best would be to write a simple po4a.conf file and switch to
the integrated po4a program. Invoking `make -f Makefile.doc update-po` now fails
with the following error message:

| You must provide both master files and localized files to po4a-gettextize, as 
| it is intended to synchronize master files and previously existing 
translations.
| If just want to extract POT files of your master files, please po4a-updatepo.
| But the most convenient way of using po4a is to write a po4a.conf file and use
| the integrated po4a(1) program.

Changing po4a-gettextize to po4a-updatepo seems to fix everything.

> > The extra spaces that you see are intended to help the gettextization
> > process, as explained in the po4a-gettextize manpage.
> 
> At least I don't fully understand this text, even though I translated
> it. (See below)
> 
> > I'm not sure of how I can help you here. What piece of documentation should
> > be updated?
> 
> 
> What is missing here is how and when these strings are merged back, i.e. what
> the translator or package maintainer should do to get to the desired
> situation (i.e. each string only appearing once). 

I tried to rewrite the documentation and apply your comments. Please check the
new version and report any remaining issue.
https://github.com/mquinson/po4a/blob/master/po4a-gettextize#L24


> Could you add an example here? I.e. like I did below with my example?
> In your text above (in the e-mail) you state that you should use 
> po4a-updatepo or po4a, here you mention msgmerge. Probably clarifying 
> this would help as well.

I didn't add any example, but the new text is much more detailed so maybe that's
enough?

Thanks for your precious feedback,
Mt
> 

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to