Provided by: po4a_0.66-1_all bug

NAAM

       Locale::Po4a::Man - man-pagina's 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::Man is een module ter ondersteuning van de vertaling van documentatie in de nroff-indeling
       (de taal die voor man-pagina's gebruikt wordt) naar andere [menselijke] talen.

VERTALEN MET PO4A::MAN

       Deze module doet er alles aan om het leven van de vertaler gemakkelijker te maken. Daarvoor is de tekst
       die aan vertalers wordt voorgelegd geen letterlijke kopie van de tekst van de man-pagina. De ruwere
       onderdelen van de nroff-indeling worden inderdaad verborgen gehouden, zodat vertalers ze niet kunnen
       verknoeien.

   Regelafbreking
       Op paragrafen die niet inspringen wordt ten behoeve van vertalers automatisch regelafbreking toegepast.
       Dit kan leiden tot een aantal minimale verschillen in de gegenereerde uitvoer, omdat de regels voor
       regelafbreking welke door groff gebruikt worden, niet erg duidelijk zijn. Bijvoorbeeld worden twee
       spaties na een haakje soms behouden.

       Hoe dan ook zit het verschil enkel in de positie van de extra spaties in de inspringende alinea, en ik
       denk dat het dit waard is.

   Lettertypespecificatie
       De eerste wijziging betreft specificaties voor het wijzigen van lettertypes. In nroff zijn er
       verschillende manieren om aan te geven of een bepaald woord moet geschreven worden in klein, vet of
       schuin lettertype. In de te vertalen tekst is er slechts één manier, ontleend aan de POD-indeling (de
       indeling voor onlinedocumentatie van Perl):

       I<tekst> -- schuine tekst
           het equivalent van \fItekst\fP of ".I tekst"

       B<tekst> -- tekst in het vet
           het equivalent van \fBtekst\fP of".B tekst"

       R<tekst> -- tekst in Romeins lettertype
           het equivalent van \fRtekst\fP

       CW<tekst> -- tekst met constante breedte
           het equivalent van \f(CWtekst\fP of ".CW tekst"

       Opmerking:  niet voor alle groff-apparaten is het lettertype CW beschikbaar. Het gebruik ervan wordt niet
       aanbevolen. Het is bedoeld voor uw gemak.

   Automatisch omzetten van lettertekens
       Po4a doet een automatische omzetting van sommige lettertekens om de vertaling en  het  nazicht  ervan  te
       vergemakkelijken. Hier volgt de  lijst van omzettingen:

       koppeltekens
           Koppeltekens (-) en mintekens (\ -) in man-pagina's worden allemaal omgezet naar eenvoudige streepjes
           (-)  in het PO-bestand. Daarna worden alle streepjes omgezet naar roff-mintekens wanneer de vertaling
           ingevoegd wordt in het uitvoerdocument.

           Vertalers kunnen een koppelteken afdwingen door in hun  vertaling  het  roff-letterteken  '\[hy]'  te
           gebruiken.

       spatie zonder regelafbreking
           Vertalers kunnen in hun vertaling gebruik maken van spaties waarbij geen regelafbreking mag toegepast
           worden.  Deze  spaties zonder regelafbreking (0xA0 in latin1) zullen naar roff omgezet worden als een
           spatie zonder regelafbreking ('\ ').

       omzetting van aanhalingstekens
           `` en '' worden respectievelijk omgezet naar \*(lq en \*(rq.

           Om deze omzettingen te voorkomen kunnen vertalers een roff-teken met een breedte  nul  invoegen  (met
           name door respectievelijk `\&` of '\&' te gebruiken).

   In vertalingen '<' en '>' gebruiken
       Aangezien  deze  tekens  worden gebruikt om delen af te bakenen waarvoor een wijziging van het lettertype
       van toepassing is, kunt u ze niet letterlijk gebruiken. Gebruik in  de  plaats  daarvan  E<lt>  en  E<gt>
       (nogmaals zoals in POD).

MOGELIJKE OPTIES BIJ DEZE MODULE

       De volgende opties zijn specifiek voor deze module:

       debug
           Debuggen  activeren  voor  sommige  interne mechanismen van deze module. Gebruik de broncode om na te
           gaan voor welke delen debuggen mogelijk is.

       verbose
           De hoeveelheid verstrekte informatie verhogen.

       groff_code
           Deze optie laat toe het gedrag van de module te wijzigen wanneer deze een  sectie  .de,  .ie  of  .if
           tegenkomt. Ze kan de volgende waarden hebben:

           fail
               Dit  is  de  standaardwaarde.  De  module  zal  mislukken  wanneer  een  sectie  .de,  .ie of .if
               aangetroffen wordt.

           verbatim
               Geeft aan dat de secties .de, .ie en .if als zodanig moeten worden gekopieerd van  het  origineel
               naar het vertaalde document.

           translate
               Geeft  aan  dat  de  secties .de, .ie of .if ter vertaling aangeboden zullen worden. Gebruik deze
               optie alleen als er een vertaalbaar tekstfragment in een van deze secties staat. Anders zou u  de
               voorkeur moeten geven aan verbatim.

       generated
           Deze  optie  geeft aan dat het bestand gegenereerd werd en dat po4a niet moet proberen te achterhalen
           of de man-pagina vanuit een andere indeling gegenereerd werd. Dit laat toe om po4a  te  gebruiken  op
           gegenereerde man-pagina's. Bij deze optie kan geen argument gebruikt worden.

       mdoc
           Deze optie is enkel nuttig voor mdoc-pagina's.

           Hiermee selecteert men een meer strikte ondersteuning voor de mdoc-indeling door po4a op te dragen de
           sectie  'NAME'  niet te vertalen. mdoc-pagina's waarvan de sectie 'NAME' vertaald wordt, krijgen geen
           header en footer.

           Volgens de man-pagina groff_mdoc zijn de secties NAME, SYNOPSIS en DESCRIPTION  verplicht.   Er  zijn
           geen  problemen bekend met een vertaalde sectie SYNOPSIS of DESCRIPTION, maar u kunt deze secties ook
           op deze manier aanduiden:
            -o mdoc=NAME,SYNOPSIS,DESCRIPTION

           Dit mdoc-probleem kan ook opgelost worden met een addendum zoals dit:
            PO4A-HEADER:mode=before;position=^.Dd
            .TH DOCUMENT_TITLE 1 "Month day, year" OS "Section Name"

       De volgende opties laten toe het gedrag te specificeren  van  een  nieuwe  macro  (gedefinieerd  met  een
       .de-verzoek)  of  van  een macro welke niet door po4a ondersteund wordt. Zij hebben als argument een door
       komma's gescheiden lijst met macro's. Bijvoorbeeld:

        -o noarg=FO,OB,AR -o translate_joined=BA,ZQ,UX

       Opmerking: indien een macro niet ondersteund wordt door po4a en als u van mening  bent  dat  het  om  een
       standaard roff-macro gaat, signaleer dit dan aan het team ontwikkelaars van po4a.

       untranslated
           untranslated Geeft aan dat deze macro (en zijn argumenten) niet vertaald moet worden.

       noarg
           noarg is zoals untranslated, behalve dat po4a zal verifieren dat er geen argument meegegeven werd aan
           deze macro.

       translate_joined
           translate_joined geeft aan dat po4a de argumenten van de macro ter vertaling moet voorleggen.

       translate_each
           Met translate_each zullen de argumenten ook ter vertaling voorgelegd worden, met dat verschil dat elk
           argument afzonderlijk zal vertaald worden.

       no_wrap
           Deze  optie  krijgt als argument een lijst van door komma's gescheiden paren van begin:einde, waarbij
           begin en einde commando's zijn welke het begin en het einde afbakenen  van  een  sectie  waarvoor  de
           regelafbreking niet overgedaan moet worden.

           Opmerking:  er  wordt  geen  test  uitgevoerd  om  ervoor  te  zorgen dat een einde-commando met zijn
           begin-commando overeenkomt. Elk einde-commando beëindigt de no_wrap-modus. Indien u  een  begin-macro
           (respectievelijk einde-macro) heeft, welke geen einde-macro (respectievelijk begin-macro) heeft, kunt
           u  als  tegenhanger  een bestaand einde (als fi) of een bestaand begin (als nf) opgeven. Deze macro's
           (en hun argumenten) zullen niet vertaald worden.

       inline
           Deze optie specificeert een lijst met door komma's gescheiden  macro's  die  geen  splitsing  van  de
           huidige  alinea  mogen  veroorzaken. Het te vertalen tekstfragment bevat dan foo <.bar baz qux> quux,
           waarbij bar het commando is dat ongesplitst moet blijven, en baz qux zijn argumenten.

       unknown_macros
           Deze optie geeft aan hoe po4a zich moet gedragen wanneer  een  onbekende  macro  wordt  aangetroffen.
           Standaard faalt po4a met een waarschuwing. Deze kan de volgende waarden hebben:  failed (gefaald) (de
           standaardwaarde),  untranslated,  noarg,  translate_joined, or translate_each (zie hierboven voor een
           uitleg bij deze waarden).

MAN-PAGINA'S SCHRIJVEN WELKE COMPATIBEL ZIJN MET PO4A::MAN

       Deze module is nog erg beperkt, en zal dat ook altijd zijn, want  het  is  geen  echte  interpreter  voor
       nroff.  Een  echte  nroff-interpreter  maken,  wat  auteurs  de mogelijkheid zou bieden om alle bestaande
       macro's te gebruiken en er zelfs nieuwe te definiëren in hun pagina's, zou mogelijk zijn, maar dit wilden
       we niet. Dit zou te moeilijk zijn en we dachten dat het niet nodig was. We denken  dat  als  auteurs  van
       man-pagina's  hun  producten  vertaald  willen  zien,  ze zich misschien moeten aanpassen om het werk van
       vertalers te vergemakkelijken.

       En dus heeft de man-paginaontleder die in po4a geïmplementeerd werd, enkele bekende beperkingen, welke we
       niet echt geneigd zijn te verbeteren en welke een aantal valkuilen vormen die u zult moet vermijden als u
       wilt dat vertalers zich om uw documentatie bekommeren.

   Programmeer niet in nroff
       nroff is een volledige programmeertaal met macrodefinities, conditionele  bewerkingen,  enz.  Omdat  deze
       ontleder  geen  volwaardige nroff-interpreter is, zal hij falen bij pagina's welke van deze voorzieningen
       gebruik maken (Op mijn computer staan ongeveer 200 dergelijke pagina's).

   Gebruik de gewone macroset
       Er zijn nog steeds enige macro's die niet ondersteund worden door po4a::man. Dit is  enkel  omdat  ik  er
       geen  enkele  documentatie over kon vinden. Hier volgt de lijst van niet-ondersteunde macro's die op mijn
       computer gebruikt worden. Merk op dat deze lijst niet exhaustief is, omdat het  programma  faalt  bij  de
       eerste  niet-ondersteunde  macro die het tegenkomt. Indien u enige informatie heeft over sommige van deze
       macro's, ben ik graag bereid er ondersteuning voor toe te voegen. Omwille van deze macro's zijn  ongeveer
       250 pagina's op mijn computer niet toegankelijk voor po4a::man.

        ..               ."              .AT             .b              .bank
        .BE              ..br            .Bu             .BUGS           .BY
        .ce              .dbmmanage      .do                             .En
        .EP              .EX             .Fi             .hw             .i
        .Id              .l              .LO             .mf
        .N               .na             .NF             .nh             .nl
        .Nm              .ns             .NXR            .OPTIONS        .PB
        .pp              .PR             .PRE            .PU             .REq
        .RH              .rn             .S<             .sh             .SI
        .splitfont       .Sx             .T              .TF             .The
        .TT              .UC             .ul             .Vb             .zZ

   Tekst verborgen houden voor po4a
       Soms  weet  de  auteur  dat sommige delen niet vertaalbaar zijn en niet geëxtraheerd zouden moeten worden
       door po4a. Bijvoorbeeld kan het zijn dat een optie het argument other kent en dat other ook voorkomt  als
       laatste  item  van  een  lijst.  In  het eerste geval zou other niet-vertaalbaar moeten zijn. Maar in het
       tweede geval zou other wel vertaald mogen worden.

       In een dergelijk geval kan de auteur vermijden dat po4a bepaalde tekstfragmenten extraheert, door gebruik
       te maken van enkele speciale groff-constructen:

        .if !'po4a'hide' .B other

       (dit vereist de optie -o groff_code=verbatim)

       Er kan ook een nieuwe macro gedefinieerd worden om dit te automatiseren:
        .de IR_untranslated
        .    IR \\$@
        ..

        .IR_untranslated \-q ", " \-\-quiet

       (dit vereist de opties -o groff_code=verbatim en -o untranslated=IR_untranslated; met dit construct is de
       voorwaarde .if !'po4a'hide' niet strikt noodzakelijk, omdat po4a de binnenkant van de macrodefinitie niet
       zal ontleden)

       of door een alias te gebruiken:
        .als IR_untranslated IR

        .IR_untranslated \-q ", " \-\-quiet

       Dit vereist de optie -o untranslated=als,IR_untranslated.

   Besluit
       Bij wijze van samenvatting voor dit onderdeel zou men kunnen zeggen: hou het eenvoudig en tracht niet  de
       slimmerik  uit  te  hangen  bij het schrijven van uw man-pagina's. Er zijn veel dingen mogelijk in nroff,
       welke niet ondersteund worden door deze ontleder. Probeer bijvoorbeeld  niet  te  spelen  met  \c  om  de
       tekstverwerking   te  onderbreken  (zoals  40  pagina's  op  mijn  computer  doen).  En  zorg  ervoor  de
       macroargumenten op dezelfde regel te plaatsen als de macro zelf. Ik weet dat dergelijke zaken  toegestaan
       zijn in nroff, maar het zou de ontleder te complex maken om daarmee om te gaan.

       Een andere mogelijkheid is natuurlijk om een andere indeling te gebruiken die meer vertalervriendelijk is
       (zoals POD en daarvoor po4a::pod gebruiken, of een indeling uit de XML-familie, zoals SGML), maar dankzij
       po4a::man  is dat niet meer nodig. Dit gezegd zijnde, als de oorspronkelijke indeling van uw documentatie
       POD of XML is, kan het verstandiger zijn de vertaling  vanuit  deze  oorspronkelijke  indeling  te  laten
       gebeuren  en  niet  vanuit  deze  gegenereerde indeling. In de meeste gevallen zal po4a::man gegenereerde
       pagina's ontdekken en een waarschuwing geven . Het zal zelfs weigeren om uit POD gegenereerde pagina's te
       verwerken, omdat dergelijke pagina's perfect afgehandeld kunnen worden door po4a::pod, en omdat voor  hun
       nroff-tegenhanger  een  heleboel  nieuwe macro's gedefinieerd worden waarvoor ik geen ondersteuning wilde
       schrijven. Op mijn computer werden 1432 van de 4323 pagina's uit POD  gegenereerd  en  deze  zullen  door
       po4a::man genegeerd worden.

       In  de  meeste  gevallen  zal  po4a::man het probleem ontdekken en de pagina weigeren te verwerken en een
       passende melding geven. In enkele zeldzame gevallen zal het programma de verwerking wel uitvoeren  zonder
       te  waarschuwen,  maar  zal  de  uitvoer  fout zijn. Zulke gevallen worden "bugs" genoemd ;) Indien u een
       dergelijk geval tegenkomt, meld het dan zeker, samen met een reparatie, mocht dat kunnen…

STATUS VAN DEZE MODULE

       Deze module kan gebruikt worden voor de meeste van de bestaande man-pagina's.

       Enkele tests worden regelmatig uitgevoerd op Linux-computers:

       •   een derde van de pagina's wordt geweigerd omdat deze gegenereerd werden vanuit  een  andere  indeling
           (bijv. POD of SGML) die door po4a ondersteund wordt.

       •   10%  van  de  overige pagina's worden verworpen met een foutmelding (bijv. omdat een groff-macro niet
           ondersteund wordt).

       •   Voorts wordt minder dan 1% van de pagina's stilzwijgend aanvaard  door  po4a,  maar  met  belangrijke
           problemen (d.w.z. ontbrekende woorden, of toevoeging van extra woorden)

       •   De  andere  pagina's  worden  gewoonlijk  verwerkt  zonder  grotere  verschillen  dan  verschillen in
           spatiëring of regelafbreking (problemen met lettertypes in minder dan 10% van de verwerkte pagina's).

ZIE OOK

       Locale::Po4a::Pod(3pm), Locale::Po4a::TransTractor(3pm), po4a(7)

AUTEURS

        Denis Barbier <barbier@linuxfr.org>
        Nicolas Francois <nicolas.francois@centraliens.net>
        Martin Quinson (mquinson#debian.org)

COPYRIGHT EN LICENTIE

       Copyright © 2002-2008 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).

Po4a-hulpmiddelen                                  2022-01-02                             Locale::Po4a::Man(3pm)