]> git.donarmstrong.com Git - lilypond.git/blobdiff - po/fr.po
Run grand-replace (issue 3765)
[lilypond.git] / po / fr.po
index 93157579340e0a44d5ea3bd29a25e8b798d3ecfb..f6196309224f550c17b8f520219dd66e7c63971b 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
 # French translation of GNU/lilypond - http//lilypond.org
 # Copyright © 2004 Free Software Foundation, Inc.
 # Michel Robitaille <robitail@IRO.UMontreal.CA>, 1996-2007.
-# Jean-Charles Malahieude <lilyfan@orange.fr>, 2007-2009
+# Jean-Charles Malahieude <lilyfan@orange.fr>, 2007-2013
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: lilypond 2.13.3\n"
+"Project-Id-Version: lilypond 2.17.96\n"
 "Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs\n"
-"POT-Creation-Date: 2008-12-20 11:58+0100\n"
-"PO-Revision-Date: 2009-07-28 18:25+0200\n"
+"POT-Creation-Date: 2013-11-24 12:14+0000\n"
+"PO-Revision-Date: 2013-11-27 19:16+0100\n"
 "Last-Translator: Jean-Charles Malahieude <lilyfan@orange.fr>\n"
 "Language-Team: French <traduc@traduc.org>\n"
+"Language: fr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: convertrules.py:12
+#: book_base.py:26
 #, python-format
-msgid "Not smart enough to convert %s"
-msgstr "Pas assez d'intelligence pour convertir %s"
+msgid "file not found: %s"
+msgstr "fichier non trouvé : %s"
+
+#: book_base.py:164
+msgid "Output function not implemented"
+msgstr "Fonction de production non implémentée."
+
+#: book_latex.py:174
+msgid "cannot find \\begin{document} in LaTeX document"
+msgstr "Impossible de trouver \\begin{document} dans le document LaTeX."
+
+#: book_latex.py:190
+#, python-format
+msgid "Running `%s' on file `%s' to detect default page settings.\n"
+msgstr ""
+"Traitement par « %s » du fichier « %s »\n"
+"  pour déterminer la mise en page par défaut.\n"
+
+#: book_latex.py:212 book_texinfo.py:228
+msgid "Unable to auto-detect default settings:\n"
+msgstr "Impossible de détecter automatiquement les réglages par défaut :\n"
+
+#: book_latex.py:224 book_texinfo.py:240
+#, python-format
+msgid ""
+"Unable to auto-detect default settings:\n"
+"%s"
+msgstr ""
+"Impossible de détecter automatiquement les réglages par défaut :\n"
+"%s"
+
+#: book_latex.py:247
+msgid "cannot detect textwidth from LaTeX"
+msgstr "impossible d'extraire la largeur du texte à partir de LaTeX"
+
+#: book_snippets.py:406
+#, python-format
+msgid "deprecated ly-option used: %s=%s"
+msgstr "option ly-option obsolète : %s=%s"
+
+#: book_snippets.py:408
+#, python-format
+msgid "compatibility mode translation: %s=%s"
+msgstr "bascule en mode de compatibilité : %s=%s"
+
+#: book_snippets.py:411
+#, python-format
+msgid "deprecated ly-option used: %s"
+msgstr "option ly-option obsolète : %s"
+
+#: book_snippets.py:413
+#, python-format
+msgid "compatibility mode translation: %s"
+msgstr "bascule en mode de compatibilité : %s"
+
+#: book_snippets.py:530
+#, python-format
+msgid "ignoring unknown ly option: %s"
+msgstr "option ly inconnue et ignorée : %s"
+
+#: book_snippets.py:621
+#, python-format
+msgid "Missing files: %s"
+msgstr "Fichier absent : %s"
+
+#: book_snippets.py:651
+#, python-format
+msgid "Could not overwrite file %s"
+msgstr "Impossible d'écraser le fichier « %s »"
+
+#: book_snippets.py:738
+#, python-format
+msgid "Running through filter `%s'"
+msgstr "Passage par le filtre « %s »"
+
+#: book_snippets.py:759
+#, python-format
+msgid "`%s' failed (%d)"
+msgstr "« %s » a échoué (%d)"
+
+#: book_snippets.py:760
+msgid "The error log is as follows:"
+msgstr "Voici le journal d'erreurs :"
+
+#: book_snippets.py:880
+#, python-format
+msgid "Converting MusicXML file `%s'...\n"
+msgstr "Lecture du fichier MusicXML « %s »...\n"
+
+#: book_snippets.py:907
+#, python-format
+msgid ""
+"%s: duplicate filename but different contents of original file,\n"
+"printing diff against existing file."
+msgstr ""
+"%s : fichier en doublon mais contenu différent de l'original,\n"
+"  impression d'un différentiel entre les deux fichiers."
+
+#: book_snippets.py:920
+#, python-format
+msgid ""
+"%s: duplicate filename but different contents of converted lilypond file,\n"
+"printing diff against existing file."
+msgstr ""
+"%s : fichier en doublon mais contenu différent du fichier lilypond\n"
+"  converti ; impression d'un différentiel entre les deux fichiers."
+
+#. Work around a texi2pdf bug: if LANG=C is not given, a broken regexp is
+#. used to detect relative/absolute paths, so the absolute path is not
+#. detected as such and this command fails:
+#: book_texinfo.py:206
+#, python-format
+msgid "Running texi2pdf on file %s to detect default page settings.\n"
+msgstr "Traitement de « %s » par texi2pdf pour détecter la mise en page par défaut.\n"
 
 #: convertrules.py:13
+#, python-format
+msgid "Not smart enough to convert %s."
+msgstr "Pas assez intelligent pour convertir « %s »."
+
+#: convertrules.py:14
 msgid "Please refer to the manual for details, and update manually."
 msgstr ""
 "Consultez le manuel pour plus de détails,\n"
-"et faites la mise à jour manuellement."
+"  et faites la mise à jour manuellement."
 
-#: convertrules.py:14
+#: convertrules.py:15
 #, python-format
 msgid "%s has been replaced by %s"
 msgstr "%s a été remplacé par %s"
 
-#: convertrules.py:24 musicexp.py:16 convert-ly.py:50 lilypond-book.py:94
-#: warn.cc:48 input.cc:90
+#: convertrules.py:25 lilylib.py:136 warn.cc:223
 #, c-format, python-format
 msgid "warning: %s"
 msgstr "Avertissement : %s"
 
-#: convertrules.py:49 convertrules.py:99
+#: convertrules.py:50 convertrules.py:95
 msgid "\\header { key = concat + with + operator }"
 msgstr "\\header { clé = concat + avec + opérateur }"
 
-#: convertrules.py:58
+#: convertrules.py:57
 #, python-format
 msgid "deprecated %s"
 msgstr "%s est obsolète"
 
-#: convertrules.py:70
+#: convertrules.py:66
 msgid "deprecated \\textstyle, new \\key syntax"
-msgstr "\\textstyle est obsolète ; utiliser désormais la syntaxe \\key"
+msgstr "\\textstyle est obsolète ; utiliser désormais la syntaxe \\key"
 
-#: convertrules.py:86 convertrules.py:1906 convertrules.py:2085
-#: convertrules.py:2237 convertrules.py:2567
+#: convertrules.py:82 convertrules.py:1856 convertrules.py:2032
+#: convertrules.py:2175 convertrules.py:2506 convertrules.py:2801
+#: convertrules.py:3151 convertrules.py:3385
 msgid "bump version for release"
 msgstr "sauter de version pour mise à jour"
 
-#: convertrules.py:103
+#: convertrules.py:98
 msgid "new \\header format"
 msgstr "nouveau format de \\header"
 
-#: convertrules.py:132
+#: convertrules.py:125
 msgid "\\translator syntax"
 msgstr "syntaxe de \\translator"
 
-#: convertrules.py:184
+#: convertrules.py:176
 msgid "\\repeat NUM Music Alternative -> \\repeat FOLDSTR Music Alternative"
 msgstr "\\repeat NUM Musique Alternative -> \\repeat FOLDSTR Musique Alternative"
 
-#: convertrules.py:216 convertrules.py:699 convertrules.py:1383
-#: convertrules.py:2379
+#: convertrules.py:206 convertrules.py:679 convertrules.py:1351
+#: convertrules.py:2318
 #, python-format
 msgid "deprecate %s"
 msgstr "%s obsolète"
 
-#: convertrules.py:290
+#: convertrules.py:280
 #, python-format
 msgid "deprecate %s "
 msgstr "%s obsolète"
 
-#: convertrules.py:319
+#: convertrules.py:306
 msgid "new \\notenames format"
 msgstr "nouveau format de \\notenames"
 
-#: convertrules.py:337
+#: convertrules.py:322
 msgid "new tremolo format"
 msgstr "nouveau format de tremolo"
 
-#: convertrules.py:342
+#: convertrules.py:326
 msgid "Staff_margin_engraver deprecated, use Instrument_name_engraver"
-msgstr "Staff_margin_engraver est obsolète ; utiliser Instrument_name_engraver"
+msgstr "Staff_margin_engraver est obsolète ; utiliser Instrument_name_engraver"
 
-#: convertrules.py:395
-msgid "change property definiton case (eg. onevoice -> oneVoice)"
-msgstr "modifier la casse pour définir une propriété (p.ex. onevoice -> oneVoice)"
+#: convertrules.py:377
+msgid "change property definition case (eg. onevoice -> oneVoice)"
+msgstr "modifier la casse pour définir une propriété (par ex. onevoice -> oneVoice)"
 
-#: convertrules.py:457
+#: convertrules.py:438
 msgid "new \\textscript markup text"
 msgstr "nouvelle étiquette de texte \\textscript"
 
-#: convertrules.py:530
+#: convertrules.py:510
 #, python-format
 msgid "identifier names: %s"
-msgstr "Noms des identificateurs : %s"
+msgstr "Nom des identificateurs : %s"
 
-#: convertrules.py:569
+#: convertrules.py:549
 msgid "point-and-click argument changed to procedure."
 msgstr "L'argument de point-and-click a été changé en procédure."
 
-#: convertrules.py:611
+#: convertrules.py:591
 msgid "semicolons removed"
 msgstr "Suppression des points-virgules"
 
 #. 40 ?
-#: convertrules.py:654
+#: convertrules.py:634
 #, python-format
 msgid "%s property names"
-msgstr "Nom des propriétés %s"
+msgstr "%s noms de propriété"
 
-#: convertrules.py:724
+#: convertrules.py:704
 msgid "automaticMelismata turned on by default"
 msgstr "automaticMelismata est activé par défaut."
 
-#: convertrules.py:963 convertrules.py:1682 convertrules.py:1943
-#: convertrules.py:2190
+#: convertrules.py:709
+msgid "automaticMelismata is turned on by default since 1.5.67."
+msgstr "automaticMelismata est activé par défaut depuis la version 1.5.67."
+
+#: convertrules.py:943 convertrules.py:1636 convertrules.py:1890
+#: convertrules.py:2135
 #, python-format
 msgid "remove %s"
 msgstr "Retrait de %s"
 
-#: convertrules.py:1001 convertrules.py:1005
+#: convertrules.py:978 convertrules.py:981
 msgid "cluster syntax"
 msgstr "Syntaxe de cluster"
 
-#: convertrules.py:1014
+#: convertrules.py:988
 msgid "new Pedal style syntax"
-msgstr "nouvelle syntaxe du style de Pedal"
+msgstr "Nouvelle syntaxe du style de Pedal"
 
-#: convertrules.py:1273
+#: convertrules.py:1247
 msgid ""
 "New relative mode,\n"
 "Postfix articulations, new text markup syntax, new chord syntax."
 msgstr ""
-"Nouveau mode relatif,\n"
-"articulations Postfix, nouvelle syntaxe des étiquettes de texte,\n"
-"nouvelle syntaxe d'accord"
+"Nouveau mode relatif, articulations Postfix,\n"
+"nouvelle syntaxe des étiquettes de texte, nouvelle syntaxe d'accord."
 
-#: convertrules.py:1286
+#: convertrules.py:1260
 msgid "Remove - before articulation"
 msgstr "Retrait du - précédant l'articulation"
 
-#: convertrules.py:1324
+#: convertrules.py:1295
 #, python-format
 msgid "%s misspelling"
 msgstr "%s mal orthographié"
 
-#: convertrules.py:1346
+#: convertrules.py:1314
 msgid "Swap < > and << >>"
 msgstr "Interchanger < > et << >>"
 
-#: convertrules.py:1349
+#: convertrules.py:1317
 msgid "attempting automatic \\figures conversion.  Check results!"
 msgstr ""
-"tentative de convertir automatiquement les \\figures. \n"
-"Résultats à vérifier !"
+"tentative de conversion automatique des \\figures.\n"
+"  Résultats à vérifier !"
 
-#: convertrules.py:1400
+#: convertrules.py:1363
 msgid "Use Scheme code to construct arbitrary note events."
-msgstr "Utiliser du code Scheme pour construire des événements note arbitraires."
+msgstr "Utilisation de code Scheme pour construire des événements note arbitraires."
 
-#: convertrules.py:1407
+#: convertrules.py:1370
 msgid ""
 "use symbolic constants for alterations,\n"
 "remove \\outputproperty, move ly:verbose into ly:get-option"
 msgstr ""
-"utiliser des constantes symboliques pour les altérations,\n"
-"supprimer \\outputproperty, déplacer ly:verbose à l'intérieur de ly:get-option"
+"Utilisation de constantes symboliques pour les altérations,\n"
+"suppression de \\outputproperty, ly:verbose devient ly:get-option"
 
-#: convertrules.py:1432
+#: convertrules.py:1395
 #, python-format
 msgid ""
 "\\outputproperty found,\n"
@@ -188,14 +309,14 @@ msgid ""
 "\n"
 "as a substitution text."
 msgstr ""
-"Un \\outputproperty a été localisé.\n"
-"Ã\89diter manuellement, en utilisant\n"
+"Un \\outputproperty a été détecté ;\n"
+"éditer manuellement, en utilisant\n"
 "\n"
 "  \\applyoutput #(outputproperty-compatibility %s '%s <GROB PROPRIÉTÉ VALEUR>)\n"
 "\n"
 "comme texte de substitution."
 
-#: convertrules.py:1446
+#: convertrules.py:1407
 msgid ""
 "The alteration field of Scheme pitches was multiplied by 2\n"
 "to support quarter tone accidentals.  You must update the following constructs manually:\n"
@@ -203,84 +324,85 @@ msgid ""
 "* calls of ly:make-pitch and ly:pitch-alteration\n"
 "* keySignature settings made with \\property\n"
 msgstr ""
-"Pour pouvoir tenir compte des quarts de ton en codage Scheme, \n"
-"le nombre d'arguments d'une altération a été doublé. \n"
-"Les constructions suivantes doivent être adaptées manuellement :\n"
+"Pour pouvoir tenir compte des quarts de ton en codage Scheme,\n"
+"le nombre d'arguments d'une altération a été doublé.\n"
+"Les constructions suivantes doivent être adaptées manuellement :\n"
 "\n"
 "* appels à ly:make-pitch et ly:pitch-alteration\n"
 "* recours à \\property pour définir keySignature\n"
 
-#: convertrules.py:1493
+#: convertrules.py:1450
 msgid "removal of automaticMelismata; use melismaBusyProperties instead."
-msgstr "suppression de automaticMelismata au profit de melismaBusyProperties"
+msgstr "Suppression de automaticMelismata au profit de melismaBusyProperties."
 
-#: convertrules.py:1600
+#: convertrules.py:1557
 msgid "\\partcombine syntax change to \\newpartcombine"
 msgstr "La syntaxe de \\partcombine évolue avec \\newpartcombine"
 
-#: convertrules.py:1628
+#: convertrules.py:1582
 msgid ""
 "Drum notation changes, Removing \\chordmodifiers, \\notenames.\n"
 "Harmonic notes. Thread context removed. Lyrics context removed."
 msgstr ""
-"Changements de notation pour percussions. \\chordmodifiers \\notenames supprimés.\n"
-"Notes harmoniques. Contextes Thread et Lyrics supprimés."
+"Changements de notation pour percussions. Suppression de \\chordmodifiers\n"
+"et \\notenames. Notes harmoniques. Contextes Thread et Lyrics supprimés."
 
-#: convertrules.py:1632
+#: convertrules.py:1586
 msgid "Drums found. Enclose drum notes in \\drummode"
 msgstr "Il y a des percussions. Encadrer leurs notes dans un \\drummode."
 
-#: convertrules.py:1643 convertrules.py:1650 convertrules.py:1661
+#: convertrules.py:1597 convertrules.py:1604 convertrules.py:1615
 #, python-format
 msgid ""
 "\n"
 "%s found. Check file manually!\n"
 msgstr ""
 "\n"
-"Détection de %s. Vérifier le fichier manuellement !\n"
+"Détection de %s. Vérifier le fichier manuellement !\n"
 
-#: convertrules.py:1643
+#: convertrules.py:1597
 msgid "Drum notation"
 msgstr "Notation de percussions"
 
-#: convertrules.py:1702
+#: convertrules.py:1656
 msgid "new syntax for property settings:"
-msgstr "nouvelle syntaxe des réglages de propriétés :"
+msgstr "nouvelle syntaxe des réglages de propriétés :"
 
-#: convertrules.py:1728
+#: convertrules.py:1682
 msgid "Property setting syntax in \\translator{ }"
 msgstr "Syntaxe pour régler une propriété dans \\translator{ }"
 
-#: convertrules.py:1767
+#: convertrules.py:1721
 msgid "Scheme grob function renaming"
 msgstr "Renommage de fonction grob Scheme"
 
-#: convertrules.py:1780
+#: convertrules.py:1732 convertrules.py:2139 convertrules.py:2143
+#: convertrules.py:2709
 #, python-format
-msgid "use %s"
-msgstr "Utilisation : %s"
+msgid "Use %s\n"
+msgstr "Utilisation de %s\n"
 
-#: convertrules.py:1797
+#: convertrules.py:1748
 msgid "More Scheme function renaming"
 msgstr "Renommage d'autres fonctions Scheme"
 
-#: convertrules.py:1925
+#: convertrules.py:1872
 msgid ""
 "Page layout has been changed, using paper size and margins.\n"
 "textheight is no longer used.\n"
 msgstr ""
 "La mise en page a été modifiée, utilisant la taille du papier et les marges.\n"
-"« textheight » n'est plus utilisé.\n"
+"« textheight » n'est plus utilisé.\n"
 
-#: convertrules.py:2011
+#: convertrules.py:1958
 msgid ""
 "\\foo -> \\foomode (for chords, notes, etc.)\n"
 "fold \\new FooContext \\foomode into \\foo."
 msgstr ""
-"\\foo -> \\foomode (pour accords, notes, etc.)\n"
-"incorporer « \\new FooContext \\foomode » dans \\foo."
+"\\toto -> \\totomode (pour accords, notes, etc.)\n"
+"transforme « \\new TotoContext \\totomode » en \\toto."
 
-#: convertrules.py:2049
+#: convertrules.py:1996
 msgid ""
 "staff size should be changed at top-level\n"
 "with\n"
@@ -294,123 +416,135 @@ msgstr ""
 "  #(set-global-staff-size <HAUTEUR-DE-PORTÉE-EN-POINTS>)\n"
 "\n"
 
-#: convertrules.py:2069
+#: convertrules.py:2016
 msgid "regularize other identifiers"
-msgstr "normaliser les autres identificateurs"
+msgstr "Normalisation d'autres identifiants"
 
-#: convertrules.py:2137
+#: convertrules.py:2084
 msgid "\\encoding: smart recode latin1..utf-8. Remove ly:point-and-click"
-msgstr "\\encoding : smart recode latin1..utf-8. Supprimer ly:point-and-click"
+msgstr ""
+"\\encoding : recodage de latin1 à utf-8.\n"
+"Suppression de ly:point-and-click"
 
-#: convertrules.py:2150
+#: convertrules.py:2095
 msgid "LilyPond source must be UTF-8"
 msgstr "Le fichier source LilyPond doit être codé en UTF-8."
 
-#: convertrules.py:2153
+#: convertrules.py:2098
 msgid "Try the texstrings backend"
 msgstr "Essayer le moteur texstrings (texstrings backend)."
 
-#: convertrules.py:2156
+#: convertrules.py:2101
 #, python-format
 msgid "Do something like: %s"
-msgstr "Faites quelque chose comme : %s"
+msgstr "Faites quelque chose comme : %s"
 
-#: convertrules.py:2159
+#: convertrules.py:2104
 msgid "Or save as UTF-8 in your editor"
-msgstr "Ou sauvegarder en format UTF-8 à l'aide de votre éditeur"
+msgstr "ou sauvegardez au format UTF-8 à l'aide de votre éditeur"
 
-#: convertrules.py:2213
+#: convertrules.py:2154
 msgid "warn about auto beam settings"
-msgstr "attention aux réglages des ligatures automatiques"
+msgstr "Avertissement au sujet des ligatures automatiques"
 
-#: convertrules.py:2218
+#: convertrules.py:2158
 msgid "auto beam settings"
-msgstr "réglages des ligatures automatiques"
+msgstr "réglage des ligatures automatiques"
 
-#: convertrules.py:2220
+#: convertrules.py:2159
 msgid ""
 "\n"
 "Auto beam settings must now specify each interesting moment in a measure\n"
-"explicitely; 1/4 is no longer multiplied to cover moments 1/2 and 3/4 too.\n"
+"explicitly; 1/4 is no longer multiplied to cover moments 1/2 and 3/4 too.\n"
 msgstr ""
 "\n"
-"Le réglage des ligatures automatiques doit explicitement spécifier chaque moment\n"
-"de la mesure. 1/4 ne prend désormais plus en charge 1/2 et 3/4.\n"
+"Le réglage des ligatures automatiques doit explicitement spécifier chaque\n"
+"moment de la mesure. 1/4 ne prend désormais plus en charge 1/2 et 3/4.\n"
 
-#: convertrules.py:2334
+#: convertrules.py:2272
 msgid "verticalAlignmentChildCallback has been deprecated"
 msgstr "verticalAlignmentChildCallback est désuet"
 
-#: convertrules.py:2338
+#: convertrules.py:2277
 msgid "Remove callbacks property, deprecate XY-extent-callback."
-msgstr "Supprimer les propriétés de rappel, les XY-extent-callback sont obsolètes."
+msgstr "Suppression des propriétés de rappel, les XY-extent-callback sont obsolètes."
 
-#: convertrules.py:2359
+#: convertrules.py:2298
 msgid "Use grob closures iso. XY-offset-callbacks."
-msgstr "Utiliser la clôture des grobs comme avec XY-offset-callbacks."
+msgstr "Utilisation des clôtures de grob comme avec XY-offset-callbacks."
 
-#: convertrules.py:2421
+#: convertrules.py:2360
 msgid "foobar -> foo-bar for \\paper, \\layout"
-msgstr "foobar -> foo-bar pour \\paper, \\layout"
+msgstr "taratata -> tara-tata pour \\paper et \\layout"
 
-#: convertrules.py:2531
+#: convertrules.py:2470
 msgid "deprecate \\tempo in \\midi"
 msgstr "\\tempo au sein d'une section \\midi est obsolète"
 
-#: convertrules.py:2578
+#: convertrules.py:2523
 msgid "deprecate cautionary-style. Use AccidentalCautionary properties"
-msgstr "cautionary-style est obsolète. Utiliser les propriétés AccidentalCautionary."
+msgstr "cautionary-style est désuet. Utilisation des propriétés AccidentalCautionary."
 
-#: convertrules.py:2591
+#: convertrules.py:2536
 msgid "Rename accidental glyphs, use glyph-name-alist."
-msgstr "Pour renommer les glyphes des altérations, utiliser glyph-name-alist."
+msgstr "Renommage des glyphes d'altération, utilisation de glyph-name-alist."
 
-#: convertrules.py:2646
-msgid "edge-text settings for TextSpanner."
-msgstr "réglages des limites de texte pour TextSpanner."
+#: convertrules.py:2591
+msgid "edge-text settings for TextSpanner"
+msgstr "réglages des limites de texte pour TextSpanner"
 
-#: convertrules.py:2647
+#: convertrules.py:2592
 #, python-format
 msgid ""
 "Use\n"
 "\n"
 "%s"
 msgstr ""
-"Utilisation : \n"
+"Utiliser dorénavant\n"
 "\n"
 "%s"
 
-#: convertrules.py:2686
+#: convertrules.py:2625
+msgid "Use the `alignment-offsets' sub-property of\n"
+msgstr "Utiliser la sous-propriété « alignment-offsets » de\n"
+
+#: convertrules.py:2626
+msgid "NonMusicalPaperColumn #'line-break-system-details\n"
+msgstr "NonMusicalPaperColumn #'line-break-system-details\n"
+
+#: convertrules.py:2627
+msgid "to set fixed distances between staves.\n"
+msgstr "pour définir un espacement fixe des systèmes.\n"
+
+#: convertrules.py:2639
 msgid "Use #'style not #'dash-fraction to select solid/dashed lines."
-msgstr ""
-"Utiliser #'style  et non #'dash-fraction pour obtenir des lignes continues\n"
-"ou pointillées."
+msgstr "Pour des lignes continues ou pointillées, utilisez #'style, pas #'dash-fraction."
 
-#: convertrules.py:2692
-msgid "all settings related to dashed lines.\n"
-msgstr "tous les réglages concernant les lignes pointillées.\n"
+#: convertrules.py:2645
+msgid "all settings related to dashed lines"
+msgstr "tous les réglages concernant les lignes pointillées"
 
-#: convertrules.py:2693
+#: convertrules.py:2646
 msgid "Use \\override ... #'style = #'line for solid lines and\n"
 msgstr "Utiliser \\override ... #'style = #'line pour des lignes pleines, et\n"
 
-#: convertrules.py:2694
+#: convertrules.py:2647
 msgid "\t\\override ... #'style = #'dashed-line for dashed lines."
 msgstr "\t\\override ... #'style = #'dashed-line pour des lignes pointillées."
 
-#: convertrules.py:2730
+#: convertrules.py:2683
 msgid ""
 "metronomeMarkFormatter uses text markup as second argument,\n"
 "fret diagram properties moved to fret-diagram-details."
 msgstr ""
