Provided by: po4a_0.23-1_all bug

NOM

       Locale::Po4a::Po - mòdul per a la manipulació de fitxers po

SINOPSI

           use Locale::Po4a::Po;
           my $fitxerpo=Locale::Po4a::Po->new();

           # Read po file
           $pofile->read(’file.po’);

           # Afegim una entrada
           $fitxerpo->push(’msgid’ => ’Hello’, ’msgstr’ => ’Hola’,
                           ’flags’ => "wrap", ’reference’=>’fitxer.c:46’);

           # Extraiem una traducció
           $fitxerpo->gettext("Hello"); # retorna ’Hola’

           # Escrivim el nou fitxer po
           $fitxerpo->write(’unaltrefitxer.po’);

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 po, podeu crear noves entrades sobre la marxa i
       demanar la traducció de cadenes.

       Per una descripció més completa dels catàlegs de missatges en el format
       po i el seu ús, consulteu la documentació del programa gettext.

       Aquest mòdul és part del projecte PO4A, que té per objectiu utilitzar
       fitxers po (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.

OPCIONS QUE ACCEPTA AQUEST MÒDUL

       porefs
           This specifies the reference format. It can be one of ’none’ to not
           produce any reference, ’noline’ to not specify the line number, and
           ’full’ to include complete references.

Funcions sobre el catàleg de missatges sencer

           new()
               Crea un nou catàleg de missatges. Si se li passa un paràmetre,
               serà el nom del fitxer po que ha de carregar.

           read($)
               Llegeix un fitxer po (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.

           write($)
               Escriu el catàleg actual al fitxer donat.

           write_if_needed($$)
               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 that the update is
               needed (this avoids to change a POT just to update a line
               reference or the POT-Creation-Date field).

           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ó Gettextitzaci: com funciona? de
               po4a(7).

           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.

               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.

               M’encanta perl a vegades ;)

           to_utf8()
               Recodifica a utf-8 els msgstrs del po. No fa res si el joc de
               caracters no està especificat en el fitxer po (el valor
               "CHARSET"), o si ja està en utf-8 o ascii.

Funcions per utilitzar el catàleg de missatges per les traduccions

       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.

           Després de la cadena a traduir, podeu passar un hash de paràmetres
           extra. Aquestes són les entrades vàlides:

           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.

           wrapcol
               La columna a la que s’ha de justificar (per defecte: 76).

       stats_get()
           Retorna les estadístiques sobre la quantitat d’encerts de gettext
           des de la darrera vegada que s’ha cridat stats_clear(). Tingueu en
           compte que no són les mateixes estadístiques que mostra msgfmt
           --statistic. Aquestes són sobre l’ús recent del fitxer po, mentre
           que msgfmt informa sobre l’estat del fitxer.  Exemple d’ús:

               [ús del fitxer po per traduir coses]

               ($percentatge,$encerts,$peticions) = $fitxerpo->stats_get();
               print "Fins ara, s’han trobat traduccions per al $percentatge\%  ($encerts de $peticions) de les cadenes.\n";

       stats_clear()
           Neteja les estadístiques sobre els encerts de gettext.

Funcions per construir un catàleg de missatges

       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 :

           msgid
               la cadena en l’idioma original.

           msgstr
               la traducció.

           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.

           comment
               un comentari afegir manualment (pels traductors). El format és
               lliure.

           automatic
               un comentari que ha afegit automàticament el programa
               d’extracció de cadenes. Vegeu l’opció --add-comments del
               programa xgettext per a més informació.

           flags
               llista separada per espais dels flags definits per aquesta
               entrada.

               Els flags vàlids són: c-text, python-text, lisp-text,
               elisp-text, librep-text, smalltalk-text, java-text, awk-text,
               object-pascal-text, ycp-text, tcl-text, wrap, no-wrap i fuzzy.

               Vegeu la documentació de gettext pels seus significats.

           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 po, 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 "chapt", "sect1", "p" 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.

               Aquesta informació s’escriu com a comentari automàtic al fitxer
               po ja que dóna informació de context sobre les cadenes a
               traduir als traductors.

           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.

               Aquesta informació s’escriu al fitxer po utilitzant el flag
               ’wrap’ o ’no-wrap’.

           wrapcol
               La columna a la que s’ha de justificar (per defecte: 76).

               Aquesta informació no s’escriu al fitxer po.

Funcions diverses

       count_entries()
           Retorna el nombre d’entrades del catàleg (sense la capçalera).

       msgid($)
           Retorna el msgid del nombre donat.

       get_charset()
           Retorna el joc de caràcters especificat a la capçalera po. Si
           encara no s’ha ajustat, retornarà "CHARSET".

       set_charset($)
           Defineix el joc de caràcters de la capçalera po 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 "CHARSET". 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 get_charset().

AUTORS

        Denis Barbier <barbier@linuxfr.org>
        Martin Quinson (mquinson#debian.org)

TRADUCCIÓ

        Carme Cirera <menxu@hotmail.com>
        Jordi Vilalta <jvprat@gmail.com>