]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/fr/user/changing-defaults.itely
Merge branch 'lilypond/translation' of ssh://trettig@git.sv.gnu.org/srv/git/lilypond...
[lilypond.git] / Documentation / fr / user / changing-defaults.itely
index 51dcf0c3e3a3bcd5265827b840ab349fecda2c19..94ad708b65ab680a8d4cd5534de5a6bdc287a98b 100644 (file)
@@ -1,16 +1,20 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of ../user/lilypond.tely
 @ignore
-    Translation of GIT committish: da55a1ec3c4b8195efc910b0c986c27f244def85
+    Translation of GIT committish: 76de7e168dbc9ffc7671d99663c5ce50dae42abb
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+@c \version "2.11.38"
+
+@c Translators: Valentin Villenave
+@c Translation checkers: Gilles Thibault
+
 @node Changing defaults
 @chapter Changing defaults
 
-
 LilyPond est conçu pour engendrer, par défaut, des partitions de la
 plus haute qualité.  Cependant, on peut parfois avoir à modifier cette
 mise en page par défaut.  Celle-ci est réglée par tout un ensemble de
@@ -22,18 +26,19 @@ comment trouver le bon levier pour obtenir tel ou tel effet en particulier.
 @cindex Référence du programme
 
 Les moyens de contrôle des différents réglages sont décrits dans un document
-à part entière, la
+séparé, la
 @iftex
 référence du programme
 @end iftex
 @ifnottex
 @ref{Top,Référence du programme,,lilypond-internals}.
 @end ifnottex
-Ce guide répertorie toutes les variables, fonctions et autre options que
-LilyPond met à votre disposition.  Il est consultable en ligne, au format HTML,
+Ce guide répertorie toutes les variables, fonctions et autres options que
+LilyPond met à votre disposition.  Il est consultable 
 @c leave the @uref as one long line.
