revisione di LilyPond 2.13.42

Daniele Forsi dforsi@gmail.com
Dom 6 Feb 2011 16:51:00 CET


Il 06 febbraio 2011 15:02, Federico Bruni ha scritto:
> Il giorno sab, 05/02/2011 alle 18.09 +0100, Daniele Forsi ha scritto:
>> 2011/1/28 Federico Bruni:
>>
>> manca anche il percorso dei file sorgenti che di solito è presente nei
>> .po per cui è scomodo per chi vuole controllare il codice deve
>> cercarsi i file nelle varie cartelle
>>
>
> questo non dipende dal traduttore ma da chi ha scritto il file
> originale, no?

sì

> i commenti devo lasciarli come sono...

sì, è inutile modificare i commenti a cui mi riferivo perché veongono
ricreati automaticamente ogni volta, ma poi aggiungerne di tuoi che
verranno mantenuti (li potresti aggiungere a mano ma è meglio se lo
fai con il programma che usi per le traduzioni)

>> ci sono tante stringhe obsolete alla fine, io le lascerei almeno fino
>> alla prossima versione
>
> ah, me ne sono accorto solo ora aprendo il file con un editor di testo.
> Vedo che nei file spagnolo e francese sono già state tolte.

sono comode perché se quelle frasi originali vengono inserite di nuovo
nel programma, ti vengono riproposte automaticamente le traduzioni, ma
le puoi togliere se pensi che non verranno più usate

>> > #: convertrules.py:49 convertrules.py:99
>> > msgid "\\header { key = concat + with + operator }"
>> > msgstr "\\header { chiave = concat + con + operatore }"
>>
>> non mi torna l'originale, ma non ho usato il programma, può darsi che
>> alla riga 49 ci dovrebbe essere \\multi invece di \\header?
>>   49 @rule ((0, 1, 9), _ ('\\header { key = concat + with + operator }'))
>>   50 def conv(str):
>>   51     if re.search ('\\\\multi', str):
>>   52         stderr_write ('\n')
>>   53         stderr_write (NOT_SMART % "\\multi")
>>   54         stderr_write ('\n')
>>   55     return str
>>
>
> no, \\header è ok
> si tratta di un blocco per definire titolo, compositore,...
>
> \header {
>  title = "Titolo"
>  composer = "Nome Cognome"
> }
>
> ma non capisco il codice python quindi non so a cosa serve questa regola

entrambe le regole cercano una stringa e se la trovano mostrano un messaggio

csono due regole leggeremente diverse, una si riferisce a \header e
l'altra a \multi ma entrambe hanno la stessa descrizione che si
riferisce a \header quindi mi chiedevo se la descrizione dovesse avere
\header in un caso e \multi nell'altro (un bug nel programma, non
nella traduzione), ma non conosco il programma

questo è il codice della prima (perché c'è \header nella riga 49 e
\multi nella riga 51?)
  49 @rule ((0, 1, 9), _ ('\\header { key = concat + with + operator }'))
  50 def conv(str):
  51     if re.search ('\\\\multi', str):
  52         stderr_write ('\n')
  53         stderr_write (NOT_SMART % "\\multi")
  54         stderr_write ('\n')
  55     return str

e questo il codice della seconda (due volte \header, va bene)
  99 @rule ((1, 0, 2), _ ('\\header { key = concat + with + operator }'))
 100 def conv(str):
 101     if re.search ('\\\\header', str):
 102         stderr_write ('\n')
 103         stderr_write (NOT_SMART % _ ("new \\header format"))
 104         stderr_write ('\n')
 105     return str


> credevo che la seconda persona fosse da evitare sempre
> ... ma per le azioni si fa eccezione

oops, terza persona
si usa per le descrizioni, è la risposta a domande come "cosa fa
questo pulsante?"
in questo caso sia l'imperativo che la terza persona dell'indicativo
presente sono uguali ("elimina"), ma in altri casi è più chiaro, come
l'azione, il comando, il menù "Esci" con descrizione "Esce dal
programma" o "Chiudi" + "Chiude la finestra"

>> > #: performance.cc:83
>> > msgid "MIDI channel wrapped around"
>> > msgstr "Canale MIDI avvolto"
>> >
>> > #: performance.cc:84
>> > msgid "remapping modulo 16"
>> > msgstr "si riassegna il modulo 16"
>>
>> queste sono difficili perché è una frase spezzata, poi più
>> propriamente il soggetto dovrebbe essere il numero del canale, non il
>> canale
>> potrebbe essere:
>> "Numerazione canale MIDI ricominciata"
>> "riassegnata modulo 16"
>>
>
> ok, ora capisco un po' meglio
>
> la prima stringa è chiara, la seconda no, a cominciare dall'inglese
> (modulo?)

modulo è un'operazione aritmetica che consiste nel prendere il resto
di una divisione
http://it.wikipedia.org/wiki/Aritmetica_modulare

in questo caso i canali MIDI hanno numeri da 0 a 15 e il programma ha
trovato un numero maggiore di 15 e gliene dà uno nuovo usando
quell'operazione, per cui 16 diventa 0, 17=>1, ..., 32=>0, 33=>1

> "remapping modulo 16"
> "riassegnata modulo 16"
>
> "modulo 16 riassegnato" ?

il soggetto della riassegnazione è "il numero di canale" e il
complemento di modo(?) è "modulo 16"

qui nel codice l'operatore modulo è il segno di percentuale:
>>   81       if (midi_channel > 15)
>>   82         {
>>   83           warning (_ ("MIDI channel wrapped around"));
>>   84           warning (_ ("remapping modulo 16"));
>>   85
>>   86           midi_channel = midi_channel % 16;
>>   87         }


>> > #. fixme: be more verbose.
>> > #: volta-engraver.cc:111
>> > msgid "cannot end volta spanner"
>> > msgstr "impossibile terminare lo spanner della volta"
>> >
>> > #: volta-engraver.cc:121
>> > msgid "already have a volta spanner, ending that one prematurely"
>> > msgstr "volta spanner già presente, si termina quello prematuramente"
>>
>> uniformare spanner della volta/volta spanner
>>
>
> ok
> dovrei anche trovare una traduzione italiana per spanner
> si tratta di oggetti la cui lunghezza può estendersi a seconda delle
> circostanze
>
> estensori?

nel glossario vedo "extender", se "spanner" è un sinomino va bene
http://lilypond.org/doc/v2.12/Documentation/user/music-glossary/extender-line#extender-line

-- 
Daniele Forsi


Maggiori informazioni sulla lista tp