
        *****************************************************
        *           GENERATED FILE, DO NOT EDIT             *
        * THIS IS NO SOURCE FILE, BUT RESULT OF COMPILATION *
        *****************************************************

This file was generated by po4a(7). Do not store it (in VCS, for example),
but store the PO file used as source file by po4a-translate.

In fact, consider this as a binary, and the PO file as a regular .c file:
If the PO get lost, keeping this translation up-to-date will be harder.

=encoding UTF-8

=head1 NAAM

po4a-gettextize - een origineel bestand (en zijn vertalingen) omzetten naar
een PO-bestand

=head1 OVERZICHT

B<po4a-gettextize> B<-f> I<fmt> B<-m> I<hoofddocument.doc> [B<-l> I<XX.doc>]
B<-p> I<XX.po>

(I<XX.po> is de uitvoer, alle andere zijn invoer)

=head1 BESCHRIJVING

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.

Het script B<po4a-gettextize> is belast met het converteren van
documentatiebestanden naar PO-bestanden. U heeft het enkel nodig om uw
vertaalproject in te stellen met po4a, nadien nooit meer.

Als u begint van niets, zal B<po4a-gettextize> de vertaalbare
tekstfragmenten uit de documentatie extraheren en een POT-bestand
schrijven. Indien u een eerder bestaand vertaald bestand opgeeft met de
B<-l>-vlag, dan zal B<po4a-gettextize> proberen de vertalingen die het
bevat, te gebruiken in het geproduceerde PO-bestand. Dit blijft een
vervelend en manueel proces, zoals hieronder uitgelegd wordt in het
onderdeel 'Een handmatige vertaling omzetten naar po4a'.

Indien het hoofddocument niet-ASCII-tekens bevat, zal het nieuw aangemaakt
PO-bestand in UTF-8 zijn. Anders (indien het hoofddocument volledig in ASCII
is), zal het gegenereerde PO-bestand de codering gebruiken van het vertaalde
invoerdocument, of in UTF-8 indien geen vertaald document verstrekt wordt.

=head1 OPTIES

=over 4

=item B<-f>, B<--format>

Indeling van de documentatie die u wilt afhandelen. Gebruik de optie
B<--help-format> om de lijst van beschikbare indelingen te zien.

=item B<-m>, B<--master>

Bestand dat het te vertalen hoofddocument bevat. U kunt deze optie meerdere
malen gebruiken, indien u meerdere documenten wilt verwerken met gettextize.

=item B<-M>, B<--master-charset>

Tekenset van het bestand met het te vertalen document.

=item B<-l>, B<--localized>

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.

=item B<-L>, B<--localized-charset>

Tekenset van het bestand met het gelokaliseerde document.

=item B<-p>, B<--po>

Bestand waarnaartoe de berichtencatalogus moet worden geschreven. Indien dit
niet opgegeven wordt, zal de berichtencatalogus naar standaarduitvoer
geschreven worden.

=item B<-o>, B<--option>

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.

=item B<-h>, B<--help>

Een korte hulptekst tonen.

=item B<--help-format>

De documentatie-indelingen vermelden die door po4a begrepen worden.

=item B<-V>, B<--version>

De versie van het script tonen en afsluiten.

=item B<-v>, B<--verbose>

De breedsprakigheid van het programma verhogen.

=item B<-d>, B<--debug>

Enige foutopsporingsinformatie weergeven.

=item B<--msgid-bugs-address> I<email@adres>

Het adres instellen voor het rapporteren van msgid-bugs. Standaard bevatten
de gecreëerde POT-bestanden niet het veld Report-Msgid-Bugs-To.

=item B<--copyright-holder> I<tekenreeks>

Instellen van de copyrighthouder in de POT-header. De standaardwaarde is
"Free Software Foundation, Inc."

=item B<--package-name> I<tekenreeks>

Instellen van de pakketnaam voor de POT-header. Standaard is dat "PACKAGE".

=item B<--package-version> I<tekenreeks>

Instellen van de pakketversie voor de POT-header. Standaard is dat
"VERSION".

=back

