
        *****************************************************
        *           GENERATED FILE, DO NOT EDIT             *
        * THIS IS NO SOURCE FILE, BUT RESULT OF COMPILATION *
        *****************************************************

This file was generated by po4a(7). Do not store it (in VCS, for example),
but store the PO file used as source file by po4a-translate.

In fact, consider this as a binary, and the PO file as a regular .c file:
If the PO get lost, keeping this translation up-to-date will be harder.

=encoding UTF-8

=head1 NOME

po4a-gettextize - converte un documento originale (e la sua traduzione) in
un file PO

=head1 SINTASSI

B<po4a-gettextize> B<-f> I<formato> B<-m> I<master.doc> B<-l> I<XX.doc>
B<-p> I<XX.po>

(I<XX.po> è l'output, tutti gli altri sono input)

=head1 DESCRIZIONE

po4a (PO for anything - N.d.T. PO per tutto) semplifica la manutenzione
delle traduzioni della documentazione usando i classici strumenti forniti da
gettext. La caratteristica principale di po4a è che separa la traduzione dei
contenuti dalla struttura del relativo documento.  Fare riferimento alla
pagina L<po4a(7)> per un'introduzione a questo progetto.

Lo script B<po4a-gettextize> aiuta a convertire le traduzioni già esistenti
in un flusso di lavoro basato su po4a. Effettua il salvataggio della
traduzione esistente in modo che sia pronta per la conversione a po4a, e
quindi non serve più usarlo dopo la conversione del progetto. Questo noioso
processo è spiegato in dettaglio nella sezione seguente 'Convertire la
traduzione di un manuale a po4a'.

È necessario fornire sia un file master (ad es. la sorgente in inglese) sia
un file tradotto esistente (ad es. un precedente tentativo di traduzione
senza po4a). Se si fornisce più di un file master o di traduzione, verranno
utilizzati in sequenza, ma potrebbe essere più semplice gettext-izzare
ciascuna pagina o capitolo separatamente e quindi utilizzare B<msgmerge> per
unire tutti i file PO prodotti. Fate come volete.

Se il documento master contiene dei caratteri non ASCII, il file PO generato
sarà in UTF-8. Se il documento master è completamente in ASCII, il PO
generato userà la codifica del documento tradotto in ingresso.

=head1 OPZIONI

=over 4

=item B<-f>, B<--format>

Formato del documento in questione. L'opzione B<--help-format> mostra
l'elenco dei formati disponibili.

=item B<-m>, B<--master>

Il file contenente il documento master da tradurre. Si può usare questa
opzione più volte se si vuole "gettext-izzare" più documenti.

=item B<-M>, B<--master-charset>

Set di caratteri del file contenente il documento da tradurre.

=item B<-l>, B<--localized>

Il file contenente la versione localizzata (tradotta) del documento. Se si
hanno più documenti master, è probabile si voglia anche fornire più
documenti localizzati usando quest'opzione più di una volta.

=item B<-L>, B<--localized-charset>

Set di caratteri del file contenente il documento tradotto.

=item B<-p>, B<--po>

File su cui scrivere il catalogo messaggi. Se non specificato, il catalogo
messaggi viene scritto sullo standard output.

=item B<-o>, B<--option>

Opzioni extra da passare al plugin di formato. Vedere la documentazione per
ogni plugin per ulteriori informazioni sulle opzioni valide e sul loro
significato. Per esempio si può passare "-o tablecells" all'analizzatore
AsciiDoc mentre l'analizzatore di testo semplice accetta "-o tabs=split".

=item B<-h>, B<--help>

Mostra un breve messaggio di aiuto.

=item B<--help-format>

Elenca i formati di documento gestiti da po4a.

=item B<-k> B<--keep-temps>

Mantiene il master temporaneo e i file POT localizzati creati prima della
fusione.  Può essere utile per capire perché questi file vengono
desincronizzati, causando i problemi di gettex-tizzazione.

=item B<-V>, B<--version>

Mostra la versione del programma ed esce.

=item B<-v>, B<--verbose>

Rende il programma più prolisso.

=item B<-d>, B<--debug>

Mostra delle informazioni di debug.

=item B<--msgid-bugs-address> I<indirizzo@email>

Imposta l'indirizzo a cui inviare i rapporti di errore per i msgid. Come
impostazione predefinita, i file POT creati non hanno campi
Report-Msgid-Bugs-To.

=item B<--copyright-holder> I<stringa>

Imposta l'intestatario del copyright nell'intestazione del POT. Il valore
predefinito è "Free Software Foundation, Inc."

=item B<--package-name> I<stringa>

Imposta il nome del pacchetto nell'intestazione del POT. Il valore
predefinito è "PACKAGE".

=item B<--package-version> I<stringa>

Imposta la versione del pacchetto nell'intestazione del POT. Il valore
predefinito è "VERSION".

=back

=head2 Convertire la traduzione di un manuale a po4a

B<po4a-gettextize> sincronizza il master i e file localizzati per estrarre i
loro contenuti e metterli in un file PO. Il contenuto del master file
produce i B<msgid> mentre i contenuti dei file localizzati danno i
B<msgstr>. Questo processo è un po' fragile: la N-esima stringa del file
tradotto si suppone sia la traduzione dell'N-esima stringa nell'originale.

La gettext-izzazione funziona meglio se si riesce a recuperare la versione
esatta del documento originale che è stato utilizzato per la
traduzione. Anche così, potrebbe essere necessario giocherellare con i file
master e localizzati per allineare la loro struttura se è stata modificata
dal traduttore originale, quindi si consiglia di lavorare su copie dei file
originali.

Internamente, ogni analizzatore po4a riporta il tipo di sintassi di ogni
stringa estratta. Questo è il modo in cui la desincronizzazione viene
rilevata durante la fase di gettext-izzazione. Nell'esempio mostrato sotto,
è molto improbabile che la quarta stringa nella traduzione (di tipo
'chapter') sia la traduzione della quarta stringa nell'originale (di tipo
'paragraph'). È più probabile che un nuovo paragrafo sia stato aggiunto
all'originale, o che due paragrafi nell'originale siano stati fusi assieme
nella traduzione.

    Original         Translation

  chapter            chapter
    paragraph          paragraph
    paragraph          paragraph
    paragraph        chapter
  chapter              paragraph
    paragraph          paragraph

