.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" 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" '' '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 turned on, 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. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" ======================================================================== .\" .IX Title "Locale::Po4a::Po 3pm" .TH Locale::Po4a::Po 3pm "2013-08-21" "Po4a Tools" "Po4a Tools" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NOM" .IX Header "NOM" Locale::Po4a::Po \- mòdul per a la manipulació de fitxers \s-1PO\s0 .SH "SINOPSI" .IX Header "SINOPSI" .Vb 2 \& use Locale::Po4a::Po; \& my $fitxerpo=Locale::Po4a::Po\->new(); \& \& # Llegim el fitxer PO \& $fitxerpo\->load(\*(Aqfitxer.po\*(Aq); \& \& # Afegim una entrada \& $pofile\->push(\*(Aqmsgid\*(Aq => \*(AqHello\*(Aq, \*(Aqmsgstr\*(Aq => \*(AqHola\*(Aq, \& \*(Aqflags\*(Aq => "wrap", \*(Aqreference\*(Aq=>\*(Aqfitxer.c:46\*(Aq); \& \& # Extraiem una traducció \& $fitxerpo\->gettext("Hello"); # retorna \*(AqHola\*(Aq \& \& # Escrivim el nou fitxer po \& $fitxerpo\->write(\*(Aqunaltrefitxer.po\*(Aq); .Ve .SH "DESCRIPCIÓ" .IX Header "DESCRIPCIÓ" Locale::Po4a::Po és un mòdul que permet manipular catàlegs de missatges. Podeu carregar i escriure des de/a un fitxer (l'extensió del qual és habitualment \fIpo\fR, podeu crear noves entrades sobre la marxa i demanar la traducció de cadenes. .PP Per una descripció més completa dels catàlegs de missatges en el format \s-1PO\s0 i el seu ús, consulteu la documentació del programa gettext. .PP Aquest mòdul és part del projecte po4a, que té per objectiu utilitzar fitxers \s-1PO\s0 (dissenyats originalment per facilitar la traducció de missatges de programa) per traduir de tot, incloent documentació (pàgines de manual, manuals d'info), descripcions de paquets, plantilles de debconf, i qualsevol altra cosa que se'n pugui beneficiar. .SH "OPCIONS QUE ACCEPTA AQUEST MÒDUL" .IX Header "OPCIONS QUE ACCEPTA AQUEST MÒDUL" .IP "\fBporefs\fR \fItype\fR[,\fBwrap\fR|\fBnowrap\fR]" 4 .IX Item "porefs type[,wrap|nowrap]" Specify the reference format. Argument \fItype\fR can be one of \fBnone\fR to not produce any reference, \fBnoline\fR to not specify the line number (more accurately all line numbers are replaced by 1), \fBcounter\fR to replace line number by an increasing counter, and \fBfull\fR to include complete references. .Sp Argument can be followed by a comma and either \fBwrap\fR or \fBnowrap\fR keyword. References are written by default on a single line. The \fBwrap\fR option wraps references on several lines, to mimic \fBgettext\fR tools (\fBxgettext\fR and \fBmsgmerge\fR). This option will become the default in a future release, because it is more sensible. The \fBnowrap\fR option is available so that users who want to keep the old behavior can do so. .IP "\fB\-\-msgid\-bugs\-address\fR \fIemail@address\fR" 4 .IX Item "--msgid-bugs-address email@address" Set the report address for msgid bugs. By default, the created \s-1POT\s0 files have no Report-Msgid-Bugs-To fields. .IP "\fB\-\-copyright\-holder\fR \fIstring\fR" 4 .IX Item "--copyright-holder string" Set the copyright holder in the \s-1POT\s0 header. The default value is \*(L"Free Software Foundation, Inc.\*(R" .IP "\fB\-\-package\-name\fR \fIstring\fR" 4 .IX Item "--package-name string" Set the package name for the \s-1POT\s0 header. The default is \*(L"\s-1PACKAGE\s0\*(R". .IP "\fB\-\-package\-version\fR \fIstring\fR" 4 .IX Item "--package-version string" Set the package version for the \s-1POT\s0 header. The default is \*(L"\s-1VERSION\s0\*(R". .SH "Funcions sobre el catàleg de missatges sencer" .IX Header "Funcions sobre el catàleg de missatges sencer" .IP "\fInew()\fR" 4 .IX Item "new()" Crea un nou catàleg de missatges. Si se li passa un paràmetre, serà el nom del fitxer \s-1PO\s0 que ha de carregar. .IP "read($)" 4 .IX Item "read($)" Llegeix un fitxer \s-1PO\s0 (el nom del qual es passa com a paràmetre). Les entrades que ja existien al catàleg actual no s'eliminen, les noves s'afegeixen al final del catàleg. .IP "write($)" 4 .IX Item "write($)" Escriu el catàleg actual al fitxer donat. .IP "write_if_needed($$)" 4 .IX Item "write_if_needed($$)" Like write, but if the \s-1PO\s0 or \s-1POT\s0 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 \s-1POT\s0 just to update a line reference or the POT-Creation-Date field). .IP "gettextize($$)" 4 .IX Item "gettextize($$)" Aquesta funció produeix un catàleg de missatges traduït a partir de dos catàlegs, l'original i la traducció. Aquest procés es descriu a la secció \&\fIGettextització: com funciona?\fR de \fIpo4a\fR\|(7). .IP "filter($)" 4 .IX Item "filter($)" Aquesta funció extreu un catàleg a partir de l'actual. Només desarà al catàleg resultant les entrades que tinguin una referència al fitxer donat. .Sp Aquesta funció analitza els seu paràmetre, el converteix a una definició de funció de Perl, avalua aquesta definició i filtra els camps pels que aquesta funció retorna cert. .Sp M'encanta Perl a vegades ;) .IP "\fIto_utf8()\fR" 4 .IX Item "to_utf8()" Recodifica a \s-1UTF\-8\s0 els msgstrs del \s-1PO\s0. No fa res si el joc de caracters no està especificat en el fitxer \s-1PO\s0 (el valor \*(L"\s-1CHARSET\s0\*(R"), o si ja està en \s-1UTF\-8\s0 o \s-1ASCII\s0. .SH "Funcions per utilitzar el catàleg de missatges per les traduccions" .IX Header "Funcions per utilitzar el catàleg de missatges per les traduccions" .IP "gettext($%)" 4 .IX Item "gettext($%)" Retorna la traducció de la cadena donada com a paràmetre al catàleg actual. La funció retorna l'original (sense traduir) si no troba la cadena. .Sp Després de la cadena a traduir, podeu passar un hash de paràmetres extra. Aquestes són les entrades vàlides: .RS 4 .IP "\fBwrap\fR" 4 .IX Item "wrap" booleà que indica si podem considerar que els espais de la cadena no són importants. En cas afirmatiu, la funció canonitza la cadena abans de buscar-ne la traducció, i justifica el resultat. .IP "\fBwrapcol\fR" 4 .IX Item "wrapcol" La columna a la que s'ha de justificar (per defecte: 76). .RE .RS 4 .RE .IP "\fIstats_get()\fR" 4 .IX Item "stats_get()" Retorna les estadístiques sobre la quantitat d'encerts de gettext des de la darrera vegada que s'ha cridat \fIstats_clear()\fR. Tingueu en compte que no són les mateixes estadístiques que mostra msgfmt \-\-statistic. Aquestes són sobre l'ús recent del fitxer \s-1PO\s0, mentre que msgfmt informa sobre l'estat del fitxer. Exemple d'ús: .Sp .Vb 1 \& [ús del fitxer PO per traduir coses] \& \& ($percentatge,$encerts,$peticions) = $fitxerpo\->stats_get(); \& print "Fins ara, s\*(Aqhan trobat traduccions per al $percentatge\e% ($encerts de $peticions) de les cadenes.\en"; .Ve .IP "\fIstats_clear()\fR" 4 .IX Item "stats_clear()" Neteja les estadístiques sobre els encerts de gettext. .SH "Funcions per construir un catàleg de missatges" .IX Header "Funcions per construir un catàleg de missatges" .IP "push(%)" 4 .IX Item "push(%)" Insereix una nova entrada al final del catàleg actual. Els paràmetres han de formar una taula de hash. Les claus vàlides són : .RS 4 .IP "\fBmsgid\fR" 4 .IX Item "msgid" la cadena en l'idioma original. .IP "\fBmsgstr\fR" 4 .IX Item "msgstr" la traducció. .IP "\fBreference\fR" 4 .IX Item "reference" una indicació d'on s'ha trobat la cadena. Exemple: fitxer.c:46 (significa a la línia 46 del 'fitxer.c'). Pot ser una llista separada per espais en cas de múltiples ocurrències. .IP "\fBcomment\fR" 4 .IX Item "comment" un comentari afegir manualment (pels traductors). El format és lliure. .IP "\fBautomatic\fR" 4 .IX Item "automatic" un comentari que ha afegit automàticament el programa d'extracció de cadenes. Vegeu l'opció \fB\-\-add\-comments\fR del programa \fBxgettext\fR per a més informació. .IP "\fBflags\fR" 4 .IX Item "flags" llista separada per espais dels flags definits per aquesta entrada. .Sp Els flags vàlids són: \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 i \&\fBfuzzy\fR. .Sp Vegeu la documentació de gettext pels seus significats. .IP "\fBtype\fR" 4 .IX Item "type" Aquest és més aviat un paràmetre intern: s'utilitza a l'hora de gettextitzar documents. La idea és analitzar el document original i la traducció a objectes \s-1PO\s0, i ajuntar-los, utilitzant els msgid d'un com a msgid, i els msgid de l'altre com a msgstr. Per assegurar que les coses van bé, es dóna un tipus a cada msgid dels objectes po, segons la seva estructura (com ara \&\*(L"chapt\*(R", \*(L"sect1\*(R", \*(L"p\*(R" i així a DocBook). Si els tipus de les cadenes no coincideixen, significa que ambdós documents no comparteixen la mateixa estructura, i el procés acaba amb un error. .Sp Aquesta informació s'escriu com a comentari automàtic al fitxer \s-1PO\s0 ja que dóna informació de context sobre les cadenes a traduir als traductors. .IP "\fBwrap\fR" 4 .IX Item "wrap" booleà que indica si els espais en blanc es poden tractar en reformatejats cosmètics. En cas afirmatiu, abans d'utilitzar la cadena, aquesta és canonitzada. .Sp Aquesta informació s'escriu al fitxer \s-1PO\s0 utilitzant el flag \fBwrap\fR o \&\fBno-wrap\fR. .IP "\fBwrapcol\fR" 4 .IX Item "wrapcol" La columna a la que s'ha de justificar (per defecte: 76). .Sp Aquesta informació no s'escriu al fitxer \s-1PO\s0. .RE .RS 4 .RE .SH "Funcions diverses" .IX Header "Funcions diverses" .IP "\fIcount_entries()\fR" 4 .IX Item "count_entries()" Retorna el nombre d'entrades del catàleg (sense la capçalera). .IP "\fIcount_entries_doc()\fR" 4 .IX Item "count_entries_doc()" Returns the number of entries in document. If a string appears multiple times in the document, it will be counted multiple times .IP "msgid($)" 4 .IX Item "msgid($)" Retorna el msgid del nombre donat. .IP "msgid_doc($)" 4 .IX Item "msgid_doc($)" Returns the msgid with the given position in the document. .IP "\fIget_charset()\fR" 4 .IX Item "get_charset()" Retorna el joc de caràcters especificat a la capçalera \s-1PO\s0. Si encara no s'ha ajustat, retornarà \*(L"\s-1CHARSET\s0\*(R". .IP "set_charset($)" 4 .IX Item "set_charset($)" Defineix el joc de caràcters de la capçalera \s-1PO\s0 al valor especificat com a primer paràmetre. Si no crideu mai aquesta funció (i no es llegeix cap fitxer amb un joc de caràcters especificat), el valor per defecte es deixa a \&\*(L"\s-1CHARSET\s0\*(R". Aquest valor no canvia el comportament d'aquest mòdul, només s'utilitza per omplir el camp de la capçalera, i es retorna a \fIget_charset()\fR. .SH "AUTORS" .IX Header "AUTORS" .Vb 2 \& Denis Barbier \& Martin Quinson (mquinson#debian.org) .Ve .SH "TRADUCCIÓ" .IX Header "TRADUCCIÓ" .Vb 2 \& Carme Cirera \& Jordi Vilalta .Ve