Provided by:
po4a_0.32-1_all 
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).
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>