B<po4a-gettextize> diagnostica in modo prolisso qualsiasi desincronizzazione
della struttura rilevata. Quando ciò accade, è necessario modificare
manualmente i file per aggiungere paragrafi falsi o rimuovere alcuni
contenuti in uno dei documenti (o entrambe le cose) per correggere le
disparità segnalate, fino a quando la struttura di entrambi i documenti non
corrisponde perfettamente. Di seguito alcuni trucchi per recuperare il più
possibile della traduzione esistente.

Se si è abbastanza fortunati da avere le strutture di entrambi i documenti
che combaciano perfettamente, si lavorerà senza intoppi e si otterranno
risultati in pochi secondi. Altrimenti, si scoprirà il perché questo
processo ha un nome così brutto :). In ogni caso, la gettext-izzazione
spesso è sempre più veloce che ritradurre tutto daccapo. L'autore della
documentazione ha gettext-izzato l'intera traduzione della documentazione
Perl in un giorno malgrado I<molti> problemi di sincronizzazione. Data la
quantità di testo (2MB di testo originale), la traduzione senza il recupero
delle vecchie traduzioni avrebbe richiesto diversi mesi di lavoro. Inoltre,
questo brutto lavoro è il prezzo da pagare per ottenere in seguito la
comodità di po4a. Una volta fatta la conversione, la sincronizzazione tra
documenti master e le loro traduzioni sarà per sempre completamente
automatica.

Dopo una corretta gettext-izzazione, i documenti prodotti si dovrebbero
controllare manualmente per le disparità non rilevate e gli errori
silenziosi, come spiegato di seguito.

=head3 Suggerimenti e trucchi per il processo di gettext-izzazione