-"le deuxième argument de metronomeMarkFormatter doit être une étiquette textuelle,\n"
-"les propriétés de tablature sont désormais dans fret-diagram-details."
+"metronomeMarkFormatter prend une étiquette en deuxième argument,\n"
+"les propriétés des diagrammes de fret sont désormais dans fret-diagram-details."
 
-#: convertrules.py:2735
+#: convertrules.py:2689
 msgid "metronomeMarkFormatter got an additional text argument.\n"
 msgstr "metronomeMarkFormatter prend un argument textuel suplémentaire.\n"
 
-#: convertrules.py:2736
+#: convertrules.py:2690
 #, python-format
 msgid ""
 "The function assigned to Score.metronomeMarkFunction now uses the signature\n"
@@ -419,34 +553,326 @@ msgstr ""
 "La fonction assignée à Score.metronomeMarkFunction utilise la signature\n"
 "%s"
 
-#: convertrules.py:2799
-msgid "\\put-adjacent argument order.\n"
-msgstr "ordre de l'argument \\put-adjacent\n"
+#: convertrules.py:2708
+#, python-format
+msgid "%s in fret-diagram properties"
+msgstr "%s va dans les propriétés de fret-diagram"
 
-#: convertrules.py:2800
+#: convertrules.py:2752
+msgid "\\put-adjacent argument order"
+msgstr "ordre de l'argument \\put-adjacent"
+
+#: convertrules.py:2753
 msgid "Axis and direction now come before markups:\n"
-msgstr "Axe et direction doivent précéder les étiquettes :\n"
+msgstr "Axe et direction doivent précéder les étiquettes :\n"
 
-#: convertrules.py:2801
+#: convertrules.py:2754
 msgid "\\put-adjacent axis dir markup markup."
 msgstr "\\put-adjacent axe direction étiquette étiquette."
 
-#: convertrules.py:2832
-msgid "re-definition of InnerStaffGroup.\n"
-msgstr "redéfinition de InnerStaffGroup.\n"
+#: convertrules.py:2785
+msgid "re-definition of InnerStaffGroup"
+msgstr "Redéfinition de InnerStaffGroup"
 
-#: convertrules.py:2838
-msgid "re-definition of InnerChoirStaff.\n"
-msgstr "redéfinition de InnerChoirStaff.\n"
+#: convertrules.py:2790
+msgid "re-definition of InnerChoirStaff"
+msgstr "Redéfinition de InnerChoirStaff"
+
+#: convertrules.py:2800
+msgid "Syntax changes for \\addChordShape and \\chord-shape"
+msgstr "Changement de syntaxe pour \\addChordShape et \\chord-shape"
 
-#: convertrules.py:2851
+#: convertrules.py:2805
 msgid "stringTuning must be added to addChordShape call.\n"
-msgstr "stringTuning est requis lors de l'appel à addChordShape. \n"
+msgstr "stringTuning est requis lors de l'appel à addChordShape.\n"
 
-#: convertrules.py:2857
+#: convertrules.py:2810
 msgid "stringTuning must be added to chord-shape call.\n"
 msgstr "stringTuning est requis lors de l'appel à chord-shape.\n"
 
+#: convertrules.py:2816
+msgid "Remove oldaddlyrics"
+msgstr "Suppression de oldaddlyrics"
+
+#: convertrules.py:2820
+msgid ""
+"oldaddlyrics is no longer supported. \n"
+"         Use addlyrics or lyrsicsto instead.\n"
+msgstr ""
+"oldaddlyrics n'est désormais plus pris en charge.\n"
+"         Utilisez maintenant addlyrics ou lyricsto.\n"
+
+#: convertrules.py:2826
+msgid ""
+"keySignature property not reversed any more\n"
+"MIDI 47: orchestral strings -> orchestral harp"
+msgstr ""
+"La propriété keySignature n'est plus inversée\n"
+"MIDI 47 : orchestral strings -> orchestral harp"
+
+#: convertrules.py:2831
+msgid "The alist for Staff.keySignature is no longer in reversed order.\n"
+msgstr "La liste associative pour Staff.keySignature n'est plus en ordre inverse.\n"
+
+#: convertrules.py:2837
+msgid ""
+"\\bar \".\" now produces a thick barline\n"
+"ly:hairpin::after-line-breaking -> ly:spanner::kill-zero-spanned-time\n"
+"Dash parameters for slurs and ties are now in dash-definition"
+msgstr ""
+"\\bar \".\" produit désormais une barre épaisse.\n"
+"ly:hairpin::after-line-breaking -> ly:spanner::kill-zero-spanned-time\n"
+"Les paramètres du pointillé des liaisons sont gérés par dash-definition."
+
+#: convertrules.py:2843
+msgid "\\bar \".\" now produces a thick barline.\n"
+msgstr "\\bar \".\" produit désormais une barre épaisse.\n"
+
+#: convertrules.py:2849
+msgid "Dash parameters for slurs and ties are now in 'dash-details.\n"
+msgstr "Les paramètres du pointillé des liaisons sont gérés par `dash-details.\n"
+
+#: convertrules.py:2854
+msgid ""
+"Autobeaming rules have changed.  override-auto-beam-setting and\n"
+"revert-auto-beam-setting have been eliminated.\n"
+"\\overrideBeamSettings has been added.\n"
+"beatGrouping has been eliminated.\n"
+"Different settings for vertical layout.\n"
+"ly:system-start-text::print -> system-start-text::print\n"
+"Beam #'thickness -> Beam #'beam-thickness\n"
+"ly:note-head::brew-ez-stencil -> note-head::brew-ez-stencil\n"
+"ly:ambitus::print -> ambitus::print\n"
+"Explicit dynamics context definition from `Piano centered dynamics'\n"
+"template replaced by new `Dynamics' context."
+msgstr ""
+"Les règles de ligature automatique ont été revues :\n"
+"override-auto-beam-setting et revert-auto-beam-setting ont disparu,\n"
+"remplacés par \\overrideBeamSettings ;\n"
+"beatGrouping a disparu.\n"
+"Modification des réglages de mise en forme verticale :\n"
+"ly:system-start-text::print -> system-start-text::print\n"
+"Beam #'thickness -> Beam #'beam-thickness\n"
+"ly:note-head::brew-ez-stencil -> note-head::brew-ez-stencil\n"
+"ly:ambitus::print -> ambitus::print\n"
+"La définition du contexte de nuances explicites du canevas\n"
+"« Piano et nuances entre les portées » est remplacée par le nouveau\n"
+"contexte « Dynamics »."
+
+#: convertrules.py:2868
+msgid "    Autobeam settings are now overriden with \\overrideBeamSettings.\n"
+msgstr ""
+"   L'introduction d'une dérogation aux ligatures automatiques se fait\n"
+"désormais avec \\overrideBeamSettings.\n"
+
+#: convertrules.py:2873
+msgid "    Autobeam settings are now reverted with \\revertBeamSettings.\n"
+msgstr ""
+"   La suppression d'une dérogation aux ligatures automatiques se fait\n"
+"   désormais avec \\revertBeamSettings.\n"
+
+#: convertrules.py:2879
+msgid ""
+"    beatGrouping with a specified context must now be accomplished with\n"
+"   \\overrideBeamSettings.\n"
+msgstr ""
+"   beatGrouping dans un contexte spécifique s'accomplit désormais avec\n"
+"   \\overrideBeamSettings.\n"
+
+#: convertrules.py:2885
+msgid "alignment-offsets has been changed to alignment-distances: you must now specify the distances between staves rather than the offset of staves.\n"
+msgstr ""
+"alignment-offsets est devenu alignment-distances : il faut désormais\n"
+"spécifier la distance entre les portées au lieu de leur offset.\n"
+
+#: convertrules.py:2896
+msgid ""
+"Remove obsolete engravers/translators: Note_swallow_translator,\n"
+"Rest_swallow_translator, Skip_event_swallow_translator, Swallow_engraver,\n"
+"Swallow_performer and String_number_engraver.\n"
+"New vertical spacing variables."
+msgstr ""
+"Suppression des graveurs/traducteurs obsolètes Note_swallow_translator,\n"
+"Rest_swallow_translator, Skip_event_swallow_translator, Swallow_engraver,\n"
+"Swallow_performer et String_number_engraver.\n"
+"Apparition de nouvelles variables pour l'espacement vertical."
+
+#: convertrules.py:2927
+msgid "Vertical spacing no longer depends on the Y-extent of a VerticalAxisGroup.\n"
+msgstr "L'espacement vertical ne dépend plus du Y-extent d'un VerticalAxisGroup.\n"
+
+#: convertrules.py:2933
+msgid "Unify fetaNumber and fetaDynamic encodings"
+msgstr "Uniformisation des encodages de fetaNumber et fetaDynamic."
+
+#: convertrules.py:2938
+msgid "\\RemoveEmpty*StaffContext -> \\*Staff \\RemoveEmptyStaves"
+msgstr "\\RemoveEmpty*StaffContext -> \\*Staff \\RemoveEmptyStaves"
+
+#: convertrules.py:2949
+msgid "\\cresc etc. are now postfix operators"
+msgstr "\\cresc etc. sont désormais des opérateurs postfix"
+
+#: convertrules.py:2961
+msgid ""
+"Eliminate beamSettings, beatLength, \\setBeatGrouping, \\overrideBeamSettings and \\revertBeamSettings.\n"
+"\"accordion.accEtcbase\" -> \"accordion.etcbass\""
+msgstr ""
+"Élimination de beamSettings, beatLength, \\setBeatGrouping,\n"
+"\\overrideBeamSettings et \\revertBeamSettings.\n"
+"\"accordion.accEtcbase\" -> \"accordion.etcbass\""
+
+#: convertrules.py:2979
+msgid "Use \\set beamExceptions or \\overrideTimeSignatureSettings.\n"
+msgstr "Utiliser \\set beamExceptions ou \\overrideTimeSignatureSettings.\n"
+
+#: convertrules.py:2983
+msgid "Use \\set beamExceptions or \\revertTimeSignatureSettings.\n"
+msgstr "Utiliser \\set beamExceptions ou \\revertTimeSignatureSettings.\n"
+
+#: convertrules.py:2987
+msgid "Use baseMoment, beatStructure, and beamExceptions.\n"
+msgstr "Utiliser baseMoment, beatStructure et beamExceptions.\n"
+
+#: convertrules.py:2991 convertrules.py:2995
+msgid "Use baseMoment and beatStructure.\n"
+msgstr "Utiliser baseMoment et beatStructure.\n"
+
+#: convertrules.py:3000
+msgid ""
+"Woodwind diagrams: Move size, thickness, and graphic from argument list to properties.\n"
+"Deprecate negative dash-period for hidden lines: use #'style = #'none instead."
+msgstr ""
+"Diagramme pour vent : taille, épaisseur et graphique deviennent des propriétés.\n"
+"Dépréciation des longueurs de tiret négatives pour des lignes masquées ;\n"
+"utiliser désormais #'style = #'none"
+
+#: convertrules.py:3005
+msgid "Move size, thickness, and graphic to properties.  Argument should be just the key list.\n"
+msgstr ""
+"Taille, épaisseur et graphique sont des propriétés.\n"
+"L'argument devrait ne contenir que la liste des clés.\n"
+
+#: convertrules.py:3013
+msgid ""
+"Rename vertical spacing variables.\n"
+"Add fretboard-table argument to savePredefinedFretboard."
+msgstr ""
+"Renommage des variables d'espacement vertical.\n"
+"Ajout de l'argument fretboard-table à savePredefinedFretboard."
+
+#: convertrules.py:3031
+msgid "Rename vertical spacing grob properties."
+msgstr "Renommage des propriétés d'objet en matière d'espacement vertical."
+
+#: convertrules.py:3047
+msgid "Remove \\paper variables head-separation and foot-separation."
+msgstr "Suppression des variables de \\paper head-separation et foot-separation."
+
+#: convertrules.py:3051
+msgid "Adjust settings for top-system-spacing instead.\n"
+msgstr "Ajustez plutôt le réglage de top-system-spacing.\n"
+
+#: convertrules.py:3055
+msgid "Adjust settings for last-bottom-spacing instead.\n"
+msgstr "Ajustez plutôt le réglage de last-bottom-spacing.\n"
+
+#: convertrules.py:3061
+msgid ""
+"Rename space to basic-distance in various spacing alists.\n"
+"Remove HarmonicParenthesesItem grob."
+msgstr ""
+"space est renommé basic-distance dans diverses variables liées à l'espacement.\n"
+"Suppression du grob HarmonicParenthesesItem."
+
+#: convertrules.py:3068
+msgid "HarmonicParenthesesItem has been eliminated.\n"
+msgstr "Élimination de HarmonicParenthesesItem.\n"
+
+#: convertrules.py:3069
+msgid "Harmonic parentheses are part of the TabNoteHead grob.\n"
+msgstr "Les parenthèses harmoniques sont attachées au grob TabNoteHead.\n"
+
+#: convertrules.py:3074
+msgid "Remove context from overrideTimeSignatureSettings and revertTimeSignatureSettings.\n"
+msgstr "Suppression du contexte dans overrideTimeSignatureSettings et revertTimeSignatureSettings.\n"
+
+#: convertrules.py:3081
+msgid ""
+"Change stringTunings from a list of semitones to a list of pitches.\n"
+"Change tenor and baritone ukulele names in string tunings.\n"
+"Generate messages for manual conversion of vertical spacing if required."
+msgstr ""
+"stringTunings : d'une liste de demi-tons, devient une liste de hauteurs.\n"
+"Les noms de ukulele tenor et baryton sont modifiés en accordage personnalisé.\n"
+"Génération d'un message au besoin pour les conversions liées à l'espacement vertical."
+
+#: convertrules.py:3124
+msgid "Vertical spacing changes might affect user-defined contexts."
+msgstr ""
+"Les modifications apportées à l'espacement vertical peuvent mettre en\n"
+"péril certains contextes personnalisés."
+
+#: convertrules.py:3130
+msgid "Replace bar-size with bar-extent."
+msgstr "bar-size devient bar-extent."
+
+#: convertrules.py:3142
+msgid "Woodwind diagrams: Changes to the clarinet diagram."
+msgstr "Diagrammes pour vents : modifications touchant la clarinette."
+
+#: convertrules.py:3146
+msgid "Clarinet fingering changed to reflect actual anatomy of instrument.\n"
+msgstr "Les doigtés pour clarinette sont plus adaptés à l'instrument actuel.\n"
+
+#: convertrules.py:3156
+msgid "Handling of non-automatic footnotes."
+msgstr "Gestion des notes de bas de page non automatisée."
+
+#: convertrules.py:3160
+msgid "If you are using non-automatic footnotes, make sure to set footnote-auto-numbering = ##f in the paper block.\n"
+msgstr ""
+"Pour une gestion non automatisée des notes de bas de page, n'oubliez pas\n"
+"de mentionner footnote-auto-numbering = ##f dans le bloc \\paper.\n"
+
+#: convertrules.py:3165
+msgid "Change in internal property for MultiMeasureRest"
+msgstr "MultiMeasureRest : modification des propriétés internes."
+
+#: convertrules.py:3169
+msgid "This internal property has been replaced by round-up-to-longer-rest, round-up-exceptions and usable-duration-logs.\n"
+msgstr ""
+"Cette propriété interne est remplacée par round-up-to-longer-rest,\n"
+"round-up-exceptions et usable-duration-logs.\n"
+
+#: convertrules.py:3174
+msgid "Creation of a Flag grob and moving of certain Stem properties to this grob"
+msgstr "Déplacement de certaine propriétés de Stem vers le nouvel objet Flag"
+
+#: convertrules.py:3210
+msgid "consistent-broken-slope is now handled through the positions callback.\n"
+msgstr "consistent-broken-slope est désormais géré par des rappels de position.\n"
+
+#: convertrules.py:3211
+msgid "input/regression/beam-broken-classic.ly shows how broken beams are now handled.\n"
+msgstr ""
+"input/regression/beam-broken-classic.ly indique comment sont désormais\n"
+"gérées les ligatures tronquées.\n"
+
+#: convertrules.py:3369
+msgid "beamExceptions controls whole-measure beaming."
+msgstr "Une ligature sur la mesure est gérée par beamExceptions"
+
+#: convertrules.py:3606
+msgid "Flag.transparent and Flag.color inherit from Stem"
+msgstr "Flag.transparent et Flag.color héritent de Stem"
+
+#: convertrules.py:3672
+msgid "Staff-padding now controls the distance to the baseline, not the nearest point."
+msgstr ""
+"Staff-padding contrôle désormais la distance par rapport à la ligne de\n"
+"  base, au lieu du point le plus proche."
+
 #: fontextract.py:25
 #, python-format
 msgid "Scanning %s"
@@ -462,92 +888,101 @@ msgstr "Extraction de %s"
 msgid "Writing fonts to %s"
 msgstr "Écriture des fontes vers %s"
 
-#: lilylib.py:91 lilylib.py:142
+#: lilylib.py:101
+#, python-format
+msgid "Setting loglevel to %s"
+msgstr "Niveau de journalisation fixé à %s"
+
+#: lilylib.py:104
+#, python-format
+msgid "Unknown or invalid loglevel '%s'"
+msgstr "« %s » n'est pas un niveau de journalisation reconnu."
+
+#: lilylib.py:133 warn.cc:211
+#, c-format, python-format
+msgid "error: %s"
+msgstr "Erreur : %s"
+
+#: lilylib.py:190
+#, python-format
+msgid "Processing %s.ly"
+msgstr "Traitement de « %s.ly »"
+
+#: lilylib.py:194 lilylib.py:255
 #, python-format
 msgid "Invoking `%s'"
-msgstr "Appel de « %s »"
+msgstr "Appel de « %s »"
 
-#: lilylib.py:93 lilylib.py:144
+#: lilylib.py:196 lilylib.py:257
 #, python-format
 msgid "Running %s..."
 msgstr "Exécution de %s..."
 
-#: lilylib.py:209
+#: lilylib.py:333
 #, python-format
 msgid "Usage: %s"
 msgstr "Utilisation : %s"
 
-#: musicexp.py:215 musicexp.py:220
+#: musicexp.py:224 musicexp.py:229
 msgid "Language does not support microtones contained in the piece"
 msgstr "Le langage ne prend pas en charge les microintervalles de ce morceau"
 
-#: musicexp.py:482
+#: musicexp.py:491
 msgid "Tuplet brackets of curved shape are not correctly implemented"
 msgstr "La courbure des crochets de nolet n'est pas implémentée de manière optimale"
 
-#. TODO: Implement this using actual_type and normal_type!
-#: musicexp.py:511
-msgid "Tuplet brackets displaying both note durations are not implemented, using default"
-msgstr "Les crochets de nolet indiquant le deux valeurs rythmiques ne sont pas implémentés ; utilisation du style par défaut"
-
-#: musicexp.py:656
+#: musicexp.py:677
 #, python-format
 msgid "unable to set the music %(music)s for the repeat %(repeat)s"
 msgstr "impossible d'affecter le fragment %(music)s à la répétition %(repeat)s"
 
-#: musicexp.py:665
+#: musicexp.py:686
 msgid "encountered repeat without body"
-msgstr "réprise vide détectée"
+msgstr "reprise vide détectée"
 
 #. no self.elements!
-#: musicexp.py:835
+#: musicexp.py:856
 #, python-format
 msgid "Grace note with no following music: %s"
-msgstr "Apoggiature non suivie de musique :%s"
+msgstr "Apoggiature non suivie de musique : %s"
 
-#: musicexp.py:997
+#: musicexp.py:1018
 #, python-format
 msgid "Invalid octave shift size found: %s. Using no shift."
-msgstr "Décalage d'octave invalide : %s. Décalage non appliqué."
+msgstr "Décalage d'octave invalide : %s. Décalage non appliqué."
 
-#: musicexp.py:1455
+#: musicexp.py:1476
 #, python-format
 msgid "Unable to convert alteration %s to a lilypond expression"
 msgstr "Impossible de convertir l'altération %s en expression LilyPond"
 
-#: musicxml.py:13 convert-ly.py:53 lilypond-book.py:97 warn.cc:54 input.cc:96
-#: input.cc:104
-#, c-format, python-format
-msgid "error: %s"
-msgstr "Erreur : %s"
-
 #. TODO: Handle pieces without a time signature!
-#: musicxml.py:357
+#: musicxml.py:361
 msgid "Senza-misura time signatures are not yet supported!"
-msgstr "Les métriques « senza-misura » ne sont pas prises en charge."
+msgstr "Les métriques « senza-misura » ne sont pas prises en charge."
 
-#: musicxml.py:375
+#: musicxml.py:379
 msgid "Unable to interpret time signature! Falling back to 4/4."
-msgstr "Métrique non interprétable ; retour au 4/4."
+msgstr "Métrique non interprétable ; retour au 4/4."
 
-#: musicxml.py:431
+#: musicxml.py:435
 #, python-format
 msgid "Key alteration octave given for a non-existing alteration nr. %s, available numbers: %s!"
 msgstr ""
-"Octave d'altération indiquée pour une altération numéro %s inexistante ;\n"
-"index d'altération disponibles : 1 à %s"
+"Octave d'altération indiquée pour une altération numéro %s inexistante ;\n"
+"index d'altération disponibles : 1 à %s"
 
-#: musicxml.py:519
+#: musicxml.py:523
 #, python-format
 msgid "Unable to find instrument for ID=%s\n"
-msgstr "Aucun instrument ne correspond à l'ID=%s\n"
+msgstr "Aucun instrument ne correspond à l'ID %s\n"
 
-#: abc2ly.py:1341 convert-ly.py:74 lilypond-book.py:121 midi2ly.py:845
+#: abc2ly.py:1386 convert-ly.py:85 lilypond-book.py:122 midi2ly.py:1044
 #, python-format
 msgid "%s [OPTION]... FILE"
 msgstr "%s [OPTIONS]... FICHIER"
 
-#: abc2ly.py:1342
+#: abc2ly.py:1387
 #, python-format
 msgid ""
 "abc2ly converts ABC music files (see\n"
@@ -556,532 +991,616 @@ msgstr ""
 "abc2ly convertit les fichiers musicaux ABC (voir\n"
 "%s) au format LilyPond.\n"
 
-#: abc2ly.py:1350 convert-ly.py:81 etf2ly.py:1190 lilypond-book.py:207
-#: midi2ly.py:881 musicxml2ly.py:2590 main.cc:156
+#: abc2ly.py:1395 convert-ly.py:92 etf2ly.py:1208 lilypond-book.py:231
+#: midi2ly.py:1095 musicxml2ly.py:2590 main.cc:181
 msgid "show version number and exit"
-msgstr "afficher le numéro de version et quitter"
+msgstr "affiche le numéro de version et quitte"
 
-#: abc2ly.py:1354 convert-ly.py:85 etf2ly.py:1186 lilypond-book.py:138
-#: midi2ly.py:860 musicxml2ly.py:2572 main.cc:145
+#: abc2ly.py:1398 convert-ly.py:96 etf2ly.py:1204 lilypond-book.py:140
+#: midi2ly.py:1062 musicxml2ly.py:2572 main.cc:160
 msgid "show this help and exit"
 msgstr "visualiser cette aide et quitter"
 
-#: abc2ly.py:1356 etf2ly.py:1191 midi2ly.py:864
+#: abc2ly.py:1401 etf2ly.py:1209 midi2ly.py:1071
 msgid "write output to FILE"
-msgstr "produire la sortie dans le FICHIER"
+msgstr "produit la sortie dans le FICHIER"
 
-#: abc2ly.py:1358
+#: abc2ly.py:1404
 msgid "be strict about success"
 msgstr "être strict sur la réussite"
 
-#: abc2ly.py:1360
+#: abc2ly.py:1407
 msgid "preserve ABC's notion of beams"
-msgstr "préserver la notion de lien de croches propre à ABC"
+msgstr "préserver la notion de ligature propre à ABC"
+
+#: abc2ly.py:1410
+msgid "suppress progress messages"
+msgstr "n'affiche pas les messages de progression"
 
 #. Translators, please translate this string as
 #. "Report bugs in English via %s",
 #. or if there is a LilyPond users list or forum in your language
 #. "Report bugs in English via %s or in YOUR_LANG via URI"
-#: abc2ly.py:1363 convert-ly.py:123 etf2ly.py:1200 lilypond-book.py:214
-#: midi2ly.py:894 musicxml2ly.py:2646 main.cc:265
+#: abc2ly.py:1413 convert-ly.py:157 etf2ly.py:1218 lilypond-book.py:258
+#: midi2ly.py:1107 musicxml2ly.py:2674 main.cc:315
 #, c-format, python-format
 msgid "Report bugs via %s"
 msgstr ""
-"Signaler toute anomalie à \n"
+"Signalez tout bogue, en français à\n"
+" http://lilypond-french-users.1298960.n2.nabble.com/\n"
+"ou en anglais à\n"
 "%s"
 
-#: convert-ly.py:33
+#: convert-ly.py:47
 msgid ""
 "Update LilyPond input to newer version.  By default, update from the\n"
 "version taken from the \\version command, to the current LilyPond version."
 msgstr ""
-"Mettre à jour le fichier source vers une version plus récente. \n"
-"Par défaut, de la version indiquée par la commande \\version \n"
+"Mettre à jour le fichier source vers une version plus récente.\n"
+"Par défaut, de la version indiquée par la commande \\version\n"
 "vers la version courante de LilyPond."
 
-#: convert-ly.py:35 lilypond-book.py:71
+#: convert-ly.py:50
+msgid "If FILE is `-', read from standard input."
+msgstr "Lit l'entrée standard si FICHIER égale « - »"
+
+#: convert-ly.py:52 lilypond-book.py:82
 msgid "Examples:"
-msgstr "Exemples :"
+msgstr "Exemples :"
+
+#: convert-ly.py:79 etf2ly.py:1191 lilypond-book.py:115 midi2ly.py:81
+#, python-format
+msgid "Copyright (c) %s by"
+msgstr "Copyright (c) %s détenu par"
 
-#: convert-ly.py:69 etf2ly.py:1173 lilypond-book.py:117 midi2ly.py:76
+#: convert-ly.py:81 etf2ly.py:1193 lilypond-book.py:117 midi2ly.py:83
 msgid "Distributed under terms of the GNU General Public License."
 msgstr "Distribué selon les termes de la GNU General Public License."
 
