[Po4a-devel] Markup text alignment interoperability problem between versions 0.42 and 0.45 (debian)

chals chals at chalsattack.com
Sat May 17 15:28:25 UTC 2014


Hi,

First of all, can you please CC me as I'm not subscribed to your mailing list?

My name is Carlos Zuferri and I contribute to the debian project
translating documentation. I mainly translate the contents of
live-manual, so the information below refers to it. live-manual uses a
markup language that is very similar to markdown. For example for
monospace #{text}#, for bold *{text}* and other similar features.

I do not know if I have stated the title of this message correctly.
With "alignment" I mean "text justification". Let's see if I can
explain the situation correctly. (The operating system is debian.)

Debian wheezy includes po4a version 0.42-1
Debian jessie/sid include po4a version 0.45-1

Version 0.45 aligns marked up text like this:

I copy and paste an original string from a .po file (taken from the
Polish translation):

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

Now I copy and paste the same string after processing it with po4a 0.45:

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

This "alignment" thing changes hundreds and hundreds of strings in
dozens of .po files.

Even though at first I thought that this was a bug, I finally accepted
the fact that it could be a very nice feature since it really does
improve readability.

But then the problems begin. If a translator uses po4a version 0.45
and pushes all the changed strings in the .po files to git and
anonther translator using po4a 0.42 pulls, and then makes changes, the
alignment is reverted and so all the strings and po files go back to
the original state. I copy and paste the same strings as above after
processing them with 0.42:

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

So as you can see it is a catch 22 situation in the sense that strings
are modified once and again meaninlessly.

I really do not know if this is just a problem of text justification
(in terms of line length) or that po4a has a certain algorithm that
makes it act this way. Maybe it has to do with the upstream gnu
gettext. By the way, I forgot to say that the same thing happens in
another case, and this time it is not a markup feature. In live-manual
there is one instance of the word "files" written as "file(s)" this
word is also aligned.

So far we have worked around this issue by mainly using just wheezy
and being very careful what to commit to git and what not, but there
is one translator that is using the jessie/sid version and pushing
"everything" a bit carelessly, causing the problem mentioned above. Is
there anything that we can do (configuration wise) to avoid this?

Sorry for the long e-mail. I hope I have been able to explain the
problem correctly. To finish with, let me post some links to the git
repo in case someone fancies to take a look at it:

http://live.debian.net/gitweb/?p=live-manual.git;a=shortlog;h=refs/heads/debian-next

The po4a related makefile:

http://live.debian.net/gitweb/?p=live-manual.git;a=blob;f=manual/Makefile;h=fc580580d07034df0a67e7d0659f303378e83370;hb=0d4dd2bace45da49d48b0ea9be9c0b54ed698153

And in more detail, the diff of the example I have used in this email:

http://live.debian.net/gitweb/?p=live-manual.git;a=commitdiff;h=0d4dd2bace45da49d48b0ea9be9c0b54ed698153#patch15

Thank you very much for your patience and great work :)

-- 
chals
www.chalsattack.com
chals at chalsattack.com



More information about the Po4a-devel mailing list