La gettext-izzazione si ferma non appena viene rilevata una
desincronizzazione. Quando ciò accade, bisogna modificare i file quel tanto
che basta per riallinearne le strutture. B<po4a-gettextize> è piuttosto
prolisso quando qualcosa non funziona: indica le stringhe che non
corrispondono, la loro posizione nel testo, e il tipo di ognuna di
esse. Inoltre, il file PO generato fino a quel punto viene salvato in
F<gettextization.failed.po> per consentirne la successiva analisi.

Ecco alcuni altri trucchi per alleviare questo noioso lavoro e assicurarsi
che non si distrugga buona parte del precedente lavoro di traduzione:

=over

=item

Rimuovere tutto il contenuto extra delle traduzioni, come per esempio la
sezione riconoscimenti ai traduttori. Le si potranno riaggiungere con
B<po4a> in seguito, usando gli addenda (vedere L<po4a(7)>).

=item

Se si sta modificando i file per allineare le loro strutture, è preferibile
modificare la traduzione, se possibile. Infatti, se le modifiche
all'originale sono troppe, la vecchia e la nuova versione non collimeranno
durante la prima esecuzione di po4a dopo la gettext-izzazione (vedere più
avanti). Ogni traduzione non corrispondente verrà comunque scaricata. Detto
questo, si vorrà comunque modificare il documento originale se è troppo
difficile ottenere la continuazione del processo di gettext-izzazione in
altro modo, anche se ciò significherà che un paragrafo della traduzione
venga gettato via. L'importante è ottenere un primo file PO con cui
iniziare.

=item

Non fatevi problemi a eliminare qualsiasi contenuto originale che non
esisterebbe nella versione tradotta. Questo contenuto verrà reintrodotto
automaticamente in seguito, durante la sincronizzazione del file PO con il
documento.

=item

Si dovrebbe probabilmente informare l'autore originale di ogni cambiamento
strutturale nella traduzione che sembra giustificato. Problemi
nell'originale andrebbero comunicati all'autore. La correzione nella
traduzione corregge solo per una parte della comunità. Inoltre è impossibile
usando po4a ;). Ma è probabile si voglia aspettare la fine della conversione
a B<po4a> prima di cambiare i file originali.

=item

A volte, il contenuto dei paragrafi corrisponde, ma i loro tipi no. La
correzione è abbastanza dipendente dal formato. Nel POD e nelle pagine man,
spesso deriva dal fatto che uno dei due paragrafi contiene una riga che
inizia con uno spazio bianco mentre l'altro paragrafo no. In quei formati,
tali paragrafi non possono essere mandati a capo e quindi diventare di un
tipo diverso. In tal caso basta rimuovere lo spazio e si è a posto. Alle
volte si tratta anche di un semplice refuso nel nome del marcatore XML.

Allo stesso modo, due paragrafi possono venire uniti assieme nel POD quando
la riga di separazione contiene alcuni spazi, o quando non c'è una riga
vuota tra la riga B<=item> e il contenuto dell'elemento stesso.

=item

A volte, il messaggio di desincronizzazione sembra strano perché la
traduzione viene collegata al paragrafo originale sbagliato. È il segno di
problema non rilevato prima nel processo. Cercare il punto di
desincronizzazione ispezionando il file F<gettextization.failed.po>
prodotto, per vedere quando inizia veramente il problema e correggerlo dov'è
effettivamente.

=item

Altri problemi possono derivare da stringhe duplicate nell'originale o nella
traduzione. Le stringhe duplicate vengono fuse nei file PO, con due
riferimenti. Ciò costituisce un problema per l'algoritmo di
gettext-izzazione, che consiste in un semplice accoppiamento uno a uno tra i
B<msgid> del file master e quelli dei file localizzati. Le versioni recenti
di po4a dovrebbero però gestire correttamente le stringhe duplicate, quindi,
per qualsiasi problema residuo riscontrato, si prega di segnalarlo agli
sviluppatori.

=back

=head2 Revisione dei file prodotti da B<po4a-gettextize>

