Provided by: po4a_0.47-2_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();

           # Llegim el fitxer PO
           $fitxerpo->load('fitxer.po');

           # Afegim una entrada
           $pofile->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.

       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"').

       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 type[,wrap|nowrap]
           Specify the reference format. Argument type can be one of none to not produce any
           reference, noline to not specify the line number (more accurately all line numbers are
           replaced by 1), counter to replace line number by an increasing counter, and full to
           include complete references.

           Argument can be followed by a comma and either wrap or nowrap keyword.  References are
           written by default on a single line.  The wrap option wraps references on several
           lines, to mimic gettext tools (xgettext and msgmerge).  This option will become the
           default in a future release, because it is more sensible.  The nowrap option is
           available so that users who want to keep the old behavior can do so.

       --msgid-bugs-address email@address
           Set the report address for msgid bugs. By default, the created POT files have no
           Report-Msgid-Bugs-To fields.

       --copyright-holder string
           Set the copyright holder in the POT header. The default value is "Free Software
           Foundation, Inc."

       --package-name string
           Set the package name for the POT header. The default is "PACKAGE".

       --package-version string
           Set the package version for the POT header. The default is "VERSION".

Functions concerning entire message catalogs

       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 if 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).

       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

       msgid($)
           Retorna el msgid del nombre donat.

       msgid_doc($)
           Returns the msgid with the given position in the document.

       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>