-#: convert-ly.py:70 etf2ly.py:1174 lilypond-book.py:118 midi2ly.py:77
+#: convert-ly.py:82 etf2ly.py:1194 lilypond-book.py:118 midi2ly.py:84
 msgid "It comes with NO WARRANTY."
 msgstr "Le logiciel est distribué SANS GARANTIE."
 
-#: convert-ly.py:89 convert-ly.py:116
+#: convert-ly.py:100 convert-ly.py:141
 msgid "VERSION"
 msgstr "VERSION"
 
-#: convert-ly.py:91
+#: convert-ly.py:102
 msgid "start from VERSION [default: \\version found in file]"
-msgstr "partir de la VERSION [par défaut : \\version trouvée dans le fichier]"
+msgstr "partir de la VERSION [par défaut : \\version trouvée dans le fichier]"
 
-#: convert-ly.py:94
+#: convert-ly.py:105
 msgid "edit in place"
 msgstr "éditer le fichier d'origine"
 
-#: convert-ly.py:98
+#: convert-ly.py:109 lilypond-book.py:179 musicxml2ly.py:2627
+msgid "Print log messages according to LOGLEVEL (NONE, ERROR, WARNING, PROGRESS (default), DEBUG)"
+msgstr ""
+"Afficher les informations selon le niveau de LOGLEVEL\n"
+"(NONE, ERROR, WARNING, PROGRESS (par défaut), DEBUG)"
+
+#: convert-ly.py:111 lilypond-book.py:163 lilypond-book.py:181
+#: musicxml2ly.py:2629 main.cc:174
+msgid "LOGLEVEL"
+msgstr "LOGLEVEL"
+
+#: convert-ly.py:117
 msgid "do not add \\version command if missing"
 msgstr "ne pas ajouter la commande \\version si elle est absente"
 
-#: convert-ly.py:104
+#: convert-ly.py:123
 #, python-format
 msgid "force updating \\version number to %s"
 msgstr "forcer la mise à jour de \\version à %s"
 
-#: convert-ly.py:110
+#: convert-ly.py:129
+msgid "only update \\version number if file is modified"
+msgstr "ne changer le numéro de \\version que si le fichier est modifié"
+
+#: convert-ly.py:135
 #, python-format
 msgid "show rules [default: -f 0, -t %s]"
-msgstr "afficher les règles [par défaut : -f 0, -t %s]"
+msgstr "afficher les règles [par défaut : -f 0, -t %s]"
 
-#: convert-ly.py:115
+#: convert-ly.py:140
 #, python-format
 msgid "convert to VERSION [default: %s]"
-msgstr "convertir jusqu'à la VERSION [par défaut : %s]"
+msgstr "convertir jusqu'à la VERSION [par défaut : %s]"
+
+#: convert-ly.py:147
+msgid "make a numbered backup [default: filename.ext~]"
+msgstr "effectue un archivage numéroté [par défaut : nomfichier.etx~]"
 
-#: convert-ly.py:163
+#: convert-ly.py:152 etf2ly.py:1212 lilypond-book.py:234 midi2ly.py:1096
+#: main.cc:183
+msgid "show warranty and copyright"
+msgstr "affiche les notices de garantie et du droit d'auteur"
+
+#: convert-ly.py:196
 msgid "Applying conversion: "
-msgstr "Conversion en cours : "
+msgstr "Conversion en cours : "
 
-#: convert-ly.py:176
+#: convert-ly.py:215
 msgid "Error while converting"
 msgstr "Erreur lors de la conversion"
 
-#: convert-ly.py:178
+#: convert-ly.py:217
 msgid "Stopping at last successful rule"
 msgstr "Arrêt à la dernière règle appliquée avec succès"
 
-#: convert-ly.py:199
+#: convert-ly.py:256
 #, python-format
 msgid "Processing `%s'... "
-msgstr "Traitement de « %s »..."
+msgstr "Traitement de « %s »..."
 
-#: convert-ly.py:289 relocate.cc:362 source-file.cc:59
-#, c-format, python-format
-msgid "cannot open file: `%s'"
-msgstr "Impossible d'ouvrir le fichier : « %s »"
+#: convert-ly.py:367
+#, python-format
+msgid "%s: Unable to open file"
+msgstr "impossible d'ouvrir le fichier « %s »"
+
+#: convert-ly.py:373
+#, python-format
+msgid "%s: Unable to determine version.  Skipping"
+msgstr ""
+"impossible de déterminer la version de « %s ».\n"
+" Au suivant !"
 
-#: convert-ly.py:296
+#: convert-ly.py:379
 #, python-format
-msgid "cannot determine version for `%s'.  Skipping"
-msgstr "impossible de déterminer la version  de « %s ». Au suivant !"
+msgid ""
+"%s: Invalid version string `%s' \n"
+"Valid version strings consist of three numbers, separated by dots, e.g. `2.8.12'"
+msgstr ""
+"« %s » porte un numéro de version invalide : %s \n"
+"Un numéro de version valide est formé de trois nombres séparés par un point,\n"
+"comme par exemple « 2.8.12 »"
 
-#: etf2ly.py:1179
+#: convert-ly.py:385
+#, python-format
+msgid "There was %d error."
+msgid_plural "There were %d errors."
+msgstr[0] "Il y a %d erreur."
+msgstr[1] "Il y a %d erreurs."
+
+#: etf2ly.py:1197
 #, python-format
 msgid "%s [OPTION]... ETF-FILE"
 msgstr "%s [OPTIONS]... FICHIER-ETF"
 
-#: etf2ly.py:1180
+#: etf2ly.py:1198
 msgid ""
 "Enigma Transport Format is a format used by Coda Music Technology's\n"
 "Finale product.  etf2ly converts a subset of ETF to a ready-to-use LilyPond file.\n"
 msgstr ""
 "Enigma Transport Format est utilisé par Finale, de Coda Music Technology.\n"
-"etf2ly convertit partiellement un fichier ETF en un fichier LilyPond \n"
+"etf2ly convertit partiellement un fichier ETF en un fichier LilyPond\n"
 "exploitable.\n"
 
-#: etf2ly.py:1192 midi2ly.py:865 musicxml2ly.py:2638 main.cc:149 main.cc:154
+#: etf2ly.py:1210 midi2ly.py:1067 midi2ly.py:1072 musicxml2ly.py:2659
+#: main.cc:166 main.cc:178
 msgid "FILE"
 msgstr "FICHIER"
 
-#: etf2ly.py:1194 lilypond-book.py:210 midi2ly.py:882 main.cc:158
-msgid "show warranty and copyright"
-msgstr "afficher les notices de garantie et du droit d'auteur"
-
-#: lilypond-book.py:69
+#: lilypond-book.py:80
 msgid "Process LilyPond snippets in hybrid HTML, LaTeX, texinfo or DocBook document."
 msgstr ""
-"Traiter les extraits LilyPond dans un document HTML hybride, LaTeX, \n"
+"Traite les extraits LilyPond dans un document HTML hybride, LaTeX,\n"
 "texinfo ou Docbook."
 
-#: lilypond-book.py:76
+#: lilypond-book.py:87
 msgid "BOOK"
 msgstr "LIVRE"
 
-#: lilypond-book.py:84
+#: lilypond-book.py:95
 #, python-format
 msgid "Exiting (%d)..."
 msgstr "Fin d'exécution (%d)..."
 
-#: lilypond-book.py:115
-#, python-format
-msgid "Copyright (c) %s by"
-msgstr "Copyright (c) %s détenu par"
-
-#: lilypond-book.py:125
+#: lilypond-book.py:127
 msgid "FILTER"
 msgstr "FILTRE"
 
-#: lilypond-book.py:128
+#: lilypond-book.py:130
 msgid "pipe snippets through FILTER [default: `convert-ly -n -']"
-msgstr "passer les extraits à travers le FILTRE [par défaut : `convert-ly -n -']"
+msgstr "passe les extraits à travers le FILTRE [par défaut : « convert-ly -n - »]"
 
-#: lilypond-book.py:132
+#: lilypond-book.py:134
 msgid "use output format FORMAT (texi [default], texi-html, latex, html, docbook)"
 msgstr ""
-"utiliser le format de sortie FORMAT (texi (par défaut), texi-html, latex, \n"
-"html, docbook)"
+"utilise le format de sortie FORMAT (texi par défaut, texi-html, latex,\n"
+"html ou docbook)"
 
-#: lilypond-book.py:133
+#: lilypond-book.py:135
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: lilypond-book.py:140
+#: lilypond-book.py:142
 msgid "add DIR to include path"
-msgstr "ajouter le RÉPERTOIRE au chemin de recherche des inclusions"
+msgstr "ajoute le RÉP au chemin de recherche des inclusions"
 
-#: lilypond-book.py:141 lilypond-book.py:148 lilypond-book.py:166
-#: lilypond-book.py:172 lilypond-book.py:178 lilypond-book.py:184 main.cc:148
+#: lilypond-book.py:143 lilypond-book.py:150 lilypond-book.py:169
+#: lilypond-book.py:187 lilypond-book.py:208 lilypond-book.py:214 main.cc:165
 msgid "DIR"
 msgstr "RÉP"
 
-#: lilypond-book.py:146
+#: lilypond-book.py:148
 msgid "format Texinfo output so that Info will look for images of music in DIR"
-msgstr "formater la sortie Texinfo pour qu'Info cherche les images dans RÉP"
+msgstr "formate la sortie Texinfo pour qu'Info cherche les images dans RÉP"
 
-#: lilypond-book.py:153
-msgid "run executable PROG instead of latex"
-msgstr "lancer l'exécutable PROG plutôt que latex"
-
-#: lilypond-book.py:154
-msgid "PROG"
-msgstr "PROG"
-
-#: lilypond-book.py:159
+#: lilypond-book.py:155
 msgid "PAD"
 msgstr "PAD"
 
-#: lilypond-book.py:161
+#: lilypond-book.py:157
 msgid "pad left side of music to align music inspite of uneven bar numbers (in mm)"
 msgstr ""
-"Tasser la musique par la gauche pour la répartir en dépit du nombre irrégulier \n"
+"tasse la musique par la gauche pour la répartir en dépit du nombre irrégulier\n"
 "de mesures (en mm)"
 
-#: lilypond-book.py:165
-msgid "write output to DIR"
-msgstr "produire la sortie dans le RÉPERTOIRE"
+#: lilypond-book.py:162
+msgid "Print lilypond log messages according to LOGLEVEL"
+msgstr "Affiche les messages du journal selon la vakeur de LOGLEVEL"
 
-#: lilypond-book.py:171
-msgid "do not fail if no lilypond output is found"
-msgstr "poursuivre même s'il n'y a pas de sortie lilypond"
+#: lilypond-book.py:168
+msgid "write lily-XXX files to DIR, link into --output dir"
+msgstr ""
+"écrit les fichiers lily-XXX dans RÉP et crée un lien vers le répertoire\n"
+"spécifié par --output"
 
-#: lilypond-book.py:177
-msgid "do not fail if no PNG images are found for EPS files"
-msgstr "poursuivre même s'il n'y a pas d'image PNG pour les fichiers EPS"
+#: lilypond-book.py:173
+msgid "Load the additional python PACKAGE (containing e.g. a custom output format)"
+msgstr ""
+"charge le PAQUETAGE python supplémentaire (contenant par exemple\n"
+"un format de sortie particulier)"
 
-#: lilypond-book.py:183
-msgid "write lily-XXX files to DIR, link into --output dir"
-msgstr "écrire les fichiers lily-XXX dans RÉP, et lier à --output rép"
+#: lilypond-book.py:174
+msgid "PACKAGE"
+msgstr "PAQUETAGE"
+
+#: lilypond-book.py:186
+msgid "write output to DIR"
+msgstr "produit la sortie dans RÉP"
 
-#: lilypond-book.py:188
+#: lilypond-book.py:191
 msgid "COMMAND"
 msgstr "COMMANDE"
 
-#: lilypond-book.py:189
+#: lilypond-book.py:192
 msgid "process ly_files using COMMAND FILE..."
-msgstr "Traîter ly_files en utilisant COMMANDE FICHIER..."
-
-#: lilypond-book.py:196
-msgid "create PDF files for use with PDFTeX"
-msgstr "Créer des fichiers PDF pour utilisation par PDFTeX"
+msgstr "traîte ly_files en utilisant COMMANDE FICHIER..."
 
-#: lilypond-book.py:199 midi2ly.py:875 musicxml2ly.py:2595 main.cc:157
-msgid "be verbose"
-msgstr "Passer en mode verbeux"
-
-#: lilypond-book.py:871
-#, python-format
-msgid "file not found: %s"
-msgstr "fichier non trouvé : %s"
+#: lilypond-book.py:197
+msgid "Redirect the lilypond output"
+msgstr "redirige la sortie la sortie lilypond"
 
-#: lilypond-book.py:1142
-#, python-format
-msgid "deprecated ly-option used: %s=%s"
-msgstr "option ly-option obsolète : %s=%s"
+#: lilypond-book.py:201
+msgid "Compile snippets in safe mode"
+msgstr "compile des extraits en mode protégé"
 
-#: lilypond-book.py:1144
-#, python-format
-msgid "compatibility mode translation: %s=%s"
-msgstr "bascule en mode de compatibilité : %s=%s"
+#: lilypond-book.py:207
+msgid "do not fail if no lilypond output is found"
+msgstr "désactive la mise en échec en l’absence de sortie de lilypond"
 
-#: lilypond-book.py:1147
-#, python-format
-msgid "deprecated ly-option used: %s"
-msgstr "option ly-option obsolète : %s"
+#: lilypond-book.py:213
+msgid "do not fail if no PNG images are found for EPS files"
+msgstr ""
+"désactive la mise en échec en l’absence d’images PNG\n"
+"correspondant aux fichiers EPS"
 
-#: lilypond-book.py:1149
-#, python-format
-msgid "compatibility mode translation: %s"
-msgstr "bascule en mode de compatibilité : %s"
+#: lilypond-book.py:219
+msgid "write snippet output files with the same base name as their source file"
+msgstr ""
+"affecte au résultat des extraits la même racine\n"
+"que celle des fichiers sources"
 
-#: lilypond-book.py:1167
-#, python-format
-msgid "ignoring unknown ly option: %s"
-msgstr "option ly inconnue et ignorée : %s"
+#: lilypond-book.py:223 midi2ly.py:1090 musicxml2ly.py:2596
+msgid "be verbose"
+msgstr "passe en mode verbeux"
 
-#: lilypond-book.py:1604
-#, python-format
-msgid "Opening filter `%s'"
-msgstr "Ouverture du filtre « %s »"
+#: lilypond-book.py:239
+msgid ""
+"run executable PROG instead of latex, or in\n"
+"case --pdf option is set instead of pdflatex"
+msgstr ""
+"utilise l’exécutable PROG en lieu et place de latex,\n"
+"ou lorsque l'option --pdf remplace pdflatex"
 
-#: lilypond-book.py:1621
-#, python-format
-msgid "`%s' failed (%d)"
-msgstr "« %s » a échoué (%d)"
+#: lilypond-book.py:241 lilypond-book.py:246
+msgid "PROG"
+msgstr "PROG"
 
-#: lilypond-book.py:1622
-msgid "The error log is as follows:"
-msgstr "Voici le journal d'erreurs :"
+#: lilypond-book.py:245
+msgid "run executable PROG instead of texi2pdf"
+msgstr "utilise l'exécutable PROG au lieu de texi2pdf"
 
-#: lilypond-book.py:1684
-msgid "cannot find \\begin{document} in LaTeX document"
-msgstr "Impossible de trouver \\begin{document} dans le document LaTeX."
+#: lilypond-book.py:252
+msgid "create PDF files for use with PDFTeX"
+msgstr "crée des fichiers PDF pour utilisation par PDFTeX"
 
-#: lilypond-book.py:1784
+#: lilypond-book.py:463
 msgid "Writing snippets..."
 msgstr "Écriture des extraits..."
 
-#: lilypond-book.py:1790
+#: lilypond-book.py:468
 msgid "Processing..."
 msgstr "Traitement..."
 
-#: lilypond-book.py:1796
+#: lilypond-book.py:473
 msgid "All snippets are up to date..."
 msgstr "Tous les extraits sont à jour..."
 
-#: lilypond-book.py:1830
+#: lilypond-book.py:475
+msgid "Linking files..."
+msgstr "Liaison des fichiers..."
+
+#: lilypond-book.py:495
 #, python-format
 msgid "cannot determine format for: %s"
-msgstr "format indéterminé pour %s"
+msgstr "format indéterminé pour « %s »"
 
-#: lilypond-book.py:1841
+#: lilypond-book.py:504
 #, python-format
 msgid "%s is up to date."
-msgstr "%s est à jour."
+msgstr "« %s » est à jour."
 
-#: lilypond-book.py:1855
+#: lilypond-book.py:517
 #, python-format
 msgid "Writing `%s'..."
-msgstr "Écriture de « %s »..."
+msgstr "Écriture de « %s »..."
 
-#: lilypond-book.py:1913
+#: lilypond-book.py:580
 msgid "Output would overwrite input file; use --output."
-msgstr "La sortie va écraser le fichier d'entrée ; utiliser --output"
+msgstr "La sortie va écraser le fichier d'entrée ; utiliser --output"
 
-#: lilypond-book.py:1917
+#: lilypond-book.py:584
 #, python-format
 msgid "Reading %s..."
-msgstr "Lecture en cours de %s..."
+msgstr "Lecture en cours de « %s »..."
 
-#: lilypond-book.py:1937
+#: lilypond-book.py:591
 msgid "Dissecting..."
 msgstr "Dissection en cours..."
 
-#: lilypond-book.py:1953
+#: lilypond-book.py:602
 #, python-format
 msgid "Compiling %s..."
-msgstr "Compilation de %s..."
+msgstr "Compilation de « %s »..."
 
-#: lilypond-book.py:1962
+#: lilypond-book.py:610
 #, python-format
 msgid "Processing include: %s"
-msgstr "Traitement d'inclusion : %s"
+msgstr "Traitement d'inclusion : %s"
 
-#: lilypond-book.py:1974
+#: lilypond-book.py:621
 #, python-format
 msgid "Removing `%s'"
-msgstr "Suppression de « %s »"
+msgstr "Suppression de « %s »"
+
+#: lilypond-book.py:714
+#, python-format
+msgid "Setting LilyPond's loglevel to %s"
+msgstr "Niveau de journalisation de LilyPond fixé à %s"
+
+#: lilypond-book.py:718
+#, python-format
+msgid "Setting LilyPond's loglevel to %s (from environment variable LILYPOND_LOGLEVEL)"
+msgstr ""
+"Détermination du niveau de journalisation de LilyPond à %s\n"
+"(à partir de la variable d'environnement LILYPOND_LOGLEVEL)"
+
+#: lilypond-book.py:721
+msgid "Setting LilyPond's output to --verbose, implied by lilypond-book's setting"
+msgstr "Utilisation de l'option LilyPond --verbose (réglage implicite de lilypond-book)"
 
-#: midi2ly.py:84 lily-library.scm:634 lily-library.scm:643
+#: midi2ly.py:90
 msgid "warning: "
 msgstr "Avertissement : "
 
-#: midi2ly.py:87 midi2ly.py:907
+#: midi2ly.py:93 midi2ly.py:1124
 msgid "error: "
 msgstr "Erreur : "
 
-#: midi2ly.py:88
+#: midi2ly.py:94
 msgid "Exiting... "
 msgstr "Fin d'exécution... "
 
-#: midi2ly.py:833
+#: midi2ly.py:835
+msgid "found more than 5 voices on a staff, expect bad output"
+msgstr ""
+"l'une des portées contient plus de cinq voix ;\n"
+"attendez-vous à un piètre résultat."
+
+#: midi2ly.py:1032
 #, python-format
 msgid "%s output to `%s'..."
-msgstr "%s reproduit dans « %s »..."
+msgstr "%s reproduit dans « %s »..."
 
-#: midi2ly.py:846
+#: midi2ly.py:1045
 #, python-format
 msgid "Convert %s to LilyPond input.\n"
-msgstr "Convertir %s au format source LilyPond.\n"
+msgstr "convertit %s au format source LilyPond.\n"
 
-#: midi2ly.py:851
+#: midi2ly.py:1050
 msgid "print absolute pitches"
-msgstr "afficher des tons absolus"
+msgstr "affecte des hauteurs absolues"
 
-#: midi2ly.py:853 midi2ly.py:868
+#: midi2ly.py:1052 midi2ly.py:1080
 msgid "DUR"
 msgstr "DUR"
 
-#: midi2ly.py:854
+#: midi2ly.py:1053
 msgid "quantise note durations on DUR"
-msgstr "quantifier les durées de note d'après DUR"
+msgstr "quantifie les durées de note d'après DUR"
 
-#: midi2ly.py:857
+#: midi2ly.py:1056
+msgid "debug printing"
+msgstr "affiche des informations de débogage"
+
+#: midi2ly.py:1059
 msgid "print explicit durations"
-msgstr "écrire des durées explicites"
+msgstr "affecte des durées explicites"
+
+#: midi2ly.py:1064
+msgid "prepend FILE to output"
+msgstr "ajoute FICHIER à la sortie"
 
-#: midi2ly.py:861
+#: midi2ly.py:1068
 msgid "set key: ALT=+sharps|-flats; MINOR=1"
-msgstr "définir l'armure : ALT=+dièse|-bémol; MINEUR=1"
+msgstr "définit l'armure : ALT=+dièse|-bémol ; MINEUR=1"
 
-#: midi2ly.py:862
+#: midi2ly.py:1069
 msgid "ALT[:MINOR]"
 msgstr "ALT[:MINEUR]"
 
-#: midi2ly.py:867
+#: midi2ly.py:1074
+msgid "preview of first 4 bars"
+msgstr "prévisualisation des quatre premières mesures"
+
+#: midi2ly.py:1078
+msgid "suppress progress messages and warnings about excess voices"
+msgstr "n'affiche aucun message de progression ni de nombre excessif de voix"
+
+#: midi2ly.py:1079
 msgid "quantise note starts on DUR"
-msgstr "quantifier les débuts de note sur DUR"
+msgstr "quantifie les débuts de note sur DUR"
+
+#: midi2ly.py:1083
+msgid "use s instead of r for rests"
+msgstr "traduit les silences en « s », non en « r »"
 
-#: midi2ly.py:870
+#: midi2ly.py:1085
 msgid "DUR*NUM/DEN"
 msgstr "DUR*NUM/DEN"
 
-#: midi2ly.py:873
+#: midi2ly.py:1088
 msgid "allow tuplet durations DUR*NUM/DEN"
-msgstr "permettre des n-olets de durée DUR*NUM/DEN"
+msgstr "permet des n-olets de durée DUR*NUM/DEN"
 
-#: midi2ly.py:885
+#: midi2ly.py:1098
 msgid "treat every text as a lyric"
-msgstr "traiter tout texte comme étant des paroles"
+msgstr "traite tout texte comme étant des paroles"
 
-#: midi2ly.py:888
+#: midi2ly.py:1101
 msgid "Examples"
 msgstr "Exemples"
 
-#: midi2ly.py:908
+#: midi2ly.py:1125
 msgid "no files specified on command line."
 msgstr "aucun fichier spéficié sur la ligne de commande."
 
-#: musicxml2ly.py:343
-msgid "Encountered file created by Dolet 3.4 for Sibelius, containing wrong beaming information. All beaming information in the MusicXML file will be ignored"
-msgstr ""
-"Détection d'un fichier créé par Dolet 3.4 pour Sibelius et contenant des \n"
-"informations de lien erronées. Toutes les informations de ligature du fichier \n"
-"MusicXML seront ignorées"
-
-#: musicxml2ly.py:346
-msgid "Encountered file created by Noteworthy Composer's nwc2xml, containing wrong beaming information. All beaming information in the MusicXML file will be ignored"
+#: musicxml2ly.py:228
+#, python-format
+msgid "Encountered file created by %s, containing wrong beaming information. All beaming information in the MusicXML file will be ignored"
 msgstr ""
-"Détection d'un fichier créé par Noteworthy Composer's nwc2xml et contenant des \n"
-"informations de lien erronées. Toutes les informations de ligature du fichier \n"
-"MusicXML seront ignorées"
+"Détection d'un fichier créé par %s et contenant des informations de ligature\n"
+"erronées. Toutes les informations de ligature du fichier MusicXML seront\n"
+"ignorées."
 
-#: musicxml2ly.py:362 musicxml2ly.py:364
+#: musicxml2ly.py:247 musicxml2ly.py:249
 #, python-format
 msgid "Unprocessed PartGroupInfo %s encountered"
 msgstr "PartGroupInfo %s détecté, mais non traité"
 
-#: musicxml2ly.py:594
+#: musicxml2ly.py:500
 #, python-format
 msgid "Encountered note at %s without type and duration (=%s)"
 msgstr "Une note se trouve en %s, sans type ni durée (=%s)"
 
-#: musicxml2ly.py:613
+#: musicxml2ly.py:520
 #, python-format
 msgid "Encountered rational duration with denominator %s, unable to convert to lilypond duration"
 msgstr ""
-"Durée rationnelle au dénominateur de %s détectée ; \n"
+"Durée rationnelle au dénominateur de %s détectée ;\n"
 "impossible de traduire en durée LilyPond"
 
-#: musicxml2ly.py:868
+#: musicxml2ly.py:767
 msgid "Unable to extract key signature!"
-msgstr "Impossible de trouver l'armure."
+msgstr "Impossible de déterminer l'armure."
 
-#: musicxml2ly.py:895
+#: musicxml2ly.py:794
 #, python-format
 msgid "unknown mode %s, expecting 'major' or 'minor' or a church mode!"
-msgstr "%s : mode inconnu. Devrait être « majeur », « mineur » ou « mode d'église »"
+msgstr ""
+"%s : mode inconnu.\n"
+"Devrait être « majeur », « mineur » ou « mode d'église »."
 
-#: musicxml2ly.py:968
+#: musicxml2ly.py:932
 #, python-format
 msgid "Encountered unprocessed marker %s\n"
