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..
13 @c Translators: Walter Garcia-Fontes
14 @c Translation checkers:
17 @node Actualització de fitxers amb convert-ly
18 @chapter Actualització de fitxers amb @command{convert-ly}
19 @translationof Updating files with convert-ly
21 @cindex actualització d'un fitxer del LilyPond
24 La sintaxi del llenguatge d'entrada del LilyPond es modifica de
25 forma habitual per a simplificar-la o millorar-la de diferents
26 maneres. Com a efecte secundari, l'intèrpret del LilyPond sovint
27 ja no és compatible amb els fitxers d'entrada antics. Per posar
28 remei a això es pot utilitzar el programa @command{convert-ly} per
29 actualitzar fitxers a versions més noves del LilyPond.
32 * Perquè canvia la sintaxi?::
33 * Invocació de convert-ly::
34 * Opcions de la línia d'ordres per a convert-ly::
35 * Problemes amb convert-ly::
36 * Conversions manuals::
40 @node Perquè canvia la sintaxi?
41 @section Perquè canvia la sintaxi?
42 @translationof Why does the syntax change?
45 @cindex actualització de fitxers d'entrada antics
47 La sintaxi de l'entrada del LilyPond canvia de manera ocasional.
48 A mesura que el propi LilyPond millora, la sintaxi (el llenguatge
49 de l'entrada) es modifica en consonància. A vegades aquests
50 canvis es fan per aconseguir que l'entrada sigui més fàcil de
51 llegir i escriure, i d'altres vegades aquests canvis són per
52 donar cabuda a noves funcionalitats del LilyPond.
54 Per exemple, se suposa que tots els noms de les propietats de
55 @code{\paper} i de @code{\layout} estan escrits sota la norma
56 @code{primer-segon-tercer}. Tot i així, a la versió 2.11.60,
57 observem que la propietat @code{printallheaders} no seguia aquesta
58 convenció. Hauríem de deixar-la tal com està (confonent als nous
59 usuaris que han de tractar amb un format d'entrada inconsistent),
60 o canviar-la (empipant als usuaris amb experiència que tenen
61 partitures antigues)? En aquest cas, vam decidir canviar el nom a
62 @code{print-all-headers}. Afortunadament, aquest
63 canvi es pot automatitzar amb la nostra eina
66 Tanmateix, lamentablement @command{convert-ly} no pot tractar tots
67 els canvis d'entrada. Per exemple, a la versió 2.4 i anteriors de
68 LilyPond els accents i les lletres no angleses s'introdueixen
69 utilitzant el LaTeX: per exemple @code{No\"el} (que significa
70 @q{Nadal} en francès). Al LilyPond 2.6 i següents el caràcter
71 especial @code{ë} s'ha d'introduir directament al fitxer del
72 LilyPond com un caràcter UTF-8. @command{convert-ly} no pot
73 canviar tots els caràcters especials del LaTeX a caràcters de
74 UTF-8: haureu d'actualitzar manualment els vostres fitxers del
77 Les regles de conversió de @command{convert-ly} funcionen usant
78 correspondència i substitució de patrons de text enlloc d'una
79 comprensió profunda de la sintaxi del LilyPond. Això té diverses
83 El bon funcionament de la conversió depèn de la qualitat de cada
84 conjunt de regles que s'apliquen i de la complexitat del canvi
85 corresponent. A vegades les conversions poden necessitar
86 correccions manuals, per la qual cosa la versió antiga hauria de
87 conservar-se a efectes de comparació.
89 Solament són possibles les conversions de formats més nous: no hi
90 ha cap conjunt de regles per a la desactualització. Així doncs,
91 la còpia principal de treball d'un fitxer del LilyPond solament
92 s'ha d'actualitzar quan ja no hi ha necessitat de seguir mantenint
93 versions antigues del LilyPond. Els sistemes de control de
94 versions com ara el Git poden ser de gran ajuda per realitzar el
95 manteniment de diverses versions dels mateixos fitxers.
97 Els propis programes del LilyPond i de l'Scheme són força robustos
98 enfront als espais afegits i suprimits de manera @qq{creativa},
99 però les regles utilitzades per @command{convert-ly} tendeixen a
100 fer certes suposicions d'estil. El millor que pot fer-se és
101 seguir l'estil que s'usa als manuals per fer actualitzacions
102 indolores, especialment perquè els propis manuals s'actualitzen
103 usant @command{convert-ly}.
106 @node Invocació de convert-ly
107 @section Invocació de @command{convert-ly}
108 @translationof Invoking convert-ly
110 @command{convert-ly} utilitza el enunciats @code{\version} dels
111 fitxers d'entrada per detectar el número de versió antic. En
112 gairebé tots els casos, per actualitzar el fitxer d'entrada sols
116 convert-ly -e elmeufitxer.ly
120 dins del directori que conté el fitxer. Amb això s'actualitza
121 @file{elmeufitxer.ly} @emph{in situ} i es preserva el fitxer
122 original @file{elmeufitxer.ly~}.
124 @warning{@command{convert-ly} sempre converteix fins l'últim canvi
125 de sintaxi que és capaç de gestionar. Això significa que el
126 número de @code{\version} que apareix al fitxer convertit sol ser
127 inferior al número de versió del propi programa
128 @command{convert-ly}.}
130 Per convertir d'un cop tots els fitxers d'entrada que hi ha a un
137 De forma alternativa, si volem especificar un nom diferent per al
138 fitxer actualitzar, preservant el fitxer original amb el mateix
142 convert-ly elmeufitxer.ly > elmeunoufitxer.ly
145 El programa imprimeix una relació dels números de versió per als
146 que s'han fet conversions. Si no s'imprimeix cap número de
147 versió, el fitxer ja està actualitzat.
150 Els usuaris del MacOS@tie{}X poden executar aquesta instrucció sota
151 el menú @code{Compilar > Actualitzar sintaxi}.
153 Els usuaris del Windows han d'introduir aquesta instrucció a una
154 nova ventana del terminal del sistema, que es troba en general sota
155 @code{Inici > Accessoris > Símbol del sistema}.
157 @node Opcions de la línia d'ordres per a convert-ly
158 @section Opcions de la línia d'ordres per a @command{convert-ly}
159 @translationof Command line options for convert-ly
161 En general, el programa s'invoca de la manera següent:
164 convert-ly [@var{opció}]@dots{} @var{fitxer}@dots{}
167 Es poden donar les opcions següents:
170 @item -d, --diff-version-update
171 Incrementa la cadena @code{\version} solament si el fitxer
172 efectivament ha canviat. En tal cas, la capçalera de versió
173 correspondrà a la versió següent a l'últim canvi efectiu. Sense
174 aquesta opció la versió reflecteix l'última conversió que es
175 @emph{va intentar} fer.
178 Aplica les conversions directament al fitxer d'entrada,
179 modificant-lo in situ. El fitxer original es canvia de nom a
180 @file{elmeufitxer.ly~}. Aquest fitxer de còpia de seguretat
181 podria ser un fitxer ocult en alguns sistemes operatius.
183 @item -b, --backup-numbered
184 Quan s'usa amb l'opció @samp{-e}, numera els fitxers de còpia de
185 seguretat de forma que no se sobreescrigui cap versió anterior.
186 Els fitxers de còpia de seguretat podrien ser fitxer ocults en
187 alguns sistemes operatius.
189 @item -f, --from=@var{versió_d_origen}
190 Estableix la versió des de la qual s'ha de convertir. Si no
191 apareix aquesta opció @command{convert-ly} intentarà endevinar-la,
192 bastant-se en la instrucció @code{\version} del fitxer. Exemple:
193 @option{--from=2.10.25}
196 Imprimeix l'ajuda d'utilització.
198 @item -l @var{nivellderegistre}, --loglevel=@var{nivellderegistre}
199 Fixa el grau en el qual la sortida és detallada a
200 @var{nivellderegistre}. Els valors possibles són @code{NONE}
201 (cap), @code{ERROR} (errors), @code{WARNING} (advertiments),
202 @code{PROGRESS} (avenç;predeterminat) i @code{DEBUG} (depuració).
204 @item -n, --no-version
205 Normalment @command{convert-ly} afegeix un indicador
206 @code{\version} a la sortida. L'especificació d'aquesta opció el
209 @item -s, --show-rules
210 Mostra totes les conversions conegudes i surt.
212 @item -t, --to=@var{versió_final}
213 Fixa explícitament a quina @code{\version} convertir, en cas
214 contrari el valor predeterminat és la versió més actual. Ha de
215 ser més alta que la versió de partida.
218 convert-ly --to=2.14.1 elmeufitxer.ly
223 Per actualitzar fragments del LilyPond en fitxer de texinfo, useu
226 convert-ly --from=@dots{} --to=@dots{} --no-version *.itely
229 Per veure els canvis en la sintaxi del LilyPond entre dues
230 versions donades, useu
233 convert-ly --from=@dots{} --to=@dots{} -s
237 @node Problemes amb convert-ly
238 @section Problemes amb @code{convert-ly}
239 @translationof Problems running convert-ly
241 En executar convert-ly a una finestra del Símbol de Sistema sota
242 el Windows sobre un fitxer que té espais al nom o la ruta, és
243 necessari tancar tot el nom del fitxer d'entrada amb tres (!)
247 convert-ly """D:/Les meves partitures/Oda.ly""" > "D:/Les meves partitures/nova Oda.ly"
250 Si l'ordre simple @command{convert-ly -e *.ly} no funciona perquè
251 la instrucció expandida es fa massa llarga, en comptes de fer això
252 l'ordre @command{convert-ly} es pot posar dins d'un bucle. Aquest
253 exemple per a UNIX actualitza tots els documents @file{.ly} del
257 for f in *.ly; do convert-ly -e $f; done;
260 A la finestra del terminal d'ordres del Windows, la instrucció
264 for %x in (*.ly) do convert-ly -e """%x"""
267 No es gestionen tots els canvis al llenguatge. Sols es pot
268 especificar una opció de sortida. L'actualització automàtica del
269 Scheme i les interfícies Scheme del LilyPond és força improbable;
270 prepareu-vos per manipular el codi del Scheme a mà.
272 @node Conversions manuals
273 @section Conversions manuals
274 @translationof Manual conversions
276 En teoria, un programa com @command{convert-ly} hauria de poder
277 tractar qualsevol canvi de sintaxi. Després de tot, un programa
278 d'ordinador interpreta les versions antiga i nova, per la qual
279 cosa un altre programa d'ordinador podria traduir un fitxer a
280 l'altre@footnote{Almenys això és possible en qualsevol fitxer del
281 LilyPond que no contingui Scheme. Si hi ha Scheme dins del
282 fitxer, conté un llenguatge Turing-complet, i ens trobem amb el
283 famós @qq{Problema de l'aturada} informàtica.}.
285 Tot i així, el projecte LilyPond compta amb uns recursos limitats:
286 no totes les conversions s'efectuen automàticament. A continuació
287 hi ha una llista de problemes coneguts.
291 No sempre converteix el baix xifrat correctament, específicament
293 >}. El comentari de Mats sobre com solucionar el
295 Per poder executar convert-ly
296 sobre ell, primer vaig sustituir totes les aparicions de '{<' a quelcom mut com ara '{#'
297 i de forma semblant vaig sustituir '>}' amb '&}'. Després de la conversió, vaig poder
298 tornar a canviar-los de '{ #' a '{ <' i de '& }' a '> }'.
299 No converteix tot l'etiquetatge de text correctament. En sintaxi antiga,
300 es podien agrupar diverses etiquetes entre parèntesis, per exemple
301 -#'((bold italic) "cadena")
302 Això es converteix incorrectament a
303 -\markup{{\bold italic} "cadena"}
304 en comptes del correcte
305 -\markup{\bold \italic "cadena"}
307 No gestiona \partcombine
308 No va \addlyrics => \lyricsto, això trenca algunes partitures amb diverses estrofes
310 \magnify no es canvia per \fontsize.
311 - \magnify #m => \fontsize #f, on f = 6ln(m)/ln(2)
312 remove-tag no es canvia.
313 - \applyMusic #(remove-tag '. . .) => \keepWithTag #'. . .
314 first-page-number no es canvia.
315 - first-page-number no => print-first-page-number = ##f
316 Els salts de línia a les cadenes de capçalera no es converteixen.
317 - \\\\ com salt de línia a les cadenes de \header => \markup \center-align <
318 "Primera línia" "Segona línia" >
319 Els terminadors de crescendo i descrecendo no es converteixen.
323 \turnOff (usat a \set Staff.VoltaBracket = \turnOff) no es converteix
326 \markup{ \center-align <{ ... }> } s'hauria de convertir a:
327 \markup{ \center-align {\line { ... }} }
328 però ara, falta el \line.
330 Els caràcters especials del LaTeX com $~$ al text no es converteixen a UTF8.
332 \score{} ara ha de començar amb una expressió musical. Qualsevol alta cosa
333 (en particular, \header{}) ha d'anar després de la música.