2009/10/1 Ruediger Landmann <r.landmann(a)redhat.com>:
On 10/01/2009 10:47 PM, Paul W. Frields wrote:
>
> On Thu, Oct 01, 2009 at 08:26:07AM -0300, Domingo Becker wrote:
>
>>
>> We need a tool for checking these xml markups.
>> Is there any?
>>
>
> I *believe* if you're doing translations yourself by checking out
> stuff from the original tree (i.e. a clone of the repo), you can run
> 'make test-xml-es-ES' to check the validity of the XML from the
> translation.
>
Close -- 'make test-es-ES', /in theory/ anyway. Unfortunately, that doesn't
actually work because Publican doesn't understand the big, merged PO files
that translators are working with. Translators would need to split the
single, big PO files to refresh Publican's many little PO files and /then/
run the test.
A few months back, I documented the procedure in a post here to f-t-l: see
[1] and a slight correction [2]. It's certainly achievable, but only for the
brave :)
:-) LOL
Thank you Ruediger and Paul.
I tried to be that brave this morning.
I installed publican and publican-fedora, and I took a look at
Makefile.templates file, from where the target test-LANG comes from.
It builds from xml, which should be first constructed from several po
files that comes from the big es.po file.
I didn't remember Ruediger posts to split the big po file, so I stopped there.
The check made by publican is a complete xml test.
But to submit translations file, we need a simpler test that only
checks for xml/html tags in msgstr strings. If there is a <tag> there
should be a </tag>. Malformed tags like "<tag" shouldn't be
accepted,
and characters "<" and ">" should be escaped for po files to be
used
with tools like publican. Just that, perhaps in poEdit or other l10n
tool. And leave the semantic checking to Publican's test-LANG target.
It seems there is no such a tool.
But it would help a lot to new translators.
If it's not difficult to do, it may be a command line tool to check a
po file before submission in Transifex, for files to be used in
Publican-like tools (a new field in the project's record in the
database to indicate that it's necessary to do that check before
accepting the file).
I will try again later.
kind regards
Domingo Becker (es)