Provided by: po4a_0.67-2_all bug

NAAM

       Locale::Po4a::Sgml - SGML-documenten van/naar PO-bestanden converteren

BESCHRIJVING

       Het doel van het project po4a (PO voor alles) is om de vertaalwerkzaamheden (en
       interessanter nog, het onderhoud van vertalingen) te vergemakkelijken met behulp van
       gettext-hulpmiddelen in domeinen waarin deze niet meteen verwacht worden, zoals
       documentatie.

       Locale::Po4a::Sgml is een module ter ondersteuning van de vertaling van documentatie in de
       SGML-indeling naar andere [menselijke] talen.

       Deze module gebruikt onsgmls(1) om de SGML-bestanden te ontleden. Zorg ervoor dat dit
       geïnstalleerd is. Zorg er ook voor dat de DTD van de SGML-bestanden op het systeem
       geïnstalleerd zijn.

MOGELIJKE OPTIES BIJ DEZE MODULE

       debug
           Door spaties gescheiden lijst met trefwoorden die aangeven welk deel u wilt debuggen.
           Mogelijke waarden zijn: tag, generic, entities en refs.

       verbose
           Meer informatie geven over wat gaande is.

       translate
           Door spaties gescheiden lijst van extra tags (naast de door DTD verstrekte tags)
           waarvan de inhoud een extra msgid moet vormen.

       section
           Door spaties gescheiden lijst van extra tags (naast de door DTD verstrekte tags) die
           andere tags bevatten, waarvan sommige van categorie translate zijn.

       indent
           Door spaties gescheiden lijst met tags die het insprongniveau verhogen.

       verbatim
           Binnen deze tags mag de opmaak niet gewijzigd worden. Op de alinea zal geen
           regelafbreking toegepast worden en er zal geen extra insprongruimte en geen nieuwe
           regel toegevoegd worden voor cosmetische doeleinden.

       empty
           Tags welke niet gesloten moeten worden.

       ignore
           Genegeerde tags welke door po4a beschouwd worden als gewone lettertekens. Dit wil
           zeggen dat zij deel kunnen uitmaken van een msgid. Bijvoorbeeld is <b> een goede
           kandidaat voor deze categorie, want dit plaatsen in de sectie translate (vertalen),
           zou msgid's creëren welke geen volledige zinnen zijn, en dat is niet goed.

       attributes
           Een door spaties gescheiden lijst met attributen welke vertaald moeten worden. U kunt
           de attributen bij hun naam opgeven (bijvoorbeeld "lang"), maar u kunt ze ook laten
           voorafgaan door een hiërarchie van tags, om aan te geven dat dit attribuut enkel
           vertaald zal worden wanneer het zich binnen de opgegeven tag bevindt. Bijvoorbeeld:
           <bbb><aaa>lang geeft aan dat het attribuut lang enkel vertaald zal worden als het zich
           binnen een <aaa>-tag bevindt, welke zich op zijn beurt binnen een <bbb>-tag moet
           bevinden. De namen van tags zijn eigenlijk reguliere expressies, en dus kunt u ook
           zaken schrijven zoals <aaa|bbbb>lang om het attribuut lang enkel te vertalen wanneer
           het zich binnen een tag <aaa> of <bbb> bevindt.

       qualify
           Een door spaties gescheiden lijst met attributen waarvoor de vertaling moet worden
           gekwalificeerd door de naam van het attribuut. Merk op dat deze optie ook automatisch
           het gegeven attribuut toevoegt aan de lijst met attributen.

       force
           Doorgaan, zelfs als de DTD onbekend is of als onsgmls fouten vindt in het
           invoerbestand.

       include-all
           Standaard worden msgid's, welke slechts één entiteit (zoals '&version;') bevatten,
           overgeslagen voor het comfort van de vertaler. Het activeren van deze optie voorkomt
           deze optimalisatie. Dit kan nuttig zijn als het document een constructie bevat, zoals
           "<title>&Aacute;</title>", hoewel ik eraan twijfel dat dergelijke zaken ooit
           voorkomen...

       ignore-inclusion
           Door spaties gescheiden lijst van entiteiten die niet worden geïntegreerd in de tekst.
           Gebruik deze optie voorzichtig: ze kan ervoor zorgen dat onsgmls (dat intern gebruikt
           wordt) tags toevoegt en het uitvoerdocument ongeldig maakt.