-msgstr "Détection d'un marqueur non traité : %s\n"
+msgstr "Détection d'un marqueur non traité : %s\n"
 
-#: musicxml2ly.py:1062
+#: musicxml2ly.py:1026
 #, python-format
 msgid "unknown span event %s"
-msgstr "Événement de prolongation inconnu : « %s »"
+msgstr "Événement de prolongation inconnu : « %s »"
 
-#: musicxml2ly.py:1072
+#: musicxml2ly.py:1036
 #, python-format
 msgid "unknown span type %s for %s"
 msgstr "%s n'est pas un type de prolongateur reconnu pour %s"
 
-#: musicxml2ly.py:1498
+#: musicxml2ly.py:1456
 msgid "Unknown metronome mark, ignoring"
 msgstr "Indication métronomique inconnue et ignorée."
 
 #. TODO: Implement the other (more complex) way for tempo marks!
-#: musicxml2ly.py:1503
+#: musicxml2ly.py:1461
 msgid "Metronome marks with complex relations (<metronome-note> in MusicXML) are not yet implemented."
 msgstr ""
-"Les indications métronomiques aux relations complexes (<metronome-note> pour \n"
+"Les indications métronomiques aux relations complexes (<metronome-note> pour\n"
 "MusicXML) n'ont pas encore été implémentées."
 
-#: musicxml2ly.py:1703
+#: musicxml2ly.py:1663
 #, python-format
 msgid "Unable to convert chord type %s to lilypond."
 msgstr "Impossible de convertir le type d'accord %s au format LilyPond"
 
-#: musicxml2ly.py:1849
+#: musicxml2ly.py:1816
 #, python-format
 msgid "drum %s type unknown, please add to instrument_drumtype_dict"
 msgstr ""
-"%s n'est pas un type de percussion connu. \n"
+"%s n'est pas un type de percussion connu.\n"
 "L'ajouter à instrument_drumtype_dict"
 
-#: musicxml2ly.py:1853
+#: musicxml2ly.py:1820
 msgid "cannot find suitable event"
 msgstr "Aucun événement correspondant"
 
-#: musicxml2ly.py:1994
+#: musicxml2ly.py:1968
 #, python-format
 msgid "Negative skip %s (from position %s to %s)"
 msgstr "Retour en arrière de %s (partant de %s et jusqu'à %s)"
 
-#: musicxml2ly.py:2134
+#: musicxml2ly.py:2109
 #, python-format
 msgid "Negative skip found: from %s to %s, difference is %s"
-msgstr "Retour en arrière, de %s à %s ; différence = %s"
+msgstr "Retour en arrière, de %s à %s ; différence = %s"
 
-#: musicxml2ly.py:2205
+#: musicxml2ly.py:2190
 #, python-format
 msgid "unexpected %s; expected %s or %s or %s"
 msgstr "%s détecté, au lieu de %s, %s ou %s"
 
-#: musicxml2ly.py:2311
+#: musicxml2ly.py:2296
 msgid "Encountered closing slur, but no slur is open"
 msgstr "Terminaison d'une liaison qui n'a pas été débutée"
 
-#: musicxml2ly.py:2314
+#: musicxml2ly.py:2299
 msgid "Cannot have two simultaneous (closing) slurs"
-msgstr "deux liaisons ne peuvent se terminer simultanément"
+msgstr "Deux liaisons ne peuvent se terminer simultanément"
 
-#: musicxml2ly.py:2324
+#: musicxml2ly.py:2308
 msgid "Cannot have a slur inside another slur"
-msgstr "des liaisons ne peuvent s'imbriquer"
+msgstr "Des liaisons ne peuvent s'imbriquer"
 
-#: musicxml2ly.py:2327
+#: musicxml2ly.py:2311
 msgid "Cannot have two simultaneous slurs"
-msgstr "deux liaisons ne peuvent intervenir simultanément"
+msgstr "Deux liaisons ne peuvent intervenir simultanément"
 
-#: musicxml2ly.py:2455
+#: musicxml2ly.py:2445
 #, python-format
 msgid "cannot simultaneously have more than one mode: %s"
-msgstr "SVP, un seul mode à la fois : %s"
+msgstr "SVP, un seul mode à la fois : %s"
 
 #: musicxml2ly.py:2553
 msgid "Converting to LilyPond expressions..."
@@ -1089,7 +1608,7 @@ msgstr "Conversion en expressions LilyPond..."
 
 #: musicxml2ly.py:2564
 msgid "musicxml2ly [OPTION]... FILE.xml"
-msgstr "musicxml2ly [options]... FICHIER.xml"
+msgstr "musicxml2ly [OPTION]... FICHIER.xml"
 
 #: musicxml2ly.py:2566
 msgid ""
@@ -1097,238 +1616,300 @@ msgid ""
 "If the given filename is -, musicxml2ly reads from the command line.\n"
 msgstr ""
 "Convertit FICHIER.xml (MusicXML) au format LilyPond.\n"
-"Si le nom du fichier est « - », musicxml2ly lira la ligne de commande.\n"
+"Si le nom du fichier est « - », musicxml2ly lira la ligne de commande.\n"
 
 #: musicxml2ly.py:2576
 msgid ""
-"Copyright (c) 2005--2009 by\n"
+"Copyright (c) 2005--2014 by\n"
 "    Han-Wen Nienhuys <hanwen@xs4all.nl>,\n"
 "    Jan Nieuwenhuizen <janneke@gnu.org> and\n"
 "    Reinhold Kainhofer <reinhold@kainhofer.com>\n"
 msgstr ""
-"Copyright (c) 2005--2009 by\n"
+"Copyright (c) 2005--2014 par\n"
 "    Han-Wen Nienhuys <hanwen@xs4all.nl>,\n"
-"    Jan Nieuwenhuizen <janneke@gnu.org> and\n"
+"    Jan Nieuwenhuizen <janneke@gnu.org> et\n"
 "    Reinhold Kainhofer <reinhold@kainhofer.com>\n"
 
-#: musicxml2ly.py:2601
+#: musicxml2ly.py:2602
 msgid "use lxml.etree; uses less memory and cpu time"
 msgstr ""
-"Utiliser lxml.etree pour consommer moins de mémoire \n"
+"utilise lxml.etree pour consommer moins de mémoire\n"
 "et de temps processeur."
 
-#: musicxml2ly.py:2607
+#: musicxml2ly.py:2608
 msgid "input file is a zip-compressed MusicXML file"
 msgstr "le fichier d'entrée est un fichier MusicXML compressé"
 
-#: musicxml2ly.py:2613
+#: musicxml2ly.py:2614
 msgid "convert pitches in relative mode (default)"
-msgstr "convertir les hauteurs en mode relatif (par défaut)"
+msgstr "convertit les hauteurs en mode relatif (par défaut)"
 
-#: musicxml2ly.py:2618
+#: musicxml2ly.py:2619
 msgid "convert pitches in absolute mode"
-msgstr "convertir les hauteurs en mode absolu"
+msgstr "convertit les hauteurs en mode absolu"
 
-#: musicxml2ly.py:2621
+#: musicxml2ly.py:2622
 msgid "LANG"
 msgstr "LANG"
 
-#: musicxml2ly.py:2623
-msgid "use a different language file 'LANG.ly' and corresponding pitch names, e.g. 'deutsch' for deutsch.ly"
+#: musicxml2ly.py:2624
+msgid "use LANG for pitch names, e.g. 'deutsch' for note names in German"
 msgstr ""
-"utiliser un autre fichier linguistique « lang.ly » et ses noms de notes, \n"
-"comme « deutsch » pour deutsch.ly"
+"utilise une autre définition linguistique (LANG),\n"
+"par ex. deutsch pour l'allemand"
 
-#: musicxml2ly.py:2629
+#: musicxml2ly.py:2638
 msgid "do not convert directions (^, _ or -) for articulations, dynamics, etc."
 msgstr ""
-"ne pas convertir les emplacements (^, _ ou -) des articulations, \n"
-"nuances, etc."
+"ne convertit pas les positionnements (^, _ ou -) des articulations,\n"
+"nuances etc."
+
+#: musicxml2ly.py:2644
+msgid "do not convert exact vertical positions of rests"
+msgstr "ne convertit pas le positionnement absolu des silences"
 
-#: musicxml2ly.py:2635
+#: musicxml2ly.py:2650
+msgid "do not convert the exact page layout and breaks"
+msgstr "ne convertit pas les sauts et la mise en page"
+
+#: musicxml2ly.py:2656
 msgid "do not convert beaming information, use lilypond's automatic beaming instead"
 msgstr ""
-"ne pas convertir les informations de ligature ; \n"
-"laisser LilyPond gérer les ligatures automatiques"
+"ne convertit pas les informations de ligature ;\n"
+"laisse LilyPond gérer les ligatures automatiques"
 
-#: musicxml2ly.py:2643
+#: musicxml2ly.py:2664
 msgid "set output filename to FILE, stdout if -"
-msgstr "produire la sortie dans FICHIER (stdout si -)"
+msgstr "produit la sortie dans FICHIER (stdout si -)"
+
+#: musicxml2ly.py:2670
+msgid "activate midi-block"
+msgstr "activation du bloc midi"
 
-#: musicxml2ly.py:2726
+#: musicxml2ly.py:2754
 #, python-format
 msgid "unknown part in part-list: %s"
-msgstr "la partie %s n'est pas mentionnée dans part-list"
+msgstr "la partie « %s » n'est pas mentionnée dans part-list"
 
-#: musicxml2ly.py:2788
+#: musicxml2ly.py:2816
 msgid "Input is compressed, extracting raw MusicXML data from stdin"
-msgstr "Le fichier d'entrée est compressé. Extraction des données MusicXML brutes"
+msgstr ""
+"Le fichier d'entrée est compressé.\n"
+"Extraction des données MusicXML brutes à partir de stdin"
 
-#: musicxml2ly.py:2791
+#: musicxml2ly.py:2829
 #, python-format
 msgid "Input file %s is compressed, extracting raw MusicXML data"
 msgstr ""
-"Le fichier d'entrée (%s) est compressé. \n"
+"Le fichier d'entrée (%s) est compressé.\n"
 "Extraction des données MusicXML brutes"
 
-#: musicxml2ly.py:2821
+#: musicxml2ly.py:2859
 msgid "Reading MusicXML from Standard input ..."
 msgstr "Lecture du fichier MusicXML à partir de l'entrée standard..."
 
-#: musicxml2ly.py:2823
+#: musicxml2ly.py:2861
 #, python-format
 msgid "Reading MusicXML from %s ..."
-msgstr "Lecture du fichier MusicXML %s..."
+msgstr "Lecture du fichier MusicXML « %s »..."
 
-#: musicxml2ly.py:2856
+#: musicxml2ly.py:2894
 #, python-format
 msgid "Output to `%s'"
-msgstr "Fichier de sortie : « %s »"
+msgstr "Fichier de sortie : « %s »"
 
-#: musicxml2ly.py:2922
+#: musicxml2ly.py:2964
 #, python-format
 msgid "Unable to find input file %s"
-msgstr "impossible de trouver le fichier d'entrée : « %s »"
+msgstr "Impossible de trouver le fichier d'entrée « %s »"
+
+#: website_post.py:125
+msgid "English"
+msgstr "Anglais"
+
+#: website_post.py:128
+msgid "Other languages"
+msgstr "Autres langues"
+
+#: website_post.py:129
+#, python-format
+msgid "About <a href=\"%s\">automatic language selection</a>."
+msgstr "À propos de la <a href=\"%s\">sélection automatique de la langue</a>."
 
-#: getopt-long.cc:140
+#: getopt-long.cc:153
 #, c-format
 msgid "option `%s' requires an argument"
-msgstr "L'option « %s » requiert un argument"
+msgstr "L'option « %s » requiert un argument"
 
-#: getopt-long.cc:144
+#: getopt-long.cc:157
 #, c-format
 msgid "option `%s' does not allow an argument"
-msgstr "L'option « %s » s'emploie sans argument"
+msgstr "L'option « %s » s'emploie sans argument"
 
-#: getopt-long.cc:148
+#: getopt-long.cc:161
 #, c-format
 msgid "unrecognized option: `%s'"
-msgstr "option non reconnue : « %s »"
+msgstr "option non reconnue : « %s »"
 
-#: getopt-long.cc:154
+#: getopt-long.cc:167
 #, c-format
 msgid "invalid argument `%s' to option `%s'"
-msgstr "argument « %s » invalide pour l'option « %s »"
+msgstr "argument « %s » invalide pour l'option « %s »"
+
+#: warn.cc:56
+#, c-format
+msgid "Log level set to %d\n"
+msgstr "Niveau de journalisation fixé à %d\n"
+
+#: warn.cc:89
+#, c-format
+msgid "unknown log level `%s', using default (INFO)"
+msgstr "« %s » n'est pas un niveau de journalisation reconnu ; utilisation de INFO"
+
+#. Some expected warning was not triggered, so print out a warning.
+#: warn.cc:112
+#, c-format
+msgid "%d expected warning(s) not encountered: "
+msgstr "%d avertissement(s) étaient attendus sans avoir été déclenchés :"
+
+#: warn.cc:183
+#, c-format
+msgid "fatal error: %s"
+msgstr "erreur fatale : %s"
+
+#: warn.cc:192
+#, c-format
+msgid "suppressed programming error: %s"
+msgstr "erreur de programmation supprimée : %s"
 
-#: warn.cc:68 grob.cc:566 input.cc:82
+#: warn.cc:197
 #, c-format
 msgid "programming error: %s"
-msgstr "erreur de programmation : %s"
+msgstr "erreur de programmation : %s"
 
-#: warn.cc:69 input.cc:83
+#: warn.cc:198
 msgid "continuing, cross fingers"
-msgstr "poursuite ; croisons les doigts."
+msgstr "poursuite ; croisons les doigts."
 
-#: accidental-engraver.cc:298
+#: warn.cc:207
+#, c-format
+msgid "suppressed error: %s"
+msgstr "erreur supprimée : %s"
+
+#: warn.cc:219
+#, c-format
+msgid "suppressed warning: %s"
+msgstr "avertissement supprimé : %s"
+
+#: accidental-engraver.cc:180
 #, c-format
 msgid "accidental typesetting list must begin with context-name: %s"
 msgstr ""
-"La saisie d'une liste d'altérations accidentelles doit débuter \n"
-"par un nom de contexte : %s"
+"La saisie d'une liste d'altérations accidentelles doit débuter\n"
+"par un nom de contexte : %s"
 
-#: accidental-engraver.cc:328
+#: accidental-engraver.cc:210
 #, c-format
 msgid "procedure or context-name expected for accidental rule, found %s"
 msgstr ""
 "procédure ou nom de contexte requis pour la règle d'altération accidentelle,\n"
 "%s trouvé"
 
-#: accidental.cc:187
+#: accidental.cc:169
 #, c-format
 msgid "Could not find glyph-name for alteration %s"
 msgstr "Aucun nom de glyphe ne correspond à l'altération %s"
 
-#: accidental.cc:202
+#: accidental.cc:184
 msgid "natural alteration glyph not found"
 msgstr "pas de glyphe correspondant au bécarre"
 
-#: align-interface.cc:305
-msgid "tried to get a translation for something that is no child of mine"
-msgstr "tentative de déplacement d'un élément sans relation directe"
-
-#: all-font-metrics.cc:143
+#: all-font-metrics.cc:149
 #, c-format
 msgid "cannot find font: `%s'"
-msgstr "fonte « %s » introuvable"
+msgstr "fonte « %s » introuvable"
 
-#: apply-context-iterator.cc:31
+#: apply-context-iterator.cc:42
 msgid "\\applycontext argument is not a procedure"
 msgstr "l'argument \\applycontext n'est pas une procédure"
 
-#: auto-change-iterator.cc:63 change-iterator.cc:61
+#: arpeggio.cc:138
+msgid "no heads for arpeggio found?"
+msgstr "arpeggio sans tête de note ?"
+
+#: auto-change-iterator.cc:74 change-iterator.cc:72
 #, c-format
 msgid "cannot change, already in translator: %s"
-msgstr "modification impossible, c'est déjà dans le traducteur : %s"
+msgstr "modification impossible, c'est déjà dans le translateur : %s"
 
-#: axis-group-engraver.cc:78
+#: axis-group-engraver.cc:149
 msgid "Axis_group_engraver: vertical group already has a parent"
-msgstr "Axis_group_engraver : le groupe vertical a déjà un parent"
+msgstr "Axis_group_engraver : le groupe vertical a déjà un parent"
 
-#: axis-group-engraver.cc:79
+#: axis-group-engraver.cc:150
 msgid "are there two Axis_group_engravers?"
 msgstr "Axis_group_engraver redondant"
 
-#: axis-group-engraver.cc:80
+#: axis-group-engraver.cc:151
 msgid "removing this vertical group"
 msgstr "retrait de ce groupe vertical"
 
-#: axis-group-interface.cc:532
+#: axis-group-interface.cc:714
+#, c-format
+msgid "\"%s\" is not a valid outside-staff-placement-directive"
+msgstr ""
+"on ne peut positionner un objet externe à la portée avec \"%s\"\n"
+"  (outside-staff-position-directive)"
+
+#: axis-group-interface.cc:786
 msgid "an outside-staff object should have a direction, defaulting to up"
 msgstr ""
 "un objet externe à la portée devrait avoir un positionnement.\n"
-"Placé par défaut au dessus."
+"  Placé par défaut au-dessus."
 
-#: bar-check-iterator.cc:73
+#: bar-check-iterator.cc:84
 #, c-format
 msgid "barcheck failed at: %s"
-msgstr "échec du contrôle de mesure (barcheck) à %s"
+msgstr "échec du contrôle de mesure (barcheck) à %s"
 
-#: beam-engraver.cc:126
+#: beam-engraver.cc:148
 msgid "already have a beam"
-msgstr "lien déjà présent"
+msgstr "ligature déjà présente"
 
-#: beam-engraver.cc:202
+#: beam-engraver.cc:235
 msgid "unterminated beam"
-msgstr "lien non terminé"
+msgstr "ligature non terminée"
 
-#: beam-engraver.cc:244 chord-tremolo-engraver.cc:138
+#: beam-engraver.cc:282 chord-tremolo-engraver.cc:149
 msgid "stem must have Rhythmic structure"
 msgstr "la hampe doit avoir une structure Rythmic"
 
-#: beam-engraver.cc:252
+#: beam-engraver.cc:293
 msgid "stem does not fit in beam"
-msgstr "la hampe ne s'insère pas dans le lien"
+msgstr "la hampe ne s'insère pas dans la ligature"
 
-#: beam-engraver.cc:253
+#: beam-engraver.cc:294
 msgid "beam was started here"
-msgstr "le lien a débuté ici"
-
-#: beam-quanting.cc:307
-msgid "no feasible beam position"
-msgstr "nulle part où positionner le lien"
-
-#: beam.cc:160
-msgid "removing beam with no stems"
-msgstr "suppression du lien ayant moins de deux hampes"
+msgstr "la ligature a débuté ici"
 
-#: beam.cc:1078
+#. We are completely screwed.
+#: beam-quanting.cc:839
 msgid "no viable initial configuration found: may not find good beam slope"
 msgstr ""
-"pas de configuration initiale viable repérée : \n"
-"la pente du lien pourrait être inesthétique."
+"pas de configuration initiale viable repérée :\n"
+"la pente de la ligature pourrait être inesthétique."
 
-#: break-alignment-interface.cc:195
-#, c-format
-msgid "No spacing entry from %s to `%s'"
-msgstr "Pas d'espacement entre %s et « %s »"
+#: beam.cc:181
+msgid "removing beam with no stems"
+msgstr "suppression d'une ligature ayant moins de deux hampes"
 
-#: change-iterator.cc:23
+#: change-iterator.cc:34
 #, c-format
 msgid "cannot change `%s' to `%s'"
-msgstr "impossible de changer « %s » en « %s »"
+msgstr "impossible de changer « %s » en « %s »"
 
 #. FIXME: constant error message.
-#: change-iterator.cc:82
+#: change-iterator.cc:93
 msgid "cannot find context to switch to"
 msgstr "impossible de repérer le contexte vers lequel commuter"
 
@@ -1337,381 +1918,426 @@ msgstr "impossible de repérer le contexte vers lequel commuter"
 #.
 #. last->translator_id_string () = get_change
 #. ()->change_to_id_string ();
-#: change-iterator.cc:91
+#: change-iterator.cc:102
 #, c-format
 msgid "not changing to same context type: %s"
-msgstr "pas de changement vers le même type de contexte : %s"
+msgstr "pas de changement vers le même type de contexte : %s"
 
 #. FIXME: uncomprehensable message
-#: change-iterator.cc:95
+#: change-iterator.cc:106
 msgid "none of these in my family"
 msgstr "aucun de ceux-ci dans ma famille"
 
 #: chord-tremolo-engraver.cc:88
 msgid "No tremolo to end"
-msgstr "Il n'y a aucun trémolo à terminer"
+msgstr "Aucun trémolo à terminer"
 
-#: chord-tremolo-engraver.cc:110
+#: chord-tremolo-engraver.cc:109
 msgid "unterminated chord tremolo"
-msgstr "accord en tremolo non terminé"
-
-#: chord-tremolo-iterator.cc:35
-#, c-format
-msgid "expect 2 elements for chord tremolo, found %d"
-msgstr "un accord de tremolo requiert 2 éléments, %d trouvé(s)"
+msgstr "accord en trémolo non terminé"
 
-#: clef.cc:54
+#: clef.cc:65
 #, c-format
 msgid "clef `%s' not found"
-msgstr "clé `%s' introuvable"
+msgstr "clé « %s » introuvable"
 
-#: cluster.cc:110
+#: cluster.cc:120
 #, c-format
 msgid "unknown cluster style `%s'"
-msgstr "style de cluster inconnu : « %s »"
+msgstr "style de cluster inconnu : « %s »"
 
-#: cluster.cc:147
+#: cluster.cc:157
 msgid "junking empty cluster"
 msgstr "mise au rebut d'un cluster vide"
 
-#: coherent-ligature-engraver.cc:100
+#: coherent-ligature-engraver.cc:110
 #, c-format
 msgid "Coherent_ligature_engraver: setting `spacing-increment=0.01': ptr=%ul"
-msgstr "Coherent_ligature_engraver : initialise `spacing-increment=0.01': ptr=%ul"
+msgstr "Coherent_ligature_engraver : initialise « spacing-increment=0.01 » : ptr=%ul"
 
-#. if we get to here, just put everything on one line
-#: constrained-breaking.cc:176 constrained-breaking.cc:193
+#: constrained-breaking.cc:187 constrained-breaking.cc:206
 msgid "cannot find line breaking that satisfies constraints"
 msgstr "impossible de trouver un saut de ligne qui satisfasse aux contraintes"
 
-#: context-def.cc:130
-#, c-format
-msgid "program has no such type: `%s'"
-msgstr "Le programme n'a pas de tel type : « %s »"
-
-#: context-property.cc:32
+#: context-property.cc:43
 msgid "need symbol arguments for \\override and \\revert"
-msgstr "nécessite des arguments symboliques pour \\override et \\revert"
+msgstr "\\override et \\revert requièrent des arguments symboliques"
 
-#: context.cc:139
+#: context.cc:149
 #, c-format
 msgid "cannot find or create new `%s'"
-msgstr "impossible de trouver ou créer un nouveau « %s »"
+msgstr "impossible de trouver ou créer un nouveau « %s »"
 
-#: context.cc:197
+#: context.cc:228
 #, c-format
 msgid "cannot find or create `%s' called `%s'"
-msgstr "impossible de trouver ou créer « %s » appelé « %s »"
+msgstr "impossible de trouver ou créer « %s » dénommé(e) « %s »"
 
-#: context.cc:259
+#: context.cc:425
 #, c-format
-msgid "Invalid CreateContext event: Cannot create %s context"
-msgstr "Événement CreateContext invalide : impossible de créer le contexte %s"
+msgid "cannot find or create: `%s'"
+msgstr "impossible de trouver ou créer « %s »"
 
-#: context.cc:390
+#: context.cc:439
 #, c-format
-msgid "cannot find or create: `%s'"
-msgstr "impossible de trouver ou créer « %s »"
+msgid "cannot find or create new Bottom = \"%s\""
+msgstr "impossible de trouver ou créer un nouveau « %s »"
 
-#: custos.cc:77
+#: custos.cc:87
 #, c-format
 msgid "custos `%s' not found"
-msgstr "custode « %s » introuvable"
+msgstr "custode « %s » introuvable"
 
-#: dispatcher.cc:71
-msgid "Event class should be a symbol"
-msgstr "La classe Event devrait être un symbole"
+#: dispatcher.cc:89
+msgid "Event class should be a list"
+msgstr "La classe d'événement devrait être une liste"
 
-#: dispatcher.cc:78
+#: dispatcher.cc:172
 #, c-format
-msgid "Unknown event class %s"
-msgstr "Classe d'événement inconnue : « %s »"
+msgid "Junking event: %s"
+msgstr "Événement escamoté : « %s »"
+
+#: dispatcher.cc:277
+msgid "Attempting to remove nonexisting listener."
+msgstr "Tentative de suppression d'un écouteur inexistant."
 
-#: dots.cc:37
+#: dispatcher.cc:303
+msgid "Already listening to dispatcher, ignoring request"
+msgstr "Déjà à l'écoute du dispatcheur ; requête ignorée."
+
+#: dots.cc:48
 #, c-format
 msgid "dot `%s' not found"
-msgstr "point « %s » introuvable"
+msgstr "point « %s » introuvable"
+
+#: dynamic-engraver.cc:168
+#, c-format
+msgid ""
+"unknown crescendo style: %s\n"
+"defaulting to hairpin."
+msgstr ""
+"style de crescendo inconnu : %s\n"
+"retour à la valeur par défaut (soufflet)."
+
+#: dynamic-engraver.cc:233 slur-proto-engraver.cc:119
+#, c-format
+msgid "unterminated %s"
+msgstr "%s non terminé(e)"
 
