]> 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.
 # 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 ""
 #
 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"
 "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"
 "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"
 
 "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
 #, 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
 
 #: 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"
 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"
 
 #, 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"
 
 #, 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 }"
 
 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"
 
 #, python-format
 msgid "deprecated %s"
 msgstr "%s est obsolète"
 
-#: convertrules.py:70
+#: convertrules.py:66
 msgid "deprecated \\textstyle, new \\key syntax"
 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"
 
 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"
 
 msgid "new \\header format"
 msgstr "nouveau format de \\header"
 
-#: convertrules.py:132
+#: convertrules.py:125
 msgid "\\translator syntax"
 msgstr "syntaxe de \\translator"
 
 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"
 
 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"
 
 #, python-format
 msgid "deprecate %s"
 msgstr "%s obsolète"
 
-#: convertrules.py:290
+#: convertrules.py:280
 #, python-format
 msgid "deprecate %s "
 msgstr "%s obsolète"
 
 #, python-format
 msgid "deprecate %s "
 msgstr "%s obsolète"
 
-#: convertrules.py:319
+#: convertrules.py:306
 msgid "new \\notenames format"
 msgstr "nouveau format de \\notenames"
 
 msgid "new \\notenames format"
 msgstr "nouveau format de \\notenames"
 
-#: convertrules.py:337
+#: convertrules.py:322
 msgid "new tremolo format"
 msgstr "nouveau format de tremolo"
 
 msgid "new tremolo format"
 msgstr "nouveau format de tremolo"
 
-#: convertrules.py:342
+#: convertrules.py:326
 msgid "Staff_margin_engraver deprecated, use Instrument_name_engraver"
 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"
 
 msgid "new \\textscript markup text"
 msgstr "nouvelle étiquette de texte \\textscript"
 
-#: convertrules.py:530
+#: convertrules.py:510
 #, python-format
 msgid "identifier names: %s"
 #, 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."
 
 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 ?
 msgid "semicolons removed"
 msgstr "Suppression des points-virgules"
 
 #. 40 ?
-#: convertrules.py:654
+#: convertrules.py:634
 #, python-format
 msgid "%s property names"
 #, 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."
 
 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"
 
 #, 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"
 
 msgid "cluster syntax"
 msgstr "Syntaxe de cluster"
 
-#: convertrules.py:1014
+#: convertrules.py:988
 msgid "new Pedal style syntax"
 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 ""
 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"
 
 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é"
 
 #, python-format
 msgid "%s misspelling"
 msgstr "%s mal orthographié"
 
-#: convertrules.py:1346
+#: convertrules.py:1314
 msgid "Swap < > and << >>"
 msgstr "Interchanger < > et << >>"
 
 msgid "Swap < > and << >>"
 msgstr "Interchanger < > et << >>"
 
-#: convertrules.py:1349
+#: convertrules.py:1317
 msgid "attempting automatic \\figures conversion.  Check results!"
 msgstr ""
 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."
 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 ""
 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"
 #, python-format
 msgid ""
 "\\outputproperty found,\n"
@@ -188,14 +309,14 @@ msgid ""
 "\n"
 "as a substitution text."
 msgstr ""
 "\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."
 
 "\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"
 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 ""
 "* 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"
 
 "\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."
 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"
 
 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 ""
 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."
 
 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"
 #, 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"
 
 msgid "Drum notation"
 msgstr "Notation de percussions"
 
-#: convertrules.py:1702
+#: convertrules.py:1656
 msgid "new syntax for property settings:"
 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{ }"
 
 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"
 
 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
 #, 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"
 
 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"
 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 ""
 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"
 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"
 
 "  #(set-global-staff-size <HAUTEUR-DE-PORTÉE-EN-POINTS>)\n"
 "\n"
 
-#: convertrules.py:2069
+#: convertrules.py:2016
 msgid "regularize other identifiers"
 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"
 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."
 
 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)."
 
 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"
 #, 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"
 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"
 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"
 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"
 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"
 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"
 
 msgid "verticalAlignmentChildCallback has been deprecated"
 msgstr "verticalAlignmentChildCallback est désuet"
 
-#: convertrules.py:2338
+#: convertrules.py:2277
 msgid "Remove callbacks property, deprecate XY-extent-callback."
 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."
 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"
 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"
 
 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"
 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."
 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 ""
 #, python-format
 msgid ""
 "Use\n"
 "\n"
 "%s"
 msgstr ""
