po4av0.70

Locale::Po4a::Po

Section: Po4a Tools (3pm)
Updated: 2024-01-29
Index Return to Main Contents
 

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
Specify the reference format. Argument type can be one of never to not produce any reference, file to only specify the file without the line number, counter to replace line number by an increasing counter, and full to include complete references (default: full).
--wrap-po no|newlines|number (default: 76)
Specify how the po file should be wrapped. This gives the choice between either files that are nicely wrapped but could lead to git conflicts, or files that are easier to handle automatically, but harder to read for humans.

Historically, the gettext suite has reformatted the po files at the 77th column for cosmetics. This option specifies the behavior of po4a. If set to a numerical value, po4a will wrap the po file after this column and after newlines in the content. If set to newlines, po4a will only split the msgid and msgstr after newlines in the content. If set to no, po4a will not wrap the po file at all. The reference comments are always wrapped by the gettext tools that we use internally.

Note that this option has no impact on how the msgid and msgstr are wrapped, ie on how newlines are added to the content of these strings.

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

 

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.
type_doc($)
Returns the type of the msgid with the given position in the document. This is probably only useful to gettextization, and it's stored separately from {$msgid}{'type'} because the later location may be overwritten by another type when the $msgid is duplicated in the master document.
get_charset()
Returns the character set specified in the PO header. If it hasn't been set, it will return ``UTF-8''.
 

AUTORS

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

 

TRADUCCIÓ

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


 

Index

NOM
SINOPSI
DESCRIPCIÓ
OPCIONS QUE ACCEPTA AQUEST MÒDUL
Functions concerning entire message catalogs
Funcions per utilitzar el catàleg de missatges per les traduccions
Funcions per construir un catàleg de missatges
Funcions diverses
AUTORS
TRADUCCIÓ

This document was created by using the manual pages.
Time: 00:28:40 GMT, January 29, 2024
català Deutsch English Esperanto español français hrvatski Magyar Italiano 日本語 Bokmål Nederlands polski Português Português (Brasil) Русский српски језик український 简体中文 简体中文 (how to set the default document language)