On Thu, 2006-05-18 at 18:00 -0500, Tommy Reynolds wrote: > Doesn't seem to break anything, so I'll apply it. > > Paul, what exactly does avoiding the symlink accomplish? I didn't do a very good job of explaining my theory, apparently. :-( Let me try again. Take for instance the following module: mydoc/en_US/mydoc.xml (PRI_LANG = en_US) mydoc/po/mydoc.pot mydoc/po/el.po (OTHERS = el) Assume that mydoc/en_US/fdp-entities.ent gets generated properly and is referenced in the internal subset of the mydoc.xml DTD declaration, and that mydoc.xml uses it for things like &FC;, &FP;, and so on: ... <!ENTITY % FDP-ENTITIES SYSTEM "fdp-entities.ent"> ... Further, to make the example really detailed for the benefit of onlookers, imagine it contains, among other stuff, the following element where the en_US version of entity "FP" is "Fedora Project": <para>Behold the &FP;.</para> We are now using 'xml2po -e' instead 'xml2po -k' so that the entities get parsed/expanded instead of kept in the POT file. So the POT file has a msgid that looks like this: msgid "Behold the Fedora Project." In Elbonian (el.po) this has been translated to: msgstr "Beholden dem dar Projecto Fedora." If you use the link method which my patch eliminates, you first create a link: mydoc/el/mydoc.xml.in -> mydoc/en_US/mydoc.xml ...which is well and good, but keep in mind that part of the XML file building *previous* to that creates the following link: mydoc/el/fdp-entities.ent -> ../../docs-common/common/entities/entities-el.ent So when it comes time to run 'cd po/ && xml2po -e -p el.po ../el/mydoc.xml.in > ../el/mydoc.xml', what you end up with is xml2po reading the original element and converting it thus, since it serializes before it translates (which is proper behavior): <para>Behold the Projecto Fedora.</para> Now we have no msgid that matches this element, so it doesn't get translated -- or rather, it gets "translated" haphazardly in that the parsed entity uses the Elbonian version. This causes the behavior Hugo et al. were seeing, if my theory is correct. Instead, we want to simply allow the entities to be parsed in the original PRI_LANG domain, and the msgid's will now match up properly for translation. This way of doin' bidness should allow us to concentrate on using entities simply for consistency and ease of use in the PRI_LANG version only. It also follows the "way o' simplicity," hopefully. Hope this wasn't pedantic, or if it was, that someone else got something out of it. ;-) -- Paul W. Frields, RHCE http://paul.frields.org/ gpg fingerprint: 3DA6 A0AC 6D58 FEC4 0233 5906 ACDB C937 BD11 3717 Fedora Documentation Project: http://fedora.redhat.com/projects/docs/
Attachment:
signature.asc
Description: This is a digitally signed message part
-- fedora-docs-list@xxxxxxxxxx To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-docs-list