1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: ca -*-
4 Translation of GIT committish: b381556a3132e765159edc75107b31259dbf5988
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. For details, see the Contributors'
8 Guide, node Updating translation committishes..
14 @node Actualitzar fitxers amb convert.ly
15 @chapter Actualitzar fitxers amb @command{convert-ly}
16 @translationof Updating files with convert-ly
18 @cindex actualitzacío d'un fitxer del LilyPond
21 La sintaxi del llenguatge d'entrada del LilyPond es modifica de
22 forma habitual per a simplificar-la o millorar-la de diferents
23 maneres. Com a efecte secundari, l'intèrpret del LilyPond sovint
24 ja no és compatible amb els fitxers d'entrada antics. Per posa
25 remei a això es pot utilitzar el programa @command{convert-ly} per
26 actualitzar fitxers a versions més noves del LilyPond.
29 * Perquè canvia la sintaxi?::
30 * Invocació de convert-ly::
31 * Opcions de la línia d'ordres per a convert.ly::
32 * Problemes amb convert-ly::
33 * Conversions manuals::
37 @node Perquè canvia la sintaxi?
38 @section Perquè canvia la sintaxi?
39 @translationof Why does the syntax change?
42 @cindex actualizació de fitxers d'entrada antics
44 La sintaxi de l'entrada del LilyPond canvia de manera ocasional.
45 A mesura que el propi LilyPond millora, la sintaxi (el llenguatge
46 de l'entrada) es modifica en consonància. A vegades aquests
47 canvis es fan per aconseguir que l'entrada sigui més fàcil de
48 llegir i escriuure, i d'altres vegades aquests canvis són per
49 donar cabuda a noves funcionalitats del LilyPond.
51 Per exemple, se suposa que tots els noms de les propietats de
52 @code{\paper} i de @code{\layout} estan escrits sota la norma
53 @code{primer-segon-tercer}. Tot i així, a la versió 2.11.60,
54 observem que la propietat @code{printallheaders} no seguia aquesta
55 convenció. Hauríem de deixar-la tal com està (confonent als nous
56 usuaris que han de tractar amb un format d'entrada inconsistent),
57 o canviar-la (empipant als usuaris amb experiència que tenen
58 partitures antigues)? En aquest cas, vam decidir canviar el nom a
59 @code{print-all-headers}. Afortunadament, aquest
60 canvi es pot automatitzar amb la nostra eina
63 Tanmateix, lamentablement @command{convert-ly} no pot tractar tots
64 els canvis d'entrda. Per exemple, a la versió 2.4 i anteriors de
65 LilyPond els accents i les lletres no angleses s'introduien
66 utilitzant el LaTeX: per exemple @code{No\"el} (que significa
67 @{Nadal} en francès). Al LilyPond 2.6 i següents el caràcter
68 especial @code{ë} s'ha d'introduir directament al fitxer del
69 LilyPond com un caràcter UTF-8. @command{convert-ly} no pot
70 canviar tots els caràcters especials del LaTeX a caràcters de
71 UTF-8: haureu d'actualitzar manualment els vostres fitxers del
74 Les regles de conversió de @command{convert-ly} funcionen usant
75 correspondència i substitució de patrons de text enlloc d'una
76 comprensió profunda de la sintaxi del LilyPond. Això té diverses
80 El bon funcionament de la conversió depèn de la qualitat de cada
81 conjunt de regles que s'apliquen i de la complexitat del canvi
82 corresponent. A vegades les converrsions poden necessitar
83 correccions manuals, per la qual cosa la versió antiga hauria de
84 conservar-se a efectes de comparació.
86 Solament són possibles les conversions de formats més nous: no hi
87 ha cap conjunt de regles per a la desactualitzacío. Així doncs,
88 la còpia principal de treball d'un fitxer del LilyPond solament
89 s'ha d'actualitzar quan ja no hi ha necessitat de seguir mantenint
90 versions antiques del LilyPond. Els sistems de control de
91 versions com ara el Git poden ser de gran ajuda per realitzar el
92 manteniment de diverses versions dels mateixos fitxers.
94 Els propis programes del LilyPond i de l'Scheme són força robustos
95 enfront als espeais afegits i suprimirts de manera @qq{creativa},
96 però les regles utilitzades per @command{convert-ly} tendeixen a
97 fer certes suposicions d'estil. El millor que pot fer-se és
98 seguir l'estil que s'usa als manuals per fer actualitzacions
99 indolores, especialment perquè els propis manuals s'actualitzen
100 usant @command{convert-ly}.
103 @node Invocació de convert-ly
104 @section Invocació de @command{convert-ly}
105 @translationof Invoking convert-ly
107 @command{convert-ly} utilitza el enunciats @code{\version} dels
108 fitxers d'entrada per detectar el número de versió antic. En
109 gairebé tots els casos, per actualitzar el fitxer d'entrada sols
113 convert-ly -e miarchivo.ly
117 dins del directori que conté el fitxer. Amb això s'actualitza
118 @file{elmeufitxer.ly} @emph{in situ} i es preserva el fitxer
119 original @file{elmeufitxer.ly~}.
121 @warning{@command{convert-ly} sempre converteix fins l'últim canvi
122 de sintaxi que és capaç de gestionar. Això significa que el
123 número de @code{\version} que apareix al fitxer convertit sol ser
124 inferior al número de versió del propi programa
125 @command{convert-ly}.}
127 Per convertir d'un cop tots els fitxers d'entrada que hi ha a un
134 De forma alternativa, si volem especificar un nom diferent per al
135 fitxer actualitzar, preservant el fitxer original amb el mateix
139 convert-ly elmeufitxer.ly > elmeunoufitxer.ly
142 El programa imprimeix una relació dels números de versió per als
143 que s'han fet conversions. Si no s'imprimeix cap número de
144 versió, el fitxer ja està actualitzat.
147 Els usuaris del MacOS@tie{}X poden executar aquesta instrucció sota
148 el menú @code{Compilar > Actualitzar sintaxi}.
150 Els usuaris del Windows han d'introduir aquesta instrucció a una
151 nova ventana del terminal del sistema, que es troba en general sota
152 @code{Inici > Accesoris > Símbol del sistema}.
154 @node Opcions de la línia d'ordres per a convert-ly
155 @section Opcions de la línia d'ordres per a @command{convert-ly}
156 @translationof Command line options for convert-ly
158 En general, el programa s'invoca de la manera següent:
161 convert-ly [@var{opció}]@dots{} @var{fitxer}@dots{}
164 Es poden donar les opcions següents:
167 @item -d, --diff-version-update
168 Incrementa la cadena @code{\version} solament si el fitxer
169 efectivament ha canviat. En tal cas, la capçalera de versió
170 correspondrà a la versió següent a l'últim canvi efecdtiu. Sense
171 aquesta opció la versió reflecteix l'última conversió que es
172 @emph{va intentar} fer.
175 Aplica les conversions directament al fitxer d'entrada,
176 modificant-lo in situ. El fitxer original es canvia de nom a
177 @file{elmeufitxer.ly~}. Aquest fitxer de còpia de seguretat
178 podria ser un fitxer ocult en alguns sistemes opratius.
180 @item -b, --backup-numbered
181 Quan s'usa amb l'opció @samp{-e}, numera els fitxers de còpia de
182 seguretat de forma que no se sobreescrigui cap versió anterior.
183 Els fitxers de còpia de seguretat podrien ser fitxer ocults en
184 alguns sistemes operatius.
186 @item -f, --from=@var{versió_d_origen}
187 Estableix la versió des de la qual s'ha de convertir. Si no
188 apareix aquesta opció @command{convert-ly} intentarà endevinar-la,
189 bastant-se en la instrucció @code{\version} del fitxer. Exemple:
190 @option{--from=2.10.25}
193 Imprimeix l'ajuda d'utilització.
195 @item -l @var{nivellderegistre}, --loglevel=@var{nivellderegistre}
196 Fixa el grau en el qual la sortida és detallada a
197 @var{nivellderegistre}. Els valors possibles són @code{NONE}
198 (cap), @code{ERROR} (errors), @code{WARNING} (advertiments),
199 @code{PROGRESS} (avenç);
201 @item -n, --no-version
202 Normalment @command{convert-ly} afegeix un indicador
203 @code{\version} a la sortida. L'especificació d'aquesta opció el
206 @item -s, --show-rules
207 Mostra totes les conversions conegudes i surt.
209 @item -t, --to=@var{versió_final}
210 Fixa explícitament a quina @code{\version} convertir, en cas
211 contrari el valor predeterminat és la versió més actual. Ha de
212 ser més alta que la versió de partida.
215 convert-ly --to=2.14.1 elmeufitxer.ly
220 Per actualitzar fragments del LilyPond en fitxer de texinfo, useu
223 convert-ly --from=@dots{} --to=@dots{} --no-version *.itely
226 Per veure els canvis en la sintaxi del LilyPond entre dues
227 versions donades, useu
230 convert-ly --from=@dots{} --to=@dots{} -s
234 @node Problemes amb convert-ly
235 @section Problemes amb @code{convert-ly}
236 @translationof Problems running convert-ly
238 En executar convert-ly a una finestra del Símbol de Sistema sota
239 el Windows sobre un fitxer que té espais al nom o la ruta, és
240 necessari tancar tot el nom del fitxer d'entrada amb tres (!)
244 convert-ly """D:/Les meves partitures/Oda.ly""" > "D:/Les meves partitures/nova Oda.ly"
247 Si l'ordre simple@command{convert-ly -e *.ly} no funciona perquè
248 la instrucció expandida es fa massa llarga, en comptes de fer això
249 l'ordre @command{convert-ly} es pot posar dins d'un bucle. Aquest
250 exemple per a UNIX actualitza tots els documents @file{.ly} del
254 for f in *.ly; do convert-ly -e $f; done;
257 A la finestra del terminal d'ordres del Windows, la instrucció
261 for %x in (*.ly) do convert-ly -e """%x"""
264 No es gestionen tots els canvis al llenguatge. Sols es pot
265 especificar una opció de sortida. L'actualització automàtica del
266 Scheme i les interfícies Scheme del LilyPond és força improbable;
267 prepareu-vos per manipular el codi del Scheme a mà.
269 @node Conversions manuals
270 @section Conversions manuals
271 @translationof Manual conversions
273 En teoria, un programa com @command{convert-ly} hauria de poder
274 tractar qualsevol canvi de sintasi. Després de tot, un programa
275 d'ordinador interpreta les versions antiga i nova, per la qual
276 coas un altre programa d'ordinador podria traduir un fitxer a
277 l'altre@footnote{Almenys això és possible en qualsevol fitxer del
278 LilyPond que no contingui Scheme. Si hi ha Scheme dins del
279 fitxer, conté un llenguatge Turing-complet, i ens trobem amb el
280 famòs @qq{Problema de l'aturada} informàtica.}.
282 Tot i així, el projecte LilyPond compta amb uns recursos limitats:
283 no totes les conversions s'efectuen automàticament. A continuació
284 hi ha una llista de problemes coneguts.
288 No sempre converteix el baix xifrat correctament, específicament
289 coses com ara {< >}. El comentari de Mats sobre com solventar el
291 Per poder executar convert-ly
292 sobre ell, primer vaig sustituir totes les aparicions de '{<' a quelcom mut com ara '{#'
293 i de forma semblant vaig sustituir '>}' amb '&}'. Després de la conversió, vaig poder
294 tornar a canviar-los de '{ #' a '{ <' i de '& }' a '> }'.
295 No converteix tot l'etiquetatge de text correctament. En sintaxi antiga,
296 es podien agrupar diverses etiquetes entre parèntesis, per exmple
297 -#'((bold italic) "cadena")
298 Això es converteix incorrectament a
299 -\markup{{\bold italic} "cadena"}
300 en comptes del correcte
301 -\markup{\bold \italic "cadena"}
303 No gestiona \partcombine
304 No va \addlyrics => \lyricsto, això trenca algunes partitures amb divereses estrofes
306 \magnify no es canvia per \fontsize.
307 - \magnify #m => \fontsize #f, on f = 6ln(m)/ln(2)
308 remove-tag no es canvia.
309 - \applyMusic #(remove-tag '. . .) => \keepWithTag #'. . .
310 first-page-number no es canvia.
311 - first-page-number no => print-first-page-number = ##f
312 Els salts de línia a les cadenes de capçalera no es converteixen.
313 - \\\\ com salt de línia a les cadenes de \header => \markup \center-align <
314 "Primera línia" "Segona línia" >
315 Els terminadors de crescendo i descrecendo no es converteixen.
319 \turnOff (usat a \set Staff.VoltaBracket = \turnOff) no es converteix
322 \markup{ \center-align <{ ... }> } s'hauria de convertir a
323 \markup{ \center-align {\line { ... }} }
324 però ara, falta el \line.
326 Els caràcters especials del LaTeX com $~$ al text no es converteixen a UTF8.
328 \score{} ara ha de començar amb una expressió musical. Qualsevol alta cosa
329 (en particular, \header{}) ha d'anar després de la música.