-#: dynamic-engraver.cc:186
-msgid "cannot find start of (de)crescendo"
-msgstr "impossible de repérer le début du (de)crescendo"
+#. No explicit dynamic script events have occurred yet, but there is
+#. nevertheless a dynamic spanner.  Initialize last_volume_ to a
+#. value within the available range.
+#: dynamic-performer.cc:129
+msgid "(De)crescendo with unspecified starting volume in MIDI."
+msgstr "Volume de départ du (de)crescendo non spécifié (pour le MIDI)."
 
-#: dynamic-engraver.cc:195
-msgid "already have a decrescendo"
-msgstr "decrescendo déjà présent"
+#: episema-engraver.cc:75
+msgid "already have an episema"
+msgstr "épisème déjà présent"
 
-#: dynamic-engraver.cc:197
-msgid "already have a crescendo"
-msgstr "crescendo déjà présent"
+#: episema-engraver.cc:88
+msgid "cannot find start of episema"
+msgstr "impossible de trouver le début de l'épisème"
 
-#: dynamic-engraver.cc:200
-msgid "cresc starts here"
-msgstr "le crescendo débute ici"
+#: episema-engraver.cc:137
+msgid "unterminated episema"
+msgstr "épisème non terminé"
+
+#: extender-engraver.cc:169 extender-engraver.cc:178
+msgid "unterminated extender"
+msgstr "prolongation ou extenseur non terminé"
 
-#: dynamic-engraver.cc:328
-msgid "unterminated (de)crescendo"
-msgstr "(de)crescendo non terminé"
+#: flag.cc:134
+#, c-format
+msgid "flag `%s' not found"
+msgstr "crochet inconnu : « %s »"
 
-#: extender-engraver.cc:142 extender-engraver.cc:151
-msgid "unterminated extender"
-msgstr "prolongation non terminée"
+#: flag.cc:154
+#, c-format
+msgid "flag stroke `%s' not found"
+msgstr "type de crochet inconnu : « %s »"
 
-#: font-config-scheme.cc:140 font-config.cc:57
+#: font-config-scheme.cc:151 font-config.cc:53
 #, c-format
 msgid "failed adding font directory: %s"
-msgstr "échec lors de l'ajout d'un répertoire de fontes : « %s »"
+msgstr "échec lors de l'ajout d'un répertoire de fontes : « %s »"
 
-#: font-config-scheme.cc:142 font-config.cc:59
+#: font-config-scheme.cc:153 font-config.cc:55
 #, c-format
-msgid "adding font directory: %s"
-msgstr "ajout d'un répertoire de fontes : « %s »"
+msgid "Adding font directory: %s"
+msgstr "Ajout d'un répertoire de fontes : « %s »"
 
-#: font-config-scheme.cc:156
+#: font-config-scheme.cc:167
 #, c-format
 msgid "failed adding font file: %s"
-msgstr "échec lors de l'ajout d'un fichier de fontes : « %s »"
+msgstr "échec lors de l'ajout d'un fichier de fontes : « %s »"
 
-#: font-config-scheme.cc:158
+#: font-config-scheme.cc:169
 #, c-format
-msgid "adding font file: %s"
-msgstr "ajout d'un fichier de fontes : « %s »"
+msgid "Adding font file: %s"
+msgstr "Ajout d'un fichier de fontes : « %s »"
 
-#: font-config.cc:28
+#: font-config.cc:38
 msgid "Initializing FontConfig..."
 msgstr "Initialisation de FontConfig..."
 
-#: font-config.cc:44
-#, c-format
-msgid "Rebuilding FontConfig cache %s, this may take a while..."
-msgstr "Reconstitution du cache FontConfig %s. Patientez..."
-
-#: font-config.cc:63
-msgid "Building font database."
-msgstr "Construction de la base de donnée des fontes."
+#: font-config.cc:58
+msgid "Building font database..."
+msgstr "Construction de la base de donnée des fontes..."
 
-#: general-scheme.cc:202
-msgid "infinity or NaN encountered while converting Real number"
-msgstr "Infini ou valeur non numérique rencontré lors de la conversion d'un nombre réel"
+#: footnote-engraver.cc:87
+msgid "Must be footnote-event."
+msgstr "Doit être un événement note de bas de page (footnote-event)."
 
-#: general-scheme.cc:203
-msgid "setting to zero"
-msgstr "initialisation à zéro"
+#: general-scheme.cc:390
+#, c-format
+msgid "failed redirecting stderr to `%s'"
+msgstr "échec lors de la redirection de stderr vers « %s »"
 
-#: general-scheme.cc:422 output-ps.scm:63
-msgid "Found infinity or nan in output. Substituting 0.0"
-msgstr ""
-"La sortie contient l'infini ou une valeur non numérique. \n"
-"Substitution par 0.0"
+#: general-scheme.cc:469 output-ps.scm:48
+msgid "Found infinity or nan in output.  Substituting 0.0"
+msgstr "Détection d'une valeur infini ou non numérique. Substitution par 0.0"
 
-#: glissando-engraver.cc:94
+#: glissando-engraver.cc:158
 msgid "unterminated glissando"
 msgstr "glissando non terminé"
 
-#: global-context-scheme.cc:85 global-context-scheme.cc:103
+#: global-context-scheme.cc:95 global-context-scheme.cc:113
 msgid "no music found in score"
 msgstr "Il n'y a pas de musique dans cette partition"
 
-#: global-context-scheme.cc:93
-msgid "Interpreting music... "
+#: global-context-scheme.cc:103
+msgid "Interpreting music..."
 msgstr "Interprétation en cours de la musique..."
 
-#: global-context-scheme.cc:116
+#: global-context-scheme.cc:125
 #, c-format
 msgid "elapsed time: %.2f seconds"
-msgstr "temps écoulé : %.2f secondes"
+msgstr "temps écoulé : %.2f secondes"
 
-#: gregorian-ligature-engraver.cc:59
+#: gregorian-ligature-engraver.cc:70
 #, c-format
 msgid "\\%s ignored"
 msgstr "\\%s ignoré(e)"
 
-#: gregorian-ligature-engraver.cc:64
+#: gregorian-ligature-engraver.cc:75
 #, c-format
 msgid "implied \\%s added"
 msgstr "\\%s implicite ajouté(e)"
 
 #. ligature may not start with 2nd head of pes or flexa
-#: gregorian-ligature-engraver.cc:213
+#: gregorian-ligature-engraver.cc:224
 msgid "cannot apply `\\~' on first head of ligature"
-msgstr "Impossible d'appliquer « \\~ » à la première tête de ligature"
+msgstr "Impossible d'appliquer « \\~ » à la première tête de ligature"
 
 #. (pitch == prev_pitch)
-#: gregorian-ligature-engraver.cc:225
+#: gregorian-ligature-engraver.cc:236
 msgid "cannot apply `\\~' on heads with identical pitch"
-msgstr "Impossible d'appliquer « \\~ » à des têtes ayant la même hauteur"
+msgstr "Impossible d'appliquer « \\~ » à des têtes ayant la même hauteur"
 
-#: grob-interface.cc:57
+#: grob-interface.cc:68
 #, c-format
 msgid "Unknown interface `%s'"
-msgstr "Interface inconnue « %s »"
+msgstr "Interface inconnue : « %s »"
 
-#: grob-interface.cc:68
+#: grob-interface.cc:79
 #, c-format
 msgid "Grob `%s' has no interface for property `%s'"
-msgstr "L'objet graphique (Grob) « %s » n'a pas d'interface pour la propriété « %s »"
+msgstr ""
+"L'objet graphique (Grob) « %s »\n"
+" n'a pas d'interface pour la propriété « %s »"
 
-#: grob-property.cc:34
+#: grob-property.cc:35
 #, c-format
 msgid "%d: %s"
-msgstr "%d : %s"
+msgstr "%d : %s"
 
-#: grob-property.cc:173
+#: grob.cc:488
 #, c-format
-msgid "cyclic dependency: calculation-in-progress encountered for #'%s (%s)"
-msgstr "dépendance circulaire : calculation-in-progress rencontrée pour #'%s (%s)"
+msgid "ignored infinite %s-offset"
+msgstr "%s-offset infini ignoré"
 
-#: grob.cc:251
-msgid "Infinity or NaN encountered"
-msgstr "infini ou valeur non numérique rencontré lors de la conversion d'un nombre réel"
+#: hairpin.cc:60
+msgid "Asking for broken bound padding at a non-broken bound."
+msgstr "Tentative de décalage d'un fragment de souflet alors qu'il n'est pas rompu."
 
-#: hairpin.cc:186
+#: hairpin.cc:256
 msgid "decrescendo too small"
 msgstr "decrescendo trop petit"
 
-#: horizontal-bracket-engraver.cc:68
+#: horizontal-bracket-engraver.cc:62
 msgid "do not have that many brackets"
-msgstr "n'a pas autant de crochets"
+msgstr "il ne devrait pas y avoir autant de crochets"
 
-#: horizontal-bracket-engraver.cc:77
+#: horizontal-bracket-engraver.cc:71
 msgid "conflicting note group events"
 msgstr "événements de groupe de notes conflictuels"
 
-#: hyphen-engraver.cc:93
+#: hyphen-engraver.cc:104
 msgid "removing unterminated hyphen"
 msgstr "retrait du trait d'union sans suite"
 
-#: hyphen-engraver.cc:107
+#: hyphen-engraver.cc:118
 msgid "unterminated hyphen; removing"
-msgstr "trait d'union sans suite ; escamoté"
+msgstr "trait d'union sans suite ; escamoté"
 
-#: includable-lexer.cc:53 lily-guile.cc:76 lily-parser-scheme.cc:110
+#: includable-lexer.cc:71 lily-guile.cc:91 lily-parser-scheme.cc:108
 #, c-format
 msgid "cannot find file: `%s'"
-msgstr "fichier non trouvé : « %s »"
+msgstr "fichier non trouvé : « %s »"
 
-#: includable-lexer.cc:55 lily-parser-scheme.cc:101
+#: includable-lexer.cc:73 lily-parser-scheme.cc:100
 #, c-format
 msgid "(search path: `%s')"
-msgstr "(chemin de recherche : « %s »)"
+msgstr "(chemin de recherche : « %s »)"
 
-#: input.cc:112 source-file.cc:173 source-file.cc:188
+#: input.cc:138 source-file.cc:178 source-file.cc:193
 msgid "position unknown"
 msgstr "position inconnue"
 
-#: key-signature-interface.cc:74
+#: key-engraver.cc:198
+msgid "Incomplete keyAlterationOrder for key signature"
+msgstr "Propriété keyAlterationOrder incomplète pour cette armure."
+
+#: key-signature-interface.cc:77
 #, c-format
 msgid "No glyph found for alteration: %s"
-msgstr "Pas de glyphe pour l'altération : %s"
+msgstr "Pas de glyphe pour l'altération « %s »"
 
-#: key-signature-interface.cc:84
+#: key-signature-interface.cc:87
 msgid "alteration not found"
 msgstr "altération non trouvée"
 
-#: ligature-bracket-engraver.cc:62 ligature-engraver.cc:93
+#: ligature-bracket-engraver.cc:72 ligature-engraver.cc:109
 msgid "cannot find start of ligature"
-msgstr "impossible de trouver le début d'une ligature"
+msgstr "impossible de trouver le début de la ligature"
 
-#: ligature-bracket-engraver.cc:75 ligature-engraver.cc:120
+#: ligature-bracket-engraver.cc:85 ligature-engraver.cc:136
 msgid "already have a ligature"
 msgstr "a déjà une ligature"
 
-#: ligature-engraver.cc:98
+#: ligature-engraver.cc:114
 msgid "no right bound"
 msgstr "pas de borne à droite"
 
-#: ligature-engraver.cc:129
+#: ligature-engraver.cc:145
 msgid "no left bound"
 msgstr "pas de borne à gauche"
 
-#: ligature-engraver.cc:173
+#: ligature-engraver.cc:189
 msgid "unterminated ligature"
 msgstr "ligature non terminée"
 
-#: ligature-engraver.cc:202
+#: ligature-engraver.cc:216
 msgid "ignoring rest: ligature may not contain rest"
-msgstr "le silence est ignoré : une ligature ne peut contenir de silence"
+msgstr "le silence est ignoré : une ligature ne peut contenir de silence"
 
-#: ligature-engraver.cc:203
+#: ligature-engraver.cc:217
 msgid "ligature was started here"
 msgstr "la ligature a débuté ici"
 
-#: lily-guile.cc:78
+#: lily-guile.cc:93
 #, c-format
 msgid "(load path: `%s')"
-msgstr "(chemin de chargement : « %s »)"
+msgstr "(chemin de chargement : « %s »)"
 
-#: lily-guile.cc:428
+#: lily-guile.cc:412
 #, c-format
 msgid "cannot find property type-check for `%s' (%s)."
-msgstr "vérification du type de propriété pour « %s » (%s) non trouvée"
+msgstr "vérification du type de propriété pour « %s » (%s) non trouvée"
 
-#: lily-guile.cc:431
+#: lily-guile.cc:415
 msgid "perhaps a typing error?"
 msgstr "Probable faute de frappe"
 
-#: lily-guile.cc:438
-msgid "doing assignment anyway"
-msgstr "affectation faite malgré tout"
+#: lily-guile.cc:422
+msgid "skipping assignment"
+msgstr "affectation ignorée"
 
-#: lily-guile.cc:450
+#: lily-guile.cc:442
 #, c-format
 msgid "type check for `%s' failed; value `%s' must be of type `%s'"
 msgstr ""
-"la vérification du type de « %s » a échoué ; \n"
-"   la valeur « %s » doit être du type « %s »"
+"la vérification du type de « %s » a échoué ; \n"
+"   la valeur « %s » doit être du type « %s »"
 
-#: lily-lexer.cc:252
+#: lily-lexer.cc:249
 msgid "include files are not allowed in safe mode"
 msgstr "l'inclusion de fichiers n'est pas permise en mode sans échec"
 
-#: lily-lexer.cc:271
+#: lily-lexer.cc:276
 #, c-format
 msgid "identifier name is a keyword: `%s'"
-msgstr "Le nom de l'identificateur est un mot clé : « %s »"
+msgstr "Le nom de l'identificateur est un mot clé : « %s »"
 
-#: lily-lexer.cc:286
+#: lily-lexer.cc:297 lily-lexer.cc:310
 #, c-format
-msgid "error at EOF: %s"
-msgstr "erreur à la fin du fichier (EOF) : %s"
+msgid "%s:EOF"
+msgstr "%s:EOF"
 
-#: lily-parser-scheme.cc:30
+#: lily-parser-scheme.cc:80
 #, c-format
-msgid "deprecated function called: %s"
-msgstr "appel à une fonction obsolète : %s"
+msgid "Changing working directory to: `%s'"
+msgstr ""
+"Modification du répertoire de travail pour\n"
+" « %s »"
 
-#: lily-parser-scheme.cc:83
+#: lily-parser-scheme.cc:84
 #, c-format
-msgid "Changing working directory to: `%s'"
-msgstr "Modification du répertoire de travail pour : « %s »"
+msgid "unable to change directory to: `%s'"
+msgstr ""
+"impossible d'accéder au répertoire\n"
+" « %s »"
 
-#: lily-parser-scheme.cc:100
+#: lily-parser-scheme.cc:99
 #, c-format
 msgid "cannot find init file: `%s'"
-msgstr "impossible de trouver le fichier d'initialisation : « %s »"
+msgstr ""
+"impossible de trouver le fichier d'initialisation\n"
+" « %s »"
 
-#: lily-parser-scheme.cc:119
+#: lily-parser-scheme.cc:117
 #, c-format
 msgid "Processing `%s'"
-msgstr "Traitement de « %s »"
+msgstr "Traitement de « %s »"
+
+#: lily-parser-scheme.cc:209
+msgid "ly:parser-parse-string is only valid with a new parser.  Use ly:parser-include-string instead."
+msgstr ""
+"ly:parser-parse-string ne peut foncionner qu'avec un nouvel analyseur.\n"
+"Utilisez plutôt ly:parser-include-string"
 
-#: lily-parser.cc:95
+#: lily-parser-scheme.cc:240
+msgid "ly:parse-string-expression is only valid with a new parser.  Use ly:parser-include-string instead."
+msgstr ""
+"ly:parse-string-expression ne peut foncionner qu'avec un nouvel analyseur.\n"
+"Utilisez plutôt ly:parser-include-string"
+
+#: lily-parser.cc:107
 msgid "Parsing..."
 msgstr "Analyse..."
 
-#: lily-parser.cc:123
-msgid "braces do not match"
-msgstr "accolades non pairées"
+#: lookup.cc:181
+#, c-format
+msgid "Not drawing a box with negative dimension, %.2f by %.2f."
+msgstr "La boîte aux dimensions négatives, %.2f par %.2f, ne sera pas dessinée."
+
+#: lyric-combine-music-iterator.cc:199
+msgid "argument of \\lyricsto should contain Lyrics context"
+msgstr "les arguments de \\lyricsto doivent comporter un contexte Lyrics."
 
-#: lyric-combine-music-iterator.cc:329
+#: lyric-combine-music-iterator.cc:337
 #, c-format
 msgid "cannot find Voice `%s'"
-msgstr "impossible de repérer la voix (Voice) « %s »"
+msgstr "impossible de repérer la voix (Voice) « %s »"
 
-#: lyric-engraver.cc:162
-msgid "Lyric syllable does not have note. Use \\lyricsto or associatedVoice."
-msgstr "Syllabe sans note de rattachement. Utiliser \\lyricsto ou associatedVoice."
+#: lyric-engraver.cc:186
+msgid "Lyric syllable does not have note.  Use \\lyricsto or associatedVoice."
+msgstr ""
+"Syllabe sans note de rattachement.\n"
+" Utiliser \\lyricsto ou associatedVoice."
 
-#: main.cc:97
+#: main.cc:104
 #, c-format
 msgid ""
 "This program is free software.  It is covered by the GNU General Public\n"
@@ -1719,16 +2345,17 @@ msgid ""
 "under certain conditions.  Invoke as `%s --warranty' for more\n"
 "information.\n"
 msgstr ""
-"Ce logiciel est libre. Il est couvert par la licence GNU General Public \n"
-"License, et vous êtes libre de le modifier et/ou d'en distribuer des copies\n"
+"Ce logiciel est libre. Il est couvert par la licence GNU General Public\n"
+"License, et vous êtes libre de le modifier ou d'en distribuer des copies\n"
 "sous certaines conditions.\n"
-"Invoquez « %s --warranty » pour plus d'informations.\n"
+"Invoquez « %s --warranty » pour plus d'informations.\n"
 
-#: main.cc:103
+#: main.cc:110
 msgid ""
 "    This program is free software; you can redistribute it and/or\n"
-"modify it under the terms of the GNU General Public License version 2\n"
-"as published by the Free Software Foundation.\n"
+"modify it under the terms of the GNU General Public License as \n"
+"published by the Free Software Foundation, either version 3 of\n"
+"the License, or (at your option) any later version.\n"
 "\n"
 "    This program is distributed in the hope that it will be useful,\n"
 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -1740,92 +2367,91 @@ msgid ""
 "the Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n"
 "Boston, MA 02111-1307, USA.\n"
 msgstr ""
-"    Ce logiciel est libre; vous pouvez le redistribuer et/ou le modifier\n"
-"selon les termes de la licence GNU General Public License version 2\n"
+"    Ce logiciel est libre ; vous pouvez le redistribuer ou le modifier\n"
+"selon les termes de la licence GNU General Public License version 3\n"
 "tel que publiée par la Free Software Foundation.\n"
 "\n"
 "    Ce logiciel est distribué dans l'espoir qu'il soit utile\n"
-"mais sans AUCUNE GARANTIE sans aucune garantie implicite\n"
-"COMMERCIALE ou pour RÉPONDRE À UN BESOIN PARTICULIER.. Consulter\n"
+"mais sans AUCUNE GARANTIE ; sans aucune garantie implicite\n"
+"COMMERCIALE ou pour RÉPONDRE À UN BESOIN PARTICULIER. Consultez\n"
 "la license GNU General Public License pour plus de détails.\n"
 "\n"
 "    Vous devriez avoir reçu une copie (consulter le fichier COPYING) de la\n"
-"license GNU General Public License accompagnant ce logiciel; si absente, \n"
-" écrire à la Free Software Foundation, Inc., 59 Temple Place - Suite 330, \n"
+"license GNU General Public License accompagnant ce logiciel ; si absente,\n"
+"écrire à la Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n"
 "Boston, MA 02111-1307, USA.\n"
 
-#: main.cc:134
+#: main.cc:148
 msgid "SYM[=VAL]"
 msgstr "SYM[=VAL]"
 
-#: main.cc:135
+#: main.cc:149
 msgid ""
 "set Scheme option SYM to VAL (default: #t).\n"
 "Use -dhelp for help."
 msgstr ""
-"affecte VAL (par défaut #t)\n"
-"à l'option Scheme SYM.\n"
+"affecte VAL (par défaut #t) à l'option Scheme SYM.\n"
 "Utiliser -dhelp pour avoir de l'aide."
 
-#: main.cc:138
+#: main.cc:153
 msgid "EXPR"
 msgstr "EXPR"
 
-#: main.cc:138
+#: main.cc:153
 msgid "evaluate scheme code"
 msgstr "évaluation du code Scheme"
 
 #. Bug in option parser: --output =foe is taken as an abbreviation
 #. for --output-format.
-#: main.cc:141
+#: main.cc:156
 msgid "FORMATs"
 msgstr "FORMATs"
 
-#: main.cc:141
+#: main.cc:156
 msgid "dump FORMAT,...  Also as separate options:"
 msgstr ""
-"produire FORMAT,...\n"
-"Aussi comme options séparées :"
+"produire FORMAT...\n"
+"Aussi comme options séparées :"
 
-#: main.cc:142
+#: main.cc:157
 msgid "generate PDF (default)"
 msgstr "générer le PDF (par défaut)"
 
-#: main.cc:143
+#: main.cc:158
 msgid "generate PNG"
 msgstr "générer le PNG"
 
-#: main.cc:144
+#: main.cc:159
 msgid "generate PostScript"
 msgstr "générer le PostScript"
 
-#: main.cc:146
+#: main.cc:162
 msgid "FIELD"
 msgstr "CHAMP"
 
-#: main.cc:146
+#: main.cc:162
 msgid ""
 "dump header field FIELD to file\n"
 "named BASENAME.FIELD"
 msgstr ""
-"écrire le champ d'en-tête CHAMP dans le\n"
-"fichier nommé BASENAME.CHAMP"
+"écrire le champ d'entête CHAMP dans le\n"
+"fichier nommé RACINE.CHAMP"
 
-#: main.cc:148
+#: main.cc:165
 msgid "add DIR to search path"
 msgstr "ajouter RÉPERTOIRE au chemin de recherche"
 
-#: main.cc:149
+#: main.cc:166
 msgid "use FILE as init file"
 msgstr ""
 "utiliser FICHIER comme\n"
 "fichier d'initialisation"
 
-#: main.cc:151
+#: main.cc:169
 msgid "USER, GROUP, JAIL, DIR"
-msgstr "USER,GROUP,CAGE,RÉP"
+msgstr "USER, GROUP, CAGE, RÉP"
 
-#: main.cc:151
+#: main.cc:169
 msgid ""
 "chroot to JAIL, become USER:GROUP\n"
 "and cd into DIR"
@@ -1833,19 +2459,38 @@ msgstr ""
 "chroot dans CAGE, devenir UTILISATEUR:GROUPE\n"
 "et cd dans RÉPERTOIRE"
 
-#: main.cc:154
+#: main.cc:174
+msgid ""
+"print log messages according to LOGLEVEL.  Possible values are:\n"
+"NONE, ERROR, WARNING, BASIC, PROGRESS, INFO (default) and DEBUG."
+msgstr ""
+"affiche les informations selon le niveau de LOGLEVEL :\n"
+"NONE, ERROR, WARNING, BASIC, PROGRESS, INFO (défaut) ou DEBUG."
+
+#: main.cc:178
 msgid "write output to FILE (suffix will be added)"
 msgstr ""
 "produire la sortie dans FICHIER \n"
 "(adjonction automatique du suffixe)"
 
-#: main.cc:155
+#: main.cc:179
 msgid "relocate using directory of lilypond program"
 msgstr ""
 "redétermine le chemin d'exécution\n"
 "des composants de LilyPond"
 
-#: main.cc:221
+#: main.cc:180
+msgid "no progress, only error messages (equivalent to loglevel=ERROR)"
+msgstr ""
+"pas de progression, seulement les messages d'erreur\n"
+"(équivalent à loglevel=ERROR)"
+
+#: main.cc:182
+msgid "be verbose (equivalent to loglevel=DEBUG)"
+msgstr "état verbeux (équivalent à loglevel=DEBUG)"
+
+#. Do not update the copyright years here, run `make grand-replace'
+#: main.cc:261
 #, c-format
 msgid ""
 "Copyright (c) %s by\n"
@@ -1855,119 +2500,116 @@ msgstr ""
 "%s et autres."
 
 #. No version number or newline here.  It confuses help2man.
-#: main.cc:249
+#: main.cc:299
 #, c-format
 msgid "Usage: %s [OPTION]... FILE..."
-msgstr "Utilisation : %s [OPTIONS]... FICHIER..."
+msgstr "Utilisation : %s [OPTIONS]... FICHIER..."
 
-#: main.cc:251
-#, c-format
+#: main.cc:301
 msgid "Typeset music and/or produce MIDI from FILE."
 msgstr "Composer la musique ou jouer en format MIDI à partir du FICHIER"
 
-#: main.cc:253
-#, c-format
+#: main.cc:303
 msgid "LilyPond produces beautiful music notation."
 msgstr "LilyPond produit une jolie notation musicale"
 
-#: main.cc:255
+#: main.cc:305
 #, c-format
 msgid "For more information, see %s"
 msgstr "Pour plus d'informations, voir %s"
 
-#: main.cc:257
-#, c-format
+#: main.cc:307
 msgid "Options:"
-msgstr "Options :"
+msgstr "Options :"
 
-#: main.cc:311
+#: main.cc:374
 #, c-format
 msgid "expected %d arguments with jail, found: %u"
 msgstr "une cage requiert %d arguments, il y en a %u"
 
-#: main.cc:325
+#: main.cc:388
 #, c-format
 msgid "no such user: %s"
-msgstr "utilisateur inconnu : « %s »"
+msgstr "utilisateur inconnu : « %s »"
 
