[Po4a-devel] po4a beginner questions
Nicolas François
nicolas.francois at centraliens.net
Sun Oct 8 20:22:26 UTC 2006
On Sun, Oct 08, 2006 at 05:07:11PM +0200, Heiner wrote:
> On Sunday 08 October 2006 14:24, Nicolas François wrote:
>
> > > The second, more
> > > important is, why this ends with a double "larger than". The source code
> > > was:
> > >
> > > <mediaobject><imageobject><imagedata fileref="apicture.png"
> > > format="PNG"/> </imageobject></mediaobject>
> >
> > Not in the source you sent:
> > <mediaobject>
> > <imageobject>
> > <imagedata fileref="apicture.png" format="png">>
> > </imageobject>
> > </mediaobject>
>
> Definitely not. If I download
> http://lists.alioth.debian.org/pipermail/po4a-devel/attachments/20061008/20d21c4d/test_chapter.bin
>
[...]
>
> There was definiately an /> converted into a >> !
Sorry, my bad. I checked the generated file;(
I think nsgmls is troubled by the XML file it receives.
<imagedata fileref="apicture.png" format="png"/>
is, according to the output of nsgmls, equivalent to
<imagedata fileref="apicture.png" format="png">>
(i.e. '/' closes the tag, and the remaining '>' is just an additionnal
character)
This is of course not the case in a XML file (but here, it is interpreted
as an SGML file).
I will try to support it anyway since I would like this module to be able
to deal with XML also (but I've not been successful in doing this this
afternoon). Maybe I could support it with an option.
> > When I run po4a with the file you sent, the line references I get are:
> >
> > #: testproj.xml:45 test_chapter.xml:4
> >
> > (So it needs a little fix, the string is really on line 6).
> > Can you check again. Maybe it's a difference in the dependencies of po4a
> > (I'm thinking about nsgmls), which behaves in a different way on FreeBSD.
>
> Not sure what to check here. I did run
>
> /usr/local/bin/po4a-gettextize -f sgml -m ./testproj.xml -p ./testproj.pot
>
> again but with the same result. Most entries from test_chapter.xml were listed
> as
>
> #: ./testproj.xml:41
>
> Some from the end of test_chapter.xml as
>
> #: ./testproj.xml:45 ./test_chapter.xml:11
OK.
The line references are not perfect, but it seems they are better now.
I can't tell you wether it due to my version of nsgmls (1.3.4-1.2.1-47)
or po4a (0.28)
I'm joining the POT file generated on my system.
The line references are just helpers.
There could be some improvements: here testproj.xml:45 could be removed
(it is the reference of the line where the test_chapter.xml file is
included). Also the line numbers are not always exact.
> > However, note that doing this with po4a is quite difficult in the sgml
> > module. (due to sgml conditionnals, po4a is used to deal with invalid
> > files (tags closed twice, etc.)).
> > I would prefer to have an option to run an external program to check the
> > generated files.
>
> Whatever you plan to do here, it should work on the .po file entry level! In
> other words it should say: "your translation of ....
> in ./testproj.xml:45 ./test_chapter.xml:30 is wrong, as it breaks the xml
> syntax or semantic rules". It does not help if it states during
> po4a-translate, that the result xml files has an unterminated <whatever> tag.
> Finding the wrong translation in the .po will probably last forever!
Another option could be to use some of the tools from the
translate-toolkit (or pootle, I don't remember), which perform some of
these checks, if I recall correctly.
Kind Regards,
--
Nekral
More information about the Po4a-devel
mailing list