Provided by: po4a_0.73-2ubuntu1_all 

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 welke categorie extra debug-berichten moet
worden weergegeven. Mogelijke waarden zijn: "entities", "generic", "onsgml", "refs" en "tag".
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, d.w.z. die moeten worden vertaald.
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. Dit zal het inspringen in het
resulterende document beïnvloeden.
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 een msgid maken met alleen de inhoud ervan (en dit is
meestal geen hele zin), wat slecht is.
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|bbb>lang" om "lang"-attributen enkel te vertalen wanneer deze zich binnen
een tag "<aaa>" of "<bbb>" bevinden.
qualify
Een door spaties gescheiden lijst met attributen waarvoor de vertaling moet worden gekwalificeerd
door de naam van het attribuut, dat wil zeggen dat de tekst die wordt geëxtraheerd voor de vertaling
zowel de naam van het attribuut als de waarde ervan zal bevatten. bijv. voor een tag als "<aaa
lang_en="foo">" zullen vertalers de string "lang_en="foo"" te zien krijgen.. Merk op dat dit 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 vertalers. Het activeren van deze optie voorkomt deze optimalisatie. Dit kan
nuttig zijn als het document een constructie bevat, zoals "<title>Á</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 als de
originele. 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 uitvoer van onsgmls wil 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 v2.0 of recenter (zie het bestand COPYING).
perl v5.38.2 2024-08-28 LOCALE::PO4A::SGML.3PM(1)