-"Utilisation : \n"
+"Utiliser dorénavant\n"
 "\n"
 "%s"
 
 "\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."
 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"
 
 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."
 
 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 ""
 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"
 
 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"
 #, 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"
 
 "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"
 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."
 
 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"
 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"
 
 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"
 #: 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"
 
 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'"
 #, 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..."
 
 #, python-format
 msgid "Running %s..."
 msgstr "Exécution de %s..."
 
-#: lilylib.py:209
+#: lilylib.py:333
 #, python-format
 msgid "Usage: %s"
 msgstr "Utilisation : %s"
 
 #, 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"
 
 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"
 
 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"
 
 #, 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"
 msgid "encountered repeat without body"
-msgstr "réprise vide détectée"
+msgstr "reprise vide détectée"
 
 #. no self.elements!
 
 #. no self.elements!
-#: musicexp.py:835
+#: musicexp.py:856
 #, python-format
 msgid "Grace note with no following music: %s"
 #, 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."
 #, 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"
 
 #, 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!
 #. TODO: Handle pieces without a time signature!
-#: musicxml.py:357
+#: musicxml.py:361
 msgid "Senza-misura time signatures are not yet supported!"
 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."
 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 ""
 #, 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"
 #, 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"
 
 #, 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"
 #, 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 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"
 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"
 
 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"
 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"
 
 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"
 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"
 
 #. 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 ""
 #, 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"
 
 "%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 ""
 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."
 
 "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:"
 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."
 
 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."
 
 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"
 
 msgid "VERSION"
 msgstr "VERSION"
 
-#: convert-ly.py:91
+#: convert-ly.py:102
 msgid "start from VERSION [default: \\version found in file]"
 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"
 
 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"
 
 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"
 
 #, 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]"
 #, 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]"
 #, 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: "
 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"
 
 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"
 
 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'... "
 #, 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
 #, 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"
 
 #, 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"
 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"
 
 "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"
 
 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 ""
 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."
 
 "texinfo ou Docbook."
 
-#: lilypond-book.py:76
+#: lilypond-book.py:87
 msgid "BOOK"
 msgstr "LIVRE"
 
 msgid "BOOK"
 msgstr "LIVRE"
 
-#: lilypond-book.py:84
+#: lilypond-book.py:95
 #, python-format
 msgid "Exiting (%d)..."
 msgstr "Fin d'exécution (%d)..."
 
 #, 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"
 
 msgid "FILTER"
 msgstr "FILTRE"
 
-#: lilypond-book.py:128
+#: lilypond-book.py:130
 msgid "pipe snippets through FILTER [default: `convert-ly -n -']"
 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 ""
 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"
 
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: lilypond-book.py:140
+#: lilypond-book.py:142
 msgid "add DIR to include path"
 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"
 
 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"
 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"
 
 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 ""
 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)"
 
 "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"
 
 msgid "COMMAND"
 msgstr "COMMANDE"
 
-#: lilypond-book.py:189
+#: lilypond-book.py:192
 msgid "process ly_files using COMMAND FILE..."
 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..."
 
 msgid "Writing snippets..."
 msgstr "Écriture des extraits..."
 
-#: lilypond-book.py:1790
+#: lilypond-book.py:468
 msgid "Processing..."
 msgstr "Traitement..."
 
 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..."
 
 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"
 #, 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."
 #, 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'..."
 #, 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."
 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..."
 #, 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..."
 
 msgid "Dissecting..."
 msgstr "Dissection en cours..."
 
-#: lilypond-book.py:1953
+#: lilypond-book.py:602
 #, python-format
 msgid "Compiling %s..."
 #, 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"
 #, 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'"
 #, 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 : "
 
 msgid "warning: "
 msgstr "Avertissement : "
 
-#: midi2ly.py:87 midi2ly.py:907
+#: midi2ly.py:93 midi2ly.py:1124
 msgid "error: "
 msgstr "Erreur : "
 
 msgid "error: "
 msgstr "Erreur : "
 
-#: midi2ly.py:88
+#: midi2ly.py:94
 msgid "Exiting... "
 msgstr "Fin d'exécution... "
 
 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'..."
 #, 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"
 #, 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"
 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"
 
 msgid "DUR"
 msgstr "DUR"
 