STATUS VAN DEZE MODULE

       Het resultaat is perfect. Dat wil zeggen dat de gegenereerde documenten exact hetzelfde
       zijn. Maar er zijn nog steeds enkele problemen:

       • Standaard wordt de foutuitvoer van onsgmls omgeleid naar /dev/null, wat duidelijk niet
         goed is. Ik weet niet hoe dit vermeden kan worden.

         Het probleem is dat ik de voorwaardelijke insluitingen (d.w.z. de zaken "<! [ %foo [" en
         "]]>") moet "beschermen" tegen onsgmls. Anders eet onsgmls ze op, en ik weet niet hoe ik
         ze moet herstellen in het uiteindelijke document. Om dat te voorkomen, herschrijf ik ze
         naar "{PO4A-beg-foo}" en "{PO4A-end}".

         Het probleem hiermee is dat de "{PO4A-end}" en dergelijke, welke ik toevoeg, ongeldig
         zijn in het document (behalve in een <p>-tag of zo).

         Indien u de onsgmls-uitvoer wilt zien, moet u gewoon het volgende toevoegen aan uw
         commandoregel (of in de po4a configuratieregel):

           -o debug=onsgmls

       • Het werkt enkel met de DebianDoc en DocBook DTD. Ondersteuning toevoegen voor een nieuwe
         DTD zou makkelijk moeten zijn. het mechanisme is hetzelfde voor elke DTD. U dient gewoon
         een lijst op te geven met de tags en bepaalde van hun karakteristieken.

         Ik ga ermee akkoord dat dit wat meer documentatie kan gebruiken, maar het wordt nog
         steeds als bèta beschouwd en ik heb er een hekel aan om documentatie te maken voor zaken
         die kunnen/zullen veranderen.

       • Waarschuwing: ondersteuning voor DTD's is eerder experimenteel. Ik las geen enkele
         referentiehandleiding om de definitie te vinden van elke tag. Ik voegde aan de module
         tag-definities toe tot ze werkte voor sommige documenten die ik op het internet vond.
         Indien in uw document meer tags gebruikt worden dan in het mijne, zal het niet werken.
         Maar zoals ik hiervoor reeds zegde, zou het redelijk makkelijk moeten zijn om dit aan te
         passen.

         Ik testte DocBook enkel met de SAG (System Administrator Guide), maar dit is een
         behoorlijk groot document en het zou gebruik moeten maken van de meeste van de
         specifieke kenmerken van DocBook.

         Voor DebianDoc testte ik met een aantal handleidingen van het DDP, maar nog niet met
         allemaal.

       • In het geval er bestanden ingesloten worden, zullen de tekstfragmentreferenties van
         berichten in PO-bestanden (d.w.z. regels zoals "#: en/titletoc.sgml:9460") fout zijn.

         Dit is omdat ik een voorbehandeling toepas op het bestand om de voorwaardelijke
         insluitingen (d.w.z. de zaken "<! [ %foo [" en "]]>") en sommige entiteiten (zoals
         &version;) af te schermen voor onsgmls, omdat ik ze woordelijk in het gegenereerde
         document wil. Om die reden maak ik een tijdelijke kopie van het invoerbestand waarop ik
         alle gewenste veranderingen aanbreng, vooraleer ik dat ter ontleding doorgeef aan
         onsgmls.

         Om dit te laten werken, vervang ik de entiteiten die vragen om de insluiting van een
         bestand, door de inhoud van het gegeven bestand (zodat ik ook in een subbestand de zaken
         die moeten afgeschermd worden, kan afschermen). Maar voorlopig werd nog niets gedaan om
         achteraf de referenties te corrigeren (d.w.z. bestandsnaam en regelnummer). Ik weet niet
         zeker wat er best gedaan zou kunnen worden.

AUTEURS

       Deze module is een aanpassing van sgmlspl (SGML postprocessor voor de ONSGMLS-ontleder).
       Deze was:

        Copyright © 1995 David Megginson <dmeggins@aix1.uottawa.ca>

       De aanpassing voor po4a gebeurde door:

        Denis Barbier <barbier@linuxfr.org>
        Martin Quinson (mquinson#debian.org)

COPYRIGHT EN LICENTIE

        Copyright © 1995 David Megginson <dmeggins@aix1.uottawa.ca>.
        Copyright © 2002-2005 SPI, Inc.

       Dit programma is vrije software; u kunt het verder verspreiden en/of aanpassen onder de
       bepalingen van de GPL (zie het bestand COPYING).