.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32) .\" .\" 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 .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" ======================================================================== .\" .IX Title "PO4A 1p" .TH PO4A 1p "2018-12-17" "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" po4a \- aggiorna i file \s-1PO\s0 e i documenti tradotti in un colpo solo .SH "SINTASSI" .IX Header "SINTASSI" \&\fBpo4a\fR [\fIopzioni\fR] \fIfile_config\fR .SH "DESCRIZIONE" .IX Header "DESCRIZIONE" Lo scopo del progetto po4a (\s-1PO\s0 for anything \- \s-1PO\s0 per tutto) è di facilitare la traduzione e, cosa ancor più interessante, la manutenzione delle traduzioni usando gettext e i relativi strumenti in campi in cui il loro uso non era programmato, come la documentazione. .PP Il programma \fBpo4a\fR è utile se si vuole evitare di chiamare \&\fIpo4a\-gettextize\fR\|(1), \fIpo4a\-updatepo\fR\|(1), e \fIpo4a\-translate\fR\|(1) in Makefile complessi quando si hanno più file da tradurre, diversi formati, o serve specificare diverse opzioni per diversi documenti. .SH "Sommario" .IX Header "Sommario" Questo documento è organizzato come segue: .SS "\s-1DESCRIZIONE\s0" .IX Subsection "DESCRIZIONE" .SS "\s-1INTRODUZIONE\s0" .IX Subsection "INTRODUZIONE" .SS "\s-1SINTASSI DEL FILE DI CONFIGURATIONE\s0" .IX Subsection "SINTASSI DEL FILE DI CONFIGURATIONE" \fISpecificare l'elenco delle lingue\fR .IX Subsection "Specificare l'elenco delle lingue" .PP \fISpecificare i file di lavoro dei traduttori\fR .IX Subsection "Specificare i file di lavoro dei traduttori" .PP \fIAutorilevamento dei percorsi e delle lingue\fR .IX Subsection "Autorilevamento dei percorsi e delle lingue" .PP \fISpecificare i documenti da tradurre\fR .IX Subsection "Specificare i documenti da tradurre" .PP \fISpecificare le opzioni per i moduli\fR .IX Subsection "Specificare le opzioni per i moduli" .PP \fISpecificare gli alias\fR .IX Subsection "Specificare gli alias" .PP \fIModalità split\fR .IX Subsection "Modalità split" .SS "\s-1OPZIONI\s0" .IX Subsection "OPZIONI" .SS "\s-1ESEMPIO\s0" .IX Subsection "ESEMPIO" .SS "\s-1DIFETTI E MANCANZE\s0" .IX Subsection "DIFETTI E MANCANZE" .SS "\s-1VEDERE ANCHE\s0" .IX Subsection "VEDERE ANCHE" .SS "\s-1AUTORI\s0" .IX Subsection "AUTORI" .SS "\s-1COPYRIGHT E LICENZA\s0" .IX Subsection "COPYRIGHT E LICENZA" \fI\fR .IX Subsection "" .SH "INTRODUZIONE" .IX Header "INTRODUZIONE" Il programma \fBpo4a\fR si occupa di aggiornare sia i file \s-1PO \s0(per mantenerli sincronizzati con i documenti originali) sia i documenti tradotti (per mantenerli sincronizzati con i file \s-1PO\s0). È stato creato principalmente per permettere di usare po4a più facilmente, senza dover ricordare le opzioni da riga di comando. .PP Ma questa non è la sua unica ragion d'essere; il programma rende inoltre possibile combinare documenti in formati diversi in un unico file \s-1POT,\s0 consentendo di averne uno solo per progetto. .PP Gli stessi risultati si possono ottenere combinando gli altri strumenti della suite po4a (ad es. tramite dei Makefile), ma solo per mezzo di un notevole sforzo, che si rivela snervante se ripetuto per ogni progetto che usa po4a. .PP Il flusso dati può essere riassunto come segue. Ogni cambiamento al documento master verrà riflesso nei file \s-1PO,\s0 e tutti i cambiamenti ai file \&\s-1PO \s0(sia manuali che causati dai passi precedenti) verranno riflessi nei documenti tradotti. .PP Caso normale senza specificare \fBpot_in\fR: .PP .Vb 1 \& <\- file sorgenti\->|<\-\-\-\- risultati della compilazione \-\-\-\-\-> \& \& addendum \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ \& | \& documento master\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ | \& V +\-\-+\-\-> traduzioni \& vecchi file PO \-\-\-+\-> file PO aggiornati+ \& ^ | \& | V \& +<.....................+ \& (i file PO aggiornati vengono copiati \& manualmente sulla sorgente del prossimo \& rilascio mentre si aggiornano manualmente \& i contenuti della traduzione) .Ve .PP Caso speciale con la specifica di \fBpot_in\fR: .PP .Vb 1 \& <\- file sorgenti\->|<\-\-\-\- risultati della compilazione \-\-\-\-\-\-\-> \& \& documento master \-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ \& : | \& programma : documento | \& di filtro ========X..> master | \& esterno filtrato | \& | | \& V +\-\-> traduzioni \& vecchi file PO \-\-\-\-\-\-\-\-+\-> file PO aggiornati+ \& ^ | \& | V \& +<..........................+ \& (i file PO aggiornati vengono copiati \& manualmente sulla sorgente del prossimo \& rilascio mentre si aggiornano manualmente \& i contenuti della traduzione) \&Il flusso dati non può essere invertito in questo strumento, e i cambiamenti \&nelle traduzioni vengono sovrascritti dal contenuto dei file PO. Difatti, \&questo strumento non può essere usato per convertire traduzioni esistenti al \&sistema di po4a. Per questo lavoro, fare riferimento a \&L. .Ve .SH "SINTASSI DEL FILE DI CONFIGURATIONE" .IX Header "SINTASSI DEL FILE DI CONFIGURATIONE" L'argomento (obbligatorio) è il percorso del file di configurazione da usarei. La sintassi è volutamente semplice e simile a quella dei file di configurazione usati da intl-tools. .PP Il carattere \*(L"#\*(R" inizia un commento, che si estende fino alla fine della riga. Una riga che termina con un carattere di escape continua su quella successiva. Ogni riga non vuota deve iniziare con un comando racchiuso tra \&\*(L"[]\*(R", seguito dai suoi argomenti. So che detto così sembra difficile, ma in realtà non lo è... o almeno spero ;) .SS "Specificare l'elenco delle lingue" .IX Subsection "Specificare l'elenco delle lingue" \&\fBNota:\fR si raccomanda l'uso di \fB[po_directory]\fR invece che \fB[po4a_langs]\fR e \fB[po4a_paths]\fR. Vedere sezione \fBAutorilevamento dei percorsi e delle lingue\fR più avanti. .PP Questo è un comando facoltativo che può semplificare l'intero file di configurazione e aumentarne la scalabilità. Occorre solo specificare un elenco delle lingue in cui tradurre i documenti, ad esempio: .PP .Vb 1 \& [po4a_langs] fr it .Ve .PP Questo fa sì che, nel resto del file di configurazione, \fB\f(CB$lang\fB\fR verrà espanso per indicare tutte le lingue specificate. .SS "Specificare i file di lavoro dei traduttori" .IX Subsection "Specificare i file di lavoro dei traduttori" \&\fBNota:\fR si raccomanda l'uso di \fB[po_directory]\fR invece che \fB[po4a_langs]\fR e \fB[po4a_paths]\fR. Vedere sezione \fBAutorilevamento dei percorsi e delle lingue\fR più avanti. .PP Per prima cosa si deve specificare la posizione dei file usati dai traduttori durante il loro lavoro. È sufficiente scrivere una riga del genere: .PP .Vb 2 \& [po4a_paths] doc/l10n/project.doc.pot \e \& fr:doc/l10n/fr.po it:doc/l10n/it.po .Ve .PP Il comando in questo caso è \fB[po4a_paths]\fR. Il primo argomento è il percorso del file \s-1POT,\s0 mentre tutti gli argomenti successivi sono in questa semplice forma: .PP .Vb 1 \& : .Ve .PP Se è stato definito un elenco delle lingue, si può riscrivere il comando come: .PP .Vb 1 \& [po4a_paths] doc/l10n/project.doc.pot $lang:doc/l10n/$lang.po .Ve .PP È possibile anche usare \fB\f(CB$master\fB\fR per fare riferimento al nomefile del documento. In questo caso, \fBpo4a\fR userà una modalità divisa: verranno creati un \s-1POT\s0 e un \s-1PO \s0(per ogni lingua) per ogni documento specificato nel file di configurazione di \fBpo4a\fR. Consultare la sezione \fBModalità split\fR. .PP .Vb 1 \& [po4a_paths] doc/$master/$master.pot $lang:doc/$master/$lang.po .Ve .SS "Autorilevamento dei percorsi e delle lingue" .IX Subsection "Autorilevamento dei percorsi e delle lingue" Un altro comando può essere usato per specificare il nome di una cartella dove sono posizionati i file \s-1PO\s0 e \s-1POT. \s0 Se usato, \fBpo4a\fR rileverà il file \&\s-1POT\s0 come unico file \fI*.pot\fR dalla cartella specificata. \fBpo4a\fR userà anche l'elenco di file \fI*.po\fR per definire l'elenco delle lingue (togliendo le estensioni). Queste lingue verranno usate per la sostituzione della variabile \fB\f(CB$lang\fB\fR nel resto del file di configurazione. .PP Questo comando non dovrebbe essere usato assieme ai comandi \fB[po4a_langs]\fR o \fB[po4a_paths]\fR. .PP Quando si usa questo comando, bisogna creare un file \s-1POT\s0 vuoto alla prima esecuzione di \fBpo4a\fR per fornirgli il nome del file \s-1POT.\s0 .PP .Vb 1 \& [cartella_po] po4a/po/ .Ve .SS "Specificare i documenti da tradurre" .IX Subsection "Specificare i documenti da tradurre" Ora si devono soltanto indicare i documenti che vanno tradotti, il loro formato e il percorso delle traduzioni. Il tutto può essere specificato in questo modo: .PP .Vb 7 \& [type: sgml] doc/my_stuff.sgml it:doc/it/mia_roba.sgml \e \& de:doc/de/mein_kram.sgml \& [type: pod] script it:doc/it/script.1 de:doc/de/script.1 \e \& add_it:doc/l10n/script.it.add \& [type: docbook] doc/script.xml it:doc/it/script.xml \e \& de:doc/de/script.xml \e \& pot_in:doc/script.filtered.xml .Ve .PP L'esempio dovrebbe aver chiarito ogni dubbio. Si noti che, nel secondo caso, il file \fIdoc/l10n/script.it.add\fR è un addendum da apporre alla versione italiana del documento. Per maggiori informazioni riguardo agli addenda, fare riferimento a \fIpo4a\fR\|(7). .PP In maniera più formale, il formato è: .PP .Vb 3 \& [type: ] (:)* \e \& (pot_in:)? \e \& (add_:*)* .Ve .PP Se viene specificato \fBpot_in\fR, viene usato il \fIdoc_master_filtrato\fR per creare il file \s-1POT\s0 invece di \fImaster_doc\fR. Questa caratteristica permette all'utente di creare modi flessibili per evitare contenuti che non dovrebbero venire inclusi nei file \s-1PO. \s0 Strumenti quali preprocessori C (\fBcpp\fR) o utilità di trasformazione \s-1XSL \s0(per es. \fBxsltproc\fR) possono venire usati per creare programmi filtro esterni da chiamare prima dell'esecuzione di \fBpo4a\fR. .PP Se non c'è un modificatore, \fIaddendum_path\fR è il percorso ad un addendum. I modificatori sono .IP "\fB?\fR" 2 .IX Item "?" Include \fIaddendum_path\fR se questo file esiste, altrimenti non fa nulla. .IP "\fB@\fR" 2 .IX Item "@" \&\fIaddendum_path\fR non è un un addendum normale ma un file contenente una lista di addendum, uno per riga. Ogni addendum può essere preceduto da modificatori. .IP "\fB!\fR" 2 .IX Item "!" \&\fIpercorso_addendum\fR viene scartato, non viene caricato e non verrà caricato da nessun'altra successiva specifica di addendum. .PP Se è stato definito un elenco delle lingue, si può riscrivere il comando come: .PP .Vb 2 \& [type: pod] script $lang:doc/$lang/script.1 \e \& add_it:doc/l10n/script.it.add .Ve .PP Se tutte le lingue usano degli addenda con nomi simili, si può scrivere invece: .PP .Vb 2 \& [type: pod] script $lang:doc/$lang/script.1 \e \& add_$lang:doc/l10n/script.$lang.add .Ve .SS "Specificare le opzioni per i moduli" .IX Subsection "Specificare le opzioni per i moduli" \&\fBpo4a\fR accetta opzioni che verranno passate al modulo. Queste opzioni sono specifiche del modulo e vengono specificate con l'opzione \fB\-o\fR. .PP Se serve una opzione specifica per uno dei documenti che si desidera tradurre, si può anche specificarlo nel file di configurazione. Le opzioni vengono inserite dalla parola chiave \fBopt\fR. L'argomento della parola chiave \&\fBopt\fR deve essere virgolettato se contiene uno o più spazi (per es. se si specifica più opzioni, o un'opzione con un argomento). È anche possibile specificare opzioni che verranno applicate solo su una specifica lingua usando la parola chiave \fBopt_\fR\fIlang\fR. .PP Ecco un esempio: [type:man] t\-05\-config/test02_man.1 \f(CW$lang:tmp\fR/test02_man.$lang.1 \e opt:\*(L"\-k 75\*(R" opt_it:\*(L"\-L \s-1UTF\-8\*(R"\s0 opt_fr:\-v .PP Gli argomenti possono contenere degli spazi se si usano gli apici o le virgolette precedute dal carattere backslash: [po4a_alias:man] man opt:\*(L"\-o \e\*(R"mdoc=NAME,SEE ALSO\e\*(L" \-k 20\*(R" .PP Se si vuole specificare le stesse opzioni per molti documenti, si può voler usare un alias (consultare la sezione \fBSpecificare alias\fR sottostante). .PP È anche possibile impostare opzioni per tutti i documenti specificati nel file di configurazione: [opzioni] opt:\*(L"...\*(R" opt_fr:\*(L"...\*(R" .SS "Specificare gli alias" .IX Subsection "Specificare gli alias" Se si deve specificare le stesse opzioni per più file, si potrebbe essere interessati a definire un alias di modulo. Questo può essere effettuato in questo modo: .PP .Vb 1 \& [po4a_alias:test] man opt:"\-k 21" opt_es:"\-o debug=splitargs" .Ve .PP Questo definisce un alias di modulo di nome \fBtest\fR, basato sul modulo \&\fBman\fR, con \fB\-k 21\fR applicata a tutte le lingue e con \fB\-o debug=splitargs\fR applicata alla traduzione in spagnolo. .PP Questo alias di modulo può essere usato come un normale modulo: .PP .Vb 2 \& [type:test] t\-05\-config/test02_man.1 $lang:tmp/test02_man.$lang.1 \e \& opt_it:"\-L UTF\-8" opt_fr:\-v .Ve .PP Si noti che si possono specificare opzioni aggiuntive per ogni file. .SS "Modalità split" .IX Subsection "Modalità split" La modalità split viene usata se \fB\f(CB$master\fB\fR viene usato nella riga \&\fB[po4a_paths]\fR. .PP Quando la modalità split viene usata, vengono usati un grande file temporaneo \s-1POT\s0 e grandi file temporanei \s-1PO.\s0 Ciò permette di condividere le traduzioni tra tutti i \s-1PO.\s0 .PP Se due \s-1PO\s0 hanno traduzioni diverse per la stessa stringa, \fBpo4a\fR marcherà questa stringa come fuzzy e inserirà entrambe le traduzioni in tutti i file \&\s-1PO\s0 contenenti questa stringa. Poi, quando un traduttore aggiornerà la traduzione e rimuoverà la marcatura fuzzy in un file \s-1PO,\s0 la traduzione di questa stringa verrà aggiornata in ogni file \s-1PO\s0 automaticamente. .PP Se ci sono conflitti di nomi a causa del fatto che i diversi file hanno lo stesso nomefile, il nome del file master può essere specificato aggiungendo l'opzione \f(CW\*(C`master:file=\*(C'\fR\fInome\fR: .PP .Vb 4 \& [po4a_langs] de fr ja \& [po4a_paths] l10n/po/$master.pot $lang:l10n/po/$master.$lang.po \& [type: xml] foo/gui.xml $lang:foo/gui.$lang.xml master:file=foo\-gui \& [type: xml] bar/gui.xml $lang:bar/gui.$lang.xml master:file=bar\-gui .Ve .SH "OPZIONI" .IX Header "OPZIONI" .IP "\fB\-k\fR, \fB\-\-keep\fR" 4 .IX Item "-k, --keep" Minima percentuale di traduzione richiesta affinché il file generato sia conservato e scritto su disco. Il valore predefinito è 80, vale a dire che una traduzione viene accettata solo se è completa almeno per l'80%. .IP "\fB\-h\fR, \fB\-\-help\fR" 4 .IX Item "-h, --help" Mostra un breve messaggio di aiuto. .IP "\fB\-M\fR, \fB\-\-master\-charset\fR" 4 .IX Item "-M, --master-charset" Set di caratteri dei file contenenti il documento da tradurre. Tutti i documenti originali devono usare la stessa codifica, almeno per ora: stiamo lavorando per rimuovere questa limitazione. .IP "\fB\-L\fR, \fB\-\-localized\-charset\fR" 4 .IX Item "-L, --localized-charset" Set di caratteri dei file contenenti il documento tradotto. Tutti i documenti tradotti useranno la stessa codifica, almeno per ora: stiamo lavorando per rimuovere questa limitazione. .IP "\fB\-A\fR, \fB\-\-addendum\-charset\fR" 4 .IX Item "-A, --addendum-charset" Set di caratteri degli addenda. Tutti gli addenda devono usare la stessa codifica. .IP "\fB\-V\fR, \fB\-\-version\fR" 4 .IX Item "-V, --version" Mostra la versione del programma ed esce. .IP "\fB\-v\fR, \fB\-\-verbose\fR" 4 .IX Item "-v, --verbose" Rende il programma più prolisso. .IP "\fB\-q\fR, \fB\-\-quiet\fR" 4 .IX Item "-q, --quiet" Rende il programma meno prolisso. .IP "\fB\-d\fR, \fB\-\-debug\fR" 4 .IX Item "-d, --debug" Mostra delle informazioni di debug .IP "\fB\-o\fR, \fB\-\-option\fR" 4 .IX Item "-o, --option" Opzioni extra da passare al plugin di formato. Specifica ogni opzione nel formato '\fInome\fR\fB=\fR\fIvalore\fR'. Vedere la documentazione per ogni plugin per ulteriori informazione sulle opzioni valide e sul loro significato. .IP "\fB\-f\fR, \fB\-\-force\fR" 4 .IX Item "-f, --force" Genera sempre i file \s-1POT\s0 e \s-1PO,\s0 anche se \fBpo4a\fR non lo considera necessario. .Sp Il comportamento predefinito (quando non è specificato \fB\-\-force\fR) è il seguente: .RS 4 .Sp .RS 4 Se il file \s-1POT\s0 esiste già, viene rigenerato se un documento master o il file di configurazione sono più recenti. Il file \s-1POT\s0 viene scritto anche in un documento temporaneo e \fBpo4a\fR verifica che i cambiamenti siano veramente necessari. .Sp Inoltre, una traduzione viene rigenerata solo se il suo documento master, il file \s-1PO,\s0 uno dei suoi addendum o il file di configurazione sono più recenti. Per evitare di provare a rigenerare le traduzioni che non passano il test di soglia (vedere \fB\-\-keep\fR), un file con estensione \fI.po4a\-stamp\fR può venir creato (vedere \fB\-\-stamp\fR). .RE .RE .RS 4 .Sp Se un documento master include dei file, si dovrebbe usare la flag \&\fB\-\-force\fR perché il tempo di modifica di questi file inclusi non sono tenuti in considerazione. .Sp I file \s-1PO\s0 vengono sempre rigenerati in base al \s-1POT\s0 con \fBmsgmerge \-U\fR. .RE .IP "\fB\-\-stamp\fR" 4 .IX Item "--stamp" Dice a \fBpo4a\fR di creare dei file stamp quando una traduzione non viene generata perché essa non raggiunge la soglia. A questi file stamp viene assegnato un nome in accordo con il nome previsto del documento tradotto, ed applicata estensione \fI.po4a\-stamp\fR. .Sp Nota: ciò attiva solo la creazione dei file \fI.po4a\-stamp\fR. I file stamp vengono sempre usati se esistono, e vengono rimossi con l'uso di \&\fB\-\-rm\-translations\fR o quando il file viene infine tradotto. .IP "\fB\-\-no\-translations\fR" 4 .IX Item "--no-translations" Non generare i documenti tradotti, aggiorna solo i file \s-1POT\s0 e \s-1PO.\s0 .IP "\fB\-\-no\-update\fR" 4 .IX Item "--no-update" Non cambiare i file \s-1POT\s0 e \s-1PO,\s0 solo la traduzione può essere aggiornata. .IP "\fB\-\-keep\-translations\fR" 4 .IX Item "--keep-translations" Mantiene i file di traduzione esistenti anche se la traduzione non incontra la soglia specificata da \-\-keep. Questa opzione non crea nuovi file di traduzione con poco contenuto, ma salverà le traduzioni esistenti che decadranno a causa dei cambiamenti ai file master. .Sp \&\s-1ATTENZIONE:\s0 questo flag cambia il comportamento di po4a in modo piuttosto radicale: i file tradotti non verranno aggiornati per nulla fino a quando la traduzione non migliorerà. Usare questo flag se si preferisce inviare una documentazione tradotta non aggiornata piuttosto che spedire solo una documentazione accurata non tradotta. .IP "\fB\-\-rm\-translations\fR" 4 .IX Item "--rm-translations" Rimuovi i file tradotti (implica \fB\-\-no\-translations\fR). .IP "\fB\-\-no\-backups\fR" 4 .IX Item "--no-backups" Questo flag non fa nulla dalla versione 0.41, e potrebbe venir rimosso dalle prossime versioni. .IP "\fB\-\-rm\-backups\fR" 4 .IX Item "--rm-backups" Questo flag non fa nulla dalla versione 0.41, e potrebbe venir rimosso dalle prossime versioni. .IP "\fB\-\-translate\-only\fR \fIfile-tradotto\fR" 4 .IX Item "--translate-only file-tradotto" Traduce solo il file specificato. Può essere utile per velocizzare il processo se un file di configurazione contiene molti file. Si noti che questa opzione non aggiorna i file \s-1PO\s0 e \s-1POT. \s0 Questa opzione può essere usata più volte. .IP "\fB\-\-variable\fR \fIvar\fR\fB=\fR\fIvalore\fR" 4 .IX Item "--variable var=valore" Definisce una variabile che verrà espansa nel file di configurazione \&\fBpo4a\fR. Ogni occorrenza di \fI$(var)\fR verrà rimpiazzata da \fIvalue\fR. Questa opzione può essere usata più volte. .IP "\fB\-\-srcdir\fR \fI\s-1SRCDIR\s0\fR" 4 .IX Item "--srcdir SRCDIR" Imposta la cartella di base per tutti i documenti in ingresso specificati nel file di configurazione \fBpo4a\fR. .IP "\fB\-\-destdir\fR \fI\s-1DESTDIR\s0\fR" 4 .IX Item "--destdir DESTDIR" Imposta la cartella di base per tutti i documenti in uscita specificati nel file di configurazione \fBpo4a\fR. .SS "\s-1OPZIONI CHE MODIFICANO L\s0'\s-1INTESTAZIONE POT\s0" .IX Subsection "OPZIONI CHE MODIFICANO L'INTESTAZIONE POT" .IP "\fB\-\-porefs\fR \fItype\fR[,\fBwrap\fR|\fBnowrap\fR]" 4 .IX Item "--porefs type[,wrap|nowrap]" 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). .Sp L'argomento può essere seguito da una virgola e da una delle due parole chiave \fBwrap\fR o \fBnowrap\fR. I riferimenti, come impostazione predefinita, vengono scritti su una singola riga. L'opzione \fBwrap\fR manda a capo i riferimento su più righe, per emulare il comportamento degli strumenti di \&\fBgettext\fR (\fBxgettext\fR e \fBmsgmerge\fR). Questa opzione diventerà predefinita in una versione futura, perchè è il comportamento più logico. L'opzione \fBnowrap\fR è disponibile per permettere agli utenti che lo desiderassero, di mantenere il vecchio comportamento. .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 .SS "\s-1OPZIONI PER MODIFICARE I FILE PO\s0" .IX Subsection "OPZIONI PER MODIFICARE I FILE PO" .IP "\fB\-\-msgmerge\-opt\fR \fIopzioni\fR" 4 .IX Item "--msgmerge-opt opzioni" Opzioni extra per \fBmsgmerge\fR(1). .Sp Nota: \fB\f(CB$lang\fB\fR verrà estesa alla lingua corrente. .IP "\fB\-\-no\-previous\fR" 4 .IX Item "--no-previous" Questa opzione rimuove \fB\-\-previous\fR dalle opzioni passate a \fBmsgmerge\fR. Ciò permette di supportare versioni di \fBgettext\fR precedenti alla 0.16. .IP "\fB\-\-previous\fR" 4 .IX Item "--previous" Questa opzione aggiunge \fB\-\-previous\fR alle opzioni passate a \fBmsgmerge\fR. Richiede \fBgettext\fR 0.16 o successive, ed è attivata come impostazione predefinita. .SS "\s-1ESEMPIO\s0" .IX Subsection "ESEMPIO" Poniamo di essere il responsabile di un programma di nome \fBfoo\fR il quale è dotato di una pagina man \fIman/foo.1\fR che naturalmente viene mantenuta solo in inglese. Ora si vorrebbe creare e mantenere anche le traduzioni. Per prima cosa è necessario creare il file \s-1POT\s0 da inviare necessariamente ai traduttori, usando \fIpo4a\-gettextize\fR\|(1). .PP Perciò nel nostro caso eseguiremmo .PP .Vb 1 \& cd man && po4a\-gettextize \-f man \-m foo.1 \-p foo.pot .Ve .PP Poi invieremmo questo file alle mailing list dei gruppi linguistici appropriati o lo renderemmo disponibile per scaricamento da qualche parte sul sito web del progetto. .PP Poniamo ora di aver ricevuto tre traduzioni prima del rilascio della prossima versione: \fIde.po\fR (incluso un file addendum \fIde.add\fR), \fIsv.po\fR e \&\fIpt.po\fR. Dato che non si vuole cambiare i propri \fIMakefile\fR ogni qualvolta arrivi una nuova traduzione si può usare \fBpo4a\fR con un file di configurazione appropriato nel proprio \fIMakefile\fR. Chiamiamolo \&\fIpo4a.cfg\fR. Nel nostro esempio questo somiglierebbe al seguente: .PP .Vb 1 \& [cartella_po] man/po4a/po/ \& \& [type: man] man/foo.1 $lang:man/translated/$lang/foo.1 \e \& add_$lang:?man/po4a/add_$lang/$lang.add opt:"\-k 80" .Ve .PP In questo esempio si presume che le pagine man generate (e tutti il file po e addendum) siano stati posti in \fIman/translated/$lang/\fR (rispettivamente in \fIman/po4a/po/\fR e \fIman/po4a/add_$lang/\fR) sotto la cartella corrente. Nel nostro esempio la cartella \fIman/po4a/po/\fR includerà \fIde.po\fR, \fIpt.po\fR e \&\fIsv.po\fR, e la cartella \fIman/po4a/add_de/\fR includerà \fIde.add\fR. .PP Si noti l'utilizzo del modificatore \fB?\fR in quanto solo la traduzione tedesca (\fIde.po\fR) è accompagnata da un addendum. .PP Per creare realmente le pagine man tradotte aggiungere (una sola volta!) la seguente riga nel target \fBbuild\fR del \fIMakefile\fR appropriato: .PP .Vb 1 \& po4a po4a.cfg .Ve .PP Una volta impostato tutto questo non è necessario toccare il \fIMakefile\fR quando arriva una nuova traduzione, cioè se la squadra francese vi spedisce \&\fIfr.po\fR e \fIfr.add\fR basta semplicemente metterli rispettivamente in \&\fIman/po4a/po/\fR e \fIman/po4a/add_fr/\fR e la prossima volta che il programma verrà compilato la traduzione francese verrà automaticamente aggiornata in \&\fIman/translated/fr/\fR. .PP Si noti che è necessario un obiettivo appropriato per installare le pagine man localizzate con quelle inglesi. .PP Infine, se non si memorizza i file generati nel proprio sistema di versionamento, sarà necessaria anche una riga nell'obiettivo \fBclean\fR: \-rm \-rf man/translated .SH "DIFETTI E MANCANZE" .IX Header "DIFETTI E MANCANZE" .IP "\(bu" 4 Contiene codice duplicato dai programmi \fBpo4a\-\fR\fI*\fR. .PP Ogni patch è bene accetta ;) .SH "VEDERE ANCHE" .IX Header "VEDERE ANCHE" \&\fIpo4a\-gettextize\fR\|(1), \fIpo4a\-normalize\fR\|(1), \fIpo4a\-translate\fR\|(1), \&\fIpo4a\-updatepo\fR\|(1), \fIpo4a\fR\|(7) .SH "AUTORI" .IX Header "AUTORI" .Vb 3 \& Denis Barbier \& Nicolas François \& Martin Quinson (mquinson#debian.org) .Ve .SH "TRADUZIONE" .IX Header "TRADUZIONE" .Vb 2 \& Danilo Piazzalunga \& Marco Ciampa .Ve .SH "COPYRIGHT E LICENZA" .IX Header "COPYRIGHT E LICENZA" Copyright © 2002\-2012 by \s-1SPI,\s0 inc. .PP Questo programma è software libero; è lecito ridistribuirlo o modificarlo secondo i termini della licenza \s-1GPL \s0(vedere il file \s-1COPYING\s0).