-#: midi2ly.py:854
+#: midi2ly.py:1053
 msgid "quantise note durations on DUR"
 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"
 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"
 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]"
 
 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"
 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"
 
 msgid "DUR*NUM/DEN"
 msgstr "DUR*NUM/DEN"
 
-#: midi2ly.py:873
+#: midi2ly.py:1088
 msgid "allow tuplet durations DUR*NUM/DEN"
 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"
 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"
 
 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."
 
 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 ""
 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é"
 
 #, 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)"
 
 #, 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 ""
 #, 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"
 
 "impossible de traduire en durée LilyPond"
 
-#: musicxml2ly.py:868
+#: musicxml2ly.py:767
 msgid "Unable to extract key signature!"
 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!"
 #, 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"
 #, 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"
 #, 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"
 
 #, 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!
 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 ""
 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."
 
 "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"
 
 #, 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 ""
 #, 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"
 
 "L'ajouter à instrument_drumtype_dict"
 
-#: musicxml2ly.py:1853
+#: musicxml2ly.py:1820
 msgid "cannot find suitable event"
 msgstr "Aucun événement correspondant"
 
 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)"
 
 #, 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"
 #, 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"
 
 #, 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"
 
 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"
 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"
 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"
 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"
 #, 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..."
 
 #: 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"
 
 #: musicxml2ly.py:2564
 msgid "musicxml2ly [OPTION]... FILE.xml"
-msgstr "musicxml2ly [options]... FICHIER.xml"
+msgstr "musicxml2ly [OPTION]... FICHIER.xml"
 
 #: musicxml2ly.py:2566
 msgid ""
 
 #: 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"
 "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 ""
 
 #: 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 ""
 "    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"
 "    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"
 
 "    Reinhold Kainhofer <reinhold@kainhofer.com>\n"
 
-#: musicxml2ly.py:2601
+#: musicxml2ly.py:2602
 msgid "use lxml.etree; uses less memory and cpu time"
 msgstr ""
 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."
 
 "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é"
 
 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)"
 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"
 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"
 
 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 ""
 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 ""
 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 ""
 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 -"
 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"
 #, 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"
 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 ""
 #, 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"
 
 "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..."
 
 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 ..."
 #, 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'"
 #, 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"
 #, 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"
 #, 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"
 #, 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'"
 #, 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'"
 #, 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"
 #, 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"
 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 ""
 #, 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é"
 
 #, 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"
 
 #, 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"
 
 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'"
 #, 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"
 
 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"
 #, 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"
 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"
 
 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"
 
 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"
 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"
 #, 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"
 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"
 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"
 
 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"
 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"
 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 ""
 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'"
 #, 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.
 
 #. 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"
 
 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 ();
 #.
 #. 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"
 #, 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
 
 #. 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"
 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"
 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"
 #, 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'"
 #, 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"
 
 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"
 #, 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"
 
 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"
 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'"
 #, 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'"
 #, 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
 #, 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
 #, 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"
 #, 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
 #, 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"
 #, 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"
 #, 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
 #, 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"
 #, 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
 #, 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..."
 
 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é"
 
 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"
 
 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..."
 
 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"
 #, 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)"
 
 #, 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
 #, 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"
 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)
 
 #. (pitch == prev_pitch)
-#: gregorian-ligature-engraver.cc:225
+#: gregorian-ligature-engraver.cc:236
 msgid "cannot apply `\\~' on heads with identical pitch"
 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'"
 #, 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'"
 #, 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"
 #, c-format
 msgid "%d: %s"
-msgstr "%d : %s"
+msgstr "%d : %s"
 
 
-#: grob-property.cc:173
+#: grob.cc:488
 #, c-format
 #, 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"
 
 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"
 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"
 
 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"
 
 msgid "removing unterminated hyphen"
 msgstr "retrait du trait d'union sans suite"
 
-#: hyphen-engraver.cc:107
+#: hyphen-engraver.cc:118
 msgid "unterminated hyphen; removing"
 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'"
 #, 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')"
 #, 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"
 
 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"
 #, 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"
 
 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"
 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"
 
 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"
 
 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"
 
 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"
 
 msgid "unterminated ligature"
 msgstr "ligature non terminée"
 