=head2 Een handmatige vertaling omzetten naar po4a

B<po4a-gettextize> zal trachten de inhoud te extraheren uit elk verstrekt
vertalingsbestand en het zal deze inhoud gebruiken als msgstr in het
geproduceerde PO-bestand. Wees gewaarschuwd dat dit een erg kwetsbaar proces
is: er wordt verondersteld dat het Nde tekstfragment uit het vertaalde
bestand de vertaling is voor het Nde fragment uit het origineel. Dit werkt
uiteraard enkel als beide bestanden exact dezelfde structuur hebben.

Intern rapporteert elke po4a-ontleder het syntactische type van elk
geëxtraheerd tekstfragment. Dit is de wijze waarop desynchronisatie ontdekt
wordt tijdens het gettextize-proces. Bijvoorbeeld, indien de bestanden de
volgende structuur hebben, 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.

    Origineel         Vertaling

  hoofdstuk            hoofdstuk
    paragraaf          paragraaf
    paragraaf          paragraaf
    paragraaf        hoofdstuk
  hoofdstuk              paragraaf
    paragraaf          paragraaf

B<po4a-gettextize> zal elke desynchronisatie in de structuur met uitgebreide
informatie diagnosticeren. Indien dit gebeurt, moet u de bestanden handmatig
bewerken (dit vereist wellicht dat u enige noties heeft van de doeltaal). U
moet in een van de documenten (of in beide) nepparagrafen toevoegen of
bepaalde inhoud verwijderen om de gerapporteerde ongelijkheden te repareren,
totdat de structuur van beide documenten volledig overeenkomt. In het
volgende onderdeel worden enkele kneepjes aangereikt.

Zelfs indien het document met succes verwerkt wordt, is het nog steeds
mogelijk dat bepaalde ongelijkheden onopgemerkt bleven en er stilzwijgend
fouten inslopen. Dat is de reden waarom elke vertaling die door
po4a-gettextize automatisch gekoppeld werd, gemarkeerd wordt als I<fuzzy>
(onduidelijk), om handmatig menselijk nazicht uit te lokken. Men moet
controleren of elke opgehaalde msgstr wel degelijk de vertaling is voor het
eraan gekoppelde msgid, en niet van het tekstfragment ervoor of erna.

Zoals u kunt zien, gaat het erom om exact dezelfde structuur te hebben in
het vertaalde document als in het originele document. Het beste is om het
gettextize-proces uit te voeren op exact die versie van F<hoofddocument.doc>
welke gebruikt werd voor de vertaling, en pas nadien, na een succesvol
gettextize-proces, het PO-bestand te updaten naar het meest recente
hoofdbestand.

Indien u het geluk heeft dat de bestandsstructuren perfect overeenkomen, 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:) Maar onthoud dat dit werk dat u laat brommen, de prijs is 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.

Zelfs als zaken fout lopen, blijft het gettextize-proces sneller dan alles
opnieuw vertalen. Ik was in staat om in één dag de bestaande Franse
vertaling van de volledige Perl-documentatie om te zetten met gettextize,
ook al was de structuur van veel documenten gedesynchroniseerd. Het betrof
meer dan 2 megabytes originele tekst (2 miljoen lettertekens): de vertaling
helemaal opnieuw maken zou verschillende maanden werk gevraagd hebben.

=head2 Aanwijzingen en kneepjes voor het gettextize-proces

Het gettextize-proces stopt van zodra er een desynchronisatie ontdekt
wordt. In theorie zou het waarschijnlijk mogelijk moeten zijn om later in de
documenten het gettextize-proces opnieuw te synchroniseren aan de hand van
bijvoorbeeld het algoritme dat gehanteerd wordt door het hulpprogramma
L<diff(1)>. Maar een handmatige interventie zou nog steeds noodzakelijk zijn
om de elementen welke niet automatisch in overeenstemming gebracht konden
worden, handmatig met elkaar in overeenstemming te brengen, en dit verklaart
waarom automatische hersynchronisatie (nog?) niet geïmplementeerd werd.

