Re: Doc Translations



Hi Karl,

Today at 14:55, Karl Eichwalder wrote:
>
> There is another issue with entity resolution.  Usually one want to
> preserve those in the original and the translation - but things like 
>
> <!ENTITY appversion "2.1.6">
> <!ENTITY manversion "2.1.0">
> <!ENTITY app "Bug Buddy">
> ...
[snip]
>
> will get resolved to their literal values in the .pot file:
[snip]
>
> This will cause unnecessary fuzzies once entity vulues change.

Well, actually, this was done *on purpose* because that's the only way
to have it work for all languages, taking current usage of entities
into account.

In the example you cite, &app; will be used in different contexts,
and in some languages, it would take different forms depending on the
declination.

Eg. "With &app; ..." should be translated differently from "&app;
is..." in Serbian.  With &app; being "Bug Buddy", corresponding
translations would be "Sa *Bratom buba* ..." and "*Brat buba* je..."

It would be even easier for me (in terms of code) not to have to cope
with this (I even had to do some terrible hacks to achieve this
behaviour), but it wouldn't solve all the problems like the one above.  
The alternative is to keep entities here, and let translators
omit them if they feel like it, but that means I'd need to provide
more messages which will be entity translations, along with a
translators' comment indicating what entity this message is about.

When we get to that, we should probably allow translators to define
their own entities, and so forth.  But PO format is simply not that
well suited to encapsulate entire XML format.

Of course, I may be missing something obvious, so feel free to point
that out to me.  Perhaps an option that will stop expanding
entities?  That's not difficult to add, but the idea is that xml2po
gets used without any special options for Gnome documentation, or some
of the predictability would be lost.

FWIW, there's also a simple way to solve system-entities problem I
described earlier: simply parse entire XML while *expanding* external 
entities (this is a one-line change to the code, to turn this
behaviour of libxml2 on).  It means you won't be able to merge
translations back into multiple files, but only one.

Cheers,
Danilo


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