-#: main.cc:327
+#: main.cc:390
 #, c-format
 msgid "cannot get user id from user name: %s: %s"
 msgstr ""
-"impossible de repérer l'identifiant utilisateur à partir du nom d'utilisateur :\n"
-"%s : %s"
+"impossible de repérer l'identifiant utilisateur à partir du nom d'utilisateur :\n"
+"%s : %s"
 
-#: main.cc:342
+#: main.cc:405
 #, c-format
 msgid "no such group: %s"
-msgstr "groupe inconnu : %s"
+msgstr "groupe inconnu : %s"
 
-#: main.cc:344
+#: main.cc:407
 #, c-format
 msgid "cannot get group id from group name: %s: %s"
 msgstr ""
-"impossible de repérer l'identifiant groupe à partir du nom de groupe :\n"
-"%s : %s "
+"impossible de repérer l'identifiant groupe à partir du nom de groupe :\n"
+"%s : %s "
 
-#: main.cc:352
+#: main.cc:415
 #, c-format
 msgid "cannot chroot to: %s: %s"
-msgstr "impossible de chrooter vers : %s : %s"
+msgstr "impossible de chrooter vers : %s : %s"
 
-#: main.cc:359
+#: main.cc:422
 #, c-format
 msgid "cannot change group id to: %d: %s"
-msgstr "impossible de changer l'identifiant de groupe en : %d : %s"
+msgstr "impossible de changer l'identifiant de groupe en %d : %s"
 
-#: main.cc:365
+#: main.cc:428
 #, c-format
 msgid "cannot change user id to: %d: %s"
-msgstr "impossible de changer l'identifiant utilisateur en : %d : %s"
+msgstr "impossible de changer l'identifiant utilisateur en %d : %s"
 
-#: main.cc:371
+#: main.cc:434
 #, c-format
 msgid "cannot change working directory to: %s: %s"
-msgstr "impossible de changer le répertoire de travail en : %s : %s"
+msgstr "impossible de changer le répertoire de travail en %s : %s"
 
-#: main.cc:611
+#: main.cc:805
 #, c-format
 msgid "exception caught: %s"
-msgstr "exception capturée : %s"
+msgstr "exception capturée : %s"
 
 #. FIXME: constant error message.
-#: mark-engraver.cc:129
+#: mark-engraver.cc:156
 msgid "rehearsalMark must have integer value"
 msgstr "rehearsalMark doit être un entier"
 
-#: mark-engraver.cc:135
+#: mark-engraver.cc:162
 msgid "mark label must be a markup object"
-msgstr "les étiquettes de marque doivent être des objets de type \"markup\""
+msgstr "les étiquettes de marque doivent être des objets de type « markup »."
 
-#: mensural-ligature-engraver.cc:85
+#: mensural-ligature-engraver.cc:100
 msgid "ligature with less than 2 heads -> skipping"
-msgstr "ligature avec moins de 2 tête -> escamotage"
+msgstr "ligature avec moins de 2 têtes -> escamotage"
 
-#: mensural-ligature-engraver.cc:112
+#: mensural-ligature-engraver.cc:127
 msgid "cannot determine pitch of ligature primitive -> skipping"
 msgstr "impossible de déterminer la hauteur de la primitive de ligature -> escamotage"
 
-#: mensural-ligature-engraver.cc:126
+#: mensural-ligature-engraver.cc:141
 msgid "single note ligature - skipping"
 msgstr "ligature sur note unique -> escamotage"
 
-#: mensural-ligature-engraver.cc:138
+#: mensural-ligature-engraver.cc:152
 msgid "prime interval within ligature -> skipping"
 msgstr "intervale de prime dans la ligature -> escamotage"
 
-#: mensural-ligature-engraver.cc:150
+#: mensural-ligature-engraver.cc:163
 msgid "mensural ligature: duration none of Mx, L, B, S -> skipping"
 msgstr "ligature mensurale : aucune durée parmi Mx, L, B, S -> escamotage"
 
-#: mensural-ligature-engraver.cc:198
+#: mensural-ligature-engraver.cc:206
 msgid "semibrevis must be followed by another one -> skipping"
 msgstr "une ronde doit être suivie d'une autre -> escamotage"
 
-#: mensural-ligature-engraver.cc:209
+#: mensural-ligature-engraver.cc:216
 msgid ""
 "semibreves can only appear at the beginning of a ligature,\n"
 "and there may be only zero or two of them"
@@ -1987,495 +2629,609 @@ msgstr ""
 "l'avant dernière note doit en être une autre,\n"
 "sinon la ligature doit être LB ou SSB"
 
-#: mensural-ligature-engraver.cc:356
+#: mensural-ligature-engraver.cc:396
 msgid "unexpected case fall-through"
 msgstr "cas inattendu et non interprétable"
 
-#: mensural-ligature.cc:141
-msgid "Mensural_ligature: unexpected case fall-through"
-msgstr "Mensural_ligature: cas inattendu et non interprétable"
-
-#: mensural-ligature.cc:192
-msgid "Mensural_ligature: (join_right == 0)"
-msgstr "Mensural_ligature: (joint_right == 0)"
+#: midi-control-function-performer.cc:109 staff-performer.cc:152
+#, c-format
+msgid "ignoring out-of-range value change for MIDI property `%s'"
+msgstr "propriété MIDI « %s » : modification de valeur hors limite donc ignorée"
 
-#: midi-item.cc:81
+#: midi-item.cc:93
 #, c-format
 msgid "no such MIDI instrument: `%s'"
-msgstr "instrument MIDI non répertorié : « %s »"
+msgstr "instrument MIDI non répertorié : « %s »"
 
-#: midi-stream.cc:28
+#: midi-item.cc:179
+msgid "Time signature with more than 255 beats.  Truncating"
+msgstr "Métrique comportant plus de 255 pulsations ; on limite."
+
+#: midi-stream.cc:38
 #, c-format
 msgid "cannot open for write: %s: %s"
-msgstr "impossible d'ouvrir le fichier en écriture : %s : %s"
+msgstr ""
+"impossible d'ouvrir le fichier en écriture : %s :\n"
+"  %s"
 
-#: midi-stream.cc:44
+#: midi-stream.cc:54
 #, c-format
 msgid "cannot write to file: `%s'"
-msgstr "impossible d'écrire dans le fichier : « %s »"
+msgstr "impossible d'écrire dans le fichier « %s »"
 
-#: minimal-page-breaking.cc:38 paper-score.cc:105
+#: minimal-page-breaking.cc:40 paper-score.cc:122
 msgid "Calculating line breaks..."
 msgstr "Calcul des sauts de ligne..."
 
-#: minimal-page-breaking.cc:42 layout-page-layout.scm:463
+#: minimal-page-breaking.cc:44
 msgid "Calculating page breaks..."
 msgstr "Calcul des sauts de page..."
 
-#: music-iterator.cc:171
-msgid "Sending non-event to context"
-msgstr "Envoi d'un non-événement au contexte"
+#: multi-measure-rest.cc:154
+msgid "usable-duration-logs must be a non-empty list.  Falling back to whole rests."
+msgstr ""
+"usable-duration-logs ne peut être constitué d'une liste vide.\n"
+"Retour à des pauses."
+
+#: multi-measure-rest.cc:364
+msgid "Using naive multi measure rest spacing."
+msgstr "Utilisation d'un espacement de type silence multimesure."
 
-#: music.cc:140
+#: music.cc:150
 #, c-format
 msgid "octave check failed; expected \"%s\", found: \"%s\""
-msgstr "Échec de vérification d'octave. Aurait dû être \"%s\", \"%s\" obtenu"
+msgstr ""
+"Échec de vérification d'octave.\n"
+"Aurait dû être \"%s\", \"%s\" obtenu"
 
-#: music.cc:203
-#, c-format
-msgid "transposition by %s makes alteration larger than double"
-msgstr "La transposition de %s crée des altérations supérieures aux doubles"
+#: music.cc:219
+msgid "(normalized pitch)"
+msgstr "(hauteur normalisée)"
 
-#: new-dynamic-engraver.cc:129
+#: music.cc:223
 #, c-format
-msgid ""
-"unknown crescendo style: %s\n"
-"defaulting to hairpin."
-msgstr ""
-"style de crescendo inconnu : %s\n"
-"retour à la valeur par défaut (soufflet)."
+msgid "Transposing %s by %s makes alteration larger than double"
+msgstr "La transposition de %s à %s crée des altérations supérieures aux doubles"
 
-#: new-fingering-engraver.cc:96
+#: new-fingering-engraver.cc:113
 msgid "cannot add text scripts to individual note heads"
-msgstr "impossible d'ajouter du texte à des têtes de notes individuelles"
+msgstr "impossible d'ajouter du texte à des têtes de note individuelles"
 
-#: new-fingering-engraver.cc:239
+#: new-fingering-engraver.cc:269
 msgid "no placement found for fingerings"
 msgstr "nulle part où positionner des doigtés"
 
-#: new-fingering-engraver.cc:240
+#: new-fingering-engraver.cc:270
 msgid "placing below"
 msgstr "on les place en dessous"
 
-#: note-collision.cc:484
+#: note-collision.cc:497
 msgid "ignoring too many clashing note columns"
 msgstr "trop d'empilements de notes se chevauchent. On fera au mieux."
 
-#: note-column.cc:124
+#: note-column.cc:147
 msgid "cannot have note heads and rests together on a stem"
 msgstr "impossible de superposer une note et un silence sur une même hampe"
 
-#: note-head.cc:63
+#: note-head.cc:95
 #, c-format
 msgid "none of note heads `%s' or `%s' found"
-msgstr "tête de note « %s » ou « %s » non trouvé(e)"
+msgstr "tête de note « %s » ou « %s » non trouvée"
 
-#: note-heads-engraver.cc:64
+#: note-heads-engraver.cc:76
 msgid "NoteEvent without pitch"
 msgstr "NoteEvent sans hauteur"
 
-#: open-type-font.cc:33
+#: open-type-font.cc:45
 #, c-format
 msgid "cannot allocate %lu bytes"
 msgstr "impossible d'allouer %lu octets"
 
-#: open-type-font.cc:37
+#: open-type-font.cc:49
 #, c-format
 msgid "cannot load font table: %s"
-msgstr "impossible de charger la table des fontes : %s"
+msgstr "impossible de charger la table des fontes : %s"
 
-#: open-type-font.cc:42
+#: open-type-font.cc:54
 #, c-format
-msgid "Free type error: %s"
-msgstr "Erreur Free type : %s"
+msgid "FreeType error: %s"
+msgstr "Erreur FreeType : %s"
 
-#: open-type-font.cc:100
+#: open-type-font.cc:111
 #, c-format
 msgid "unsupported font format: %s"
-msgstr "format de police non supporté : %s"
+msgstr "format de police non supporté : %s"
 
-#: open-type-font.cc:102
+#: open-type-font.cc:113
 #, c-format
 msgid "error reading font file %s: %s"
-msgstr "erreur de lecture du fichier de fontes %s : %s"
+msgstr "erreur de lecture du fichier de fontes %s : %s"
 
-#: open-type-font.cc:177
+#: open-type-font.cc:188
 #, c-format
 msgid "FT_Get_Glyph_Name () Freetype error: %s"
-msgstr "erreur Freetype FT_Get_Glyph_Name () : %s"
+msgstr "erreur Freetype FT_Get_Glyph_Name () : %s"
 
-#: open-type-font.cc:302 pango-font.cc:167
+#: open-type-font.cc:336 pango-font.cc:256
 #, c-format
 msgid "FT_Get_Glyph_Name () error: %s"
-msgstr "FT_Get_Glyph_Name () erreur : %s"
+msgstr "Erreur FT_Get_Glyph_Name () : %s"
 
 #. find out the ideal number of pages
-#: optimal-page-breaking.cc:56
+#: optimal-page-breaking.cc:62
 msgid "Finding the ideal number of pages..."
 msgstr "Détermination du nombre optimal de pages..."
 
-#: optimal-page-breaking.cc:78
+#: optimal-page-breaking.cc:94
+msgid "could not satisfy systems-per-page and page-count at the same time, ignoring systems-per-page"
+msgstr "incompatilité entre systems-per-page et page-count ; systems-per-page ignoré"
+
+#: optimal-page-breaking.cc:114
 msgid "Fitting music on 1 page..."
 msgstr "Répartition de la musique sur une page..."
 
-#: optimal-page-breaking.cc:80
+#: optimal-page-breaking.cc:116
 #, c-format
 msgid "Fitting music on %d pages..."
 msgstr "Répartition de la musique sur %d pages..."
 
-#: optimal-page-breaking.cc:82
+#: optimal-page-breaking.cc:118
 #, c-format
 msgid "Fitting music on %d or %d pages..."
-msgstr "Répartition de la musique sur %d ou %d pages..."
+msgstr "Répartition de la musique sur %d à %d pages..."
+
+#: optimal-page-breaking.cc:128 optimal-page-breaking.cc:181
+#, c-format
+msgid "trying %d systems"
+msgstr "tentative pour %d systèmes"
+
+#: optimal-page-breaking.cc:147 optimal-page-breaking.cc:209
+#, c-format
+msgid "best score for this sys-count: %f"
+msgstr "meilleur résultat pour cette configuration « sys-count » : %f"
 
-#: optimal-page-breaking.cc:159 page-turn-page-breaking.cc:226
-#: paper-score.cc:146
+#: optimal-page-breaking.cc:216 page-turn-page-breaking.cc:248
+#: paper-score.cc:162
 msgid "Drawing systems..."
 msgstr "Dessin des systèmes..."
 
-#: page-turn-page-breaking.cc:146
+#: output-def.cc:235
+msgid "margins do not fit with line-width, setting default values"
+msgstr ""
+"les marges ne sont pas en cohérence avec la longueur de ligne ;\n"
+"retour aux valeurs par défaut"
+
+#: output-def.cc:242
+msgid "systems run off the page due to improper paper settings, setting default values"
+msgstr ""
+"les systèmes débordent de la page en raison de réglages de papier erronés ;\n"
+"retour aux valeurs par défaut"
+
+#: page-breaking.cc:277
+msgid "ignoring min-systems-per-page and max-systems-per-page because systems-per-page was set"
+msgstr ""
+"systems-per-page non défini :\n"
+"  min-systems-per-page et max-systems-per-page ignorés"
+
+#: page-breaking.cc:282
+msgid "min-systems-per-page is larger than max-systems-per-page, ignoring both values"
+msgstr ""
+"min-systems-per-page supérieur à max-systems-per-page :\n"
+"  tous deux seront ignorés"
+
+#: page-layout-problem.cc:402
+msgid "A page layout problem has been initiated that cannot accommodate footnotes."
+msgstr "Un défaut de mise en page perturbe la gestion des notes de bas de page."
+
+#: page-layout-problem.cc:731
+msgid "cannot fit music on page: ragged-spacing was requested, but page was compressed"
+msgstr ""
+"impossible de faire tenir la musique sur la page :\n"
+"  justification demandée, mais page déjà compressée"
+
+#: page-layout-problem.cc:734
+#, c-format
+msgid "cannot fit music on page: overflow is %f"
+msgstr "impossible de faire tenir la musique sur la page.  Débordement de %f"
+
+#: page-layout-problem.cc:736
+msgid "compressing music to fit"
+msgstr "compression de la musique pour que cela tienne"
+
+#: page-layout-problem.cc:1199
+msgid "staff-affinities should only decrease"
+msgstr "staff-affinities devraient aller en ordre décroissant"
+
+#: page-turn-page-breaking.cc:168
 #, c-format
 msgid "page-turn-page-breaking: breaking from %d to %d"
-msgstr "Saut de page et tourne (page-turn-page-breaking) : coupure de %d à %d"
+msgstr ""
+"Saut de page et tourne (page-turn-page-breaking) :\n"
+"coupure entre %d et %d"
 
-#: page-turn-page-breaking.cc:195
+#: page-turn-page-breaking.cc:217
 msgid "cannot fit the first page turn onto a single page.  Consider setting first-page-number to an even number."
 msgstr ""
-"impossible de cadrer la première tourne de page sur une seule page. \n"
+"Impossible de cadrer sur une seule page ce qui précède la première tourne.\n"
 "Envisagez de définir un numéro pair pour first-page-number."
 
-#: page-turn-page-breaking.cc:208
+#: page-turn-page-breaking.cc:230
 #, c-format
 msgid "Calculating page and line breaks (%d possible page breaks)..."
 msgstr "Calcul des sauts de page et de ligne (%d sauts de pages possibles)..."
 
-#: page-turn-page-breaking.cc:275
+#: page-turn-page-breaking.cc:300
 #, c-format
 msgid "break starting at page %d"
 msgstr "saut intervenant à la page %d"
 
-#: page-turn-page-breaking.cc:276
+#: page-turn-page-breaking.cc:301
 #, c-format
 msgid "\tdemerits: %f"
-msgstr "        démérites : %f"
+msgstr "        démérites : %f"
 
-#: page-turn-page-breaking.cc:277
+#: page-turn-page-breaking.cc:302
 #, c-format
 msgid "\tsystem count: %d"
-msgstr "        nombre de systèmes : %d"
+msgstr "        nombre de systèmes : %d"
 
-#: page-turn-page-breaking.cc:278
+#: page-turn-page-breaking.cc:303
 #, c-format
 msgid "\tpage count: %d"
-msgstr "        nombre de pages : %d"
+msgstr "        nombre de pages : %d"
 
-#: page-turn-page-breaking.cc:279
+#: page-turn-page-breaking.cc:304
 #, c-format
 msgid "\tprevious break: %d"
-msgstr "        coupure précédente : %d"
+msgstr "        coupure précédente : %d"
 
-#: pango-font.cc:184
+#: pango-font.cc:245
+#, c-format
+msgid "no glyph for character U+%0X in font `%s'"
+msgstr "aucun glyphe ne correspond au caractère U+%0X dans la fonte « %s »"
+
+#: pango-font.cc:272
 #, c-format
 msgid ""
 "Glyph has no name, but font supports glyph naming.\n"
 "Skipping glyph U+%0X, file %s"
 msgstr ""
-"Le glyphe n'a pas de nom, mais la fonte prend en charge le nommage de glyphes.\n"
-"Glyphe U+%0X ignoré dans le fichier %s"
+"Le glyphe n'a pas de nom alors que la fonte prend en charge leur nommage.\n"
+"Glyphe U+%0X ignoré dans le fichier « %s »"
 
-#: pango-font.cc:229
+#: pango-font.cc:322
 #, c-format
 msgid "no PostScript font name for font `%s'"
-msgstr "« %s » n'est pas un fichier PostScript"
+msgstr "« %s » n'est pas un fichier de fonte PostScript"
 
-#: pango-font.cc:277
+#: pango-font.cc:372
 msgid "FreeType face has no PostScript font name"
 msgstr "Caractère FreeType sans nom de police PostScript"
 
-#: paper-column-engraver.cc:221
+#: paper-book.cc:214
+#, c-format
+msgid "program option -dprint-pages not supported by backend `%s'"
+msgstr "l'option -dprint-pages n'est pas opérationnelle avec le moteur %s"
+
+#: paper-book.cc:233
+#, c-format
+msgid "program option -dpreview not supported by backend `%s'"
+msgstr "l'option -dpreview n'est pas opérationnelle avec le moteur %s"
+
+#: paper-column-engraver.cc:263
 msgid "forced break was overridden by some other event, should you be using bar checks?"
 msgstr ""
-"Une coupure explicite a été outrepassée par un autre événement. \n"
+"Un saut explicite a été outrepassé par un autre événement.\n"
 "Positionnez quelques contrôles de mesure (bar check) pour vérifier."
 
-#: paper-outputter-scheme.cc:30
+#: paper-outputter-scheme.cc:41
 #, c-format
 msgid "Layout output to `%s'..."
-msgstr "Sortie mise en page vers « %s »..."
+msgstr "Sortie mise en page vers « %s »..."
 
-#: paper-score.cc:118
+#: paper-score.cc:134
 #, c-format
 msgid "Element count %d (spanners %d) "
 msgstr "%d éléments dénombrés (%d extensions)"
 
-#: paper-score.cc:122
+#: paper-score.cc:138
 msgid "Preprocessing graphical objects..."
 msgstr "Pré-traitement des éléments graphiques..."
 
-#: parse-scm.cc:93
+#: parse-scm.cc:121
 msgid "GUILE signaled an error for the expression beginning here"
 msgstr "GUILE a signalé une erreur pour l'expression débutant ici"
 
-#: percent-repeat-engraver.cc:202
+#: partial-iterator.cc:45
+msgid "trying to use \\partial after the start of a piece"
+msgstr "\\partial ne devrait intervenir qu'en début de morceau"
+
+#: pdf-scheme.cc:65
+#, c-format
+msgid "Conversion of string `%s' to UTF-16be failed: %s"
+msgstr ""
+"La conversion de la chaîne « %s » en UTF-16be a échoué :\n"
+"  %s"
+
+#: percent-repeat-engraver.cc:147
 msgid "unterminated percent repeat"
 msgstr "répétition en pourcent non terminée"
 
-#: performance.cc:43
+#: performance.cc:54
 msgid "Track..."
 msgstr "Piste..."
 
-#: performance.cc:72
-msgid "MIDI channel wrapped around"
-msgstr "Bouclage du canal MIDI"
-
-#: performance.cc:73
-msgid "remapping modulo 16"
-msgstr "réaffectation modulo 16"
-
-#: performance.cc:100
+#: performance.cc:82
 #, c-format
 msgid "MIDI output to `%s'..."
-msgstr "Sortie MIDI vers « %s »..."
+msgstr "Sortie MIDI vers « %s »..."
 
-#: phrasing-slur-engraver.cc:146
-msgid "unterminated phrasing slur"
-msgstr "liaison de phrasé non terminée"
-
-#: piano-pedal-engraver.cc:287
+#: piano-pedal-engraver.cc:279
 #, c-format
 msgid "expect 3 strings for piano pedals, found: %ld"
-msgstr "Les pédales de piano nécessitent 3 cordes. Il y en a %ld"
+msgstr "Les pédales de piano nécessitent trois cordes. Il y en a %ld"
 
-#: piano-pedal-engraver.cc:302 piano-pedal-engraver.cc:313
-#: piano-pedal-performer.cc:93
+#: piano-pedal-engraver.cc:294 piano-pedal-engraver.cc:305
+#: piano-pedal-performer.cc:104
 #, c-format
 msgid "cannot find start of piano pedal: `%s'"
-msgstr "début de la pédale de piano indéterminé : « %s »"
+msgstr "début de la pédale de piano indéterminé : « %s »"
 
-#: piano-pedal-engraver.cc:348
+#: piano-pedal-engraver.cc:340
 #, c-format
 msgid "cannot find start of piano pedal bracket: `%s'"
-msgstr "début du crochet de la pédale de piano indéterminé : « %s »"
+msgstr "début du crochet de la pédale de piano indéterminé : « %s »"
 
-#: program-option-scheme.cc:215
+#: program-option-scheme.cc:223
 #, c-format
 msgid "no such internal option: %s"
-msgstr "option interne inconnue : %s"
+msgstr "option interne inconnue : %s"
 
-#: property-iterator.cc:74
+#: property-iterator.cc:100
 #, c-format
 msgid "not a grob name, `%s'"
-msgstr " « %s » n'est pas un nom d'objet graphique (grob)"
+msgstr "« %s » n'est pas un nom d'objet graphique (grob)"
 
-#: relative-octave-check.cc:38
+#: relative-octave-check.cc:49
 msgid "Failed octave check, got: "
-msgstr "échec de la vérification d'octave, a obtenu : "
+msgstr "échec de la vérification d'octave, a obtenu : "
 
-#: relocate.cc:44
+#: relocate.cc:52
 #, c-format
 msgid "Setting %s to %s"
 msgstr "%s fixé à %s"
 
-#: relocate.cc:64
+#. this warning should only be printed in debug mode!
+#: relocate.cc:73
 #, c-format
 msgid "no such file: %s for %s"
-msgstr "fichier inexistant : %s pour %s"
+msgstr "fichier inexistant : %s pour %s"
 
-#: relocate.cc:74 relocate.cc:92
+#. this warning should only be printed in debug mode!
+#. this warning should only be printed in debug mode
+#: relocate.cc:84 relocate.cc:102
 #, c-format
 msgid "no such directory: %s for %s"
-msgstr "répertoire inexistant : %s pour %s"
+msgstr "répertoire inexistant : %s pour %s"
 
-#: relocate.cc:84
+#: relocate.cc:93
 #, c-format
 msgid "%s=%s (prepend)\n"
-msgstr "%s=%s (préfixage)\n"
+msgstr "%s=%s (ajout)\n"
 
-#: relocate.cc:114
+#: relocate.cc:124
 #, c-format
 msgid "not relocating, no %s/ or current/ found under %s"
-msgstr "relocalisation non effectuée, ni %s/ ni courrant/ n'existent sous %s"
+msgstr "relocalisation non effectuée, ni %s/ ni courant/ n'existent sous %s"
 
-#: relocate.cc:125
+#: relocate.cc:134
 #, c-format
 msgid "Relocation: compile datadir=%s, new datadir=%s"
-msgstr "Relocalisation : datadir de compilation=%s, nouveau datadir=%s"
+msgstr "Relocalisation : datadir de compilation = %s, nouveau datadir = %s"
 
-#: relocate.cc:138
+#: relocate.cc:146
 #, c-format
 msgid "Relocation: framework_prefix=%s"
-msgstr "Relocalisation : framework_prefix=%s"
+msgstr "Relocalisation : framework_prefix = %s"
 
-#: relocate.cc:179
+#: relocate.cc:172
 #, c-format
-msgid "Relocation: is absolute: argv0=%s"
-msgstr "Relocalisation : est absolue : argv0=%s"
+msgid "Relocation: is absolute: argv0=%s\n"
+msgstr "Relocalisation absolue : argv0=%s\n"
 
-#: relocate.cc:186
+#: relocate.cc:178
 #, c-format
-msgid "Relocation: from cwd: argv0=%s"
-msgstr "Relocalisation : à partir du répertoire courant : argv0=%s"
+msgid "Relocation : from cwd: argv0=%s\n"
+msgstr "Relocalisation à partir du répertoire courant : argv0=%s\n"
 