Als dit zich voordoet, komt alles hierop neer dat de structuur van deze
verdomde bestanden via handmatige bewerkingen gealigneerd moet
worden. B<po4a-gettextize> geeft behoorlijk veel informatie over wat er fout
liep, als dit gebeurt. 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.

Hier volgen enkele andere knepen om u bij dit saai proces te helpen:

=over 

=item 

Verwijder alle extra inhoud van de vertalers, zoals het onderdeel dat
erkenning geeft aan de vertalers. U kunt dit nadien terug toevoegen in po4a
met addenda (zie L<po4a(7)>).

=item 

Indien u de bestanden moet bewerken om hun structuur te aligneren, 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 niet
lukken om bij de PO-update de oude en de nieuwe versie met elkaar in
overeenstemming te brengen, en de bijbehorende vertaling zal hoe dan ook
gedumpt worden. Maar aarzel niet om zo nodig ook het originele document te
bewerken: het belangrijkste is een eerste PO-bestand te hebben waarmee
gestart kan worden.

=item 

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.

=item 

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;)

=item 

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.

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.

=item 

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 F<gettextization.failed.po> na te kijken en los
het probleem op waar het zich echt bevindt.

=item 

In een aantal ongelukkige situaties kunt u het gevoel krijgen dat po4a
sommige delen van de tekst van het origineel of de vertaling opgegeten
heeft. F<gettextization.failed.po> geeft aan dat beide bestanden zoals
verwacht overeenkwamen tot paragraaf N. Maar dan is een (niet succesvolle)
poging gedaan om paragraaf N+1 van het originele bestand te vergelijken,
niet met paragraaf N+1 van de vertaling, zoals zou moeten, maar wel met
paragraaf N+2. Net alsof paragraaf N+1 welke u in het document ziet, gewoon
uit het bestand verdween tijdens het proces.

Deze ongelukkige situatie ontstaat wanneer dezelfde alinea herhaald wordt in
het document. In dat geval wordt in het PO-bestand geen nieuw item
gecreëerd, maar wordt in plaats daarvan aan het bestaande item een nieuwe
referentie toegevoegd.

De voorgaande situatie ontstaat dus wanneer twee gelijkaardige, maar
verschillende paragrafen op exact dezelfde manier vertaald worden. Dit zorgt
er blijkbaar voor dat een paragraaf uit de vertaling verwijderd wordt. Om
het probleem op te lossen volstaat het om een van de vertalingen in het
document lichtjes te veranderen. U kunt er ook voor kiezen om de tweede
paragraaf uit het originele document te verwijderen.

Omgekeerd, indien dezelfde alinea welke tweemaal in het originele document
voorkomt, niet op beide plaatsen exact op dezelfde manier vertaald wordt,
zult u het gevoel krijgen dat een alinea verdween uit het originele
document. Kopieer gewoon de beste vertaling over de andere in het vertaalde
document om het probleem op te lossen.

=item 

Een laatste opmerking: wees niet al te verrast indien de eerste
synchronisatie van uw PO-bestand veel tijd in beslag neemt. Dit is omdat de
meeste msgid's uit het PO-bestand, dat het resultaat is van het
gettextize-proces, niet exact overeenkomen met een element uit het
POT-bestand dat uit de recente hoofdbestanden gebouwd werd. Dit dwingt
gettext ertoe om met een kostelijk tekstfragment-nabijheids-algoritme op
zoek te gaan naar het dichtstbij aanleunende element.

Bijvoorbeeld, de eerste B<po4a-updatepo> van de Franse vertaling van de
Perl-documentatie (PO-bestand van 5.5 MB), nam ongeveer 48 uur (twee dagen,
inderdaad) in beslag, terwijl de daaropvolgende slechts een dozijn seconden
duren.

=back

=head1 ZIE OOK

L<po4a(1)>, L<po4a-normalize(1)>, L<po4a-translate(1)>, L<po4a-updatepo(1)>,
L<po4a(7)>.

=head1 AUTEURS

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

=head1 COPYRIGHT EN LICENTIE

Copyright 2002-2020 door SPI, inc.

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

