po4a 0.55 - en to nl translation catalogue (1071 entries)

note: type: Attribute 'xml:lang' of: <refentry>
en: en
nl: nl

note: type: Content of: <refentry><refentryinfo>
en: <date>2006-04-08</date>
nl: <date>08-04-2006</date>

note: type: Content of: <refentry><refmeta><refmiscinfo>
en: 2020-04-19
nl: 19-04-2020

note: type: Content of: <refentry><refmeta><refmiscinfo>
en: Po4a Tools
nl: Po4a-hulpmiddelen

note: type: Content of: <refentry><refnamediv><refpurpose>
en: display a translated man page according to a PO
nl: Een vertaalde man-pagina weergeven op basis van een PO

note: type: Content of: <refentry><refsynopsisdiv><cmdsynopsis>
en: <command>po4a-display-man</command> <arg choice='plain'><option>-p</option> </arg> <arg choice='plain'><replaceable>PO_FILE</replaceable></arg> <arg choice='opt'><arg choice='plain'><option>-m</option> </arg><arg choice='plain'><replaceable>MASTER_FILE</replaceable></arg></arg> <arg choice='opt'><arg choice='plain'><option>-o</option> </arg><arg choice='plain'><replaceable>PO4A_OPT</replaceable></arg></arg>
nl: <command>po4a-display-man</command> <arg choice='plain'><option>-p</option> </arg> <arg choice='plain'><replaceable>PO_BESTAND</replaceable></arg> <arg choice='opt'><arg choice='plain'><option>-m</option> </arg><arg choice='plain'><replaceable>ORIGINEEL_BESTAND</replaceable></arg></arg> <arg choice='opt'><arg choice='plain'><option>-o</option> </arg><arg choice='plain'><replaceable>PO4A_OPTIES</replaceable></arg></arg>

note: type: =head1
en: DESCRIPTION
nl: BESCHRIJVING

note: type: Content of: <refentry><refsect1><para>
en: Translators can use <command>po4a-display-man</command> to see how their translation of a man page will be rendered to the end users, without recompiling and reinstalling the whole project.
nl: Vertalers kunnen <command>po4a-display-man</command> gebruiken om na te gaan hoe hun vertaling van een man-pagina weergegeven zal worden aan eindgebruikers, zonder het hele project opnieuw te compileren en te installeren.

note: type: Content of: <refentry><refsect1><para>
en: This script only works with man pages written directly in <emphasis remap='I'>nroff</emphasis> and handled by the po4a's <emphasis remap='I'>man</emphasis> module.  Manual pages generated from other formats, like DocBook or POD, are not supported.  See <citerefentry><refentrytitle>po4a-display-pod</refentrytitle><manvolnum>1</manvolnum></citerefentry> for an equivalent supporting <emphasis remap='I'>POD</emphasis> documents.
nl: Dit script werkt enkel met man-pagina's die rechtstreeks in  <emphasis remap='I'>nroff</emphasis> geschreven en door de <emphasis remap='I'>man</emphasis>-module van po4a behandeld werden. Man-pagina's die vanuit andere indelingen, zoals DocBook or POD,  aangemaakt zijn, worden niet ondersteund. Zie <citerefentry><refentrytitle>po4a-display-pod</refentrytitle><manvolnum>1</manvolnum></citerefentry> voor een equivalent waarmee <emphasis remap='I'>POD</emphasis>-documenten ondersteund worden.

note: type: =head1
en: OPTIONS
nl: OPTIES

note: type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
en: <option>-p </option><replaceable>PO_FILE</replaceable>
nl: <option>-p </option><replaceable>PO_BESTAND</replaceable>

note: type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
en: The PO file containing the translations.
nl: Het PO-bestand met de vertalingen.

note: type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
en: <option>-m </option><replaceable>MASTER_FILE</replaceable>
nl: <option>-m </option><replaceable>ORIGINEEL_BESTAND</replaceable>

note: .br type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
en: The original man page.  It can be the absolute or relative path to the original man page (gzipped or not), the name of the man page or the name and section of the man page (using the man.section format).  When the master document is not provided with the <option>-m</option> option, <command>po4a-display-man</command> tries to find the original man page based on the line reference of the first string in the PO.
nl: De originele man-pagina. Dit kan het absolute of het relatieve pad zijn naar de originele man-pagina (met gzip gecomprimeerd of niet), de naam van de man-pagina of de naam en de sectie van de man-pagina (met de indeling man.section).  Als het originele document is niet opgegeven werd met de optie <option>-m</option>, probeert <command>po4a-display-man</command> de originele man-pagina te vinden op basis van de regelreferentie van de eerste tekenreeks van het PO-bestand.

note: type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
en: <option>-o </option><replaceable>PO4A_OPT</replaceable>
nl: <option>-o </option><replaceable>PO4A_OPTIES</replaceable>

note: type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
en: Some options to pass to <citerefentry><refentrytitle>po4a-translate</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
nl: Opties die aan <citerefentry><refentrytitle>po4a-translate</refentrytitle><manvolnum>1</manvolnum></citerefentry> doorgegeven moeten worden.

note: type: =head1
en: SEE ALSO
nl: ZIE OOK

note: type: Content of: <refentry><refsect1><title>
en: AUTHOR
nl: AUTEUR

note: type: Content of: <refentry><refentryinfo>
en: <date>2009-03-16</date>
nl: <date>16-03-2009</date>

note: type: Content of: <refentry><refmeta><refmiscinfo>
en: 2009-03-16
nl: 16-03-2009

note: type: Content of: <refentry><refnamediv><refpurpose>
en: display of a translated POD file according to a PO
nl: Weergeven van een vertaald POD-bestand passend bij een PO

note: type: Content of: <refentry><refsynopsisdiv><cmdsynopsis>
en: <command>po4a-display-pod</command> <arg choice='plain'><option>-p </option></arg> <arg choice='plain'><replaceable>PO_FILE</replaceable></arg> <arg choice='plain'><option>-m </option></arg> <arg choice='plain'><replaceable>POD_FILE</replaceable></arg> <arg choice='opt'><arg choice='plain'><option>-o </option></arg><arg choice='plain'><replaceable>PO4A_OPT</replaceable></arg></arg>
nl: <command>po4a-display-pod</command> <arg choice='plain'><option>-p </option></arg> <arg choice='plain'><replaceable>PO_BESTAND</replaceable></arg> <arg choice='plain'><option>-m </option></arg> <arg choice='plain'><replaceable>POD_BESTAND</replaceable></arg> <arg choice='opt'><arg choice='plain'><option>-o </option></arg><arg choice='plain'><replaceable>PO4A_OPTIES</replaceable></arg></arg>

note: type: Content of: <refentry><refsect1><para>
en: Translators can use <command>po4a-display-pod</command> to see how their translation of a man page will be rendered to the end users, without recompiling and reinstalling the whole project.  Most of the time, the POD file is only available in source package or embedded in Perl script.
nl: Vertalers kunnen <command>po4a-display-pod</command> gebruiken om na te gaan hoe hun vertaling van een man-pagina weergegeven zal worden voor eindgebruikers, zonder het hele project opnieuw te compileren e te installeren. Over het algemeen is een POD-bestand enkel in het broncodepakket te vinden of ingebed in een Perl-script.

note: type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
en: <option>-m </option><replaceable>POD_FILE</replaceable>
nl: <option>-m </option><replaceable>POD_BESTAND</replaceable>

note: type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
en: The original POD file used by po4a to generate PO file.
nl: Het originele POD-bestand dat door po4a gebruikt wordt om het PO-bestand te genereren.

note: type: =head1
en: NAME
nl: NAAM

note: type: textblock
en: po4a - update both the PO files and translated documents in one shot
nl: po4a - in één bewerking PO-bestanden en vertaalde documenten bijwerken

note: type: =head1
en: SYNOPSIS
nl: OVERZICHT

note: type: textblock
en: B<po4a> [I<options>] I<config_file>
nl: B<po4a> [I<opties>] I<configuratie_bestand>

note: type: textblock
en: po4a (PO for anything) eases the maintenance of documentation translation using the classical gettext tools. The main feature of po4a is that it decouples the translation of content from its document structure.  Please refer to the page L<po4a(7)> for a gentle introduction to this project.
nl: po4a (PO for anything - Po voor alles) vergemakkelijkt het onderhoud van de vertaling van documentatie met het klassieke gettext-gereedschap. Het belangrijkste kenmerk van po4a is, dat het de vertaling van inhoud loskoppelt van de structuur van het document.  Raadpleeg pagina L<po4a(7)> voor een welwillende introductie in dit project.

note: type: textblock
en: Upon execution, B<po4a> parses all documentation files specified in its configuration file. It updates the PO files (containing the translation) to reflect any change to the documentation, and produce a translated documentation by injecting the content's translation (found in the PO files) into the structure of the original master document.
nl: Bij uitvoering verwerkt B<po4a> alle documentatiebestanden die in zijn configuratiebestand zijn opgegeven. Het werkt de PO-bestanden (die de vertaling bevatten) bij om elke wijziging in de documentatie weer te geven, en produceert een vertaalde documentatie door de vertaling van de inhoud (te vinden in de PO-bestanden) in te voeren in de structuur van het originele hoofddocument.

note: type: textblock
en: At first, the PO files only contain the strings to translate from the original documentation. This file format allows the translators to manually provide a translation for each paragraph extracted by B<po4a>. If the documentation is modified after translation, B<po4a> marks the corresponding translations as "fuzzy" in the PO file to request a manual review by the translators. The translators can also provide so-called "addendum", that are extra content stating for example who did the translation and how to report bugs.
nl: Aanvankelijk bevatten de PO-bestanden alleen de te vertalen tekenreeksen uit de oorspronkelijke documentatie. Dit bestandsformaat stelt de vertalers in staat om handmatig een vertaling te leveren voor elke paragraaf die door B<po4a> is geëxtraheerd. Als de documentatie na de vertaling wordt gewijzigd, markeert B<po4a> de overeenkomstige vertalingen als "fuzzy" (vaag) in het PO-bestand om een handmatige controle door de vertalers aan te vragen. De vertalers kunnen ook een zogenaamd "addendum" leveren. Dat is extra inhoud waarin bijvoorbeeld staat wie de vertaling heeft gemaakt en hoe fouten kunnen worden gemeld.

note: type: verbatim
en:  master documents ---+---->-------->---------+
      (doc authoring)    |                       |
                         V   (po4a executions)   >-----+--> translated
                         |                       |     |     documents
     existing PO files -->--> updated PO files >-+     |
          ^                            |               |
          |                            V               |
          +----------<---------<-------+               ^
           (manual translation process)                |
                                                       |
     addendum -->--------------------------------------+
nl:  hoofddocumenten ---+---->-------->---------+
      (doc schrijven)   |                       |
                        V   (po4a uitvoeren)    >-----+--> vertaald
                        |                       |     |
     bestaande PO-best. -->-->bijgewerkte PO-best. >-+     |
          ^                            |                          |
          |                            V                          |
          +----------<---------<-------+               ^
           (handmatig vertaalproces)                   |
                                                       |
     addendum -->--------------------------------------+

note: type: textblock
en: The workflow of B<po4a> is asynchronous, as suited to open-source projects. The documentation writers author the master documents at their own pace. The translators review and update the translations in the PO files. The maintainers rerun B<po4a> on need, to reflect any change to the original documentation to the PO files, and to produce updated documentation translations, by injecting the latest translation into the latest document structure.
nl: De werkstroom van B<po4a> is asynchroon, zoals past bij open-bronprojecten. De documentatieschrijvers schrijven de hoofddocumenten in hun eigen tempo. De vertalers controleren de vertalingen in de PO-bestanden en werken deze bij. De beheerders voeren indien nodig B<po4a> opnieuw uit, om elke verandering in de originele documentatie in de PO-bestanden weer te geven, en om bijgewerkte documentatievertalingen te produceren, door de recentste vertaling in de recentste documentstructuur in te voeren.

note: type: textblock
en: By default, a given translated document is produced when at least 80% of its content is translated. The untranslated text is kept in the original language.  The produced documentation thus mixes languages if the translation is not complete. You can change the 80% threshold with the I<--keep> option described below. Note however that discarding translations as soon as they are not 100% may be discouraging for the translators whose work will almost never be shown to the users, while showing "translations" that are too incomplete may be troubling for the end users.
nl: Standaard wordt een bepaald vertaald document geproduceerd wanneer ten minste 80% van de inhoud ervan is vertaald. De onvertaalde tekst blijft in de oorspronkelijke taal staan. De geproduceerde documentatie vermengt dus talen als de vertaling niet volledig is. U kunt de drempel van 80% wijzigen met de hieronder beschreven optie I<--keep>. Merk echter op dat het verwijderen van vertalingen zodra ze niet 100% zijn, ontmoedigend kan werken voor vertalers, omdat gebruikers hun werk bijna nooit te zien zullen krijgen, terwijl het aanbieden van "vertalingen" die te onvolledig zijn, problematisch kan zijn voor de eindgebruiker.

note: type: textblock
en: Storing the translated documentation files in the version control system is probably a bad idea, since they are automatically generated. The precious files are the PO files, that contain the hard work of your fellow translators. Also, some people find it easier to interact with the translators through an online platform such as S<weblate>, but this is naturally fully optional.
nl: De vertaalde documentatiebestanden opslaan in het versiebeheersysteem is waarschijnlijk geen goed idee, omdat ze automatisch worden gegenereerd. De waardevolle bestanden zijn de PO-bestanden, die het harde werk van uw collega-vertalers bevatten. Ook vinden sommige mensen het gemakkelijker om met de vertalers te communiceren via een online platform zoals S<weblate>, maar dit is natuurlijk volledig optioneel.

note: type: =head2
en: Quick start tutorial
nl: Snel aan de slag - Beknopte handleiding

note: type: textblock
en: Let's assume you maintain a program named B<foo> which has a man page F<man/foo.1> written in English (the bridge language in most open-source projects, but B<po4a> can be used from or to any language). Some times ago, someone provided a German translation named F<man/foo.de.1> and disappeared.  This is a problem because you just got a bug report saying that your documentation contains a gravely misleading information that must be fixed in all languages, but you don't speak German so you can only modify the original, not the translation. Now, another contributor wants to contribute a translation to Japanese, a language that you don't master either.
nl: Laten we aannemen dat u een programma onderhoudt met de naam B<foo> dat een manpagina F<man/foo.1> heeft, geschreven in het Engels (de werktaal in de meeste open-bronprojecten, maar B<po4a> kan van of naar elke taal gebruikt worden). Enige tijd geleden zorgde iemand voor een Duitse vertaling genaamd F<man/foo.de.1> en verdween. Dit is een probleem omdat u net een bugrapport hebt gekregen waarin staat dat uw documentatie ernstig misleidende informatie bevat die in alle talen moet worden verbeterd, maar u spreekt geen Duits, dus u kunt alleen het origineel aanpassen, niet de vertaling. Nu wil een andere medewerker ook een bijdrage leveren met een vertaling naar het Japans, een taal die u evenmin beheerst.

note: type: textblock
en: It is time to convert your documentation to B<po4a> to solve your documentation maintenance nightmares. You want to update the doc when needed, you want to ease the work of your fellow translators, and you want to ensure that your users never see any outdated and thus misleading documentation.
nl: Dan is het tijd om uw documentatie om te zetten naar B<po4a> om uw nachtmerries over documentatieonderhoud op te lossen. U wilt de documentatie bijwerken wanneer dat nodig is, u wilt het werk van uw collega-vertalers verlichten, en u wilt ervoor zorgen dat uw gebruikers nooit verouderde en dus misleidende documentatie te zien krijgen.

note: type: textblock
en: The conversion includes two steps: setup the po4a infrastructure, and convert the previous German translation to salvage the previous work. This latter part is done using S<po4a-gettextize>, as follows. As detailed in the documentation of L<po4a-gettextize(1)>, this process rarely fully automatic, but once it's done, the B<de.po> file containing the German translation can be integrated in your po4a workflow.
nl: Deze omzetting omvat twee stappen: het opzetten van de po4a-infrastructuur en het converteren van de vorige Duitse vertaling om het eerdere werk te redden. Dit laatste deel wordt als volgt gedaan met S<po4a-gettextize>. Zoals beschreven in de documentatie van L<po4a-gettextize(1)>, is dit proces zelden volledig automatisch, maar als het eenmaal is voltooid, kan het B<de.po>-bestand met de Duitse vertaling worden geïntegreerd in uw po4a-werkstroom.

note: type: textblock
en: Let's now configure po4a. With the appropriate file layout, your configuration file could be as simple as this:
nl: Laten we nu po4a configureren. Met de juiste bestandsopmaak zou uw configuratiebestand zo eenvoudig als dit kunnen zijn:

note: type: textblock
en: It specifies that all PO files (containing the work of the translators) are the F<man/po4a/> directory, and that you have only one master file, F<man/foo.1>. If you had several master files, you would have several lines similar to the second one. Each such line also specify where to write the corresponding translation files. Here, the German translation of F<man/foo.1> is in F<man/translated/foo.de.1>.
nl: Het geeft aan dat alle PO-bestanden (die het werk van de vertalers bevatten) in de map F<man/po4a/> staan, en dat u slechts één hoofdbestand hebt, F<man/foo.1>. Als u meerdere hoofdbestanden had, dan zou u verschillende regels hebben die lijken op de tweede. Elk van die regels geeft ook aan waar de corresponderende vertaalbestanden moeten worden geschreven. Hier staat de Duitse vertaling van F<man/foo.1> in F<man/vertaald/foo.de.1>.

note: type: textblock
en: The last thing we need to complete the configuration of B<po4a> is a POT file containing the template material that should be used to start a new translation.  Simply create an empty file with the S<.pot> extension in the specified S<po_directory> (e.g. F<man/po4a/foo.pot>), and B<po4a> will fill it with the expected content.
nl: Het laatste dat we nodig hebben om de configuratie van B<po4a> te voltooien, is een POT-bestand met het sjabloonmateriaal dat moet worden gebruikt om een nieuwe vertaling te starten. Maak gewoon een leeg bestand met de extensie S<.pot> in de opgegeven S<po_directory> (bijv. F<man/po4a/foo.pot>), en B<po4a> vult het met de verwachte inhoud.

note: type: textblock
en: Here is a recap of the files in this setup:
nl: Hier volgt een overzicht van de bestanden in deze opstelling:

note: type: verbatim
en:   ├── man/
      │   ├── foo.1        <- The original man page, in English.
      │   ├── po4a/
      │   │   ├── de.po    <- The German PO translation, from gettextization.
      │   │   └── foo.pot  <- The POT template of future translations (empty at first)
      │   └── translated/  <- Directory where the translations will be created
      └── po4a.cfg         <- The configuration file.
nl:   ├── man/
      │   ├── foo.1        <- De originele manpagina, in het Engels.
      │   ├── po4a/
      │   │   ├── de.po    <- De Duitse PO-vertaling, afkomstig van gettextisatie.
      │   │   └── foo.pot  <- Het POT-sjabloon voor toekomstige vertalingen (eerst leeg)
      │   └── translated/  <- Map waar de vertalingen worden gemaakt
      └── po4a.cfg         <- Het configuratiebestand.

note: type: textblock
en: Once setup, executing B<po4a> will parse your documentation, update the POT template file, use it to update the PO translation files, and use them to update the documentation translation files. All in one command:
nl: Eenmaal ingesteld, zal het uitvoeren van B<po4a> uw documentatie ontleden, het POT-sjabloonbestand bijwerken, het gebruiken om de PO-vertaalbestanden bij te werken, en deze gebruiken om de documentatievertaalbestanden bij te werken. Alles in één commando:

note: type: textblock
en: This it. B<po4a> is now fully configured. Once you've fixed your error in F<man/foo.1>, the offending paragraph in the German translation will be replaced by the fixed text in English. Mixing languages is not optimal, but it's the only way to remove errors in translations that you don't even understand, and ensure that the content presented to the users is never misleading. Updating the German translation is also much easier in the corresponding PO file, so the language mix-up may not last long. Finally, when the Japanese translator gives you a S<jp.po> translated file, just drop it in F<man/po4a/po/>. A translated page will appear as F<man/translated/foo.jp.1> (provided that enough content is translated) when you run B<po4a> again.
nl: Dit is het. B<po4a> is nu volledig geconfigureerd. Zodra u uw fout in F<man/foo.1> hebt hersteld, zal de gewraakte paragraaf in de Duitse vertaling worden vervangen door de gecorrigeerde tekst in het Engels. Het mengen van talen is niet optimaal, maar het is de enige manier om fouten in vertalingen die u niet eens begrijpt te verwijderen en ervoor te zorgen dat de aan de gebruikers gepresenteerde inhoud nooit misleidend is. Het bijwerken van de Duitse vertaling is ook veel gemakkelijker in het overeenkomstige PO-bestand, zodat de taalvermenging mogelijk niet lang zal duren. Tot slot, als de Japanse vertaler u een vertaald bestand S<jp.po> geeft, plaats het dan gewoon in F<man/po4a/po/>. Wanneer u B<po4a> opnieuw uitvoert, zal een vertaalde pagina tevoorschijn komen als F<man/translated/foo.jp.1> (op voorwaarde dat er voldoende inhoud is vertaald).

note: type: textblock
en: Minimal threshold for translation percentage to keep (i.e. write) the resulting file (default: 80). I.e. by default, files have to be translated at least at 80% to be written on disk.
nl: Minimale drempelwaarde, uitgedrukt in vertaald percentage, om het resulterende bestand te behouden (d.w.z. neer te schrijven) (standaard: 80). D.w.z. dat bestanden standaard minstens 80% vertaald moeten zijn om naar schijf geschreven te worden.

note: type: textblock
en: Show a short help message.
nl: Een korte hulptekst tonen.

note: type: textblock
en: Charset of the files containing the documents to translate. Note that all master documents must use the same charset.
nl: Tekenset van de bestanden met de te vertalen documenten. Merk op dat alle hoofddocumenten dezelfde tekenset moeten gebruiken.

note: type: textblock
en: Charset of the files containing the localized documents. Note that all translated documents will use the same charset.
nl: Tekenset van de bestanden met de gelokaliseerde documenten. Merk op dat voor alle vertaalde documenten dezelfde tekenset gebruikt zal worden.

note: type: textblock
en: Charset of the addenda. Note that all the addenda should be in the same charset.
nl: Tekenset van de addenda. Merk op dat alle addenda dezelfde tekenset moeten hebben.

note: type: textblock
en: Display the version of the script and exit.
nl: De versie van het script tonen en afsluiten.

note: type: textblock
en: Increase the verbosity of the program.
nl: De breedsprakigheid van het programma verhogen.

note: type: textblock
en: Decrease the verbosity of the program.
nl: De breedsprakigheid van het programma verminderen.

note: type: textblock
en: Output some debugging information.
nl: Enige foutopsporingsinformatie weergeven.

note: type: textblock
en: Extra option(s) to pass to the format plugin. See the documentation of each plugin for more information about the valid options and their meanings. For example, you could pass '-o tablecells' to the AsciiDoc parser, while the text parser would accept '-o tabs=split'.
nl: Extra optie(s) om door te geven aan de indelingsplug-in. Raadpleeg de documentatie bij elke plug-in voor meer informatie over de geldige opties en hun betekenis. U zou bijvoorbeeld '-o tablecells' kunnen doorgeven aan de ontleder voor AsciiDoc, terwijl de ontleder voor tekst '-o tabs=split' zou accepteren.

note: type: textblock
en: Always generate the POT and PO files, even if B<po4a> considers it is not necessary.
nl: Steeds de POT- en PO-bestanden genereren, zelfs indien B<po4a> dit niet nodig acht.

note: type: textblock
en: The default behavior (when B<--force> is not specified) is the following:
nl: Het standaardgedrag (indien B<--force> niet opgegeven werd) is als volgt:

note: type: textblock
en: If the POT file already exists, it is regenerated if a master document or the configuration file is more recent (unless B<--no-update> is provided).  The POT file is also written in a temporary document and B<po4a> verifies that the changes are really needed.
nl: Indien het POT-bestand reeds bestaat, wordt het opnieuw gegenereerd indien een hoofddocument of het configuratiebestand recenter is (tenzij B<--no-update>  opgegeven werd). Het POT-bestand wordt ook in een tijdelijk document weggeschreven en B<po4a> gaat na of de wijzigingen echt nodig zijn.

note: type: textblock
en: Also, a translation is regenerated only if its master document, the PO file, one of its addenda or the configuration file is more recent.  To avoid trying to regenerate translations which do not pass the threshold test (see B<--keep>), a file with the F<.po4a-stamp> extension can be created (see B<--stamp>).
nl: Ook wordt een vertaling enkel opnieuw gegenereerd indien zijn hoofddocument, het PO-bestand, één van zijn addenda of het configuratiebestand recenter is. Om te vermijden dat geprobeerd wordt vertalingen opnieuw te genereren die niet slagen in de drempelwaardetest (zie B<--keep>), kan een bestand met de extensie F<.po4a-stamp> gecreëerd worden (zie B<--stamp>).

note: type: textblock
en: If a master document includes files, you should use the B<--force> flag because the modification time of these included files are not taken into account.
nl: Als in een hoofddocument externe bestanden geïntegreerd worden, moet u de vlag B<--force> gebruiken, omdat geen rekening gehouden wordt met de wijzigingsdatum van deze ingesloten bestanden.

note: type: textblock
en: The PO files are always re-generated based on the POT with B<msgmerge -U>.
nl: De PO-bestanden worden steeds opnieuw gegenereerd op basis van het POT-bestand met B<msgmerge -U>.

note: type: textblock
en: Tells B<po4a> to create stamp files when a translation is not generated because it does not reach the threshold. These stamp files are named according to the expected translated document, with the F<.po4a-stamp> extension.
nl: Geeft aan dat B<po4a> een stempelbestand moet genereren indien er geen vertaling gegenereerd wordt omdat deze de drempelwaarde niet bereikt. Dit stempelbestand wordt vernoemd naar het verwachte vertaalde document met de extensie F<.po4a-stamp>.

note: type: textblock
en: Note: This only activates the creation of the F<.po4a-stamp> files. The stamp files are always used if they exist, and they are removed with B<--rm-translations> or when the file is finally translated.
nl: Opmerking: Dit activeert enkel het creëren van de F<.po4a-stamp>-bestanden. Als deze bestaan, worden de stempelbestanden steeds gebruikt, en zij worden verwijderd met B<--rm-translations> of wanneer het bestand uiteindelijk vertaald is.

note: type: textblock
en: Do not generate the translated documents, only update the POT and PO files.
nl: De vertaalde documenten niet genereren, enkel de POT- en PO-bestanden bijwerken.

note: type: textblock
en: Do not change the POT and PO files, only the translation may be updated.
nl: De POT- en PO-bestanden niet wijzigen, enkel de vertaling mag bijgewerkt worden.

note: type: textblock
en: Keeps the existing translation files even if the translation doesn't meet the threshold specified by B<--keep>.  This option does not create new translation files with few content, but it will save existing translations which decay because of changes to the master files.
nl: Behoudt de bestaande vertaalbestanden, zelfs indien de vertaling niet beantwoordt aan de drempelwaarde die door  B<--keep> gespecificeerd wordt. Met deze optie worden geen nieuwe vertaalbestanden met weinig inhoud gecreëerd, maar bestaande vertalingen die verkommeren door wijzigingen aan de hoofdbestanden, blijven bewaard.

note: type: textblock
en: WARNING: This flag changes the po4a behavior in a rather drastic way: your translated files will not get updated at all until the translation improves. Only use this flag if you prefer shipping an outdated translated documentation rather than only shipping an accurate untranslated documentation.
nl: WAARSCHUWING: Met deze vlag wordt het gedrag van po4a op een eerder drastische wijze veranderd: uw vertaalde bestanden zullen helemaal niet bijgewerkt worden totdat de vertaling verbetert. Gebruik deze vlag enkel indien u verkiest om een verouderde vertaalde documentatie te verspreiden boven een accurate onvertaalde documentatie.

note: type: textblock
en: Remove the translated files (implies B<--no-translations>).
nl: De vertaalde bestanden verwijderen (impliceert B<--no-translations>).

note: type: textblock
en: This flag does nothing since 0.41, and may be removed in later releases.
nl: Deze vlag heeft sinds versie 0.41 geen effect meer, en ze kan uit latere releases verwijderd worden.

note: type: =item
en: B<--translate-only> I<translated-file>
nl: B<--translate-only> I<vertaald-bestand>

note: type: textblock
en: Translate only the specified file.  It may be useful to speed up processing if a configuration file contains a lot of files.  Note that this option does not update PO and POT files.  This option can be used multiple times.
nl: Enkel het gespecificeerde bestand vertalen. Dit kan nuttig zijn om de verwerking te versnellen als een configuratiebestand veel bestanden bevat. Merk op dat met deze optie PO- en POT-bestanden niet bijgewerkt worden. Deze optie kan meerdere keren gebruikt worden.

note: type: =item
en: B<--variable> I<var>B<=>I<value>
nl: B<--variable> I<var>B<=>I<waarde>

note: type: textblock
en: Define a variable that will be expanded in the B<po4a> configuration file.  Every occurrence of I<$(var)> will be replaced by I<value>.  This option can be used multiple times.
nl: Een variabele definiëren welke in het configuratiebestand van B<po4a> vervangen zal worden. Overal waar I<$(var)> voorkomt, zal deze vervangen worden door  I<waarde>. Deze optie kan meerdere malen gebruikt worden.

note: type: =item
en: B<--srcdir> I<SRCDIR>
nl: B<--srcdir> I<BRONMAP>

note: type: textblock
en: Set the base directory for all input documents specified in the B<po4a> configuration file.
nl: De basismap instellen van alle invoerdocumenten welke in het configuratiebestand van B<po4a> gespecificeerd worden.

note: type: textblock
en: If both I<destdir> and I<srcdir> are specified, input files are searched in the following directories, in order: I<destdir>, the current directory and I<srcdir>. Output files are written to I<destdir> if specified, or to the current directory.
nl: Indien zowel I<destdir> als I<srcdir> vermeld zijn, worden invoerbestanden in de volgende mappen gezocht in deze volgorde: I<destdir>, de huidige map en I<srcdir>. Uitvoerbestanden worden weggeschreven in I<destdir> als deze gespecificeerd is, of in de huidige map.

note: type: =item
en: B<--destdir> I<DESTDIR>
nl: B<--destdir> I<DOELMAP>

note: type: textblock
en: Set the base directory for all the output documents specified in the B<po4a> configuration file (see B<--srcdir> above).
nl: De basismap instellen voor al de uitvoerdocumenten, welke in het configuratiebestand van B<po4a> gespecificeerd zijn (zie B<--srcdir> hierboven).

note: type: =head2
en: Options modifying the POT header
nl: Opties die de POT-header wijzigen

note: type: textblock
en: Specify the reference format. Argument I<type> can be one of B<never> to not produce any reference, B<file> to only specify the file without the line number, B<counter> to replace line number by an increasing counter, and B<full> to include complete references (default: full).
nl: Het referentieformaat specificeren. Het argument I<type> kan één van de volgende zijn: B<never> om geen enkele referentie te produceren, B<file> om enkel het bestand zonder het lijnnummer te specificeren, B<counter> om het regelnummer te vervangen door een oplopende teller, en B<full> om volledige referenties op te nemen (standaard: full).

note: type: =item
en: B<--wrap-po> B<no>|B<newlines>|I<number> (default: 76)
nl: B<--wrap-po> B<no>|B<newlines>|I<getal> (standaard: 76)

note: type: textblock
en: Specify how the po file should be wrapped. This gives the choice between either files that are nicely wrapped but could lead to git conflicts, or files that are easier to handle automatically, but harder to read for humans.
nl: Specificeren hoe de regelafbreking voor po-bestanden er moet uitzien. Dit geeft de keuze tussen bestanden met een mooie regelafbreking, die echter kunnen leiden tot git-conflicten en bestanden die makkelijker automatisch te behandelen zijn, maar voor mensen moeilijker leesbaar.

note: type: textblock
en: Historically, the gettext suite has reformatted the po files at the 77th column for cosmetics. This option specifies the behavior of po4a. If set to a numerical value, po4a will wrap the po file after this column and after newlines in the content. If set to B<newlines>, po4a will only split the msgid and msgstr after newlines in the content. If set to B<no>, po4a will not wrap the po file at all.  The reference comments are always wrapped by the gettext tools that we use internally.
nl: Vanouds brak de gettext-suite uit cosmetische overwegingen de regels van po-bestanden af bij de 77e kolom. Deze optie specificeert het gedrag van po4a. Indien dit ingesteld wordt op een numerieke waarde, zal po4a de regels van het po-bestand afbreken na deze kolom en na regeleinden die in de inhoud voorkomen. Indien dit ingesteld wordt op B<newlines>, zal po4a  de msgid en msgstr enkel afbreken na regeleinden die in de inhoud voorkomen. Indien dit ingesteld wordt op B<no>, zal po4a helemaal geen regelafbreking toepassen in het po-bestand. De regelafbreking in het referentiecommentaar gebeurt steeds door het gettext-gereedschap dat we intern gebruiken.

note: type: textblock
en: Note that this option has no impact on how the msgid and msgstr are wrapped, i.e.  on how newlines are added to the content of these strings.
nl: Merk op dat deze optie geen impact heeft op de wijze waarop regelafbreking in msgid en msgstr gebeurt, d.w.z. op hoe einderegels toegevoegd worden aan de inhoud van deze tekstfragmenten.

note: type: textblock
en: Language of the source files containing the documents to translate. Note that all master documents must use the same language.
nl: Taal van de bronbestanden die de te vertalen documenten bevatten. Merk op dat alle hoofddocumenten dezelfde taal moeten gebruiken.

note: type: =item
en: B<--msgid-bugs-address> I<email@address>
nl: B<--msgid-bugs-address> I<email@adres>

note: type: textblock
en: Set the report address for msgid bugs. By default, the created POT files have no Report-Msgid-Bugs-To fields.
nl: Het adres instellen voor het rapporteren van msgid-bugs. Standaard bevatten de gecreëerde POT-bestanden niet het veld Report-Msgid-Bugs-To.

note: type: =item
en: B<--copyright-holder> I<string>
nl: B<--copyright-holder> I<tekenreeks>

note: type: textblock
en: Set the copyright holder in the POT header. The default value is "Free Software Foundation, Inc."
nl: Instellen van de copyrighthouder in de POT-header. De standaardwaarde is "Free Software Foundation, Inc."

note: type: =item
en: B<--package-name> I<string>
nl: B<--package-name> I<tekenreeks>

note: type: textblock
en: Set the package name for the POT header. The default is "PACKAGE".
nl: Instellen van de pakketnaam voor de POT-header. Standaard is dat "PACKAGE".

note: type: =item
en: B<--package-version> I<string>
nl: B<--package-version> I<tekenreeks>

note: type: textblock
en: Set the package version for the POT header. The default is "VERSION".
nl: Instellen van de pakketversie voor de POT-header. Standaard is dat "VERSION".

note: type: =head2
en: Options to modify the PO files
nl: Opties om de PO-bestanden te wijzigen

note: type: =item
en: B<--msgmerge-opt> I<options>
nl: B<--msgmerge-opt> I<opties>

note: type: textblock
en: Extra options for B<msgmerge>(1).
nl: Extra opties voor B<msgmerge>(1).

note: type: textblock
en: Note: B<$lang> will be extended to the current language.
nl: Opmerking: B<$lang> zal vervangen worden door de huidige taal.

note: type: textblock
en: This option removes B<--previous> from the options passed to B<msgmerge>.  This is necessary to support versions of B<gettext> earlier than 0.16.
nl: Deze optie verwijdert B<--previous> uit de opties die doorgegeven worden aan B<msgmerge>.  Dit is nodig om versies van B<gettext> te ondersteunen, eerder dan 0.16.

note: type: textblock
en: This option adds B<--previous> to the options passed to B<msgmerge>.  It requires B<gettext> 0.16 or later, and is activated by default.
nl: Met deze optie voegt men B<--previous> toe aan de opties die aan B<msgmerge> doorgegeven worden. De optie heeft versie 0.16 of recenter van B<gettext> nodig en is standaard geactiveerd.

note: type: =head1
en: CONFIGURATION FILE
nl: CONFIGURATIEBESTAND

note: type: textblock
en: po4a expects a configuration file as argument. This file must contain the following elements:
nl: po4a verwacht een configuratiebestand als argument. Dit bestand moet de volgende elementen bevatten:

note: type: textblock
en: The path to the PO files and the list of languages existing in the project;
nl: Het pad naar de PO-bestanden en de lijst van talen die in het project bestaan;

note: type: textblock
en: Optionally, some global options and so-called configuration aliases that are used as templates to configure individual master files;
nl: Facultatief, een aantal globale opties en zogenaamde configuratiealiassen welke als sjablonen gebruikt worden om individuele hoofdbestanden te configureren;

note: type: textblock
en: The list of each master file to translate, along with specific parameters.
nl: De lijst van elk masterbestand dat moet worden vertaald, samen met specifieke parameters.

note: type: textblock
en: All lines contain a command between square braces, followed by its parameters.  Comments begin with the char '#' and run until the end of the line. You can escape the end of line to spread a command over several lines.
nl: Alle regels bevatten een commando tussen rechte haakjes, gevolgd door zijn parameters. Commentaar begint met het teken '#' en loopt verder tot het einde van de regel. U kunt met een escapeteken aan het einde van de regel het commando spreiden over verschillende regels.

note: type: textblock
en: Some full examples are presented on this page, while other examples can be found in the C<t/cfg> directory of the source distribution.
nl: Op deze pagina worden enkele volledig uitgewerkte voorbeelden gegeven, terwijl andere voorbeelden te vinden zijn in de map C<t/cfg> van de brondistributie.

note: type: =head2
en: Finding the PO and POT files
nl: De PO- en POT-bestanden vinden

note: type: textblock
en: The simplest solution is to explicitly give the path to POT and PO files, as follows:
nl: De eenvoudigste manier is om als volgt expliciet het pad op te geven naar het POT-bestand en de PO-bestanden:

note: type: verbatim
en:  [po4a_paths] man/po/project.pot de:man/po/de.po fr:man/po/fr.po
nl:  [po4a_paths] man/po/project.pot nl:man/po/nl.po fr:man/po/fr.po

note: type: textblock
en: This specifies the path to the POT file first, and then the paths to the German and French PO files.
nl: Dit specificeert eerst het pad naar het POT-bestand, en daarna de paden naar de Nederlandse en Franse PO-bestanden.

note: type: textblock
en: The same information can be written as follows to reduce the risk of copy/paste errors:
nl: Dezelfde informatie kan als volgt geschreven worden om het risico op kopiëren/plakken-fouten te verkleinen:

note: type: verbatim
en:  [po4a_langs] fr de
     [po4a_paths] man/po/project.pot $lang:man/po/$lang.po
nl:  [po4a_langs] fr nl
     [po4a_paths] man/po/project.pot $lang:man/po/$lang.po

note: type: textblock
en: The C<$lang> component is automatically expanded using the provided languages list, reducing the risk of copy/paste error when a new language is added.
nl: De component C<$lang> wordt automatisch vervangen door gebruik te maken van de opgegeven taallijst. Dit beperkt het risico op een fout van het type kopiëren/plakken wanneer een nieuwe taal toegevoegd wordt.

note: type: textblock
en: You can further compact the same information by only providing the path to the directory containing your translation project, as follows.
nl: U kunt dezelfde informatie nog compacter maken door als volgt enkel het pad op te geven naar de map die uw vertaalproject bevat.

note: type: textblock
en: The provided directory must contain a set of PO files, each named F<XX.po> with C<XX> the ISO 639-1 of the language used in this file. The directory must also contain a single POT file, with the C<.pot> file extension. For the first run, this file can be empty but it must exist (po4a cannot guess the name to use before the extension).
nl: De opgegeven map moet een aantal PO-bestanden bevatten, elk met een naam F<XX.po>, waarbij C<XX> de ISO 639-1-code is van de taal die in dit bestand wordt gebruikt. De map moet ook één enkel POT-bestand bevatten, met als bestandsextensie C<.pot>. Voor de eerste doorloop mag dit bestand leeg zijn, maar het moet wel bestaan (po4a kan de naam die voor de extensie moet worden gebruikt, niet raden).

note: type: textblock
en: Note that you must choose only one between C<po_directory> and C<po4a_paths>. The first one (C<po_directory>) is more compact, further reduces the risk of copy/paste error, but forces you to use the expected project structure and file names. The second one (C<po4a_paths>), is more explicit, probably more readable, and advised when you setup your first project with po4a.
nl: Merk op dat u enkel een van beide moet kiezen: C<po_directory> of C<po4a_paths>. Het eerste (C<po_directory>) is compacter en vermindert nog meer het risico op kopiëren/plakken-fouten, maar dwingt u de verwachte projectstructuur en bestandsnamen te gebruiken. Het tweede (C<po4a_paths>) is explicieter en wellicht makkelijker leesbaar en wordt aanbevolen als u uw eerste project opzet met po4a.

note: type: =head3
en: Centralized or split PO files?
nl: Centrale of gesplitste PO-bestanden?

note: type: textblock
en: By default, po4a produces one single PO file per target language, containing the whole content of your translation project. As your project grows, the size of these files may become problematic. When using weblate, it is possible to specify priorities for each translation segment (i.e., msgid) so that the important ones get translated first. Still, some translation teams prefer to split the content in several files.
nl: Standaard produceert po4a één enkel PO-bestand per doeltaal. Dit bevat de volledige inhoud van uw vertaalproject. Als uw project uitgebreider wordt, kan de omvang van deze bestanden problematisch worden. Indien weblate gebruikt wordt , is het mogelijk specifieke prioriteiten op te geven voor elk vertalingssegment (d.w.z. msgid), zodat de belangrijkste eerst vertaald worden. Nochtans geven sommige vertaalteams er de voorkeur aan de inhoud op te splitsen in verschillende bestanden.

note: type: textblock
en: To have one PO file per master file, you simply have to use the string C<$master> in the name of your PO files on the C<[po4a_paths]> line, as follows.
nl: Om één PO-bestand per hoofdbestand te hebben, moet u gewoon op de volgende manier de tekenreeks C<$master> gebruiken in de naam van uw PO-bestanden op de regel C<[po4a_paths]>.

note: type: textblock
en: With this line, po4a will produce separate POT and PO files for each document to translate.  For example, if you have 3 documents and 5 languages, this will result in 3 POT files and 15 PO files. These files are named as specified on the C<po4a_paths> template, with C<$master> substituted to the basename of each document to translate. In case of name conflict, you can specify the POT file to use as follows, with the C<pot=> parameter.
nl: Met deze regel zal po4a afzonderlijke POT- en PO-bestanden produceren voor elk te vertalen document. Bijvoorbeeld, als u 3 documenten en 5 talen heeft, zal dit resulteren in 3 POT-bestanden en 15 PO-bestanden. Deze bestanden worden genoemd zoals in het sjabloon C<po4a_paths> gespecificeerd werd, waarbij C<$master> vervangen wordt door de basisnaam van elk te vertalen document. In geval van een naamconflict kunt u het te gebruiken POT-bestand als volgt specificeren met de parameter C<pot=>.

note: type: textblock
en: This feature can also be used to group several translated files into the same POT file. The following example only produces 2 POT files: F<l10n/po/foo.pot> (containing the material from F<foo/gui.xml>) and F<l10n/po/bar.pot> (containing the material from both F<bar/gui.xml> and F<bar/cli.xml>).
nl: Deze functionaliteit kan ook worden gebruikt om meerdere vertaalde bestanden te groeperen in hetzelfde POT-bestand. Het volgende voorbeeld levert slechts 2 POT-bestanden op: F<l10n/po/foo.pot> (met het materiaal van F<foo/gui.xml>) en F<l10n/po/bar.pot> (met het materiaal van zowel F<bar/gui.xml> als F<bar/cli.xml>).

note: type: textblock
en: In split mode, B<po4a> builds a temporary compendium during the PO update, to share the translations between all the PO files. If two PO files have different translations for the same string, B<po4a> will mark this string as fuzzy and will submit both translations in all the PO files containing this string. When unfuzzied by the translator, the translation is automatically used in every PO files.
nl: In gesplitste modus bouwt B<po4a> een tijdelijk compendium op tijdens het bijwerken van de PO-bestanden, om de vertaling met alle PO-bestanden te delen. Indien twee PO-bestanden voor hetzelfde tekstfragment verschillende vertalingen bevatten, zal B<po4a> dit tekstfragment als onnauwkeurig (fuzzy) markeren en beide vertalingen invoegen in alle PO-bestanden die dat tekstfragment bevatten. Wanneer de vertaler de vertaling ontwart, zal deze vertaling automatisch is elk PO-bestand gebruikt worden.

note: type: =head2
en: Specifying the documents to translate
nl: De te vertalen documenten specificeren

note: type: textblock
en: You must also list the documents that should be translated. For each master file, you must specify the format parser to use, the location of the translated document to produce, and optionally some configuration. Here is an example:
nl: U moet ook de documenten die vertaald moeten worden, vermelden. Voor elk hoofdbestand moet u de te gebruiken indelingsontleder opgeven, de locatie van het te produceren vertaalde bestand en facultatief enige configuratie. Hier volgt een voorbeeld:

note: type: verbatim
en:  [type: sgml] doc/my_stuff.sgml fr:doc/fr/mon_truc.sgml \
                  de:doc/de/mein_kram.sgml
     [type: man] script fr:doc/fr/script.1 de:doc/de/script.1
     [type: docbook] doc/script.xml fr:doc/fr/script.xml \
                 de:doc/de/script.xml
nl:  [type: sgml] doc/my_stuff.sgml fr:doc/fr/mon_truc.sgml \
                  nl:doc/nl/mijn_spullen.sgml
     [type: man] script fr:doc/fr/script.1 nl:doc/nl/script.1
     [type: docbook] doc/script.xml fr:doc/fr/script.xml \
                 nl:doc/nl/script.xml

note: type: textblock
en: But again, these complex lines are difficult to read and modify, e.g. when adding a new language. It is much simpler to reorganize things using the C<$lang> template as follows:
nl: Maar ook hier zijn deze complexe regels moeilijk te lezen en aan te passen, bijvoorbeeld bij het toevoegen van een nieuwe taal. Het is veel eenvoudiger om deze zaken als volgt te herorganiseren met behulp van het C<$lang>-sjabloon:

note: type: =head2
en: Specifying options
nl: Opties specificeren

note: type: textblock
en: There is two types of options: I<po4a options> are default values to the po4a command line options while I<format options> are used to change the behavior of the format parsers. As a I<po4a options>, you could for example specify in your configuration file that the default value of the B<--keep> command line parameter is 50% instead of 80%. I<Format options> are documented on the specific page of each parsing module, e.g. L<Locale::Po4a::Xml(3pm)>. You could for example pass B<nostrip> to the XML parser to not strip the spaces around the extracted strings.
nl: Er bestaan twee types opties: I<po4a-opties> zijn standaardwaarden voor de po4a commandoregelopties, terwijl I<opmaakopties> gebruikt worden om het gedrag van de opmaakontleders te beïnvloeden. U zou bijvoorbeeld in uw configuratiebestand kunnen specificeren dat de standaardwaarde voor de commandoregelparameter B<--keep> 50% is in plaats van 80%. I<Opmaakopties> worden gedocumenteerd op de specifieke pagina van iedere ontleedmodule, bijv. L<Locale::Po4a::Xml(3pm)>. U zou bijvoorbeeld B<nostrip> kunnen meegeven aan de XML-ontleder om de spaties rond de geëxtraheerde tekstfragmenten niet te laten weghalen.

note: type: textblock
en: You can pass these options for a specific master file, or even for a specific translation of that file, using C<opt:> and C<opt_XX:> for the C<XX> language.  In the following example, the B<nostrip> option is passed to the XML parser (for all languages), while the threshold will be reduced to 0% for the French translation (that is thus always kept).
nl: U kunt deze opties meegeven voor een specifiek hoofdbestand, of zelfs voor een specifieke vertaling van dat bestand met C<opt:> of met C<opt_XX:> voor de taal C<XX>. In het volgende voorbeeld wordt de optie B<nostrip> meegegeven aan de XML-ontleder (voor alle talen), terwijl de drempelwaarde tot 0% teruggebracht wordt voor de Franse vertaling (welke dus steeds behouden blijft).

note: type: textblock
en: In any case, these configuration chunks must be located at the end of the line.  The declaration of files must come first, then the addendum if any (see below), and then only the options. The grouping of configuration chunks is not very important, since elements are internally concatenated as strings. The following examples are all equivalent:
nl: Deze configuratieonderdelen moeten in ieder geval aan het einde van de regel staan. Eerst moet de declaratie van bestanden komen, dan het eventuele addendum (zie hierna) en dan pas de opties. Het groeperen van configuratieonderdelen is niet erg belangrijk, omdat elementen intern samengevoegd worden tot tekenreeksen. De volgende voorbeelden zijn allemaal gelijkwaardig:

note: type: textblock
en: Note that language specific options are not used when building the POT file. It is for example impossible to pass B<nostrip> to the parser only when building the French translation, because the same POT file is used to update every languages. So the only options that can be language-specific are the ones that are used when producing the translation, as the C<--keep> option.
nl: Merk op dat taalspecifieke opties niet gebruikt worden bij het bouwen van het POT-bestand. Het is bijvoorbeeld niet mogelijk om de optie B<nostrip> mee te geven aan de ontleder wanneer enkel de Franse vertaling wordt gebouwd, omdat het POT-bestand gebruikt wordt om elke taal te updaten. Dus zijn de enige opties die taalspecifiek kunnen zijn, die opties welke gebruikt worden bij het produceren van de vertaling, zoals de optie C<--keep>.

note: type: =head3
en: Configuration aliases
nl: Configuratiealiassen

note: type: textblock
en: To pass the same options to several files, the best is to define a type alias as follows. In the next example, C<--keep 0> is passed to every Italian translation using this C<test> type, that is an extension of the C<man> type.
nl: De beste manier om dezelfde optie mee te geven aan verschillende bestanden is als volgt een alias voor een type te definiëren. In het volgende voorbeeld wordt de optie C<--keep 0> aan iedere Italiaanse vertaling meegegeven met dit C<test>-type, welke een uitbreiding is van het C<man>-type.

note: type: textblock
en: You can also extend an existing type reusing the same name for the alias as follows. This is not interpreted as as an erroneous recursive definition.
nl: U kunt een bestaand type ook uitbreiden door als volgt dezelfde naam te gebruiken voor de alias. Dit wordt niet geïnterpreteerd als een foutieve recursieve definitie.

note: type: =head3
en: Global default options
nl: Globale standaardopties

note: type: textblock
en: You can also use C<[options]> lines to define options that must be used for all files, regardless of their type.
nl: U kunt ook C<[options]>-regels gebruiken om opties te definiëren welke voor alle bestanden gebruikt moeten worden, ongeacht hun type.

note: type: textblock
en: As with the command line options, you can abbreviate the parameters passed in the configuration file:
nl: Zoals het geval is voor de commandoregelopties, kunt u de parameters die in het configuratiebestand meegegeven worden, afkorten:

note: type: =head3
en: Option priorities
nl: Optieprioriteiten

note: type: textblock
en: The options of every sources are concatenated, ensuring that the default values can easily be overridden by more specific options. The order is as follows:
nl: De opties voor alle bronnen worden samengevoegd, zodat de standaardwaarden gemakkelijk kunnen worden overschreven door meer specifieke opties. De volgorde is de volgende:

note: type: textblock
en: C<[options]> lines provide default values that can be overridden by any other source.
nl: C<[options]>-regels bieden standaardwaarden die door elke andere bron overschreven kunnen worden.

note: type: textblock
en: Type aliases are then used. Language specific settings override the ones applicable to all languages.
nl: Daarna worden aliassen voor types gebruikt. Taalspecifieke instellingen overschrijven die welke van toepassing zijn op alle talen.

note: type: textblock
en: Settings that are specific to a given master file override both the default ones and the ones coming from the type alias. In this case also, language specific settings override the global ones.
nl: Instellingen welke specifiek zijn voor een bepaald hoofdbestand overschrijven zowel de standaardinstellingen als die welke afkomstig zijn van de type-alias. Ook in dit geval overschrijven taalspecifieke instellingen de globale instellingen.

note: type: textblock
en: Finally, parameters provided on the B<po4a> command line override any settings from the configuration file.
nl: Tenslotte overschrijven parameters welke opgegeven worden aan de B<po4a>-commandoregel, eventuele instellingen uit het configuratiebestand.

note: type: =head3
en: Example
nl: Voorbeeld

note: type: textblock
en: Here is an example showing how to quote the spaces and quotes:
nl: Hier volgt een voorbeeld dat laat zien hoe u de spaties en aanhalingstekens moet citeren:

note: type: =head2
en: Addendum: Adding extra content in the translation
nl: Addendum: extra inhoud toevoegen aan de vertaling

note: type: textblock
en: If you want to add an extra section to the translation, for example to give credit to the translator, then you need to define an addendum to the line defining your master file. Please refer to the page L<po4a(7)> for more details on the syntax of addendum files.
nl: Indien u aan de vertaling een extra sectie wilt toevoegen, bijvoorbeeld om erkenning te geven aan de vertaler, moet u een addendum definiëren bij de regel welke uw hoofdbestand definieert, Raadpleeg pagina L<po4a(7)> voor meer informatie over de syntaxis van addendumbestanden.

note: type: textblock
en: You can also use language templates as follow:
nl: U kunt ook als volgt gebruik maken van taalsjablonen:

note: type: textblock
en: If an addendum fails to apply, the translation is discarded.
nl: Indien het toepassen van een addendum mislukt, wordt de vertaling verwijderd.

note: type: =head3
en: Modifiers for the addendum declaration
nl: Wijzigingselementen voor de addendumdeclaratie

note: type: textblock
en: Addendum modifiers can simplify the configuration file in the case where not all languages provide an addendum, or when the list of addenda changes from one language to the other. The modifier is a single char located before the file name.
nl: Met addendumwijzigingselementen kan het configuratiebestand vereenvoudigd worden in het geval er niet voor elke taal een addendum is, of wanneer de lijst met addenda verschilt naargelang de taal. Het wijzigingselement is één enkele letter die voor de bestandsnaam staat.

note: type: textblock
en: Include I<addendum_path> if this file does exist, otherwise do nothing.
nl: I<pad_naar_addendum> toevoegen indien dit bestand bestaat; in het ander geval niets doen.

note: type: textblock
en: I<addendum_path> is not a regular addendum but a file containing a list of addenda, one by line.  Each addendum may be preceded by modifiers.
nl: I<pad_naar_addendum> is geen gewoon addendum, maar een bestand dat een lijst met addenda bevat, één per regel. Elk addendum kan voorafgegaan worden door wijzigingselementen.

note: type: textblock
en: I<addendum_path> is discarded, it is not loaded and will not be loaded by any further addendum specification.
nl: I<pad_naar_addendum> wordt weggelaten; het wordt niet geladen en zal niet geladen worden bij eventuele verdere addendumspecificaties.

note: type: textblock
en: The following includes an addendum in any language, but if only it exists. No error is reported if the addendum does not exist.
nl: Met het volgende wordt voor elke taal een addendum toegevoegd, maar enkel indien het bestaat. Er wordt geen fout gerapporteerd indien het addendum niet bestaat.

note: type: textblock
en: The following includes a list of addendum for every language:
nl: Met het volgende wordt een lijst met addenda toegevoegd voor elke taal:

note: type: =head2
en: Filtering the translated strings
nl: De vertaalde tekstfragmenten filteren

note: type: textblock
en: Sometimes, you want to hide some strings from the translation process. To that extend, you can give a C<pot_in> parameter to your master file to specify the name of the file to use instead of the real master when building the POT file. Here is an example:
nl: Soms wilt u bepaalde tekstfragmenten voor het vertaalproces verborgen houden. Met dit doel kunt u een C<pot_in>-parameter opgeven aan uw hoofdbestand om de naam op te geven van het bij het bouwen van het POT-bestand te gebruiken bestand in plaats van het echte hoofdbestand. Hier volgt een voorbeeld:

note: type: verbatim
en:   [type:docbook] book.xml          \
              pot_in:book-filtered.xml \
              $lang:book.$lang.xml
nl:   [type:docbook] boek.xml          \
              pot_in:boek-gefilterd.xml \
              $lang:boek.$lang.xml

note: type: textblock
en: With this setting, the strings to translate will be extracted from the F<book-filtered.xml> (that must be produced before calling B<po4a>) while the translated files will be built from F<book.xml>. As a result, any string that is part of F<book.xml> but not in F<book-filtered.xml> will not be included in the PO files, preventing the translators from providing a translation for them. So these strings will be left unmodified when producing the translated documents.  This naturally decreases the level of translation, so you may need the C<--keep> option to ensure that the document is produced anyway.
nl: Met deze instelling zullen de te vertalen tekstfragmenten geëxtraheerd worden uit het bestand F<boek-gefilterd.xml> (dat aangemaakt moet worden vooraleer B<po4a> aangeroepen wordt), terwijl de vertaalde bestanden gebouwd worden vanuit F<boek.xml>. Als gevolg daarvan zullen alle tekstfragmenten welke in F<boek.xml> voorkomen maar niet in F<boek-gefilterd.xml>, niet opgenomen worden in de PO-bestanden, waardoor voorkomen wordt dat vertalers er een vertaling voor geven. Deze tekstfragmenten zullen dus ongewijzigd blijven bij het aanmaken van de vertaalde documenten. Dit verlaagt natuurlijk de graad van vertaling, waardoor u mogelijk de optie C<--keep> zult moeten aanpassen om ervoor te zorgen dat het document desondanks aangemaakt wordt.

note: type: =head1
en: AUTHORS
nl: AUTEURS

note: type: =head1
en: COPYRIGHT AND LICENSE
nl: COPYRIGHT EN LICENTIE

note: type: textblock
en: Copyright 2002-2022 by SPI, inc.
nl: Copyright 2002-2022 door SPI, inc.

note: type: textblock
en: This program is free software; you may redistribute it and/or modify it under the terms of GPL (see the COPYING file).
nl: Dit programma is vrije software; u kunt het verder verspreiden en/of aanpassen onder de bepalingen van de GPL (zie het bestand COPYING).

note: type: textblock
en: po4a-gettextize - convert an original file (and its translation) to a PO file
nl: po4a-gettextize - een origineel bestand (en zijn vertalingen) omzetten naar een PO-bestand

note: type: textblock
en: B<po4a-gettextize> B<-f> I<fmt> B<-m> I<master.doc> B<-l> I<XX.doc> B<-p> I<XX.po>
nl: B<po4a-gettextize> B<-f> I<fmt> B<-m> I<hoofddocument.doc> B<-l> I<XX.doc> B<-p> I<XX.po>

note: type: textblock
en: (I<XX.po> is the output, all others are inputs)
nl: (I<XX.po> is de uitvoer, alle andere zijn invoer)

note: type: textblock
en: The B<po4a-gettextize> script helps you converting your previously existing translations into a po4a-based workflow. This is only to be done once to salvage an existing translation while converting to po4a, not on a regular basis after the conversion of your project. This tedious process is explained in details in Section 'Converting a manual translation to po4a' below.
nl: Het script B<po4a-gettextize> helpt u bij het omzetten van uw reeds bestaande vertalingen naar een op po4a gebaseerde werkstroom. Dit moet slechts één keer worden gedaan om een bestaande vertaling te behouden bij de omzetting naar po4a, en niet op regelmatige basis na de omzetting van uw project. Dit vervelende proces wordt in detail uitgelegd in de sectie 'Een handmatige vertaling omzetten naar po4a' hieronder.

note: type: textblock
en: You must provide both a master file (e.g., the source in English) and an existing translated file (e.g., a previous translation attempt without po4a). If you provide more than one master or translation files, they will be used in sequence, but it may be easier to gettextize each page or chapter separately and then use B<msgmerge> to merge all produced PO files. As you wish.
nl: U moet zowel een hoofdbestand (bijv. de bron in het Engels) als een bestaand vertaald bestand (bijv. een eerdere vertaalpoging zonder po4a) aanleveren. Als u meer dan één hoofd- of vertaalbestand aanlevert, zullen ze opeenvolgend worden gebruikt, maar het kan gemakkelijker zijn om elke pagina of elk hoofdstuk afzonderlijk te verwerken met gettextize en dan B<msgmerge> te gebruiken om alle geproduceerde PO-bestanden samen te voegen. Het is zoals u verkiest.

note: type: textblock
en: If the master document has non-ASCII characters, the new generated PO file will be in UTF-8. If the master document is completely in ASCII, the generated PO will use the encoding of the translated input document.
nl: Indien het hoofddocument niet-ASCII-tekens bevat, zal het nieuw aangemaakt PO-bestand in UTF-8 zijn. Indien het hoofddocument volledig in ASCII is, zal het gegenereerde PO-bestand de codering gebruiken van het vertaalde invoerdocument.

note: type: textblock
en: Format of the documentation you want to handle. Use the B<--help-format> option to see the list of available formats.
nl: Indeling van de documentatie die u wilt afhandelen. Gebruik de optie B<--help-format> om de lijst van beschikbare indelingen te zien.

note: type: textblock
en: File containing the master document to translate. You can use this option multiple times if you want to gettextize multiple documents.
nl: Bestand dat het te vertalen hoofddocument bevat. U kunt deze optie meerdere malen gebruiken, indien u meerdere documenten wilt verwerken met gettextize.

note: type: textblock
en: Charset of the file containing the document to translate.
nl: Tekenset van het bestand met het te vertalen document.

note: type: textblock
en: File containing the localized (translated) document. If you provided multiple master files, you may wish to provide multiple localized file by using this option more than once.
nl: Bestand met het gelokaliseerde (vertaalde) document. Indien u meerdere hoofdbestanden verstrekte, wilt u mogelijk meerdere gelokaliseerde bestanden aanleveren door deze optie meerdere keren te gebruiken.

note: type: textblock
en: Charset of the file containing the localized document.
nl: Tekenset van het bestand met het gelokaliseerde document.

note: type: textblock
en: File where the message catalog should be written. If not given, the message catalog will be written to the standard output.
nl: Bestand waarnaartoe de berichtencatalogus moet worden geschreven. Indien dit niet opgegeven wordt, zal de berichtencatalogus naar standaarduitvoer geschreven worden.

note: type: textblock
en: List the documentation formats understood by po4a.
nl: De documentatie-indelingen vermelden die door po4a begrepen worden.

note: type: textblock
en: Keep the temporary master and localized POT files built before merging.  This can be useful to understand why these files get desynchronized, leading to gettextization problems
nl: Bewaar de tijdelijke hoofd- en gelokaliseerde POT-bestanden die gebouwd werden voorafgaand aam het samenvoegen.  Dit kan nuttig zijn als u wilt begrijpen waarom deze bestanden gedesynchroniseerd raken, wat leidt tot gettextisatieproblemen

note: type: =head2
en: Converting a manual translation to po4a
nl: Een handmatige vertaling omzetten naar po4a

note: type: textblock
en: B<po4a-gettextize> synchronizes the master and localized files to extract their content into a PO file. The content of the master file gives the B<msgid> while the content of the localized file gives the B<msgstr>. This process is somewhat fragile: the Nth string of the translated file is supposed to be the translation of the Nth string in the original.
nl: B<po4a-gettextize> synchroniseert de hoofd- en gelokaliseerde bestanden om hun inhoud uit te pakken in een PO-bestand. De inhoud van het hoofdbestand geeft de B<msgid> terwijl de inhoud van het gelokaliseerde bestand de B<msgstr> geeft. Dit proces is enigszins kwetsbaar: de N-de tekenreeks van het vertaalde bestand wordt verondersteld de vertaling te zijn van de N-de tekenreeks in het origineel.

note: type: textblock
en: Gettextization works best if you manage to retrieve the exact version of the original document that was used for translation. Even so, you may need to fiddle with both master and localized files to align their structure if it was changed by the original translator, so working on files' copies is advised.
nl: Gettextisatie werkt het best als u erin slaagt om de exacte versie van het originele document dat voor de vertaling is gebruikt, te achterhalen. Zelfs dan kan het zijn dat u zowel het hoofdbestand als de gelokaliseerde bestanden moet bewerken om hun structuur op elkaar af te stemmen als die door de oorspronkelijke vertaler werd gewijzigd. Dus is het raadzaam om op kopieën van bestanden te werken.

note: type: textblock
en: Internally, each po4a parser reports the syntactical type of each extracted strings. This is how desynchronization are detected during the gettextization.  In the example depicted below, it is very unlikely that the 4th string in translation (of type 'chapter') is the translation of the 4th string in original (of type 'paragraph'). It is more likely that a new paragraph was added to the original, or that two original paragraphs were merged together in the translation.
nl: Intern rapporteert elke po4a-ontleder het syntactische type van elk geëxtraheerd tekstfragment. Dit is de wijze waarop desynchronisatie ontdekt wordt tijdens het gettextisatie-proces. In het onderstaande voorbeeld is het erg onwaarschijnlijk dat het 4de tekstfragment uit de vertaling (van het type 'chapter' (hoofdstuk)) de vertaling is van het 4de tekstfragment uit het origineel (van het type 'paragraph' (alinea)). Het is waarschijnlijker dat aan het origineel een nieuwe alinea toegevoegd werd of dat in de vertaling twee originele alinea's samengevoegd werden.

note: type: verbatim
en:     Original         Translation
nl:     Origineel         Vertaling

note: type: verbatim
en:   chapter            chapter
        paragraph          paragraph
        paragraph          paragraph
        paragraph        chapter
      chapter              paragraph
        paragraph          paragraph
nl:   hoofdstuk            hoofdstuk
        paragraaf          paragraaf
        paragraaf          paragraaf
        paragraaf        hoofdstuk
      hoofdstuk              paragraaf
        paragraaf          paragraaf

note: type: textblock
en: B<po4a-gettextize> will verbosely diagnose any structure desynchronization. When this happens, you should manually edit the files to add fake paragraphs or remove some content here and there until the structure of both files actually match. Some tricks are given below to salvage the most of the existing translation while doing so.
nl: B<po4a-gettextize> zal elke desynchronisatie in de structuur met uitgebreide informatie diagnosticeren. Indien dit gebeurt, moet u de bestanden handmatig bewerken om hier en daar nepparagrafen toe tevoegen of bepaalde inhoud te verwijderen, totdat de structuur van beide bestanden werkelijk overeenkomt. Hieronder worden enkele kneepjes aangereikt om het meeste van de bestaande vertaling te redden terwijl u dit doet.

note: type: textblock
en: If you are lucky enough to have a perfect match in the file structures out of the box, building a correct PO file is a matter of seconds. Otherwise, you will soon understand why this process has such an ugly name :) Even so, gettextization often remains faster than translating everything again. I gettextized the French translation of the whole Perl documentation in one day despite the I<many> synchronization issues. Given the amount of text (2Mb of original text), restarting the translation without first salvaging the old translations would have required several months of work. In addition, this grunt work is the price to pay to get the comfort of po4a. Once converted, the synchronization between master documents and translations will always be fully automatic.
nl: Indien u het geluk heeft dat de bestandsstructuren vanzelf perfect overeenkomen, dan is het bouwen van een correct PO-bestand een kwestie van seconden. In het andere geval zult u vlug begrijpen waarom dit proces zulk een lelijke naam heeft:) Toch blijft gettextisatie vaak sneller dan alles opnieuw vertalen. Ik heb de gettextisatie van de Franse vertaling van de hele Perl-documentatie in één dag gerealiseerd, ondanks de I<vele> synchronisatieproblemen. Gezien de hoeveelheid tekst (2Mb aan originele tekst), zou het opnieuw starten van de vertaling zonder eerst de oude vertalingen te redden, meerdere maanden werk hebben gekost. Bovendien is dit werk dat u doet morren, de prijs die u moet betalen om daarna het comfort van po4a te krijgen. Eens de omzetting achter de rug is, zal de synchronisatie tussen hoofddocumenten en vertalingen steeds volautomatisch verlopen.

note: type: textblock
en: After a successful gettextization, the produced documents should be manually checked for undetected disparities and silent errors, as explained below.
nl: Na een succesvolle gettextisatie moeten de geproduceerde documenten handmatig worden gecontroleerd op niet-gedetecteerde verschillen en stille fouten, zoals hieronder wordt uitgelegd.

note: type: =head3
en: Hints and tricks for the gettextization process
nl: Aanwijzingen en kneepjes voor het gettextize-proces

note: type: textblock
en: The gettextization stops as soon as a desynchronization is detected. When this happens, you need to edit the files as much as needed to re-align the files' structures. B<po4a-gettextize> is rather verbose when things go wrong. It reports the strings that don't match, their positions in the text, and the type of each of them. Moreover, the PO file generated so far is dumped as F<gettextization.failed.po> for further inspection.
nl: De gettextisatie stopt zodra een desynchronisatie wordt gedetecteerd. Wanneer dit gebeurt, moet u de bestanden zo vaak bewerken als nodig is om de structuur van de bestanden opnieuw op één lijn te krijgen. B<po4a-gettextize> geeft behoorlijk veel informatie wanneer er zaken fout lopen. Het rapporteert de tekstfragmenten welke niet overeenstemmen, hun positie in de tekst en van elk van hen het type. Daarenboven wordt het tot dusver gegenereerde PO-bestand gedumpt als F<gettextization.failed.po> voor verdere inspectie.

note: type: textblock
en: Here are some tricks to help you in this tedious process and ensure that you salvage the most of the previous translation:
nl: Hier volgen enkele knepen om u te helpen bij dit saai proces en om ervoor te zorgen dat u het meeste van de eerdere vertaling behoudt:

note: type: textblock
en: Remove all extra content of the translations, such as the section giving credits to the translators. They should be added separately to B<po4a> as addendas (see L<po4a(7)>).
nl: Verwijder alle extra inhoud uit de vertalingen, zoals het onderdeel dat erkenning geeft aan de vertalers. Zij moet afzonderlijk aan B<po4a> worden toegevoegd als addenda (zie L<po4a(7)>).

note: type: textblock
en: When editing the files to align their structures, prefer editing the translation if possible. Indeed, if the changes to the original are too intrusive, the old and new versions will not be matched during the first po4a run after gettextization (see below). Any unmatched translation will be dumped anyway.  That being said, you still want to edit the original document if it's too hard to get the gettextization to proceed otherwise, even if it means that one paragraph of the translation is dumped. The important thing is to get a first PO file to start with.
nl: Bij het bewerken van de bestanden om hun structuur op één lijn te krijgen, moet u er de voorkeur aan geven om zo mogelijk de vertaling te bewerken. Als de wijzigingen aan het origineel inderdaad te ingrijpend zijn, zal het bij de eerste uitvoering van po4a na de gettextisatie (zie hieronder) niet lukken om de oude en de nieuwe versie met elkaar in overeenstemming te brengen. Hoe dan ook zal elke vertaling die niet in overeenstemming is, gedumpt worden. Dat gezegd zijnde, zult u nog steeds het originele document willen bewerken als het anders te moeilijk is om de gettextisatie te laten doorgaan, zelfs als dat betekent dat een paragraaf van de vertaling wordt gedumpt. Het belangrijkste is een eerste PO-bestand te hebben waarmee gestart kan worden.

note: type: textblock
en: Do not hesitate to kill any original content that would not exist in the translated version. This content will be automatically reintroduced afterward, when synchronizing the PO file with the document.
nl: Aarzel niet om eventuele originele inhoud welke in de vertaalde versie niet voorkomt, te vernietigen. Deze inhoud zal nadien automatisch opnieuw ingevoegd worden, wanneer het PO-bestand gesynchroniseerd wordt met het document.

note: type: textblock
en: You should probably inform the original author of any structural change in the translation that seems justified. Issues in the original document should reported to the author. Fixing them in your translation only fixes them for a part of the community. Plus, it is impossible to do so when using po4a ;) But you probably want to wait until the end of the conversion to B<po4a> before changing the original files.
nl: Waarschijnlijk zult u de originele auteur moeten informeren over eventuele structuurveranderingen in de vertaling, welke verantwoord lijken. Problemen in het originele document zouden gemeld moeten worden aan de auteur. Deze enkel in de vertaling repareren, repareert ze slechts voor een deel van de gemeenschap. Bovendien is het met po4a onmogelijk om iets dergelijks te doen;) Maar u wilt waarschijnlijk wachten tot het einde van de omzetting naar B<po4a> voordat u de originele bestanden wijzigt.

note: type: textblock
en: Sometimes, the paragraph content does match, but not their types. Fixing it is rather format-dependent. In POD and man, it often comes from the fact that one of them contains a line beginning with a white space while the other does not.  In those formats, such paragraph cannot be wrapped and thus become a different type. Just remove the space and you are fine. It may also be a typo in the tag name in XML.
nl: Soms komt de inhoud van de alinea's overeen, maar niet hun type. Dit repareren is eerder indelingsafhankelijk. In POD en man komt dit vaak door het feit dat een van beide een regel bevat die begint met een witruimte en het andere niet. In deze indelingen kan een alinea geen dergelijke regelafbreking hebben en wordt ze dus een ander type. Verwijder gewoon de witruimte om de zaak op te lossen. Bij XML kan het ook een typefout in een tag-naam betreffen.

note: type: textblock
en: Likewise, two paragraphs may get merged together in POD when the separating line contains some spaces, or when there is no empty line between the B<=item> line and the content of the item.
nl: Evenzo worden in POD mogelijk twee paragrafen samengevoegd wanneer de scheidingsregel enige spaties bevat, of wanneer er geen lege regel is tussen de B<=item>-regel en de inhoud van dat item.

note: type: textblock
en: Sometimes, the desynchronization message seems odd because the translation is attached to the wrong original paragraph. It is the sign of an undetected issue earlier in the process. Search for the actual desynchronization point by inspecting the file F<gettextization.failed.po> that was produced, and fix the problem where it really is.
nl: Soms lijkt het desynchronisatiebericht vreemd, omdat de vertaling aan de verkeerde originele alinea is toegevoegd. Het is het teken dat eerder in het proces een probleem onopgemerkt bleef. Ga op zoek naar het echte desynchronisatiepunt door het bestand F<gettextization.failed.po> dat gemaakt werd, na te kijken en los het probleem op waar het zich echt bevindt.

note: type: textblock
en: Other issues may come from duplicated strings in either the original or translation. Duplicated strings are merged in PO files, with two references.  This constitutes a difficulty for the gettextization algorithm, that is a simple one to one pairing between the B<msgid>s of both the master and the localized files. It is however believed that recent versions of po4a deal properly with duplicated strings, so you should report any remaining issue that you may encounter.
nl: Andere problemen kunnen het gevolg zijn van dubbele tekenreeksen in het origineel of in de vertaling. Gedupliceerde tekenreeksen worden in PO-bestanden samengevoegd, met twee referenties. Dit vormt een moeilijkheid voor het gettextisatie-algoritme, dat een eenvoudige een-op-een koppeling maakt tussen de B<msgid>'s van zowel het hoofdbestand als van de gelokaliseerde bestanden. Er wordt echter aangenomen dat recente versies van po4a correct omgaan met dubbele tekenreeksen, dus zou u elk overblijvend probleem dat u tegenkomt moeten melden.

note: type: =head2
en: Reviewing files produced by B<po4a-gettextize>
nl: Controleren van door B<po4a-gettextize> geproduceerde bestanden

note: type: textblock
en: Any file produced by B<po4a-gettextize> should be manually reviewed, even when the script terminates successfully. You should skim over the PO file, ensuring that the B<msgid> and B<msgstr> actually match. It is not necessary to ensure that the translation is perfectly correct yet, as all entries are marked as fuzzy translations anyway. You only need to check for obvious matching issues because badly matched translations will be dumped in subsequent steps while you want to salvage them.
nl: Elk bestand dat door B<po4a-gettextize> wordt geproduceerd, moet handmatig worden gecontroleerd, zelfs als het script met succes wordt afgesloten. U moet het PO-bestand overlopen en ervoor zorgen dat de B<msgid> en B<msgstr> daadwerkelijk overeenkomen. Het is niet nodig ervoor te zorgen dat de vertaling reeds helemaal correct is, aangezien alle items sowieso als vage vertalingen worden gemarkeerd. U hoeft alleen te controleren op duidelijke overeenstemmingsproblemen, omdat slecht overeenkomende vertalingen in de volgende stappen worden gedumpt terwijl u ze wilt redden.

note: type: textblock
en: Fortunately, this step does not require to master the target languages as you only want to recognize similar elements in each B<msgid> and its corresponding B<msgstr>. As a speaker of French, English, and some German myself, I can do this for all European languages at least, even if I cannot say one word of most of these languages. I sometimes manage to detect matching issues in non-Latin languages by looking at string length, phrase structures (does the amount of interrogation marks match?) and other clues, but I prefer when someone else can review those languages.
nl: Gelukkig hoeft u voor deze stap de doeltalen niet te beheersen, aangezien u alleen vergelijkbare elementen in elke B<msgstr> en de bijbehorende B<msgstr> wilt herkennen. Omdat ik zelf Frans, Engels en een beetje Duits spreek, kan ik dit in ieder geval voor alle Europese talen doen, zelfs als ik van de meeste van deze talen geen woord spreek. Ik slaag er soms in om overeenstemmingsproblemen in niet-Latijnse talen op te sporen door te kijken naar de lengte van de tekenreeks, naar zinsstructuren (komt het aantal vraagtekens overeen?) en naar andere aanwijzingen, maar ik heb liever dat iemand anders die talen nakijkt.

note: type: textblock
en: If you detect a mismatch, edit the original and translation files as if B<po4a-gettextize> reported an error, and try again. Once you have a decent PO file for your previous translation, backup it until you get po4a working correctly.
nl: Als u wat overeenkomsten betreft, een fout ontdekt, bewerk dan het origineel en de vertalingsbestanden alsof B<po4a-gettextize> een fout meldde, en probeer het opnieuw. Als u eenmaal een fatsoenlijk PO-bestand hebt voor uw vroegere vertaling, maak er dan een back-up van totdat u er in slaagt po4a correct te laten werken.

note: type: =head2
en: Running B<po4a> for the first time
nl: B<po4a> voor het eerst uitvoeren

note: type: textblock
en: The easiest way to setup po4a is to write a B<po4a.conf> configuration file, and use the integrated po4a program (B<po4a-updatepo> and B<po4a-translate> are deprecated). Please check the "CONFIGURATION FILE" Section in L<po4a(1)> documentation for more details.
nl: De eenvoudigste manier om po4a in te stellen is om een configuratiebestand B<po4a.conf> te schrijven, en het geïntegreerde po4a programma te gebruiken (B<po4a-updatepo> en B<po4a-translate> zijn verouderd). Raadpleeg het onderdeel "CONFIGURATIEBESTAND" in de documentatie van L<po4a(1)> voor meer details.

note: type: textblock
en: When B<po4a> runs for the first time, the current version of the master documents will be used to update the PO files containing the old translations that you salvaged through gettextization. This can take quite a long time, because many of the B<msgid>s of from the gettextization do not exactly match the elements of the POT file built from the recent master files. This forces gettext to search for the closest one using a costly string proximity algorithm.  For example, the first run over the Perl documentation's French translation (5.5 MB PO file) took about 48 hours (yes, two days) while the subsequent ones only take seconds.
nl: Wanneer B<po4a> voor de eerste keer wordt uitgevoerd, wordt de huidige versie van de hoofddocumenten gebruikt om de PO-bestanden bij te werken die de oude vertalingen bevatten die u via gettextisatie hebt gered. Dit kan behoorlijk lang duren, omdat veel van de B<msgid>'s uit de gettextisatie niet exact overeenkomen met de elementen van het POT-bestand dat is opgebouwd uit de recente hoofdbestanden. Dit dwingt gettext om met behulp van een kostelijk tekenreeksverwantschapsalgoritme te zoeken naar wat er het dichtst bij aanleunt. Zo duurde de eerste doorloop van de Franse vertaling van de Perl-documentatie (PO-bestand van 5,5 MB) bijvoorbeeld ongeveer 48 uur (ja, twee dagen), terwijl de daaropvolgende slechts enkele seconden in beslag nemen.

note: type: =head2
en: Moving your translations to production
nl: Uw vertalingen inschakelen in het productieproces

note: type: textblock
en: After this first run, the PO files are ready to be reviewed by translators. All entries were marked as fuzzy in the PO file by B<po4a-gettextization>, forcing their careful review before use. Translators should take each entry to verify that the salvaged translation actually match the current original text, update the translation on need, and remove the fuzzy markers.
nl: Na deze eerste doorloop zijn de PO-bestanden klaar om door vertalers gecontroleerd te worden. Alle items in het PO-bestand werden door B<po4a-gettextization> als vaag gemarkeerd, zodat ze vóór gebruik zorgvuldig moeten worden nagekeken. Vertalers moeten bij elke invoer nagaan of de geredde vertaling daadwerkelijk overeenstemt met de huidige originele tekst, ze moeten de vertaling indien nodig bijwerken en de vaag-markeringen verwijderen.

note: type: textblock
en: Once enough fuzzy markers are removed, B<po4a> will start generating the translation files on disk, and you're ready to move your translation workflow to production. Some projects find it useful to rely on weblate to coordinate between translators and maintainers, but that's beyond B<po4a>' scope.
nl: Zodra er voldoende vaag-markeringen zijn verwijderd, begint B<po4a> met het genereren op schijf van de vertalingsbestanden en bent u klaar om uw vertaalwerkstroom in het productieproces in te schakelen. Sommige projecten vinden het nuttig om beroep te doen op weblate voor de coördinatie tussen vertalers en beheerders, maar dat valt buiten het bereik van B<po4a>.

note: type: textblock
en: po4a-normalize - normalize a documentation file by parsing it in po4a, and writing it back
nl: po4a-normalize - een documentatiebestand normaliseren door het te ontleden in po4a en het terug weg te schrijven

note: type: textblock
en: B<po4a-normalize> B<-f> I<fmt> I<master.doc>
nl: B<po4a-normalize> B<-f> I<fmt> I<hoofdbestand.doc>

note: type: textblock
en: The po4a (PO for anything) project goal is to ease translations (and more interestingly, the maintenance of translations) using gettext tools on areas where they were not expected like documentation.
nl: 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.

note: type: textblock
en: The B<po4a-normalize> script is a debugging tool used to make sure that po4a don't change the document when it's not supposed to. Only use it if you're developing a new module, or if you doubt the sanity of the tools.
nl: Het script <po4a-normalize> is een debughulpmiddel dat gebruikt wordt om er zeker van te zijn dat po4a het document niet wijzigt wanneer het niet verondersteld wordt dat te doen. Gebruik het enkel als u een nieuwe module ontwikkelt of indien u twijfelt aan de correctheid van de hulpmiddelen.

note: type: textblock
en: The generated document will be written to F<po4a-normalize.output> while the generated POT file will be written to F<po4a-normalize.po> by default, but you can use the B<--localized> and B<--pot> options to change that.
nl: Het gegenereerde document wordt weggeschreven als F<po4a-normalize.output>, terwijl het gegenereerde POT-bestand standaard weggeschreven wordt naar F<po4a-normalize.po>, maar u kunt de opties B<--localized> en B<--pot> gebruiken om dit aan te passen.

note: type: textblock
en: Create an blank translated document.  The generated translated document will be generated assuming all messages are translated by a space or new line.
nl: Een leeg vertaald document creëren. Het gegenereerde document zal gegenereerd worden in de veronderstelling dat alle berichten vertaald worden als een spatie of een regeleinde.

note: type: textblock
en: This is useful to check what parts of the document cannot be translated.
nl: Dit is nuttig om na te gaan welke delen van het document niet vertaald kunnen worden.

note: type: textblock
en: Name of the normalized file to produce (I<po4a-normalize.output> by default).
nl: Naam van het te produceren genormaliseerde bestand (standaard I<po4a-normalize.output>).

note: type: textblock
en: Pot file to produce (I<po4a-normalize.po> by default).
nl: Te produceren pot-bestand (standaard I<po4a-normalize.po>).

note: type: textblock
en: Copyright 2002-2020 by SPI, inc.
nl: Copyright 2002-2020 door SPI, inc.

note: type: textblock
en: po4a-translate - convert a PO file back to documentation format
nl: po4a-translate - een PO-bestand terug omzetten naar documentatie-indeling

note: type: textblock
en: B<po4a-translate> B<-f> I<fmt> B<-m> I<master.doc> B<-p> I<XX.po> B<-l> I<XX.doc>
nl: B<po4a-translate> B<-f> I<fmt> B<-m> I<hoofddocument.doc> B<-p> I<XX.po> B<-l> I<XX.doc>

note: type: textblock
en: (I<XX.doc> is the output, all others are inputs)
nl: (I<XX.doc> is de uitvoer, alle andere zijn invoer)

note: type: textblock
en: The B<po4a-translate> script is in charge of converting the translation (which was done in a PO file) back into the documentation format. The provided PO file should be the translation of the POT file which was produced by L<po4a-gettextize(1)>.
nl: Het script B<po4a-translate> is belast met het terug omzetten van de vertaling (welke in een PO-bestand gedaan werd) naar de documentatie-indeling. Het verstrekte PO-bestand moet de vertaling zijn van het POT-bestand dat geproduceerd werd met L<po4a-gettextize(1)>.

note: type: textblock
en: Add a file to the resulting file (to put translator's name or a section "About this translation", for example). The first line of the file to insert should be a PO4A header indicating where it should be added (see section B<HOWTO add extra text to translations> in L<po4a(7)>).
nl: Een bestand toevoegen aan het bestand dat het resultaat bevat (bijvoorbeeld, om er de naam van de vertaler in te plaatsen of een sectie "Over deze vertaling"). De eerste regel van het in te voegen bestand moet een PO4A-header zijn die aangeeft waar het moet ingevoegd worden (raadpleeg de sectie B<Hoe extra tekst toevoegen aan vertalingen> in L<po4a(7)>).

note: type: textblock
en: File containing the master document to translate.
nl: Bestand dat het te vertalen hoofddocument bevat.

note: type: textblock
en: File where the localized (translated) document should be written.
nl: Bestand waarin het gelokaliseerde (vertaalde) document geschreven moet worden.

note: type: textblock
en: File from which the message catalog should be read.
nl: Bestand waaruit de berichtencatalogus gelezen moet worden.

note: type: textblock
en: Minimal threshold for translation percentage to keep (i.e. write) the resulting file (default: 80). I.e. by default, files have to be translated at least at 80% to get written.
nl: Drempelwaarde in termen van minimaal percentage vertaalde tekst om het resulterende bestand te bewaren (d.w.z. weg te schrijven) (standaard: 80); bestanden moeten minimaal voor 80% vertaald zijn om weggeschreven te worden.

note: type: textblock
en: Column at which we should wrap the resulting file.
nl: Op welke kolom een regelafbreking moet gebeuren in het bestand.

note: type: textblock
en: Argument can be followed by a comma and either B<wrap> or B<nowrap> keyword.  References are written by default on a single line.  The B<wrap> option wraps references on several lines, to mimic B<gettext> tools (B<xgettext> and B<msgmerge>).  This option will become the default in a future release, because it is more sensible.  The B<nowrap> option is available so that users who want to keep the old behavior can do so.
nl: Het argument kan gevolgd worden door een komma en het sleutelwoord  B<wrap> of B<nowrap>. Referenties worden standaard op één enkele regel geschreven. Met de optie B<wrap> worden de referenties op verschillende regels geplaatst om het B<gettext>-gereedschap (B<xgettext> en B<msgmerge>) na te bootsen. In een toekomstige release zal deze optie de standaard worden, omdat dit zinvoller is. De optie B<nowrap> is beschikbaar, zodat gebruikers die zulks wensen, het oude gedrag kunnen behouden.

note: type: textblock
en: Historically, the gettext suite has reformatted the po files at the 77th column for cosmetics. This option specifies the behavior of po4a. If set to a numerical value, po4a will wrap the po file after this column and after newlines in the content. If set to B<newlines>, po4a will only split the msgid and msgstr after newlines in the content. If set to B<no>, po4a will not wrap the po file at all.  The wrapping of the reference comments is controlled by the B<--porefs> option.
nl: Vanouds brak de gettext-suite uit cosmetische overwegingen de regels van po-bestanden af bij de 77e kolom. Deze optie specificeert het gedrag van po4a. Indien dit ingesteld wordt op een numerieke waarde, zal po4a de regels van het po-bestand afbreken na deze kolom en na regeleinden die in de inhoud voorkomen. Indien dit ingesteld wordt op B<newlines>, zal po4a  de msgid en msgstr enkel afbreken na regeleinden die in de inhoud voorkomen. Indien dit ingesteld wordt op B<no>, zal po4a helemaal geen regelafbreking toepassen in het po-bestand. De regelafbreking in het referentiecommentaar wordt geregeld door de optie B<--porefs>.

note: type: textblock
en: Note that this option has no impact on how the msgid and msgstr are wrapped, ie on how newlines are added to the content of these strings.
nl: Merk op dat deze optie geen impact heeft op de wijze waarop regelafbreking in msgid en msgstr gebeurt, d.w.z. op hoe einderegels toegevoegd worden aan de inhoud van deze tekstfragmenten.

note: type: =head1
en: Adding content (beside translations) to generated files
nl: Inhoud (naast vertalingen) toevoegen aan gegenereerde bestanden

note: type: textblock
en: To add some extra content to the generated document beside what you translated (like the name of the translator, or an "About this translation" section), you should use the B<--addendum> option.
nl: Om naast de vertaling extra inhoud toe te voegen aan het gegenereerde document (zoals de naam van de vertaler of een sectie "Over deze vertaling"). moet u de optie B<--addendum> gebruiken.

note: type: textblock
en: The first line of the addendum must be a header indicating where to put it in the document (it can be before or after a given part of the document).  The rest of the file will be added verbatim to the resulting file without further processing.
nl: De eerste regel van het addendum moet een header zijn die aangeeft waar in het document dit geplaatst moet worden (dit kan voor of na een bepaald onderdeel van het document zijn). De rest van het bestand zal woordelijk en zonder verdere verwerking toegevoegd worden aan het resulterende bestand.

note: type: textblock
en: Note that if po4a-translate fails to add one of the given files, it discards the whole translation (because the missing file could be the one indicating the author, what would prevent the users to contact him to report bugs in the translation).
nl: Merk op dat indien po4a-translate er niet in slaagt een van de gegeven bestanden toe te voegen, het de volledige vertaling zal verwerpen (omdat het ontbrekende bestand mogelijk hetgene is dat aangeeft wie de auteur is, wat het onmogelijk zou maken om deze te contacteren om fouten in de vertaling te signaleren).

note: type: textblock
en: The header has a pretty rigid syntax. For more information on how to use this feature and how it works, please refer to the L<po4a(7)> man page.
nl: Voor de header geldt een behoorlijk rigide syntaxis. Voor meer informatie over het gebruik van deze functionaliteit en over de werking ervan, raadpleegt u de man-pagina L<po4a(7)>.

note: type: textblock
en: po4a-updatepo - update the translation (in PO format) of documentation
nl: po4a-updatepo - de vertaling (in PO-formaat) van documentatie updaten

note: type: textblock
en: B<po4a-updatepo> B<-f> I<fmt> (B<-m> I<master.doc>)+ (B<-p> I<XX.po>)+
nl: B<po4a-updatepo> B<-f> I<fmt> (B<-m> I<hoofddocument.doc>)+ (B<-p> I<XX.po>)+

note: type: textblock
en: (I<XX.po> are the outputs, all others are inputs)
nl: (I<XX.po> zijn de uitvoerbestanden, alle andere zijn invoer)

note: type: textblock
en: The B<po4a-updatepo> script is in charge of updating PO files to make them reflect the changes made to the original documentation file. For that, it converts the documentation file to a POT file, and call L<msgmerge(1)> on this new POT and on the provided PO files.
nl: Het script B<po4a-updatepo> is belast met het updaten van PO-bestanden om ze de wijzigingen die aan het originele documentatiebestand aangebracht werden, te laten weerspiegelen. Daartoe zet het dit documentatiebestand om naar een POT-bestand en voert het L<msgmerge(1)> uit op dit nieuwe POT-bestand en de opgegeven PO-bestanden.

note: type: textblock
en: It is possible to give more than one PO file (if you want to update several languages at once), and several documentation files (if you want to store the translations of several documents in the same PO file).
nl: Het is mogelijk om meer dan één PO-bestand op te geven (indien u verschillende talen tegelijk wilt updaten), en verschillende documentatiebestanden (indien u de vertaling van verschillende documenten in hetzelfde PO-bestand wilt opslaan).

note: type: textblock
en: If the master document has non-ASCII characters, this script will convert the PO files to UTF-8 (if they weren't already), for a transparent handling of non-standard characters.
nl: Indien het hoofddocument niet-ASCII-tekens bevat, zal dit script de PO-bestanden naar UTF-8 converteren (als ze het niet reeds waren) voor een transparante verwerking van niet-standaard tekens.

note: type: textblock
en: File(s) containing the master document to translate.
nl: Bestand(en) met het te vertalen hoofddocument.

note: type: textblock
en: Charset of the files containing the document to translate. Note that all files must have the same charset.
nl: Tekenset van de bestanden met het te vertalen document. Merk op dat alle bestanden dezelfde tekenset moeten gebruiken.

note: type: textblock
en: PO file(s) to update. If these files do not exist, they are created by B<po4a-updatepo>.
nl: Te updaten PO-bestand(en). Indien deze bestanden niet bestaan, worden ze door B<po4a-updatepo> aangemaakt.

note: type: textblock
en: This option removes B<--previous> from the options passed to B<msgmerge>.  This helps supporting old versions of B<gettext> (before v0.16).
nl: Deze optie verwijdert B<--previous> uit de opties die doorgegeven worden aan B<msgmerge>.  Dit helpt oude versies van B<gettext> (voor 0.16) te ondersteunen.

note: type: textblock
en: msguntypot - update PO files when a typo is fixed in POT file
nl: msguntypot - PO-bestanden updaten wanneer in een POT-bestand een typefout gerepareerd werd

note: type: textblock
en: B<msguntypot> B<-o> I<old_pot> B<-n> I<new_pot> I<pofiles> ...
nl: B<msguntypot> B<-o> I<oude_pot> B<-n> I<nieuwe_pot> I<po-bestanden> ...

note: type: textblock
en: When you fix a trivial error which surely doesn't affect translations (e.g.  a typo) in a POT file, you should unfuzzy the corresponding msgstr in the translated PO files to avoid so extra work to the translators.
nl: Wanneer u in een POT-bestand een triviale fout repareert die zeker geen invloed heeft op de vertalingen (bijv. een typefout), zou u bij de betreffende msgstr in de vertaalde PO-bestanden de markering I<fuzzy> (onnauwkeurig) moeten weghalen, om op die manier de vertalers extra werk te besparen.

note: type: textblock
en: This task is difficult and error prone when done manually, and this tool is there to help doing so correctly. You just need to provide the two versions of the POT file: before the edition and after as marked in the above synopsis, and it all becomes automatic.
nl: Dit is een moeilijke en foutgevoelige taak wanneer dit handmatig gebeurt, en dit hulpmiddel is bedoeld om te helpen dit correct te laten verlopen. U moet de twee versies van het POT-bestand opgeven: deze van voor de bewerking en deze van erna, zoals in het bovenstaande overzicht aangegeven wordt, en alles verloopt automatisch.

note: type: =head1
en: HOW TO USE IT
nl: GEBRUIK

note: type: textblock
en: In short, when you discover a typo in one of your [english] message, do the following:
nl: In het kort, wanneer u een typefout ontdekt in een van uw [Engelse] berichten, doe dan het volgende:

note: type: =item
en: - Regenerate your POT and PO files.
nl: - Uw POT- en PO-bestanden opnieuw aanmaken.

note: type: verbatim
en:   make -C po/ update-po # for message program translations
      debconf-updatepo      # for debconf translations
      po4a po4a.conf        # for po4a based documentation translations
nl:   make -C po/ update-po # voor de vertaling van berichten van een programma
      debconf-updatepo      # voor debconf-vertalingen
      po4a po4a.conf        # voor op po4a-gebaseerde vertalingen van documentatie

note: type: textblock
en: or something else, depending on your project's building settings. You know how to make sure your POT and PO files are uptodate, don't you??
nl: of iets anders, afhankelijk van de bouwinstellingen voor uw project. U weet hoe u ervoor kunt zorgen dat uw POT- en PO-bestanden up-to-date zijn, nietwaar?

note: type: =item
en: - Make a copy of your POT file.
nl: - Maak een kopie van uw POT-bestand.

note: type: verbatim
en:   cp myfile.pot myfile.pot.orig
nl:   cp mijn_bestand.pot mijn_bestand.pot.orig

note: type: =item
en: - Make a copy of all your PO files.
nl: - Maak een kopie van al uw PO-bestanden.

note: type: verbatim
en:   mkdir po_fridge; cp *.po po_fridge
nl:   mkdir po_koelkast; cp *.po po_koelkast

note: type: =item
en: - Fix your typo.
nl: - Verbeter uw typefout.

note: type: textblock
en: $EDITOR the_file_in_which_there_is_a_typo
nl: $EDITOR het_bestand_met_de_typefout

note: type: textblock
en: See above.
nl: Zie hierboven.

note: type: textblock
en: At this point, the typo fix fuzzied all the translations, and this unfortunate change is the only one between the PO files of your main directory and the one from the fridge. Here is how to solve this.
nl: Op dit punt heeft de verbetering van de typefout alle vertalingen onnauwkeurig gemaakt, en deze ongelukkige wijziging is het enige verschil tussen de PO-bestanden in uw hoofdmap en deze uit de koelkast-map. Hier volgt hoe u dit kunt oplossen.

note: type: =item
en: - Discard fuzzy translation, restore the ones from the fridge.
nl: - Verwijder de onnauwkeurig gemaakte vertalingen en plaats deze uit de koelkast terug.

note: type: verbatim
en:   cp po_fridge/*.po .
nl:   cp po_koelkast/*.po .

note: type: =item
en: - Manually merge the PO files with the new POT file, but taking the useless fuzzy into account.
nl: - Voeg de PO-bestanden handmatig samen met het nieuwe POT-bestand, waarbij er rekening mee gehouden wordt dat een markering I<fuzzy> (onnauwkeurig) nutteloos is.

note: type: verbatim
en:   msguntypot -o myfile.pot.orig -n myfile.pot *.po
nl:   msguntypot -o mijnbestand.pot.orig -n mijnbestand.pot *.po

note: type: =item
en: - Cleanups.
nl: - Opruimingen.

note: type: verbatim
en:   rm -rf myfile.pot.orig po_fridge
nl:   rm -rf mijnbestand.pot.orig po_koelkast

note: type: textblock
en: You're done. The typo was eradicated from msgstr of both your POT and PO files, and the PO files were not fuzzyied in the process. Your translators love you already.
nl: U bent klaar. De typefout werd verwijderd uit de msgstr van zowel uw POT-bestand als uw PO-bestanden, en tijdens dit proces werden uw PO-bestanden niet onnauwkeurig gemaakt. Vanaf nu houden uw vertalers van u.

note: type: textblock
en: Despite its name, this tool is not part of the gettext tool suite. It is instead part of po4a. More precisely, it's a random Perl script using the fine po4a modules. For more information about po4a, please see:
nl: Ondanks zijn naam maakt dit hulpmiddel geen deel uit van de gettext-gereedschapssuite. Het maakt daarentegen wel deel uit van po4a. Het is meer bepaald een willekeurig Perl-script dat de fijne po4a-modules gebruikt. Raadpleeg voor meer informatie over po4a:

note: type: textblock
en: Copyright 2005 by SPI, inc.
nl: Copyright 2005 door SPI, inc.

note: type: textblock
en: po4a - framework to translate documentation and other materials
nl: po4a - raamwerk voor de vertaling van documentatie en ander materiaal

note: type: =head1
en: Introduction
nl: Inleiding

note: type: textblock
en: po4a (PO for anything) eases the maintenance of documentation translation using the classical gettext tools. The main feature of po4a is that it decouples the translation of content from its document structure.
nl: po4a (PO voor alles) vergemakkelijkt het onderhoud van de vertaling van documentatie via het gebruik van het klassieke gettext-gereedschap. De belangrijkste eigenschap van po4a is dat het de vertaling van de inhoud loskoppelt van de structuur van het document.

note: type: textblock
en: This document serves as an introduction to the po4a project with a focus on potential users considering whether to use this tool and on the curious wanting to understand why things are the way they are.
nl: Dit document dient als een inleiding tot het po4a-project met een focus op potentiële gebruikers die zich afvragen of ze dit hulpmiddel zouden gebruiken, en op nieuwsgierigen die willen begrijpen waarom de dingen zijn zoals ze zijn.

note: type: =head1
en: Why po4a?
nl: Waarom po4a?

note: type: textblock
en: The philosophy of Free Software is to make the technology truly available to everyone. But licensing is not the only consideration: untranslated free software is useless for non-English speakers. Therefore, we still have some work to do to make software available to everybody.
nl: De filosofie van Vrije Software is om de technologie echt voor iedereen beschikbaar te maken. Maar het licentie-aspect is niet het enige om in overweging te nemen: voor niet-Engelstaligen is niet-vertaalde software nutteloos. Daarom hebben we nog steeds wat werk te doen om software voor iedereen beschikbaar te maken.

note: type: textblock
en: This situation is well understood by most projects and everybody is now convinced of the necessity to translate everything. Yet, the actual translations represent a huge effort of many individuals, crippled by small technical difficulties.
nl: Door de meeste projecten wordt deze situatie goed begrepen en iedereen is nu overtuigd van de noodzaak om alles te vertalen. Niettemin betekent het eigenlijke vertaalwerk een geweldige inspanning voor veel individuen, gehandicapt door kleine technische moeilijkheden.

note: type: textblock
en: Thankfully, Open Source software is actually very well translated using the gettext tool suite. These tools are used to extract the strings to translate from a program and present the strings to translate in a standardized format (called PO files, or translation catalogs). A whole ecosystem of tools has emerged to help the translators actually translate these PO files. The result is then used by gettext at run time to display translated messages to the end users.
nl: Gelukkig wordt opensourcesoftware eigenlijk heel goed vertaald met behulp van de gettext gereedschapssuite. Dit gereedschap wordt gebruikt om de te vertalen tekstfragmenten uit een programma te extraheren en deze te vertalen tekstfragmenten aan te bieden in een gestandaardiseerde indeling (PO-bestanden genoemd, ofwel vertaalcatalogus). Een heel ecosysteem hulpmiddelen is ontstaan om vertalers te helpen bij het daadwerkelijk vertalen van deze PO-bestanden. Het resultaat wordt vervolgens door gettext gebruikt om tijdens de programmauitvoering de vertaalde berichten aan de eindgebruiker te tonen.

note: type: textblock
en: Regarding documentation, however, the situation still somewhat disappointing.  At first translating documentation may seem to be easier than translating a program as it would seem that you just have to copy the documentation source file and start translating the content. However, when the original documentation is modified, keeping track of the modifications quickly turns into a nightmare for the translators. If done manually, this task is unpleasant and error prone.
nl: Met betrekking tot documentatie is de situatie nog steeds enigszins ontgoochelend. Op het eerste gezicht lijkt het vertalen van documentatie makkelijker dan een programma vertalen, aangezien het erop lijkt dat je gewoon het bronbestand met de documentatie moet kopiëren en moet beginnen met het vertalen van de inhoud. Wanneer aan de originele documentatie echter aanpassingen gemaakt worden, wordt het bijhouden van de wijzigingen al snel een nachtmerrie voor de vertalers. Indien deze taak manueel moet gebeuren is ze onaangenaam en foutgevoelig.

note: type: textblock
en: Outdated translations are often worse than no translation at all. End-users can be tricked by documentation describing an old behavior of the program.  Furthermore, they cannot interact directly with the maintainers since they don't speak English. Additionally, the maintainer cannot fix the problem as they don't know every language in which their documentation is translated.  These difficulties, often caused by poor tooling, can undermine the motivation of volunteer translators, further aggravating the problem.
nl: Verouderde vertalingen zijn vaak erger dan helemaal geen vertaling. Eindgebruikers kunnen misleid worden door documentatie die een verouderd gedrag van het programma beschrijft. Bovendien kunnen zij niet rechtstreeks in interactie treden met de onderhouders, omdat zij geen Engels spreken. Daarenboven kan de onderhouder het probleem niet oplossen, aangezien deze niet elke taal kan kennen waarin de documentatie vertaald werd. Deze moeilijkheden, vaak veroorzaakt door slecht gereedschap, kan de motivatie van vertaalvrijwilligers ondermijnen en zo leiden tot een verdere verergering van het probleem.

note: type: textblock
en: B<The goal of the po4a project is to ease the work of documentation translators>.  In particular, it makes documentation translations I<maintainable>.
nl: B<Het doel van het po4a-project is om het werk van documentatievertalers te vergemakkelijken>.  In het bijzonder maakt het documentatievertalingen I<onderhoudbaar>.

note: type: textblock
en: The idea is to reuse and adapt the gettext approach to this field. As with gettext, texts are extracted from their original locations and presented to translators as PO translation catalogs. The translators can leverage the classical gettext tools to monitor the work to do, collaborate and organize as teams. po4a then injects the translations directly into the documentation structure to produce translated source files that can be processed and distributed just like the English files. Any paragraph that is not translated is left in English in the resulting document, ensuring that the end users never see an outdated translation in the documentation.
nl: Het idee bestaat erin de gettext-aanpak te hergebruiken en aan te passen aan deze sector. Zoals dat met gettext het geval is, worden teksten geëxtraheerd uit hun originele locatie en aan vertalers voorgelegd als PO-vertaalcatalogi. De vertalers kunnen gebruik maken van het klassieke gettext-gereedschap om het te presteren werk op te volgen, om samen te werken en zich als team te organiseren. Daarna injecteert po4a de vertalingen rechtstreeks in de structuur van de documentatie om vertaalde bronbestanden te produceren die verwerkt en verspreid kunnen worden, net als de Engelse bestanden. Elke onvertaalde paragraaf blijft in het uiteindelijke document in het Engels staan, zodat er voor gezorgd wordt dat de eindgebruiker nooit een verouderde vertaling te zien krijgt in de documentatie.

note: type: textblock
en: This automates most of the grunt work of the translation maintenance.  Discovering the paragraphs needing an update becomes very easy, and the process is completely automated when elements are reordered without further modification. Specific verification can also be used to reduce the chance of formatting errors that would result in a broken document.
nl: Dit automatiseert het grootste deel van het zware werk van het onderhoud van vertalingen. Te weten komen welke paragrafen bijgewerkt moeten worden, wordt erg makkelijk, en het proces van het herordenen van elementen zonder dat er verder iets wijzigt, verloopt volledig automatisch. Ook kan specifieke verificatie toegepast worden om de kans op opmaakfouten, welke tot een defect document zouden leiden, te verkleinen.

note: type: textblock
en: Please also see the B<FAQ> below in this document for a more complete list of the advantages and disadvantages of this approach.
nl: Raadpleeg ook de B<FAQ> verder in dit document, voor een meer volledige lijst van de voor- en nadelen van deze aanpak.

note: type: =head2
en: Supported formats
nl: Ondersteunde indelingen

note: type: textblock
en: Currently, this approach has been successfully implemented to several kinds of text formatting formats:
nl: Momenteel werd deze aanpak met succes toegepast voor verschillende soorten tekstopmaakindelingen:

note: type: =item
en: man (mature parser)
nl: man (voldragen ontleder)

note: type: textblock
en: The good old manual pages' format, used by so many programs out there. po4a support is very welcome here since this format is somewhat difficult to use and not really friendly to newbies.
nl: De goede oude man-paginaindeling, welke door zoveel programma's gebruikt wordt. Ondersteuning door po4a is hier erg welkom, aangezien deze indeling enigszins moeilijk te gebruiken is en niet echt vriendelijk voor nieuwkomers.

note: type: textblock
en: The L<Locale::Po4a::Man(3pm)|Man> module also supports the mdoc format, used by the BSD man pages (they are also quite common on Linux).
nl: De module L<Locale::Po4a::Man(3pm)|Man> ondersteunt ook de mdoc-indeling, welke door de BSD man-pagina's gebruikt wordt (deze zijn ook redelijk gebruikelijk onder Linux).

note: type: =item
en: AsciiDoc (mature parser)
nl: AsciiDoc (voldragen ontleder)

note: type: textblock
en: This format is a lightweight markup format intended to ease the authoring of documentation. It is for example used to document the git system. Those manpages are translated using po4a.
nl: Dit is een lichtgewicht opmaakindeling, bedoeld om het schrijven van documentatie te vergemakkelijken. Zij wordt bijvoorbeeld gebruikt voor het documenteren van het git-systeem. Deze man-pagina's worden vertaald met po4a.

note: type: textblock
en: See L<Locale::Po4a::AsciiDoc> for details.
nl: Zie L<Locale::Po4a::AsciiDoc> voor details.

note: type: =item
en: pod (mature parser)
nl: pod (voldragen ontleder)

note: type: textblock
en: This is the Perl Online Documentation format. The language and extensions themselves are documented using this format in addition to most existing Perl scripts. It makes easy to keep the documentation close to the actual code by embedding them both in the same file. It makes programmer's life easier, but unfortunately, not the translator's, until you use po4a.
nl: Dit is de indeling voor de Perl Online Documentatie. De computertaal en de uitbreidingen ervan worden gedocumenteerd met behulp van deze indeling, net als de meeste bestaande Perl-scripts. Het maakt het makkelijk om de documentatie dicht bij de echte code te houden, door beide in te bedden in hetzelfde bestand. Het maakt het leven van programmeurs makkelijker, maar jammer genoeg niet dat van vertalers, tenzij u po4a gebruikt.

note: type: textblock
en: See L<Locale::Po4a::Pod> for details.
nl: Zie L<Locale::Po4a::Pod> voor details.

note: type: =item
en: sgml (mature parser)
nl: sgml (voldragen ontleder)

note: type: textblock
en: Even if superseded by XML nowadays, this format is still used for documents which are more than a few screens long. It can even be used for complete books.  Documents of this length can be very challenging to update. B<diff> often reveals useless when the original text was re-indented after update.  Fortunately, po4a can help you after that process.
nl: Zelfs als deze indeling tegenwoordig wordt vervangen door XML, wordt ze nog steeds gebruikt voor documenten van meer dan enkele schermen lang. Ze kan zelfs gebruikt worden voor volledige boeken. Het kan een hele uitdaging zijn om dergelijk lange documenten bij te werken. B<diff> blijkt vaak niet bruikbaar te zijn wanneer na het bijwerken het inspringen van  de oorspronkelijke tekst opnieuw werd uitgevoerd. Gelukkig kan po4a u na dit proces behulpzaam zijn.

note: type: textblock
en: Currently, only DebianDoc and DocBook DTD are supported, but adding support for a new one is really easy. It is even possible to use po4a on an unknown SGML DTD without changing the code by providing the needed information on the command line. See L<Locale::Po4a::Sgml(3pm)> for details.
nl: Momenteel worden enkel DebianDoc en DocBook DTD ondersteund, maar iets anders ondersteunen is erg gemakkelijk. Het is zelfs mogelijk om zonder de code te wijzigen po4a te gebruiken bij een onbekende SGML DTD door de nodige informatie op te geven aan de commandoregel. Zie L<Locale::Po4a::Sgml(3pm)> voor details.

note: type: =item
en: TeX / LaTeX (mature parser)
nl: TeX / LaTeX (voldragen ontleder)

note: type: textblock
en: The LaTeX format is a major documentation format used in the Free Software world and for publications.
nl: De LaTeX-indeling is een heel belangrijke indeling voor documentatie in de vrije-softwarewereld evenals voor publicaties.

note: type: textblock
en: The L<Locale::Po4a::LaTeX(3pm)|LaTeX> module was tested with the Python documentation, a book and some presentations.
nl: De module L<Locale::Po4a::LaTeX(3pm)|LaTeX> werd getest met de Python-documentatie , een boek en enkele presentaties.

note: type: =item
en: text (mature parser)
nl: text (voldragen ontleder)

note: type: textblock
en: The Text format is the base format for many formats that include long blocks of text, including Markdown, fortunes, YAML front matter section, debian/changelog, and debian/control.
nl: De indeling Text is de basisindeling voor veel indelingen welke lange blokken tekst bevatten, waaronder Markdown, fortunes, inleidend gedeelte van YAML, debian/changelog en debian/control.

note: type: textblock
en: This supports the common format used in Static Site Generators, READMEs, and other documentation systems. See L<Locale::Po4a::Text(3pm)|Text> for details.
nl: Dit ondersteunt de indeling die Static Site Generators, README's en andere documentatiesystemen gebruiken en gemeen hebben.

note: type: =item
en: xml and XHMTL (probably mature parser)
nl: xml and XHMTL (vermoedelijk voldragen ontleder)

note: type: textblock
en: The XML format is a base format for many documentation formats.
nl: De indeling XML is een basisindeling voor veel documentatie-indelingen.

note: type: textblock
en: Currently, the DocBook DTD (see L<Locale::Po4a::Docbook(3pm)> for details) and XHTML are supported by po4a.
nl: Momenteel worden DocBook DTD (zie L<Locale::Po4a::Docbook(3pm)> voor details) en XHTML door po4a ondersteund.

note: type: =item
en: BibTex (probably mature parser)
nl: BibTex (vermoedelijk voldragen ontleder)

note: type: textblock
en: The BibTex format is used alongside LaTex for formatting lists of references (bibliographies).
nl: De BibTex-bestandsindeling wordt naast LaTex gebruikt voor het opmaken van referentielijsten (bibliografieën).

note: type: textblock
en: See L<Locale::Po4a::BibTex> for details.
nl: Zie L<Locale::Po4a::BibTex> voor details.

note: type: =item
en: Docbook (probably mature parser)
nl: Docbook (vermoedelijk voldragen ontleder)

note: type: textblock
en: A XML-based markup language that uses semantic tags to describe documents.
nl: Een op XML gebaseerde opmaaktaal die semantische tags gebruikt om documenten te beschrijven.

note: type: textblock
en: See L<Locale::Po4a:Docbook> for greater details.
nl: Zie L<Locale::Po4a:Docbook> voor meer details.

note: type: =item
en: Guide XML (probably mature parser)
nl: Guide XML (vermoedelijk voldragen ontleder)

note: type: textblock
en: A XML documentation format. This module was developed specifically to help with supporting and maintaining translations of Gentoo Linux documentation up until at least March 2016 (Based on the Wayback Machine). Gentoo have since moved to the DevBook XML format.
nl: Een XML-documentatieformaat. Deze module is speciaal ontwikkeld in functie van het ondersteunen en onderhouden van vertalingen van Gentoo Linux-documentatie tot ten minste maart 2016 (gebaseerd op de Wayback Machine). Gentoo is sindsdien overgestapt naar de DevBook XML-bestandsindeling.

note: type: textblock
en: See L<Locale::Po4a:Guide> for greater details.
nl: Zie L<Locale::Po4a:Guide> voor meer details.

note: type: =item
en: Wml (probably mature parser)
nl: Wml (vermoedelijk voldragen ontleder)

note: type: textblock
en: The Web Markup Language, do not mixup WML with the WAP stuff used on cell phones.  This module relies on the Xhtml module, which itself relies on the XmL module.
nl: De Web-opmaaktaal (Web Markup Language); verwar WML niet met de WAP-spullen die op mobiele telefoons worden gebruikt. Deze module is gebaseerd op de Xhtml-module, die zelf weer is gebaseerd op de XmL-module.

note: type: textblock
en: See L<Locale::Po4a::Wml> for greater details.
nl: Zie L<Locale::Po4a::Wml> voor meer details.

note: type: =item
en: Yaml (probably mature parser)
nl: Yaml (vermoedelijk voldragen ontleder)

note: type: textblock
en: A strict superset of JSON. YAML is often used as systems or configuration projects.  YAML is at the core of Red Hat's Ansible.
nl: Een strikte superset van JSON. YAML wordt vaak gebruikt als systeem- of configuratieproject. YAML vormt de kern van Red Hat's Ansible.

note: type: textblock
en: See L<Locale::Po4a::Yaml> for greater details.
nl: Zie L<Locale::Po4a::Yaml> voor meer details.

note: type: =item
en: RubyDoc (probably mature parser)
nl: RubyDoc (vermoedelijk voldragen ontleder)

note: type: textblock
en: The Ruby Document (RD) format, originally the default documentation format for Ruby and Ruby projects before converted to RDoc in 2002. Though apparently the Japanese version of the Ruby Reference Manual still use RD.
nl: Het Ruby Document (RD) formaat, oorspronkelijk het standaard documentatieformaat voor Ruby en Ruby-projecten voordat in 2002 werd overgeschakeld naar RDoc, hoewel de Japanse versie van het Ruby Referentiehandboek blijkbaar nog steeds RD gebruikt.

note: type: textblock
en: See L<Locale::Po4a::RubyDoc> for greater details.
nl: Zie L<Locale::Po4a::RubyDoc> voor meer details.

note: type: =item
en: Halibut (probably experimental parser)
nl: Halibut (vermoedelijk experimentele ontleder)

note: type: textblock
en: A documentation production system, with elements similar to TeX, debiandoc-sgml, TeXinfo, and others, developed by Simon Tatham, the developer of PuTTY.
nl: Een documentatieproductiesysteem, met elementen die te vergelijken zijn met TeX, debiandoc-sgml, TeXinfo, en andere, ontwikkeld door Simon Tatham, de ontwikkelaar van PuTTY.

note: type: textblock
en: See L<Locale::Po4a:Halibut> for greater details.
nl: Zie L<Locale::Po4a:Halibut> voor meer details.

note: type: =item
en: Ini (probably experimental parser)
nl: Ini (vermoedelijk experimentele ontleder)

note: type: textblock
en: Configuration file format popularized by MS-DOS.
nl: Configuratiebestandsindeling, populair geworden door MS-DOS.

note: type: textblock
en: See L<Locale::Po4a::Ini> for greater details.
nl: Zie L<Locale::Po4a::Ini> voor meer details.

note: type: =item
en: texinfo (very highly experimental parser)
nl: texinfo (zeer erg experimentele ontleder)

note: type: textblock
en: All of the GNU documentation is written in this format (it's even one of the requirements to become an official GNU project). The support for L<Locale::Po4a::Texinfo(3pm)|Texinfo> in po4a is still at the beginning.  Please report bugs and feature requests.
nl: Alle GNU-documentatie wordt in deze indeling geschreven (het is zelfs een vereiste om een officieel GNU-project te worden). De ondersteuning in po4a voor L<Locale::Po4a::Texinfo(3pm)|Texinfo> zit nog steeds in zijn beginfase. Gelieve problemen en functieverzoeken te rapporteren.

note: type: =item
en: Others supported formats
nl: Andere ondersteunde indelingen

note: type: textblock
en: Po4a can also handle some more rare or specialized formats, such as the documentation of compilation options for the 2.4+ Linux kernels (L<Locale::Po4a::KernelHelp>) or the diagrams produced by the dia tool (L<Locale::Po4a:Dia>). Adding a new format is often very easy and the main task is to come up with a parser for your target format. See L<Locale::Po4a::TransTractor(3pm)> for more information about this.
nl: Po4a kan ook overweg met enkele meer zeldzame of gespecialiseerde indelingen, zoals de documentatie over compilatieopties voor de 2.4+ Linux-kernels (L<Locale::Po4a::KernelHelp>) of de diagrammen die door het programma dia (L<Locale::Po4a:Dia>) geproduceerd worden. Een nieuwe indeling toevoegen is vaak erg gemakkelijk en de belangrijkste taak bestaat erin een ontleder aan te brengen voor de beoogde indeling. Zie L<Locale::Po4a::TransTractor(3pm)> voor meer informatie hierover.

note: type: =item
en: Unsupported formats
nl: Niet-ondersteunde indelingen

note: type: textblock
en: Unfortunately, po4a still lacks support for several documentation formats. Many of them would be easy to support in po4a. This includes formats not just used for documentation, such as, package descriptions (deb and rpm), package installation scripts questions, package changelogs, and all the specialized file formats used by programs such as game scenarios or wine resource files.
nl: Jammer genoeg biedt po4a nog geen ondersteuning voor verschillende documentaie-indelingen. Voor vele zou po4a makkelijk ondersteuning kunnen bieden. Het betreft indelingen die niet enkel voor documentatie gebruikt worden, zoals pakketbeschrijvingen (deb en rpm), vragen van pakketinstallatiescripts, changelogs van pakketten en alle gespecialiseerde bestandsformaten welke gebruikt worden door programma's zoals spelscenario's en wine-bronbestanden.

note: type: =head1
en: Using po4a
nl: Het gebruik van po4a

note: type: textblock
en: Historically, po4a was built around four scripts, each fulfilling a specific task. L<po4a-gettextize(1)> helps bootstrapping translations and optionally converting existing translation projects to po4a. L<po4a-updatepo(1)> reflects the changes to the original documentation into the corresponding po files.  L<po4a-translate(1)> builds translated source file from the original file and the corresponding PO file. In addition, L<po4a-normalize(1)> is mostly useful to debug the po4a parsers, as it produces an untranslated document from the original one. It makes it easier to spot the glitches introduced by the parsing process.
nl: Oorspronkelijk werd po4a gebouwd rond vier scripts, welke elk een specifieke taak vervullen. L<po4a-gettextize(1)> helpt bij het opstarten van vertalingen en eventueel bij het converteren van bestaande vertaalprojecten naar po4a. L<po4a-updatepo(1)> reflecteert de wijzigingen in de originele documentatie in de overeenkomstige po-bestanden.  L<po4a-translate(1)> bouwt een vertaald bronbestand uit de originele documentatie en het overeenkomstige PO-bestand. Daarnaast is er L<po4a-normalize(1)> dat vooral nuttig is voor het debuggen van de po4a-ontleders, omdat het een onvertaald document produceert vanuit het origineel. Het maakt het gemakkelijker om de door het parser-proces veroorzaakte probleempjes op te sporen.

note: type: textblock
en: Most projects only require the features of L<po4a-updatepo(1)> and L<po4a-translate(1)>, but these scripts proved to be cumbersome and error prone to use. If the documentation to translate is split over several source files, it is difficult to keep the PO files up to date and build the documentation files correctly. As an answer, a all-in-one tool was provided: L<po4a(1)>. This tool takes a configuration file describing the structure of the translation project: the location of the PO files, the list of files to translate, and the options to use, and it fully automates the process. When you invoke L<po4a(1)>, it both updates the PO files and regenerate the translation files that need to. If everything is already up to date, L<po4a(1)> does not change any file.
nl: De meeste projecten hebben enkel de functionaliteit van L<po4a-updatepo(1)> en L<po4a-translate(1)> nodig, maar deze scripts bleken in het gebruik omslachtig en foutgevoelig te zijn. Indien de te vertalen documentatie opgesplitst is in verschillende bronbestanden, is het moeilijk om de PO-bestanden up-to-date te houden en de documentatiebestanden correct te bouwen. Als antwoord hierop wordt een alles-in-ééngereedschap aangereikt: L<po4a(1)>. Dit gereedschap vertrekt van een configuratiebestand dat de structuur van het vertaalproject beschrijft: de locatie van de PO-bestanden, de lijst van de te vertalen bestanden en de te gebruiken opties, en het automatiseert dit proces volledig. Wanneer u L<po4a(1)> uitvoert, werkt het niet enkel de PO-bestanden bij, maar het regenereert ook de vertaalbestanden welke dit nodig hebben. Indien alles reeds up-to-date is, verandert L<po4a(1)> geen enkel bestand.

note: type: textblock
en: The rest of this section gives an overview of how use the scripts' interface of po4a. Most users will probably prefer to use the all-in-one tool, that is described in the documentation of L<po4a(1)>.
nl: In de rest van dit onderdeel vindt u een overzicht over hoe de scriptinterface van po4a wordt gebruikt. De meeste gebruikers zullen er waarschijnlijk de voorkeur aan geven het alles-in-ééngereedschap te gebruiken, dat beschreven wordt in de documentatie van L<po4a(1)>.

note: type: =head2
en: Graphical overview of the po4a scripts
nl: Grafisch overzicht van de po4a-scripts

note: type: textblock
en: The following schema gives an overview of how each po4a script can be used.  Here, F<master.doc> is an example name for the documentation to be translated; F<XX.doc> is the same document translated in the language XX while F<doc.XX.po> is the translation catalog for that document in the XX language. Documentation authors will mostly be concerned with F<master.doc> (which can be a manpage, an XML document, an asciidoc file or similar); the translators will be mostly concerned with the PO file, while the end users will only see the F<XX.doc> file.
nl: Het volgende schema geeft een overzicht van hoe elk po4a-script gebruikt kan worden. Hier is F<hoofddocument.doc> een voorbeeldnaam voor de te vertalen documentatie; F<XX.doc> is hetzelfde document, vertaald in taal XX, terwijl F<doc.XX.po> de vertaalcatalogus van dat document is in taal XX. Auteurs van documentatie zullen zich hoofdzakelijk  bezighouden met F<hoofddocument.doc> (dit kan een man-pagina zijn, een XML-document, een asciidoc-bestand of iets dergelijks). De vertalers zullen zich hoofdzakelijk bezighouden met het PO-bestand, terwijl de eindgebruikers uitsluitend het bestand F<XX.doc> zullen zien.

note: type: verbatim
en:                                    master.doc
                                           |
                                           V
         +<-----<----+<-----<-----<--------+------->-------->-------+
         :           |                     |                        :
    {translation}    |         { update of master.doc }             :
         :           |                     |                        :
       XX.doc        |                     V                        V
     (optional)      |                 master.doc ->-------->------>+
         :           |                   (new)                      |
         V           V                     |                        |
      [po4a-gettextize]   doc.XX.po -->+   |                        |
              |            (old)       |   |                        |
              |              ^         V   V                        |
              |              |     [po4a-updatepo]                  |
              V              |           |                          V
       translation.pot       ^           V                          |
              |              |        doc.XX.po                     |
              |              |         (fuzzy)                      |
       { translation }       |           |                          |
              |              ^           V                          V
              |              |     {manual editing}                 |
              |              |           |                          |
              V              |           V                          V
          doc.XX.po --->---->+<---<-- doc.XX.po    addendum     master.doc
          (initial)                 (up-to-date)  (optional)   (up-to-date)
              :                          |            |             |
              :                          V            |             |
              +----->----->----->------> +            |             |
                                         |            |             |
                                         V            V             V
                                         +------>-----+------<------+
                                                      |
                                                      V
                                               [po4a-translate]
                                                      |
                                                      V
                                                    XX.doc
                                                 (up-to-date)
nl:                                    hoofddocument.doc
                                           |
                                           V
         +<-----<----+<-----<-----<--------+------->-------->-------+
         :           |                     |                        :
    {vertaling}      |         { update van hoofddocument.doc }         :
         :           |                     |                        :
       XX.doc        |                     V                        V
     (facultatief)   |              hoofddocument.doc ->-------->------>+
         :           |                   (nieuw)                      |
         V           V                     |                        |
      [po4a-gettextize]   doc.XX.po -->+   |                        |
              |            (oud)       |   |                        |
              |              ^         V   V                        |
              |              |     [po4a-updatepo]                  |
              V              |           |                          V
       vertaling.pot         ^           V                          |
              |              |        doc.XX.po                     |
              |              |         (onnauwkeurig)                 |
       { vertaling }         |           |                          |
              |              ^           V                          V
              |              |     {handmatig bewerken}              |
              |              |           |                          |
              V              |           V                          V
          doc.XX.po --->---->+<---<-- doc.XX.po    addendum     hoofddocument.doc
          (initieel)                 (up-to-date)  (facultatief)   (up-to-date)
              :                          |            |             |
              :                          V            |             |
              +----->----->----->------> +            |             |
                                         |            |             |
                                         V            V             V
                                         +------>-----+------<------+
                                                      |
                                                      V
                                               [po4a-translate]
                                                      |
                                                      V
                                                    XX.doc
                                                 (up-to-date)

note: type: textblock
en: This schema is complicated, but in practice only the right part (involving L<po4a-updatepo(1)> and L<po4a-translate(1)>) is used once the project is setup and configured.
nl: Dit schema is gecompliceerd, maar in de praktijk wordt enkel het rechterdeel gebruikt (waarbij L<po4a-updatepo(1)> en L<po4a-translate(1)> betrokken zijn) nadat het project opgezet en geconfigureerd is.

note: type: textblock
en: The left part depicts how L<po4a-gettextize(1)> can be used to convert an existing translation project to the po4a infrastructure. This script takes an original document and its translated counterpart, and tries to build the corresponding PO file. Such manual conversion is rather cumbersome (see the L<po4a-gettextize(1)> documentation for more details), but it is only needed once to convert your existing translations. If you don't have any translation to convert, you can forget about this and focus on the right part of the schema.
nl: Het linkerdeel laat zien hoe L<po4a-gettextize(1)> kan worden gebruikt om een bestaand vertaalproject te converteren naar de po4a-infrastructuur. Dit script gebruikt een origineel document en zijn vertaalde tegenhanger en tracht het overeenkomstige PO-bestand te bouwen. Een dergelijke handmatige conversie is nogal omslachtig (zie de documentatie over L<po4a-gettextize(1)> voor meer details), maar ze moet slechts eenmaal gebruikt worden om uw bestaande vertalingen om te zetten. Indien u geen te converteren vertalingen heeft, kunt u dit vergeten en u concentreren op het rechterdeel van het schema.

note: type: textblock
en: On the top right part, the action of the original author is depicted, updating the documentation. The middle right part depicts the automatic actions of L<po4a-updatepo(1)>. The new material is extracted and compared against the exiting translation. The previous translation is used for the parts that didn't change, while partially modified parts are connected to the previous translation with a "fuzzy" marker indicating that the translation must be updated. New or heavily modified material is left untranslated.
nl: In de rechterbovenhoek wordt de actie van de oorspronkelijke auteur afgebeeld, welke de documentatie bijwerkt. Het middelste rechterdeel geeft de automatische acties van L<po4a-updatepo(1)> weer. Het nieuwe materiaal wordt geëxtraheerd en vergeleken met de bestaande vertaling. De vorige vertaling wordt gebruikt voor de delen welke niet gewijzigd werden, terwijl de gedeeltelijk gewijzigde delen gekoppeld worden aan de vorige vertaling met de aanduiding "fuzzy" (onnauwkeurig), hetgeen aangeeft dat de vertaling moet bijgewerkt worden. Nieuw of grondig gewijzigd materiaal blijft onvertaald.

note: type: textblock
en: Then, the I<manual editing> reported depicts the action of the translators, that modify the PO files to provide translations to every original string and paragraph. This can be done using either a specific editor such as the B<GNOME Translation Editor>, KDE's B<Lokalize> or B<poedit>, or using an online localization platform such as B<weblate> or B<pootle>. The translation result is a set of PO files, one per language. Please refer to the gettext documentation for more details.
nl: Vervolgens geeft het gerapporteerde I<handmatig bewerken> de actie van de vertalers weer, welke de PO-bestanden wijzigen om te voorzien in een vertaling voor elk origineel tekstfragment en alinea. Dit kan gebeuren met een specifieke editor, zoals de B<GNOME Translation Editor>, KDE's B<Lokalize> of B<poedit>, of met een online lokalisatieplatform, zoals B<weblate> of B<pootle>. Het resultaat van de vertaling is een aantal PO-bestanden, één per taal. Raadpleeg de gettext-documentatie voor meer details.

note: type: textblock
en: The bottom part of the figure shows how L<po4a-translate(1)> creates a translated source document from the F<master.doc> original document and the F<doc.XX.po> translation catalog that was updated by the translators. The structure of the document is reused, while the original content is replaced by its translated counterpart. Optionally, an addendum can be used to add some extra text to the translation. This is often used to add the name of the translator to the final document. See below for details.
nl: Het onderste deel van de afbeelding toont hoe L<po4a-translate(1)> een vertaald brondocument creëert uit het originele document F<hoofddocument.doc> en de vertaalcatalogus F<doc.XX.po> die door de vertalers bijgewerkt werd. De structuur van het document wordt hergebruikt, terwijl de originele inhoud vervangen wordt door de vertaalde tegenhanger. Facultatief kan een addendum gebruikt worden om aan de vertaling extra tekst toe te voegen. Dit wordt vaak gebruikt om de naam van de vertaler toe te voegen aan het uiteindelijke document. Zie hieronder voor details.

note: type: textblock
en: As noted before, the L<po4a(1)> program combines the effects of the separated scripts, updating the PO files and the translated document in one invocation.  The underlying logic remains the same.
nl: Zoals voordien reeds aangegeven werd, combineert het programma L<po4a(1)> de effecten van de aparte scripts en werkt de PO-bestanden en het vertaalde document bij in één beweging. De onderliggende logica blijft dezelfde.

note: type: =head2
en: Starting a new translation
nl: Beginnen met een nieuwe vertaling

note: type: textblock
en: If you use L<po4a(1)>, there is no specific step to start a translation. You just have to list the languages in the configuration file, and the missing PO files are automatically created. Naturally, the translator then have to provide translations for every content used in your documents. L<po4a(1)> also creates a POT file, that is a PO template file. Potential translators can translate your project into a new language by renaming this file and providing the translations in their language.
nl: Indien u L<po4a(1)> gebruikt, bestaat er geen specifieke stap voor het starten van een vertaling. U moet gewoon de talen vermelden in het configuratiebestand en de ontbrekende PO-bestanden worden automatisch gecreëerd. Natuurlijk moet de vertaler dan voor de vertaling zorgen van alle inhoud uit uw documenten. L<po4a(1)> creëert ook een POT-bestand, hetgeen een PO-sjabloonbestand is. Potentiële vertalers kunnen uw project naar een nieuwe taal vertalen door dit bestand te hernoemen en te zorgen voor de vertaling ervan in hun taal.

note: type: textblock
en: If you prefer to use the individual scripts separately, you should use L<po4a-gettextize(1)> as follows to create the POT file. This file can then be copied into F<XX.po> to initiate a new translation.
nl: Indien u verkiest om de individuele scripts apart te gebruiken, moet u L<po4a-gettextize(1)> als volgt gebruiken om het POT-bestand te creëren. Dit bestand kan dan gekopieerd worden naar F<XX.po> om een nieuwe vertaling te starten.

note: type: verbatim
en:   $ po4a-gettextize --format <format> --master <master.doc> --po <translation.pot>
nl:   $ po4a-gettextize --format <indeling> --master <hoofddocument.doc> --po <vertaling.pot>

note: type: textblock
en: The master document is used in input, while the POT file is the output of this process.
nl: Het hoofddocument wordt als invoer gebruikt, terwijl het POT-bestand de uitvoer van dit proces is.

note: type: =head2
en: Integrating changes to the original document
nl: Wijzigingen in het originele document integreren

note: type: textblock
en: The script to use for that is L<po4a-updatepo(1)> (please refer to its documentation for details):
nl: Het script dat daarvoor gebruikt moet worden is L<po4a-updatepo(1)> (raadpleeg de erbij horende documentatie voor details):

note: type: verbatim
en:   $ po4a-updatepo --format <format> --master <new_master.doc> --po <old_doc.XX.po>
nl:   $ po4a-updatepo --format <indeling> --master <nieuw_hoofddocument.doc> --po <oud_doc.XX.po>

note: type: textblock
en: The master document is used in input, while the PO file is updated: it is used both in input and output.
nl: Het hoofddocument wordt gebruikt als invoer, terwijl het PO-bestand bijgewerkt wordt: het wordt gebruikt als invoer en als uitvoer.

note: type: =head2
en: Generating a translated document
nl: Een vertaald document genereren

note: type: textblock
en: Once you're done with the translation, you want to get the translated documentation and distribute it to users along with the original one.  For that, use the L<po4a-translate(1)> program as follows:
nl: Als u klaar bent met de vertaling, wilt u de vertaalde documentatie nemen en deze samen met het origineel verdelen naar de gebruikers. Daarvoor moet u het programma L<po4a-translate(1)> als volgt gebruiken:

note: type: verbatim
en:   $ po4a-translate --format <format> --master <master.doc> --po <doc.XX.po> --localized <XX.doc>
nl:   $ po4a-translate --format <indeling> --master <hoofddocument.doc> --po <doc.XX.po> --localized <XX.doc>

note: type: textblock
en: Both the master and PO files are used in input, while the localized file is the output of this process.
nl: Zowel het hoofddocument als de PO-bestanden worden als invoer gebruikt, terwijl het gelokaliseerde bestand de uitvoer is van dit proces.

note: type: =head2
en: Using addenda to add extra text to translations
nl: Addenda gebruiken om extra tekst toe te voegen aan vertalingen

note: type: textblock
en: Adding new text to the translation is probably the only thing that is easier in the long run when you translate files manually :). This happens when you want to add an extra section to the translated document, not corresponding to any content in the original document. The classical use case is to give credits to the translation team, and to indicate how to report translation-specific issues.
nl: Het toevoegen van nieuwe tekst aan de vertaling is waarschijnlijk het enige dat op de lange termijn gemakkelijker is wanneer u bestanden handmatig vertaalt :). Dit gebeurt wanneer u een extra onderdeel wilt toevoegen aan het vertaalde document, waarvoor in het originele document geen overeenkomstige inhoud bestaat. Het klassieke toepassingsgebied is erkenning geven aan het vertaalteam en aangeven hoe vertaalspecifieke problemen gemeld kunnen worden.

note: type: textblock
en: With po4a, you have to specify B<addendum> files, that can be conceptually viewed as patches applied to the localized document after processing. Each addendum must be provided as a separate file, which format is however very different from the classical patches. The first line is a I<header line>, defining the insertion point of the addendum (with an unfortunately cryptic syntax -- see below) while the rest of the file is added verbatim at the determined position.
nl: Met po4a moet u B<addendum>-bestanden opgeven, die conceptueel beschouwd kunnen worden als patches die na verwerking toegepast worden op het gelokaliseerde document. Elk addendum moet als apart bestand aangereikt worden. De indeling ervan verschilt evenwel erg van klassieke patches. De eerste regel is een I<header-regel>, die het invoegpunt van het addendum definieert (met een helaas cryptische syntaxis -- zie hieronder), terwijl de rest van het bestand woordelijk toegevoegd wordt op de aangegeven positie.

note: type: textblock
en: The header line must begin with the string B<PO4A-HEADER:>, followed by a semi-colon separated list of I<key>B<=>I<value> fields.
nl: De header-regel moet beginnen met de tekst B<PO4A-HEADER:>, gevolgd door een door puntkomma's gescheiden lijst van I <sleutel> B <=> I <waarde> velden.

note: type: textblock
en: For example, the following header declares an addendum that must be placed at the very end of the translation.
nl: Bijvoorbeeld, de volgende header declareert een addendum dat helemaal aan het einde van de vertaling geplaatst moet worden.

note: type: textblock
en: Things are more complex when you want to add your extra content in the middle of the document. The following header declares an addendum that must be placed after the XML section containing the string C<About this document> in translation.
nl: De zaken zijn complexer wanneer u de extra inhoud wilt toevoegen in het midden van het document. De volgende header declareert bijvoorbeeld een addendum dat ingevoegd moet worden na de XML-sectie welke het tekstfragment C<Over dit document> bevat in de vertaling.

note: type: textblock
en: In practice, when trying to apply an addendum, po4a searches for the first line matching the C<position> argument (this can be a regexp). Do not forget that po4a considers the B<translated> document here. This documentation is in English, but your line should probably read as follows if you intend your addendum to apply to the French translation of the document.
nl: Wanneer po4a tracht een addendum toe te passen, zoekt het in de praktijk naar de eerste regel die overeenkomt met het C<position>-argument (dit kan een reguliere expressie zijn). Vergeet niet dat po4a hier rekening houdt met het B<vertaalde> document. Deze documentatie is in het Nederlands (en de originele versie ervan in het Engels), maar uw regel zou er waarschijnlijk als volgt moeten uitzien, indien u van plan bent een addendum toe te passen op de Franse vertaling van het document.

note: type: textblock
en: Once the C<position> is found in the target document, po4a searches for the next line after the C<position> that matches the provided C<endboundary>. The addendum is added right B<after> that line (because we provided an I<endboundary>, i.e. a boundary ending the current section).
nl: Nadat in het doeldocument de C<position> gevonden werd, zoekt po4a naar de eerstvolgende regel na deze C<position> welke overeenkomt met de opgegeven C<endboundary>. Het addendum wordt ingevoegd net B<na> deze regel (omdat we een I<endboundary> opgaven, d.w.z. een begrenzing die de huidige sectie afsluit).

note: type: textblock
en: The exact same effect could be obtained with the following header, that is equivalent:
nl: Exact hetzelfde effect kan bekomen worden met de volgende header, die gelijkwaardig is:

note: type: verbatim
en:  PO4A-HEADER: position=About this document; mode=after; beginboundary=<section>
nl:  PO4A-HEADER: position=Over dit document; mode=after; beginboundary=<section>

note: type: textblock
en: Here, po4a searches for the first line matching C<<section>> after the line matching C<About this document> in the translation, and add the addendum B<before> that line since we provided a I<beginboundary>, i.e. a boundary marking the beginning of the next section. So this header line requires to place the addendum after the section containing C<About this document>, and instruct po4a that a section starts with a line containing the C<<section>> tag. This is equivalent to the previous example because what you really want is to add this addendum either after C</section>> or before C<<section>>.
nl: Hier zoekt po4a naar de eerste regel die overeenkomt met C<<section>> na de regel die overeenkomt met C<Over dit document> in de vertaling en voegt het addendum toe B<voor> die regel, omdat we een I<beginboundary> opgegeven hebben, d.w.z. een begrenzing welke het begin van de volgende sectie markeert. Deze header-regel vereist dus dat het addendum geplaatst wordt na de sectie waarin C<Over dit document> voorkomt, en informeert po4a dat een sectie begint met een regel welke de tag C<<section>> bevat. Dit is het equivalent van het vorige voorbeeld, want wat u eigenlijk wilt is het addendum in te voegen na C<</section>> en voor C<<section>>.

note: type: textblock
en: You can also set the insertion I<mode> to the value C<before>, with a similar semantic: combining C<mode=before> with an C<endboundary> will put the addendum just B<after> the matched boundary, that the last potential boundary line before the C<position>. Combining C<mode=before> with an C<beginboundary> will put the addendum just B<before> the matched boundary, that the last potential boundary line before the C<position>.
nl: U kunt de invoeging I<mode> ook instellen op de waarde C<before>, met een vergelijkbare semantiek: het combineren van C<mode = before> met een C<endboundary> zal het addendum juist B<na> de overeenkomstige begrenzing plaatsen, welke de laatst mogelijke begrenzing is voor de C<position>. De combinatie van C<mode = before> met een C<beginboundary> zal het addendum juist B<voor> de overeenkomstige begrenzing plaatsen, welke de laatst mogelijke grensregel is vóór de C<position>.

note: type: verbatim
en:   Mode   | Boundary kind |     Used boundary      | Insertion point compared to the boundary
     ========|===============|========================|=========================================
     'before'| 'endboundary' | last before 'position' | Right after the selected boundary
     'before'|'beginboundary'| last before 'position' | Right before the selected boundary
     'after' | 'endboundary' | first after 'position' | Right after the selected boundary
     'after' |'beginboundary'| first after 'position' | Right before the selected boundary
     'eof'   |   (none)      |  n/a                   | End of file
nl:   Modus   | Soort begrenzing |     Gebruikte begrenzing      | Invoegpunt tegenover begrenzing
     ========|===============|========================|=========================================
     'before'| 'endboundary' | laatste voor 'position' | Juist na de geselecteerde begrenzing
     'before'|'beginboundary'| laatste voor 'position' | Juist voor de geselecteerde begrenzing
     'after' | 'endboundary' | eerste na 'position' | Juist na de geselecteerde begrenzing
     'after' |'beginboundary'| eerste na 'position' | Juist voor de geselecteerde begrenzing
     'eof'   |   (geen)      |  n.v.t.                   | Einde van het bestand

note: type: =head3
en: Hint and tricks about addenda
nl: Aanwijzingen en kneepjes in verband met addenda

note: type: textblock
en: Remember that these are regexp. For example, if you want to match the end of a nroff section ending with the line C<.fi>, do not use C<.fi> as B<endboundary>, because it will match with C<the[ fi]le>, which is obviously not what you expect. The correct B<endboundary> in that case is: C<^\.fi$>.
nl: Denk eraan dat dit reguliere expressies zijn. Indien u bijvoorbeeld het einde van een nroff-sectie wilt opzoeken welke eindigt met de regel C<.fi>, moet u niet C<.fi> gebruiken als B<endboundary>, omdat dit een overeenkomst zal opleveren met C<the [fi]le>, hetgeen duidelijk niet is wat u verwacht. De juiste B<endboundary> in dit geval is: C<^\.fi$>.

note: type: textblock
en: White spaces ARE important in the content of the C<position> and boundaries. So the two following lines B<are different>. The second one will only be found if there is enough trailing spaces in the translated document.
nl: Witruimte IS belangrijk in de inhoud van de C<position> en de begrenzingen. En dus zijn de twee volgende zinnen B<verschillend>. De tweede zal slechts gevonden worden als er in het vertaalde document voldoende nakomende spaties zijn.

note: type: verbatim
en:  PO4A-HEADER: position=About this document; mode=after; beginboundary=<section>
     PO4A-HEADER: position=About this document ; mode=after; beginboundary=<section>
nl:  PO4A-HEADER: position=Over dit document; mode=after; beginboundary=<section>
     PO4A-HEADER: position=Over dit document ; mode=after; beginboundary=<section>

note: type: textblock
en: Although this context search may be considered to operate roughly on each line of the B<translated> document, it actually operates on the internal data string of the translated document. This internal data string may be a text spanning a paragraph containing multiple lines or may be a XML tag itself alone. The exact I<insertion point> of the addendum must be before or after the internal data string and can not be within the internal data string.
nl: Hoewel ruwweg zou kunnen aangenomen worden dat deze contextzoekfunctie werkt op elke regel van het B<vertaalde> document, werkt het in feite op de interne gegevensreeks van het vertaalde document. Deze interne gegevensreeks kan een tekst zijn die een volledige alinea beslaat en meerdere regels bevat, of kan ook enkel een XML-tag zijn. Het exacte I<invoegpunt> van het addendum moet voor of na de interne gegevensreeks komen en kan er niet binnenin liggen.

note: type: textblock
en: Pass the B<-vv> argument to po4a to understand how the addenda are added to the translation. It may also help to run po4a in debug mode to see the actual internal data string when your addendum does not apply.
nl: Geef het argument B<-vv> op aan po4a om te zien hoe de addenda aan de vertaling worden toegevoegd. Dit kan ook behulpzaam zijn voor het uitvoeren van po4a in debug-modus om de exacte gegevensreeks te bekijken wanneer het addendum niet toegevoegd wordt.

note: type: =head3
en: Addenda examples
nl: Voorbeelden van addenda

note: type: textblock
en: If you want to add something after the following nroff section:
nl: Indien u na de volgende nroff-sectie iets wilt toevoegen:

note: type: verbatim
en:   .SH "AUTHORS"
nl:   .SH "AUTEURS"

note: type: textblock
en: You should select a two step approach by setting B<mode=after>. Then you should narrow down search to the line after B<AUTHORS> with the B<position> argument regex. Then, you should match the beginning of the next section (i.e., B<^\.SH>) with the B<beginboundary> argument regex. That is to say:
nl: U moet een benadering in twee stappen selecteren door B<mode = after> in te stellen. Vervolgens moet u de zoekopdracht beperken tot de regel na B<AUTEURS> met de reguliere expressie voor het argument B<position>. Daarna moet u het begin van de volgende sectie (d.w.z. B<^\.SH>) laten opzoeken met de reguliere expressie voor het argument B<beginboundary>. Het is te zeggen:

note: type: verbatim
en:  PO4A-HEADER:mode=after;position=AUTHORS;beginboundary=\.SH
nl:  PO4A-HEADER:mode=after;position=AUTEURS;beginboundary=\.SH

note: type: textblock
en: If you want to add something right after a given line (e.g. after the line "Copyright Big Dude"), use a B<position> matching this line, B<mode=after> and give a B<beginboundary> matching any line.
nl: Indien u iets wilt toevoegen vlak na een bepaalde regel (bijv. na de regel "Copyright Grote Kerel"), gebruik dan een B<position> die met deze regel overeenkomt, B<mode=after> en geef een B<beginboundary> op die met om het even welke regel overeenkomt.

note: type: verbatim
en:  PO4A-HEADER:mode=after;position=Copyright Big Dude, 2004;beginboundary=^
nl:  PO4A-HEADER:mode=after;position=Copyright Grote Kerel, 2004;beginboundary=^

note: type: textblock
en: If you want to add something at the end of the document, give a B<position> matching any line of your document (but only one line. Po4a won't proceed if it's not unique), and give an B<endboundary> matching nothing. Don't use simple strings here like B<"EOF">, but prefer those which have less chance to be in your document.
nl: Indien u iets wilt toevoegen aan het einde van het document, geef dan een B<position> op die overeenkomt met om het even welke regel van uw document (maar enkel één regel, omdat po4a niet zal aanvaarden dat de B<position> niet met één enkele regel overeenkomt), en geef een B<endboundary> op die met niets overeenkomt. Gebruik hier geen eenvoudige tekenreeks, zoals B<"EOF">, maar geef de voorkeur aan die welke minder kans maken om in uw document voor te komen.

note: type: verbatim
en:  PO4A-HEADER:mode=after;position=About this document;beginboundary=FakePo4aBoundary
nl:  PO4A-HEADER:mode=after;position=Over dit document;beginboundary=VerzonnenPo4aBegrenzing

note: type: =head3
en: More detailed example
nl: Een meer gedetailleerd voorbeeld

note: type: textblock
en: Original document (POD formatted):
nl: Origineel document (POD-indeling):

note: type: verbatim
en:  |=head1 NAME
     |
     |dummy - a dummy program
     |
     |=head1 AUTHOR
     |
     |me
nl:  |=head1 NAAM
     |
     |dummy - een dummy-programma
     |
     |=head1 AUTEUR
     |
     |ik

note: type: textblock
en: Then, the following addendum will ensure that a section (in French) about the translator is added at the end of the file (in French, "TRADUCTEUR" means "TRANSLATOR", and "moi" means "me").
nl: Dan zal het volgende addendum ervoor zorgen dat een sectie (in het Frans) over de vertaler toegevoegd wordt aan het eind van het bestand ("TRADUCTEUR" in het Frans betekent "VERTALER", en "moi" betekent "ik").

note: type: textblock
en: To put your addendum before the AUTHOR, use the following header:
nl: Om uw addendum voor de AUTEUR te plaatsen, gebruikt u de volgende header:

note: type: verbatim
en:  PO4A-HEADER:mode=after;position=NOM;beginboundary=^=head1
nl:  PO4A-HEADER:mode=after;position=NAAM;beginboundary=^=head1

note: type: textblock
en: This works because the next line matching the B<beginboundary> /^=head1/ after the section "NAME" (translated to "NOM" in French), is the one declaring the authors. So, the addendum will be put between both sections. Note that if another section is added between NAME and AUTHOR sections later, po4a will wrongfully put the addenda before the new section.
nl: Dit werkt omdat de volgende regel die overeenkomt met de B<beginboundary> /^=head1/ na de sectie "NAME" (vertaald als "NAAM" in het Nederlands), die is welke de auteurs vermeldt. Dus zal het addendum tussen de beide secties geplaatst worden. Merk op dat indien later een andere sectie toegevoegd wordt tussen de secties NAAM en AUTEUR, po4a de addenda ten onrechte zal plaatsen voor de nieuwe sectie.

note: type: textblock
en: To avoid this you may accomplish the same using B<mode>=I<before>:
nl: Om dit te vermijden, kunt u hetzelfde bereiken met behulp van B<mode>=I<before>:

note: type: =head1
en: How does it work?
nl: Hoe werkt dit?

note: type: textblock
en: This chapter gives you a brief overview of the po4a internals, so that you may feel more confident to help us maintaining and improving it. It may also help you understanding why it does not do what you expected, and how to solve your problems.
nl: Dit hoofdstuk geeft u een kort overzicht van de binnenkant van po4a, zodat u met meer zelfvertrouwen ons kunt helpen het te onderhouden en te verbeteren. Het kan u ook helpen te verstaan waarom het niet doet wat u verwachtte en hoe u uw problemen kunt oplossen.

note: type: textblock
en: The po4a architecture is object oriented. The L<Locale::Po4a::TransTractor(3pm)|TransTractor> class is the common ancestor to all po4a parsers. This strange name comes from the fact that it is at the same time in charge of translating document and extracting strings.
nl: De po4a-architectuur is objectgeoriënteerd. De klasse L<Locale::Po4a::TransTractor(3pm)|TransTractor> is de gemeenschappelijke voorouder van alle po4a-ontleders. Deze vreemde naam komt door het feit dat het tegelijk belast is met de vertaling van het document en het extraheren van tekstfragmenten.

note: type: textblock
en: More formally, it takes a document to translate plus a PO file containing the translations to use as input while producing two separate outputs: Another PO file (resulting of the extraction of translatable strings from the input document), and a translated document (with the same structure than the input one, but with all translatable strings replaced with content of the input PO). Here is a graphical representation of this:
nl: Meer formeel neemt het als invoer een te vertalen document plus een PO-bestand dat de te gebruiken vertalingen bevat en produceert het twee aparte uitvoerbestanden: een ander PO-bestand (als resultaat van de extractie van vertaalbare tekstfragmenten uit het invoerdocument) en een vertaald document (met dezelfde structuur als het invoerdocument, maar waarin alle vertaalbare tekstfragmenten vervangen werden met inhoud uit het invoer-PO-bestand). Hier volgt een grafische voorstelling ervan:

note: type: verbatim
en:    Input document --\                             /---> Output document
                         \      TransTractor::       /       (translated)
                          +-->--   parse()  --------+
                         /                           \
       Input PO --------/                             \---> Output PO
                                                             (extracted)
nl:    Invoerdocument --\                             /---> Uitvoerdocument
                         \      TransTractor::       /       (vertaald)
                          +-->--   parse()  --------+
                         /                           \
       Invoer-PO --------/                             \---> Uitvoer-PO
                                                             (geëxtraheerd)

note: type: textblock
en: This little bone is the core of all the po4a architecture. If you omit the input PO and the output document, you get B<po4a-gettextize>. If you provide both input and disregard the output PO, you get B<po4a-translate>. The B<po4a> calls TransTractor twice and calls B<msgmerge -U> between these TransTractor invocations to provide one-stop solution with a single configuration file.  Please see L<Locale::Po4a::TransTractor(3pm)> for more details.
nl: Dit kleine botje vormt de kern van de hele po4a-architectuur. Indien u de invoer-PO en het uitvoerdocument weglaat, krijgt u B<po4a-gettextize>.  Indien u de beide invoerdocumenten geeft en de uitvoer-PO negeert, krijgt u B<po4a-translate>. De B<po4a> aanroept tweemaal TransTractor en aanroept B<msgmerge -U> tussen deze aanroepen van TransTractor in, om een totaaloplossing te bieden met één configuratiebestand. Raadpleeg L<Locale::Po4a::TransTractor(3pm)> voor meer details.

note: type: =head1
en: Open-source projects using po4a
nl: Openbronprojecten die po4a gebruiken

note: type: textblock
en: Here is a very partial list of projects that use po4a in production for their documentation. If you want to add your project to the list, just drop us an email (or a Merge Request).
nl: Hier volgt een zeer gedeeltelijke lijst met projecten die po4a in productie gebruiken voor hun documentatie. Indien u wenst dat uw project wordt toegevoegd aan de lijst, stuur dan gewoon een e-mail (of een Merge Request).

note: type: textblock
en: adduser (man): users and groups management tool.
nl: adduser (man): gereedschap voor het beheer van gebruikers en groepen.

note: type: textblock
en: apt (man, docbook): Debian package manager.
nl: apt (man, docbook): pakketbeheerder in Debian.

note: type: textblock
en: aptitude (docbook, svg): terminal-based package manager for Debian
nl: aptitude (docbook, svg): terminalgeoriënteerd pakketbeheerhulpmiddel voor Debian

note: type: textblock
en: L<F-Droid website|https://gitlab.com/fdroid/fdroid-website> (markdown): installable catalogue of FOSS (Free and Open Source Software) applications for the Android platform.
nl: L<F-Droid website|https://gitlab.com/fdroid/fdroid-website> (markdown): installeerbare catalogus van FOSS (Free and Open Source Software - Vrije en openbronsoftware) toepassingssoftware voor het Android-platform.

note: type: textblock
en: L<git|https://github.com/jnavila/git-manpages-l10n> (asciidoc): distributed version-control system for tracking changes in source code.
nl: L<git|https://github.com/jnavila/git-manpages-l10n> (asciidoc): gedistribueerd versiebeheersysteem voor het volgen van wijzigingen in de broncode.

note: type: textblock
en: L<Linux manpages|https://salsa.debian.org/manpages-l10n-team/manpages-l10n> (man)
nl: L<Linux man-pagina's|https://salsa.debian.org/manpages-l10n-team/manpages-l10n> (man)

note: type: textblock
en: This project provides an infrastructure for translating many manpages to different languages, ready for integration into several major distributions (Arch Linux, Debian and derivatives, Fedora).
nl: Dit project voorziet in een infrastructuur voor het vertalen van veel man-pagina's naar verschillende talen, klaar om geïntegreerd te worden in verschillende belangrijke distributies (Arch Linux, Debian en derivativen, Fedora).

note: type: textblock
en: L<Stellarium|https://github.com/Stellarium/stellarium> (HTML): a free open source planetarium for your computer. po4a is used to translate the sky culture descriptions.
nl: L<Stellarium|https://github.com/Stellarium/stellarium> (HTML): een vrij openbronplanetarium voor uw computer. po4a wordt gebruikt om de beschrijving van de lucht en de hemellichamen in verschillende culturen, te vertalen.

note: type: textblock
en: Other item to sort out: L<https://gitlab.com/fdroid/fdroid-website/> L<https://github.com/fsfe/reuse-docs/pull/61>
nl: Ander uit te zoeken item: L<https://gitlab.com/fdroid/fdroid-website/> L<https://github.com/fsfe/reuse-docs/pull/61>

note: type: =head2
en: How do you pronounce po4a?
nl: Hoe spreekt men po4a uit?

note: type: textblock
en: I personally vocalize it as L<pouah|https://en.wiktionary.org/wiki/pouah>, which is a French onomatopoetic that we use in place of yuck :) I may have a strange sense of humor :)
nl: Zelf spreek ik het uit als L<pouah|https://en.wiktionary.org/wiki/pouah>, wat een Franse klanknabootsing is die men gebruikt voor bah :) Misschien heb ik een vreemd gevoel voor humor :)

note: type: =head2
en: What about the other translation tools for documentation using gettext?
nl: Hoe zit het met de andere vertaalhulpmiddelen voor documentatie die gebruik maken van gettext?

note: type: textblock
en: There are a few of them. Here is a possibly incomplete list, and more tools are coming at the horizon.
nl: Er zijn er een paar. Hier is een mogelijk onvolledige lijst, en er verschijnen meer hulpmiddelen aan de horizon.

note: type: textblock
en: This is the tool developed by KDE people to handle DocBook XML. AFAIK, it was the first program to extract strings to translate from documentation to PO files, and inject them back after translation.
nl: Dit gereedschap werd ontwikkeld door mensen van KDE om DocBook XML te verwerken. Voor zover ik weet was dit het eerste programma dat te vertalen tekstfragmenten uit documentatie extraheerde naar PO-bestanden en deze na vertaling terug injecteerde.

note: type: textblock
en: It can only handle XML, and only a particular DTD. I'm quite unhappy with the handling of lists, which end in one big msgid. When the list become big, the chunk becomes harder to swallow.
nl: Het kan enkel XML verwerken, en enkel een specifieke DTD. Ik ben erg ongelukkig met de verwerking van lijsten welke terechtkomen in één grote msgid. Wanneer de lijst groot wordt, is het moeilijker die brok door te slikken.

note: type: textblock
en: This program done by Denis Barbier is a sort of precursor of the po4a SGML module, which more or less deprecates it. As the name says, it handles only the DebianDoc DTD, which is more or less a deprecated DTD.
nl: Dit door Denis Barbier gemaakt programma is een soort voorloper van de SGML-module van po4a, waardoor het min of meer achterhaald werd. Zoals de naam het zegt, verwerkt het enkel de DebianDoc DTD, hetgeen min of meer een achterhaalde DTD is.

note: type: textblock
en: Used by the GIMP Documentation Team since 2004, works quite well even if, as the name suggests, only with XML files and needs specially configured makefiles.
nl: Wordt gebruikt door het GIMP-documentatieteam sinds 2004. Het werkt redelijk goed, zij het, zoals de naam al doet vermoeden, alleen met XML-bestanden, en het heeft speciaal geconfigureerde makefiles nodig.

note: type: textblock
en: The Sphinx Documentation Project also uses gettext extensively to manage its translations. Unfortunately, it works only for a few text formats, rest and markdown, although it is perhaps the only tool that does this managing the whole translation process.
nl: Ook het documentatieproject van Sphinx maakt veelvuldig gebruik van gettext om zijn vertalingen te beheren. Helaas werkt dit hulpmiddel slechts voor enkele tekstformaten, voor rest en voor markdown, hoewel het misschien wel het enige hulpmiddel is dat dit beheren van het hele vertaalproces op zich neemt.

note: type: textblock
en: The main advantages of po4a over them are the ease of extra content addition (which is even worse there) and the ability to achieve gettextization.
nl: De belangrijkste voordelen van po4a tegenover hen zijn het gemak waarmee extra inhoud toegevoegd kan worden (wat bij deze andere hulpmiddelen nog moeilijker is) en de mogelijkheid een gettextize-procedure uit te voeren.

note: type: =head2
en: SUMMARY of the advantages of the gettext based approach
nl: SAMENVATTING van de voordelen van een op gettext gebaseerde benadering

note: type: textblock
en: The translations are not stored along with the original, which makes it possible to detect if translations become out of date.
nl: De vertalingen worden niet samen met het origineel opgeslagen, wat het mogelijk maakt na te gaan of vertalingen verouderd beginnen te raken.

note: type: textblock
en: The translations are stored in separate files from each other, which prevents translators of different languages from interfering, both when submitting their patch and at the file encoding level.
nl: De vertalingen worden in aparte bestanden opgeslagen, wat interferentie tussen vertalers van verschillende talen voorkomt, zowel wanneer deze hun patch indienen als bij de keuze van de tekstcodering van de bestanden.

note: type: textblock
en: It is based internally on B<gettext> (but B<po4a> offers a very simple interface so that you don't need to understand the internals to use it).  That way, we don't have to re-implement the wheel, and because of their wide use, we can think that these tools are more or less bug free.
nl: Intern is het gebaseerd op B<gettext> (maar B<po4a> biedt een heel eenvoudige interface, zodat u de interne werking niet moet kennen om het te gebruiken). Op die manier moeten we het wiel niet terug uitvinden, en omdat dit gereedschap zo ruim gebruikt wordt, mogen we aannemen dat het min of meer vrij van fouten is.

note: type: textblock
en: Nothing changed for the end-user (beside the fact translations will hopefully be better maintained). The resulting documentation file distributed is exactly the same.
nl: Voor de eindgebruiker verandert er niets (behalve het feit dat vertalingen hopelijk beter onderhouden zullen worden). Het resulterende documentatiebestand dat verspreid wordt, is exact hetzelfde.

note: type: textblock
en: No need for translators to learn a new file syntax and their favorite PO file editor (like Emacs' PO mode, Lokalize or Gtranslator) will work just fine.
nl: Vertalers moeten geen nieuwe bestandsyntaxis leren en hun favoriete editor voor PO-bestanden (zoals de PO-modus in Emacs, Lokalize of Gtranslator) voldoet perfect.

note: type: textblock
en: gettext offers a simple way to get statistics about what is done, what should be reviewed and updated, and what is still to do. Some example can be found at those addresses:
nl: gettext biedt een eenvoudige manier om statistieken te bekomen over het gepresteerde werk, over wat nazicht en een update nodig heeft en over wat er nog moet gebeuren. Enkele voorbeelden zijn te vinden op deze adressen:

note: type: textblock
en: But everything isn't green, and this approach also has some disadvantages we have to deal with.
nl: Maar niet alles is rozengeur en deze aanpak heeft ook enkele nadelen waarmee we moeten omgaan.

note: type: textblock
en: Addenda are… strange at the first glance.
nl: Addenda zijn… vreemd op het eerste gezicht.

note: type: textblock
en: You can't adapt the translated text to your preferences, like splitting a paragraph here, and joining two other ones there. But in some sense, if there is an issue with the original, it should be reported as a bug anyway.
nl: Het is niet mogelijk om de vertaalde tekst naar uw smaak aan te passen, zoals hier een paragraaf opsplitsen en er daar twee andere samenvoegen. Maar in zekere zin moet het hoe dan ook als een bug gemeld worden, wanneer er een probleem is met het origineel.

note: type: textblock
en: Even with an easy interface, it remains a new tool people have to learn.
nl: Zelfs met een gemakkelijke interface blijft het een nieuw gereedschap dat mensen moeten leren gebruiken.

note: type: textblock
en: One of my dreams would be to integrate somehow po4a to Gtranslator or Lokalize. When a documentation file is opened, the strings are automatically extracted, and a translated file + po file can be written to disk. If we manage to do an MS Word (TM) module (or at least RTF) professional translators may even use it.
nl: Een van mijn dromen is om po4a op een of andere manier te integreren in Gtranslator of Lokalize. Wanneer een documentatiebestand geopend wordt, zouden de tekstfragmenten automatisch geëxtraheerd worden en een vertaald bestand + po-bestand zouden naar schijf geschreven worden. Indien we erin zouden slagen een MS Word(TM)-module te ontwikkelen (of minstens een RTF-module), zouden zelfs professionele vertalers er gebruik van maken.

note: type: textblock
en: The documentation of the all-in-one tool that you should use: L<po4a(1)>.
nl: De documentatie over het alles-in-één gereedschap dat u zou moeten gebruiken: L <po4a (1)>.

note: type: textblock
en: The documentation of the individual po4a scripts: L<po4a-gettextize(1)>, L<po4a-updatepo(1)>, L<po4a-translate(1)>, L<po4a-normalize(1)>.
nl: De documentatie van de individuele po4a-scripts: L<po4a-gettextize(1)>, L<po4a-updatepo(1)>, L<po4a-translate(1)>, L<po4a-normalize(1)>.

note: type: textblock
en: The additional helping scripts: L<msguntypot(1)>, L<po4a-display-man(1)>, L<po4a-display-pod(1)>.
nl: De extra ondersteunende scripts: L<msguntypot(1)>, L<po4a-display-man(1)>, L<po4a-display-pod(1)>.

note: type: textblock
en: The parsers of each formats, in particular to see the options accepted by each of them: L<Locale::Po4a::AsciiDoc(3pm)> L<Locale::Po4a::Dia(3pm)>, L<Locale::Po4a::Guide(3pm)>, L<Locale::Po4a::Ini(3pm)>, L<Locale::Po4a::KernelHelp(3pm)>, L<Locale::Po4a::Man(3pm)>, L<Locale::Po4a::RubyDoc(3pm)>, L<Locale::Po4a::Texinfo(3pm)>, L<Locale::Po4a::Text(3pm)>, L<Locale::Po4a::Xhtml(3pm)>, L<Locale::Po4a::Yaml(3pm)>, L<Locale::Po4a::BibTeX(3pm)>, L<Locale::Po4a::Docbook(3pm)>, L<Locale::Po4a::Halibut(3pm)>, L<Locale::Po4a::LaTeX(3pm)>, L<Locale::Po4a::Pod(3pm)>, L<Locale::Po4a::Sgml(3pm)>, L<Locale::Po4a::TeX(3pm)>, L<Locale::Po4a::Wml(3pm)>, L<Locale::Po4a::Xml(3pm)>.
nl: De ontleders (parsers) voor elke indeling, in het bijzonder om te zien welke opties voor elke van hen mogelijk zijn: L<Locale::Po4a::AsciiDoc(3pm)> L<Locale::Po4a::Dia(3pm)>, L<Locale::Po4a::Guide(3pm)>, L<Locale::Po4a::Ini(3pm)>, L<Locale::Po4a::KernelHelp(3pm)>, L<Locale::Po4a::Man(3pm)>, L<Locale::Po4a::RubyDoc(3pm)>, L<Locale::Po4a::Texinfo(3pm)>, L<Locale::Po4a::Text(3pm)>, L<Locale::Po4a::Xhtml(3pm)>, L<Locale::Po4a::Yaml(3pm)>, L<Locale::Po4a::BibTeX(3pm)>, L<Locale::Po4a::Docbook(3pm)>, L<Locale::Po4a::Halibut(3pm)>, L<Locale::Po4a::LaTeX(3pm)>, L<Locale::Po4a::Pod(3pm)>, L<Locale::Po4a::Sgml(3pm)>, L<Locale::Po4a::TeX(3pm)>, L<Locale::Po4a::Wml(3pm)>, L<Locale::Po4a::Xml(3pm)>.

note: type: textblock
en: The implementation of the core infrastructure: L<Locale::Po4a::TransTractor(3pm)> (particularly important to understand the code organization), L<Locale::Po4a::Chooser(3pm)>, L<Locale::Po4a::Po(3pm)>, L<Locale::Po4a::Common(3pm)>. Please also check the F<CONTRIBUTING.md> file in the source tree.
nl: De implementatie van de basisinfrastructuur:: L<Locale::Po4a::TransTractor(3pm)> (in het bijzonder van belang om de organisatie van de code te begrijpen), L<Locale::Po4a::Chooser(3pm)>, L<Locale::Po4a::Po(3pm)>, L<Locale::Po4a::Common(3pm)>. Bekijk ook het bestand F<CONTRIBUTING.md> in de broncodeboom.

note: type: textblock
en: Locale::Po4a::AsciiDoc - convert AsciiDoc documents from/to PO files
nl: Locale::Po4a::AsciiDoc - AsciiDoc-documenten van/naar PO-bestanden converteren

note: type: textblock
en: Locale::Po4a::AsciiDoc is a module to help the translation of documentation in the AsciiDoc format.
nl: Locale::Po4a::AsciiDoc is een module ter ondersteuning van de vertaling van documentatie in de AsciiDoc-indeling.

note: type: =head1
en: OPTIONS ACCEPTED BY THIS MODULE
nl: MOGELIJKE OPTIES BIJ DEZE MODULE

note: type: textblock
en: These are this module's particular options:
nl: De volgende opties zijn specifiek voor deze module:

note: type: textblock
en: The name of a file containing definitions for po4a, as defined in the B<INLINE CUSTOMIZATION> section.  You can use this option if it is not possible to put the definitions in the document being translated.
nl: De naam van een bestand dat definities voor po4a bevat, zoals beschreven wordt in de sectie B<INBOUWAANPASSINGEN>. U kunt deze optie gebruiken indien het niet mogelijk is om de definities te plaatsen in het document dat vertaald wordt.

note: type: textblock
en: In a definitions file, lines must not start by two slashes, but directly by B<po4a:>.
nl: In een bestand definitions mogen regels niet met twee slashes starten, maar moeten ze direct met B<po4a:> beginnen.

note: type: textblock
en: Space-separated list of attribute entries you want to translate.  By default, no attribute entries are translatable.
nl: Door spaties gescheiden lijst met eigenschapselementen die u wilt vertalen. Standaard zijn eigenschapselementen niet vertaalbaar.

note: type: textblock
en: Space-separated list of macro definitions.
nl: Door spaties gescheiden lijst met macrodefinities.

note: type: textblock
en: Space-separated list of style definitions.
nl: Door spaties gescheiden lijst met stijldefinities.

note: type: textblock
en: Enable automatic line wrapping in non-verbatim blocks, even if the result could be misinterpreted by AsciiDoc formatters.
nl: Automatische regelafbreking in niet-letterlijke blokken aanzetten, ook al zou het resultaat fout geïnterpreteerd kunnen worden door AsciiDoc-bestandsopmaaktoepassingen.

note: type: textblock
en: By default, po4a will not wrap the produced AsciiDoc files because a manual inspection is mandated to ensure that the wrapping does not change the formatting. Consider for instance the following list item:
nl: Standaard zal po4a voor de geproduceerde AsciiDoc-bestanden geen regelafbreking toepassen, omdat een handmatig nazicht nodig is om er zeker van te zijn dat de afbreking de opmaak niet wijzigt. Neem bijvoorbeeld het volgende lijstitem:

note: type: verbatim
en:  * a long sentence that is ending with a number 1. A second sentence.
nl:  * een lange zin die eindigt op een cijfer 1. A is de eerste letter van het alfabet(tweede zin).

note: type: textblock
en: If the wrapping leads to the following presentation, the item is split into a numbered sub-list. To make things worse, only the speakers of the language used in the translation can inspect the situation.
nl: Indien het afbreken leidt tot de volgende voorstelling, creëert het afbreken van het item een genummerde sublijst. Wat het probleem nog ernstiger maakt is, dat enkel iemand die de voor de vertaling gebruikte taal spreekt, de situatie kan onderzoeken.

note: type: verbatim
en:  * a long sentence that is ending with a number
       1. A second sentence.
nl:  * een lange zin eindigt op een cijfer
       1. A is de eerste letter van het alfabet (tweede zin).

note: type: textblock
en: Note that not wrapping the files produced by po4a should not be a problem since those files are meant to be processed automatically.  They should not be regarded as source files anyway.
nl: Merk op dat geen regelafbreking toepassen bij de door po4a geproduceerde bestanden, geen probleem zou mogen vormen, omdat deze bestanden bedoeld zijn voor automatische verwerking. Deze zouden hoe dan ook niet mogen beschouwd worden als bronbestanden.

note: type: textblock
en: With this option, po4a will produce better-looking source files, that may lead to possibly erroneous formatted outputs.
nl: Met deze optie produceert po4a bronbestanden die er mooier uitzien, maar deze kunnen mogelijk wel leiden tot een foutief opgemaakte uitvoer.

note: type: textblock
en: By default, the targets of block images are translatable to give opportunity to make the content point to translated images. This can be stopped by setting this option.
nl: Standaard zijn de doelen van blokafbeeldingen vertaalbaar om de mogelijkheid te bieden om de inhoud naar vertaalde afbeeldingen te laten verwijzen.. Door deze optie in te stellen kan dit gestopt worden.

note: type: textblock
en: This option is a flag that enables sub-table segmentation into cell content.  The segmentation is limited to cell content, without any parsing inside of it.
nl: Deze optie is een vlag die segmentering van subtabellen in celinhoud mogelijk maakt. De segmentering is beperkt tot celinhoud, zonder enige ontleding erin.

note: type: textblock
en: Switch parsing rules to compatibility with different tools. Available options are "asciidoc" or "asciidoctor". Asciidoctor has stricter parsing rules, such as equality of length of opening and closing block fences.
nl: Ontleedregels wisselen in functie van compatibiliteit met verschillende hulpmiddelen. Mogelijke opties zijn "asciidoc" en "asciidoctor". Asciidoctor gebruikt striktere ontleedregels, zoals gelijke lengte van de openende en sluitende blokafsluitingen.

note: type: textblock
en: Disable linting messages. When the source code cannot be fixed for clearer document structure, these messages are useless.
nl: De berichten van de linter uitschakelen. Wanneer de broncode niet kan aangepast worden in functie van een duidelijkere documentstructuur, hebben deze berichten geen nut.

note: type: textblock
en: Comma-separated list of keys to process for translation in the YAML Front Matter section. All other keys are skipped. Keys are matched with a case-sensitive match. If B<yfm_paths> and B<yfm_keys> are used together, values are included if they are matched by at least one of the options. Array values are always translated, unless the B<yfm_skip_array> option is provided.
nl: Door komma's gescheiden lijst met sleutels die moeten worden verwerkt voor vertaling in de sectie YAML Front Matter. Alle andere sleutels worden overgeslagen. Sleutels worden hoofdlettergevoelig vergeleken. Als B<yfm_paths> en B<yfm_keys> samen worden gebruikt, worden waarden opgenomen als ze overeenkomen met minstens één van de opties. Arraywaarden worden altijd vertaald, tenzij de optie B<yfm_skip_array> is opgegeven.

note: type: textblock
en: Do not translate array values in the YAML Front Matter section.
nl: Vertaal matrixwaarden niet in de sectie YAML Front Matter.

note: type: textblock
en: Comma-separated list of hash paths to process for extraction in the YAML Front Matter section, all other paths are skipped. Paths are matched with a case-sensitive match. If B<yfm_paths> and B<yfm_keys> are used together, values are included if they are matched by at least one of the options.  Arrays values are always returned unless the B<yfm_skip_array> option is provided.
nl: Door komma's gescheiden lijst met hash-paden die voor extractie moeten worden verwerkt in de sectie YAML Front Matter. Alle andere paden worden overgeslagen. Paden worden hoofdlettergevoelig vergeleken. Als B<yfm_paths> en B<yfm_keys> samen worden gebruikt, worden waarden opgenomen als ze overeenkomen met minstens één van de opties. Arraywaarden worden altijd teruggegeven, tenzij de optie B<yfm_skip_array> is opgegeven.

note: type: =head1
en: INLINE CUSTOMIZATION
nl: INBOUWAANPASSINGEN

note: type: textblock
en: The AsciiDoc module can be customized with lines starting by B<//po4a:>.  These lines are interpreted as commands to the parser.  The following commands are recognized:
nl: De AsciiDoc-module kan aangepast worden met regels die beginnen met B<//po4a:>.  Deze regels worden geïnterpreteerd als commando's voor de ontleder. De volgende commando's worden herkend:

note: type: =item
en: B<//po4a: macro >I<name>B<[>I<attribute list>B<]>
nl: B<//po4a: macro >I<naam>B<[>I<attributenlijst>B<]>

note: type: textblock
en: This describes in detail the parameters of a B<macro>; I<name> must be a valid macro name, and it ends with an underscore if the target must be translated.
nl: Dit beschrijft de parameters van een B<macro> in detail; I<naam> moet een geldige macro-naam zijn, en deze eindigt met een onderstrepingsteken als het doel vertaald moet worden.

note: type: textblock
en: The I<attribute list> argument is a comma separated list which contains information about translatable arguments.  This list contains either numbers, to define positional parameters, or named attributes.
nl: Het argument I<attributenlijst> is een door komma's gescheiden lijst welke informatie bevat over vertaalbare argumenten. Deze lijst bevat ofwel cijfers om positieparameters te definiëren, of benoemde kenmerken.

note: type: textblock
en: If a plus sign (B<+>) is prepended to I<name>, then the macro and its arguments are translated as a whole.  There is no need to define attribute list in this case, but brackets must be present.
nl: Indien de I<naam> voorafgegaan wordt door een plusteken (B<+>), worden de macro en zijn argumenten in hun geheel vertaald. In dat geval moet er geen attributenlijst gedefinieerd worden, maar haakjes moeten aanwezig zijn.

note: type: =item
en: B<//po4a: style >B<[>I<attribute list>B<]>
nl: B<//po4a: style >B<[>I<attributenlijst>B<]>

note: type: textblock
en: This describes in detail which attributes of a style must be translated.
nl: Dit beschrijft in detail welke attributen van een stijl vertaald moeten worden.

note: type: textblock
en: The I<attribute list> argument is a comma separated list which contains information about translatable arguments.  This list contains either numbers, to define positional parameters, or named attributes.  The first attribute is the style name, it will not be translated.
nl: Het argument I<attributenlijst> is een door komma's gescheiden lijst welke informatie bevat over vertaalbare argumenten. Deze lijst bevat ofwel getallen om positieparameters te definiëren of benoemde attributen. Het eerste attribuut is de stijlnaam, welke niet vertaald zal worden.

note: type: textblock
en: If a plus sign (B<+>) is prepended to the style name, then the attribute list is translated as a whole.  There is no need to define translatable attributes.
nl: Indien de stijlnaam voorafgegaan wordt door een plusteken, is de attributenlijst in zijn geheel vertaalbaar. Het is niet nodig om vertaalbare attributen te definiëren.

note: type: textblock
en: If a minus sign (B<->) is prepended to the style name, then this attribute is not translated.
nl: Indien de stijlnaam voorafgegaan wordt door een minteken (B<->), wordt dit attribuut niet vertaald.

note: type: =item
en: B<//po4a: entry >I<name>
nl: B<//po4a: entry >I<naam>

note: type: textblock
en: This declares an attribute entry as being translatable.  By default, they are not translated.
nl: Dit verklaart dat een attribuutvermelding vertaalbaar is. Ze worden standaard niet vertaald.

note: type: =head1
en: STATUS OF THIS MODULE
nl: STATUS VAN DEZE MODULE

note: type: textblock
en: Tested successfully on simple AsciiDoc files.
nl: Met succes getest op eenvoudige AsciiDoc-bestanden.

note: type: textblock
en: Locale::Po4a::BibTeX - convert BibTeX documents from/to PO files
nl: Locale::Po4a::BibTeX - BibTeX-documenten van/naar PO-bestanden converteren

note: type: textblock
en: Locale::Po4a::BibTeX is a module to help the translation of bibliographies in the BibTeX format into other [human] languages.
nl: Locale::Po4a::BibTeX is een module ter ondersteuning van de vertaling van bibliografieën in de BibTeX-indeling naar andere [menselijke] talen.

note: type: textblock
en: Fields values are extracted and proposed for translation.
nl: De waarden van de velden worden geëxtraheerd en ter vertaling aangeboden.

note: type: textblock
en: NONE.
nl: GEEN.

note: type: textblock
en: It is a very simple module, but still young.
nl: Het is een heel eenvoudige module, maar nog jong.

note: type: textblock
en: Locale::Po4a::Chooser - manage po4a modules
nl: Locale::Po4a::Chooser - po4a-modules beheren

note: type: textblock
en: Locale::Po4a::Chooser is a module to manage po4a modules. Previously, all po4a binaries used to know all po4a modules (pod, man, sgml, etc). This made the addition of a new module boring, because you had to make sure that the documentation is synchronized in all modules, and that each of them can access the new module.
nl: Locale::Po4a::Chooser is een module voor het beheer van po4a-modules. Vroeger waren alle po4a-programmaonderdelen op de hoogte van alle po4a-modules (pod, man, sgml, enz). Dit maakte het toevoegen van een nieuwe module vervelend, want men moest ervoor zorgen dat de documentatie van alle modules gesynchroniseerd werd en dat ze alle toegang hadden tot de nieuwe module.

note: type: textblock
en: Now, you just have to call the Locale::Po4a::Chooser::new() function, passing the name of module as argument.
nl: Nu moet men enkel de functie Locale::Po4a::Chooser::new() aanroepen en de naam van de module meegeven als argument.

note: type: textblock
en: The function Locale::Po4a::Chooser::list() lists the available formats, and exits with the value passed as argument. So, we call Locale::Po4a::Chooser::list(0) when requested for the list of formats, and Locale::Po4a::Chooser::list(1) when passed an invalid format name.
nl: De functie Locale::Po4a::Chooser::list() vermeldt de beschikbare indelingen en sluit af met de waarde welke als argument opgegeven werd. Dus roepen we Locale::Po4a::Chooser::list(0) aan als we vragen naar de lijst met indelingen, en Locale::Po4a::Chooser::list(1) wanneer een ongeldige indelingsnaam opgegeven wordt.

note: type: =item
en: About po4a:
nl: Over po4a:

note: type: =item
en: About modules:
nl: Over modules:

note: type: textblock
en: Locale::Po4a::Common - common parts of the po4a scripts and utils
nl: Locale::Po4a::Common - gemeenschappelijke delen van de po4a-scripts en -hulpprogramma's

note: type: textblock
en: Locale::Po4a::Common contains common parts of the po4a scripts and some useful functions used along the other modules.
nl: Locale::Po4a::Common bevat gemeenschappelijke delen van de po4a-scripts en enkele handige functies die worden gebruikt in de andere modules.

note: type: textblock
en: If needed, you can disable the use of Text::WrapI18N as such:
nl: Indien u dit nodig heeft, kunt u als volgt het gebruik van Text::WrapI18N uitzetten:

note: type: textblock
en: instead of:
nl: in plaats van:

note: type: textblock
en: The ordering is important here: as most Locale::Po4a modules load themselves Locale::Po4a::Common, the first time this module is loaded determines whether Text::WrapI18N is used.
nl: De volgorde is hier belangrijk: aangezien de meeste Locale::Po4a-modules automatisch worden geladen, bepaalt Locale::Po4a::Common, wanneer deze voor het eerst geladen wordt, of Text::WrapI18N gebruikt zal worden.

note: type: =head1
en: FUNCTIONS
nl: FUNCTIES

note: type: =head2
en: Showing output messages
nl: Uitvoerberichten tonen

note: type: textblock
en: Shows the current version of the script, and a short copyright message. It takes the name of the script as an argument.
nl: Toont de huidige versie van het script en een kort copyrightbericht. Het neemt de naam van het script als argument.

note: type: textblock
en: This function displays a message the same way as sprintf() does, but wraps the result so that they look nice on the terminal.
nl: Deze functie toont een bericht op dezelfde manier als sprintf() dit doet, maar past regelafbreking toe, zodat het resultaat er op de terminal fraai uitziet.

note: type: textblock
en: This function works like wrap_msg(), but it takes a module name as the first argument, and leaves a space at the left of the message.
nl: Deze functie werkt zoals wrap_msg(), maar ze neemt een modulenaam als eerste argument en laat links van het bericht een spatie.

note: type: textblock
en: This function works like wrap_msg(), but it takes a file:line reference as the first argument, a module name as the second one, and leaves a space at the left of the message.
nl: Deze functie werkt als wrap_msg(), maar ze neemt een referentie naar bestand:regel als eerste argument, een modulenaam als het tweede, en ze laat links van het bericht een spatie.

note: type: =head2
en: Wrappers for other modules
nl: Omhulsels voor andere modules

note: type: textblock
en: When the Locale::Gettext module cannot be loaded, this module provide dummy (empty) implementation of the following functions. In that case, po4a messages won't get translated but the program will continue to work.
nl: Wanneer de module Locale::Gettext niet geladen kan worden, voorziet deze module in een dummy (lege) toepassing van de volgende functies. In dat geval zullen po4a-berichten niet vertaald worden, maar zal het programma blijven werken.

note: type: textblock
en: If Locale::gettext is present, this wrapper also calls setlocale(LC_MESSAGES, "") so callers don't depend on the POSIX module either.
nl: Indien Locale::gettext aanwezig is, aanroept dit omhulsel ook setlocale(LC_MESSAGES, ""), zodat aanroepers ook niet afhangen van de POSIX-module.

note: type: textblock
en: Locale::Po4a::Dia - convert uncompressed Dia diagrams from/to PO files
nl: Locale::Po4a::Dia - niet-gecomprimeerde Dia-diagrammen converteren van/naar PO-bestanden

note: type: textblock
en: Locale::Po4a::Dia is a module to help the translation of diagrams in the uncompressed Dia format into other [human] languages.
nl: Locale::Po4a::Dia is een module ter ondersteuning van de vertaling van diagrammen in de niet-gecomprimeerde Dia-indeling naar andere [menselijke] talen.

note: type: verbatim
en: You can get Dia (the graphical editor for these diagrams) from:
      http://www.gnome.org/projects/dia/
nl: U kunt Dia (de grafische editor voor deze diagrammen) krijgen van:
      http://www.gnome.org/projects/dia/

note: type: =head1
en: TRANSLATING WITH PO4A::DIA
nl: VERTALEN MET PO4A::DIA

note: type: textblock
en: This module only translates uncompressed Dia diagrams.  You can save your uncompressed diagrams with Dia itself, unchecking the "Compress diagram files" at the "Save Diagram" dialog.
nl: Deze module vertaalt enkel niet-gecomprimeerde Dia-diagrammen. U kunt diagrammen met Dia zelf in niet-gecomprimeerde vorm opslaan door in het dialoogvenster "Diagram Opslaan"  "Diagrambestanden comprimeren" uit te vinken.

note: type: verbatim
en: Another way is to uncompress the dia files from command line with:
      gunzip < original.dia > uncompressed.dia
nl: Een andere mogelijkheid is de dia-bestanden aan de commandoregel decomprimeren met:
      gunzip < originele.dia > gedecomprimeerde.dia

note: type: textblock
en: This module is fully functional, as it relies in the L<Locale::Po4a::Xml> module. This only defines the translatable tags (E<lt>dia:stringE<gt>), and filters the internal strings (the content of the E<lt>dia:diagramdataE<gt> tag), not interesting for translation.
nl: Deze module is volledig functioneel, omdat ze gebaseerd is op de module L<Locale::Po4a::Xml>. Ze definieert enkel de vertaalbare tags (E<lt>dia:stringE<gt>) en filtert de interne tekenreeksen (de inhoud van de tag E<lt>dia:diagramdataE<gt>), welke voor de vertaling oninteressant zijn.

note: type: textblock
en: Locale::Po4a::Docbook - convert DocBook XML documents from/to PO files
nl: Locale::Po4a::Docbook - DocBook XML-documenten van/naar PO-bestanden converteren

note: type: textblock
en: Locale::Po4a::Docbook is a module to help the translation of DocBook XML documents into other [human] languages.
nl: Locale::Po4a::Docbook is een module ter ondersteuning van de vertaling van DocBook XML-documenten naar andere [menselijke] talen.

note: type: textblock
en: This module is fully functional, as it relies in the L<Locale::Po4a::Xml> module. This only defines the translatable tags and attributes.
nl: Deze module is volledig operationeel omdat ze steunt op de module L<Locale::Po4a::Xml>. Deze module definieert enkel de vertaalbare tags en attributen.

note: type: textblock
en: The only known issue is that it doesn't handle entities yet, and this includes the file inclusion entities, but you can translate most of those files alone (except the typical entities files), and it's usually better to maintain them separated.
nl: Het enige bekende probleem is dat het nog geen entiteiten verwerkt. Dit omvat ook de entiteiten voor het insluiten van bestanden, maar u kunt de meeste van deze bestanden apart vertalen (behalve de typische entiteiten-bestanden) en het is meestal beter om ze apart te onderhouden.

note: type: =head2
en: OVERRIDE THE DEFAULT BEHAVIOR WITH COMMAND LINE OPTIONS
nl: MET COMMANDOREGELOPTIES HET STANDAARDGEDRAG OVERSTIJGEN

note: type: textblock
en: The default behavior of system provided modules is set to be on the safe side.
nl: Het standaardgedrag van de door het systeem geleverde modules staat voorzichtig ingesteld.

note: type: textblock
en: For example, the default of B<< <author> >> tag is aiming it to appear under B<< <para> >>.  But you may be using it only under B<< <bookinfo> >>.  For this case, you may want to translate it independently for each author.
nl: De standaardinstelling voor de B << <author> >> -tag is dat deze wordt weergegeven onder B << <para> >>. Maar misschien gebruikt u het alleen onder B << <bookinfo> >>. In dat geval wilt u het misschien voor elke auteur afzonderlijk vertalen.

note: type: textblock
en: If you don't like the default behavior of the xml module and its derivative modules, you can provide command line options to change their behavior.  For example, you can add the following to the po4a configuration file:
nl: Indien het standaardgedrag van de xml-module en de ervan afgeleide modules u niet bevalt, kunt u commandoregelopties gebruiken om dat gedrag aan te passen. U kunt bijvoorbeeld het volgende toevoegen aan het po4a configuratiebestand:

note: type: textblock
en: This overrides the default behavior for B<< <bookinfo> >> and B<< <author> >>, set B<< <bookinfo> >> and B<< <author> >> to break input data stream on these tags, set B<< <bookinfo> >> not to translate its tagged content, and set B<< <author> >> to translate its tagged content.
nl: Dit overschrijft het standaardgedrag voor B << <bookinfo> >> en B << <author> >>, stelt B << <bookinfo> >> en B << <author> >> in om de invoergegevensstroom op deze tags te onderbreken, stelt B << <bookinfo> >> in om de getagde inhoud niet te vertalen en stelt B << <author> >> in om de getagde inhoud te vertalen.

note: type: textblock
en: Locale::Po4a::Guide - convert Guide XML documents from/to PO files
nl: Locale::Po4a::Guide - Guide XML-documenten van/naar PO-bestanden converteren

note: type: textblock
en: Locale::Po4a::Guide is a module to help in the translation of the Gentoo Linux documentation in the Guide XML format into other [human] languages.
nl: Locale::Po4a::Guide is een module ter ondersteuning van de vertaling naar andere [menselijke] talen van de documentatie van Gentoo Linux in de indeling Guide XML.

note: type: textblock
en: This format is documented here: http://www.gentoo.org/doc/en/xml-guide.xml
nl: Deze indeling wordt hier gedocumenteerd: http://www.gentoo.org/doc/en/xml-guide.xml

note: type: textblock
en: The only known issue is that it doesn't include files with the <include href="..."> tag, but you can translate all those files alone, and it's usually better to have them separated.
nl: Het enige bekende probleem is dat het bestanden met de tag <include href="..."> niet invoegt, maar u kunt al deze bestanden afzonderlijk vertalen en meestal is het beter om ze apart te houden.

note: type: textblock
en: Locale::Po4a::Halibut - convert Halibut documents and derivates from/to PO files
nl: Locale::Po4a::Halibut - Halibut-documenten en derivaten van/naar PO-bestanden converteren

note: type: textblock
en: Locale::Po4a::Halibut is a module to help the translation of Halibut documents into other [human] languages.
nl: Locale::Po4a::Halibut is een module ter ondersteuning van de vertaling van Halibut-documenten naar andere [menselijke] talen.

note: type: textblock
en: This module contains the definitions of common Halibut commands and environments.
nl: Deze module bevat de definitie van algemene Halibut-commando's en -omgevingen.

note: type: textblock
en: This module is still beta.  Please send feedback and feature requests.
nl: Deze module is nog bèta. U kunt ons feedback en verzoeken om nieuwe functionaliteit sturen.

note: type: =head1
en: CAVEAT
nl: WAARSCHUWING

note: type: textblock
en: Some constructs are badly supported. The known ones are documented below.
nl: Sommige constructies worden slecht ondersteund. De bekende worden hieronder beschreven.

note: type: =head2
en: Verbatim blocks
nl: Letterlijke blokken

note: type: textblock
en: The verbatim block is not considered as a whole. Each line will be translated separately.
nl: Het letterlijk blok wordt niet als een geheel gezien. Elke regel zal afzonderlijk vertaald worden.

note: type: textblock
en: This program is free software; you may redistribute it and/or modify it under the terms of GPL (see COPYING file).
nl: Dit programma is vrije software; u kunt het verspreiden en/of aanpassen onder de bepalingen van de GPL (zie het bestand COPYING).

note: type: textblock
en: Locale::Po4a::Ini - convert INI files from/to PO files
nl: Locale::Po4a::Ini - INI-bestanden van/naar PO-bestanden converteren

note: type: textblock
en: Locale::Po4a::Ini is a module to help the translation of INI files into other [human] languages.
nl: Locale::Po4a::Ini is een module ter ondersteuning van de vertaling van INI-bestanden naar andere [menselijke] talen.

note: type: textblock
en: The module searches for lines of the following format and extracts the quoted text:
nl: De module zoekt naar regels met de volgende indeling en extraheert de tekst die tussen aanhalingstekens staat:

note: type: textblock
en: identificator="text than can be translated"
nl: identificatiecode="tekst welke vertaald kan worden"

note: type: textblock
en: NOTE: If the text is not quoted, it will be ignored.
nl: OPMERKING: als de tekst niet tussen aanhalingstekens staat, wordt hij genegeerd.

note: type: textblock
en: Locale::Po4a::KernelHelp - convert kernel configuration help from/to PO files
nl: Locale::Po4a::KernelHelp - kernelconfiguratiehulp converteren van/naar PO-bestanden

note: type: textblock
en: Locale::Po4a::KernelHelp is a module to help the translation of documentation for the Linux kernel configuration options into other [human] languages.
nl: Locale::Po4a::KernelHelp is een module ter ondersteuning van de vertaling van documentatie van de Linux kernelconfiguratieopties naar andere [menselijke] talen.

note: type: textblock
en: This module is just written, and needs more tests. Most of the needed work will concern the tools used to parse this file (and configure the kernel), so that they accept to read the documentation from another (translated)  file.
nl: Deze module werd nog maar pas geschreven en moet nog meer getest worden. Het meeste werk zal betrekking hebben op het gereedschap dat gebruikt wordt om dit bestand te ontleden (en de kernel te configureren), zodat dit accepteert dat de documentatie van een ander (vertaald) bestand gelezen moet worden.

note: type: textblock
en: Locale::Po4a::LaTeX - convert LaTeX documents and derivates from/to PO files
nl: Locale::Po4a::LaTeX - LaTeX-documenten en afgeleiden converteren van/naar PO-bestanden

note: type: textblock
en: Locale::Po4a::LaTeX is a module to help the translation of LaTeX documents into other [human] languages. It can also be used as a base to build modules for LaTeX-based documents.
nl: Locale::Po4a::LaTeX is een module ter ondersteuning van de vertaling van LaTeX-documenten naar andere [menselijke] talen. Ze kan ook gebruikt worden als basis voor het bouwen van modules voor op LaTeX gebaseerde documenten.

note: type: textblock
en: This module contains the definitions of common LaTeX commands and environments.
nl: Deze module bevat de definitie van algemene LaTeX commando's en omgevingen.

note: type: textblock
en: See the L<Locale::Po4a::TeX(3pm)|Locale::Po4a::TeX> manpage for the list of recognized options.
nl: Raadpleeg de man-pagina L<Locale::Po4a::TeX(3pm)|Locale::Po4a::TeX> voor een lijst van mogelijke opties.

note: type: textblock
en: Locale::Po4a::Man - convert manual pages from/to PO files
nl: Locale::Po4a::Man - man-pagina's van/naar PO-bestanden converteren

note: type: textblock
en: Locale::Po4a::Man is a module to help the translation of documentation in the nroff format (the language of manual pages) into other [human] languages.
nl: 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.

note: type: =head1
en: TRANSLATING WITH PO4A::MAN
nl: VERTALEN MET PO4A::MAN

note: type: textblock
en: This module tries pretty hard to make translator's life easier. For that, the text presented to translators isn't a verbatim copy of the text found in the man page. Indeed, the cruder parts of the nroff format are hidden, so that translators can't mess up with them.
nl: 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.

note: type: =head2
en: Text wrapping
nl: Regelafbreking

note: type: textblock
en: Unindented paragraphs are automatically rewrapped for the translator.  This can lead to some minor difference in the generated output, since the rewrapping rules used by groff aren't very clear. For example, two spaces after a parenthesis are sometimes preserved.
nl: 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.

note: type: textblock
en: Anyway, the difference will only be about the position of the extra spaces in wrapped paragraph, and I think it's worth.
nl: 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.

note: type: =head2
en: Font specification
nl: Lettertypespecificatie

note: type: textblock
en: The first change is about font change specifications.  In nroff, there are several ways to specify if a given word should be written in small, bold or italics. In the text to translate, there is only one way, borrowed from the POD (Perl online documentation) format:
nl: 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):

note: type: =item
en: IE<lt>textE<gt> -- italic text
nl: IE<lt>tekstE<gt> -- schuine tekst

note: type: textblock
en: equivalent to \fItext\fP or ".I text"
nl: het equivalent van \fItekst\fP of ".I tekst"

note: type: =item
en: BE<lt>textE<gt> -- bold text
nl: BE<lt>tekstE<gt> -- tekst in het vet

note: type: textblock
en: equivalent to \fBtext\fP or ".B text"
nl: het equivalent van \fBtekst\fP of".B tekst"

note: type: =item
en: RE<lt>textE<gt> -- roman text
nl: RE<lt>tekstE<gt> -- tekst in Romeins lettertype

note: type: textblock
en: equivalent to \fRtext\fP
nl: het equivalent van \fRtekst\fP

note: type: =item
en: CWE<lt>textE<gt> -- constant width text
nl: CWE<lt>tekstE<gt> -- tekst met constante breedte

note: type: textblock
en: equivalent to \f(CWtext\fP or ".CW text"
nl: het equivalent van \f(CWtekst\fP of ".CW tekst"

note: type: textblock
en: Remark: The CW face is not available for all groff devices. It is not recommended to use it. It is provided for your convenience.
nl: Opmerking: niet voor alle groff-apparaten is het lettertype CW beschikbaar. Het gebruik ervan wordt niet aanbevolen. Het is bedoeld voor uw gemak.

note: type: =head2
en: Automatic characters transliteration
nl: Automatisch omzetten van lettertekens

note: type: textblock
en: Po4a automatically transliterate some characters to ease the translation or the review of the translation.  Here is the list of the transliterations:
nl: Po4a doet een automatische omzetting van sommige lettertekens om de vertaling en het nazicht ervan te vergemakkelijken. Hier volgt de  lijst van omzettingen:

note: type: =item
en: hyphens
nl: koppeltekens

note: type: textblock
en: Hyphens (-) and minus signs (\-) in man pages are all transliterated as simple dashes (-) in the PO file.  Then all dash are transliterated into roff minus signs (\-) when the translation is inserted into the output document.
nl: 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.

note: type: textblock
en: Translators can force an hyphen by using the roff glyph '\[hy]' in their translations.
nl: Vertalers kunnen een koppelteken afdwingen door in hun vertaling het roff-letterteken '\[hy]' te gebruiken.

note: type: =item
en: non-breaking spaces
nl: spatie zonder regelafbreking

note: type: textblock
en: Translators can use non-breaking spaces in their translations.  These non-breaking spaces (0xA0 in latin1) will be transliterated into a roff non-breaking space ('\ ').
nl: 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 ('\ ').

note: type: =item
en: quotes transliterations
nl: omzetting van aanhalingstekens

note: type: textblock
en: `` and '' are respectively tranliterated into \*(lq and \*(rq.
nl: `` en '' worden respectievelijk omgezet naar \*(lq en \*(rq.

note: type: textblock
en: To avoid these transliterations, translators can insert a zero width roff character (i.e., using `\&` or '\&' respectively).
nl: Om deze omzettingen te voorkomen kunnen vertalers een roff-teken met een breedte nul invoegen (met name door respectievelijk `\&` of '\&' te gebruiken).

note: type: =head2
en: Putting 'E<lt>' and 'E<gt>' in translations
nl: In vertalingen 'E<lt>' en 'E<gt>' gebruiken

note: type: textblock
en: Since these chars are used to delimit parts under font modification, you can't use them verbatim. Use EE<lt>ltE<gt> and EE<lt>gtE<gt> instead (as in POD, one more time).
nl: 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 EE<lt>ltE<gt> en EE<lt>gtE<gt> (nogmaals zoals in POD).

note: type: textblock
en: Activate debugging for some internal mechanisms of this module.  Use the source to see which parts can be debugged.
nl: Debuggen activeren voor sommige interne mechanismen van deze module. Gebruik de broncode om na te gaan voor welke delen debuggen mogelijk is.

note: type: textblock
en: Increase verbosity.
nl: De hoeveelheid verstrekte informatie verhogen.

note: type: textblock
en: This option controls the behavior of the module when it encounter a .de, .ie or .if section. It can take the following values:
nl: Deze optie controleert het gedrag van de module wanneer deze een sectie .de, .ie of .if tegenkomt. Ze kan de volgende waarden hebben:

note: type: textblock
en: This is the default value.  The module will fail when a .de, .ie or .if section is encountered.
nl: Dit is de standaardwaarde. De module zal mislukken wanneer een sectie .de, .ie of .if aangetroffen wordt.

note: type: textblock
en: Indicates that the .de, .ie or .if sections must be copied as is from the original to the translated document.
nl: Geeft aan dat de secties .de, .ie en .if als zodanig moeten worden gekopieerd van het origineel naar het vertaalde document.

note: type: textblock
en: Indicates that the .de, .ie or .if sections will be proposed for the translation.  You should only use this option if a translatable string is contained in one of these section. Otherwise, I<verbatim> should be preferred.
nl: 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 I<verbatim>.

note: type: textblock
en: This option specifies that the file was generated, and that po4a should not try to detect if the man pages was generated from another format.  This option is mandatory to use po4a on generated man pages.  Note that translating generated pages instead of sources ones is often more fragile, and thus a bad idea.
nl: 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. Deze optie is verplicht om po4a te gebruiken op gegenereerde man-pagina's. Merk op dat het vertalen van gegenereerde pagina's in plaats van bronpagina's vaak kwetsbaarder is, en dus een slecht idee.

note: type: textblock
en: This option is only useful for mdoc pages.
nl: Deze optie is enkel nuttig voor mdoc-pagina's.

note: type: textblock
en: It selects a stricter support of the mdoc format by telling po4a not to translate the 'NAME' section.  mdoc pages whose 'NAME' section is translated won't generate any header or footer.
nl: 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.

note: type: verbatim
en: According to the groff_mdoc page, the NAME, SYNOPSIS and DESCRIPTION
    sections are mandatory.
    There are no known issues with translated SYNOPSIS or DESCRIPTION section,
    but you can also specify these sections this way:
     -o mdoc=NAME,SYNOPSIS,DESCRIPTION
nl: 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

note: type: verbatim
en: This mdoc issue can also be solved with an addendum like this one:
     PO4A-HEADER:mode=before;position=^.Dd
     .TH DOCUMENT_TITLE 1 "Month day, year" OS "Section Name"
nl: 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"

note: type: textblock
en: The following options specify the behavior of a user-defined macro (with a .de request), or of a classical macro that is not supported by po4a.  They take as argument a comma-separated list of macros.  For example:
nl: De volgende opties bepalen het gedrag van een door de gebruiker gedefinieerde macro (met een .de-verzoek) of van een klassieke macro welke niet door po4a ondersteund wordt. Zij hebben als argument een door komma's gescheiden lijst met macro's. Bijvoorbeeld:

note: type: textblock
en: Note: if a macro is not supported by po4a and if you consider that it is a standard roff macro, you should submit it to the po4a development team.
nl: 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.

note: type: textblock
en: B<untranslated> indicates that this macro (at its arguments) don't have to be translated.
nl: B<untranslated> Geeft aan dat deze macro (en zijn argumenten) niet vertaald moet worden.

note: type: textblock
en: B<noarg> is like B<untranslated>, except that po4a will verify that no argument is added to this macro.
nl: B<noarg> is zoals B<untranslated>, behalve dat po4a zal verifieren dat er geen argument meegegeven werd aan deze macro.

note: type: textblock
en: B<translate_joined> indicates that po4a must propose to translate the arguments of the macro.
nl: B<translate_joined> geeft aan dat po4a de argumenten van de macro ter vertaling moet voorleggen.

note: type: textblock
en: With B<translate_each>, the arguments will also be proposed for the translation, except that each one will be translated separately.
nl: Met B<translate_each> zullen de argumenten ook ter vertaling voorgelegd worden, met dat verschil dat elk argument afzonderlijk zal vertaald worden.

note: type: textblock
en: This option takes as argument a list of comma-separated couples I<begin>:I<end>, where I<begin> and I<end> are commands that delimit the begin and end of a section that should not be rewrapped.
nl: Deze optie krijgt als argument een lijst van door komma's gescheiden paren van I<begin>:I<einde>, waarbij I<begin> en I<einde> commando's zijn welke het begin en het einde afbakenen van een sectie waarvoor de regelafbreking niet overgedaan moet worden.

note: type: textblock
en: Note: no test is done to ensure that an I<end> command matches its I<begin> command; any ending command stop the no_wrap mode.  If you have a I<begin> (respectively I<end>) macro that has no I<end> (respectively I<begin>), you can specify an existing I<end> (like fi) or I<begin> (like nf) as a counterpart.  These macros (and their arguments) won't be translated.
nl: Opmerking: er wordt geen test uitgevoerd om ervoor te zorgen dat een I<einde>-commando met zijn  I<begin>-commando overeenkomt. Elk einde-commando beëindigt de no_wrap-modus. Indien u een I<begin>-macro (respectievelijk I<einde>-macro) heeft, welke geen I<einde>-macro (respectievelijk I<begin>-macro) heeft, kunt u als tegenhanger een bestaand I<einde> (als fi) of een bestaand I<begin> (als nf) opgeven. Deze macro's (en hun argumenten) zullen niet vertaald worden.

note: type: textblock
en: This option specifies a list of comma-separated macros that must not split the current paragraph. The string to translate will then contain I<foo E<lt>.bar baz quxE<gt> quux>, where I<bar> is the command that should be inlined, and I<baz qux> its arguments.
nl: 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 I<foo E<lt>.bar baz quxE<gt> quux>, waarbij I<bar> het commando is dat ongesplitst moet blijven, en I<baz qux> zijn argumenten.

note: type: textblock
en: This option indicates how po4a should behave when an unknown macro is found.  By default, po4a fails with a warning.  It can take the following values: B<failed> (the default value), B<untranslated>, B<noarg>, B<translate_joined>, or B<translate_each> (see above for an explanation of these values).
nl: 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:  B<failed> (gefaald) (de standaardwaarde), B<untranslated>, B<noarg>, B<translate_joined>, or B<translate_each> (zie hierboven voor een uitleg bij deze waarden).

note: type: =head1
en: AUTHORING MAN PAGES COMPLIANT WITH PO4A::MAN
nl: MAN-PAGINA'S SCHRIJVEN WELKE COMPATIBEL ZIJN MET PO4A::MAN

note: type: textblock
en: This module is still very limited, and will always be, because it's not a real nroff interpreter. It would be possible to do a real nroff interpreter, to allow authors to use all the existing macros, or even to define new ones in their pages, but we didn't want to. It would be too difficult, and we thought it wasn't necessary. We do think that if manpages' authors want to see their productions translated, they may have to adapt to ease the work of translators.
nl: 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.

note: type: textblock
en: So, the man parser implemented in po4a have some known limitations we are not really inclined to correct, and which will constitute some pitfalls you'll have to avoid if you want to see translators taking care of your documentation.
nl: 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.

note: type: =head2
en: Don't program in nroff
nl: Programmeer niet in nroff

note: type: textblock
en: nroff is a complete programming language, with macro definition, conditionals and so on. Since this parser isn't a fully featured nroff interpreter, it will fail on pages using these facilities (There are about 200 such pages on my box).
nl: 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).

note: type: =head2
en: Use the plain macro set
nl: Gebruik de gewone macroset

note: type: textblock
en: There are still some macros which are not supported by po4a::man. This is only because I failed to find any documentation about them. Here is the list of unsupported macros used on my box. Note that this list isn't exhaustive since the program fails on the first encountered unsupported macro. If you have any information about some of these macros, I'll happily add support for them. Because of these macros, about 250 pages on my box are inaccessible to po4a::man.
nl: 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.

note: type: =head2
en: Hiding text from po4a
nl: Tekst verborgen houden voor po4a

note: type: textblock
en: Sometimes, the author knows that some parts are not translatable, and should not be extracted by po4a. For example, an option may accept an I<other> argument, and I<other> may also appear as the last item of a list. In the first case, I<other> should be not be translatable. And in the second case, I<other> should be translated.
nl: 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 I<other> kent en dat I<other> ook voorkomt als laatste item van een lijst. In het eerste geval zou I<other> niet-vertaalbaar moeten zijn. Maar in het tweede geval zou I<other> wel vertaald mogen worden.

note: type: textblock
en: In such case, the author can avoid po4a to extract some strings, using some special groff constructs:
nl: In een dergelijk geval kan de auteur vermijden dat po4a bepaalde tekstfragmenten extraheert, door gebruik te maken van enkele speciale groff-constructen:

note: type: textblock
en: (this will require the B<-o groff_code=verbatim> option)
nl: (dit vereist de optie B<-o groff_code=verbatim>)

note: type: verbatim
en: A new macro can also be defined to automate this:
     .de IR_untranslated
     .    IR \\$@
     ..
nl: Er kan ook een nieuwe macro gedefinieerd worden om dit te automatiseren:
     .de IR_untranslated
     .    IR \\$@
     ..

note: type: textblock
en: (this will require the options B<-o groff_code=verbatim> and B<-o untranslated=IR_untranslated>; with this construct, the B<.if !'po4a'hide'> conditional is not strictly needed since po4a will not parse the internal of the macro definition)
nl: (dit vereist de opties B<-o groff_code=verbatim> en B<-o untranslated=IR_untranslated>; met dit construct is de voorwaarde B<.if !'po4a'hide'> niet strikt noodzakelijk, omdat po4a de binnenkant van de macrodefinitie niet zal ontleden)

note: type: verbatim
en: or using an alias:
     .als IR_untranslated IR
nl: of door een alias te gebruiken:
     .als IR_untranslated IR

note: type: textblock
en: This will require the B<-o untranslated=als,IR_untranslated> option.
nl: Dit vereist de optie B<-o untranslated=als,IR_untranslated>.

note: type: =head2
en: Conclusion
nl: Besluit

note: type: textblock
en: To summarise this section, keep simple, and don't try to be clever while authoring your man pages. A lot of things are possible in nroff, and not supported by this parser. For example, don't try to mess with \c to interrupt the text processing (like 40 pages on my box do). Or, be sure to put the macro arguments on the same line that the macro itself. I know that it's valid in nroff, but would complicate too much the parser to be handled.
nl: 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.

note: type: textblock
en: Of course, another possibility is to use another format, more translator friendly (like POD using po4a::pod, or one of the XML family like SGML), but thanks to po4a::man it isn't needed anymore. That being said, if the source format of your documentation is POD, or XML, it may be clever to translate the source format and not this generated one. In most cases, po4a::man will detect generated pages and issue a warning. It will even refuse to process POD generated pages, because those pages are perfectly handled by po4a::pod, and because their nroff counterpart defines a lot of new macros I didn't want to write support for. On my box, 1432 of the 4323 pages are generated from POD and will be ignored by po4a::man.
nl: 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.

note: type: textblock
en: In most cases, po4a::man will detect the problem and refuse to process the page, issuing an adapted message. In some rare cases, the program will complete without warning, but the output will be wrong. Such cases are called "bugs" ;) If you encounter such case, be sure to report this, along with a fix when possible…
nl: 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…

note: type: textblock
en: This module can be used for most of the existing man pages.
nl: Deze module kan gebruikt worden voor de meeste van de bestaande man-pagina's.

note: type: textblock
en: Some tests are regularly run on Linux boxes:
nl: Enkele tests worden regelmatig uitgevoerd op Linux-computers:

note: type: textblock
en: one third of the pages are refused because they were generated from another format supported by po4a (e.g. POD or SGML).
nl: 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.

note: type: textblock
en: 10% of the remaining pages are rejected with an error (e.g. a groff macro is not supported).
nl: 10% van de overige pagina's worden verworpen met een foutmelding (bijv. omdat een groff-macro niet ondersteund wordt).

note: type: textblock
en: Then, less than 1% of the pages are accepted silently by po4a, but with significant issues (i.e. missing words, or new words inserted)
nl: 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)

note: type: textblock
en: The other pages are usually handled without differences more important than spacing differences or line rewrapped (font issues in less than 10% of the processed pages).
nl: 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).

note: type: textblock
en: Locale::Po4a::Po - PO file manipulation module
nl: Locale::Po4a::Po - Module voor het manipuleren van PO-bestanden

note: type: verbatim
en:     # Read PO file
        $pofile->read('file.po');
nl:     # PO-bestand lezen
        $pofile->read('file.po');

note: type: verbatim
en:     # Add an entry
        $pofile->push('msgid' => 'Hello', 'msgstr' => 'bonjour',
                      'flags' => "wrap", 'reference'=>'file.c:46');
nl:     # Een element toevoegen
        $pofile->push('msgid' => 'Hello', 'msgstr' => 'bonjour',
                      'flags' => "wrap", 'reference'=>'file.c:46');

note: type: verbatim
en:     # Extract a translation
        $pofile->gettext("Hello"); # returns 'bonjour'
nl:     # Een vertaling extraheren
        $pofile->gettext("Hello"); # geeft als terugkeer 'bonjour'

note: type: verbatim
en:     # Write back to a file
        $pofile->write('otherfile.po');
nl:     # Terug naar een bestand schrijven
        $pofile->write('anderbestand.po');

note: type: textblock
en: Locale::Po4a::Po is a module that allows you to manipulate message catalogs. You can load and write from/to a file (which extension is often I<po>), you can build new entries on the fly or request for the translation of a string.
nl: Locale::Po4a::Po is een module die u toelaat berichtencatalogi te manipuleren. U kunt uit bestand lezen/naar bestand schrijven (de extensie ervan is vaak I<po>), u kunt in een oogwenk nieuwe elementen bouwen of om de vertaling van een tekstfragment vragen.

note: type: textblock
en: For a more complete description of message catalogs in the PO format and their use, please refer to the info documentation of the gettext program (node "`PO Files"').
nl: Voor een meer volledige beschrijving van berichtencatalogi in de PO-indeling en hun gebruik kunt u de infodocumentatie van het gettext-programma (sectie "'PO-bestanden"') raadplegen.

note: type: textblock
en: This module is part of the po4a project, which objective is to use PO files (designed at origin to ease the translation of program messages) to translate everything, including documentation (man page, info manual), package description, debconf templates, and everything which may benefit from this.
nl: Deze module is een onderdeel van het po4a-project, dat tot doel heeft PO-bestanden (oorspronkelijk ontworpen om de vertaling van programmaberichten te vergemakkelijken) te gebruiken om alles te vertalen, waaronder documentatie (man-pagina's, infohandleidingen), pakketbeschrijvingen, debconf-sjablonen en alles wat hiervan kan profiteren.

note: type: =head1
en: Functions concerning entire message catalogs
nl: Functies met betrekking tot volledige berichtencatalogi

note: type: textblock
en: Creates a new message catalog. If an argument is provided, it's the name of a PO file we should load.
nl: Creëert een nieuwe berichtencatalogus. Als er een argument opgegeven wordt, is het de naam van een PO-bestand dat geladen moet worden.

note: type: textblock
en: Reads a PO file (which name is given as argument).  Previously existing entries in self are not removed, the new ones are added to the end of the catalog.
nl: Leest een PO-bestand (waarvan de naam als argument opgegeven werd). Elementen in self die reeds eerder bestonden, worden niet verwijderd, nieuwe worden aan het einde van de catalogus toegevoegd.

note: type: textblock
en: Writes the current catalog to the given file.
nl: Schrijft de huidige catalogus naar het opgegeven bestand.

note: type: textblock
en: Like write, but if the PO or POT file already exists, the object will be written in a temporary file which will be compared with the existing file to check if the update is needed (this avoids to change a POT just to update a line reference or the POT-Creation-Date field).
nl: Zoals write, maar als het PO- en het POT-bestand reeds bestaan, wordt het object naar een tijdelijk bestand geschreven, dat vergeleken wordt met het bestaande bestand om na te gaan of de update nodig is (dit vermijdt dat een POT-bestand gewijzigd wordt, enkel om een regelreferentie of het veld POT-Creation-Date bij te werken).

note: type: textblock
en: This function extracts a catalog from an existing one. Only the entries having a reference in the given file will be placed in the resulting catalog.
nl: Deze functie extraheert een catalogus uit een bestaande catalogus. Enkel de elementen die in het opgegeven bestand een referentie hebben, zullen in de resulterende catalogus geplaatst worden.

note: type: textblock
en: This function parses its argument, converts it to a Perl function definition, evals this definition and filters the fields for which this function returns true.
nl: Deze functie ontleedt zijn argument, zet het om naar een Perl-functie, evalueert deze definitie en filtert de velden waarvoor deze functie de waarde true (waar) teruggeeft.

note: type: textblock
en: I love Perl sometimes ;)
nl: Soms hou ik van Perl ;)

note: type: textblock
en: Recodes to UTF-8 the PO's msgstrs. Does nothing if the charset is not specified in the PO file ("CHARSET" value), or if it's already UTF-8 or ASCII.
nl: Zet de msgstrs in het PO-bestand om naar UTF-8 . Doet niets indien de tekenset in het PO-bestand niet gespecificeerd werd (waarde van "CHARSET"), of indien deze reeds UTF-8 of ASCII is.

note: type: =head1
en: Functions to use a message catalog for translations
nl: Functies om een berichtencatalogus te gebruiken voor vertalingen

note: type: textblock
en: Request the translation of the string given as argument in the current catalog.  The function returns the original (untranslated) string if the string was not found.
nl: Zoekt in de huidige catalogus de vertaling op van het als argument opgegeven tekstfragment. De door de functie teruggegeven waarde is het originele (niet-vertaalde) tekstfragment als het tekstfragment onvindbaar is.

note: type: textblock
en: After the string to translate, you can pass a hash of extra arguments. Here are the valid entries:
nl: Na het te vertalen tekstfragment kunt u een hash van extra argumenten doorgeven. Dit zijn de geldige vermeldingen:

note: type: textblock
en: boolean indicating whether we can consider that whitespaces in string are not important. If yes, the function canonizes the string before looking for a translation, and wraps the result.
nl: booleaanse operator die aangeeft of we de witruimtes in de tekenreeks als onbelangrijk kunnen beschouwen. Indien het antwoord ja is, canoniseert de functie het tekstfragment voordat de vertaling ervan opgezocht wordt en past ze regelafbreking toe op het resultaat.

note: type: textblock
en: the column at which we should wrap (default: 76).
nl: de kolom waar de regelafbreking moet gebeuren (standaard: 76).

note: type: textblock
en: Returns statistics about the hit ratio of gettext since the last time that stats_clear() was called. Please note that it's not the same statistics than the one printed by msgfmt --statistic. Here, it's statistics about recent usage of the PO file, while msgfmt reports the status of the file.  Example of use:
nl: Bezorgt statistieken over de succesratio van gettext sinds de laatste keer dat stats_clear() aangeroepen werd. Merk op dat dit niet dezelfde statistieken zijn dan die welke door msgfmt --statistic weergegeven worden. Hier betreft het statistieken over het recente gebruik van het PO-bestand, terwijl msgfmt rapporteert over de toestand van het bestand. Een gebruiksvoorbeeld:

note: type: verbatim
en:     [some use of the PO file to translate stuff]
nl:     [een zeker gebruik van het PO-bestand om zaken te vertalen]

note: type: verbatim
en:     ($percent,$hit,$queries) = $pofile->stats_get();
        print "So far, we found translations for $percent\%  ($hit of $queries) of strings.\n";
nl:     ($percent,$hit,$queries) = $pofile->stats_get();
        print "Tot nu werden in $percent\%  ($hit op $queries) van de gevallen vertalingen gevonden voor tekstfragmenten.\n";

note: type: textblock
en: Clears the statistics about gettext hits.
nl: Wist de statistieken over de succesratio van gettext.

note: type: =head1
en: Functions to build a message catalog
nl: Functies voor het bouwen van een berichtencatalogus

note: type: textblock
en: Push a new entry at the end of the current catalog. The arguments should form a hash table. The valid keys are:
nl: Een nieuw element toevoegen aan het einde van de huidige catalogus. De argumenten moeten een hash-tabel vormen. Geldige sleutelwaarden zijn:

note: type: textblock
en: the string in original language.
nl: het tekstfragment in de originele taal.

note: type: textblock
en: the translation.
nl: de vertaling.

note: type: textblock
en: an indication of where this string was found. Example: file.c:46 (meaning in 'file.c' at line 46). It can be a space-separated list in case of multiple occurrences.
nl: een aanduiding over de vindplaats van dit tekstfragment. Bijvoorbeeld: bestand.c:46 (hetgeen betekent in 'bestand.c' op regel 46). Het kan een door spaties gescheiden lijst zijn wanneer het meermaals voorkomt.

note: type: textblock
en: a comment added here manually (by the translators). The format here is free.
nl: een hier handmatig (door de vertalers) toegevoegde commentaar. Hier is de indeling vrij.

note: type: textblock
en: a comment which was automatically added by the string extraction program. See the B<--add-comments> option of the B<xgettext> program for more information.
nl: een commentaar dat automatisch toegevoegd werd door het programma voor het extraheren van tekstfragmenten. Zie de optie B<--add-comments> van het B<xgettext>-programma voor meer informatie.

note: type: textblock
en: space-separated list of all defined flags for this entry.
nl: door spaties gescheiden lijst van alle gedefinieerde vlaggen voor dit element.

note: type: textblock
en: Valid flags are: B<c-text>, B<python-text>, B<lisp-text>, B<elisp-text>, B<librep-text>, B<smalltalk-text>, B<java-text>, B<awk-text>, B<object-pascal-text>, B<ycp-text>, B<tcl-text>, B<wrap>, B<no-wrap> and B<fuzzy>.
nl: Geldige vlaggen zijn: B<c-text>, B<python-text>, B<lisp-text>, B<elisp-text>, B<librep-text>, B<smalltalk-text>, B<java-text>, B<awk-text>, B<object-pascal-text>, B<ycp-text>, B<tcl-text>, B<wrap>, B<no-wrap> en B<fuzzy>.

note: type: textblock
en: See the gettext documentation for their meaning.
nl: Raadpleeg de gettext-documentatie voor hun betekenis.

note: type: textblock
en: this is mostly an internal argument: it is used while gettextizing documents. The idea here is to parse both the original and the translation into a PO object, and merge them, using one's msgid as msgid and the other's msgid as msgstr. To make sure that things get ok, each msgid in PO objects are given a type, based on their structure (like "chapt", "sect1", "p" and so on in DocBook). If the types of strings are not the same, that means that both files do not share the same structure, and the process reports an error.
nl: dit is een hoofdzakelijk intern argument: het wordt gebruikt bij het uitvoeren van gettextize op documenten. Het idee hier is om zowel het origineel als de vertaling te ontleden naar een PO-object en deze samen te voegen door de msgid van het ene als msgid te gebruiken en het msgid van het andere als msgstr. Om te verzekeren dat de zaken goed verlopen, krijgt elke msgid in PO-objecten op basis van zijn structuur (zoals "chapt", "sect1", "p" enzovoort in DocBook) een type toegewezen. Indien tekstfragmenten niet hetzelfde type hebben, betekent dit dat beide bestanden niet dezelfde structuur hebben en zal het proces een fout rapporteren.

note: type: textblock
en: This information is written as automatic comment in the PO file since this gives to translators some context about the strings to translate.
nl: Deze informatie wordt als automatische commentaar opgeschreven in het PO-bestand, omdat dit vertalers enige context geeft over de te vertalen tekstfragmenten.

note: type: textblock
en: boolean indicating whether whitespaces can be mangled in cosmetic reformattings. If true, the string is canonized before use.
nl: booleaanse operator die aangeeft of witruimte kan aangepast worden in het kader van cosmetische opmaakaanpassingen. Indien de waarde true (waar) is, wordt het tekstfragment voor gebruik gecanoniseerd.

note: type: textblock
en: This information is written to the PO file using the B<wrap> or B<no-wrap> flag.
nl: Deze informatie wordt opgeschreven in het PO-bestand met de vlaggen B<wrap> (indien waar) of B<no-wrap> (indien niet waar).

note: type: textblock
en: This information is not written to the PO file.
nl: Deze informatie wordt niet opgeschreven in het PO-bestand.

note: type: =head1
en: Miscellaneous functions
nl: Diverse functies

note: type: textblock
en: Returns the number of entries in the catalog (without the header).
nl: Rapporteert het aantal elementen in de catalogus (zonder de header).

note: type: textblock
en: Returns the number of entries in document. If a string appears multiple times in the document, it will be counted multiple times.
nl: Rapporteert het aantal elementen in het document. Indien een tekstfragment meerdere keren voorkomt in het document, zal het meerdere keren geteld worden.

note: type: textblock
en: Returns the msgid of the given number.
nl: Geeft het msgid terug van het opgegeven getal.

note: type: textblock
en: Returns the msgid with the given position in the document.
nl: Geeft het msgid terug dat de opgegeven positie in het document bekleedt.

note: type: textblock
en: Returns the type of the msgid with the given position in the document. This is probably only useful to gettextization, and it's stored separately from {$msgid}{'type'} because the later location may be overwritten by another type when the $msgid is duplicated in the master document.
nl: Het geeft als resultaat het type van de msgid en de positie ervan in het document. Dit is waarschijnlijk alleen nuttig voor gettextisatie, en het wordt apart van {$msgid}{'type'} opgeslagen omdat de latere locatie kan worden overschreven met een ander type wanneer de $msgid wordt gedupliceerd in het hoofddocument.

note: type: textblock
en: Returns the character set specified in the PO header. If it hasn't been set, it will return "UTF-8".
nl: Rapporteert de in de PO-header opgegeven tekenset. Indien dit daar niet ingesteld werd, zal het "UTF-8" rapporteren.

note: type: textblock
en: This sets the character set of the PO header to the value specified in its first argument. If you never call this function (and no file with a specified character set is read), the default value is left to "UTF-8". This value doesn't change the behavior of this module, it's just used to fill that field in the header, and to return it in get_charset().
nl: Stelt in de PO-header de tekenset in op de waarde die in het eerste argument opgegeven werd. Indien u deze functie nooit aanroept (en er geen bestand met een specifieke tekenset gelezen wordt), blijft de standaardwaarde behouden op "UTF-8". Deze waarde wijzigt het gedrag van deze module niet, zij wordt enkel gebruikt om dat veld in de header in te vullen en dat bij get_charset() terug te zenden.

note: type: textblock
en: Locale::Po4a::Pod - convert POD data from/to PO files
nl: Locale::Po4a::Pod - POD-data van/naar PO-bestanden converteren

note: type: verbatim
en:     # Read POD from STDIN and write to STDOUT.
        $parser->parse_from_filehandle;
nl:     # POD lezen uit STDIN en schrijven naar STDOUT.
        $parser->parse_from_filehandle;

note: type: verbatim
en:     # Read POD from file.pod and write to file.txt.
        $parser->parse_from_file ('file.pod', 'file.txt');
nl:     # POD lezen uit bestand.pod en schrijven naar bestand.txt.
        $parser->parse_from_file ('bestand.pod', 'bestand.txt');

note: type: textblock
en: Locale::Po4a::Pod is a module to help the translation of documentation in the POD format (the preferred language for documenting Perl) into other [human] languages.
nl: Locale::Po4a::Pod is een module ter ondersteuning van de vertaling van documentatie in de POD-indeling (de voorkeurtaal bij het documenteren van Perl) naar andere [menselijke] talen.

note: type: textblock
en: I think that this module is rock stable, and there is only one known bug with F</usr/lib/perl5/Tk/MainWindow.pod> (and some other pages, see below) which contains:
nl: Ik denk dat deze module extreem stabiel is, en er is enkel één bekende bug met F</usr/lib/perl5/Tk/MainWindow.pod> (en enkele andere pagina's, zie hieronder), welke het volgende bevat:

note: type: textblock
en: Lack of luck, in the po4a version, this was split on the space by the wrapping. As result, in the original version, the man page contains
nl: Bij gebrek aan geluk werd dit in de po4a-versie gesplitst op de spatie. Als gevolg daarvan bevat de man-pagna in de originele versie

note: type: textblock
en: and mine contains
nl: en bevat mijn versie

note: type: textblock
en: which is logic since CE<lt>foobarE<gt> is rewritten "foobar".
nl: hetgeen logisch is, want CE<lt>foobarE<gt> wordt geconverteerd als "foobar".

note: type: textblock
en: Complete list of pages having this problem on my box (from 564 pages; note that it depends on the chosen wrapping column): /usr/lib/perl5/Tk/MainWindow.pod /usr/share/perl/5.8.0/overload.pod /usr/share/perl/5.8.0/pod/perlapi.pod /usr/share/perl/5.8.0/pod/perldelta.pod /usr/share/perl/5.8.0/pod/perlfaq5.pod /usr/share/perl/5.8.0/pod/perlpod.pod /usr/share/perl/5.8.0/pod/perlre.pod /usr/share/perl/5.8.0/pod/perlretut.pod
nl: Volledige lijst van de pagina's met dit probleem op mijn computer (van de 564 pagina's; merk op dat dit afhankelijk is van de gekozen kolom voor regelafbreking): /usr/lib/perl5/Tk/MainWindow.pod /usr/share/perl/5.8.0/overload.pod /usr/share/perl/5.8.0/pod/perlapi.pod /usr/share/perl/5.8.0/pod/perldelta.pod /usr/share/perl/5.8.0/pod/perlfaq5.pod /usr/share/perl/5.8.0/pod/perlpod.pod /usr/share/perl/5.8.0/pod/perlre.pod /usr/share/perl/5.8.0/pod/perlretut.pod

note: type: =head1
en: INTERNALS
nl: BINNENWERK

note: type: textblock
en: As a derived class from Pod::Parser, Locale::Po4a::Pod supports the same methods and interfaces.  See L<Pod::Parser> for all the details; briefly, one creates a new parser with C<< Locale::Po4a::Pod->new() >> and then calls either parse_from_filehandle() or parse_from_file().
nl: Als een afgeleide klasse van Pod::Parser, ondersteunt Locale::Po4a::Pod dezelfde methodes en interfaces. Zie L<Pod::Parser> voor alle details; in het kort: men creëert een nieuwe ontleder met C<< Locale::Po4a::Pod->new() >> en aanroept daarna ofwel parse_from_filehandle() of parse_from_file().

note: type: textblock
en: new() can take options, in the form of key/value pairs, that control the behavior of the parser.  The recognized options common to all Pod::Parser children are:
nl: Met new() kunnen opties gebruikt worden in de vorm van paren van sleutel/waarde. Zij sturen het gedrag van de ontleder. De gemeenschappelijke mogelijke opties voor alle dochters van Pod::Parser zijn:

note: type: textblock
en: If set to a true value, selects an alternate output format that, among other things, uses a different heading style and marks B<=item> entries with a colon in the left margin.  Defaults to false.
nl: Indien dit ingesteld staat op de waarde true (waar), wordt een andere indeling voor de uitvoer gebruikt, welke onder andere een andere header-stijl gebruikt en  B<=item>-elementen markeert met een dubbelepunt in de linkermarge. Staat standaard ingesteld op false (onwaar).

note: type: textblock
en: If set to a true value, the non-POD parts of the input file will be included in the output.  Useful for viewing code documented with POD blocks with the POD rendered and the code left intact.
nl: Indien dit ingesteld staat op de waarde true (waar), zullen de niet-POD onderdelen van de invoer opgenomen worden in de uitvoer. Handig voor het bekijken van code gedocumenteerd met POD-blokken, waarbij de POD weergegeven en de code intact gelaten wordt.

note: type: textblock
en: The number of spaces to indent regular text, and the default indentation for B<=over> blocks.  Defaults to 4.
nl: Het aantal spaties dat gebruikt wordt voor  het laten inspringen van gewone tekst, en de standaard insprongwaarde voor  B<=over>-blokken. Is standaard 4.

note: type: textblock
en: If set to a true value, a blank line is printed after a B<=head1> heading.  If set to false (the default), no blank line is printed after B<=head1>, although one is still printed after B<=head2>.  This is the default because it's the expected formatting for manual pages; if you're formatting arbitrary text documents, setting this to true may result in more pleasing output.
nl: Indien dit ingesteld staat op de waarde true (waar), zal een lege regel afgedrukt worden na een B<=head1>-kop. Indien dit ingesteld staat op de warde false (onwaar) (de standaardinstelling), wordt geen lege regel afgedrukt na B<=head1>, hoewel er wel nog een lege regel afgedrukt wordt na B<=head2>. Dit is de standaardinstelling, omdat het de gebruikelijke indeling is van man-pagina's; indien u arbitraire tekstdocumenten opmaakt, zal dit instellen op de waarde true, leiden tot een aangenamer resultaat.

note: type: textblock
en: Sets the quote marks used to surround CE<lt>> text.  If the value is a single character, it is used as both the left and right quote; if it is two characters, the first character is used as the left quote and the second as the right quote; and if it is four characters, the first two are used as the left quote and the second two as the right quote.
nl: Stelt in welke aanhalingstekens gebruikt moeten worden rond CE<lt>> tekst. Indien de waarde bestaat uit één enkel letterteken, dan wordt dit zowel voor het linker- als voor het rechteraanhalingsteken gebruikt. Indien de waarde bestaat uit twee lettertekens, dan wordt het eerste letterteken gebruikt als het linkeraanhalingsteken en het tweede als het rechteraanhalingsteken, en indien de waarde vier lettertekens lang is, worden de eerste twee gebruikt als linkeraanhalingsteken en de laatste twee als rechteraanhalingsteken.

note: type: textblock
en: This may also be set to the special value B<none>, in which case no quote marks are added around CE<lt>> text.
nl: Dit kan ook ingesteld worden op de speciale waarde B<none>, en in dat geval worden geen aanhalingstekens geplaatst rond CE<lt>> tekst.

note: type: textblock
en: If set to a true value, Locale::Po4a::Pod will assume that each sentence ends in two spaces, and will try to preserve that spacing.  If set to false, all consecutive whitespace in non-verbatim paragraphs is compressed into a single space.  Defaults to true.
nl: Indien dit ingesteld staat op de waarde true (waar), zal Locale::Po4a::Pod aannemen dat elke zin eindigt met twee spaties en zal het deze spatiëring proberen te bewaren. Indien dit ingesteld wordt op de waarde false (onwaar), zal alle opeenvolgende witruimte in niet-letterlijke alinea's gecomprimeerd worden tot één enkele spatie. Standaard is true.

note: type: textblock
en: The column at which to wrap text on the right-hand side.  Defaults to 76.
nl: De kolom waarop tekst rechts moet worden afgebroken. Staat standaard op 76.

note: type: textblock
en: Locale::Po4a::RubyDoc -- Convert Ruby Document data from/to PO files
nl: Locale::Po4a::RubyDoc - Ruby Document data van/naar PO-bestanden converteren

note: type: textblock
en: Locale::Po4a::RubyDoc is a module to help the translation of documentation in the Ruby Document (RD) format (a language used to document Ruby) into other [human] languages.
nl: Locale::Po4a::RubyDoc is een module ter ondersteuning van de vertaling van documentatie in de Ruby Document (RD) indeling (een taal die gebruikt wordt voor het documenteren van Ruby) naar andere [menselijke] talen.

note: type: textblock
en: This module has been successfully tested on simple Ruby Document files covering a good part of the format syntax.
nl: Deze module is met succes getest op eenvoudige Ruby Document-bestanden die een groot deel van de syntaxis van het bestandsformaat dekken.

note: type: textblock
en: A known limitation is that it fails to properly recognize the stacked structure of input Ruby Document: this implies that when, for instance, an EnumListItem consists of more than one Block, only the first Block is actually recognized as EnumListItem, while the subsequent ones are considered just as TextBlocks...
nl: Een bekende beperking is dat het de gestapelde structuur van input Ruby Document niet goed herkent: dit houdt in dat wanneer, bijvoorbeeld, een EnumListItem uit meer dan één Block bestaat, alleen het eerste Block als EnumListItem wordt herkend, terwijl de volgende gewoon als TextBlocks worden beschouwd...

note: type: textblock
en: This module supports the following option:
nl: Deze module ondersteunt de volgende optie:

note: type: textblock
en: Handle files entirely made of Ruby Document formatted text (without any "=begin" line).
nl: Bestanden verwerken die volledig uit in Ruby Document opgemaakte tekst bestaan (zonder enige "=begin" regel).

note: type: textblock
en: By default, this module only handles Ruby Document formatted text between "=begin" and "=end" lines (hence ignoring, among other things, everything that precedes the first "=begin" line).
nl: Standaard verwerkt deze module alleen in Ruby Document opgemaakte tekst tussen "=begin" en "=end" regels (en negeert daarom onder andere alles wat voorafgaat aan de eerste "=begin" regel).

note: type: textblock
en: This work is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
nl: Dit werk is vrije software; u kunt het opnieuw distribueren en/of wijzigen onder de voorwaarden van de GNU General Public License zoals gepubliceerd door de Free Software Foundation, ofwel versie 2 van de Licentie, of (naar uw keuze) een latere versie.

note: type: textblock
en: This work is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
nl: Dit werk wordt verspreid in de hoop dat het nuttig zal zijn, maar ZONDER ENIGE GARANTIE; zelfs zonder de impliciete garantie van VERKOOPBAARHEID of GESCHIKTHEID VOOR EEN BEPAALD DOEL.  Zie de GNU General Public License voor meer details.

note: type: textblock
en: You should have received a copy of the GNU General Public License along with this work; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
nl: U zou samen met dit werk een kopie van de GNU General Public License moeten hebben ontvangen; zo niet, schrijf dan naar de Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

note: type: textblock
en: Parts of the code (such as many regular expressions) were adapted from the source of rdtool, under the terms of the GNU General Public License, version 2 or later.  These parts are originally:
nl: Delen van de code (zoals veel reguliere expressies) zijn aangepast vanuit de bron van rdtool, onder de voorwaarden van de GNU General Public License, versie 2 of later. Deze onderdelen zijn oorspronkelijk:

note: type: textblock
en: The initialize code was adapted from the source of Locale::Po4a::Text, under the terms of the GNU General Public License, version 2 or later.  This code was originally:
nl: De initialize-code werd aangepast vanuit de broncode van Locale::Po4a::Text, onder de voorwaarden van de GNU General Public License, versie 2 of later.  Deze code was oorspronkelijk:

note: type: textblock
en: Locale::Po4a::Sgml - convert SGML documents from/to PO files
nl: Locale::Po4a::Sgml - SGML-documenten van/naar PO-bestanden converteren

note: type: textblock
en: Locale::Po4a::Sgml is a module to help the translation of documentation in the SGML format into other [human] languages.
nl: Locale::Po4a::Sgml is een module ter ondersteuning van de vertaling van documentatie in de SGML-indeling naar andere [menselijke] talen.

note: type: textblock
en: This module uses B<onsgmls>(1) to parse the SGML files. Make sure it is installed.  Also make sure that the DTD of the SGML files are installed in the system.
nl: Deze module gebruikt B<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.

note: type: textblock
en: Space separated list of keywords indicating which part you want to debug. Possible values are: tag, generic, entities and refs.
nl: Door spaties gescheiden lijst met trefwoorden die aangeven welk deel u wilt debuggen. Mogelijke waarden zijn: tag, generic, entities en refs.

note: type: textblock
en: Give more information about what's going on.
nl: Meer informatie geven over wat gaande is.

note: type: textblock
en: Space separated list of extra tags (beside the DTD provided ones) whose content should form an extra msgid.
nl: Door spaties gescheiden lijst van extra tags (naast de door DTD verstrekte tags) waarvan de inhoud een extra msgid moet vormen.

note: type: textblock
en: Space separated list of extra tags (beside the DTD provided ones)  containing other tags, some of them being of category B<translate>.
nl: Door spaties gescheiden lijst van extra tags (naast de door DTD verstrekte tags) die andere tags bevatten, waarvan sommige van categorie B<translate> zijn.

note: type: textblock
en: Space separated list of tags which increase the indentation level.
nl: Door spaties gescheiden lijst met tags die het insprongniveau verhogen.

note: type: textblock
en: The layout within those tags should not be changed. The paragraph won't get wrapped, and no extra indentation space or new line will be added for cosmetic purpose.
nl: 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.

note: type: textblock
en: Tags not needing to be closed.
nl: Tags welke niet gesloten moeten worden.

note: type: textblock
en: Tags ignored and considered as plain char data by po4a. That is to say that they can be part of an msgid. For example, E<lt>bE<gt> is a good candidate for this category since putting it in the translate section would create msgids not being whole sentences, which is bad.
nl: Genegeerde tags welke door po4a beschouwd worden als gewone lettertekens. Dit wil zeggen dat zij deel kunnen uitmaken van een msgid. Bijvoorbeeld is E<lt>bE<gt> 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.

note: type: textblock
en: A space separated list of attributes that need to be translated. You can specify the attributes by their name (for example, "lang"), but you can also prefix it with a tag hierarchy, to specify that this attribute will only be translated when it is into the specified tag. For example: E<lt>bbbE<gt>E<lt>aaaE<gt>lang specifies that the lang attribute will only be translated if it is in an E<lt>aaaE<gt> tag, which is in a E<lt>bbbE<gt> tag.  The tag names are actually regular expressions so you can also write things like E<lt>aaa|bbbbE<gt>lang to only translate lang attributes that are in an E<lt>aaaE<gt> or a E<lt>bbbE<gt> tag.
nl: 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: E<lt>bbbE<gt>E<lt>aaaE<gt>lang geeft aan dat het attribuut lang enkel vertaald zal worden als het zich binnen een E<lt>aaaE<gt>-tag bevindt, welke zich op zijn beurt binnen een E<lt>bbbE<gt>-tag moet bevinden. De namen van tags zijn eigenlijk reguliere expressies, en dus kunt u ook zaken schrijven zoals E<lt>aaa|bbbbE<gt>lang om het attribuut lang enkel te vertalen wanneer het zich binnen een tag E<lt>aaaE<gt> of E<lt>bbbE<gt> bevindt.

note: type: textblock
en: A space separated list of attributes for which the translation must be qualified by the attribute name. Note that this setting automatically adds the given attribute into the 'attributes' list too.
nl: 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.

note: type: textblock
en: Proceed even if the DTD is unknown or if onsgmls finds errors in the input file.
nl: Doorgaan, zelfs als de DTD onbekend is of als onsgmls fouten vindt in het invoerbestand.

note: type: textblock
en: By default, msgids containing only one entity (like '&version;') are skipped for the translator comfort. Activating this option prevents this optimisation. It can be useful if the document contains a construction like "<title>&Aacute;</title>", even if I doubt such things to ever happen...
nl: 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...

note: type: textblock
en: Space separated list of entities that won't be inlined.  Use this option with caution: it may cause onsgmls (used internally) to add tags and render the output document invalid.
nl: 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.

note: type: textblock
en: The result is perfect. I.e., the generated documents are exactly the same. But there are still some problems:
nl: Het resultaat is perfect. Dat wil zeggen dat de gegenereerde documenten exact hetzelfde zijn. Maar er zijn nog steeds enkele problemen:

note: type: textblock
en: The error output of onsgmls is redirected to /dev/null by default, which is clearly bad. I don't know how to avoid that.
nl: Standaard wordt de foutuitvoer van onsgmls omgeleid naar /dev/null, wat duidelijk niet goed is. Ik weet niet hoe dit vermeden kan worden.

note: type: textblock
en: The problem is that I have to "protect" the conditional inclusions (i.e. the C<E<lt>! [ %foo [> and C<]]E<gt>> stuff) from onsgmls. Otherwise onsgmls eats them, and I don't know how to restore them in the final document. To prevent that, I rewrite them to C<{PO4A-beg-foo}> and C<{PO4A-end}>.
nl: Het probleem is dat ik de voorwaardelijke insluitingen (d.w.z. de zaken C<E<lt>! [ %foo [> en C<]]E<gt>>) 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 C<{PO4A-beg-foo}> en C<{PO4A-end}>.

note: type: textblock
en: The problem with this is that the C<{PO4A-end}> and such I add are invalid in the document (not in a E<lt>pE<gt> tag or so).
nl: Het probleem hiermee is dat de C<{PO4A-end}> en dergelijke, welke ik toevoeg, ongeldig zijn in het document (behalve in een E<lt>pE<gt>-tag of zo).

note: type: textblock
en: If you want to view the onsgmls output, just add the following to your command line (or po4a configuration line):
nl: Indien u de onsgmls-uitvoer wilt zien, moet u gewoon het volgende toevoegen aan uw commandoregel (of in de po4a configuratieregel):

note: type: textblock
en: It does work only with the DebianDoc and DocBook DTD. Adding support for a new DTD should be very easy. The mechanism is the same for every DTD, you just have to give a list of the existing tags and some of their characteristics.
nl: 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.

note: type: textblock
en: I agree, this needs some more documentation, but it is still considered as beta, and I hate to document stuff which may/will change.
nl: 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.

note: type: textblock
en: Warning, support for DTDs is quite experimental. I did not read any reference manual to find the definition of every tag. I did add tag definition to the module 'till it works for some documents I found on the net. If your document use more tags than mine, it won't work. But as I said above, fixing that should be quite easy.
nl: 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.

note: type: textblock
en: I did test DocBook against the SAG (System Administrator Guide) only, but this document is quite big, and should use most of the DocBook specificities.
nl: 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.

note: type: textblock
en: For DebianDoc, I tested some of the manuals from the DDP, but not all yet.
nl: Voor DebianDoc testte ik met een aantal handleidingen van het DDP, maar nog niet met allemaal.

note: type: textblock
en: In case of file inclusion, string reference of messages in PO files (i.e. lines like C<#: en/titletoc.sgml:9460>) will be wrong.
nl: In het geval er bestanden ingesloten worden, zullen de tekstfragmentreferenties van berichten in PO-bestanden (d.w.z. regels zoals C<#: en/titletoc.sgml:9460>) fout zijn.

note: type: textblock
en: This is because I preprocess the file to protect the conditional inclusion (i.e. the C<E<lt>! [ %foo [> and C<]]E<gt>> stuff) and some entities (like &version;) from onsgmls because I want them verbatim to the generated document. For that, I make a temp copy of the input file and do all the changes I want to this before passing it to onsgmls for parsing.
nl: Dit is omdat ik een voorbehandeling toepas op het bestand om de voorwaardelijke insluitingen (d.w.z. de zaken C<E<lt>! [ %foo [> en C<]]E<gt>>) 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.

note: type: textblock
en: So that it works, I replace the entities asking for a file inclusion by the content of the given file (so that I can protect what needs to be in a subfile also). But nothing is done so far to correct the references (i.e., filename and line number) afterward. I'm not sure what the best thing to do is.
nl: 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.

note: type: textblock
en: This module is an adapted version of sgmlspl (SGML postprocessor for the ONSGMLS parser) which was:
nl: Deze module is een aanpassing van sgmlspl (SGML postprocessor voor de ONSGMLS-ontleder). Deze was:

note: type: textblock
en: The adaptation for po4a was done by:
nl: De aanpassing voor po4a gebeurde door:

note: type: textblock
en: Locale::Po4a::TeX - convert TeX documents and derivatives from/to PO files
nl: Locale::Po4a::TeX - TeX-documenten en afgeleiden van/naar PO-bestanden converteren

note: type: textblock
en: Locale::Po4a::TeX is a module to help the translation of TeX documents into other [human] languages. It can also be used as a base to build modules for TeX-based documents.
nl: Locale::Po4a::TeX is een module ter ondersteuning van de vertaling van TeX-documenten naar andere [menselijke] talen. Ze kan ook gebruikt worden als basis voor het bouwen van modules voor op TeX gebaseerde documenten.

note: type: textblock
en: Users should probably use the LaTeX module, which inherits from the TeX module and contains the definitions of common LaTeX commands.
nl: Gebruikers moeten waarschijnlijk eerder de LaTeX-module gebruiken, die voortbouwt op de TeX-module en de definities van veelvoorkomende LaTeX-commando's bevat.

note: type: =head1
en: TRANSLATING WITH PO4A::TEX
nl: VERTALEN MET PO4A::TEX

note: type: textblock
en: This module can be used directly to handle generic TeX documents.  This will split your document in smaller blocks (paragraphs, verbatim blocks, or even smaller like titles or indexes).
nl: Deze module kan rechtstreeks gebruikt worden voor het verwerken van generieke TeX-documenten. Zij splitst uw document op in kleinere blokken (paragrafen, woordelijke blokken, of zelfs kleinere blokken, zoals titels en indexen).

note: type: textblock
en: There are some options (described in the next section) that can customize this behavior.  If this doesn't fit to your document format you're encouraged to write your own derivative module from this, to describe your format's details.  See the section B<WRITING DERIVATIVE MODULES> below, for the process description.
nl: Er zijn bepaalde opties (die in het volgende gedeelte beschreven worden) die dit gedrag kunnen aanpassen. Indien deze module niet beantwoordt aan de indeling van uw document, wordt u aangemoedigd om op basis van deze module uw eigen afgeleide module te schrijven, met de beschrijving van de details van uw indeling. Raadpleeg het gedeelte B<AFGELEIDE MODULES SCHRIJVEN>, hieronder, voor de beschrijving van de werkwijze.

note: type: textblock
en: This module can also be customized by lines starting with "% po4a:" in the TeX file. This process is described in the B<INLINE CUSTOMIZATION> section.
nl: Deze module kan ook aangepast worden door regels in het TeX-bestand zelf, die beginnen met "% po4a:". Dit proces wordt beschreven in het gedeelte B<INBOUWAANPASSINGEN>.

note: type: textblock
en: Comma-separated list of environments which should not be re-wrapped.
nl: Door komma's gescheiden lijst met omgevingen, waarin de regelafbreking niet veranderd mag worden.

note: type: textblock
en: Note that there is a difference between verbatim and no_wrap environments.  There is no command and comments analysis in verbatim blocks.
nl: Merk op dat er een verschil is tussen de omgevingen verbatim en no_wrap. In verbatim (woordelijke) blokken gebeurt er geen analyse van commando's en commentaar.

note: type: textblock
en: If this environment was not already registered, po4a will consider that this environment does not take any parameters.
nl: Indien deze omgeving nog niet geregistreerd was, zal po4a deze omgeving beschouwen als een parameterloze omgeving.

note: type: textblock
en: Colon-separated list of files that should not be included by \input and \include.
nl: Door dubbele punten gescheiden lijst van bestanden die niet mogen ingevoegd worden met de commando's \input en \include.

note: type: textblock
en: Comma-separated list of environments which should be taken as verbatim.
nl: Door komma's gescheiden lijst van omgevingen die als letterlijk (verbatim) moeten worden beschouwd.

note: type: textblock
en: Use these options to override the default behavior of the defined commands.
nl: Gebruik deze opties om het standaardgedrag van de gedefinieerde commando's op te heffen.

note: type: textblock
en: The TeX module can be customized with lines starting by B<% po4a:>.  These lines are interpreted as commands to the parser.  The following commands are recognized:
nl: De TeX-module kan aangepast worden met regels die beginnen met B<% po4a:>. Deze regels worden geïnterpreteerd als commando's voor de ontleder. De volgende commando's worden herkend:

note: type: =item
en: B<% po4a: command> I<command1> B<alias> I<command2>
nl: B<% po4a: command> I<commando1> B<alias> I<commando2>

note: type: textblock
en: Indicates that the arguments of the I<command1> command should be treated as the arguments of the I<command2> command.
nl: Geeft aan dat de argumenten voor het commando I<commando1> behandeld moeten worden zoals de argumenten voor het commando I<commando2>.

note: type: =item
en: B<% po4a: command> I<command1> I<parameters>
nl: B<% po4a: command> I<commando1> I<parameters>

note: type: textblock
en: This describes in detail the parameters of the I<command1> command.  This information will be used to check the number of arguments and their types.
nl: Dit beschrijft in detail de parameters voor het commando I<commando1>. Deze informatie wordt vervolgens gebruikt om het aantal argumenten en hun type te controleren.

note: type: textblock
en: You can precede the I<command1> command by
nl: U kunt het commando I<commando1> laten voorafgaan door

note: type: =item
en: an asterisk (B<*>)
nl: een sterretje (B<*>)

note: type: textblock
en: po4a will extract this command from paragraphs (if it is located at the beginning or the end of a paragraph).  The translators will then have to translate the parameters that are marked as translatable.
nl: po4a zal dit commando uit paragrafen halen (als het zich in het begin of aan het einde van een paragraaf bevindt). De vertalers zullen dan de parameters, die gemarkeerd zijn als vertaalbaar, moeten vertalen.

note: type: =item
en: a plus (B<+>)
nl: een plus (B<+>)

note: type: textblock
en: As for an asterisk, the command will be extracted if it appear at an extremity of a block, but the parameters won't be translated separately.  The translator will have to translate the command concatenated to all its parameters.  This keeps more context, and is useful for commands with small words in parameter, which can have multiple meanings (and translations).
nl: Zoals dit bij een sterretje gebeurt, zal het commando uit het blok gehaald worden, als het zich aan een uiteinde ervan bevindt, maar de parameters zullen niet afzonderlijk vertaald worden. De vertaler zal het commando samengevoegd met al zijn parameters moeten vertalen. Dit behoudt meer context en is nuttig voor commando's met kleine woorden als parameter, welke verschillende betekenissen (en vertalingen) kunnen hebben.

note: type: textblock
en: Note: In this case you don't have to specify which parameters are translatable, but po4a must know the type and number of parameters.
nl: Opmerking: in dit geval moet u niet specificeren welke parameters vertaalbaar zijn, maar po4a moet het type en het aantal parameters kennen.

note: type: =item
en: a minus (B<->)
nl: een minteken (B<->)

note: type: textblock
en: In this case, the command won't be extracted from any block.  But if it appears alone on a block, then only the parameters marked as translatable will be presented to the translator.  This is useful for font commands.  These commands should generally not be separated from their paragraph (to keep the context), but there is no reason to annoy the translator with them if a whole string is enclosed in such a command.
nl: In dit geval zal het commando nooit uit een blok geëxtraheerd worden. Maar wanneer het alleen in een blok voorkomt, dan zullen enkel de als vertaalbaar gemarkeerde parameters voorgelegd worden aan de vertaler. Dit is nuttig voor lettertypecommando's. Deze commando's zouden in het algemeen niet losgemaakt moeten worden uit hun alinea (om de context te behouden), maar er is geen reden om de vertaler ermee te ergeren als een heel tekstfragment door zo'n commando omsloten wordt.

note: type: verbatim
en: The I<parameters> argument is a set of [] (to indicate an optional
    argument) or {} (to indicate a mandatory argument).
    You can place an underscore (_) between these brackets to indicate that
    the parameter must be translated. For example:
     % po4a: command *chapter [_]{_}
nl: Het I<parameters>-argument is een verzameling van [] (om een facultatief
    argument aan te geven) en {} (om een verplicht argument aan te geven).
    U kunt een laag streepje (_) tussen deze aanhalingstekens plaatsen om aan te geven dat
    de parameter vertaald moet worden. Bijvoorbeeld:
    % po4a: command *chapter [_]{_}

note: type: verbatim
en: This indicates that the chapter command has two parameters: an optional
    (short title) and a mandatory one, which must both be translated.
    If you want to specify that the href command has two mandatory parameters,
    that you don't want to translate the URL (first parameter), and that you
    don't want this command to be separated from its paragraph (which allow
    the translator to move the link in the sentence), you can use:
     % po4a: command -href {}{_}
nl: Dit geeft aan dat het commando chapter twee parameters heeft: een facultatief
    (korte titel) en een verplicht, welke beide vertaald moeten worden.
    Indien u wilt specificeren dat het commando href twee verplichte parameters heeft,
    dat u de URL niet wilt vertalen (eerste parameter), en dat u niet wilt
    dat dit commando gescheiden wordt van zijn paragraaf (hetgeen de vertaler
    toelaat om de link in de zin te verplaatsen), kunt u het volgende commando gebruiken:
    % po4a: command -href {}{_}

note: type: textblock
en: In this case, the information indicating which arguments must be translated is only used if a paragraph is only composed of this href command.
nl: In dit geval wordt de informatie die aangeeft welke argumenten moeten worden vertaald, alleen gebruikt als een alinea alleen bestaat uit dit href-commando.

note: type: verbatim
en: This defines the parameters accepted by the I<env> environment and specifies the ones to be translated.
    This information is later used to check the number of arguments of the
    \begin command.
    The syntax of the I<parameters> argument is the same as described for the
    others commands.
    The first parameter of the \begin command is the name of the environment.
    This parameter must not be specified in the list of parameters. Here are
    some examples:
     % po4a: environment multicols {}
     % po4a: environment equation
nl: Dit definieert de parameters die door de omgeving I<env> aanvaard worden en specificeert degene die vertaald moeten worden..
    Deze informatie wordt later gebruikt om het aantal argumenten te controleren van het
    commando \begin.
    De syntaxis van het argument I<parameters> is dezelfde als die welke voor
    de andere commando's beschreven werd.
    De eerste parameter van het commando \begin is de naam van de omgeving (environment).
    Deze parameter moet niet opgegeven worden in de lijst met parameters. Hier
    volgen enkele voorbeelden:
    % po4a: environment multicols {}
     % po4a: environment equation

note: type: textblock
en: As for the commands, I<env> can be preceded by a plus (+) to indicate that the \begin command must be translated with all its arguments.
nl: Zoals dit voor de commando's het geval is , kan I<env> voorafgegaan worden door een plusteken (+) om aan te geven dat het \begin-commando met al zijn argumenten vertaald moet worden.

note: type: textblock
en: Indicates that an environment should be split according to the given regular expression.
nl: Geeft aan dat een omgeving moet worden gesplitst volgens de gegeven reguliere expressie.

note: type: textblock
en: The regular expression is delimited by quotes.  It should not create any back-reference.  You should use (?:) if you need a group.  It may also need some escapes.
nl: De reguliere expressie wordt binnen aanhalingstekens geplaatst. Ze mag geen terugverwijzing creëren. U moet (?:) gebruiken als u een groep wilt gebruiken. Mogelijk zijn er ook escape-tekens nodig.

note: type: textblock
en: For example, the LaTeX module uses the "(?:&|\\\\)" regular expression to translate separately each cell of a table (lines are separated by '\\' and cells by '&').
nl: Bijvoorbeeld gebruikt de LaTeX-module de reguliere expressie "(?:&|\\\\)" om elke cel van een tabel (regels worden gescheiden door '\\' en cellen door '&') apart te vertalen.

note: type: textblock
en: The notion of environment is expanded to the type displayed in the PO file.  This can be used to split on "\\\\" in the first mandatory argument of the title command.  In this case, the environment is title{#1}.
nl: Het begrip omgeving wordt uitgebreid naar het type dat wordt weergegeven in het PO-bestand. Dit kan gebruikt worden om te splitsen bij  "\\\\" in het eerste verplichte argument van het title-commando. In dit geval is de omgeving title{#1}.

note: type: textblock
en: Indicate that I<env> is a verbatim environment.  Comments and commands will be ignored in this environment.
nl: Geeft aan dat I<env> een letterlijke omgeving is. In deze omgeving worden commentaar en commando's genegeerd.

note: type: =head1
en: WRITING DERIVATE MODULES
nl: AFGELEIDE MODULES SCHRIJVEN

note: type: textblock
en: Add a string as a comment to be added around the next translated element.  This is mostly useful to the texinfo module, as comments are automatically handled in TeX.
nl: Een tekstfragment toevoegen om rond het volgende vertaalde element toe te voegen. Dit is voornamelijk nuttig voor de texinfo-module, omdat commentaar in TeX automatisch verwerkt wordt.

note: type: textblock
en: Wrapper around Transtractor's translate, with pre- and post-processing filters.
nl: Wikkel rond de translate-functie van Transtractor, met voor- en naverwerkingsfilters.

note: type: textblock
en: Comments of a paragraph are inserted as a PO comment for the first translated string of this paragraph.
nl: Commentaar bij een alinea wordt ingevoegd als PO-commentaar bij het eerste vertaalde tekstfragment van deze paragraaf.

note: type: textblock
en: This function returns:
nl: Deze functie zendt het volgende terug:

note: type: =item
en: A command name
nl: Een commandonaam

note: type: textblock
en: If no command is found at the beginning of the given buffer, this string will be empty.  Only commands that can be separated are considered.  The %separated_command hash contains the list of these commands.
nl: Indien aan het begin van de gegeven buffer geen commando aangetroffen wordt, zal dit tekstfragment leeg zijn. Enkel met commando's die afgezonderd kunnen worden, wordt rekening gehouden. De hash %separated_command bevat de lijst met deze commando's.

note: type: =item
en: A variant
nl: Een variant

note: type: textblock
en: This indicates if a variant is used.  For example, an asterisk (*) can be added at the end of sections command to specify that they should not be numbered.  In this case, this field will contain "*".  If there is no variant, the field is an empty string.
nl: Dit geeft aan of een variant gebruikt wordt. Bijvoorbeeld kan een sterretje (*) toegevoegd worden aan het eind van een section-commando om aan te geven dat deze secties niet genummerd moeten worden. In dit geval zal dit veld "*" bevatten. Dit veld is een lege tekenreeks indien er geen variant is.

note: type: =item
en: An array of tuples (type of argument, argument)
nl: Een reeks tupels (soort argument, argument)

note: type: textblock
en: The type of argument can be either '{' (for mandatory arguments) or '[' (for optional arguments).
nl: Het soort argument is ofwel '{' (voor verplichte argumenten) of '[' (voor facultatieve argumenten).

note: type: =item
en: The remaining buffer
nl: De resterende buffer

note: type: textblock
en: The rest of the buffer after the removal of this leading command and its arguments.  If no command is found, the original buffer is not touched and returned in this field.
nl: De rest van de buffer, nadat aan het begin ervan dit commando en zijn argumenten verwijderd werden. Indien geen commando aangetroffen wordt, blijft de originele buffer ongewijzigd en wordt deze teruggegeven in dit veld.

note: type: textblock
en: The same as B<get_leading_command>, but for commands at the end of a buffer.
nl: Hetzelfde als B<get_leading_command>, maar voor commando's aan het eind van een buffer.

note: type: textblock
en: Recursively translate a buffer by separating leading and trailing commands (those which should be translated separately) from the buffer.
nl: Een buffer recursief vertalen door de commando's aan het begin en het eind ervan af te splitsen (deze welke vertaald moeten worden apart) van de buffer.

note: type: textblock
en: If a function is defined in %translate_buffer_env for the current environment, this function will be used to translate the buffer instead of translate_buffer().
nl: Indien voor de huidige omgeving een functie gedefinieerd is in %translate_buffer_env, zal deze functie gebruikt worden om de buffer te vertalen in plaats van translate_buffer().

note: type: textblock
en: Overloads Transtractor's read().
nl: Overbelast de functie read() van Transtractor.

note: type: textblock
en: Recursively read a file, appending included files which are not listed in the @exclude_include array.  Included files are searched using the B<kpsewhich> command from the Kpathsea library.
nl: Een bestand recursief lezen en er de ingevoegde bestanden, welke niet vermeld zijn in de matrix @exclude_include, aan toevoegen. Ingevoegde bestanden worden opgezocht met het commando B<kpsewhich> uit de Kpathsea-bibliotheek.

note: type: textblock
en: Except from the file inclusion part, it is a cut and paste from Transtractor's read.
nl: Behalve voor het aspect van het invoegen van bestanden, is het een knippen en plakken uit de functie read van Transtractor.

note: type: textblock
en: Subroutine for parsing a file with po4a directives (definitions for new commands).
nl: Een subroutine voor het ontleden van een bestand met po4a-richtlijnen (definities voor nieuwe commando's).

note: type: textblock
en: Parse a definition line of the form "% po4a: ".
nl: Een definitieregel in de vorm "% po4a: " ontleden.

note: type: textblock
en: See the B<INLINE CUSTOMIZATION> section for more details.
nl: Zie het gedeelte B<INBOUWAANPASSINGEN> voor meer details.

note: type: =head1
en: INTERNAL FUNCTIONS used to write derivative parsers
nl: INTERNE FUNCTIES welke gebruikt worden voor het schrijven van afgeleide ontleders

note: type: textblock
en: Command and environment functions take the following arguments (in addition to the $self object):
nl: Functies voor commando's en omgevingen nemen de volgende argumenten (naast het object $self):

note: type: =item
en: An array of (type, argument) tuples
nl: Een lijst van tupels (type, argument)

note: type: =item
en: The current environment
nl: De huidige omgeving

note: type: textblock
en: The first 3 arguments are extracted by get_leading_command or get_trailing_command.
nl: De eerste 3 argumenten worden geëxtraheerd door get_leading_command of get_trailing_command.

note: type: textblock
en: Command and environment functions return the translation of the command with its arguments and a new environment.
nl: De functies voor commando's en omgevingen geven de vertaling van het commando met zijn argumenten terug, evenals de nieuwe omgeving.

note: type: textblock
en: Environment functions are called when a \begin command is found. They are called with the \begin command and its arguments.
nl: Omgevingsfuncties worden aanroepen wanneer een \begin-commando aangetroffen wordt. Zij worden aanroepen met het \begin-commando en zijn argumenten.

note: type: textblock
en: The TeX module only proposes one command function and one environment function: generic_command and generic_environment.
nl: De TeX-module bevat slechts één commandofunctie en één omgevingsfunctie: generic_command en generic_environment.

note: type: verbatim
en: generic_command uses the information specified by
    register_generic_command or by adding definition to the TeX file:
     % po4a: command I<command1> I<parameters>
nl: generic_command gebruikt de informatie gespecificeerd door
    register_generic_command of door een aan het TeX-bestand toegevoegde definitie:
     % po4a: command I<commando1> I<parameters>

note: type: verbatim
en: generic_environment uses the information specified by
    register_generic_environment or by adding definition to the TeX file:
     % po4a: environment I<env> I<parameters>
nl: generic_environment gebruikt de informatie gespecificeerd door
    register_generic_environment of door een aan het TeX-bestand toegevoegde definitie:
     % po4a: environment I<env> I<parameters>

note: type: textblock
en: Both functions will only translate the parameters that were specified as translatable (with a '_').  generic_environment will append the name of the environment to the environment stack and generic_command will append the name of the command followed by an identifier of the parameter (like {#7} or [#2]).
nl: Beide functies zullen enkel de parameters vertalen welke als vertaalbaar (met een '_') opgegeven werden. generic_environment zal de naam van de omgeving toevoegen aan de omgevingsstapel en generic_command zal de naam van het commando toevoegen, gevolgd door een identificatiesymbool van de parameter (zoals {#7} of [#2]).

note: type: textblock
en: This module needs more tests.
nl: Deze module moet nog meer getest worden.

note: type: textblock
en: It was tested on a book and with the Python documentation.
nl: Ze werd getest met een boek en met de Python-documentatie.

note: type: =head1
en: TODO LIST
nl: TO-DOLIJST

note: type: =item
en: Automatic detection of new commands
nl: Automatische detectie van nieuwe commando's

note: type: textblock
en: The TeX module could parse the newcommand arguments and try to guess the number of arguments, their type and whether or not they should be translated.
nl: De TeX-module zou de newcommand-argumenten kunnen ontleden en kunnen proberen te raden naar het aantal argumenten, naar het type ervan en of ze al dan niet vertaald moeten worden.

note: type: =item
en: Translation of the environment separator
nl: Vertaling van het omgevingsscheidingsteken

note: type: textblock
en: When \item is used as an environment separator, the item argument is attached to the following string.
nl: Wanneer \item gebruikt wordt als een scheidingsteken in een omgevings, wordt het argument van item toegevoegd aan het volgende tekstfragment.

note: type: =item
en: Some commands should be added to the environment stack
nl: Sommige commando's zouden toegevoegd moeten worden aan de omgevingsstapel

note: type: textblock
en: These commands should be specified by couples.  This can be used to specify commands beginning or ending a verbatim environment.
nl: Deze commando's moeten door paren worden gespecificeerd. Dit kan gebruikt worden om commando's te specificeren die een verbatim-omgeving beginnen of beëindigen.

note: type: =item
en: Others
nl: Andere

note: type: textblock
en: Various other points are tagged TODO in the source.
nl: Verschillende andere punten staan in de broncode gemarkeerd als TODO.

note: type: =head1
en: KNOWN BUGS
nl: GEKENDE BUGS

note: type: textblock
en: Various points are tagged FIXME in the source.
nl: Verschillende punten staan in de broncode gemarkeerd als FIXME.

note: type: textblock
en: Locale::Po4a::Texinfo - convert Texinfo documents and derivates from/to PO files
nl: Locale::Po4a::Texinfo - Texinfo-documenten en afgeleiden van/naar PO-bestanden converteren

note: type: textblock
en: Locale::Po4a::Texinfo is a module to help the translation of Texinfo documents into other [human] languages.
nl: Locale::Po4a::Texinfo is een module ter ondersteuning van de vertaling van Texinfo-documenten naar andere [menselijke] talen.

note: type: textblock
en: This module contains the definitions of common Texinfo commands and environments.
nl: Deze module bevat de definitie van algemene Texinfo-commando's en -omgevingen.

note: type: textblock
en: Only the comments starting with 'TRANSLATORS' are added to the PO files to guide the translators.
nl: Enkel commentaar die begint met 'TRANSLATORS' wordt toegevoegd aan PO-bestanden om vertalers aanwijzingen te geven.

note: type: textblock
en: Locale::Po4a::Text - convert text documents from/to PO files
nl: Locale::Po4a::Text - tekstdocumenten van/naar PO-bestanden converteren

note: type: textblock
en: Locale::Po4a::Text is a module to help the translation of text documents into other [human] languages.
nl: Locale::Po4a::Text is een module ter ondersteuning van de vertaling van tekstdocumenten naar andere [menselijke] talen.

note: type: textblock
en: Paragraphs are split on empty lines (or lines containing only spaces or tabulations).
nl: De opsplitsing in paragrafen gebeurt bij een lege regel (of regels die enkel spaties of tabs bevatten).

note: type: textblock
en: If a paragraph contains a line starting by a space (or tabulation), this paragraph won't be rewrapped.
nl: Indien een alinea een regel bevat die begint met een spatie (of een tab), zal de regelafbreking van deze alinea niet veranderd worden.

note: type: textblock
en: Treat paragraphs that look like a key value pair as verbatim (with the no-wrap flag in the PO file).  Key value pairs are defined as a line containing one or more non-colon and non-space characters followed by a colon followed by at least one non-space character before the end of the line.
nl: Paragrafen die eruitzien alsof ze bestaan uit een koppel van sleutel:waarde, behandelen als letterlijke (met de vlag no-wrap in het PO-bestrand) paragrafen. Een koppel van sleutel:waarde wordt gedefinieerd als een regel die één of meer tekens bevat die geen dubbelepunt of spatie zijn, gevolgd door een dubbelepunt, gevolgd door minstens één ander letterteken dan een spatie vóór het einde van de regel.

note: type: textblock
en: Deactivate the detection of bullets.
nl: Het opsporen van typografische bullets (rondjes) uitzetten.

note: type: textblock
en: By default, when a bullet is detected, the bullet paragraph is not considered as a verbatim paragraph (with the no-wrap flag in the PO file). Instead, the corresponding paragraph is rewrapped in the translation.
nl: Wanneer een rondje gevonden wordt, zal de paragraaf met dat rondje standaard niet als een letterlijke paragraaf (met de vlag no-wrap in het PO-bestand) beschouwd worden. In de vertaling wordt de regelafbreking van de betreffende paragraaf aangepast.

note: type: =item
en: B<tabs=>I<mode>
nl: B<tabs=>I<modus>

note: type: textblock
en: Specify how tabulations shall be handled. The I<mode> can be any of:
nl: Specificeren hoe tabs verwerkt worden. De I<modus> kan één van de volgende zijn:

note: type: textblock
en: Lines with tabulations introduce breaks in the current paragraph.
nl: Regels met tabellering voegen in de huidige alinea afbrekingen in.

note: type: textblock
en: Paragraph containing tabulations will not be re-wrapped.
nl: Bij paragrafen die tabs bevatten wordt de regelafbreking niet aangepast.

note: type: textblock
en: By default, tabulations are considered as spaces.
nl: Standaard worden tabs als spaties beschouwd.

note: type: textblock
en: A regular expression matching lines which introduce breaks.  The regular expression will be anchored so that the whole line must match.
nl: Regels die met deze reguliere expressie overeenkomen voegen een afbreking in. De reguliere expressie zal verankerd worden, zodat de volledige regel moet overeenkomen.

note: type: textblock
en: Handle the header and footer of released versions, which only contain non translatable information.
nl: De header en de voettekst van uitgebrachte versies, die alleen niet-vertaalbare informatie bevatten, verwerken.

note: type: textblock
en: Handle the fortunes format, which separate fortunes with a line which consists in '%' or '%%', and use '%%' as the beginning of a comment.
nl: De fortunes-indeling verwerken, welke fortunes van elkaar scheidt met een regel die bestaat uit '%' of '%%', en '%%' gebruikt als het begin van een commentaar.

note: type: textblock
en: Handle some special markup in Markdown-formatted texts.
nl: Enige bijzondere mark-up verwerken in teksten volgens de Markdown-indeling.

note: type: =item
en: B<yfm_keys> (markdown-only)
nl: B<yfm_keys> (enkel bij markdown)

note: type: =item
en: B<yfm_lenient> (markdown only)
nl: B<yfm_lenient> (enkel voor markdown)

note: type: textblock
en: Allow the YAML Front Matter parser to fail on malformated headers. This is particularly helpful when your file starts with a horizontal ruler instead of a YAML Front Matter, but you insist on using three dashes only for your ruler.
nl: De ontleder van de YAML frontmatter toelaten te falen bij verkeerd opgemaakte headers. Dit is vooral nuttig wanneer uw bestand begint met een horizontale lijn in plaats van met een YAML frontmatter en u erop staat om alleen drie streepjes te gebruiken voor uw lijn.

note: type: =item
en: B<yfm_paths> (markdown only)
nl: B<yfm_paths> (enkel bij markdown)

note: type: =item
en: B<yfm_skip_array> (markdown-only)
nl: B<yfm_skip_array> (enkel markdown)

note: type: =item
en: B<control>[B<=>I<taglist>]
nl: B<control>[B<=>I<taglijst>]

note: type: textblock
en: Handle control files.  A comma-separated list of tags to be translated can be provided.
nl: Controlebestanden verwerken. Er kan een door komma's gescheiden lijst met te vertalen tags worden verstrekt.

note: type: textblock
en: Prevent po4a from wrapping any lines. This means that every content is handled verbatim, even simple paragraphs.
nl: Voorkomt regelafbreking door po4a. Dit betekent dat alle inhoud letterlijk wordt verwerkt, ook eenvoudige paragrafen.

note: type: textblock
en: Tested successfully on simple text files and NEWS.Debian files.
nl: Met succes getest op eenvoudige tekstbestanden en op NEWS.Debian-bestanden.

note: type: textblock
en: Locale::Po4a::TransTractor - generic trans(lator ex)tractor.
nl: Locale::Po4a::TransTractor - generieke vertaler en extractor.

note: type: textblock
en: This class is the ancestor of every po4a parser used to parse a document, to search translatable strings, to extract them to a PO file and to replace them by their translation in the output document.
nl: Deze klasse is de voorouder van alle po4a-ontleders die gebruikt worden om een document te ontleden, vertaalbare tekstfragmenten op te zoeken, deze naar een PO-bestand te extraheren en deze te vervangen door hun vertaling in het uitvoerdocument.

note: type: textblock
en: More formally, it takes the following arguments as input:
nl: Meer formeel neemt ze de volgende argumenten als invoer:

note: type: textblock
en: a document to translate;
nl: een te vertalen document;

note: type: textblock
en: a PO file containing the translations to use.
nl: een PO-bestand dat de te gebruiken vertalingen bevat.

note: type: textblock
en: As output, it produces:
nl: Als uitvoer produceert ze:

note: type: textblock
en: another PO file, resulting of the extraction of translatable strings from the input document;
nl: nog een PO-bestand als het resultaat van de extractie van vertaalbare tekstfragmenten uit het invoerdocument;

note: type: textblock
en: a translated document, with the same structure than the one in input, but with all translatable strings replaced with the translations found in the PO file provided in input.
nl: een vertaald document met dezelfde structuur als het invoerdocument, maar waarin alle vertaalbare tekstfragmenten vervangen werden door de vertalingen die in het als invoer verstrekte PO-bestand aangetroffen werden.

note: type: textblock
en: Here is a graphical representation of this:
nl: Hier volgt een grafische voorstelling:

note: type: verbatim
en:    Input document --\                             /---> Output document
                         \                           /       (translated)
                          +-> parse() function -----+
                         /                           \
       Input PO --------/                             \---> Output PO
                                                             (extracted)
nl:    Invoerdocument --\                             /---> Uitvoerdocument
                         \                           /       (vertaald)
                          +-> ontleedfunctie() -----+
                         /                           \
       Invoer-PO --------/                             \---> Uitvoer-PO
                                                             (geëxtraheerd)

note: type: =head1
en: FUNCTIONS YOUR PARSER SHOULD OVERRIDE
nl: FUNCTIES DIE UW ONTLEDERER MOET OVERSTIJGEN

note: type: textblock
en: This is where all the work takes place: the parsing of input documents, the generation of output, and the extraction of the translatable strings. This is pretty simple using the provided functions presented in the section B<INTERNAL FUNCTIONS> below. See also the B<SYNOPSIS>, which presents an example.
nl: Dit is waar al het werk gebeurt: het ontleden van invoerdocumenten, het genereren van uitvoer en het extraheren van de vertaalbare tekstfragmenten. Dit is redelijk eenvoudig met de hieronder in de sectie B<INTERNE FUNCTIES> verstrekte functies. Bekijk ook het B<OVERZICHT> met daarin een voorbeeld.

note: type: textblock
en: This function is called by the process() function below, but if you choose to use the new() function, and to add content manually to your document, you will have to call this function yourself.
nl: Deze functie wordt aangeroepen door de functie process() hieronder, maar indien u ervoor kiest de functie new() te gebruiken en handmatig inhoud toe te voegen aan uw document, zult u deze functie zelf moeten aanroepen.

note: type: textblock
en: This function returns the header we should add to the produced document, quoted properly to be a comment in the target language.  See the section B<Educating developers about translations>, from L<po4a(7)|po4a.7>, for what it is good for.
nl: Deze functie geeft de header terug die we aan het geproduceerde document moeten toevoegen, passend aangehaald om in de doeltaal als commentaar te gelden. Raadpleeg de sectie B<Ontwikkelaars onderrichten over vertalingen> van L<po4a(7)|po4a.7> over waarvoor dit goed is.

note: type: textblock
en: The following example parses a list of paragraphs beginning with "<p>". For the sake of simplicity, we assume that the document is well formatted, i.e. that '<p>' tags are the only tags present, and that this tag is at the very beginning of each paragraph.
nl: Inhet volgende voorbeeld wordt een lijst alinea's die beginnen met "<p>", ontleed. Gemakshalve gaan we ervan uit dat het document goed is opgemaakt, d.w.z. dat '<p>'-tags de enige aanwezige tags zijn, en dat deze tag helemaal aan het begin van elke alinea staat.

note: type: verbatim
en:    PARAGRAPH: while (1) {
           my ($paragraph,$pararef)=("","");
           my $first=1;
           my ($line,$lref)=$self->shiftline();
           while (defined($line)) {
               if ($line =~ m/<p>/ && !$first--; ) {
                   # Not the first time we see <p>.
                   # Reput the current line in input,
                   #  and put the built paragraph to output
                   $self->unshiftline($line,$lref);
nl:    PARAGRAPH: while (1) {
           my ($paragraph,$pararef)=("","");
           my $first=1;
           my ($line,$lref)=$self->shiftline();
           while (defined($line)) {
               if ($line =~ m/<p>/ && !$first--; ) {
                   # Niet de eerste maal dat we <p> zien.
                   # Plaats de huidige regel opnieuw in invoer,
                   #  en plaats de gebouwde alinea in uitvoer
                   $self->unshiftline($line,$lref);

note: type: verbatim
en:                # Now that the document is formed, translate it:
                   #   - Remove the leading tag
                   $paragraph =~ s/^<p>//s;
nl:                # Nu het document gevormd is, dit vertalen:
                   #   - De voorafgaande tag verwijderen
                   $paragraph =~ s/^<p>//s;

note: type: verbatim
en:                #   - push to output the leading tag (untranslated) and the
                   #     rest of the paragraph (translated)
                   $self->pushline(  "<p>"
                                   . $self->translate($paragraph,$pararef)
                                   );
nl:                #   - de voorafgaande tag (onvertaald) naar uitvoer sturen
                   #     evenals de rest van de alinea (vertaald)
                   $self->pushline(  "<p>"
                                   . $self->translate($paragraph,$pararef)
                                   );

note: type: verbatim
en:                next PARAGRAPH;
               } else {
                   # Append to the paragraph
                   $paragraph .= $line;
                   $pararef = $lref unless(length($pararef));
               }
nl:                next PARAGRAPH;
               } else {
                   # Toevoegen aan de alinea
                   $paragraph .= $line;
                   $pararef = $lref unless(length($pararef));
               }

note: type: verbatim
en:            # Reinit the loop
               ($line,$lref)=$self->shiftline();
           }
           # Did not get a defined line? End of input file.
           return;
       }
     }
nl:            # De lus herhalen
               ($line,$lref)=$self->shiftline();
           }
           # Geen gedefinieerde regel gekregen? Einde van invoerbestand.
           return;
       }
     }

note: type: textblock
en: Once you've implemented the parse function, you can use your document class, using the public interface presented in the next section.
nl: Nadat u de ontleedfunctie geïmplementeerd heeft, kunt u uw documentklasse gebruiken met behulp van de openbare interface die in de volgende sectie voorgesteld wordt.

note: type: =head1
en: PUBLIC INTERFACE for scripts using your parser
nl: OPENBARE INTERFACE voor scripts die uw ontleder gebruiken

note: type: textblock
en: This function can do all you need to do with a po4a document in one invocation. Its arguments must be packed as a hash. ACTIONS:
nl: Deze functie kan in één aanroep alles doen wat u moet doen met een po4a-document. De argumenten moeten als een hash worden verpakt. ACTIES:

note: type: textblock
en: Reads all the PO files specified in po_in_name
nl: Leest alle in po_in_name vermelde PO-bestanden

note: type: textblock
en: Reads all original documents specified in file_in_name
nl: Leest alle in file_in_name vermelde documenten

note: type: textblock
en: Parses the document
nl: Ontleedt het document

note: type: textblock
en: Reads and applies all the addenda specified
nl: Leest alle opgegeven addenda en past deze toe

note: type: textblock
en: Writes the translated document to file_out_name (if given)
nl: Schrijft het vertaalde document naar file_out_name (indien gespecificeerd)

note: type: textblock
en: Writes the extracted PO file to po_out_name (if given)
nl: Schrijft het geëxtraheerd PO-bestand naar po_out_name (indien gespecificeerd)

note: type: textblock
en: ARGUMENTS, beside the ones accepted by new() (with expected type):
nl: ARGUMENTEN, behalve die welke door new() geaccepteerd worden (met verwacht type):

note: type: textblock
en: List of filenames where we should read the input document.
nl: Lijst met namen van bestanden waaruit we het invoerdocument moeten lezen.

note: type: textblock
en: Charset used in the input document (if it isn't specified, it will try to detect it from the input document).
nl: In het invoerdocument gebruikte tekenset (Indien dit niet gespecificeerd is, zal geprobeerd worden om dit vanuit het invoerdocument te weten te komen).

note: type: textblock
en: Filename where we should write the output document.
nl: Naam van het bestand waarnaar we het uitvoerdocument moeten schrijven.

note: type: textblock
en: Charset used in the output document (if it isn't specified, it will use the PO file charset).
nl: In het uitvoerdocument gebruikte tekenset (Indien dit niet gespecificeerd werd, zal de tekenset van het PO-bestand gebruikt worden).

note: type: textblock
en: List of filenames where we should read the input PO files from, containing the translation which will be used to translate the document.
nl: Namenlijst van de bestanden waaruit we de invoerPO-bestanden moeten lezen, welke de vertaling bevatten die gebruikt zal worden om het document te vertalen.

note: type: textblock
en: Filename where we should write the output PO file, containing the strings extracted from the input document.
nl: Naam van het bestand waarin we het uitvoerPO-bestand moeten schrijven, dat de tekstfragmenten bevat die uit het invoerdocument geëxtraheerd werden.

note: type: textblock
en: List of filenames where we should read the addenda from.
nl: Namenlijst van de bestanden waaruit we de addenda moeten inlezen.

note: type: textblock
en: Charset for the addenda.
nl: Tekenset voor de addenda.

note: type: textblock
en: Create a new po4a document. Accepted options (in the hash passed as a parameter):
nl: Een nieuw po4a document creëren. Mogelijke opties (in de hash die als parameter meegegeven wordt):

note: type: textblock
en: Sets the verbosity.
nl: Stelt in hoeveel informatie gegeven wordt.

note: type: textblock
en: Sets the debugging.
nl: Stelt het debuggen in.

note: type: =head2
en: Manipulating document files
nl: Documentbestanden behandelen

note: type: textblock
en: Add another input document data at the end of the existing array C<< @{$self->{TT}{doc_in}} >>. The argument is the filename to read. If a second argument is provided, it is the filename to use in the references.
nl: Nog andere invoerdocumentgegevens toevoegen aan het einde van de bestaande array C<< @{$self->{TT}{doc_in}} >>. Het argument is de naam van het in te lezen bestand. Indien een tweede argument gegeven wordt, is dit de in de referenties te gebruiken bestandsnaam.

note: type: verbatim
en: This array C<< @{$self->{TT}{doc_in}} >> holds this input document data as an
    array of strings with alternating meanings.
     * The string C<$textline> holding each line of the input text data.
     * The string C<< $filename:$linenum >> holding its location and called as
       "reference" (C<linenum> starts with 1).
nl: Deze lijst C<< @{$self->{TT}{doc_in}} >> bevat deze invoerdocumentgegevens als een
    lijst van tekenreeksen met afwisselende betekenis.
     * De tekenreeks C<$textline> bevat iedere regel van de invoertekstgegevens.
     * De tekenreeks C<< $filename:$linenum >> bevat de locatie ervan en wordt aangeroepen
       via "referentie" (C<linenum> begint bij 1).

note: type: textblock
en: Please note that it does not parse anything. You should use the parse()  function when you're done with packing input files into the document.
nl: Merk op dat dit niets ontleedt. U moet de functie parse()  gebruiken wanneer u klaar bent met het inladen van invoerbestanden in het document.

note: type: textblock
en: Write the translated document to the given filename.
nl: Het vertaalde document schrijven naar het bestand met de opgegeven naam.

note: type: verbatim
en: This translated document data are provided by:
     * C<< $self->docheader() >> holding the header text for the plugin, and
     * C<< @{$self->{TT}{doc_out}} >> holding each line of the main translated text in the array.
nl: Deze vertaalde-documentgegevens worden verstrekt door:
     * C<< $self->docheader() >> dat de header-tekst voor de plug-in bevat, en
     * C<< @{$self->{TT}{doc_out}} >> dat in een lijst elke regel bevat van de vertaalde hoofdtekst.

note: type: =head2
en: Manipulating PO files
nl: PO-bestanden manipuleren

note: type: textblock
en: Add the content of a file (which name is passed as argument) to the existing input PO. The old content is not discarded.
nl: De inhoud van een bestand (waarvan de naam als argument opgegeven werd) toevoegen aan het bestaande invoerPO-bestand. De oude inhoud wordt niet verwijderd.

note: type: textblock
en: Write the extracted PO file to the given filename.
nl: Het geëxtraheerde PO-bestand naar het bestand schrijven waarvan de naam opgegeven werd.

note: type: textblock
en: Returns some statistics about the translation done so far. Please note that it's not the same statistics than the one printed by msgfmt --statistic. Here, it's stats about recent usage of the PO file, while msgfmt reports the status of the file. It is a wrapper to the Locale::Po4a::Po::stats_get function applied to the input PO file. Example of use:
nl: Geeft bepaalde statistieken weer over de tot nu toe gemaakte vertaling. Merk op dat het niet dezelfde statistieken zijn als die welke door msgfmt --statistic getoond worden. Hier gaat het om statistieken over het recente gebruik van het PO-bestand, terwijl msgfmt rapporteert over de toestand van het bestand. Het is een omhulsel voor de functie Locale::Po4a::Po::stats_get, toegepast op het invoerPO-bestand. Een gebruiksvoorbeeld:

note: type: verbatim
en:     [normal use of the po4a document...]
nl:     [normaal gebruik van het po4a-document...]

note: type: verbatim
en:     ($percent,$hit,$queries) = $document->stats();
        print "We found translations for $percent\%  ($hit from $queries) of strings.\n";
nl:     ($percent,$vertaald,$totaal) = $document->stats();
        print "We vonden vertalingen voor $percent\%  ($vertaald op $totaal) tekstfragmenten.\n";

note: type: =head2
en: Manipulating addenda
nl: Addenda manipuleren

note: type: textblock
en: Please refer to L<po4a(7)|po4a.7> for more information on what addenda are, and how translators should write them. To apply an addendum to the translated document, simply pass its filename to this function and you are done ;)
nl: Raadpleeg L<po4a(7)|po4a.7> voor meer informatie over wat addenda zijn en hoe vertalers ze moeten schrijven. Om een addendum toe te passen op het vertaalde document, moet u gewoon de bestandsnaam ervan doorgeven aan deze functie en u bent klaar ;)

note: type: textblock
en: This function returns a non-null integer on error.
nl: Deze functie zendt bij een fout een geheel getal terug dat geen nul is.

note: type: =head2
en: Getting input, providing output
nl: Invoer krijgen, uitvoer leveren

note: type: textblock
en: Four functions are provided to get input and return output. They are very similar to shift/unshift and push/pop of Perl.
nl: Er staan vier functies ter beschikking om invoer te krijgen en uitvoer af te leveren. Zij zijn erg vergelijkbaar met shift/unshift en push/pop van Perl.

note: type: verbatim
en:  * Perl shift returns the first array item and drop it from the array.
     * Perl unshift prepends an item to the array as the first array item.
     * Perl pop returns the last array item and drop it from the array.
     * Perl push appends an item to the array as the last array item.
nl:  * shift in Perl zendt het eerste item uit de lijst terug en haalt het weg uit de lijst.
     * unshift in Perl voegt een item toe aan de lijst als het eerste item van de lijst.
     * pop in Perl zendt het laatste item uit de lijst terug en haalt het weg uit de lijst.
     * push in Perl voegt een item toe aan de lijst als het laatste item van de lijst.

note: type: textblock
en: The first pair is about input, while the second is about output. Mnemonic: in input, you are interested in the first line, what shift gives, and in output you want to add your result at the end, like push does.
nl: Het eerste paar heeft betrekking op invoer, terwijl het tweede op uitvoer betrekking heeft. Geheugensteuntje: bij invoer bent u geïnteresseerd in de eerste regel, hetgeen shift geeft, en bij uitvoer wilt u uw resultaat toevoegen aan het einde, zoals push doet.

note: type: textblock
en: This function returns the first line to be parsed and its corresponding reference (packed as an array) from the array C<< @{$self->{TT}{doc_in}} >> and drop these first 2 array items.  Here, the reference is provided by a string C<< $filename:$linenum >>.
nl: Deze functie zendt de eerste te ontleden regel terug en zijn overeenkomstige referentie (verpakt als lijst) uit de lijst C<< @{$self->{TT}{doc_in}} >> en verwijdert deze eerste 2 lijstitems. Hier wordt de referentie verstrekt door een tekenreeks C<< $filename:$linenum >> (bestandsnaam:regelnummer).

note: type: textblock
en: Unshifts the last shifted line of the input document and its corresponding reference back to the head of C<< {$self->{TT}{doc_in}} >>.
nl: Plaatst de laatste met shift uit het invoerdocument verwijderde regel en zijn overeenkomstige referentie terug aan het begin van C<< {$self->{TT}{doc_in}} >>.

note: type: textblock
en: Push a new line to the end of C<< {$self->{TT}{doc_out}} >>.
nl: Voegt een nieuwe regel toe aan het einde van C<< {$self->{TT}{doc_out}} >>.

note: type: textblock
en: Pop the last pushed line from the end of C<< {$self->{TT}{doc_out}} >>.
nl: Verwijdert de laatste met push toegevoegde regel aan het einde van C<< {$self->{TT}{doc_out}} >>.

note: type: =head2
en: Marking strings as translatable
nl: Tekstfragmenten als vertaalbaar markeren

note: type: textblock
en: One function is provided to handle the text which should be translated.
nl: Er wordt een functie verstrekt om de tekst die moet worden vertaald, te verwerken.

note: type: textblock
en: Mandatory arguments:
nl: Verplichte argumenten:

note: type: textblock
en: A string to translate
nl: Een te vertalen tekstfragment

note: type: textblock
en: The reference of this string (i.e. position in inputfile)
nl: De referentie van dit tekstfragment (d.w.z. positie in het invoerbestand)

note: type: textblock
en: The type of this string (i.e. the textual description of its structural role; used in Locale::Po4a::Po::gettextization(); see also L<po4a(7)|po4a.7>, section B<Gettextization: how does it work?>)
nl: Het type van dit tekstfragment (d.w.z. de letterlijke beschrijving van zijn structurele rol; gebruikt in Locale::Po4a::Po::gettextization(); zie ook L<po4a(7)|po4a.7>, afdeling B<Het gettextize-proces: hoe werkt dit?>)

note: type: textblock
en: This function can also take some extra arguments. They must be organized as a hash. For example:
nl: Aan deze functie kunnen ook enkele extra argumenten meegegeven worden. Zij moeten als een hash georganiseerd worden. Bijvoorbeeld:

note: type: verbatim
en:   $self->translate("string","ref","type",
                       'wrap' => 1);
nl:   $self->translate("tekstfragment","ref","type",
                       'wrap' => 1);

note: type: textblock
en: boolean indicating whether we can consider that whitespaces in string are not important. If yes, the function canonizes the string before looking for a translation or extracting it, and wraps the translation.
nl: Booleaanse operator die aangeeft of we witruimte in tekstfragmenten al dan niet als belangrijk moeten beschouwen. Indien ja, dan canoniseert de functie het tekstfragment voordat ze op zoek gaat naar een vertaling of voordat ze dit fragment extraheert, en past ze regelafbreking toe op de vertaling.

note: type: textblock
en: an extra comment to add to the entry.
nl: een aan het element toe te voegen extra commentaar.

note: type: textblock
en: Actions:
nl: Acties:

note: type: textblock
en: Pushes the string, reference and type to po_out.
nl: Duwt tekstfragment, referentie en type naar po_out.

note: type: textblock
en: Returns the translation of the string (as found in po_in) so that the parser can build the doc_out.
nl: Zendt de vertaling van het tekstfragment (zoals gevonden in po_in) terug, zodat de ontleder het doc_out kan bouwen.

note: type: textblock
en: Handles the charsets to recode the strings before sending them to po_out and before returning the translations.
nl: Gebruikt de tekensets voor het hercoderen van de tekstfragmenten vooraleer deze naar po_out gezonden worden en voorafgaand aan het terugzenden van de vertalingen.

note: type: =head2
en: Misc functions
nl: Diverse functies

note: type: textblock
en: Returns if the verbose option was passed during the creation of the TransTractor.
nl: Geeft aan of de optie verbose opgegeven werd tijdens de creatie van de TransTractor.

note: type: textblock
en: Returns if the debug option was passed during the creation of the TransTractor.
nl: Geeft aan of de optie debug opgegeven werd tijdens de creatie van de TransTractor.

note: type: textblock
en: This tells TransTractor that a new charset (the first argument) has been detected from the input document. It can usually be read from the document header. Only the first charset will remain, coming either from the process() arguments or detected from the document.
nl: Dit informeert TransTractor dat een nieuwe tekenset (het eerste argument) aangetroffen werd in het invoerdocument. Gewoonlijk kan dit uit de header van het document gehaald worden. Enkel de eerste tekenset blijft behouden, afkomstig van de argumenten bij de functie process() of gedetecteerd in het document.

note: type: textblock
en: This function will return the charset that should be used in the output document (usually useful to substitute the input document's detected charset where it has been found).
nl: Deze functie zendt terug welke tekenset gebruikt moet worden in het uitvoerdocument (gewoonlijk nuttig om de gedetecteerde karakterset van het invoerdocument te vervangen waar dit aangetroffen werd).

note: type: textblock
en: It will use the output charset specified in the command line. If it wasn't specified, it will use the input PO's charset, and if the input PO has the default "CHARSET", it will return the input document's charset, so that no encoding is performed.
nl: De aan de commandoregel gespecificeerde tekenset zal gebruikt worden. Indien daar niets gespecificeerd werd, wordt de tekenset van het invoerPO-bestand gebruikt, en indien in het invoerPO-bestand het standaard "CHARSET" vermeld staat, zal de tekenset van het invoerdocument teruggezonden worden, zodat geen tekenhercodering uitgevoerd wordt.

note: type: textblock
en: This function returns the recoded text passed as argument, from the input document's charset to the output document's one. This isn't needed when translating a string (translate() recodes everything itself), but it is when you skip a string from the input document and you want the output document to be consistent with the global encoding.
nl: Deze functie zendt de als argument opgegeven tekst gehercodeerd terug van de tekenset uit het invoerdocument naar de tekenset van het uitvoerdocument. Dit is niet nodig bij de vertaling van een tekstfragment (translate() hercodeert alles zelf), maar wel wanneer u een tekstfragment uit het invoerdocument overslaat en u wilt dat het uitvoerdocument consistent is met de algemene codering.

note: type: =head1
en: FUTURE DIRECTIONS
nl: RICHTINGEN VOOR DE TOEKOMST

note: type: textblock
en: One shortcoming of the current TransTractor is that it can't handle translated document containing all languages, like debconf templates, or .desktop files.
nl: Een tekortkoming van het huidige TransTractor is dat het niet overweg kan met vertaalde documenten welke alle talen bevatten, zoals debconf-sjablonen of .desktop-bestanden.

note: type: textblock
en: To address this problem, the only interface changes needed are:
nl: Om dit probleem aan te pakken, zijn de enige noodzakelijke aanpassingen aan de interface:

note: type: textblock
en: take a hash as po_in_name (a list per language)
nl: voor po_in_name het (Perl) variabeletype hash gebruiken (een lijst per taal)

note: type: textblock
en: add an argument to translate to indicate the target language
nl: een te vertalen argument toevoegen om de doeltaal aan te geven

note: type: textblock
en: make a pushline_all function, which would make pushline of its content for all languages, using a map-like syntax:
nl: een pushline_all-functie maken, die pushline zou toepassen voor zijn inhoud voor alle talen met behulp van een kaartachtige syntaxis:

note: type: verbatim
en:     $self->pushline_all({ "Description[".$langcode."]=".
                              $self->translate($line,$ref,$langcode)
                            });
nl:     $self->pushline_all({ "Description[".$taalcode."]=".
                              $self->translate($regel,$ref,$taalcode)
                            });

note: type: textblock
en: Will see if it's enough ;)
nl: We zullen zien of dit volstaat ;)

note: type: textblock
en: Locale::Po4a::Wml - convert WML (web markup language) documents from/to PO files
nl: Locale::Po4a::Wml - WML-documenten (mark-uptaal voor het web) converteren van/naar PO-bestanden

note: type: textblock
en: Locale::Po4a::Wml is a module to help the translation of WML documents into other [human] languages. Do not mixup the WML we are speaking about here (web markup language) and the WAP crap used on cell phones.
nl: Locale::Po4a::Wml is een module ter ondersteuning van de vertaling van WML-documenten naar andere [menselijke] talen. Verwar WML, (mark-uptaal voor het web) waarover we het hier hebben, niet met de WAP-onzin die op mobiele telefoons gebruikt wordt.

note: type: textblock
en: Please note that this module relies upon the Locale::Po4a::Xhtml module, which also relies upon the Locale::Po4a::Xml module.  This means that all tags for web page expressions are assumed to be written in the XHTML syntax.
nl: Merk op dat deze module steunt op de module Locale::Po4a::Xhtml module, die ook steunt op de module Locale::Po4a::Xml. Dit betekent dat wordt aangenomen dat alle tags voor webpagina-expressies geschreven zijn in de XHTML-syntaxis.

note: type: textblock
en: This module works for some simple documents, but is still young.  Currently, the biggest issue of the module is probably that it cannot handle documents that contain non-XML inline tags such as <email "foo@example.org">, which are often defined in the WML.  Improvements will be added in the future releases.
nl: Deze module werkt voor eenvoudige documenten, maar is nog jong. Momenteel is het grootste probleem van deze module wellicht dat ze niet overweg kan met documenten die in de tekst geïntegreerde niet-XML-tags bevatten, zoals  <email "foo@example.org">, wat vaak voorkomt in WML. In toekomstige releases zullen verbeteringen aangebracht worden.

note: type: textblock
en: Locale::Po4a::Xhtml - convert XHTML documents from/to PO files
nl: Locale::Po4a::Xhtml - XHTML-documenten van/naar PO-bestanden converteren

note: type: textblock
en: Locale::Po4a::Xhtml is a module to help the translation of XHTML documents into other [human] languages.
nl: Locale::Po4a::Xhtml is een module ter ondersteuning van de vertaling van XHTML-documenten naar andere [menselijke] talen.

note: type: =item
en: B<includessi>[B<=>I<rootpath>]
nl: B<includessi>[B<=>I<basispad>]

note: type: textblock
en: Include files specified by an include SSI (Server Side Includes) element (e.g. <!--#include virtual="/foo/bar.html" -->).
nl: Bestanden opnemen welke opgegeven werden door een SSI-element (Server Side Includes) van het type include (bijv. <!--#include virtual="/foo/bar.html" -->).

note: type: textblock
en: B<Note:> You should use it only for static files.
nl: B<Opmerking:> u mag dit enkel gebruiken voor statische bestanden.

note: type: textblock
en: An additional I<rootpath> parameter can be specified. It specifies the root path to find files included by a B<virtual> attribute.
nl: Een extra parameter I<basispad> kan opgegeven worden. Het specificeert het basispad voor het vinden van bestanden die opgenomen worden door een B<virtueel> attribuut.

note: type: textblock
en: "It works for me", which means I use it successfully on my personal Web site.  However, YMMV: please let me know if something doesn't work for you.
nl: "Voor mij werkt dit", wat betekent dat ik het gebruik voor mijn persoonlijke website. Maar u kunt een andere ervaring hebben: laat me weten als er iets niet werkt voor u.

note: type: textblock
en: Locale::Po4a::Xml - convert XML documents and derivates from/to PO files
nl: Locale::Po4a::Xml -XML-documenten en afgeleiden van/naar PO-bestanden converteren

note: type: textblock
en: Locale::Po4a::Xml is a module to help the translation of XML documents into other [human] languages. It can also be used as a base to build modules for XML-based documents.
nl: Locale::Po4a::Xml is een module ter ondersteuning van de vertaling van XML-documenten naar andere [menselijke] talen. Ze kan ook gebruikt worden als basis voor het bouwen van modules voor op XML gebaseerde documenten.

note: type: =head1
en: TRANSLATING WITH PO4A::XML
nl: VERTALEN MET PO4A::XML

note: type: textblock
en: This module can be used directly to handle generic XML documents.  This will extract all tag's content, and no attributes, since it's where the text is written in most XML based documents.
nl: Deze module kan rechtstreeks gebruikt worden voor het verwerken van generieke XML documenten. Zij extraheert al de inhoud uit tags zonder de attributen, omdat daar in de meeste op XML gebaseerde documenten de tekst geschreven staat.

note: type: textblock
en: There are some options (described in the next section) that can customize this behavior.  If this doesn't fit to your document format you're encouraged to write your own module derived from this, to describe your format's details.  See the section B<WRITING DERIVATE MODULES> below, for the process description.
nl: Er zijn bepaalde opties (die in het volgende gedeelte beschreven worden) die dit gedrag kunnen aanpassen. Indien deze module niet beantwoordt aan de indeling van uw document, wordt u aangemoedigd om op basis van deze module uw eigen module te schrijven, met de beschrijving van de details van uw indeling. Raadpleeg het gedeelte B<AFGELEIDE MODULES SCHRIJVEN>, hieronder, voor de beschrijving van de werkwijze.

note: type: textblock
en: The global debug option causes this module to show the excluded strings, in order to see if it skips something important.
nl: De algemene debug-optie doet deze module de uitgesloten tekstfragmenten weergeven, om zo te kunnen zien of ze niets belangrijk overslaat.

note: type: textblock
en: Prevents it to strip the spaces around the extracted strings.
nl: Voorkomt het wegnemen van spaties rond de geëxtraheerde tekstfragmenten.

note: type: textblock
en: Canonicalizes the string to translate, considering that whitespaces are not important, and wraps the translated document. This option can be overridden by custom tag options. See the B<translated> option below.
nl: Canoniseert het te vertalen tekstfragment vanuit de veronderstelling dat witruimte niet belangrijk is, en past regelafbreking toe voor het vertaalde document. Deze optie kan overstegen worden door aangepaste tag-opties. Zie de optie B<translated> hieronder.

note: type: textblock
en: Attributes are wrapped by default. This option disables wrapping.
nl: Bij attributen wordt standaard regelafbreking toegepast. Deze optie zet regelafbreking uit.

note: type: textblock
en: It makes the tags and attributes searching to work in a case insensitive way.  If it's defined, it will treat E<lt>BooKE<gt>laNG and E<lt>BOOKE<gt>Lang as E<lt>bookE<gt>lang.
nl: Het zorgt ervoor dat het zoeken naar tags en attributen niet hoofdlettergevoelig gebeurt. Indien dit gedefinieerd wordt zal het E<lt>BoeKE<gt>taAL en E<lt>BOEKE<gt>Taal behandelen als E<lt>boekE<gt>taal.

note: type: textblock
en: Escape quotes in output strings.  Necessary, for example, for creating string resources for use by Android build tools.
nl: Aanhalingstekens in uitvoertekstfragmenten maskeren met een maskeerteken. Dit is bijvoorbeeld nodig om tekstfragmentbronmateriaal te creëren dat gebruikt zal worden door bouwgereedschap op Android .

note: type: textblock
en: See also: https://developer.android.com/guide/topics/resources/string-resource.html
nl: Zie ook: https://developer.android.com/guide/topics/resources/string-resource.html

note: type: textblock
en: When defined, external entities are included in the generated (translated)  document, and for the extraction of strings.  If it's not defined, you will have to translate external entities separately as independent documents.
nl: Als deze optie gedefinieerd werd, worden externe entiteiten meegenomen in het gegenereerde (vertaalde) document en voor het extraheren van tekstfragmenten. Indien ze niet gedefinieerd werd, zult u externe entiteiten afzonderlijk moeten vertalen als onafhankelijke documenten.

note: type: textblock
en: This option defines the behavior of the module when it encounters invalid XML syntax (a closing tag which does not match the last opening tag).  It can take the following values:
nl: Deze optie definieert het gedrag van de module wanneer zij met een ongeldige XML-syntaxis geconfronteerd wordt (een afsluitende tag die niet overeenkomt met de laatste openende tag). Zij kan de volgende waarden hebben:

note: type: textblock
en: This is the default value.  The module will exit with an error.
nl: Dit is de standaardwaarde. De module zal afsluiten met een foutmelding.

note: type: textblock
en: The module will continue, and will issue a warning.
nl: De module zal doorgaan en een waarschuwing geven.

note: type: textblock
en: The module will continue without any warnings.
nl: De module zal zonder waarschuwen doorgaan.

note: type: textblock
en: Be careful when using this option.  It is generally recommended to fix the input file.
nl: Wees voorzichtig met het gebruiken van deze optie. Algemeen wordt aangeraden om het invoerbestand te repareren.

note: type: textblock
en: Note: This option is deprecated.
nl: Opmerking: deze optie is verouderd.

note: type: textblock
en: Extracts only the specified tags in the B<tags> option.  Otherwise, it will extract all the tags except the ones specified.
nl: Extraheert enkel die tags welke gespecificeerd werden in de optie B<tags>. Anders zal ze alle tags extraheren, behalve die welke gespecificeerd werden.

note: type: textblock
en: String that will try to match with the first line of the document's doctype (if defined). If it doesn't, a warning will indicate that the document might be of a bad type.
nl: Tekenreeks waarmee naar een overeenkomst gezocht wordt met de eerste regel van het doctype van het document (voor zover gedefinieerd). Is dit niet succesvol, dan wordt de waarschuwing gegeven dat het document mogelijk van een slecht documenttype is.

note: type: textblock
en: String indicating the path (e.g. E<lt>bbbE<gt>E<lt>aaaE<gt>) of a tag where a lang="..." attribute shall be added. The language will be defined as the basename of the PO file without any .po extension.
nl: Tekenreeks die het pad (bijv. E<lt>bbbE<gt>E<lt>aaaE<gt>) aangeeft van een tag waaraan een attribuut lang="..." zal toegevoegd worden. De taal zal gedefinieerd worden als de basisnaam voor het PO-bestand zonder de extensie .po.

note: type: textblock
en: Boolean indicating whether closing tags are optional (as in HTML). By default, missing closing tags raise an error handled according to B<ontagerror>.
nl: Booleaanse operator die aangeeft of afsluitende tags facultatief zijn (zoals bij HTML). Standaard geeft het ontbreken van een afsluitende tag aanleiding tot een fout, die afgehandeld wordt volgens B<ontagerror>.

note: type: textblock
en: Note: This option is deprecated.  You should use the B<translated> and B<untranslated> options instead.
nl: Opmerking: deze optie is verouderd. In de plaats daarvan moet u de opties B<translated> en B<untranslated> gebruiken.

note: type: textblock
en: Space-separated list of tags you want to translate or skip.  By default, the specified tags will be excluded, but if you use the "tagsonly" option, the specified tags will be the only ones included.  The tags must be in the form E<lt>aaaE<gt>, but you can join some (E<lt>bbbE<gt>E<lt>aaaE<gt>) to say that the content of the tag E<lt>aaaE<gt> will only be translated when it's into a E<lt>bbbE<gt> tag.
nl: Door spaties gescheiden lijst met tags die u wilt vertalen of overslaan. Standaard worden de opgegeven tags uitgesloten, maar indien u de optie "tagsonly" gebruikt, zullen de gespecificeerde tags de enige zijn die opgenomen worden. De tags moeten de vorm E<lt>aaaE<gt> hebben, maar u kunt er samenvoegen (E<lt>bbbE<gt>E<lt>aaaE<gt>) om aan te geven dat de inhoud van de tag E<lt>aaaE<gt> enkel vertaald zal worden wanneer deze zich binnenin tag E<lt>bbbE<gt> bevindt.

note: type: textblock
en: You can also specify some tag options by putting some characters in front of the tag hierarchy. For example, you can put I<w> (wrap) or I<W> (don't wrap)  to override the default behavior specified by the global B<wrap> option.
nl: U kunt ook tag-opties opgeven door bepaalde tekens te plaatsen vooraan aan de tag-hiërarchie. U kunt er bijvoorbeeld I<w> (wrap - regelafbreking) of I<W> (don't wrap - geen regelafbreking) plaatsen om het standaardgedrag te overstijgen dat door de globale optie B<wrap> gespecificeerd wordt.

note: type: textblock
en: Example: WE<lt>chapterE<gt>E<lt>titleE<gt>
nl: Bijvoorbeeld: WE<lt>chapterE<gt>E<lt>titleE<gt>

note: type: textblock
en: Space-separated list of tag's attributes you want to translate.  You can specify the attributes by their name (for example, "lang"), but you can prefix it with a tag hierarchy, to specify that this attribute will only be translated when it's in the specified tag. For example: E<lt>bbbE<gt>E<lt>aaaE<gt>lang specifies that the lang attribute will only be translated if it's in an E<lt>aaaE<gt> tag, and it's in a E<lt>bbbE<gt> tag.
nl: Door spaties gescheiden lijst met tagattributen die u wilt vertalen. U kunt het attribuut opgeven bij zijn naam (bijvoorbeeld "lang"), maar u kunt het laten voorafgaan door een tag-hiërarchie, om aan te geven dat dit attribuut enkel vertaald zal worden wanneer het zich binnen de opgegeven tag bevindt. Bijvoorbeeld: E<lt>bbbE<gt>E<lt>aaaE<gt>lang specificeert dat het attribuut lang (taal) enkel vertaald zal worden als het zich binnen een tag E<lt>aaaE<gt> binnenin tag E<lt>bbbE<gt> bevindt.

note: type: textblock
en: Do not translate attributes in inline tags.  Instead, replace all attributes of a tag by po4a-id=<id>.
nl: Geen attributen vertalen die binnenin de in de tekst geïntegreerde tags (inline tags) staan. In de plaats daarvan alle attributen van een tag vervangen door po4a-id=<id>.

note: type: textblock
en: This is useful when attributes shall not be translated, as this simplifies the strings for translators, and avoids typos.
nl: Dit is nuttig wanneer attributen niet vertaald moeten worden, omdat dit de tekstfragmenten voor vertalers eenvoudiger maakt en typefouten vermijdt.

note: type: textblock
en: Space-separated list of tags which should not be treated as tags.  These tags are treated as inline, and do not need to be closed.
nl: Door spaties gescheiden lijst met tags die niet als tags mogen worden behandeld. Deze tags worden behandeld als geïntegreerd in de tekst (inline tags) en moeten niet gesloten worden.

note: type: textblock
en: Space-separated list of tags which should break the sequence.  By default, all tags break the sequence.
nl: Door spaties gescheiden lijst met tags die het tekstfragment afbreken. Standaard breken alle tags het fragment af.

note: type: textblock
en: The tags must be in the form <aaa>, but you can join some (<bbb><aaa>), if a tag (<aaa>) should only be considered when it's within another tag (<bbb>).
nl: De tags moeten de vorm <aaa> hebben, maar u kunt er enkele samenvoegen (<bbb><aaa>), indien enkel rekening gehouden moet worden met een tag wanneer deze zich binnen een andere tag (<bbb>) bevindt.

note: type: textblock
en: Please note a tag should be listed in only one of the B<break>, B<inline> B<placeholder>, or B<customtag> setting string.
nl: Merk op dat een tag slechts vermeld mag worden bij één van de volgende instellingsreeksen: B<break>, B<inline> B<placeholder> of B<customtag>.

note: type: textblock
en: Space-separated list of tags which should be treated as inline.  By default, all tags break the sequence.
nl: Door spaties gescheiden lijst met tags die behandeld moeten worden als geïntegreerd in de tekst (inline tag). Standaard sluit elke tag een tekstfragment af.

note: type: textblock
en: Space-separated list of tags which should be treated as placeholders.  Placeholders do not break the sequence, but the content of placeholders is translated separately.
nl: Door spaties gescheiden lijst met tags die als tijdelijke aanduiding (placeholder) moeten worden behandeld. Tijdelijke aanduidingen sluiten geen tekstfragment af, maar de inhoud van tijdelijke aanduidingen wordt apart vertaald.

note: type: textblock
en: The location of the placeholder in its block will be marked with a string similar to:
nl: De plaats van de tijdelijke aanduiding (placeholder) in zijn tekstblok wordt gemarkeerd met een tekenreeks die vergelijkbaar is met:

note: type: textblock
en: By default, Processing Instructions (i.e., C<E<lt>? ... ?E<gt>> tags) are handled as inline tags.  Pass this option if you want the PI to be handled as breaking tag.  Note that unprocessed PHP tags are handled as Processing Instructions by the parser.
nl: Standaard worden verwerkingsinstructies (d.w.z. tags in de vorm van C<E<lt>? ... ?E<gt>>) behandeld als in de tekst geïntegreerde tags (inline tags). Geef deze optie mee als u wilt dat verwerkingsinstructies behandeld worden als tags die een tekstfragment afsluiten. Merk op dat onverwerkte PHP-tags door de ontleder behandeld worden als verwerkingsinstructies.

note: type: textblock
en: Space separated list of tags that the module should not try to set by default in any category.
nl: Door spaties gescheiden lijst met tags die de module niet standaard in een categorie zou moeten proberen te plaatsen.

note: type: textblock
en: If you have a tag which has its default setting by the subclass of this module but you want to set alternative setting, you need to list that tag as a part of the B<nodefault> setting string.
nl: Als u een tag heeft die door de subklasse van deze module zijn standaardinstelling krijgt, maar u een alternatieve instelling wilt instellen, moet u die tag vermelden als onderdeel van de instellingsreeks B<nodefault>.

note: type: textblock
en: Support C preprocessor directives.  When this option is set, po4a will consider preprocessor directives as paragraph separators.  This is important if the XML file must be preprocessed because otherwise the directives may be inserted in the middle of lines if po4a consider it belong to the current paragraph, and they won't be recognized by the preprocessor.  Note: the preprocessor directives must only appear between tags (they must not break a tag).
nl: C-preprocessorinstructies ondersteunen. Indien deze optie ingesteld is, zal po4a preprocessorinstructies beschouwen als alinea-afbrekers. Dit is belangrijk wanneer het XML-bestand moet voorbewerkt worden, omdat deze instructies anders geplaatst zouden kunnen worden in het midden van een regel mocht po4a ze beschouwen als behorend tot de huidige alinea, waardoor ze niet herkend zouden worden door de preprocessor. Merk op dat de preprocessorinstructies enkel tussen tags mogen staan (zij mogen geen tag verbreken).

note: type: textblock
en: Space-separated list of tags you want to translate.
nl: Door spaties gescheiden lijst met tags die u wilt vertalen.

note: type: textblock
en: You can also specify some tag options by putting some characters in front of the tag hierarchy.  This overrides the default behavior specified by the global B<wrap> and B<defaulttranslateoption> option.
nl: U kunt ook een aantal tag-opties opgeven door bepaalde tekens te plaatsen vóór de tag-hiërarchie. Dit overstijgt het standaardgedrag dat gespecificeerd wordt door de algemene opties B<wrap> en B<defaulttranslateoption>.

note: type: textblock
en: Tags should be translated and content can be re-wrapped.
nl: Tags moeten vertaald worden en op de inhoud kan regelafbreking toegepast worden.

note: type: textblock
en: Tags should be translated and content should not be re-wrapped.
nl: Tags moeten vertaald worden maar de regelafbreking mag niet veranderen.

note: type: textblock
en: Tags should be translated inline.
nl: Tags moeten geïntegreerd in de tekst vertaald worden.

note: type: textblock
en: Tags should be translated as placeholders.
nl: Tags moeten vertaald worden als tijdelijke aanduiding (placeholder).

note: type: textblock
en: Internally, the XML parser only cares about these four options: I<w> I<W> I<i> I<p>.
nl: Intern bekommert de XML-ontleder zich enkel om deze vier opties: I<w> I<W> I<i> I<p>.

note: type: textblock
en: * Tags listed in B<break> are set to I<w> or I<W> depending on the B<wrap> option.
nl: * Tags die vermeld worden in B<break>, worden ingesteld op I<w> of I<W>, afhankelijk van de optie B<wrap>.

note: type: textblock
en: * Tags listed in B<inline> are set to I<i>.
nl: * Tags die vermeld worden in B<inline>, worden ingesteld op I<i>.

note: type: textblock
en: * Tags listed in B<placeholder> are set to I<p>.
nl: * Tags die vermeld worden in B<placeholder>, worden ingesteld op I<p>.

note: type: textblock
en: * Tags listed in B<untranslated> are without any of these options set.
nl: * Bij tags die vermeld worden in B<untranslated>, worden geen van deze opties ingesteld.

note: type: textblock
en: You can verify actual internal parameter behavior by invoking B<po4a> with B<--debug> option.
nl: U kunt het feitelijke gedrag van interne parameters nagaan door B<po4a> aan te roepen met de optie B<--debug>.

note: type: textblock
en: Please note a tag should be listed in either B<translated> or B<untranslated> setting string.
nl: Merk op dat een tag vermeld moet worden in één van de volgende instellingsreeksen: B<translated> of B<untranslated>.

note: type: textblock
en: Space-separated list of tags you do not want to translate.
nl: Door spaties gescheiden lijst met tags die u niet wilt vertalen.

note: type: textblock
en: Please note a translatable inline tag in an untranslated tag is treated as a translatable breaking tag, I<i> setting is dropped and I<w> or I<W> is set depending on the B<wrap> option.
nl: Merk op dat een in de tekst geïntegreerde (inline) vertaalbare tag binnenin een niet-vertaalde tag, behandeld wordt als een vertaalbare tag die een tekstfragment afsluit; de instelling I<i> wordt verwijderd en I<w> of I<W> wordt ingesteld, afhankelijk van de optie B<wrap>.

note: type: textblock
en: The default categories for tags that are not in any of the translated, untranslated, break, inline, or placeholder.
nl: De standaardcategorieën voor tags die niet behoren tot een van deze categorieën: translated, untranslated, break, inline, en placeholder.

note: type: textblock
en: This is a set of letters as defined in B<translated> and this setting is only valid for translatable tags.
nl: Dit is een reeks letters, zoals in B<translated> gedefinieerd, en deze instelling is alleen geldig voor vertaalbare tags.

note: type: =head1
en: WRITING DERIVATIVE MODULES
nl: AFGELEIDE MODULES SCHRIJVEN

note: type: =head2
en: DEFINE WHAT TAGS AND ATTRIBUTES TO TRANSLATE
nl: DEFINIËREN WELKE TAGS EN ATTRIBUTEN VERTAALD MOETEN WORDEN

note: type: textblock
en: The simplest customization is to define which tags and attributes you want the parser to translate.  This should be done in the initialize function.  First you should call the main initialize, to get the command-line options, and then, append your custom definitions to the options hash.  If you want to treat some new options from command line, you should define them before calling the main initialize:
nl: De eenvoudigste aanpassing bestaat erin om te definiëren welke tags en attributen u wilt laten vertalen door de ontleder. Dit moet gebeuren in de functie initialize. Eerst moet u de hoofdfunctie initialize aanroepen om de commandoregelopties te verkrijgen en dan moet u uw eigen definities toevoegen aan de hash met opties. Als u enkele nieuwe opties vanaf de commandoregel wilt bewerken, moet u ze definiëren voordat u de hoofdfunctie initialize aanroept:

note: type: textblock
en: You should use the B<_default_inline>, B<_default_break>, B<_default_placeholder>, B<_default_translated>, B<_default_untranslated>, and B<_default_attributes> options in derivative modules. This allow users to override the default behavior defined in your module with command line options.
nl: In afgeleide modules zou u de opties B<_default_inline>, B<_default_break>, B<_default_placeholder>, B<_default_translated>, B<_default_untranslated> en B<_default_attributes> moeten gebruiken. Dit laat gebruikers toe met commandoregelopties het in uw module gedefinieerde standaardgedrag te overstijgen.

note: type: textblock
en: If you don't like the default behavior of this xml module and its derivative modules, you can provide command line options to change their behavior.
nl: Indien u niet houdt van het standaardgedrag van deze xml-module en de ervan afgeleide modules, kunt u voorzien in commandoregelopties om hun gedrag te wijzigen.

note: type: textblock
en: See L<Locale::Po4a::Docbook(3pm)|Locale::Po4a::Docbook>,
nl: Zie L<Locale::Po4a::Docbook(3pm)|Locale::Po4a::Docbook>,

note: type: =head2
en: OVERRIDING THE found_string FUNCTION
nl: DE FUNCTIE found_string OVERSTIJGEN

note: type: textblock
en: Another simple step is to override the function "found_string", which receives the extracted strings from the parser, in order to translate them.  There you can control which strings you want to translate, and perform transformations to them before or after the translation itself.
nl: Een andere eenvoudige stap bestaat erin de functie "found_string" te overstijgen. Deze functie ontvangt de geëxtraheerde tekstfragmenten van de ontleder om ze te vertalen. Daar kunt u sturen welke tekstfragmenten u wilt vertalen en kunt u deze transformeren voor of na de eigenlijke vertaling.

note: type: textblock
en: It receives the extracted text, the reference on where it was, and a hash that contains extra information to control what strings to translate, how to translate them and to generate the comment.
nl: Ze ontvangt de geëxtraheerde tekst, de referentie over de plaats ervan en een hash die extra informatie bevat om te sturen welke tekstfragmenten vertaald moeten worden, hoe ze vertaald moeten worden en hoe het commentaar gegenereerd moet worden.

note: type: textblock
en: The content of these options depends on the kind of string it is (specified in an entry of this hash):
nl: De inhoud van deze opties is afhankelijk van het soort tekstfragment (gespecificeerd in een item van deze hash):

note: type: textblock
en: The found string is the content of a translatable tag. The entry "tag_options" contains the option characters in front of the tag hierarchy in the module "tags" option.
nl: Het aangetroffen tekstfragment is de inhoud van een vertaalbare tag. Het item "tag_options" bevat de optie-tekens die staan vóór de taghiërarchie uit de optie "tags" van de module.

note: type: textblock
en: Means that the found string is the value of a translatable attribute. The entry "attribute" has the name of the attribute.
nl: Betekent dat de gevonden tekenreeks de waarde van een vertaalbaar attribuut is. Het element "attribute" heeft de naam van het attribuut.

note: type: textblock
en: It must return the text that will replace the original in the translated document. Here's a basic example of this function:
nl: Het moet de tekst teruggeven die de originele tekst in het vertaalde document zal vervangen. Hier volgt een basaal voorbeeld van deze functie:

note: type: textblock
en: There's another simple example in the new Dia module, which only filters some strings.
nl: Er is nog een ander eenvoudig voorbeeld in de nieuwe Dia-module, die enkel bepaalde tekstfragmenten filtert.

note: type: =head2
en: MODIFYING TAG TYPES (TODO)
nl: TAG-TYPES AANPASSEN (TE DOEN)

note: type: textblock
en: This is a more complex one, but it enables a (almost) total customization.  It's based on a list of hashes, each one defining a tag type's behavior. The list should be sorted so that the most general tags are after the most concrete ones (sorted first by the beginning and then by the end keys). To define a tag type you'll have to make a hash with the following keys:
nl: Dit is complexer, maar het maakt een (bijna) totale aanpassing mogelijk. Het is gebaseerd op een reeks hashes, welke elk het gedrag definiëren van een tag-type. De reeks moet gesorteerd worden, zodat de meest algemene tags na de meer concrete komen (vooreerst gesorteerd op de sleutel beginning en dan op de sleutel end). Om een tag-type te definiëren moet u een hash maken met de volgende sleutels:

note: type: textblock
en: Specifies the beginning of the tag, after the "E<lt>".
nl: Specificeert het begin van de tag, na het "E<lt>".

note: type: textblock
en: Specifies the end of the tag, before the "E<gt>".
nl: Specificeert het einde van de tag, voor het "E<gt>".

note: type: textblock
en: It says if this is a breaking tag class.  A non-breaking (inline) tag is one that can be taken as part of the content of another tag.  It can take the values false (0), true (1) or undefined.  If you leave this undefined, you'll have to define the f_breaking function that will say whether a concrete tag of this class is a breaking tag or not.
nl: Dit zegt of dit een tag-klasse betreft die een tekstfragment afsluit. Een niet-afsluitende (geïntegreerde) tag is een tag die als inhoud van een andere tag kan beschouwd worden. Deze sleutel kan de waarden onwaar (0), waar (1) of niet-gedefinieerd hebben. Indien u dit ongedefinieerd laat, zult u de functie f_breaking moeten definiëren, welke zal zeggen of een concrete tag uit deze klasse een afsluitende tag is of niet.

note: type: textblock
en: It's a function that will tell if the next tag is a breaking one or not.  It should be defined if the B<breaking> option is not.
nl: Het is een functie die zegt of de volgende tag een afsluitende tag is of niet. Ze moet gedefinieerd worden als de optie B<breaking> dat niet is.

note: type: textblock
en: If you leave this key undefined, the generic extraction function will have to extract the tag itself.  It's useful for tags that can have other tags or special structures in them, so that the main parser doesn't get mad.  This function receives a boolean that says if the tag should be removed from the input stream or not.
nl: Indien u deze sleutel ongedefinieerd laat, dan zal de generieke extractiefunctie de tag zelf moeten extraheren. Hij is nuttig voor tags die andere tags of speciale structuren kunnen bevatten, zodat de hoofdontleder niet gek wordt. Deze functie ontvangt een booleaanse waarde welke zegt of deze tag al of niet verwijderd moet worden uit de invoerstroom.

note: type: textblock
en: This function receives the tag (in the get_string_until() format) and returns the translated tag (translated attributes or all needed transformations) as a single string.
nl: Deze functie ontvangt de tag (in de indeling get_string_until()) en zendt de vertaalde tag terug (vertaalde attributen of alle nodige transformaties) als een enkel tekstfragment.

note: type: =head2
en: WORKING WITH TAGS
nl: MET TAGS WERKEN

note: type: textblock
en: This function returns the path to the current tag from the document's root, in the form E<lt>htmlE<gt>E<lt>bodyE<gt>E<lt>pE<gt>.
nl: Deze functie zendt het pad naar de huidige tag vanaf de documentbasis terug in de vorm E<lt>htmlE<gt>E<lt>bodyE<gt>E<lt>pE<gt>.

note: type: textblock
en: An additional array of tags (without brackets) can be passed as argument.  These path elements are added to the end of the current path.
nl: Een extra lijst tags (zonder haakjes) kan als argument opgegeven worden. Deze padelementen worden toegevoegd aan het einde van het huidige pad.

note: type: textblock
en: This function returns the index from the tag_types list that fits to the next tag in the input stream, or -1 if it's at the end of the input file.
nl: Deze functie zendt de index uit de lijst tag_types terug, welke overeenkomt met de volgende tag in de invoerstroom, of -1 indien het om einde van het invoerbestand gaat.

note: type: textblock
en: Here, the tag has structure started by E<lt> and end by E<gt> and it can contain multiple lines.
nl: Hier heeft de tag als structuur een begin met E<lt> en een einde met E<gt> en ze kan uit verschillende regels bestaan.

note: type: textblock
en: This works on the array C<< @{$self->{TT}{doc_in}} >> holding input document data and reference indirectly via C<< $self->shiftline() >> and C<< $self->unshiftline($$) >>.
nl: Dit werkt op de lijst C<< @{$self->{TT}{doc_in}} >> welke indirect via C<< $self->shiftline() >> and C<< $self->unshiftline($$) >> data en referenties bevat van het invoerdocument.

note: type: textblock
en: This function returns the next tag from the input stream without the beginning and end, in an array form, to maintain the references from the input file.  It has two parameters: the type of the tag (as returned by tag_type) and a boolean, that indicates if it should be removed from the input stream.
nl: Deze functie zendt in de vorm van een lijst de volgende tag van de invoerstroom terug, zonder het begin en het einde, voor het onderhoud van de referenties van het invoerbestand. Ze heeft twee parameters: het type tag (zoals teruggezonden door tag_type) en een booleaanse waarde welke aangeeft of de tag verwijderd moet worden uit de invoerstroom.

note: type: textblock
en: This function returns the name of the tag passed as an argument, in the array form returned by extract_tag.
nl: Deze functie zendt de naam van de tag terug, welke als argument meegegeven werd, in de lijstvorm welke door extract_tag teruggezonden werd.

note: type: textblock
en: This function returns a boolean that says if the next tag in the input stream is a breaking tag or not (inline tag).  It leaves the input stream intact.
nl: Deze functie zendt een booleaanse waarde terug die zegt of de volgende tag uit de invoerstroom een tag is die een tekstfragment afsluit of niet (in de tekst geïntegreerde tag). Ze laat de invoerstroom intact.

note: type: textblock
en: This function translates the next tag from the input stream.  Using each tag type's custom translation functions.
nl: Deze functie vertaalt de volgende tag uit de invoerstroom. Ze gebruikt voor elk type tag de geëigende vertalingsfuncties.

note: type: textblock
en: This function returns a string value that says if the first argument (a tag hierarchy) matches any of the tags from the second argument (a list of tags or tag hierarchies). If it doesn't match, it returns 0. Else, it returns the matched tag's options (the characters in front of the tag) or 1 (if that tag doesn't have options).
nl: Deze functie zendt een waarde terug die zegt of het eerste argument (een tag-hiërarchie) overeenkomt met een van de tags uit het tweede argument (een lijst met tags of tag-hiërarchieën). Als er geen overeenkomst is, wordt 0 teruggezonden. Anders zendt ze de opties (de tekens die voor de tag staan) terug van de tag die een overeenkomst gaf of 1 (indien deze tag geen opties heeft).

note: type: =head2
en: WORKING WITH ATTRIBUTES
nl: MET ATTRIBUTEN WERKEN

note: type: textblock
en: This function handles the translation of the tags' attributes. It receives the tag without the beginning / end marks, and then it finds the attributes, and it translates the translatable ones (specified by the module option B<attributes>).  This returns a plain string with the translated tag.
nl: Deze functie verwerkt de vertaling van de attributen van de tag. Ze ontvangt de tag zonder de markeringen beginning / end en zoekt vervolgens de attributen en vertaald diegene welke vertaalbaar zijn (gespecificeerd door de optie B<attributes>) van de module). Deze functie zendt een gewoon tekstfragment terug met de vertaalde tag.

note: type: =head2
en: WORKING WITH TAGGED CONTENTS
nl: WERKEN MET GETAGDE INHOUD

note: type: textblock
en: This function gets the text until the next breaking tag (not inline) from the input stream.  Translate it using each tag type's custom translation functions.
nl: Deze functie krijgt uit de invoerstroom de tekst tot aan de volgende tag die een tekstfragment afsluit (geen in de tekst geïntegreerde tag). Ze vertaalt het tekstfragment waarbij ze voor elk type tag de geëigende vertaalfuncties gebruikt.

note: type: =head2
en: WORKING WITH THE MODULE OPTIONS
nl: MET DE MODULEOPTIES WERKEN

note: type: textblock
en: This function fills the internal structures that contain the tags, attributes and inline data with the options of the module (specified in the command-line or in the initialize function).
nl: Deze functie vult de interne structuren die de tags, attributen en geïntegreerde gegevens bevatten, met de moduleopties (gespecificeerd aan de commandoregel of in de functie initialize).

note: type: =head2
en: GETTING TEXT FROM THE INPUT DOCUMENT
nl: TEKST HALEN UIT HET INVOERDOCUMENT

note: type: textblock
en: This function returns an array with the lines (and references) from the input document until it finds the first argument.  The second argument is an options hash. Value 0 means disabled (the default) and 1, enabled.
nl: Deze functie zendt een lijst terug met de regels (en referenties) van het invoerdocument tot ze het eerste argument aantreft. Het tweede argument is een hash met opties. Waarde 0 betekent uitgezet (standaard) en 1 aangezet.

note: type: textblock
en: The valid options are:
nl: Geldige opties zijn:

note: type: textblock
en: This makes the returned array to contain the searched text
nl: Dit zorgt ervoor dat de teruggezonden lijst de gezochte tekst bevat

note: type: textblock
en: This removes the returned stream from the input
nl: Dit verwijdert de teruggezonden stroom uit de invoer

note: type: textblock
en: This ensures that the searched text is outside any quotes
nl: Dit zorgt ervoor dat de gezochte tekst zich niet tussen aanhalingstekens bevindt

note: type: textblock
en: This denotes that the first argument is a regular expression rather than an plain string
nl: Dit geeft aan dat het eerste argument een reguliere expressie is in plaats van een gewoon tekstfragment

note: type: textblock
en: This function receives as argument the reference to a paragraph (in the format returned by get_string_until), skips his heading spaces and returns them as a simple string.
nl: Deze functie ontvangt als argument de verwijzing naar een paragraaf (in de door get_string_until teruggezonden indeling), slaat de spaties vooraan over en zendt ze terug als een gewoon tekstfragment.

note: type: textblock
en: This function returns a simple string with the text from the argument array (discarding the references).
nl: Deze functie zendt een gewoon tekstfragment terug met de tekst uit de argumentenlijst (met weglating van de referenties).

note: type: textblock
en: This module can translate tags and attributes.
nl: Deze module kan tags en attributen vertalen.

note: type: textblock
en: DOCTYPE (ENTITIES)
nl: DOCTYPE (ENTITEITEN)

note: type: textblock
en: There is a minimal support for the translation of entities. They are translated as a whole, and tags are not taken into account. Multilines entities are not supported and entities are always rewrapped during the translation.
nl: De vertaling van entiteiten wordt minimaal ondersteund. Entiteiten worden in hun geheel vertaald en met tags wordt geen rekening gehouden. Entiteiten die meerdere regels beslaan worden niet ondersteund en tijdens de vertaling wordt steeds regelafbreking toegepast.

note: type: textblock
en: MODIFY TAG TYPES FROM INHERITED MODULES (move the tag_types structure inside the $self hash?)
nl: TAG-TYPES UIT OVERGEËRFDE MODULES WIJZIGEN ( de structuur tag_type binnen de hash $self verplaatsen?)

note: type: textblock
en: Locale::Po4a::Yaml - convert YAML files from/to PO files
nl: Locale::Po4a::Yaml - YAML-bestanden van/naar PO-bestanden converteren

note: type: textblock
en: Locale::Po4a::Yaml is a module to help the translation of Yaml files into other [human] languages.
nl: Locale::Po4a::Yaml is een module ter ondersteuning van de vertaling van Yaml-bestanden naar andere [menselijke] talen.

note: type: textblock
en: The module extracts the value of YAML hashes and arrays. Hash keys are not extracted.
nl: De module extraheert de waarde van YAML-hashes en lijsten. Hash-sleutels worden niet geëxtraheerd.

note: type: textblock
en: NOTE: This module parses the YAML file with YAML::Tiny.
nl: OPMERKING: Deze module ontleedt het YAML-bestand met YAML::Tiny.

note: type: textblock
en: Space-separated list of hash keys to process for extraction, all other keys are skipped.  Keys are matched with a case-sensitive match.  If B<paths> and B<keys> are used together, values are included if they are matched by at least one of the options.  Arrays values are always returned unless the B<skip_array> option is provided.
nl: Door spaties gescheiden lijst met sleutels die voor extractie moeten worden verwerkt. Alle andere sleutels worden overgeslagen. Sleutels worden hoofdlettergevoelig vergeleken. Als B<paths> en B<keys> samen worden gebruikt, worden waarden opgenomen als ze overeenkomen met minstens één van de opties. Arraywaarden worden altijd teruggegeven, tenzij de optie B<skip_array> is opgegeven.

note: type: textblock
en: Comma-separated list of hash paths to process for extraction, all other paths are skipped. Paths are matched with a case-sensitive match.  If B<paths> and B<keys> are used together, values are included if they are matched by at least one of the options.  Arrays values are always returned unless the B<skip_array> option is provided.
nl: Door spaties gescheiden lijst met hash-paden die voor extractie moeten worden verwerkt. Alle andere paden worden overgeslagen. Paden worden hoofdlettergevoelig vergeleken. Als B<paths> en B<keys> samen worden gebruikt, worden waarden opgenomen als ze overeenkomen met minstens één van de opties. Arraywaarden worden altijd teruggegeven, tenzij de optie B<skip_array> is opgegeven.

note: type: textblock
en: Do not translate array values.
nl: Vertaal arraywaarden niet.