-#: ligature-engraver.cc:202
+#: ligature-engraver.cc:216
 msgid "ignoring rest: ligature may not contain rest"
 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"
 
 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')"
 #, 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)."
 #, 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"
 
 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 ""
 #, 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"
 
 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'"
 #, 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
 #, 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
 #, 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
 #, 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'"
 #, 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'"
 #, 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..."
 
 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'"
 #, 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"
 #, 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 ""
 "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"
 "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"
 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"
 "\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 ""
 "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"
 "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"
 "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"
 
 "Boston, MA 02111-1307, USA.\n"
 
-#: main.cc:134
+#: main.cc:148
 msgid "SYM[=VAL]"
 msgstr "SYM[=VAL]"
 
 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 ""
 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."
 
 "Utiliser -dhelp pour avoir de l'aide."
 
-#: main.cc:138
+#: main.cc:153
 msgid "EXPR"
 msgstr "EXPR"
 
 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.
 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"
 
 msgid "FORMATs"
 msgstr "FORMATs"
 
-#: main.cc:141
+#: main.cc:156
 msgid "dump FORMAT,...  Also as separate options:"
 msgstr ""
 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)"
 
 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"
 
 msgid "generate PNG"
 msgstr "générer le PNG"
 
-#: main.cc:144
+#: main.cc:159
 msgid "generate PostScript"
 msgstr "générer le PostScript"
 
 msgid "generate PostScript"
 msgstr "générer le PostScript"
 
-#: main.cc:146
+#: main.cc:162
 msgid "FIELD"
 msgstr "CHAMP"
 
 msgid "FIELD"
 msgstr "CHAMP"
 
-#: main.cc:146
+#: main.cc:162
 msgid ""
 "dump header field FIELD to file\n"
 "named BASENAME.FIELD"
 msgstr ""
 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"
 
 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"
 
 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"
 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"
 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"
 
 "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)"
 
 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"
 
 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"
 #, 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.
 "%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..."
 #, 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"
 
 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"
 
 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"
 
 #, 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:"
 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"
 
 #, 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"
 #, 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 ""
 #, 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"
 #, 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 ""
 #, 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"
 #, 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"
 #, 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"
 #, 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"
 #, 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"
 #, c-format
 msgid "exception caught: %s"
-msgstr "exception capturée : %s"
+msgstr "exception capturée : %s"
 
 #. FIXME: constant error message.
 
 #. FIXME: constant error message.
-#: mark-engraver.cc:129
+#: mark-engraver.cc:156
 msgid "rehearsalMark must have integer value"
 msgstr "rehearsalMark doit être un entier"
 
 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"
 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"
 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"
 
 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"
 
 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"
 
 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"
 
 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"
 
 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"
 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"
 
 "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"
 
 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'"
 #, 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"
 #, 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'"
 #, 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..."
 
 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..."
 
 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\""
 #, 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
 #, 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"
 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"
 
 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"
 
 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."
 
 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"
 
 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"
 #, 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"
 
 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"
 
 #, 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"
 #, 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
 #, 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"
 #, 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"
 #, 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"
 #, 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"
 #, 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
 
 #. 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..."
 
 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..."
 
 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..."
 
 #, 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..."
 #, 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..."
 
 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"
 #, 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 ""
 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."
 
 "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)..."
 
 #, 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"
 
 #, 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"
 #, 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"
 #, 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"
 #, 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"
 #, 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 ""
 #, 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'"
 #, 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"
 
 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 ""
 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."
 
 "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'..."
 #, 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)"
 
 #, 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..."
 
 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"
 
 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"
 
 msgid "unterminated percent repeat"
 msgstr "répétition en pourcent non terminée"
 
-#: performance.cc:43
+#: performance.cc:54
 msgid "Track..."
 msgstr "Piste..."
 
 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'..."
 #, 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"
 #, 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'"
 #, 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'"
 #, 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"
 #, 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'"
 #, 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: "
 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"
 
 #, 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"
 #, 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"
 #, 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"
 #, 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"
 #, 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"
 #, 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"
 #, 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
 #, 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
 #, 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"
 #, c-format
 msgid ""
 "Relocation: from PATH=%s\n"
-"argv0=%s"
+"argv0=%s\n"
 msgstr ""
 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"
 
 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"
 #, 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"
 #, 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"
 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"
 
 msgid "too many colliding rests"
 msgstr "trop de silences se chevauchent"
 