-#: relocate.cc:195
+#: relocate.cc:194
 #, c-format
 msgid ""
 "Relocation: from PATH=%s\n"
-"argv0=%s"
+"argv0=%s\n"
 msgstr ""
-"Relocalisation : à partir de PATH=%s\n"
-"argv0=%s"
+"Relocalisation : à partir de PATH=%s\n"
+"argv0=%s\n"
 
-#: relocate.cc:229
+#: relocate.cc:220
 msgid "LILYPONDPREFIX is obsolete, use LILYPOND_DATADIR"
 msgstr "LILYPONDPREFIX est obsolète, utiliser LILYPOND_DATADIR"
 
-#: relocate.cc:356
+#: relocate.cc:345
 #, c-format
 msgid "Relocation file: %s"
-msgstr "Fichier de relocalisation : %s"
+msgstr "Fichier de relocalisation : %s"
+
+#: relocate.cc:349 source-file.cc:65
+#, c-format
+msgid "cannot open file: `%s'"
+msgstr "Impossible d'ouvrir le fichier « %s »"
 
-#: relocate.cc:392
+#: relocate.cc:379
 #, c-format
 msgid "Unknown relocation command %s"
-msgstr "Commande de relocalisation inconnue : %s"
+msgstr "Commande de relocalisation inconnue : %s"
 
-#: rest-collision.cc:145
+#: rest-collision-engraver.cc:70
+msgid "rhythmic head is not part of a rhythmic column"
+msgstr "tête rythmique non rattachée à un empilement rythmique"
+
+#: rest-collision.cc:150
 msgid "cannot resolve rest collision: rest direction not set"
-msgstr "collision de silences insoluble : direction du silence non fixée"
+msgstr "collision de silences insoluble : positionnement du silence indéterminée"
 
-#: rest-collision.cc:159 rest-collision.cc:204
+#: rest-collision.cc:161 rest-collision.cc:270
 msgid "too many colliding rests"
 msgstr "trop de silences se chevauchent"
 
-#: rest.cc:148
+#: rest.cc:240
 #, c-format
 msgid "rest `%s' not found"
-msgstr "silence « %s » inconnu"
+msgstr "silence « %s » inconnu"
 
-#: score-engraver.cc:67
+#: score-engraver.cc:78
 #, c-format
 msgid "cannot find `%s'"
-msgstr "impossible de trouver « %s »"
+msgstr "impossible de trouver « %s »"
 
-#: score-engraver.cc:69
+#: score-engraver.cc:80
 msgid "Music font has not been installed properly."
-msgstr "Les fontes Musicales n'ont pas été installées correctement."
+msgstr "Les fontes musicales n'ont pas été installées correctement."
 
-#: score-engraver.cc:71
+#: score-engraver.cc:82
 #, c-format
 msgid "Search path `%s'"
-msgstr "Chemin de recherche : « %s »"
+msgstr "Chemin de recherche : « %s »"
 
-#: score-engraver.cc:73
+#: score-engraver.cc:84
 msgid "Aborting"
 msgstr "Abandon"
 
-#: score.cc:167
+#: score.cc:172
 msgid "already have music in score"
 msgstr "il y a déjà de la musique dans la partition"
 
-#: score.cc:168
+#: score.cc:173
 msgid "this is the previous music"
 msgstr "voici la musique précédente"
 
-#: score.cc:173
+#: score.cc:178
 msgid "errors found, ignoring music expression"
 msgstr "suite à des erreurs répétées, l'expression musicale sera ignorée"
 
 #. FIXME:
-#: script-engraver.cc:102
-msgid "do not know how to interpret articulation: "
-msgstr "ne sait comment interpréter l'articulation : "
+#: script-engraver.cc:115
+msgid "do not know how to interpret articulation:"
+msgstr "ne sait comment interpréter l'articulation"
+
+#: script-engraver.cc:116
+msgid " scheme encoding: "
+msgstr "encodage Scheme : "
 
-#: script-engraver.cc:103
-msgid "scheme encoding: "
-msgstr "encodage Scheme : "
+#: skyline-pair.cc:160
+msgid "direction must not be CENTER in ly:skyline-pair::skyline"
+msgstr "direction ne saurait être CENTER pour ly:skyline-pair::skyline"
 
-#: slur-engraver.cc:82
+#: slur-proto-engraver.cc:51
 #, c-format
 msgid "direction of %s invalid: %d"
-msgstr "la direction de %s n'est pas valide : %d"
+msgstr "l'orientation de %s n'est pas valide : %d"
 
-#: slur-engraver.cc:151
-msgid "unterminated slur"
-msgstr "liaison non terminée"
+#. We already have an old slur, so give a warning
+#. and completely ignore the new slur.
+#: slur-proto-engraver.cc:166
+#, c-format
+msgid "already have %s"
+msgstr "%s déjà en place"
+
+#: slur-proto-engraver.cc:183
+#, c-format
+msgid "%s without a cause"
+msgstr "%s san origine"
 
-#: slur-engraver.cc:163
-msgid "cannot end slur"
-msgstr "impossible de terminer la liaison"
+#: slur-proto-engraver.cc:244
+#, c-format
+msgid "cannot end %s"
+msgstr "impossible de terminer %s"
 
-#: slur.cc:359
+#: slur.cc:434
 #, c-format
-msgid "Ignoring grob for slur: %s. avoid-slur not set?"
+msgid "Ignoring grob for slur: %s.  avoid-slur not set?"
 msgstr ""
-"objet graphique (grob) non concerné par la liaison : %s.\n"
-"avoid-slur non définie ?"
+"objet graphique (grob) non concerné par la liaison : %s.\n"
+"avoid-slur non définie ?"
 
-#: source-file.cc:79
+#: source-file.cc:85
 #, c-format
 msgid "expected to read %d characters, got %d"
 msgstr "au lieu de %d caractères à lire, il y en a %d"
 
-#: spaceable-grob.cc:83
-#, c-format
-msgid "No spring between column %d and next one"
-msgstr "Pas de tension entre la colonne %d et la suivante"
+#: staff-performer.cc:301
+msgid "MIDI channel wrapped around"
+msgstr "Bouclage du canal MIDI"
 
-#: staff-symbol-engraver.cc:62
-msgid "staff-span event has no direction"
-msgstr "L'événement staff-span n'a pas de direction"
+#: staff-performer.cc:302
+msgid "remapping modulo 16"
+msgstr "réaffectation modulo 16"
 
-#: stem-engraver.cc:92
+#: stem-engraver.cc:110
 msgid "tremolo duration is too long"
 msgstr "durée du tremolo trop longue"
 
-#. FIXME:
-#: stem-engraver.cc:129
+#: stem-engraver.cc:162
 #, c-format
-msgid "adding note head to incompatible stem (type = %d)"
-msgstr "Ajout d'une tête de note à une hampe incompatible (type = %d)"
+msgid "adding note head to incompatible stem (type = %d/%d)"
+msgstr "Ajout d'une tête de note à une hampe incompatible (type = %d/%d)"
 
-#: stem-engraver.cc:131
+#: stem-engraver.cc:165
 msgid "maybe input should specify polyphonic voices"
 msgstr "la source devrait spécifier des voix polyphoniques"
 
-#: stem.cc:105
+#: stem.cc:128
 msgid "weird stem size, check for narrow beams"
-msgstr "taille de hampe bizarre ; vérifier la présence de liens étroits"
+msgstr "taille de hampe bizarre ; vérifier la présence de liens étroits"
 
-#: stem.cc:623
+#: system.cc:201
 #, c-format
-msgid "flag `%s' not found"
-msgstr "crochet inconnu : « %s »"
+msgid "Element count %d"
+msgstr "%d éléments dénombrés."
 
-#: stem.cc:639
+#: system.cc:512
 #, c-format
-msgid "flag stroke `%s' not found"
-msgstr "type de crochet inconnu : « %s »"
+msgid "Grob count %d"
+msgstr "%d objet graphiques (grob) dénombrés."
 
-#: system.cc:178
+#. TODO: Also print the arguments of the markup!
+#: text-interface.cc:129
 #, c-format
-msgid "Element count %d."
-msgstr "%d éléments dénombrés."
+msgid "Cyclic markup detected: %s"
+msgstr "« markup » avec référence circulaire : %s"
 
-#: system.cc:270
+#. TODO: Also print the arguments of the markup!
+#: text-interface.cc:142
 #, c-format
-msgid "Grob count %d"
-msgstr "%d objet graphiques (grob) dénombrés"
+msgid "Markup depth exceeds maximal value of %d; Markup: %s"
+msgstr ""
+"Cascade de « markups » dépassant la valeur maximale de %d ;\n"
+"  markup : %s"
 
-#: text-spanner-engraver.cc:62
+#: text-spanner-engraver.cc:72
 msgid "cannot find start of text spanner"
 msgstr "impossible de repérer le point de départ de l'extension de texte"
 
-#: text-spanner-engraver.cc:75
+#: text-spanner-engraver.cc:85
 msgid "already have a text spanner"
-msgstr "a déjà une extension de texte"
+msgstr "extension de texte déjà présente"
 
-#: text-spanner-engraver.cc:121
+#: text-spanner-engraver.cc:130
 msgid "unterminated text spanner"
 msgstr "extension de texte non terminée"
 
-#: tie-engraver.cc:262
+#: tie-engraver.cc:119
+msgid "unterminated tie"
+msgstr "liaison de prolongation non terminée"
+
+#: tie-engraver.cc:353
 msgid "lonely tie"
 msgstr "liaison de prolongation orpheline"
 
@@ -2484,357 +3240,552 @@ msgstr "liaison de prolongation orpheline"
 #.
 #. OTOH, Tristan Keuris writes 8/20 in his Intermezzi.
 #.
-#: time-signature-engraver.cc:64
+#: time-signature-engraver.cc:75
 #, c-format
 msgid "strange time signature found: %d/%d"
-msgstr "Chiffrage de mesure inhabituel : %d/%d"
+msgstr "Chiffrage de mesure inhabituel : %d/%d"
 
 #. If there is no such symbol, we default to the numbered style.
 #. (Here really with a warning!)
-#: time-signature.cc:83
+#: time-signature.cc:89
 #, c-format
 msgid "time signature symbol `%s' not found; reverting to numbered style"
-msgstr "symbole de chiffrage de mesure « %s » inconnu ; retour à un style numérique"
+msgstr ""
+"symbole de chiffrage de mesure « %s » inconnu ;\n"
+"  retour à un style numérique."
 
-#: translator-ctors.cc:53
+#: translator-ctors.cc:65
 #, c-format
 msgid "unknown translator: `%s'"
-msgstr "translateur inconnu : « %s »"
+msgstr "translateur inconnu : « %s »"
 
-#: translator-group-ctors.cc:29
+#: translator-group-ctors.cc:40
 #, c-format
-msgid "fatal error. Couldn't find type: %s"
-msgstr "Erreur fatale. Type inconnu : %s"
+msgid "fatal error.  Couldn't find type: %s"
+msgstr "Erreur fatale. Type inconnu : %s"
 
-#: translator-group.cc:146
+#: translator-group.cc:188
 #, c-format
 msgid "cannot find: `%s'"
-msgstr " « %s » inconnu(e)"
+msgstr "« %s » inconnu(e)"
 
-#: translator.cc:347
+#: translator.cc:326
 #, c-format
 msgid "Two simultaneous %s events, junking this one"
 msgstr "Deux événements %s simultanés, rejet de celui-ci"
 
-#: translator.cc:348
+#: translator.cc:327
 #, c-format
 msgid "Previous %s event here"
 msgstr "Événement %s précédent ici"
 
-#: trill-spanner-engraver.cc:85
-msgid "cannot find start of trill spanner"
-msgstr "impossible de repérer le point de départ de l'extension de trille"
+#: ttf.cc:480 ttf.cc:528
+#, c-format
+msgid "font index %d too large for font `%s', using index 0"
+msgstr ""
+"index %d trop grand pour la fonte « %s » ;\n"
+"réindexé sur 0"
 
-#: trill-spanner-engraver.cc:98
-msgid "already have a trill spanner"
-msgstr "a déjà une extension de trille"
+#: ttf.cc:512 ttf.cc:562
+msgid "font index must be non-negative, using index 0"
+msgstr "l'index de fonte ne peut être négatif ; réindexé sur 0"
 
-#: tuplet-engraver.cc:96
+#: tuplet-engraver.cc:110
 msgid "No tuplet to end"
 msgstr "Aucun n-olet à terminer"
 
-#: vaticana-ligature-engraver.cc:389
+#: vaticana-ligature-engraver.cc:400
 #, c-format
-msgid "ignored prefix (es) `%s' of this head according to restrictions of the selected ligature style"
+msgid "ignored prefix(es) `%s' of this head according to restrictions of the selected ligature style"
 msgstr ""
-"préfixe(s) « %s » ignoré(s) pour la tête de note, \n"
+"préfixe(s) « %s » ignoré(s) pour la tête de note,\n"
 "selon les restrictions du style de ligature sélectionné"
 
-#: vaticana-ligature-engraver.cc:718
+#: vaticana-ligature-engraver.cc:466
+msgid "Ambiguous use of dots in ligature: there are multiple dotted notes with the same pitch.  The ligature should be split."
+msgstr ""
+"Utilisation ambigüe de points dans une ligature : plusieurs notes\n"
+"pointées ont la même hauteur. La ligature devrait être coupée."
+
+#: vaticana-ligature-engraver.cc:524
+msgid "This ligature has a dotted head followed by a non-dotted head.  The ligature should be split after the last dotted head before this head."
+msgstr ""
+"Cette ligature comporte une note pointée suivie d'une non pointée.\n"
+"La ligature devrait s'interrompre entre ces deux notes."
+
+#: vaticana-ligature-engraver.cc:736
 #, c-format
 msgid "Vaticana_ligature_engraver: setting `spacing-increment = %f': ptr =%ul"
-msgstr "Vaticana_ligature_engraver : fixé `spacing-increment = %f': ptr=%ul"
+msgstr "Vaticana_ligature_engraver : fixé « spacing-increment = %f » : ptr=%ul"
 
-#: vaticana-ligature.cc:84
+#: vaticana-ligature.cc:94
 msgid "flexa-height undefined; assuming 0"
-msgstr "Vaticana_ligature : décalage en X indéfini ; ramené à 0"
+msgstr "Vaticana_ligature : décalage en X indéfini ; ramené à 0"
 
-#: vaticana-ligature.cc:89
+#: vaticana-ligature.cc:99
 msgid "ascending vaticana style flexa"
 msgstr "flexe de style vaticana ascendant"
 
-#: vaticana-ligature.cc:177
-msgid "Vaticana_ligature: zero join (delta_pitch == 0)"
-msgstr "Vaticana_ligature: aucun joint (delta_pitch == 0)"
+#: vertical-align-engraver.cc:95
+msgid "Ignoring Vertical_align_engraver in VerticalAxisGroup"
+msgstr "Vertical_align_engraver dans le VerticalAxisGroup ignoré"
 
 #. fixme: be more verbose.
-#: volta-engraver.cc:100
+#: volta-engraver.cc:110
 msgid "cannot end volta spanner"
 msgstr "extension de reprise sans terminaison"
 
-#: volta-engraver.cc:110
+#: volta-engraver.cc:120
 msgid "already have a volta spanner, ending that one prematurely"
 msgstr "extension de reprise déjà présente, fin prématurée de celle-ci"
 
-#: volta-engraver.cc:114
+#: volta-engraver.cc:124
 msgid "also already have an ended spanner"
 msgstr "a déjà une extension terminée"
 
-#: volta-engraver.cc:115
+#: volta-engraver.cc:125
 msgid "giving up"
 msgstr "abandon"
 
-#: parser.yy:804
+#: parser.yy:158 parser.yy:172
+msgid "Too much lookahead"
+msgstr "Trop d'anticipation"
+
+#: parser.yy:441 parser.yy:752 parser.yy:818
+msgid "bad expression type"
+msgstr "type d'expression erroné"
+
+#: parser.yy:650 parser.yy:1159
+msgid "not a context mod"
+msgstr "ceci n'est pas un module de contexte"
+
+#: parser.yy:853
+msgid "score expected"
+msgstr "On attendait une partition"
+
+#: parser.yy:869
 msgid "\\paper cannot be used in \\score, use \\layout instead"
 msgstr "dans la section \\score, utiliser \\layout au lieu de \\paper"
 
-#: parser.yy:828
+#: parser.yy:893
 msgid "need \\paper for paper block"
 msgstr "\\paper est nécessaire pour définir les paramètres de la page"
 
-#: parser.yy:1299
-msgid "Grob name should be alphanumeric"
-msgstr "Un nom de Grob devrait être alphanumérique"
+#: parser.yy:1033 parser.yy:1055
+msgid "unexpected post-event"
+msgstr "« post-event » inattendu"
+
+#: parser.yy:1063
+msgid "Ignoring non-music expression"
+msgstr "Expression non musicale ignorée"
 
-#: parser.yy:1597
-msgid "second argument must be pitch list"
-msgstr "le second argument doit être une liste de hauteurs"
+#: parser.yy:1075 parser.yy:2493
+msgid "music expected"
+msgstr "On attendait de la musique"
 
-#: parser.yy:1624 parser.yy:1629 parser.yy:2101
+#: parser.yy:1370
+msgid "not a symbol"
+msgstr "n'est pas un symbole"
+
+#: parser.yy:2182 parser.yy:2296 parser.yy:2309 parser.yy:2318
+msgid "bad grob property path"
+msgstr "chemin erroné d'accès à la propriété de « grob »"
+
+#: parser.yy:2276
+msgid "only \\consists and \\remove take non-string argument."
+msgstr "seuls \\consists et \\remove peuvent prendre un argument autre qu'une chaîne."
+
+#: parser.yy:2337
+msgid "bad context property path"
+msgstr "chemin erroné d'accès à la propriété de contexte"
+
+#: parser.yy:2438
+msgid "simple string expected"
+msgstr "On attendait une chaîne simple"
+
+#: parser.yy:2456
+msgid "symbol expected"
+msgstr "symbole requis"
+
+#: parser.yy:2611
+msgid "not a rhythmic event"
+msgstr "événement non rythmique"
+
+#: parser.yy:2685
+msgid "post-event expected"
+msgstr "On attendait un « post-event »"
+
+#: parser.yy:2694 parser.yy:2699
 msgid "have to be in Lyric mode for lyrics"
-msgstr "doit être en mode Lyric pour des paroles"
+msgstr "Des paroles requièrent d'utiliser le mode Lyric."
 
-#: parser.yy:1726
+#: parser.yy:2767
 msgid "expecting string as script definition"
 msgstr "chaîne requise pour définir un script"
 
-#: parser.yy:1881 parser.yy:1931
-#, c-format
-msgid "not a duration: %d"
-msgstr "%d n'est pas une durée"
+#: parser.yy:2875
+msgid "not an articulation"
+msgstr "n'est pas une articulation"
+
+#: parser.yy:2947 parser.yy:2990
+msgid "not a duration"
+msgstr "ceci n'est pas une durée"
 
-#: parser.yy:2055
+#: parser.yy:3007
+msgid "bass number expected"
+msgstr "On attendait un numéro de basse"
+
+#: parser.yy:3106
 msgid "have to be in Note mode for notes"
-msgstr "doit être en mode Note pour des notes"
+msgstr "Des notes requièrent d'utiliser le mode Note."
 
-#: parser.yy:2116
+#: parser.yy:3166
 msgid "have to be in Chord mode for chords"
-msgstr "doit être en mode Chord pour des accords"
+msgstr "Des accords requièrent d'utiliser le mode Chord."
+
+#: parser.yy:3181
+msgid "markup outside of text script or \\lyricmode"
+msgstr "« markup » en dehors d'un script textuel ou de \\lyricmode"
 
-#: lexer.ll:179
+#: parser.yy:3186
+msgid "unrecognized string, not in text script or \\lyricmode"
+msgstr "chaîne non reconnue ; en dehors d'un script textuel ou de \\lyricmode"
+
+#: parser.yy:3347 parser.yy:3356
+msgid "not an unsigned integer"
+msgstr "n'est pas un entier sans signe"
+
+#: parser.yy:3424
+msgid "not a markup"
+msgstr "n'est pas un « markup »"
+
+#: lexer.ll:224
 msgid "stray UTF-8 BOM encountered"
 msgstr "parasitage par UTF-8 BOM"
 
-#: lexer.ll:183
+#: lexer.ll:227
 msgid "Skipping UTF-8 BOM"
 msgstr "Escamotage d'UTF-8 BOM"
 
-#: lexer.ll:238
+#: lexer.ll:279
 #, c-format
 msgid "Renaming input to: `%s'"
-msgstr "L'entrée a été renommée en « %s »"
+msgstr "L'entrée a été renommée en « %s »"
 
-#: lexer.ll:255
+#: lexer.ll:296
 msgid "quoted string expected after \\version"
 msgstr "\\version doit être suivi d'une chaîne entre guillemets"
 
-#: lexer.ll:259
+#: lexer.ll:300
 msgid "quoted string expected after \\sourcefilename"
 msgstr "\\sourcefilename doit être suivi d'une chaîne entre guillemets"
 
-#: lexer.ll:263
+#: lexer.ll:304
 msgid "integer expected after \\sourcefileline"
 msgstr "\\sourcefilename doit être suivi d'un nombre entier"
 
-#: lexer.ll:276
-msgid "EOF found inside a comment"
-msgstr "Fin de fichier (EOF) à l'intérieur du commentaire"
-
-#: lexer.ll:291
+#: lexer.ll:331
 msgid "\\maininput not allowed outside init files"
 msgstr "\\maininput n'est pas permis en dehors des fichiers d'initialisation"
 
-#: lexer.ll:315
+#: lexer.ll:355
 #, c-format
 msgid "wrong or undefined identifier: `%s'"
-msgstr "identificateur erroné ou non défini : « %s »"
+msgstr "identificateur erroné ou non défini : « %s »"
 
-#. backup rule
-#: lexer.ll:324
+#: lexer.ll:381
+msgid "string expected after \\include"
+msgstr "\\include doit être suivi d'une chaîne entre guillemets"
+
+#: lexer.ll:391
 msgid "end quote missing"
 msgstr "absence de guillemet fermant"
 
-#: lexer.ll:469
-msgid "Brace found at end of lyric.  Did you forget a space?"
-msgstr "Accolade repérée à la fin d'une parole. Manquerait-il un espace ?"
+#: lexer.ll:743
+msgid "EOF found inside a comment"
+msgstr "Fin de fichier (EOF) à l'intérieur du commentaire"
+
+#: lexer.ll:748
+msgid "EOF found inside string"
+msgstr "Fin de fichier (EOF) à l'intérieur d'une chaîne"
 
-#: lexer.ll:584
-msgid "Brace found at end of markup.  Did you forget a space?"
-msgstr "Accolade repérée à la fin d'un \"markup\". Manquerait-il un espace ?"
+#: lexer.ll:763
+msgid "Unfinished main input"
+msgstr "Fichier principal non fini"
 
-#: lexer.ll:688
+#: lexer.ll:834
 #, c-format
-msgid "invalid character: `%c'"
-msgstr "caractère invalide : « %c »"
+msgid "invalid character: `%s'"
+msgstr "caractère invalide : « %s »"
 
-#: lexer.ll:803
+#: lexer.ll:963
 #, c-format
 msgid "unknown escaped string: `\\%s'"
-msgstr "chaîne d'échappement inconnue : « \\%s »"
+msgstr "chaîne d'échappement inconnue : « \\%s »"
+
+#: lexer.ll:983
+#, c-format
+msgid "undefined character or shorthand: %s"
+msgstr "caractère ou raccourci non défini : %s"
 
-#: lexer.ll:910
+#: lexer.ll:1275
+msgid "non-UTF-8 input"
+msgstr "la source n'est pas en UTF-8"
+
+#: lexer.ll:1319
 #, c-format
 msgid "file too old: %s (oldest supported: %s)"
 msgstr ""
-"%s est plus qu'obsolète ; \n"
-"le plus ancien pouvant être supporté est %s"
+"%s est plus qu'obsolète ;\n"
+"le plus ancien pouvant être supporté est %s"
 
-#: lexer.ll:911
+#: lexer.ll:1320
 msgid "consider updating the input with the convert-ly script"
 msgstr "Envisagez la mise à jour de la source à l'aide du script convert-ly"
 
-#: lexer.ll:917
+#: lexer.ll:1326
 #, c-format
 msgid "program too old: %s (file requires: %s)"
-msgstr "Programme plus qu'obsolète : %s (le fichier requiert %s)"
+msgstr "Programme plus qu'obsolète : %s (le fichier requiert %s)"
 
-#: backend-library.scm:19 lily.scm:761 ps-to-png.scm:58
+#: backend-library.scm:27
 #, scheme-format
 msgid "Invoking `~a'..."
-msgstr "Appel de « ~a »..."
+msgstr "Appel de « ~a »..."
 
-#: backend-library.scm:28
+#: backend-library.scm:31
 #, scheme-format
-msgid "`~a' failed (~a)"
-msgstr "échec de « ~a » (~a)"
+msgid "`~a' failed (~a)\n"
+msgstr "échec de « ~a » (~a)\n"
 
-#: backend-library.scm:116
+#: backend-library.scm:93
 #, scheme-format
-msgid "Converting to `~a'..."
-msgstr "Conversion à « ~a »..."
+msgid "Converting to `~a'...\n"
+msgstr "Conversion à « ~a »...\n"
 
 #. Do not try to guess the name of the png file,
 #. GS produces PNG files like BASE-page%d.png.
-#: backend-library.scm:128
+#: backend-library.scm:102
 #, scheme-format
 msgid "Converting to ~a..."
-msgstr "Conversion à ~a..."
+msgstr "Conversion à « ~a »..."
 
-#: backend-library.scm:166
+#: backend-library.scm:140
 #, scheme-format
 msgid "Writing header field `~a' to `~a'..."