Qualsiasi file prodotto da B<po4a-gettextize> dovrebbe essere rivisto
manualmente, anche quando lo script viene terminato correttamente. Si
dovrebbe scorrere il file PO, assicurandosi che B<msgid> e B<msgstr>
corrispondano effettivamente. Non è ancora necessario assicurarsi che la
traduzione sia perfettamente corretta, poiché tutte le voci sono comunque
contrassegnate come traduzioni fuzzy. Bisogna solo verificare la presenza di
evidenti problemi di corrispondenza poiché le traduzioni con corrispondenza
errata verranno scaricate nei passaggi successivi mentre (è probabile) si
desideri salvarle.

Fortunatamente, questo passaggio non richiede la padronanza delle lingue di
destinazione poiché si desidera solo riconoscere elementi simili in ogni
B<msgid> e nel corrispondente B<msgstr>. In quanto madrelingua francese,
inglese e un po' di tedesco, l'autore di questa guida può farlo almeno per
tutte le lingue europee, mentre non può dire una parola della maggior parte
di queste lingue. A volte riesco a rilevare problemi di corrispondenza nelle
lingue non latine osservando la lunghezza delle stringhe, le strutture delle
frasi (la quantità di punti di interrogazione corrisponde?) e altri indizi,
ma preferisco che qualcun altro riveda la traduzione di quelle lingue.

Se si rileva una mancata corrispondenza, modificare i file originale e di
traduzione come se B<po4a-gettextize> segnalasse un errore e riprovare. Una
volta che si ha un file PO decente per la traduzione precedente, eseguire il
backup fino a quando po4a non funziona correttamente.

=head2 Eseguire B<po4a> per la prima volta

Il modo più semplice per configurare B<po4a> è scrivere un file di
configurazione B<po4a.conf> e utilizzare il programma integrato po4a
(B<po4a-updatepo> e B<po4a-translate> sono deprecati). Si prega di
controllare la sezione "FILE DI CONFIGURAZIONE" nella documentazione
L<po4a(1)> per maggiori dettagli.

Quando B<po4a> viene eseguito per la prima volta, la versione corrente dei
documenti master verrà usata per aggiornare i file PO contenenti le vecchie
traduzioni salvate tramite gettext-izzazione. Ciò può richiedere molto
tempo, perché molti dei B<msgid> prodotti dalla gettext-izzazione non
corrispondono esattamente agli elementi del file POT creato dai file master
recenti. Ciò costringe gettext a cercare quello più simile utilizzando un
algoritmo computazionalmente pesante di similitudine di stringa. Ad esempio,
la prima esecuzione della traduzione francese della documentazione Perl
(file PO da 5,5 MB) ha richiesto circa 48 ore (sì, due giorni), mentre le
successive solo pochi secondi.

=head2 Spostare la traduzione in produzione

Dopo questa prima esecuzione, i file PO sono pronti per essere esaminati dai
traduttori. Tutte le voci sono state contrassegnate come fuzzy nel file PO
dalla B<po4a-gettext-izzazione>, imponendo così la loro attenta revisione
prima dell'uso. I traduttori devono: esaminare ogni voce per verificare che
la traduzione salvata corrisponda effettivamente al testo originale
corrente, aggiornare la traduzione ove necessario, rimuovere i marcatori
fuzzy.

Una volta rimossi un numero sufficiente di marcatori fuzzy, B<po4a> inizierà
a generare i file di traduzione su disco e sarà il momento di spostare il
flusso di lavoro di traduzione alla produzione. Alcuni progetti trovano
utile affidarsi a weblate per coordinare traduttori e manutentori, ma questo
va oltre lo scopo di B<po4a>.

=head1 VEDERE ANCHE

L<po4a(1)>, L<po4a-normalize(1)>, L<po4a-translate(1)>, L<po4a-updatepo(1)>,
L<po4a(7)>.

=head1 AUTORI

 Denis Barbier <barbier@linuxfr.org>
 Nicolas François <nicolas.francois@centraliens.net>
 Martin Quinson (mquinson#debian.org)


=head1 TRADUZIONE

 Danilo Piazzalunga <danilopiazza@libero.it>
 Marco Ciampa <ciampix@posteo.net>

=head1 COPYRIGHT E LICENZA

Copyright 2002-2023 by SPI, inc.

Questo programma è software libero; è lecito ridistribuirlo o modificarlo
secondo i termini della licenza GPL v2.0 o successive (vedere il file
COPYING).
