@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
@ignore
- Translation of GIT committish: 7ba0a22641cb0c7f5949d66a06d1e2e1fd0b3033
+ Translation of GIT committish: d96248cfd7c9f08f3bb27b400e589d54d2c000fb
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.13.36"
+@c \version "2.16.0"
@node Aggiornare i file con convert-ly
@chapter Aggiornare i file con @command{convert-ly}
@translationof Updating files with convert-ly
-@cindex Aggiornare un file di LilyPond
+@cindex aggiornare un file di LilyPond
@cindex convert-ly
La sintassi di input di LilyPond viene regolarmente modificata per semplificarla
o per migliorarla in vari modi. L'effetto collaterale è che l'interprete di LilyPond
spesso non è più compatibile con i vecchi file di input. Per ovviare a questo
-problema, si può usare il programma @command{convert-ly}, che permette di gestire
-gran parte dei cambiamenti di sintassi tra le versioni di LilyPond.
+problema, si può usare il programma @command{convert-ly} per aggiornare
+i file alle nuove versioni di LilyPond.
@menu
* Perché la sintassi cambia?::
-* Invocare convert-ly::
+* Utilizzo di convert-ly::
* Opzioni da linea di comando per convert-ly::
* Problemi nell'eseguire convert-ly::
* Conversioni manuali::
La sintassi di input di LilyPond talvolta cambia. Via via che LilyPond
migliora, la sintassi (il linguaggio dell'input) viene modificata di
conseguenza. Queste modifiche vengono fatte a volte per far sì che l'input
-sia più facile da leggere e da scrivere e a volte per fornire nuove
-funzionalità di LilyPond.
+sia più facile da leggere e da scrivere e a volte per aggiungere a LilyPond
+nuove funzionalità.
Ad esempio, tutti i nomi delle proprietà di @code{\paper} e @code{\layout}
dovrebbero essere scritte nella forma @code{primo-secondo-terzo}.
cambiare il nome in @code{print-all-headers}. Fortunatamente, questa modifica
può essere automatizzata con @command{convert-ly}.
-Purtroppo @code{convert-ly} non è in grado di gestire tutti i cambiamenti
+Purtroppo @command{convert-ly} non è in grado di gestire tutti i cambiamenti
dell'input. Ad esempio, in LilyPond 2.4 e precedenti, gli accenti e le lettere
non inglesi venivano inserite con LaTeX -- per mostrare la parola francese per
Natale si usava @code{No\"el}. Ma in LilyPond
@c keep "-matching straight in fancy editors
2.6 e superiori, il carattere speciale @code{ë} deve essere inserito direttamente
-nel file LilyPond come carattere UTF-8. @code{convert-ly} non può sostituire
+nel file LilyPond come carattere UTF-8. @command{convert-ly} non può sostituire
tutti i caratteri speciali di LaTeX con i rispettivi caratteri UTF-8; è necessario
aggiornare a mano i vecchi file di input di LilyPond.
-
-@node Invocare convert-ly
-@section Invocare @command{convert-ly}
+Le regole di conversione di @command{convert-ly} si basano sulla ricerca
+e sostituzione di parole chiave piuttosto che su una completa comprensione
+di LilyPond. Ciò comporta varie conseguenze:
+@itemize @bullet
+@item
+L'affidabilità della conversione dipende dalla qualità di ciascun insieme
+di regole applicate e dalla complessità del rispettivo cambiamento. Talvolta
+le conversioni richiedono correzioni manuali, quindi la vecchia versione
+deve essere tenuta a disposizione per poterle confrontare.
+@item
+Sono possibili solo conversioni nei formati più recenti: non ci sono regole
+per tornare a una versione precedente. Dunque la copia di lavoro principale
+di un file LilyPond deve essere aggiornata soltanto quando non è più necessario
+compilarlo con le versioni precedenti di LilyPond. Sistemi di controllo di
+versione come Git possono essere utili per gestire più di una versione.
+@item
+LilyPond e Scheme hanno delle robuste difese in caso di spazi omessi o
+posizionati in modo originale, ma le regole usate da @command{convert-ly} tendono
+a dare per scontato certe forme stilistiche. Seguire lo stile usato nei manuali
+è la via più sicura per aggiornamenti indolori, soprattutto perché i manuali
+stessi sono aggiornati con @command{convert-ly}.
+@end itemize
+
+
+
+@node Utilizzo di convert-ly
+@section Utilizzo di @command{convert-ly}
@translationof Invoking convert-ly
@command{convert-ly} usa la dichiarazione @code{\version} nel file di input
@file{miofile.ly~}.
@warning{@command{convert-ly} converte sempre fino all'ultimo cambiamento di
-sintassi da lui gestito. Questo significa che il numero di @code{\version}
+sintassi gestito. Questo significa che il numero di @code{\version}
che appare nel file convertito è di solito inferiore al numero di versione di
@command{convert-ly}.}
@end example
Altrimenti, se si desidera specificare un nome diverso per il file
-aggiornato, lasciando non modificati il file originale e il suo nome,
-si usa
+aggiornato, senza modificare il file originale e il suo nome, si usa
@example
convert-ly miofile.ly > mionuovofile.ly
@end example
-Il programma elencherà i numeri di versione per i quali sono state fatte
+Il programma elencherà i numeri di versione per i quali sono state eseguite
le conversioni. Se non vengono elencati dei numeri di versione il file è
già aggiornato.
Esistono le seguenti opzioni:
@table @code
-@item -e,--edit
-Applica le conversioni direttamente nel file di input, sostituendo
+@item -d, --diff-version-update
+aumenta il numero di versione in @code{\version} solo se il file è stato
+modificato da @command{convert-ly}. Senza questa opzione (o quando una
+conversione ha modificato il file), la dichiarazione di versione riflette
+l'ultime regola di conversione considerata.
+
+@item -e, --edit
+Applica le conversioni direttamente nel file di input, modificando
l'originale.
-@item -f,--from=@var{from-patchlevel}
+@item -f, --from=@var{from-patchlevel}
Imposta la versione da cui convertire. Se non viene impostata, @command{convert-ly}
-la indovinerà in base alla stringa @code{\version} presente nel file.
-Esempio: @code{--from=2.10.25}
+la ricaverà dalla stringa @code{\version} presente nel file.
+Esempio: @option{--from=2.10.25}
+
+@item -h, --help
+Mostra la schermata di aiuto.
-@item -n,--no-version
+@item -l @var{loglevel}, --loglevel=@var{loglevel}
+Imposta la verbosità dell'output su @var{loglevel}. I valori possibili, in
+caratteri maiuscoli, sono @code{PROGRESS} (predefinito), @code{NONE},
+@code{WARNING}, @code{ERROR} e @code{DEBUG}.
+
+@item -n, --no-version
Normalmente @command{convert-ly} aggiunge un indicatore @code{\version}
nell'output. Questa opzione lo impedisce.
@item -s, --show-rules
Mostra tutte le conversioni conosciute ed esce.
-@item --to=@var{to-patchlevel}
-Imposta l'obiettivo di versione della conversione. L'impostazione predefinita
-è l'ultima versione disponibile. Esempio: @code{--to=2.12.2}
+@item -t, --to=@var{to-patchlevel}
+Imposta esplicitamente la versione obiettivo della conversione, altrimenti
+viene usato il valore più recente. Deve essere maggiore della versione iniziale.
+@example
+convert-ly --to=2.14.1 miofile.ly
+@end example
-@item -h, --help
-Stampa l'aiuto per l'utilizzo.
@end table
Per aggiornare i frammenti LilyPond presenti nei file texinfo, si usa
@example
-convert-ly --from=... --to=... --no-version *.itely
+convert-ly --from=@dots{} --to=@dots{} --no-version *.itely
@end example
Per vedere i cambiamenti della sintassi di LilyPond tra due versioni, si usa
@example
-convert-ly --from=... --to=... -s
+convert-ly --from=@dots{} --to=@dots{} -s
@end example
Quando si esegue convert-ly in una finestra del Prompt dei comandi in Windows
su un file il cui nome o percorso contengano degli spazi,
-è necessario circondare interamente il nome del file di input con tre
-(!) doppie virgolette:
+è necessario includere tutto il nome del file di input con tre
+(!) virgolette doppie:
@example
convert-ly """D:/Mie Partiture/Ode.ly""" > "D:/Mie Partiture/new Ode.ly"
for %x in (*.ly) do convert-ly -e """%x"""
@end example
-Non vengono gestite tutti i cambiamenti del linguaggio. Si può specificare solo
+Non vengono gestiti tutti i cambiamenti del linguaggio. Si può specificare solo
un'opzione di output. È piuttosto improbabile che si aggiornino automaticamente
-il codice scheme e le interfacce di scheme di LilyPond; tienti pronto a
+il codice scheme e le interfacce di scheme di LilyPond; tieniti pronto a
correggere a mano il codice scheme.
@translationof Manual conversions
In teoria, un programma come @command{convert-ly} potrebbe gestire qualsiasi
-cambiamento di sintassi. Dopo tutto, un programma per computer interpreta la
+cambiamento di sintassi. Dopo tutto, un programma per computer interpreta
la vecchia versione e la nuova versione, quindi un altro programma
può tradurre un file in un altro@footnote{O almeno questo è possibile
in qualsiasi file LilyPond che non contenga codice scheme. Se c'è del
codice scheme nel file, allora il file LilyPond contiene un linguaggio
-Turing-completo, ed è possibile imbattersi in problemi col famoso
+Turing-completo, ed è possibile imbattersi in problemi col famigerato
@qq{Problema dell'arresto} in informatica.}.
Tuttavia il progetto LilyPond ha risorse limitate: non tutte le
-conversioni sono compiute automaticamente. Qui sotto si trova una lista
+conversioni sono compiute automaticamente. Di seguito è riportato l'elenco
dei problemi noti.
\score{} must now begin with a music expression. Anything else
(particularly \header{}) must come after the music.
@end verbatim
-
-