-#: rest.cc:148
+#: rest.cc:240
 #, c-format
 msgid "rest `%s' not found"
 #, 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'"
 #, 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."
 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'"
 #, 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"
 
 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"
 
 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"
 
 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:
 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"
 #, 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
 #, c-format
-msgid "Ignoring grob for slur: %s. avoid-slur not set?"
+msgid "Ignoring grob for slur: %s.  avoid-slur not set?"
 msgstr ""
 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"
 
 #, 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"
 
 msgid "tremolo duration is too long"
 msgstr "durée du tremolo trop longue"
 
-#. FIXME:
-#: stem-engraver.cc:129
+#: stem-engraver.cc:162
 #, c-format
 #, 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"
 
 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"
 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
 #, 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
 #, 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
 #, 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
 #, 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"
 
 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"
 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"
 
 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"
 
 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.
 #.
 #.
 #. 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"
 #, 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!)
 
 #. 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"
 #, 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'"
 #, 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
 #, 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'"
 #, 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"
 
 #, 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"
 
 #, 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"
 
 msgid "No tuplet to end"
 msgstr "Aucun n-olet à terminer"
 
-#: vaticana-ligature-engraver.cc:389
+#: vaticana-ligature-engraver.cc:400
 #, c-format
 #, 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 ""
 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é"
 
 "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"
 #, 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"
 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"
 
 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.
 
 #. fixme: be more verbose.
-#: volta-engraver.cc:100
+#: volta-engraver.cc:110
 msgid "cannot end volta spanner"
 msgstr "extension de reprise sans terminaison"
 
 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"
 
 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"
 
 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"
 
 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"
 
 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"
 
 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"
 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"
 
 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"
 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"
 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"
 
 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"
 
 msgid "Skipping UTF-8 BOM"
 msgstr "Escamotage d'UTF-8 BOM"
 
-#: lexer.ll:238
+#: lexer.ll:279
 #, c-format
 msgid "Renaming input to: `%s'"
 #, 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"
 
 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"
 
 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"
 
 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"
 
 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'"
 #, 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"
 
 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
 #, 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'"
 #, 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 ""
 #, 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"
 
 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)"
 #, 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'..."
 #, scheme-format
 msgid "Invoking `~a'..."
-msgstr "Appel de « ~a »..."
+msgstr "Appel de « ~a »..."
 
 
-#: backend-library.scm:28
+#: backend-library.scm:31
 #, scheme-format
 #, 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
 #, 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.
 
 #. 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..."
 #, 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'..."
 #, 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"
 #, 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
 #, 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
 #, 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?"
 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"
 #, 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"
 #, 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"
 #, 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"
 #, 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'"
 #, 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"
 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"
 
 #, 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"
 #, 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"
 #, 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..."
 #, 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..."
 #, 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)"
 #, 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"
 #, 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..."
 #, 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"
 #, 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"
 #, 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"
 
 #, 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"
 
 #, 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"
 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"
 "\n"
 "  lilypond -dbackend=eps FILE\n"
 "\n"
@@ -2851,196 +3802,347 @@ msgstr ""
 "\n"
 "  lilypond -dbackend=eps FICHIER\n"
 "\n"
 "\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"
 "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'..."
 #, 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."
 #, 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."
 #, 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"
 #, 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 ""
 #, 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"
 #, 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"
 #, 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 ""
 #, scheme-format
 msgid ""
 "logfile ~a (exit ~a):\n"
 "~a"
 msgstr ""
-"fichier journal ~a (sortie ~a) :\n"
+"fichier journal « ~a » (sortie ~a) :\n"
 "~a"
 
 "~a"
 
-#: lily.scm:653 lily.scm:751
+#: lily.scm:965 lily.scm:1054
 #, scheme-format
 msgid "failed files: ~S"
 #, 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..."
 #, 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"
 #, 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"
 #, 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."
 #, 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"
 #, 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."
 
 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"
 #, 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
 #, 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"
 
 #, 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
 #, 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
 #, 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"
 #, 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
 #, 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"
 #, 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"
 
 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 {}"
 
 #, 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"
 #, 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
 
 #. 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 { ... }"
 
 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'"
 #, 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"
 #, 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"
 
 #, 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"
 #, 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"