-@uref{http://@/lilypond@/.org/@/doc/@/stable/@/Documentation/@/user/@/lilypond@/-internals/,on@/-line},
-mais est également inclus dans la documentation fournie avec le logiciel.
+@uref{http://@/lilypond@/.org/@/doc/@/stable/@/Documentation/@/user/@/lilypond@/-internals/,en@tie{}ligne},
+au format HTML, mais est également inclus dans la documentation
+fournie avec le logiciel.
 
 Il est quatre domaines dans lesquels on peut modifier les réglages par défaut :
 
@@ -60,7 +65,7 @@ infrastructure.  Modifier les choix de mise en page revient à pénétrer dans
 les entrailles du programme, et de ce fait requiert l'emploi du Scheme.
 Les fragments de Scheme, dans un fichier @code{.ly}, sont introduits par le
 caractère @q{hash}, (@code{#}, improprement surnommé @q{dièse}).@footnote{Le 
-@ref{Scheme tutorial} fournit quelques notions de base pour saisir des nombres,
+@rlearning{Scheme tutorial} fournit quelques notions de base pour saisir des nombres,
 des listes, des chaînes de caractères ou des symboles, en Scheme.}
 
 
@@ -74,8 +79,8 @@ des listes, des chaînes de caractères ou des symboles, en Scheme.}
 @node Automatic notation
 @section Automatic notation
 
-Cette section s'intéresse à la manière dont les altérations accidentelles 
-et les ligatures sont automatiquement ajoutées.
+Cette section s'intéresse au réglage de l'impression automatique des
+altérations accidentelles et ligatures.
 
 @menu
 * Automatic accidentals::       
@@ -180,14 +185,14 @@ musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4
 @end lilypond
 
 La règle @code{voice} n'est à envisager que dans le cas de voix devant être lues par
-des musiciens différents. S'il s'agit d'un @q{conducteur}, ou d'une portée destinée
+des musiciens différents.  S'il s'agit d'un @q{conducteur}, ou d'une portée destinée
 à un seul musicien, il vaut mieux utiliser @code{modern} ou @code{modern-cautionary}.
 
 
 @item modern
 @funindex modern style accidentals
 Cette règle est la plus courante au XXème siècle.  Les altérations accidentelles
-sont imprimées comme avec le style @code{default}, mais lorsquune note non-altérée
+sont imprimées comme avec le style @code{default}, mais lorsqu'une note non-altérée
 apparaît à une octave différente, ou bien dans la mesure suivante, des bécarres de précaution
 sont ajoutés.  Dans l'exemple suivant, notez ainsi les deux bécarres dans la
 deuxième mesure de la main droite.
@@ -218,7 +223,7 @@ musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4
 Cette règle est équivalente à @code{modern}, mais les bécarres de précaution sont
 imprimés de façon particulière : soit plus petits, soit (par défaut) entre parenthèses.
 Il est possible de le définir au moyen de la propriété @code{cautionary-style}
-pour l'objet @internalsref{AccidentalSuggestion}.
+pour l'objet @rinternals{AccidentalSuggestion}.
 
 @lilypond[quote,ragged-right]
 musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
@@ -246,7 +251,7 @@ musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4
 Cette règle sert aux altérations dans de la musique polyphonique destinée
 autant à des musiciens différents qu'à quelqu'un qui lirait l'ensemble des voix.
 Les altérations sont imprimées voix par voix, mais les autres voix, dans le même 
-contexte @internalsref{Staff}, en @emph{tiennent compte} cette fois.
+contexte @rinternals{Staff}, en @emph{tiennent compte} cette fois.
 
 @lilypond[quote,ragged-right]
 musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
@@ -317,8 +322,8 @@ pour chaque portée individuelle au sein du contexte GrandStaff.
 
 Cette règle est communément employée pour les partitions de piano au XXème siècle.
 Très similaire à @code{modern} de par son comportement, elle s'en distingue en ce que
-les altérations tiennent compte des autre portées du contexte @internalsref{GrandStaff} ou
-@internalsref{PianoStaff}.
+les altérations tiennent compte des autre portées du contexte @rinternals{GrandStaff} ou
+@rinternals{PianoStaff}.
 
 @lilypond[quote,ragged-right]
 musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
@@ -395,7 +400,7 @@ musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4
 @item forget
 Tout le contraire de @code{no-reset}: l'effet des altérations cesse aussitôt,
 et de ce fait, toutes les altérations, quelque soit leur place dans la mesure, sont
-imprimées, en fonction de l'armure éventuelle.
+imprimées, en fonction de l'éventuelle armure.
 
 @lilypond[quote,ragged-right]
 musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
@@ -422,18 +427,18 @@ musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4
 
 @seealso
 
-Référence du programme : @internalsref{Accidental_engraver},
-@internalsref{Accidental}, @internalsref{AccidentalSuggestion} et @internalsref{AccidentalPlacement}.
+Référence du programme : @rinternals{Accidental_engraver},
+@rinternals{Accidental}, @rinternals{AccidentalSuggestion} et @rinternals{AccidentalPlacement}.
 
 
-@refbugs
+@knownissues
 
 Les notes simultanées sont considérées comme des évènements séquentiels.
-Ce qui implique que, dans un accord, les altérations accidentelles sont 
+Ce qui implique que, dans un accord, les altérations accidentelles seront 
 imprimées comme si les notes de l'accords apparaissaient une par une, en fonction
 de l'ordre dans lequels elles ont été saisies -- ce qui peut poser problème lorsqu'au
-sein d'un accord certaines altérations dépendent les unes des autres. Ce problème
-est à résoudre manuellement, en insérant des @code{!} et des @code{?} après les notes
+sein d'un accord certaines altérations dépendent les unes des autres.
+Ce problème est à résoudre manuellement, en insérant des @code{!} et des @code{?} après les notes
 concernées.
 
 
@@ -470,9 +475,9 @@ plus brève des notes concernées.  Si cette règle doit s'appliquer à toutes l
 remplacez @code{p} et @code{q} par des étoiles @qq{@code{*}}.
 
 
-@item @code{n/m} est le chiffre de mesure dans lequel la règle doit s'appliquer. Si
-celle-ci doit s'appliquer dans toutes les métriques, remplacez @code{n} et @code{m}
-par des étoiles @qq{@code{*}}.
+@item @code{n/m} est le chiffre de mesure dans lequel la règle doit
+s'appliquer.  Si celle-ci doit s'appliquer dans toutes les métriques,
+remplacez @code{n} et @code{m} par des étoiles @qq{@code{*}}.
 
 @item @code{a/b} est l'emplacement, dans la mesure, auquel les ligatures doivent
 débuter ou s'achever (suivant la valeur @q{extrémité} que nous venons de voir).
@@ -540,7 +545,6 @@ a16 a a a a a a a a a a a a a a a
 La commande @code{revert-auto-beam-setting} requiert exactement les mêmes arguments
 que la règle d'origine.  En d'autres termes, les étoiles ne seront pas prises en compte ici.
 
-@c KEEP LY
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 \time 1/4
 #(override-auto-beam-setting '(end 1 16 1 4) 1 8)
@@ -581,7 +585,7 @@ dans le fichier @file{scm/@/auto@/-beam@/.scm} pour rechercher d'éventuels conf
 la mesure ou les règles par défaut s'ajoutent à vos propres règles.  Il est alors nécessaire
 de désactiver toute règle par défaut conduisant à des ligatures indésirables.
 
-Ainsi, pour obtenir des ligatures en groupes de @code{(3 4 3 2)} notes, dans une mesure à 12/8,
+Ainsi, pour obtenir des ligatures en groupes de @code{(3 4 3 2)} croches, dans une mesure à 12/8,
 il faudra préalablement utiliser :
 
 @example
@@ -605,7 +609,7 @@ Si des ligatures sont utilisées dans les paroles d'une chanson (pour indiquer d
 les ligatures automatiques doivent être désactivées, avec @code{\autoBeamOff}.
 
 
-@refcommands
+@predefined
 
 @funindex \autoBeamOff
 @code{\autoBeamOff},
@@ -626,7 +630,7 @@ c8[^"(3+2)" c16 c8]
 @end lilypond
 
 
-@refbugs
+@knownissues
 
 Si une partition se termine alors qu'une ligature automatique est restée inachevée,
 cette dernière ligature ne sera pas imprimée du tout.  C'est également valable dans
@@ -637,11 +641,9 @@ soit achevée.
 @node Interpretation contexts
 @section Interpretation contexts
 
-This section describes what contexts are, and how to modify them.
+Cette section traite des contextes.
 
 @menu
-* Contexts explained::          
-* Creating contexts::           
 * Changing context properties on the fly::  
 * Modifying context plug-ins::  
 * Layout tunings within contexts::  
@@ -652,237 +654,38 @@ This section describes what contexts are, and how to modify them.
 @end menu
 
 
-@node Contexts explained
-@subsection Contexts explained
-
-When music is printed, a lot of notational elements must be added to the
-output.  For example, compare the input and output of the following example:
-
-@lilypond[quote,verbatim,relative=2,fragment]
-cis4 cis2. g4
-@end lilypond
-
-The input is rather sparse, but in the output, bar lines, accidentals,
-clef, and time signature are added.  LilyPond @emph{interprets} the
-input.  During this step, the musical information is inspected in time
-order, similar to reading a score from left to right.  While reading
-the input, the program remembers where measure boundaries are, and which
-pitches require explicit accidentals.  This information can be presented on
-several levels.  For example, the effect of an accidental is limited
-to a single staff, while a bar line must be synchronized across the
-entire score.
-
-Within LilyPond, these rules and bits of information are grouped in
-@emph{Contexts}.  Some examples of contexts are @context{Voice},
-@context{Staff}, and @context{Score}.  They are hierarchical, for
-example: a @context{Staff} can contain many @context{Voice}s, and a
-@context{Score} can contain many @context{Staff} contexts.
-
-@quotation
-@image{context-example,5cm,,}
-@end quotation
-
-Each context has the responsibility for enforcing some notation rules,
-creating some notation objects and maintaining the associated
-properties.  For example, the @context{Voice} context may introduce an
-accidental and then the @context{Staff} context maintains the rule to
-show or suppress the accidental for the remainder of the measure.  The
-synchronization of bar lines is handled at @context{Score} context.
-
-However, in some music we may not want the bar lines to be
-synchronized -- consider a polymetric score in 4/4 and 3/4 time.  In
-such cases, we must modify the default settings of the @context{Score}
-and @context{Staff} contexts.
-
-For very simple scores, contexts are created implicitly, and you need
-not be aware of them.  For larger pieces, such as anything with more
-than one staff, they must be
-created explicitly to make sure that you get as many staves as you
-need, and that they are in the correct order.  For typesetting pieces
-with specialized notation, it can be useful to modify existing or
-to define new contexts.
-
-
-A complete description of all available contexts is in the program
-reference, see
-@ifhtml
-@internalsref{Contexts}.
-@end ifhtml
-@ifnothtml
-Translation @arrow{} Context.
-@end ifnothtml
-
-@c [TODO: describe propagation]
-
-
-@node Creating contexts
-@subsection Creating contexts
-
-For scores with only one voice and one staff, contexts are
-created automatically.  For more complex scores, it is necessary to
-create them by hand.  There are three commands that do this.
-
-@itemize @bullet
-
-@item
-The easiest command is @code{\new}, and it also the quickest to type.
-It is prepended to a music expression, for example
-
-@funindex \new
-@cindex new contexts
-@cindex Context, creating
-
-@example
-\new @var{type} @var{music expression}
-@end example
-
-@noindent
-where @var{type} is a context name (like @code{Staff} or
-@code{Voice}).  This command creates a new context, and starts
-interpreting the @var{music expression} with that.
-
-A practical application of @code{\new} is a score with many
-staves.  Each part that should be on its own staff, is preceded with
-@code{\new Staff}.
-
-@lilypond[quote,verbatim,relative=2,ragged-right,fragment]
-<<
-  \new Staff { c4 c }
-  \new Staff { d4 d }
->>
-@end lilypond
-
-The @code{\new} command may also give a name to the context,
-
-@example
-\new @var{type} = @var{id} @var{music}
-@end example
-However, this user specified name is only used if there is no other
-context already earlier with the same name.
-
-
-@funindex \context
-
-@item
-Like @code{\new}, the @code{\context} command also directs a music
-expression to a context object, but gives the context an explicit name.  The
-syntax is
-
-@example
-\context @var{type} = @var{id} @var{music}
-@end example
-
-This form will search for an existing context of type @var{type}
-called @var{id}.  If that context does not exist yet, a new
-context with the specified name is created.  This is useful if
-the context is referred to later on.  For example, when
-setting lyrics the melody is in a named context
-
-@example
-\context Voice = "@b{tenor}" @var{music}
-@end example
-
-@noindent
-so the texts can be properly aligned to its notes,
-
-@example
-\new Lyrics \lyricsto "@b{tenor}" @var{lyrics}
-@end example
-
-@noindent
-
-Another possible use of named contexts is funneling two different
-music expressions into one context.  In the following example,
-articulations and notes are entered separately,
-
-@example
-music = @{ c4 c4 @}
-arts = @{ s4-. s4-> @}
-@end example
-
-They are combined by sending both to the same @context{Voice} context,
-
-@example
-<<
-  \new Staff \context Voice = "A" \music
-  \context Voice = "A" \arts
->>
-@end example
-@lilypond[quote,ragged-right]
-music = { c4 c4 }
-arts = { s4-. s4-> }
-\relative c'' <<
-  \new Staff \context Voice = "A" \music
-  \context Voice = "A" \arts
->>
-@end lilypond
-
-With this mechanism, it is possible to define an Urtext (original
-edition), with the option to put several distinct articulations on the
-same notes.
-
-@cindex creating contexts
-
-@item
-The third command for creating contexts is
-@example
-\context @var{type} @var{music}
-@end example
-
-
-@noindent
-This is similar to @code{\context} with @code{= @var{id}}, but matches
-any context of type @var{type}, regardless of its given name.
-
-This variant is used with music expressions that can be interpreted at
-several levels.  For example, the @code{\applyOutput} command (see
-@ref{Running a function on all layout objects}).  Without an explicit
-@code{\context}, it is usually applied to @context{Voice}
-
-@example
-\applyOutput #'@var{context} #@var{function}   % apply to Voice
-@end example
-
-To have it interpreted at the @context{Score} or @context{Staff} level use
-these forms
-
-@example
-\applyOutput #'Score #@var{function}
-\applyOutput #'Staff #@var{function}
-@end example
-
-@end itemize
-
-
 @node Changing context properties on the fly
 @subsection Changing context properties on the fly
 
-@cindex properties
+@cindex propriétés
 @funindex \set
-@cindex changing properties
+@cindex modifier des propriétés
 
-Each context can have different @emph{properties}, variables contained
-in that context.  They can be changed during the interpretation step.
-This is achieved by inserting the @code{\set} command in the music,
+Chaque contexte peut avoir plusieurs @emph{propriétés}, c'est-à-dire
+des variables qu'il inclut.  Ces dernières peuvent être modifiées @qq{à la volée},
+c'est-à-dire pendant que la compilation s'accomplit.  C'est là le rôle de la
+commande @code{\set}.
 
 @example
-\set @var{context}.@var{prop} = #@var{value}
+\set @var{contexte}.@var{propriété} = #@var{valeur}
 @end example
 
-For example,
+Ainsi :
 @lilypond[quote,verbatim,relative=2,fragment]
 R1*2
 \set Score.skipBars = ##t
 R1*2
 @end lilypond
 
-This command skips measures that have no notes.  The result is that
-multi-rests are condensed.  The value assigned is a Scheme object.  In
-this case, it is @code{#t}, the boolean True value.
+Cette commande permet de condenser les mesures vides de notes, en des silences
+multi-mesures.  Il s'agit d'un objet Scheme, auquel on attribue la valeur booléenne
+@q{vrai}, c'est-à-dire la lettre @code{#t} pour @q{True} en anglais.
 
-If the @var{context} argument is left out, then the current bottom-most
-context (typically @context{ChordNames}, @context{Voice}, or
-@context{Lyrics}) is used.  In this example,
+Ce changement étant appliqué @q{à la volée}, il n'affecte que le second groupe de notes.
+
+Si l'argument @var{contexte} n'est pas spécifié, alors la propriété cherchera à s'appliquer
+dans le contexte le plus restreint où elle est employée : le plus souvent
+ @context{ChordNames}, @context{Voice}, ou @context{Lyrics}.  Dans l'exemple suivant,
 
 @lilypond[quote,verbatim,relative=2,fragment]
 c8 c c c
@@ -891,12 +694,13 @@ c8 c c c
 @end lilypond
 
 @noindent
-the @var{context} argument to @code{\set} is left out, so automatic
-beaming is switched off in the current @internalsref{Voice}.  Note that
-the bottom-most context does not always contain the property that you
-wish to change -- for example, attempting to set the @code{skipBars}
-property (of the bottom-most context, in this case @code{Voice}) will
-have no effect.
+aucun argument @var{contexte} n'a été donné à la commande @code{\set}.
+De ce fait, les ligatures automatiques sont désactivées dans le
+contexte actuel, c'est-à-dire @rinternals{Voice}.  Notez que le
+contexte le plus restreint n'est pas toujours le bon, 
+et peut ne pas contenir la propriété qui vous intéresse : ainsi, la propriété 
+@code{skipBars}, évoquée plus haut, ne relève pas du contexte @code{Voice}, 
+et le code suivant ne fonctionnera pas.
 
 @lilypond[quote,verbatim,relative=2,fragment]
 R1*2
@@ -904,59 +708,58 @@ R1*2
 R1*2
 @end lilypond
 
-Contexts are hierarchical, so if a bigger context was specified, for
-example @context{Staff}, then the change would also apply to all
-@context{Voice}s in the current stave.  The change is applied
-@q{on-the-fly}, during the music, so that the setting only affects the
-second group of eighth notes.
+Les contextes s'organisent de façon hiérarchique : aussi, lorsqu'un contexte de niveau
+supérieur est spécifié (par exemple @context{Staff}), la propriété sera modifée dans
+tous les contextes inférieurs (tous les contextes @context{Voice}, par exemple)
+qu'il contient.
 
 @funindex \unset
 
-There is also an @code{\unset} command,
+La commande @code{\unset} permet d'annuler la définition d'une propriété :
+
 @example
-\unset @var{context}.@var{prop}
+\unset @var{contexte}.@var{propriété}
 @end example
 
 @noindent
-which removes the definition of @var{prop}.  This command removes
-the definition only if it is set in @var{context}, so
+si et seulement si cette propriété à été définie dans ce @var{contexte}
+précis ; ainsi,
 
 @example
 \set Staff.autoBeaming = ##f
 @end example
 
 @noindent
-introduces a property setting at @code{Staff} level.  The setting also
-applies to the current @code{Voice}.  However,
+même s'il s'applique à tous les contextes @code{Voice} contenus dans le
+contexte @code{Staff}, ne peut être annulé au niveau @code{Voice}.  Le code
+suivant sera sans effet.
 
 @example
 \unset Voice.autoBeaming
 @end example
 
 @noindent
-does not have any effect.  To cancel this setting, the @code{\unset}
-must be specified on the same level as the original @code{\set}.  In
-other words, undoing the effect of @code{Staff.autoBeaming = ##f}
-requires
+En d'autres termes, la commande @code{\unset} doit impérativement être
+accompagnée du même contexte que la commande @code{\set} d'origine.
+Pour annuler l'effet, dans notre exemple, de @code{Staff.autoBeaming = ##f},
+il faut donc entrer :
 @example
 \unset Staff.autoBeaming
 @end example
 
-Like @code{\set}, the @var{context} argument does not have to be
-specified for a bottom context, so the two statements
+Si l'on se trouve dans le contexte le plus restreint, il n'est pas obligatoire,
+là encore, de spécifier le @var{contexte}.  Ainsi, les deux lignes suivantes sont équivalentes.
+
 
 @example
 \set Voice.autoBeaming = ##t
 \set autoBeaming = ##t
 @end example
 
-@noindent
-are equivalent.
-
 
 @cindex \once
-Settings that should only apply to a single time-step can be entered
-with @code{\once}, for example in
+Pour modifier une propriété de façon à ce qu'elle ne s'applique qu'une seule fois,
+il convient d'employer la commande @code{\once} :
 
 @lilypond[quote,verbatim,relative=2,fragment]
 c4
@@ -965,54 +768,60 @@ c4
 c4
 @end lilypond
 
-the property @code{fontSize} is unset automatically after the second
-note.
+Ici le changement de taille est annulé aussitôt après la note concernée.
 
-A full description of all available context properties is in the
-program reference, see
+La référence du programme contient une description exhaustive de toutes les
+propriétés contexte par contexte : voir
 @ifhtml
-@internalsref{Tunable context properties}.
+@rinternals{Tunable context properties}.
 @end ifhtml
 @ifnothtml
-Translation @arrow{} Tunable context properties.
+Translation @expansion{} Tunable context properties.
 @end ifnothtml
 
 
 @node Modifying context plug-ins
 @subsection Modifying context plug-ins
 
-Notation contexts (like @code{Score} and @code{Staff}) not only
-store properties,
-they also contain plug-ins called @q{engravers} that create notation
-elements.  For example, the @code{Voice} context contains a
-@code{Note_head_engraver} and the @code{Staff} context contains a
-@code{Key_signature_engraver}.
+Les contextes, tels que @code{Score} ou @code{Staff}, ne contiennent
+pas que des propriétés ; ils mettent également en œuvre certains
+sous-programmes (@q{plug-ins}, pour employer le terme consacré) nommés
+@q{graveurs} (@q{engravers}, pour reprendre le terme anglais).
+Ces sous-programmes sont chargés de créer les différents éléments de notation :
+On trouve ainsi dans le contexte @code{Voice}, un graveur @code{Note_head_engraver},
+chargé des têtes de notes, et dans le contexte @code{Staff}, un graveur
+@code{Key_signature_engraver}, chargé de l'armure.
 
-For a full a description of each plug-in, see
+Vous trouverez une description exhaustive de chaque graveur dans
 @ifhtml
-@internalsref{Engravers}.
+@rinternals{Engravers}.
 @end ifhtml
 @ifnothtml
-Program reference @arrow Translation @arrow{} Engravers.
+Program reference @expansion Translation @expansion{} Engravers.
 @end ifnothtml
-Every context described in
+Chaque contexte mentionné dans
 @ifhtml
-@internalsref{Contexts}
+@rinternals{Contexts}
 @end ifhtml
 @ifnothtml
-Program reference @arrow Translation @arrow{} Context.
+Program reference @expansion Translation @expansion{} Context.
 @end ifnothtml
-lists the engravers used for that context.
+répertorie les graveurs mis en œuvre.
+
 
+On peut faire, au moyen de ces graveurs, sa propre @qq{cuisine}, en
+modifiant les contextes à volonté.
 
-It can be useful to shuffle around these plug-ins.  This is done by
-starting a new context with @code{\new} or @code{\context}, and
-modifying it,
+
+Lorsque un contexte est créé, par la commande @code{\new} ou @code{\context}, on peut
+y adjoindre un bloc @code{\with} (en anglais @q{avec}), dans lequel il est possible
+d'ajouter (commande @code{\consists}) ou d'enlever (commande @code{\remove})
+des graveurs :
 
 @funindex \with
 
 @example
-\new @var{context} \with @{
+\new @var{contexte} \with @{
   \consists @dots{}
   \consists @dots{}
   \remove @dots{}
@@ -1020,14 +829,15 @@ modifying it,
   @emph{etc.}
 @}
 @{
-  @emph{..music..}
+  @emph{..musique..}
 @}
 @end example
 
 @noindent
-where the @dots{} should be the name of an engraver.  Here is a simple
-example which removes @code{Time_signature_engraver} and
-@code{Clef_engraver} from a @code{Staff} context,
+Ici les points de suspension @dots{} devront être remplacés par les noms
+des graveurs désirés.  Dans l'exemple suivant, on enlève du contexte
+@code{Staff}, le chiffre de mesure (graveur @code{Time_signature_engraver})
+et la clé (graveur @code{Clef_engraver}).
 
 @lilypond[quote,relative=1,verbatim,fragment]
 <<
@@ -1043,22 +853,21 @@ example which removes @code{Time_signature_engraver} and
 >>
 @end lilypond
 
-In the second staff there are no time signature or clef symbols.  This
-is a rather crude method of making objects disappear since it will affect
-the entire staff.  This method also influences the spacing, which may or
-may not be desirable.  A more
-sophisticated method of blanking objects is shown in @ref{Common tweaks}.
+La clé et le chiffre de mesure ont disparu de la deuxième portée.  C'est une méthode
+quelque peu radicale, puisqu'elle affectera toute la portée jusqu'à la fin de la
+partition.  L'espacement s'en trouve également affecté, ce qui peut être ou non
+l'effet recherché.  Une méthode plus sophistiquée aurait été de rendre ces objets
+transparents (voir @rlearning{Common tweaks}).
 
-The next example shows a practical application.  Bar lines and time
-signatures are normally synchronized across the score.  This is done
-by the @code{Timing_translator} and @code{Default_bar_line_engraver}.
-This plug-in keeps an administration of time signature, location
-within the measure, etc.  By moving thes engraver from @code{Score} to
-@code{Staff} context, we can have a score where each staff has its own
-time signature.
+Dans l'exemple suivant, voici une mise en pratique plus utile.  En temps
+normal, les barres de mesure et la métrique sont synchronisées verticalement
+dans toute la partition.  Les graveurs qui en sont responsables se nomment
+@code{Timing_translator} et @code{Default_bar_line_engraver}.
+En les enlevant du contexte @code{Score} pour les attribuer au contexte
+@code{Staff}, chaque portée peut désormais avoir sa propre métrique.
 
-@cindex polymetric scores
-@cindex Time signatures, multiple
+@cindex polymétrique, partition
+@cindex Chiffres de mesure multiples
 
 @lilypond[quote,relative=1,ragged-right,verbatim,fragment]
 \new Score \with {
@@ -1086,35 +895,35 @@ time signature.
 @node Layout tunings within contexts
 @subsection Layout tunings within contexts
 
-Each context is responsible for creating certain types of graphical
-objects.  The settings used for printing these objects are also stored by
-context.  By changing these settings, the appearance of objects can be
-altered.
+Chaque contexte est chargé de créer plusieurs types d'objets graphiques.
+Il contient également les réglages nécessaires pour chacun de ces objets.
+Si l'on modifie ces réglages, les objets n'auront plus la même apparence.
 
-The syntax for this is
+La syntaxe employée pour ce faire est
 
 @example
-\override @var{context}.@var{name} #'@var{property} = #@var{value}
+\override @var{contexte}.@var{objet} #'@var{propriété} = #@var{valeur}
 @end example
 
-Here @var{name} is the name of a graphical object, like @code{Stem} or
-@code{NoteHead}, and @var{property} is an internal variable of the
-formatting system (@q{grob property} or @q{layout property}).  The latter is a
-symbol, so it must be quoted.  The subsection @ref{Constructing a
-tweak}, explains what to fill in for @var{name}, @var{property}, and
-@var{value}.  Here we only discuss the functionality of this command.
+Ici @var{objet} est un objet graphique, tel que @code{Stem} (les hampes)
+ou @code{NoteHead} (les têtes de note) ; @var{propriété} est une variable
+(désignée par un symbole, ce qui explique l'apostrophe) employée par le système
+de mise en page.  La sous-section @ref{Constructing a tweak} vous
+aidera à savoir quoi mettre à la place de @var{objet}, @var{propriété} et
+@var{valeur} ; notre propos n'est ici que d'examiner l'emploi de cette commande.
 
-The command
+La commande suivante :
 
 @verbatim
 \override Staff.Stem #'thickness = #4.0
 @end verbatim
 
 @noindent
-makes stems thicker (the default is 1.3, with staff line thickness as a
-unit).  Since the command specifies @context{Staff} as context, it only
-applies to the current staff.  Other staves will keep their normal
-appearance.  Here we see the command in action:
+rend les hampes plus épaisses (la valeur par défaut est 1.3, ce qui signifie qu'elles 
+sont 1,3 fois plus épaisses que les lignes de la portée).  Dans la mesure où nous avons
+indiqué @context{Staff} comme contexte, ce réglage ne s'appliquera qu'à la portée courante ;
+les autres portées demeureront intactes.
+
 
 @lilypond[quote,verbatim,relative=2,fragment]
 c4
@@ -1124,13 +933,12 @@ c4
 c4
 @end lilypond
 
-The @code{\override} command changes the definition of the @code{Stem}
-within the current @context{Staff}.  After the command is interpreted
-all stems are thickened.
+La commande @code{\override} modifie donc la définition de l'objet @code{Stem}
+dans le contexte @context{Staff} ; toutes les hampes qui suivent seront affectées.
 
-Analogous to @code{\set}, the @var{context} argument may be left out,
-causing the default context @context{Voice} to be used.  Adding
-@code{\once} applies the change during one timestep only.
+Tout comme avec la commande @code{\set}, l'argument @var{contexte} peut être omis, auquel
+cas le contexte par défaut (ici, @context{Voice}) sera employé.  La commande @code{\once}
+permet de n'appliquer la modification qu'une seule fois.
 
 @lilypond[quote,fragment,verbatim,relative=2]
 c4
@@ -1139,10 +947,10 @@ c4
 c4
 @end lilypond
 
-The @code{\override} must be done before the object is
-started.  Therefore, when altering @emph{Spanner} objects such as slurs
-or beams, the @code{\override} command must be executed at the moment
-when the object is created.  In this example,
+La commande @code{\override} doit être entrée @emph{avant} l'objet concerné.
+Ainsi, lorsque l'on veut altérer un objet qui se prolonge, tel qu'une liaison,
+une ligature ou tout autre objet dit @emph{Spanner}, la commande @code{\override}
+doit être saisie avant que l'objet soit créé.
 
 @lilypond[quote,fragment,verbatim,relative=2]
 \override Slur #'thickness = #3.0
@@ -1152,29 +960,30 @@ c8 c])
 @end lilypond
 
 @noindent
-the slur is fatter but the beam is not.  This is because the command for
-@code{Beam} comes after the Beam is started, so it has no effect.
+Dans cet exemple, la liaison (@emph{Slur}) est épaissie, mais non la ligature
+(@emph{Beam}).  En effet, le code qui lui est relatif n'a pas été inséré avant le début de
+la ligature, et demeure donc sans effet.
 
-Analogous to @code{\unset}, the @code{\revert} command for a context
-undoes an @code{\override} command; like with @code{\unset}, it only
-affects settings that were made in the same context.  In other words, the
-@code{\revert} in the next example does not do anything.
+De même que la commande @code{\unset}, la commande @code{\revert} défait
+ce qui a été fait par une commande @code{\override}.  Tout comme avec @code{\unset},
+elle ne peut annuler que les réglages effectués dans le même contexte.
+Ainsi dans l'exemple suivant, la commande @code{\revert} est sans effet.
 
 @example
 \override Voice.Stem #'thickness = #4.0
 \revert Staff.Stem #'thickness
 @end example
 
-Some tweakable options are called @q{subproperties} and reside inside
-properties.  To tweak those, use commands of the form
+Il existe, à l'intérieur même de certaines propriétés, des options que l'on
+nomme @q{sous-propriétés}.  La syntaxe est alors
 
 @c leave this as a long long
 @example
-\override @var{context}.@var{name} #'@var{property} #'@var{subproperty} = #@var{value}
+\override @var{contexte}.@var{objet} #'@var{propriété} #'@var{sous-propriété} = #@var{valeur}
 @end example
 
 @noindent
-such as
+Ainsi, par exemple :
 
 @example
 \override Stem #'details #'beamed-lengths = #'(4 4 3)
@@ -1183,25 +992,25 @@ such as
 
 @seealso
 
-Internals: @internalsref{OverrideProperty}, @internalsref{RevertProperty},
-@internalsref{PropertySet}, @internalsref{Backend}, and
-@internalsref{All layout objects}.
+Référence du programme : @rinternals{OverrideProperty}, @rinternals{RevertProperty},
+@rinternals{PropertySet}, @rinternals{Backend}, et
+@rinternals{All layout objects}.
 
 
-@refbugs
+@knownissues
 
-The back-end is not very strict in type-checking object properties.
-Cyclic references in Scheme values for properties can cause hangs
-or crashes, or both.
+La sous-couche Scheme ne vérifie pas la saisie des propriétés de façon
+très stricte.  Des références cycliques dans des valeurs Scheme peuvent
+de ce fait interrompre, ou faire planter le programme -- ou bien les deux.
 
 
 @node Changing context default settings
 @subsection Changing context default settings
 
-The adjustments of the previous subsections (@ref{Changing context
-properties on the fly}, @ref{Modifying context plug-ins}, and
-@ref{Layout tunings within contexts}) can also be entered separately
-from the music in the @code{\layout} block,
+Les réglages montrés dans les sous-sections @ref{Changing context
+properties on the fly}, @ref{Modifying context plug-ins} et
+@ref{Layout tunings within contexts} peuvent également être saisis indépendamment
+de la musique dans le bloc @code{\layout}, au moyen de la commande @code{\context} :
 
 @example
 \layout @{
@@ -1216,10 +1025,11 @@ from the music in the @code{\layout} block,
 @}
 @end example
 
-The @code{\Staff} command brings in the existing definition of the
-staff context so that it can be modified.
+Le raccourci @code{\Staff} invoque les définitions inhérentes au contexte
+@context{Staff}, de façon à ce qu'elles puissent être modifiées.
 
-The statements
+Les lignes suivantes affecteront toutes les portées (tous les contextes @context{Staff})
+dans la partition.
 @example
 \set fontSize = #-2
 \override Stem #'thickness = #4.0
@@ -1227,10 +1037,10 @@ The statements
 @end example
 
 @noindent
-affect all staves in the score.  Other contexts can be modified
-analogously.
+Les autres contextes peuvent être modifiés de même manière.
 
-The @code{\set} keyword is optional within the @code{\layout} block, so
+La commande @code{\set}, dans le bloc @code{\layout}, est facultative ; aussi
+les lignes suivantes produiront-elles le même effet.
 
 @example
 \context @{
@@ -1239,20 +1049,15 @@ The @code{\set} keyword is optional within the @code{\layout} block, so
 @}
 @end example
 
-@noindent
-will also work.
-
-
 
-@refbugs
+@knownissues
 
-It is not possible to collect context changes in a variable and apply
-them to a @code{\context} definition by referring to that variable.
+Il est impossible de stocker des modifications de contexte dans un identificateur.
 
-The @code{\RemoveEmptyStaffContext} will overwrite your current
-@code{\Staff} settings.  If you wish to change the defaults for a
-staff which uses @code{\RemoveEmptyStaffContext}, you must do so
-after calling @code{\RemoveemptyStaffContext}, ie
+Le raccourci @code{\RemoveEmptyStaffContext} détruit tous les réglages
+du contexte @code{\Staff}.  Pour modifier des propriétés de portées gouvernées
+par @code{\RemoveEmptyStaffContext}, il faut le faire impérativement @emph{après}
+avoir invoqué @code{\RemoveEmptyStaffContext} :
 
 @example
 \layout @{
@@ -1268,15 +1073,16 @@ after calling @code{\RemoveemptyStaffContext}, ie
 @node Defining new contexts
 @subsection Defining new contexts
 
-Specific contexts, like @context{Staff} and @code{Voice}, are made of
-simple building blocks.  It is possible to create new types of
-contexts with different combinations of engraver plug-ins.
+Les contextes tels que @context{Staff} ou @code{Voice} sont faits
+de briques de constructions empilées.  En combinant divers graveurs,
+il est possible de créer de nouveaux types de contextes.
 
-The next example shows how to build a different type of
-@context{Voice} context from scratch.  It will be similar to
-@code{Voice}, but only prints centered slash noteheads.  It can be used
-to indicate improvisation in jazz pieces,
+Dans l'exemple suivant, on construit, de zéro, un nouveau contexte très
+semblable à @context{Voice}, mais qui n'imprime que des têtes de notes en forme
+de barres obliques au centre de la portée.  Un tel contexte, par exemple, peut
+servir à indiquer un passage improvisé dans un morceau de jazz.
 
+@c KEEP LY
 @lilypond[quote,ragged-right]
 \layout { \context {
   \name ImproVoice
@@ -1295,14 +1101,14 @@ to indicate improvisation in jazz pieces,
 
 \relative c'' {
   a4 d8 bes8 \new ImproVoice { c4^"ad lib" c
-   c4 c^"undress" c_"while playing :)" c }
+   c4 c^"dévêtez-vous" c_"tout en jouant :)" c }
   a1
 }
 @end lilypond
 
 
-These settings are defined within a @code{\context} block inside a
-@code{\layout} block,
+On a rassemblé les réglages dans un bloc @code{\context}, lui-même dans
+le bloc @code{\layout} :
 
 @example
 \layout @{
@@ -1312,59 +1118,62 @@ These settings are defined within a @code{\context} block inside a
 @}
 @end example
 
-In the following discussion, the example input shown should go in place
-of the @dots{} in the previous fragment.
+En lieu et place des points (@dots{}), voici les éléments à saisir :
 
-First it is necessary to define a name for the new context:
+@itemize @bullet
+@item Tout d'abord, il convient de donner un nom @code{\name} à notre nouveau contexte :
 
 @example
 \name ImproVoice
 @end example
 
-Since it is similar to the @context{Voice}, we want commands that work
-on (existing) @context{Voice}s to remain working.  This is achieved by
-giving the new context an alias @context{Voice},
+@item Comme il est très semblable à @context{Voice}, nous souhaitons que toutes les
+commandes associées au @context{Voice} déjà existant, restent valables.  D'où nécessité
+de la commande @code{\alias}, qui va l'associer au contexte @context{Voice} :
 
 @example
 \alias Voice
 @end example
 
-The context will print notes and instructive texts, so we need to add
-the engravers which provide this functionality,
+@item Ce contexte doit pouvoir imprimer des notes, et des indications textuelles ;
+on ajoute donc les graveurs appropriés.
 
 @example
 \consists Note_heads_engraver
 \consists Text_engraver
 @end example
 
-but we only need this on the center line,
+@item Cependant, on veut que les notes s'affichent toutes au centre de la portée :
 
 @example
 \consists Pitch_squash_engraver
 squashedPosition = #0
 @end example
 
-The @internalsref{Pitch_squash_engraver} modifies note heads (created
-by @internalsref{Note_heads_engraver}) and sets their vertical
-position to the value of @code{squashedPosition}, in this case@tie{}@code{0},
-the center line.
+@noindent
+Le graveur @rinternals{Pitch_squash_engraver} intercepte les notes créées par 
+@rinternals{Note_heads_engraver}, et les @q{écrase} pour qu'elles aient toutes la
+même position verticale, définie par @code{squashedPosition} : ici il s'agit de la
+valeur@tie{}@code{0}, c'est-à-dire la ligne du milieu.
 
-The notes look like a slash, and have no stem,
+@item On veut que les notes aient la forme d'une barre oblique, sans aucune hampe :
 
 @example
 \override NoteHead #'style = #'slash
 \override Stem #'transparent = ##t
 @end example
 
-All these plug-ins have to cooperate, and this is achieved with a
-special plug-in, which must be marked with the keyword @code{\type}.
-This should always be @internalsref{Engraver_group},
+@item Afin que tous ces graveurs puissent travailler de concert, on leur adjoint un
+sous-programme spécial, introduit par la commande @code{\type} : il s'agit de
+@rinternals{Engraver_group},
 
 @example
 \type "Engraver_group"
 @end example
 
-Put together, we get
+@end itemize
+
+Récapitulons -- on se retrouve avec le bloc suivant :
 
 @example
 \context @{
@@ -1381,10 +1190,11 @@ Put together, we get
 @end example
 
 @funindex \accepts
-Contexts form hierarchies.  We want to hang the @context{ImproVoice}
-under @context{Staff}, just like normal @code{Voice}s.  Therefore, we
-modify the @code{Staff} definition with the @code{\accepts}
-command,
+Ce n'est pas tout.  En effet, on veut intégrer le nouveau contexte
+@context{ImproVoice} dans la hiérarchie des contextes.  Tout comme le
+contexte @code{Voice}, sa place est au sein du contexte @code{Staff}.
+Nous allons donc modifier le contexte @context{Staff},
+au moyen de la commande @code{\accepts} :
 
 @example
 \context @{
@@ -1394,10 +1204,12 @@ command,
 @end example
 
 @funindex \denies
-The opposite of @code{\accepts} is @code{\denies},
-which is sometimes needed when reusing existing context definitions.
+Le contraire de @code{\accepts} est @code{\denies},
+qui est parfois utile lorsque l'on recycle des définitions de
+contextes déjà existantes.
 
-Putting both into a @code{\layout} block, like
+Enfin, tout cela doit prendre place dans le bloc @code{\layout},
+comme suit :
 
 @example
 \layout @{
@@ -1412,15 +1224,15 @@ Putting both into a @code{\layout} block, like
 @}
 @end example
 
-Then the output at the start of this subsection can be entered as
+On peut alors saisir la musique, comme dans l'exemple plus haut :
 
 @example
 \relative c'' @{
   a4 d8 bes8
   \new ImproVoice @{
     c4^"ad lib" c
-    c4 c^"undress"
-    c c_"while playing :)"
+    c4 c^"dévêtez-vous"
+    c c_"tout en jouant :)"
   @}
   a1
 @}
@@ -1430,9 +1242,9 @@ Then the output at the start of this subsection can be entered as
 @node Aligning contexts
 @subsection Aligning contexts
 
-New contexts may be aligned above or below exisiting contexts.  This
-could be useful in setting up a vocal staff (@ref{Vocal ensembles}) and
-in ossia,
+Il est possible d'aligner verticalement chaque nouveau contexte,
+en-dessous ou au-dessus, par exemple dans le cas de musique vocale
+(@rlearning{Vocal ensembles}) ou d'@qq{ossias}.
 
 @cindex ossia
 @findex alignAboveContext
@@ -1455,28 +1267,29 @@ ossia = { f4 f f f }
 @node Vertical grouping of grobs
 @subsection Vertical grouping of grobs
 
-The VerticalAlignment and VerticalAxisGroup grobs work together.
-VerticalAxisGroup groups together different grobs like Staff, Lyrics,
-etc. VerticalAlignment then vertically aligns the different grobs
-grouped together by VerticalAxisGroup. There is usually only one
-VerticalAlignment per score but every Staff, Lyrics, etc. has its own
-VerticalAxisGroup. 
+Les objets @code{VerticalAlignment} et @code{VerticalAxisGroup}
+travaillent de concert.  Comme leurs noms anglais l'indiquent,
+@code{VerticalAxisGroup} regroupe différents objets tels que les portées
+(@code{Staff}), les paroles (@code{Lyrics}) et ainsi de suite ; puis
+@code{VerticalAlignment} synchronise verticalement ces différents groupes.
+En général, il n'y a qu'un seul @code{VerticalAlignment} pour l'ensemble
+de la partition, mais chaque contexte @context{Staff}, @context{Lyrics}, etc.
+possède son propre @code{VerticalAxisGroup}.
 
 
 @node The \override command
 @section The @code{\override} command
 
-In the previous section, we have already touched on a command that
-changes layout details: the @code{\override} command.  In this section,
-we will look in more detail at how to use the command in practice.  The
-general syntax of this command is:
+La commande @code{\override} permet de modifier la mise en page
+en détail.  Examinons son utilisation concrètementet dans les détails.
+La syntaxe de cette commande ressemble généralement à :
 
 @example
-\override @var{context}.@var{layout_object} #'@var{layout_property} = #@var{value}
+\override @var{contexte}.@var{objet} #'@var{propriété} = #@var{valeur}
 @end example
 
-This will set the @var{layout_property} of the specified @var{layout_object},
-which is a member of the @var{context}, to the @var{value}.
+La propriété @var{propriété} de l'objet @var{objet}, appartenant au contexte
+@var{contexte}, se voit ainsi attribuer la valeur @var{valeur}.
 
 @menu
 * Constructing a tweak::        
@@ -1494,52 +1307,54 @@ which is a member of the @var{context}, to the @var{value}.
 @node Constructing a tweak
 @subsection Constructing a tweak
 
-Commands which change output generally look like
+Les commandes permettant de modifier l'apparence de la partition
+ressemblent en général à
 
 @example
 \override Voice.Stem #'thickness = #3.0
 @end example
 
 @noindent
-To construct this tweak we must determine these bits of information:
+Pour élaborer un réglage de ce type, on a besoin de connaître précisément :
 
 @itemize
-@item the context: here @context{Voice}.
-@item the layout object: here @code{Stem}.
-@item the layout property: here @code{thickness}.
-@item a sensible value: here @code{3.0}.
+@item le contexte : ici @context{Voice} (la voix).
+@item l'objet à affecter : ici @code{Stem} (les hampes).
+@item la propriété à modifier : ici @code{thickness} (l'épaisseur du trait).
+@item la valeur désirée : ici @code{3.0} (par défaut, elle est de 1.3).
 @end itemize
 
-Some tweakable options are called @q{subproperties} and reside inside
-properties.  To tweak those, use commands in the form
+Certaines @q{sous-propriétés} sont parfois contenues dans une propriété.
+La commande devient alors :
 
 @example
 \override Stem #'details #'beamed-lengths = #'(4 4 3)
 @end example
 
-@cindex internal documentation
-@cindex finding graphical objects
-@cindex graphical object descriptions
-@cindex tweaking
+@cindex documentation exhaustive
+@cindex trouver des objets graphiques
+@cindex objets graphiques, description
+@cindex régler
 @funindex \override
-@cindex internal documentation
 
-For many properties, regardless of the data type of the property, setting the
-property to false ( @code{##f} ) will result in turning it off, causing
-Lilypond to ignore that property entirely.  This is particularly useful for
-turning off grob properties which may otherwise be causing problems.
+Pour bien des propriétés, quel que soit le type de valeur requise,
+attribuer la valeur @q{faux} (@code{##f} en Scheme) reviendra à désactiver
+complètement l'action de la propriété qui se trouve ainsi purement
+ignorée par LilyPond.  Cela peut s'avérer fort utile pour des propriétés
+causant des désagréments.
 
+@c such announcements are to be avoided -vv
+@ignore
 We demonstrate how to glean this information from the notation manual
 and the program reference.
-
+@end ignore
 
 
 
 @node Navigating the program reference
 @subsection Navigating the program reference
 
-Suppose we want to move the fingering indication in the fragment
-below:
+Comment, par exemple, déplacer le doigté dans le fragment suivant ?
 
 @lilypond[quote,fragment,relative=2,verbatim]
 c-2
@@ -1547,13 +1362,13 @@ c-2
 f
 @end lilypond
 
-If you visit the documentation on fingering instructions (in
-@ref{Fingering instructions}), you will notice:
+Sur la page de la documentation relative aux doigtés, c'est-à-dire
+@ref{Fingering instructions}, se trouve l'indication suivante :
 
 @quotation
 @seealso
 
-Program reference: @internalsref{Fingering}.
+Référence du programme : @rinternals{Fingering}.
 
 @end quotation
 
@@ -1568,7 +1383,7 @@ expression for the input @code{-2}.  The page contains many links
 forward.  For example, it says
 
 @quotation
-Accepted by: @internalsref{Fingering_engraver},
+Accepted by: @rinternals{Fingering_engraver},
 @end quotation
 
 @noindent
@@ -1576,7 +1391,7 @@ That link brings us to the documentation for the Engraver, the
 plug-in, which says
 
 @quotation
-This engraver creates the following layout objects: @internalsref{Fingering}.
+This engraver creates the following layout objects: @rinternals{Fingering}.
 @end quotation
 
 In other words, once the @code{FingerEvent}s are interpreted, the
@@ -1587,7 +1402,7 @@ In other words, once the @code{FingerEvent}s are interpreted, the
 @c  I can't figure out what this is supposed to mean.  -gp
 
 The @code{Fingering_engraver} is also listed to create
-@internalsref{Fingering} objects,
+@rinternals{Fingering} objects,
 
 @c  old info?  it doesn't make any sense to me with our current docs.
 This is also the
@@ -1596,72 +1411,84 @@ manual.
 @end ignore
 
 @ifnothtml
-The programmer's reference is available as an HTML document.  It is
-highly recommended that you read it in HTML form, either online or
-by downloading the HTML documentation.  This section will be much more
-difficult to understand if you are using the 
-PDF manual.
+Ladite référence est disponible au format HTML, ce qui rend la navigation bien
+plus aisée.  Il est possible soit de la lire en ligne, soit de la télécharger
+dans ce format.  La démarche présentée ici sera plus difficle à comprendre
+dans un document au format PDF.
 @end ifnothtml
 
-Follow the link to @internalsref{Fingering}.  At the top of the
-page, you will see
+Suivons le lien @rinternals{Fingering}.  En haut de la nouvelle page,
+on peut lire
 
 @quotation
-Fingering objects are created by: @internalsref{Fingering_engraver} and
-@internalsref{New_fingering_engraver}.
+Fingering objects are created by: @rinternals{Fingering_engraver} and
+@rinternals{New_fingering_engraver}.
 @end quotation
 
-By following related links inside the program reference, we can follow the
-flow of information within the program:
+En d'autres termes, @emph{Les indications de doigtés} 
+(@code{Fingering} en anglais) @emph{sont créées par les graveurs
+@rinternals{Fingering_engraver} et @rinternals{New_fingering_engraver}.}
+
+En suivant derechef les liens propres à la référence du programme, on suit en fait
+le cheminement qui aboutit à la création de la partition :
 
 @itemize @bullet
 
-@item @internalsref{Fingering}:
-@internalsref{Fingering} objects are created by:
-@internalsref{Fingering_engraver}
+@item @rinternals{Fingering}:
+@rinternals{Fingering} objects are created by:
+@rinternals{Fingering_engraver}
 
-@item @internalsref{Fingering_engraver}:
-Music types accepted: @internalsref{fingering-event}
+@item @rinternals{Fingering_engraver}:
+Music types accepted: @rinternals{fingering-event}
 
-@item @internalsref{fingering-event}:
+@item @rinternals{fingering-event}:
 Music event type @code{fingering-event} is in Music expressions named
-@internalsref{FingerEvent}
+@rinternals{FingerEvent}
 @end itemize
 
-This path goes against the flow of information in the program: it
-starts from the output, and ends at the input event.  You could
-also start at an input event, and read with the flow of
-information, eventually ending up at the output object(s).
+Ce cheminement se produit, bien sûr, en sens inverse : nous sommes ici partis
+du résultat, et avons abouti aux évènements (en anglais @q{Events}) engendrés
+par le fichier d'entrée.  L'inverse est également possible : on peut partir d'un
+évènement, et suivre le cheminement de LilyPond qui aboutit à la création d'un 
+ou plusieurs objets graphiques.
 
-The program reference can also be browsed like a normal document.  It
-contains chapters on
+La référence du programme peut également se parcourir comme un document normal.
+On y trouve des chapitres tels que
 @ifhtml
-@internalsref{Music definitions},
+@rinternals{Music definitions},
 @end ifhtml
 @ifnothtml
 @code{Music definitions}
 @end ifnothtml
-on @internalsref{Translation}, and the @internalsref{Backend}.  Every
-chapter lists all the definitions used and all properties that may be
-tuned.
+@rinternals{Translation}, ou encore @rinternals{Backend}.  Chaque chapitre
+recense toutes les définitions employées, et les propriétés sujettes à 
+ajustements.
+
+@c -- what about adding a link to the glossary here ? -vv
+@ignore
+La Référence du programme n'est pas traduite en français -- notamment du fait
+qu'elle est en évolution constante, tout comme LilyPond.  En revanche, les termes
+musicaux font l'objet d'un @commentfairelelien{glossaire} fort utile pour les utilisateurs
+francophones.
+@end ignore
 
 
 @node Layout interfaces
 @subsection Layout interfaces
 
-@cindex interface, layout
-@cindex layout interface
-@cindex grob
+@cindex interfaces de rendu
+@cindex rendu, interfaces de
+@cindex objets graphiques
 
-The HTML page that we found in the previous section describes the
-layout object called @internalsref{Fingering}.  Such an object is a
-symbol within the score.  It has properties that store numbers (like
-thicknesses and directions), but also pointers to related objects.  A
-layout object is also called a @emph{Grob}, which is short for Graphical
-Object.  For more details about Grobs, see @internalsref{grob-interface}.
+Tous les éléments de notation sont considérés comme des objets graphiques
+(en anglais @q{Graphical Object}, d'où le diminutif @emph{Grob}).
+Chaque objet est doté d'un certain nombre de propriétés (l'épaisseur du trait,
+l'orientation, etc.), et lié à d'autres objets.
+Le fonctionnement de ces objets est décrit en détail dans @rinternals{grob-interface}.
 
-The page for @code{Fingering} lists the definitions for the
-@code{Fingering} object.  For example, the page says
+Prenons l'exemple des doigtés (en anglais @q{Fingering}).
+La page @code{Fingering} de la Référence du programme établit une liste de définitions
+propres à ce type d'objets :
 
 @quotation
 @code{padding} (dimension, in staff space):
@@ -1670,57 +1497,65 @@ The page for @code{Fingering} lists the definitions for the
 @end quotation
 
 @noindent
-which means that the number will be kept at a distance of at least 0.5
-of the note head.
+Ce qui signifie que les doigtés doivent être maintenus à une certaine distance (@emph{padding})
+des notes : 0,5 unités @emph{staff-space} (espace de portée).
+
 
+Chaque objet peut avoir plusieurs attributs, en tant qu'élément typographique
+ou musical.  Ainsi, un doigté (objet @q{Fingering}) possède les attributs suivants :
 
-Each layout object may have several functions as a notational or
-typographical element.  For example, the Fingering object
-has the following aspects
 
 @itemize @bullet
 @item
-Its size is independent of the horizontal spacing, unlike slurs or beams.
+Sa taille ne dépend pas de l'espacement horizontal, contrairement aux liaisons ou ligatures.
 
 @item
-It is a piece of text.  Granted, it is usually a very short text.
+C'est du texte -- un texte vraiment court, certes.
 
 @item
-That piece of text is typeset with a font, unlike slurs or beams.
+Ce texte est imprimé au moyen d'une fonte, contrairement aux liaisons ou ligatures.
 
 @item
-Horizontally, the center of the symbol should be aligned to the
-center of the notehead.
+Sur l'axe horizontal, le centre de ce symbole doit être aligné avec le centre de la note.
 
 @item
-Vertically, the symbol is placed next to the note and the staff.
+Sur l'axe vertical, le symbole doit être proche de la note et de la portée.
 
 @item
-The vertical position is also coordinated with other superscript
-and subscript symbols.
+Sur l'axe vertical encore, il doit également s'ordonner avec les éventuels
+autres symboles, ponctuations, ou éléments textuels.
 @end itemize
 
-Each of these aspects is captured in so-called @emph{interface}s,
-which are listed on the @internalsref{Fingering} page at the bottom
+Faire appliquer ces différents attributs est le rôle des @emph{interfaces},
+que l'on trouve en bas de la page @rinternals{Fingering}.
 
 @quotation
 This object supports the following interfaces:
-@internalsref{item-interface},
-@internalsref{self-alignment-interface},
-@internalsref{side-position-interface}, @internalsref{text-interface},
-@internalsref{text-script-interface}, @internalsref{font-interface},
-@internalsref{finger-interface}, and @internalsref{grob-interface}.
+@rinternals{item-interface},
+@rinternals{self-alignment-interface},
+@rinternals{side-position-interface}, @rinternals{text-interface},
+@rinternals{text-script-interface}, @rinternals{font-interface},
+@rinternals{finger-interface}, and @rinternals{grob-interface}.
 @end quotation
 
-Clicking any of the links will take you to the page of the respective
-object interface.  Each interface has a number of properties.  Some of
-them are not user-serviceable (@q{Internal properties}), but others
-can be modified.
+@noindent
+En français,
+
+@quotation
+Cet objet admet les interfaces suivantes :
+@end quotation
+
+Suit la liste des interfaces en question, présentées comme autant de liens,
+qui conduisent sur les pages dédiées à chacune d'entre elles.
+Chaque interface est dotée d'un certain nombre de propriétés, dont certaines
+peuvent être modifiées, et d'autres non (les @q{Internal properties}, ou 
+propriétés internes).
 
-We have been talking of @emph{the} @code{Fingering} object, but actually it
-does not amount to much.  The initialization file (see
-@ref{Default files})
-@file{scm/@/define@/-grobs@/.scm} shows the soul of the @q{object},
+Pour aller encore plus loin, plutôt que de simplement parler de l'objet
+@code{Fingering}, ce qui ne nous avance pas à grand chose, on peut aller explorer
+son âme même, dans les fichiers source de LilyPond (voir
+@rlearning{Default files}), en l'occurence le fichier
+@file{scm/@/define@/-grobs@/.scm} :
 
 @example
 (Fingering
@@ -1746,15 +1581,14 @@ does not amount to much.  The initialization file (see
 @end example
 
 @noindent
-As you can see, the @code{Fingering} object is nothing more than a
-bunch of variable settings, and the webpage in the Program Reference
-is directly generated from this definition.
-
+@dots{}où l'on découvre que l'objet @code{Fingering} n'est rien de plus qu'un
+amas de variables et de réglages.  La page de la Référence du programme est
+en fait directement engendrée par cette définition.
 
 @node Determining the grob property
 @subsection Determining the grob property
 
-Recall that we wanted to change the position of the @b{2} in
+Nous voulions changer la position du chiffre @b{2} dans le fragment suivant :
 
 @lilypond[quote,fragment,relative=2,verbatim]
 c-2
@@ -1762,10 +1596,10 @@ c-2
 f
 @end lilypond
 
-Since the @b{2} is vertically positioned next to its note, we have to
-meddle with the interface associated with this positioning.  This is
-done using @code{side-position-interface}.  The page for this interface
-says
+Dans la mesure où le @b{2} est placé, verticalement, à proximité de la note qui lui
+correspond, nous allons devoir trouver l'interface en charge de ce placement, qui se
+trouve être @code{side-position-interface}.  Sur la page de cette interface, on
+peut lire :
 
 @quotation
 @code{side-position-interface}
@@ -1775,9 +1609,19 @@ support).  The property @code{direction} signifies where to put the
 victim object relative to the support (left or right, up or down?)
 @end quotation
 
+@noindent
+Ce qui signifie
+@quotation
+@code{side-position-interface}
+
+Placer l'objet affecté à proximité d'autres objets.  La propriété
+@code{direction} indique où placer l'objet (à droite ou à gauche,
+en haut ou en bas).
+@end quotation
+
 @cindex padding
 @noindent
-Below this description, the variable @code{padding} is described as
+En-dessous de cette description se trouve décrite la variable @code{padding} :
 
 @quotation
 @table @code
@@ -1788,16 +1632,23 @@ Add this much extra space between objects that are next to each other.
 @end table
 @end quotation
 
-By increasing the value of @code{padding}, we can move the
-fingering away from the notehead.  The following command inserts
-3 staff spaces of white
-between the note and the fingering:
+@noindent
+Ce qui signifie
+@quotation 
+Ajouter tel espace supplémentaire entre des objets proches les uns des
+autres.
+@end quotation
+
+@noindent
+En augmentant la valeur de @code{padding}, on peut donc éloigner le doigté de la
+note.  La commande suivante insère trois unités d'espace vide entre la note et le doigté :
+
 @example
 \once \override Voice.Fingering #'padding = #3
 @end example
 
-Inserting this command before the Fingering object is created,
-i.e., before @code{c2}, yields the following result:
+En ajoutant cette commande avant la création du doigté (de l'objet @q{Fingering}),
+donc avant @code{c2}, on obtient le résultat suivant :
 
 @lilypond[quote,relative=2,fragment,verbatim]
 \once \override Voice.Fingering #'padding = #3
 @end lilypond
 
 
-In this case, the context for this tweak is @context{Voice}.  This
-fact can also be deduced from the program reference, for the page for
-the @internalsref{Fingering_engraver} plug-in says
+Dans le cas présent, le réglage intervient dans le contexte @context{Voice},
+ce qui pouvait également se déduire de la Référence du programme, où la page
+du graveur @rinternals{Fingering_engraver} indique :
 
 @quotation
-Fingering_engraver is part of contexts: @dots{} @internalsref{Voice}
+Fingering_engraver is part of contexts: @dots{} @rinternals{Voice}
+@end quotation
+
+@noindent
+Ce qui signifie
+@quotation
+Le graveur Fingering_engraver fait partie des contextes : @dots{} @rinternals{Voice}
 @end quotation
 
 
@@ -1821,9 +1678,11 @@ Fingering_engraver is part of contexts: @dots{} @internalsref{Voice}
 
 @funindex \tweak
 
-In some cases, it is possible to take a short-cut for tuning graphical
-objects.  For objects that result directly from a piece of the input,
-you can use the @code{\tweak} function, for example
+Dans certains cas, on peut passer par un raccourci pour arranger les
+objets graphiques.  Lorsqu'un objet est directement engendré par un élément distinct
+du fichier source, on peut utiliser la commande @code{\tweak}.
+
+Dans l'accord suivant, les notes sont modifiées une par une :
 
 @lilypond[relative=2,fragment,verbatim,ragged-right]
 <
@@ -1834,40 +1693,41 @@ you can use the @code{\tweak} function, for example
 >4-\tweak #'padding #10 -.
 @end lilypond
 
-As you can see, properties are set in the objects directly,
-without mentioning the grob name or context where this should be
-applied.
+Comme on peut le voir, les propriétés sont ici modifiées directement
+en même temps que les objets sont saisis.  Il n'est plus besoin de spécifier ni
+le nom de l'objet (@emph{grob}), ni le contexte dans lequel cela doit s'appliquer.
 
-This technique only works for objects that are directly connected to
-an @internalsref{event} from the input, for example
+Ce procédé ne marche que pour des objets directement liés aux évènements 
+(@rinternals{Event}) du fichier source.  Par exemple :
 
 @itemize @bullet
-@item note heads, caused by chord-pitch (i.e., notes inside a chord)
-@item articulation signs, caused by articulation instructions
+@item Les têtes de notes au sein d'un accord, qui sont directement engendrées par 
+les hauteurs indiquées
+@item Les signes d'articulation, engendrés par les indications de ponctuation.
 @end itemize
 
-It notably does not work for stems and accidentals (these are caused
-by note heads, not by music events) or clefs (these are not caused by
-music inputs, but rather by the change of a property value).
+En revanche, les hampes ou les altérations sont engendrées par les têtes de notes,
+et non par des évènements dans le fichier source.  De même pour les clés, qui ne
+sont pas directement engendrées par le fichier source, mais plutôt par le
+changement d'une propriété interne.
 
-There are very few objects which are @emph{directly} connected to
-output.  A normal note (like @code{c4}) is not directly connected
-to output, so
+En fait, très peu d'objets passent @emph{directement} du code source à la partition.
+Une note toute simple, par exemple @code{c4}, fait l'objet d'un traitement et n'est donc
+pas directement rendue ; c'est pourquoi le code suivant ne sera d'aucun effet :
 
 @example
 \tweak #'color #red c4
 @end example
 
 @noindent
-does not change color.  See @ref{Displaying music expressions}, for
-details.
+Voir pour plus de détails @ref{Displaying music expressions}.
 
 
 @node Using Scheme code instead of \tweak
 @subsection Using Scheme code instead of @code{\tweak}
 
-The main disadvantage of @code{\tweak} is its syntactical
-inflexibility.  For example, the following produces a syntax error.
+L'inconvénient principal de la commande @code{\tweak} est la rigidité de sa
+syntaxe.  Par exemple, le code suivant produit une erreur.
 
 @example
 F = \tweak #'font-size #-3 -\flageolet
@@ -1878,13 +1738,13 @@ F = \tweak #'font-size #-3 -\flageolet
 @end example
 
 @noindent
-With other words, @code{\tweak} doesn't behave like an articulation
-regarding the syntax; in particular, it can't be attached with
-@samp{^} and @samp{_}.
+En d'autres termes, @code{\tweak} ne se comporte pas comme une articulation :
+il ne peut notamment pas être accolé avec les symboles @samp{^} ou @samp{_}.
 
-Using Scheme, this problem can be circumvented.  The route to the
-result is given in @ref{Adding articulation to notes (example)},
-especially how to use @code{\displayMusic} as a helping guide.
+C'est en se servant du langage Scheme que l'on peut résoudre ce problème.
+Dans cet exemple, on a recours aux méthodes décrites dans @ref{Adding 
+articulation to notes (example)}, en particulier quant à l'emploi de
+@code{\displayMusic}.
 
 @example
 F = #(let ((m (make-music 'ArticulationEvent
@@ -1900,115 +1760,115 @@ F = #(let ((m (make-music 'ArticulationEvent
 @end example
 
 @noindent
-Here, the @code{tweaks} properties of the flageolet object
-@samp{m} (created with @code{make-music}) are extracted with
-@code{ly:music-property}, a new key-value pair to change the
-font size is prepended to the property list with the
-@code{acons} Scheme function, and the result is finally
-written back with @code{set!}.  The last element of the
-@code{let} block is the return value, @samp{m} itself.
+Ici les propriétés @code{tweak} de l'objet flageolet nommé
+@samp{m} (créé au moyen de @code{make-music}) sont extraites par
+@code{ly:music-property}, une nouvelle valeur de la taille de fonte
+est ajoutée à la liste de ses propriétés (grâce à la fonction Scheme
+@code{acons}), et le résultat de cette opération est renvoyé par @code{set!}.
+Le dernier élément, dans ce bloc @code{let}, est la valeur finale de
+@samp{m} lui-même.
 
 
 @node \set versus \override
 @subsection @code{\set} vs. @code{\override}
 
-We have seen two methods of changing properties: @code{\set} and
-@code{\override}.  There are actually two different kinds of
-properties.
-
-Contexts can have properties, which are usually named in
-@code{studlyCaps}.  They mostly control the translation from
-music to notatino, eg. @code{localKeySignature} (for determining
-whether to print accidentals), @code{measurePosition} (for
-determining when to print a barline).  Context properties can
-change value over time while interpreting a piece of music;
-@code{measurePosition} is an obvious example of
-this.  Context properties are modified with @code{\set}.
-
-There is a special type of context property: the element
-description. These properties are named in @code{StudlyCaps}
-(starting with capital letters).  They contain the
-@q{default settings} for said graphical object as an
-association list.  See @file{scm/@/define@/-grobs@/.scm}
-to see what kind of settings there are.  Element descriptions
-may be modified with @code{\override}.
-
-@code{\override} is actually a shorthand;
+Si les propriétés peuvent être modifiées de deux façons, par les commandes
+@code{\set} et @code{\override}, c'est qu'il y a deux types de propriétés.
+
+Les contextes peuvent avoir des propriétés, dont les noms commencent par une
+minuscule puis comprennent une ou plusieurs majuscules (de style
+@code{totoTutu}).  Elles ont surtout trait
+à la notation des éléments musicaux : par exemple, @code{localKeySignature} permet
+de choisir s'il faut ou non imprimer une altération, ou @code{measurePosition} permet
+de choisir quand il faut imprimer une barre de mesure.  Ces propriétés de contextes
+sont appelées à changer au long de l'interprétation de la partition :
+@code{measurePosition} en est un exemple évident.  Ces propriétés doivent
+être modifiées avec la commande @code{\set}.
+
+Il existe un type particulier de propriétés : les descriptions
+d'éléments.  Ces propriétés, dont les noms commencent par une majuscule, puis comprennent
+une ou plusieurs majuscules (de style @code{TotoTata}), contiennent les réglages
+@q{par défaut} pour les objets graphiques.  Ces réglages sont sous forme de liste Scheme ; on
+peut les consulter dans le fichier @file{scm/@/define@/-grobs@/.scm}.
+Les descriptions d'éléments doivent être modifiées avec la commande @code{\override}.
+
+@code{\override} est en fait un raccourci :
 
 @example
-\override @var{context}.@var{name} #'@var{property} = #@var{value}
+\override @var{contexte}.@var{objet} #'@var{propriété} = #@var{valeur}
 @end example
 
 @noindent
-is more or less equivalent to
+est plus ou moins l'équivalent de
 
 @c  leave this long line -gp
 @example
-\set @var{context}.@var{name} #'@var{property} = #(cons (cons '@var{property} @var{value}) <previous value of @var{context})
+\set @var{contexte}.@var{objet} #'@var{propriété} = #(cons (cons '@var{propriété} @var{valeur}) <valeur précédente de @var{contexte})
 @end example
 
-The value of @code{context} (the alist) is used to initalize
-the properties of individual grobs.  Grobs also have
-properties, named in Scheme style, with
-@code{dashed-words}.  The values of grob properties change
-during the formatting process: formatting basically amounts
-to computing properties using callback functions.
+La valeur de @code{context} (la liste Scheme, ou @q{alist}) sert à initialiser
+les propriétés des objets un par un.  Les objets eux-même ont leurs propriétés,
+dont les noms, dans la tradition du langage Scheme, comprennent un trait d'union
+(@code{toto-titi}).  Ces propriétés internes changent constamment au cours de la mise
+en page : en fait, la gravure d'une page n'est autre que le calcul de toutes
+ces propriétés, au moyen de fonctions de rappel.
 
-@code{fontSize} is a special property: it is equivalent to
-entering @code{\override ... #'font-size} for all pertinent
-objects.  Since this is a common change, the special
-property (modified with @code{\set}) was created.
+La propriété @code{fontSize} est une exception : c'est un raccourci, qui équivaudrait
+à saisir @code{\override @dots{} #'font-size} pour tous les objets
+textuels.  Dans la mesure où il s'agit d'une manipulation très
+courante, une propriété spéciale a été créée.  Elle doit
+être modifiée avec la commande @code{\set}.
 
 
 @node Difficult tweaks
 @subsection Difficult tweaks
 
-There are a few classes of difficult adjustments.
+Certains réglages sont plus délicats que d'autres.
 
 @itemize @bullet
 
 
 @item
-One type of difficult adjustment is the appearance of spanner objects,
-such as slur and tie.  Initially, only one of these objects is created,
-and they can be adjusted with the normal mechanism.  However, in some
-cases the spanners cross line breaks.  If this happens, these objects
-are cloned.  A separate object is created for every system that it is
-in.  These are clones of the original object and inherit all
-properties, including @code{\override}s.
+L'un d'entre eux est l'apparence des objets dits @q{spanner}, qui s'étendent 
+horizontalement, tels que les liaisons.  Si, en principe, un seul de ces objets
+est créé à la fois et peut donc être modifié de façon habituelle, lorsque ces
+objets doivent enjamber un changement de ligne, ils sont dupliqués au début
+du ou des systèmes suivants.  Comme ces objets sont des clones de l'objet d'origine,
+ils en héritent toutes les propriétés, y compris les éventuelles commandes @code{\override}.
 
 
-In other words, an @code{\override} always affects all pieces of a
-broken spanner.  To change only one part of a spanner at a line break,
-it is necessary to hook into the formatting process.  The
-@code{after-line-breaking} callback contains the Scheme procedure that
-is called after the line breaks have been determined, and layout
-objects have been split over different systems.
+En d'autres termes, une commande @code{\override} affecte toujours les deux extrémités
+d'un objet @q{spanner}.  Pour ne modifier que la partie précédant ou suivant le changement
+de ligne, il faut intervenir directement dans le processus de mise en page.  
+La fonction de rappel @code{after-line-breaking} contient toute l'opération Scheme
+effectuée lorsque les sauts de lignes ont été déterminés, et que des objets graphiques
+ont été divisés sur des systèmes différents.
 
-In the following example, we define a procedure
-@code{my-callback}.  This procedure
+Dans l'exemple suivant, on définit une nouvelle opération nommée
+@code{my-callback}.  Cette opération
 
 @itemize @bullet
 @item
-determines if we have been split across line breaks
+détermine si l'objet a été divisé à l'occasion d'un changement de ligne
 @item
-if yes, retrieves all the split objects
+si oui, recherche les différents morceaux de l'objet
 @item
-checks if we are the last of the split objects
+vérifie si l'objet considéré est bien la deuxième moitié d'un objet divisé
 @item
-if yes, it sets @code{extra-offset}.
+si oui, applique un espacement supplémentaire (@code{extra-offset}).
 @end itemize
 
-This procedure is installed into @internalsref{Tie}, so the last part
-of the broken tie is translated up.
+On ajoute cette procédure à l'objet @rinternals{Tie} (liaison de tenue),
+de façon à ce que le deuxième morceau d'une liaison divisée soit rehaussé.
 
+@c KEEP LY
 @lilypond[quote,verbatim,ragged-right]
 #(define (my-callback grob)
   (let* (
-         ; have we been split?
+         ; l'objet a-t-il été divisé ?
          (orig (ly:grob-original grob))
 
-         ; if yes, get the split pieces (our siblings)
+         ; si oui, rechercher les morceaux frères (siblings)
          (siblings (if (ly:grob? orig)
                      (ly:spanner-broken-into orig) '() )))
 
@@ -2024,27 +1884,26 @@ of the broken tie is translated up.
 @end lilypond
 
 @noindent
-When applying this trick, the new @code{after-line-breaking} callback
-should also call the old one @code{after-line-breaking}, if there is
-one.  For example, if using this with @code{Hairpin},
-@code{ly:hairpin::after-line-breaking} should also be called.
+Lorsque cette astuce va être appliquée, notre nouvelle fonction de rappel
+@code{after-line-breaking} devra également appeler celle d'origine
+(@code{after-line-breaking}), si elle existe.
+Ainsi, pour l'utiliser dans le cas d'un crescendo (objet @code{Hairpin}),
+il faudra appeler également @code{ly:hairpin::after-line-breaking}.
 
 
-@item Some objects cannot be changed with @code{\override} for
-technical reasons.  Examples of those are @code{NonMusicalPaperColumn}
-and @code{PaperColumn}.  They can be changed with the
-@code{\overrideProperty} function, which works similar to @code{\once
-\override}, but uses a different syntax.
+@item Pour des raisons d'ordre technique, certains objets ne peuvent être modifiés par
+@code{\override}.  Parmi ceux-là, les objets @code{NonMusicalPaperColumn}
+et @code{PaperColumn}.  La commande @code{\overrideProperty} sert à les modifier, de
+façon similaire à @code{\once \override}, mais avec une syntaxe différente :
 
 @example
 \overrideProperty
-#"Score.NonMusicalPaperColumn"  % Grob name
-#'line-break-system-details     % Property name
-#'((next-padding . 20))         % Value
+#"Score.NonMusicalPaperColumn"  % Nom de l'objet
+#'line-break-system-details     % Nom de la propriété
+#'((next-padding . 20))         % valeur
 @end example
 
-Note, however, that @code{\override}, applied to
-@code{NoteMusicalPaperColumn} and @code{PaperColumn}, still works as
-expected within @code{\context} blocks.
+Notez cependant que la commande @code{\override} peut tout de même être appliquée
+à @code{NoteMusicalPaperColumn} et @code{PaperColumn} dans un bloc @code{\context}.
 
 @end itemize