.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Locale::Po4a::Po 3pm" .TH Locale::Po4a::Po 3pm "2020-08-19" "Po4a-hulpmiddelen" "Po4a-hulpmiddelen" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAAM" .IX Header "NAAM" Locale::Po4a::Po \- Module voor het manipuleren van PO-bestanden .SH "OVERZICHT" .IX Header "OVERZICHT" .Vb 2 \& use Locale::Po4a::Po; \& my $pofile=Locale::Po4a::Po\->new(); \& \& # PO\-bestand lezen \& $pofile\->read(\*(Aqfile.po\*(Aq); \& \& # Een element toevoegen \& $pofile\->push(\*(Aqmsgid\*(Aq => \*(AqHello\*(Aq, \*(Aqmsgstr\*(Aq => \*(Aqbonjour\*(Aq, \& \*(Aqflags\*(Aq => "wrap", \*(Aqreference\*(Aq=>\*(Aqfile.c:46\*(Aq); \& \& # Een vertaling extraheren \& $pofile\->gettext("Hello"); # geeft als terugkeer \*(Aqbonjour\*(Aq \& \& # Terug naar een bestand schrijven \& $pofile\->write(\*(Aqanderbestand.po\*(Aq); .Ve .SH "BESCHRIJVING" .IX Header "BESCHRIJVING" 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 \fIpo\fR), u kunt in een oogwenk nieuwe elementen bouwen of om de vertaling van een tekstfragment vragen. .PP Voor een meer volledige beschrijving van berichtencatalogi in de PO-indeling en hun gebruik kunt u de infodocumentatie van het gettext-programma (sectie \&\*(L"'PO\-bestanden\*(R"') raadplegen. .PP 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. .SH "MOGELIJKE OPTIES BIJ DEZE MODULE" .IX Header "MOGELIJKE OPTIES BIJ DEZE MODULE" .IP "\fB\-\-porefs\fR \fItype\fR" 4 .IX Item "--porefs type" Het referentieformaat specificeren. Het argument \fItype\fR kan één van de volgende zijn: \fBnever\fR om geen enkele referentie te produceren, \fBfile\fR om enkel het bestand zonder het lijnnummer te specificeren, \fBcounter\fR om het regelnummer te vervangen door een oplopende teller, en \fBfull\fR om volledige referenties op te nemen (standaard: full). .IP "\fB\-\-wrap\-po\fR \fBno\fR|\fBnewlines\fR|\fIgetal\fR (standaard: 76)" 4 .IX Item "--wrap-po no|newlines|getal (standaard: 76)" 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. .Sp 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 \fBnewlines\fR, zal po4a de msgid en msgstr enkel afbreken na regeleinden die in de inhoud voorkomen. Indien dit ingesteld wordt op \fBno\fR, 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. .Sp 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. .IP "\fB\-\-msgid\-bugs\-address\fR \fIemail@adres\fR" 4 .IX Item "--msgid-bugs-address 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. .IP "\fB\-\-copyright\-holder\fR \fItekenreeks\fR" 4 .IX Item "--copyright-holder tekenreeks" Instellen van de copyrighthouder in de POT-header. De standaardwaarde is \&\*(L"Free Software Foundation, Inc.\*(R" .IP "\fB\-\-package\-name\fR \fItekenreeks\fR" 4 .IX Item "--package-name tekenreeks" Instellen van de pakketnaam voor de POT-header. Standaard is dat \*(L"\s-1PACKAGE\*(R".\s0 .IP "\fB\-\-package\-version\fR \fItekenreeks\fR" 4 .IX Item "--package-version tekenreeks" Instellen van de pakketversie voor de POT-header. Standaard is dat \&\*(L"\s-1VERSION\*(R".\s0 .SH "Functies met betrekking tot volledige berichtencatalogi" .IX Header "Functies met betrekking tot volledige berichtencatalogi" .IP "\fBnew()\fR" 4 .IX Item "new()" Creëert een nieuwe berichtencatalogus. Als er een argument opgegeven wordt, is het de naam van een PO-bestand dat geladen moet worden. .IP "read($)" 4 .IX Item "read($)" 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. .IP "write($)" 4 .IX Item "write($)" Schrijft de huidige catalogus naar het opgegeven bestand. .IP "write_if_needed($$)" 4 .IX Item "write_if_needed($$)" Zoals write, maar als het \s-1PO\-\s0 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). .IP "gettextize($$)" 4 .IX Item "gettextize($$)" Deze functie produceert een vertaalde berichtencatalogus op basis van twee catalogi, een origineel en een vertaling. Dit proces wordt beschreven in \&\fBpo4a\fR\|(7), afdeling \fIGettextize-proces: hoe werkt het?\fR. .IP "filter($)" 4 .IX Item "filter($)" 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. .Sp 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. .Sp Soms hou ik van Perl ;) .IP "\fBto_utf8()\fR" 4 .IX Item "to_utf8()" Zet de msgstrs in het PO-bestand om naar \s-1UTF\-8 .\s0 Doet niets indien de tekenset in het PO-bestand niet gespecificeerd werd (waarde van \*(L"\s-1CHARSET\*(R"\s0), of indien deze reeds \s-1UTF\-8\s0 of \s-1ASCII\s0 is. .SH "Functies om een berichtencatalogus te gebruiken voor vertalingen" .IX Header "Functies om een berichtencatalogus te gebruiken voor vertalingen" .IP "gettext($%)" 4 .IX Item "gettext($%)" 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. .Sp Na het te vertalen tekstfragment kunt u een hash van extra argumenten doorgeven. Dit zijn de geldige vermeldingen: .RS 4 .IP "\fBwrap\fR" 4 .IX Item "wrap" 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. .IP "\fBwrapcol\fR" 4 .IX Item "wrapcol" de kolom waar de regelafbreking moet gebeuren (standaard: 76). .RE .RS 4 .RE .IP "\fBstats_get()\fR" 4 .IX Item "stats_get()" Bezorgt statistieken over de succesratio van gettext sinds de laatste keer dat \fBstats_clear()\fR 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: .Sp .Vb 1 \& [een zeker gebruik van het PO\-bestand om zaken te vertalen] \& \& ($percent,$hit,$queries) = $pofile\->stats_get(); \& print "Tot nu werden in $percent\e% ($hit op $queries) van de gevallen vertalingen gevonden voor tekstfragmenten.\en"; .Ve .IP "\fBstats_clear()\fR" 4 .IX Item "stats_clear()" Wist de statistieken over de succesratio van gettext. .SH "Functies voor het bouwen van een berichtencatalogus" .IX Header "Functies voor het bouwen van een berichtencatalogus" .IP "push(%)" 4 .IX Item "push(%)" Een nieuw element toevoegen aan het einde van de huidige catalogus. De argumenten moeten een hash-tabel vormen. Geldige sleutelwaarden zijn: .RS 4 .IP "\fBmsgid\fR" 4 .IX Item "msgid" het tekstfragment in de originele taal. .IP "\fBmsgstr\fR" 4 .IX Item "msgstr" de vertaling. .IP "\fBreference\fR" 4 .IX Item "reference" 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. .IP "\fBcomment\fR" 4 .IX Item "comment" een hier handmatig (door de vertalers) toegevoegde commentaar. Hier is de indeling vrij. .IP "\fBautomatic\fR" 4 .IX Item "automatic" een commentaar dat automatisch toegevoegd werd door het programma voor het extraheren van tekstfragmenten. Zie de optie \fB\-\-add\-comments\fR van het \&\fBxgettext\fR\-programma voor meer informatie. .IP "\fBflags\fR" 4 .IX Item "flags" door spaties gescheiden lijst van alle gedefinieerde vlaggen voor dit element. .Sp Geldige vlaggen zijn: \fBc\-text\fR, \fBpython-text\fR, \fBlisp-text\fR, \&\fBelisp-text\fR, \fBlibrep-text\fR, \fBsmalltalk-text\fR, \fBjava-text\fR, \fBawk-text\fR, \&\fBobject-pascal-text\fR, \fBycp-text\fR, \fBtcl-text\fR, \fBwrap\fR, \fBno-wrap\fR en \&\fBfuzzy\fR. .Sp Raadpleeg de gettext-documentatie voor hun betekenis. .IP "\fBtype\fR" 4 .IX Item "type" 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 \*(L"chapt\*(R", \*(L"sect1\*(R", \&\*(L"p\*(R" 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. .Sp Deze informatie wordt als automatische commentaar opgeschreven in het PO-bestand, omdat dit vertalers enige context geeft over de te vertalen tekstfragmenten. .IP "\fBwrap\fR" 4 .IX Item "wrap" 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. .Sp Deze informatie wordt opgeschreven in het PO-bestand met de vlaggen \fBwrap\fR (indien waar) of \fBno-wrap\fR (indien niet waar). .IP "\fBwrapcol\fR" 4 .IX Item "wrapcol" de kolom waar de regelafbreking moet gebeuren (standaard: 76). .Sp Deze informatie wordt niet opgeschreven in het PO-bestand. .RE .RS 4 .RE .SH "Diverse functies" .IX Header "Diverse functies" .IP "\fBcount_entries()\fR" 4 .IX Item "count_entries()" Rapporteert het aantal elementen in de catalogus (zonder de header). .IP "\fBcount_entries_doc()\fR" 4 .IX Item "count_entries_doc()" Rapporteert het aantal elementen in het document. Indien een tekstfragment meerdere keren voorkomt in het document, zal het meerdere keren geteld worden. .IP "equals_msgid(po)" 4 .IX Item "equals_msgid(po)" Geeft ($uptodate, \f(CW$diagnostic\fR) terug, waarbij \f(CW$uptodate\fR aangeeft of alle msgid van het huidige po-bestand ook aanwezig zijn in het bestand dat als parameter opgegeven werd (bij het vergelijken van de bestanden worden alle andere velden genegeerd). Indien \f(CW$uptodate\fR de waarde onwaar (false) teruggeeft, zouden de po-bestanden gewijzigd worden, mocht \fBpo4a\-updatepo\fR uitgevoerd worden. .Sp Indien \f(CW$uptodate\fR onwaar is, dan bevat \f(CW$diagnostic\fR diagnostische informatie over waarom dat zo is. .IP "msgid($)" 4 .IX Item "msgid($)" Geeft het msgid terug van het opgegeven getal. .IP "msgid_doc($)" 4 .IX Item "msgid_doc($)" Geeft het msgid terug dat de opgegeven positie in het document bekleedt. .IP "\fBget_charset()\fR" 4 .IX Item "get_charset()" Rapporteert de in de PO-header opgegeven tekenset. Indien dit daar niet ingesteld werd, zal het \*(L"\s-1UTF\-8\*(R"\s0 rapporteren. .IP "set_charset($)" 4 .IX Item "set_charset($)" 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 \*(L"\s-1UTF\-8\*(R".\s0 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 \&\fBget_charset()\fR terug te zenden. .SH "AUTEURS" .IX Header "AUTEURS" .Vb 2 \& Denis Barbier \& Martin Quinson (mquinson#debian.org) .Ve