-msgstr "écriture du champ d'en-tête « ~a » dans « ~a »..."
+msgstr "écriture du champ d'entête « ~a » dans « ~a »..."
+
+#: backend-library.scm:189
+#, scheme-format
+msgid "missing stencil expression `~S'"
+msgstr "absence d'expression stencil « ~S »"
+
+#: bar-line.scm:133
+#, scheme-format
+msgid "Bar glyph ~a not known. Ignoring."
+msgstr "~a n'est pas un glyphe de barre connu ; on l'ignore."
+
+#: bar-line.scm:161
+#, scheme-format
+msgid "Annotation '~a' is allowed in the first argument of a bar line definition only."
+msgstr ""
+"L'annotation « ~a » n'est autorisée qu'en premier argument\n"
+"  dans la définition d'une barre de mesure."
 
-#: define-context-properties.scm:20 define-grob-properties.scm:10
-#: define-music-properties.scm:10
+#: bar-line.scm:169
+#, scheme-format
+msgid "Replacement '~a' is allowed in the last argument of a bar line definition only."
+msgstr ""
+"Le remplacement « ~a » n'est autorisé qu'en dernier argument\n"
+"  dans la définition d'une barre de mesure."
+
+#: bar-line.scm:230
+#, scheme-format
+msgid "add-bar-glyph-print-procedure: glyph '~a' has to be a single ASCII character."
+msgstr ""
+"add-bar-glyph-print-procedure : le glyphe « ~a » doit être un caractère\n"
+"  ASCII simple."
+
+#: bar-line.scm:795
+#, scheme-format
+msgid "No span bar glyph defined for bar glyph '~a'; ignoring."
+msgstr ""
+"Le glyphe de barre « ~a » ne comporte pas de glyphe d'extension ;\n"
+"  on l'ignore."
+
+#: chord-entry.scm:52
+#, scheme-format
+msgid "Spurious garbage following chord: ~A"
+msgstr "Information incompréhensible à la suite de l'accord « ~A »"
+
+#: define-context-properties.scm:31 define-grob-properties.scm:21
+#: define-music-properties.scm:21
 #, scheme-format
 msgid "symbol ~S redefined"
-msgstr "symbole ~S redéfini"
+msgstr "symbole « ~S » redéfini"
+
+#: define-event-classes.scm:73
+#, scheme-format
+msgid "unknown parent class `~a'"
+msgstr "Classe parente inconnue : « ~a »"
 
-#: define-event-classes.scm:119
+#: define-event-classes.scm:107
 #, scheme-format
-msgid "event class ~A seems to be unused"
-msgstr "la classe d'événement ~A semble être inutilisée"
+msgid "Cannot redefine event class `~S'"
+msgstr "Impossible de redéfinir la classe d'événement « ~S »"
 
-#. should be programming-error
-#: define-event-classes.scm:125
+#: define-event-classes.scm:109
 #, scheme-format
-msgid "translator listens to nonexisting event class ~A"
-msgstr "le traducteur écoute la classe d'événements ~A inexistante"
+msgid "Undefined parent event class `~S'"
+msgstr "Classe d'événement parente « ~a » non définie"
 
-#: define-markup-commands.scm:569
+#: define-markup-commands.scm:1083
 msgid "no systems found in \\score markup, does it have a \\layout block?"
-msgstr "pas de système trouvé dans le bloc \\score, contient-il un bloc \\layout ?"
+msgstr ""
+"pas de système trouvé dans le bloc \\score du « markup » ;\n"
+"  contient-il un bloc \\layout ?"
 
-#: define-markup-commands.scm:2387
+#: define-markup-commands.scm:2847
 #, scheme-format
 msgid "Cannot find glyph ~a"
-msgstr "impossible de trouver le glyphe ~a"
+msgstr "impossible de trouver le glyphe « ~a »"
+
+#: define-markup-commands.scm:3273
+#, scheme-format
+msgid "no brace found for point size ~S "
+msgstr "il n'y a pas d'accolade qui fasse ~S points"
 
-#: define-markup-commands.scm:2696
+#: define-markup-commands.scm:3274
+#, scheme-format
+msgid "defaulting to ~S pt"
+msgstr "application de la taille par défaut (~S pt)"
+
+#: define-markup-commands.scm:3526
 #, scheme-format
 msgid "not a valid duration string: ~a"
-msgstr "chaîne de durée invalide : ~a"
+msgstr "chaîne de durée invalide : ~a"
+
+#: define-markup-commands.scm:3737
+#, scheme-format
+msgid "not a valid duration string: ~a - ignoring"
+msgstr "chaîne de durée invalide : ~a -- ignorée"
 
-#: define-music-types.scm:670
+#: define-music-types.scm:792
 #, scheme-format
 msgid "symbol expected: ~S"
-msgstr "symbole requis : ~S"
+msgstr "symbole requis : ~S"
 
-#: define-music-types.scm:673
+#: define-music-types.scm:795
 #, scheme-format
 msgid "cannot find music object: ~S"
-msgstr "impossible de trouver l'objet de type musique : ~S"
+msgstr "impossible de trouver l'objet de type musique : ~S"
 
-#: define-music-types.scm:692
+#: define-music-types.scm:815
+#, scheme-format
+msgid "bad make-music argument: ~S"
+msgstr "argument de make-music erronné : ~S"
+
+#: define-music-types.scm:827
 #, scheme-format
 msgid "unknown repeat type `~S'"
-msgstr "type de répétition inconnu : « ~S »"
+msgstr "type de répétition inconnu : « ~S »"
 
-#: define-music-types.scm:693
+#: define-music-types.scm:828
 msgid "See define-music-types.scm for supported repeats"
-msgstr "Consulter define-music-types.scm pour connaître les répétitions prises en charge"
+msgstr ""
+"Consulter define-music-types.scm pour connaître les répétitions\n"
+" prises en charge"
+
+#: define-note-names.scm:972
+msgid "Select note names language."
+msgstr "Sélection de la langue des noms de note."
 
-#: document-backend.scm:99
+#: define-note-names.scm:978
+#, scheme-format
+msgid "Using `~a' note names..."
+msgstr "Utilisation de « ~a » pour le nom des notes..."
+
+#: define-note-names.scm:981
+#, scheme-format
+msgid "Could not find language `~a'.  Ignoring."
+msgstr ""
+"« ~a » n'est pas une langue reconnue pour les noms de note.\n"
+" Abandon."
+
+#: document-backend.scm:132
 #, scheme-format
 msgid "pair expected in doc ~s"
 msgstr "le document ~s devrait contenir une paire"
 
-#: document-backend.scm:154
+#: document-backend.scm:189
 #, scheme-format
 msgid "cannot find interface for property: ~S"
-msgstr "impossible de trouver l'interface pour la propriété ~S"
+msgstr "impossible de trouver l'interface pour la propriété « ~S »"
 
-#: document-backend.scm:164
+#: document-backend.scm:199
 #, scheme-format
 msgid "unknown Grob interface: ~S"
-msgstr "interface d'objet graphique (Grob) inconnue : ~S"
+msgstr "interface d'objet graphique (Grob) inconnue : ~S"
 
-#: documentation-lib.scm:49
+#: documentation-lib.scm:59
 #, scheme-format
 msgid "Processing ~S..."
-msgstr "Traitement de ~S..."
+msgstr "Traitement de « ~S »..."
 
-#: documentation-lib.scm:165
+#: documentation-lib.scm:176
 #, scheme-format
 msgid "Writing ~S..."
-msgstr "Écriture de ~S..."
+msgstr "Écriture de « ~S »..."
+
+#: documentation-lib.scm:188
+#, scheme-format
+msgid "cannot find description for property `~S' (~S)"
+msgstr ""
+"impossible de trouver une description de la propriété « ~S »\n"
+" (~S)"
 
-#: documentation-lib.scm:187
+#: documentation-lib.scm:209
 #, scheme-format
 msgid "cannot find description for property ~S (~S)"
-msgstr "impossible de trouver une description de la propriété ~S (~S)"
+msgstr ""
+"impossible de trouver une description de la propriété « ~S »\n"
+" (~S)"
 
-#: flag-styles.scm:145
+#: flag-styles.scm:162
 #, scheme-format
 msgid "flag stroke `~a' or `~a' not found"
-msgstr "type de crochet inconnu : « ~a » ou « ~a »"
+msgstr "type de crochet inconnu : « ~a » ou « ~a »"
 
-#: framework-eps.scm:90
+#: framework-eps.scm:108
 #, scheme-format
 msgid "Writing ~a..."
-msgstr "Écriture de ~a..."
+msgstr "Écriture de « ~a »..."
 
-#: framework-ps.scm:277
+#: framework-ps.scm:250
 #, scheme-format
 msgid "cannot embed ~S=~S"
-msgstr "intégration impossible : ~S=~S"
+msgstr "intégration impossible : ~S=~S"
 
-#: framework-ps.scm:330
+#: framework-ps.scm:293
 #, scheme-format
 msgid "cannot extract file matching ~a from ~a"
-msgstr "impossible d'extraire le fichier ~a à partir de ~a"
+msgstr "impossible d'extraire le fichier « ~a » à partir de « ~a »"
 
-#: framework-ps.scm:347
+#: framework-ps.scm:311
 #, scheme-format
 msgid "do not know how to embed ~S=~S"
 msgstr "imposible de réaliser l'intégration ~S=~S"
 
-#: framework-ps.scm:378
+#: framework-ps.scm:336
 #, scheme-format
 msgid "do not know how to embed font ~s ~s ~s"
 msgstr "impossible d'intégrer les fontes ~s ~s ~s"
 
-#: framework-ps.scm:748
-#, scheme-format
-msgid "cannot convert <stdout> to ~S"
-msgstr "impossible de convertir <stdout> en ~S"
-
-#: framework-ps.scm:771
+#: framework-ps.scm:687
 msgid ""
 "\n"
-"The PostScript backend does not support the system-by-system \n"
-"output. For that, use the EPS backend instead,\n"
+"The PostScript backend does not support the\n"
+"system-by-system output.  For that, use the EPS backend instead,\n"
 "\n"
 "  lilypond -dbackend=eps FILE\n"
 "\n"
@@ -2851,196 +3802,347 @@ msgstr ""
 "\n"
 "  lilypond -dbackend=eps FICHIER\n"
 "\n"
-"Si vous avez copié et collé un fragment lilypond à partir d'un page internet,\n"
+"Si vous avez copié et collé un fragment lilypond à partir d'une page internet,\n"
 "assurez-vous d'avoir bien supprimé tout ce qui précède\n"
 "\n"
 "  %% ****************************************************************\n"
 "  %% Start cut-&-pastable-section\n"
 "  %% ****************************************************************\n"
-"\n"
 
-#: graphviz.scm:53
+#: framework-svg.scm:84
+#, scheme-format
+msgid "Updating font into: ~a"
+msgstr "Actualisation de la fonte dans « ~a »"
+
+#: graphviz.scm:64
 #, scheme-format
 msgid "Writing graph `~a'..."
-msgstr "Écriture du graphique « ~a »..."
+msgstr "Écriture du graphique « ~a »..."
 
-#: layout-beam.scm:29
+#: layout-beam.scm:40
 #, scheme-format
 msgid "Error in beam quanting.  Expected (~S,~S) found ~S."
-msgstr "Erreur de définition du lien : attendait (~S,~S), ~S trouvé."
+msgstr "Erreur de définition de ligature : attendait (~S,~S), ~S trouvé."
 
-#: layout-beam.scm:43
+#: layout-beam.scm:54
 #, scheme-format
 msgid "Error in beam quanting.  Expected ~S 0, found ~S."
-msgstr "Erreur de définition du lien : attendait ~S 0, repéré ~S."
+msgstr "Erreur de définition de ligature : attendait ~S 0, repéré ~S."
+
+#: lily-library.scm:333
+msgid "Music unsuitable for context-mod"
+msgstr "Inadéquation entre la musique et le context-mod"
+
+#: lily-library.scm:388
+#, scheme-format
+msgid "Cannot find context-def \\~a"
+msgstr "Impossible de repérer un context-def (définition de contexte) \\~a"
+
+#: lily-library.scm:404
+msgid "Music unsuitable for output-def"
+msgstr "Inadéquation entre la musique et le output-def"
 
-#: layout-page-layout.scm:126
-msgid "Can't fit systems on page -- ignoring between-system-padding"
-msgstr "Les système ne tiennent pas sur la page ; between-system-padding ignoré"
+#: lily-library.scm:884
+msgid ""
+"Find the index between @var{start} and @var{end} (an integer)\n"
+"which produces the closest match to @var{target-val} if\n"
+"applied to function @var{getter}."
+msgstr ""
+"Recherche un index compris entre @var{début} et @var{fin}\n"
+"(nombre entier) qui soit le plus proche de @var{valeur-cible}\n"
+"lorsqu'appliqué à la fonction @var{appelant}."
 
-#: lily-library.scm:602
+#: lily-library.scm:955
 #, scheme-format
 msgid "unknown unit: ~S"
-msgstr "unité inconnue : ~S"
+msgstr "unité inconnue : ~S"
 
-#: lily-library.scm:636
+#: lily-library.scm:980
 #, scheme-format
 msgid "no \\version statement found, please add~afor future compatibility"
 msgstr ""
-"déclaration de \\version absente ;\n"
-"ajoutez ~a pour une compatibilité future"
+"déclaration de \\version absente ;\n"
+"  ajoutez ~a pour une compatibilité future"
 
-#: lily-library.scm:644
-msgid "old relative compatibility not used"
-msgstr "compatibilité avec l'ancien mode relatif non utilisée"
+#: lily.scm:75
+msgid "call-after-session used after session start"
+msgstr "call-after-session utilisé après le début de la session"
 
-#: lily.scm:179
+#: lily.scm:93
+msgid "define-session used after session start"
+msgstr "define-session utilisé après le début de la session"
+
+#: lily.scm:393
+msgid "Using (ice-9 curried-definitions) module\n"
+msgstr "Utilisation du module (ice-9 curried-definitions)\n"
+
+#: lily.scm:396
+msgid "Guile 1.8\n"
+msgstr "Guile 1.8\n"
+
+#: lily.scm:455
 #, scheme-format
 msgid "cannot find: ~A"
-msgstr "impossible de trouver ~A"
+msgstr "impossible de trouver « ~A »"
 
-#: lily.scm:228
-#, scheme-format
-msgid "wrong type for argument ~a.  Expecting ~a, found ~s"
-msgstr "type d'argument erroné pour ~a. Attendait ~a, ~s trouvé"
+#: lily.scm:878
+msgid "Success: compilation successfully completed"
+msgstr "Compilation menée à son terme, avec succès."
+
+#: lily.scm:879
+msgid "Compilation completed with warnings or errors"
+msgstr "Compilation menée à son terme, avec des avertissements ou erreurs."
 
-#: lily.scm:625
+#: lily.scm:940
 #, scheme-format
 msgid "job ~a terminated with signal: ~a"
-msgstr "le travail ~a s'est terminé avec le signal ~a"
+msgstr "le travail « ~a » s'est terminé avec le signal ~a"
 
-#: lily.scm:628
+#: lily.scm:943
 #, scheme-format
 msgid ""
 "logfile ~a (exit ~a):\n"
 "~a"
 msgstr ""
-"fichier journal ~a (sortie ~a) :\n"
+"fichier journal « ~a » (sortie ~a) :\n"
 "~a"
 
-#: lily.scm:653 lily.scm:751
+#: lily.scm:965 lily.scm:1054
 #, scheme-format
 msgid "failed files: ~S"
-msgstr "erreur sur les fichiers ~S"
+msgstr "erreur sur les fichiers ~S"
 
-#: lily.scm:741
+#: lily.scm:1045
 #, scheme-format
 msgid "Redirecting output to ~a..."
-msgstr "Redirection de la sortie vers ~a..."
+msgstr "Redirection de la sortie vers « ~a »..."
+
+#: lily.scm:1064 ps-to-png.scm:66
+#, scheme-format
+msgid "Invoking `~a'...\n"
+msgstr "Appel de « ~a »...\n"
 
-#: ly-syntax-constructors.scm:40
-msgid "Music head function must return Music object"
-msgstr "Une fonction musicale primitive devrait renvoyer un objet Music"
+#: ly-syntax-constructors.scm:66
+#, scheme-format
+msgid "~a function cannot return ~a"
+msgstr "La fonction ~a ne peut retourner ~a."
+
+#: ly-syntax-constructors.scm:75
+#, scheme-format
+msgid "wrong type for argument ~a.  Expecting ~a, found ~s"
+msgstr ""
+"type d'argument erroné pour ~a.\n"
+" Attendait ~a, ~s trouvé"
 
-#: ly-syntax-constructors.scm:154
+#: ly-syntax-constructors.scm:199
 #, scheme-format
 msgid "Invalid property operation ~a"
-msgstr "Opération de propriété invalide : ~a"
+msgstr "Opération de propriété invalide : ~a"
 
-#: markup.scm:204
+#: markup-macros.scm:331
 #, scheme-format
 msgid "Wrong number of arguments.  Expect: ~A, found ~A: ~S"
-msgstr "Nombre d'arguments erroné. Requis : ~A, présent(s) ~A : ~S"
+msgstr ""
+"Nombre d'arguments erroné : ~A requis, ~A présent(s) :\n"
+" ~S"
 
-#: markup.scm:210
+#: markup-macros.scm:337
 #, scheme-format
 msgid "Invalid argument in position ~A.  Expect: ~A, found: ~S."
-msgstr "Argument invalide à la position ~A. ~A attendu, ~S trouvé."
+msgstr ""
+"Argument invalide à la position ~A.\n"
+" ~A requis, trouvé ~S."
 
-#: markup.scm:274
+#: markup-macros.scm:373
 #, scheme-format
 msgid "Not a markup command: ~A"
-msgstr "~A n'est pas une commande de type « markup»"
+msgstr "~A n'est pas une commande de type « markup »"
+
+#: modal-transforms.scm:38
+msgid "'from' pitch not in scale; ignoring"
+msgstr "hauteur de départ (from) absente de la gamme ; rien à transposer"
+
+#: modal-transforms.scm:42 modal-transforms.scm:75
+msgid "'to' pitch not in scale; ignoring"
+msgstr "hauteur d'arrivée (to) absente de la gamme ; rien à transposer"
+
+#: modal-transforms.scm:46
+msgid "pitch to be transposed not in scale; ignoring"
+msgstr "hauteur à laquelle transposer absente de la gamme ; rien à transposer"
+
+#: modal-transforms.scm:71
+msgid "'around' pitch not in scale; ignoring"
+msgstr "hauteur pivot (around) absente de la gamme : rien à transposer"
+
+#: modal-transforms.scm:79
+msgid "pitch to be inverted not in scale; ignoring"
+msgstr "hauteur d'inversion absente de la gamme : rien à transposer"
 
-#: music-functions.scm:228
+#: modal-transforms.scm:95
+msgid "negative replication count; ignoring"
+msgstr "compteur de réplication négatif : rien à transposer"
+
+#: music-functions.scm:272
 msgid "More alternatives than repeats.  Junking excess alternatives"
 msgstr ""
 "Plus d'alternatives que de répétitions.\n"
 " Escamotage des alternatives surnuméraires."
 
-#: music-functions.scm:240
+#: music-functions.scm:303
 #, scheme-format
 msgid "invalid tremolo repeat count: ~a"
-msgstr "nombre de répétition en trémolo invalide : ~a"
+msgstr "nombre de répétition en trémolo invalide : ~a"
 
-#: music-functions.scm:248
+#: music-functions.scm:459
 #, scheme-format
-msgid "expecting 2 elements for chord tremolo, found ~a"
-msgstr "2 éléments sont requis pour l'accord de trémolo, ~a trouvé(s)"
+msgid "bad grob property path ~a"
+msgstr "chemin d'accès au « grob » erroné : ~a"
+
+#: music-functions.scm:753
+msgid "Bad chord repetition"
+msgstr "Mauvaise répétition d'accord"
 
-#: music-functions.scm:575
+#: music-functions.scm:788
 #, scheme-format
 msgid "music expected: ~S"
 msgstr "~S requiert de la musique"
 
-#. FIXME: uncomprehensable message
-#: music-functions.scm:625
+#: music-functions.scm:1144
 #, scheme-format
-msgid "Bar check failed.  Expect to be at ~a, instead at ~a"
-msgstr ""
-"Échec du contrôle de barre de mesure. \n"
-"Aurait dû se trouver à ~a au lieu de ~a"
+msgid "cannot find quoted music: `~S'"
+msgstr "impossible de trouver la citation de musique « ~S »"
+
+#: music-functions.scm:1282
+msgid "Add @var{octave-shift} to the octave of @var{pitch}."
+msgstr "Ajoute @var{octave-shift} à l'octave de @var{hauteur}."
 
-#: music-functions.scm:793
+#: music-functions.scm:1342
 #, scheme-format
-msgid "cannot find quoted music: `~S'"
-msgstr "impossible de trouver la citation de musique « ~S »"
+msgid "Unknown octaveness type: ~S "
+msgstr "Octave inconnue : « ~S »"
+
+#: music-functions.scm:1343
+msgid "Defaulting to 'any-octave."
+msgstr "Application de la valeur par défaut 'any-octave."
 
-#: music-functions.scm:1198
+#: music-functions.scm:1688
 #, scheme-format
 msgid "unknown accidental style: ~S"
-msgstr "style d'altération inconnu : ~S"
+msgstr "style d'altération inconnu : ~S"
 
-#: output-ps.scm:294
-msgid "utf-8-string encountered in PS backend"
-msgstr "le support PS a rencontré une chaîne utf8"
+#: output-ps.scm:278 output-svg.scm:539
+#, scheme-format
+msgid "unknown line-cap-style: ~S"
+msgstr "line-cap-style inconnu : ~S"
 
-#: output-svg.scm:45
+#: output-ps.scm:283 output-svg.scm:545
 #, scheme-format
-msgid "undefined: ~S"
-msgstr "~S indéfini(e)"
+msgid "unknown line-join-style: ~S"
+msgstr "line-join-style inconnu : ~S"
 
-#: output-svg.scm:135
+#: output-svg.scm:148
 #, scheme-format
 msgid "cannot decypher Pango description: ~a"
-msgstr "la description de Pango ne peut être déchiffrée : ~a"
+msgstr "la description de Pango ne peut être déchiffrée : ~a"
+
+#: output-svg.scm:228
+msgid "Glyph must have a unicode value"
+msgstr "Un glyphe doit avoir une valeur unicode"
+
+#: output-svg.scm:280 output-svg.scm:290
+#, scheme-format
+msgid "cannot find SVG font ~S"
+msgstr "fonte SVG « ~S » introuvable."
 
-#: paper.scm:104
+#: paper.scm:120
 msgid "set-global-staff-size: not in toplevel scope"
 msgstr "set-global-staff-size n'est pas à un niveau de portée globale"
 
-#: paper.scm:244
+#: paper.scm:320
 #, scheme-format
 msgid "This is not a \\layout {} object, ~S"
 msgstr "~S n'est pas un objet de \\layout {}"
 
-#: paper.scm:256
+#: paper.scm:328
 #, scheme-format
 msgid "Unknown paper size: ~a"
-msgstr "Taille de papier inconnue : ~a"
+msgstr "Format de papier inconnu : ~a"
 
 #. TODO: should raise (generic) exception with throw, and catch
 #. that in parse-scm.cc
-#: paper.scm:271
+#: paper.scm:347
 msgid "Must use #(set-paper-size .. ) within \\paper { ... }"
 msgstr "#(set-paper-size ..) doit être dans la section \\paper { ... }"
 
-#: parser-clef.scm:129
+#: parser-clef.scm:164
 #, scheme-format
 msgid "unknown clef type `~a'"
-msgstr "type de clef inconnu : « ~a »"
+msgstr "type de clef inconnu : « ~a »"
 
-#: parser-clef.scm:130
+#: parser-clef.scm:165
 #, scheme-format
 msgid "supported clefs: ~a"
-msgstr "clefs reconnues : ~a"
+msgstr "clefs reconnues : ~a"
 
-#: ps-to-png.scm:64
+#: parser-ly-from-scheme.scm:74
+msgid "error in #{ ... #}"
+msgstr "erreur dans #{ ... #}"
+
+#: part-combiner.scm:598
+#, scheme-format
+msgid "quoted music `~a' is empty"
+msgstr "il n'y a rien à reproduire dans « ~a »"
+
+#: ps-to-png.scm:70
 #, scheme-format
 msgid "~a exited with status: ~S"
 msgstr "~a s'est terminé avec le statut ~S"
 
-#: to-xml.scm:180
+#: to-xml.scm:190
 #, scheme-format
 msgid "assertion failed: ~S"
-msgstr "erreur d'assertion : ~S"
+msgstr "erreur d'assertion : ~S"
+
+#: translation-functions.scm:368
+#, scheme-format
+msgid "Negative fret for pitch ~a on string ~a"
+msgstr "La hauteur « ~a » sur la corde « ~a » donne un fret négatif"
+
+#: translation-functions.scm:371
+#, scheme-format
+msgid "Missing fret for pitch ~a on string ~a"
+msgstr "Aucun fret pour « ~a » sur la corde « ~a »"
+
+#: translation-functions.scm:414
+#, scheme-format
+msgid "No open string for pitch ~a"
+msgstr "Pas de corde à vide pour la hauteur « ~a »"
+
+#: translation-functions.scm:429 translation-functions.scm:441
+#, scheme-format
+msgid "Requested string for pitch requires negative fret: string ~a pitch ~a"
+msgstr ""
+"Hauteur et corde requises demandent un fret négatif :\n"
+" corde « ~a » hauteur « ~a »"
+
+#: translation-functions.scm:432
+msgid "Ignoring string request and recalculating."
+msgstr "Cette corde sera ignorée et redéfinie."
+
+#: translation-functions.scm:444
+msgid "Ignoring note in tablature."
+msgstr "Cette note sera ignorée dans la tablature."
+
+#: translation-functions.scm:469
+#, scheme-format
+msgid "No string for pitch ~a (given frets ~a)"
+msgstr "Aucune corde ne contient la hauteur « ~a » avec un fret « ~a »"
+
+#: translation-functions.scm:574
+#, scheme-format
+msgid ""
+"No label for fret ~a (on string ~a);\n"
+"only ~a fret labels provided"
+msgstr ""
+"Pas d'étiquette correspondant au fret « ~a » (corde de « ~a ») ;\n"
+"  les seules disponibles sont : ~a"