.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" 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" '' . ds C` . ds C' '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 >0, 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. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Locale::Po4a::Po 3pm" .TH Locale::Po4a::Po 3pm "2023-01-03" "Strumenti Po4a" "Strumenti Po4a" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NOME" .IX Header "NOME" Locale::Po4a::Po \- Modulo per la manipolazione di file \s-1PO\s0 .SH "SINTASSI" .IX Header "SINTASSI" .Vb 2 \& use Locale::Po4a::Po; \& my $pofile=Locale::Po4a::Po\->new(); \& \& # Leggi il file PO \& $pofile\->read(\*(Aqfile.po\*(Aq); \& \& # Aggiungi una voce \& $pofile\->push(\*(Aqmsgid\*(Aq => \*(AqHello\*(Aq, \*(Aqmsgstr\*(Aq => \*(Aqbonjour\*(Aq, \& \*(Aqflags\*(Aq => "wrap", \*(Aqreference\*(Aq=>\*(Aqfile.c:46\*(Aq); \& \& # Estrai una traduzione \& $pofile\->gettext("Hello"); # restituisce \*(AqCiao\*(Aq \& \& # Restituisce scrivendo in un file \& $pofile\->write(\*(Aqotherfile.po\*(Aq); .Ve .SH "DESCRIZIONE" .IX Header "DESCRIZIONE" Locale::Po4a::Po è un modulo che permette di elaborare cataloghi di messaggi. Si può caricare e scrivere da/verso un file (la cui estensione è spesso \fIpo\fR), si possono creare nuove voci al volo o a richiesta per la traduzione di una stringa. .PP Per una descrizione più approfondita dei cataloghi di messaggi in formato \s-1PO\s0 e sul loro uso, fare riferimento alla documentazione info del programma gettext (nodo \*(L"`\s-1PO\s0 Files\*(R"'). .PP Questo modulo fa parte del progetto po4a, il cui obiettivo è di usare file \s-1PO\s0 (progettati originariamente per semplificare la traduzione dei messaggi dei programmi) per tradurre qualunque cosa, inclusa la documentazione (pagine man, manuali info), descrizione pacchetti, modelli debconf, e tutto ciò che potrebbe trarne giovamento. .SH "OPZIONI ACCETTATE DA QUESTO MODULO" .IX Header "OPZIONI ACCETTATE DA QUESTO MODULO" .IP "\fB\-\-porefs\fR \fItipo\fR" 4 .IX Item "--porefs tipo" Specifica il formato di riferimento. L'argomento \fItype\fR può essere un valore qualsiasi tra: \fBnever\fR per non produrre nessun riferimento, \fBfile\fR per specificare solo il file senza il numero di riga, \fBcounter\fR per rimpiazzare il numero di riga con un contatore incrementale, e \fBfull\fR per includere il riferimento completo (valore predefinito: full). .IP "\fB\-\-wrap\-po\fR \fBno\fR|\fBnewlines\fR|\fInumero\fR (predefinito: 76)" 4 .IX Item "--wrap-po no|newlines|numero (predefinito: 76)" Specifica come il file po deve essere mandato a capo. Consente di scegliere tra file con righe mandate capo ben formattate e quindi ben leggibili ma che potrebbero portare a conflitti in git o file che sono più facili da gestire automaticamente, ma più difficili da leggere per le persone. .Sp Storicamente, la suite gettext riformattava i file po alla 77a colonna per questioni estetiche. Questa opzione specifica il comportamento di po4a. Se impostato su un valore numerico, po4a manderà a capo il file po a questo numero di colonna e dopo i caratteri di a capo nel testo. Se impostato su \fBnewlines\fR, po4a dividerà msgstr e msgstr solo dopo i caratteri di a capo nel testo. Se impostato su \fBno\fR, po4a non metterà a capo nel testo del file po. L'andare a capo nei commenti di riferimento è controllato dagli strumenti gettext che vengono usati internamente. .Sp Si noti che questa opzione non ha alcun impatto sul modo in cui msgstr e msgstr vanno a capo, ovvero su come i caratteri di a capo vengono aggiunti al contenuto di queste stringhe. .IP "\fB\-\-msgid\-bugs\-address\fR \fIindirizzo@email\fR" 4 .IX Item "--msgid-bugs-address indirizzo@email" Imposta l'indirizzo a cui inviare i rapporti di errore per i msgid. Come impostazione predefinita, i file \s-1POT\s0 creati non hanno campi Report-Msgid-Bugs-To. .IP "\fB\-\-copyright\-holder\fR \fIstringa\fR" 4 .IX Item "--copyright-holder stringa" Imposta l'intestatario del copyright nell'intestazione del \s-1POT.\s0 Il valore predefinito è \*(L"Free Software Foundation, Inc.\*(R" .IP "\fB\-\-package\-name\fR \fIstringa\fR" 4 .IX Item "--package-name stringa" Imposta il nome del pacchetto nell'intestazione del \s-1POT.\s0 Il valore predefinito è \*(L"\s-1PACKAGE\*(R".\s0 .IP "\fB\-\-package\-version\fR \fIstringa\fR" 4 .IX Item "--package-version stringa" Imposta la versione del pacchetto nell'intestazione del \s-1POT.\s0 Il valore predefinito è \*(L"\s-1VERSION\*(R".\s0 .SH "Funzioni concernenti interi cataloghi di messaggi" .IX Header "Funzioni concernenti interi cataloghi di messaggi" .IP "\fBnew()\fR" 4 .IX Item "new()" Crea un nuovo catalogo di messaggi. Se viene fornito un argomento, è il nome del file \s-1PO\s0 che bisognerebbe caricare. .IP "read($)" 4 .IX Item "read($)" Legge un file \s-1PO\s0 (il cui nome viene dato come argomento). Voci preesistenti in esso non vengono rimosse, le nuove vengono aggiunte alla fine del catalogo. .IP "write($)" 4 .IX Item "write($)" Scrive il catalogo corrente nel file dato. .IP "write_if_needed($$)" 4 .IX Item "write_if_needed($$)" Come write, ma se il file \s-1PO\s0 o \s-1POT\s0 esiste già, l'oggetto verrà scritto in un file temporaneo che verrà confrontato con il file esistente per controllare se l'aggiornamento è necessario (ciò evita di cambiare un file \s-1POT\s0 solo per aggiornare una riga di riferimento o il campo POT-Creation-Date). .IP "filter($)" 4 .IX Item "filter($)" Questa funzione estrae un catalogo da uno esistente. Solo le voci con riferimento nel file dato verranno inserite nel catalogo risultante. .Sp Questa funzione analizza il suo argomento, lo converte in una definizione di funzione Perl, valuta questa definizione e filtra i campi per i quali questa funzione restituisce vero. .Sp Amo Perl alle volte ;) .IP "\fBto_utf8()\fR" 4 .IX Item "to_utf8()" Ricodifica in \s-1UTF\-8\s0 le msgstrs del \s-1PO.\s0 Non fa nulla se il set di caratteri non è specificato nel file \s-1PO\s0 (il valore di \*(L"\s-1CHARSET\*(R"\s0), o se è già \s-1UTF\-8\s0 o \s-1ASCII.\s0 .SH "Funzioni che usano un catalogo messaggi per le traduzioni" .IX Header "Funzioni che usano un catalogo messaggi per le traduzioni" .IP "gettext($%)" 4 .IX Item "gettext($%)" Richiede la traduzione della stringa data come argomento, nel catalogo corrente. La funzione restituisce la stringa originale (non tradotta) se la stringa non viene trovata. .Sp Dopo la stringa da tradurre, si può passare un hash di argomenti extra. Ecco le voci accettate: .RS 4 .IP "\fBwrap\fR" 4 .IX Item "wrap" booleano indicante se si può considerare gli spazi bianchi nella stringha come non importanti. Se si, la funzione canonizza la stringa prima di cercare una traduzione, e formatta il risultato. .IP "\fBwrapcol\fR" 4 .IX Item "wrapcol" la colonna a cui andare a capo (valore predefinito: 76). .RE .RS 4 .RE .IP "\fBstats_get()\fR" 4 .IX Item "stats_get()" Restituisce le statistiche sulla percentuale di successo di gettext dall'ultima volta che è stato chiamato \fBstats_clear()\fR. Si noti che non sono le stesse statistiche di quelle stampate da msgfmt \-\-statistic. Qui, sono le statistiche sull'utilizzo recente del file \s-1PO,\s0 mentre msgfmt riporta lo stato del file. Esempio d'uso: .Sp .Vb 1 \& [alcuni usi del file PO per tradurre cose] \& \& ($percent,$hit,$queries) = $pofile\->stats_get(); \& print "Si qui, sono state trovate traduzioni per il $percent\e% ($hit di $queries) delle stringhe.\en"; .Ve .IP "\fBstats_clear()\fR" 4 .IX Item "stats_clear()" Cancella le statistiche generate da gettext. .SH "Funzioni per creare un catalogo messaggi" .IX Header "Funzioni per creare un catalogo messaggi" .IP "push(%)" 4 .IX Item "push(%)" Aggiunge una nuova voce alla fine del catalogo corrente. Gli argomenti dovrebbero formare una tabella hash. Le chiavi valide sono: .RS 4 .IP "\fBmsgid\fR" 4 .IX Item "msgid" la stringa nella lingua originale. .IP "\fBmsgstr\fR" 4 .IX Item "msgstr" la traduzione. .IP "\fBreference\fR" 4 .IX Item "reference" un'indicazione di dove è stata trovata questa stringa. Esempio: file.c:46 (che significa in 'file.c' alla riga 46). Può essere un elenco separato da spazi in caso di più occorrenze. .IP "\fBcomment\fR" 4 .IX Item "comment" un commento aggiunto manualmente (dal traduttore). Il formato è libero. .IP "\fBautomatic\fR" 4 .IX Item "automatic" un commento che è stato aggiunto automaticamente dal programma di estrazione delle stringhe. Vedere l'opzione \fB\-\-add\-comments\fR del programma \fBxgettext\fR per maggiori informazioni. .IP "\fBflags\fR" 4 .IX Item "flags" elenco separato da spazi di tutte le flag definite per questa voce. .Sp Flag validi sono: \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 e \fBfuzzy\fR. .Sp Consultare la documentazione di gettext per conoscerne il significato. .IP "\fBtype\fR" 4 .IX Item "type" questo è principalmente un argomento interno: viene utilizzato durante la gettext-izzazione di documenti. Il concetto è, analizzare sia l'originale che la traduzione in un oggetto \s-1PO\s0 e poi unirli, usando il msgid di uno come msgid e il msgid dell'altro come msgstr. Per assicurarsi che le cose vadano bene, a ogni msgstr negli oggetti \s-1PO\s0 viene assegnato un tipo, in base alla loro struttura (come \*(L"chapt\*(R", \*(L"sect1\*(R", \*(L"p\*(R" e così via in DocBook). Se i tipi di stringhe non sono gli stessi, significa che entrambi i file non condividono la stessa struttura e il processo segnala un errore. .Sp Questa informazione viene scritta come commento automatico nel file \s-1PO\s0 poiché ciò fornisce ai traduttori un contesto sulle stringhe da tradurre. .IP "\fBwrap\fR" 4 .IX Item "wrap" booleano che indica se gli spazi bianchi possono essere alterati nelle riformattazioni cosmetiche. Se vero, la stringa viene canonizzata prima dell'uso. .Sp Questa informazione viene scritta nel file \s-1PO\s0 usando i flag \fBwrap\fR o \fBno-wrap\fR. .IP "\fBwrapcol\fR" 4 .IX Item "wrapcol" la colonna a cui andare a capo (valore predefinito: 76). .Sp Questa informazione non viene scritta nel file \s-1PO.\s0 .RE .RS 4 .RE .SH "Funzioni varie" .IX Header "Funzioni varie" .IP "\fBcount_entries()\fR" 4 .IX Item "count_entries()" Restituisce il numero delle voci nel catalogo (senza l'intestazione). .IP "\fBcount_entries_doc()\fR" 4 .IX Item "count_entries_doc()" Restituisce il numero delle voci nel documento. Se una stringa compare più volte nel documento, verrà contata più volte. .IP "msgid($)" 4 .IX Item "msgid($)" Restituisce il msgid del numero dato. .IP "msgid_doc($)" 4 .IX Item "msgid_doc($)" Restituisce il msgid con la data posizione nel documento. .IP "type_doc($)" 4 .IX Item "type_doc($)" Restituisce il tipo di msgid con la posizione specificata nel documento. Probabilmente utile solo per ottenere la gettext-izzazione, ed è memorizzato separatamente da {$msgid}{'type'} perché la posizione successiva potrebbe essere sovrascritta da un altro tipo quando \f(CW$msgid\fR viene duplicato nel documento master. .IP "\fBget_charset()\fR" 4 .IX Item "get_charset()" Rstituisce il set di carattere specificato nell'intestazione del file \s-1PO.\s0 Se non è stato impostato, restituirà \*(L"\s-1UTF\-8\*(R".\s0 .IP "set_charset($)" 4 .IX Item "set_charset($)" Questo imposta il set di caratteri dell'intestazione \s-1PO\s0 al valore specificato nel suo primo argomento. Se non si chiama mai questa funzione (e quindi non viene letto alcun file con uno specifico set di caratteri), il valore predefinito viene lasciato a \*(L"\s-1UTF\-8\*(R".\s0 Questo valore non cambia il comportamento di questo modulo: viene usato solo per riempire quel campo nell'intestazione e per restituirlo in \fBget_charset()\fR. .SH "AUTORI" .IX Header "AUTORI" .Vb 2 \& Denis Barbier \& Martin Quinson (mquinson#debian.org) .Ve .SH "TRADUZIONE" .IX Header "TRADUZIONE" .Vb 2 \& Danilo Piazzalunga \& Marco Ciampa .Ve