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

On how can the current different po4a and gettext versions affect live-manual translation workflow



Hi,

This message is mainly informative but I thought it could be of
interest for some people. First of all, let's make these things clear:

- This situation has been known for a very long time, possibly months.
So nothing really new. At first I thought that it was just a bug, but
after some time I realized it is, in fact, a feature. The following
facts do not break the post-processing of the manuals in any of the
supported formats.

- I will make reference to jessie/sid which are work in progress, so
the situation can change at any time.

- Initially, the title of the message should have been "On how can the
current different po4a and gettext versions affect live documentation
workflow" but after doing some testing I see that it does not seem to
affect the creation of manpages. It can still potentially affect them
though, there are cases in which the .po could be affected. But this
is not the main topic of this message.

Let's go straight to the point now. live-manual uses po4a which in
turn uses gettext. po4a's version in wheezy is 0.42 and po4a's
versions in jessie/sid are 0.45.

The text alignment or text justification algorithm in both versions is
different. Version 0.42 splits non-alphanumeric symbols whereas
version 0.45 does not split them. So:

If someone regenerates the manuals (using the makefile) with po4a 0.45
there are hundreds of strings from dozens of po files that are changed
in the po files. I copy and paste a string from the Polish translation
to provide an actual example (The relevant stuff is the markup of
#{LIVE_}#):

This actual string:

"_* Zmienne dotyczące parametrów startowych live-config zaczynają się od #"
"{LIVE_}#."

Turns into this:

"_* Zmienne dotyczące parametrów startowych live-config zaczynają się od "
"#{LIVE_}#."

If someone pulls those changes, and makes changes to the manual with
version 0.42 those strings would be reverted and:

This actual string:

"_* Zmienne dotyczące parametrów startowych live-config zaczynają się od "
"#{LIVE_}#."

Would turn into this again:

"_* Zmienne dotyczące parametrów startowych live-config zaczynają się od #"
"{LIVE_}#."

And so on and so forth. We are caught in an endless loop of
meaningless changes. So far this was not a big deal since we mostly
stuck to wheezy's version, but lately there seems to be more activity
in the translations, and thus different versions of software.

I sent an email to the po4a developers to ask them if there was a way
of avoiding this. po4a developers have been very attentive and quick
to respond, but there does not seem to be a way to make different
versions to have the same behaviour in this respect. You can see the
thread here in case you are interested in reading the details:

http://lists.alioth.debian.org/pipermail/po4a-devel/2014-May/002251.html

As a workaround, victory proposed installing gettext from wheezy
backports (which currently is 0.18.3-1) This addition makes po4a's
version 0.42 behave exactly in this respect as if it were version
0.45. I have tested it on two wheezy installations and it seems to
work fine.

No one can assure whether this workaround will still be valid in the
long run but it would certainly avoid problems as of now. Anyway, the
strings should be changed once and pushed.

Sorry for the long message.

-- 
chals
www.chalsattack.com
chals@chalsattack.com


Reply to: