]> git.donarmstrong.com Git - lilypond.git/blobdiff - po/fi.po
Doc-es: various updates.
[lilypond.git] / po / fi.po
index 37ba5ea3d33518635b8fbd3be7fa744308c5edd3..a83fbc483f128814e39d3dbd8e0b536b91daf27e 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
-# translation of fi.po to 
-# translation of fi.po to
 # Finnish Translation of lilypond.
 # Copyright (C) 2003 Han-Wen Nienhuys, Jan Nieuwenhuizen
 # This file is distributed under the same license as the lilypond package.
 # Finnish Translation of lilypond.
 # Copyright (C) 2003 Han-Wen Nienhuys, Jan Nieuwenhuizen
 # This file is distributed under the same license as the lilypond package.
-# First translator: Heikki Junes <hjunes@cc.hut.fi>, 2003-2005.
-#
 #
 #
+# Heikki Junes <hjunes@cc.hut.fi>, 2003-2006.
 msgid ""
 msgstr ""
 msgid ""
 msgstr ""
-"Project-Id-Version: fi\n"
+"Project-Id-Version: lilypond 2.6.0\n"
 "Report-Msgid-Bugs-To: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-08-12 10:19+0300\n"
-"PO-Revision-Date: 2005-08-12 10:47+0300\n"
-"Last-Translator: hjunes\n"
-"Language-Team:  <en@li.org>\n"
+"POT-Creation-Date: 2006-12-24 10:40+0100\n"
+"PO-Revision-Date: 2006-11-04 02:19+0200\n"
+"Last-Translator: Heikki Junes <hjunes@cc.hut.fi>\n"
+"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.9.1\n"
+"X-Generator: KBabel 1.11.2\n"
 
 
-#: convertrules.py:9
+#: convertrules.py:12
 #, python-format
 msgid "Not smart enough to convert %s"
 msgstr "Ei tarpeeksi fiksu konvertoidakseen %s"
 
 #, python-format
 msgid "Not smart enough to convert %s"
 msgstr "Ei tarpeeksi fiksu konvertoidakseen %s"
 
-#: convertrules.py:10
+#: convertrules.py:13
 msgid "Please refer to the manual for details, and update manually."
 msgstr "Ole hyvä ja katso ohjekirjasta yksityiskohdat, ja päivitä käsin."
 
 msgid "Please refer to the manual for details, and update manually."
 msgstr "Ole hyvä ja katso ohjekirjasta yksityiskohdat, ja päivitä käsin."
 
-#: convertrules.py:11
+#: convertrules.py:14
 #, python-format
 msgid "%s has been replaced by %s"
 msgstr "%s on korvattu %s:lla"
 
 #, python-format
 msgid "%s has been replaced by %s"
 msgstr "%s on korvattu %s:lla"
 
-#: convertrules.py:2400
+#: convertrules.py:2398
 msgid "LilyPond source must be UTF-8"
 msgstr "LilyPond lähdekoodin täytyy olla UTF-8 muodossa"
 
 msgid "LilyPond source must be UTF-8"
 msgstr "LilyPond lähdekoodin täytyy olla UTF-8 muodossa"
 
-#: convertrules.py:2403
+#: convertrules.py:2401
 msgid "Try the texstrings backend"
 msgstr "Koeta tex-merkkijonon käyttöä"
 
 msgid "Try the texstrings backend"
 msgstr "Koeta tex-merkkijonon käyttöä"
 
-#: convertrules.py:2406
+#: convertrules.py:2404
 #, python-format
 msgid "Do something like: %s"
 msgstr "Tee jotain tällaista: %s"
 
 #, python-format
 msgid "Do something like: %s"
 msgstr "Tee jotain tällaista: %s"
 
-#: convertrules.py:2409
+#: convertrules.py:2407
 msgid "Or save as UTF-8 in your editor"
 msgstr "Tai talleta UTF-8 -muodossa editorissasi"
 
 msgid "Or save as UTF-8 in your editor"
 msgstr "Tai talleta UTF-8 -muodossa editorissasi"
 
-#: convertrules.py:2584
-msgid "Applying conversion: "
-msgstr "Toteutetaan muunnos: "
-
-#: convertrules.py:2596
-msgid "error while converting"
-msgstr "virhe muunnettaessa"
-
-#: convertrules.py:2598 score-engraver.cc:75
-msgid "Aborting"
-msgstr "Keskeytetään"
-
-#: fontextract.py:25
+#: fontextract.py:26
 #, python-format
 msgid "Scanning %s"
 msgstr "Skannataan %s"
 
 #, python-format
 msgid "Scanning %s"
 msgstr "Skannataan %s"
 
-#: fontextract.py:70
+#: fontextract.py:71
 #, python-format
 msgid "Extracted %s"
 msgstr "Poimittiin %s"
 
 #, python-format
 msgid "Extracted %s"
 msgstr "Poimittiin %s"
 
-#: fontextract.py:85
+#: fontextract.py:86
 #, python-format
 msgid "Writing fonts to %s"
 msgstr "Kirjoitetaan fontit osoitteeseen `%s'"
 
 #, python-format
 msgid "Writing fonts to %s"
 msgstr "Kirjoitetaan fontit osoitteeseen `%s'"
 
-#: lilylib.py:66 midi2ly.py:135 mup2ly.py:108
-#, python-format
-msgid "Copyright (c) %s by"
-msgstr "Copyright (c) %s by"
-
-#: lilylib.py:70 midi2ly.py:140 mup2ly.py:113
-msgid "Distributed under terms of the GNU General Public License."
-msgstr "Levitettävissä ehdoilla GNU General Public License."
-
-#: lilylib.py:72 midi2ly.py:141 mup2ly.py:114
-msgid "It comes with NO WARRANTY."
-msgstr "Se toimitetaan ILMAN TAKUUTA."
-
-#: lilylib.py:79 warn.cc:44 input.cc:79
-#, c-format, python-format
-msgid "warning: %s"
-msgstr "varoitus: %s"
-
-#: lilylib.py:82 warn.cc:50 input.cc:85 input.cc:93
-#, c-format, python-format
-msgid "error: %s"
-msgstr "virhe: %s"
-
-#: lilylib.py:86
-#, python-format
-msgid "Exiting (%d)..."
-msgstr "Lopetetaan (%d)..."
-
-#: lilylib.py:154 midi2ly.py:222 mup2ly.py:197
-#, python-format
-msgid "Usage: %s [OPTIONS]... FILE"
-msgstr "Käyttö: %s [OPTIOT]... TIEDOSTO"
-
-#: lilylib.py:158 midi2ly.py:226 mup2ly.py:201 main.cc:242
-#, c-format
-msgid "Options:"
-msgstr "Optiot:"
-
-#: lilylib.py:162 midi2ly.py:230 mup2ly.py:205 main.cc:246
-#, c-format, python-format
-msgid "Report bugs to %s."
-msgstr "Raportoi virheet osoitteeseen %s."
-
-#: lilylib.py:182
-#, python-format
-msgid "Binary %s has version %s, looking for version %s"
-msgstr "Binääritiedosto %s on versiota %s, etsitään versiota %s"
-
-#: lilylib.py:216
-#, python-format
-msgid "Opening pipe `%s'"
-msgstr "Avataan putki `%s'"
-
-#: lilylib.py:231 lilypond-book.py:1215
-#, python-format
-msgid "`%s' failed (%d)"
-msgstr "`%s' epäonnistui (%d)"
-
-#: lilylib.py:236 lilylib.py:295 lilypond-book.py:1216
-msgid "The error log is as follows:"
-msgstr "Virheloki on seuraava:"
-
-#: lilylib.py:267 midi2ly.py:258 mup2ly.py:233
+#: lilylib.py:85 lilylib.py:136
 #, python-format
 msgid "Invoking `%s'"
 msgstr "Kutsutaan `%s'"
 
 #, python-format
 msgid "Invoking `%s'"
 msgstr "Kutsutaan `%s'"
 
-#: lilylib.py:269
+#: lilylib.py:87 lilylib.py:138
 #, python-format
 msgid "Running %s..."
 msgstr "Ajetaan %s..."
 
 #, python-format
 msgid "Running %s..."
 msgstr "Ajetaan %s..."
 
-#: lilylib.py:288
-#, python-format
-msgid "`%s' failed (%s)"
-msgstr "`%s' epäonnistui (%s)"
+#: lilylib.py:203
+#, fuzzy, python-format
+msgid "Usage: %s"
+msgstr "Käyttö: %s\n"
 
 
-#: lilylib.py:291 midi2ly.py:264 mup2ly.py:241
-msgid "(ignored)"
-msgstr "(sivuutetaan)"
+#: abc2ly.py:1349 convert-ly.py:80 lilypond-book.py:125 midi2ly.py:869
+#, fuzzy, python-format
+msgid "%s [OPTION]... FILE"
+msgstr "Käyttö: %s [OPTIO]... TIEDOSTO..."
 
 
-#: lilylib.py:309 midi2ly.py:274 mup2ly.py:251
-#, python-format
-msgid "Cleaning %s..."
-msgstr "Siivotaan pois %s..."
+#: abc2ly.py:1351
+#, fuzzy, python-format
+msgid ""
+"abc2ly converts ABC music files (see\n"
+"%s) to LilyPond input."
+msgstr ""
+"Tämä ohjelma kääntää ABC-musiikkitiedostoja (katso\n"
+"http://www.gre.ac.uk/~c.walshaw/abc2mtex/abc.txt) LilyPond-syötteeksi."
 
 
-#: lilylib.py:403
-#, python-format
-msgid "%s exited with status: %d"
-msgstr "%s lopetettiin tilassa %d"
+#: abc2ly.py:1355 etf2ly.py:1200 midi2ly.py:885
+msgid "write output to FILE"
+msgstr "tulosta tiedostoon TIEDOSTO"
+
+#: abc2ly.py:1357
+msgid "be strict about succes"
+msgstr "ole tarkka onnistumisesta"
+
+#: abc2ly.py:1359
+msgid "preserve ABC's notion of beams"
+msgstr "säilytä ABC:n palkkimerkinnät"
 
 
-#: convert-ly.py:38
+#: abc2ly.py:1361 convert-ly.py:112 etf2ly.py:1208 lilypond-book.py:168
+#: midi2ly.py:911 musicxml2ly.py:505
+#, fuzzy
+msgid "Report bugs via"
+msgstr "Raportoi virheet osoitteeseen %s"
+
+#: convert-ly.py:41
+#, fuzzy
 msgid ""
 "Update LilyPond input to newer version.  By default, update from the\n"
 msgid ""
 "Update LilyPond input to newer version.  By default, update from the\n"
-"version taken from the \\version command, to the current LilyPond version.\n"
-"\n"
-"Examples:\n"
-"\n"
-"  convert-ly -e old.ly\n"
-"  convert-ly --from=2.3.28 --to 2.5.21 foobar.ly\n"
+"version taken from the \\version command, to the current LilyPond version."
 msgstr ""
 "Päivitä LilyPond syöte uudempaan versioon.  Oletuksena päivittää\n"
 "versiosta joka on annettu \\version komennolla nykyiseksi LilyPond "
 msgstr ""
 "Päivitä LilyPond syöte uudempaan versioon.  Oletuksena päivittää\n"
 "versiosta joka on annettu \\version komennolla nykyiseksi LilyPond "
@@ -186,539 +123,518 @@ msgstr ""
 "  convert-ly -e old.ly\n"
 "  convert-ly --from=2.3.28 --to 2.5.21 foobar.ly\n"
 
 "  convert-ly -e old.ly\n"
 "  convert-ly --from=2.3.28 --to 2.5.21 foobar.ly\n"
 
-#: convert-ly.py:51
-msgid "edit in place"
-msgstr "editoi paikassaan"
+#: convert-ly.py:43 lilypond-book.py:73
+#, fuzzy
+msgid "Examples:"
+msgstr "esimerkki"
+
+#: convert-ly.py:56 lilypond-book.py:98 warn.cc:48 input.cc:90
+#, c-format, python-format
+msgid "warning: %s"
+msgstr "varoitus: %s"
+
+#: convert-ly.py:59 lilypond-book.py:101 warn.cc:54 input.cc:96 input.cc:104
+#, c-format, python-format
+msgid "error: %s"
+msgstr "virhe: %s"
 
 
-#: convert-ly.py:52 convert-ly.py:57
+#: convert-ly.py:75 etf2ly.py:1190 lilypond-book.py:121 midi2ly.py:98
+msgid "Distributed under terms of the GNU General Public License."
+msgstr "Levitettävissä ehdoilla GNU General Public License."
+
+#: convert-ly.py:76 etf2ly.py:1191 lilypond-book.py:122 midi2ly.py:99
+msgid "It comes with NO WARRANTY."
+msgstr "Se toimitetaan ILMAN TAKUUTA."
+
+#: convert-ly.py:86 convert-ly.py:106
 msgid "VERSION"
 msgstr "VERSIO"
 
 msgid "VERSION"
 msgstr "VERSIO"
 
-#: convert-ly.py:53
+#: convert-ly.py:88
 msgid "start from VERSION [default: \\version found in file]"
 msgstr "aloita versiosta VERSIO [oletus: \\version joka on tiedostossa]"
 
 msgid "start from VERSION [default: \\version found in file]"
 msgstr "aloita versiosta VERSIO [oletus: \\version joka on tiedostossa]"
 
-#: convert-ly.py:54 lilypond-book.py:91 midi2ly.py:99 mup2ly.py:75 main.cc:156
-msgid "print this help"
-msgstr "näytä tämä opaste"
+#: convert-ly.py:91
+msgid "edit in place"
+msgstr "editoi paikassaan"
 
 
-#: convert-ly.py:55
+#: convert-ly.py:94
 msgid "do not add \\version command if missing"
 msgstr "älä lisää \\version komentoa jos se puuttuu"
 
 msgid "do not add \\version command if missing"
 msgstr "älä lisää \\version komentoa jos se puuttuu"
 
-#: convert-ly.py:56
-msgid "print rules [default: --from=0, --to=@TOPLEVEL_VERSION@]"
+#: convert-ly.py:100
+#, fuzzy
+msgid "show rules [default: --from=0, --to=@TOPLEVEL_VERSION@]"
 msgstr "tulosta säännöt [oletus: --from=0, --to=@TOPLEVEL_VERSION@]"
 
 msgstr "tulosta säännöt [oletus: --from=0, --to=@TOPLEVEL_VERSION@]"
 
-#: convert-ly.py:57
+#: convert-ly.py:105
 msgid "convert to VERSION [default: @TOPLEVEL_VERSION@]"
 msgstr "muunnaa versioon VERSIO [oletus: @TOPLEVEL_VERSION@]"
 
 msgid "convert to VERSION [default: @TOPLEVEL_VERSION@]"
 msgstr "muunnaa versioon VERSIO [oletus: @TOPLEVEL_VERSION@]"
 
-#: convert-ly.py:58
-msgid "print program version\""
-msgstr "tulosta ohjelman versionumero\""
+#: convert-ly.py:153
+msgid "Applying conversion: "
+msgstr "Toteutetaan muunnos: "
 
 
-#: convert-ly.py:84
-#, python-format
-msgid "Processing `%s'... "
-msgstr "Prosessoidaan `%s'..."
+#: convert-ly.py:166
+#, fuzzy
+msgid "Error while converting"
+msgstr "virhe muunnettaessa"
+
+#: convert-ly.py:168
+msgid "Stopping at last succesful rule"
+msgstr ""
 
 
-#: convert-ly.py:155 lilypond-book.py:1510 midi2ly.py:1015
+#: convert-ly.py:190
 #, python-format
 #, python-format
-msgid "getopt says: `%s'"
-msgstr "getopt sanoo: `%s'"
+msgid "Processing `%s'... "
+msgstr "Prosessoidaan `%s'... "
 
 
-#: convert-ly.py:205 source-file.cc:55
+#: convert-ly.py:277 relocate.cc:360 source-file.cc:54
 #, c-format, python-format
 #, c-format, python-format
-msgid "can't open file: `%s'"
+msgid "cannot open file: `%s'"
 msgstr "tiedostoa ei voitu avata: `%s'"
 
 msgstr "tiedostoa ei voitu avata: `%s'"
 
-#: convert-ly.py:212
-#, python-format
-msgid "can't determine version for `%s'. Skipping"
+#: convert-ly.py:284
+#, fuzzy, python-format
+msgid "cannot determine version for `%s'.  Skipping"
 msgstr "ei voitu määrittää `%s':lle versiota. Sivuutetaan"
 
 msgstr "ei voitu määrittää `%s':lle versiota. Sivuutetaan"
 
-#: lilypond-book.py:73
+#: etf2ly.py:1196
+#, fuzzy, python-format
+msgid "%s [OPTION]... ETF-FILE"
+msgstr "Käyttö: %s [OPTIO]... TIEDOSTO..."
+
+#: etf2ly.py:1198
+#, fuzzy
 msgid ""
 msgid ""
-"Process LilyPond snippets in hybrid HTML, LaTeX, or texinfo document.\n"
-"Example usage:\n"
-"\n"
-"   lilypond-book --filter=\"tr '[a-z]' '[A-Z]'\" BOOK\n"
-"   lilypond-book --filter=\"convert-ly --no-version --from=2.0.0 -\" BOOK\n"
-"   lilypond-book --process='lilypond -I include' BOOK\n"
+"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."
 msgstr ""
 msgstr ""
-"Käsittele HTML, LaTeX, tai texinfo -documenttiin sisällytetyt LilyPond "
-"palaset.\n"
-"Käyttöesimerkkejä:\n"
-"\n"
-"   lilypond-book --filter=\"tr '[a-z]' '[A-Z]'\" BOOK\n"
-"   lilypond-book --filter=\"convert-ly --no-version --from=2.0.0 -\" BOOK\n"
-"   lilypond-book --process='lilypond-bin -I include' BOOK\n"
-"\n"
+"Enigma Transport Format on Coda Music Technology:n Finale-tuotteen\n"
+"tallennusmuoto. Tämä ohjelma muuntaa ETF-muodon osajoukon\n"
+"LilyPondilla käytettäväksi."
 
 
-#: lilypond-book.py:85
-msgid "FMT"
-msgstr "FMT"
+#: etf2ly.py:1201 midi2ly.py:886 musicxml2ly.py:498 main.cc:172 main.cc:178
+msgid "FILE"
+msgstr "TIEDOSTO"
+
+#: etf2ly.py:1203 lilypond-book.py:165 midi2ly.py:899 main.cc:185
+msgid "show warranty and copyright"
+msgstr "näytä takuu ja copyright"
 
 
-#: lilypond-book.py:86
+#: lilypond-book.py:71
 msgid ""
 msgid ""
-"use output format FMT (texi [default], texi-html,\n"
-"\t\tlatex, html)"
+"Process LilyPond snippets in hybrid HTML, LaTeX, texinfo or DocBook document."
 msgstr ""
 msgstr ""
-"tulostusmuotona käytetään formaattia FMT (texi [oletus], texi-html, latex, "
-"html)"
 
 
-#: lilypond-book.py:88
+#: lilypond-book.py:78
+msgid "BOOK"
+msgstr ""
+
+#: lilypond-book.py:87
+#, python-format
+msgid "Exiting (%d)..."
+msgstr "Lopetetaan (%d)..."
+
+#: lilypond-book.py:119
+#, python-format
+msgid "Copyright (c) %s by"
+msgstr "Copyright (c) %s by"
+
+#: lilypond-book.py:129
 msgid "FILTER"
 msgstr "FILTER"
 
 msgid "FILTER"
 msgstr "FILTER"
 
-#: lilypond-book.py:89
+#: lilypond-book.py:132
 msgid "pipe snippets through FILTER [convert-ly -n -]"
 msgstr "putkita palaset kohteen FILTER läpi [convert-ly -n -]"
 
 msgid "pipe snippets through FILTER [convert-ly -n -]"
 msgstr "putkita palaset kohteen FILTER läpi [convert-ly -n -]"
 
-#: lilypond-book.py:92 lilypond-book.py:94 main.cc:158
-msgid "DIR"
-msgstr "HAKEMISTO"
+#: lilypond-book.py:135
+msgid ""
+"use output format FORMAT (texi [default], texi-html, latex, html, docbook)"
+msgstr ""
+"käytä tulostusmuotona formaattia FMT (texi [oletus], texi-html, latex, html, "
+"docbook)"
 
 
-#: lilypond-book.py:93
+#: lilypond-book.py:138
 msgid "add DIR to include path"
 msgstr "lisää HAKEMISTO hakupolkuun"
 
 msgid "add DIR to include path"
 msgstr "lisää HAKEMISTO hakupolkuun"
 
-#: lilypond-book.py:95
+#: lilypond-book.py:139 lilypond-book.py:144 main.cc:171
+msgid "DIR"
+msgstr "HAKEMISTO"
+
+#: lilypond-book.py:143
 msgid "write output to DIR"
 msgstr "tulosta polkuun HAKEMISTO"
 
 msgid "write output to DIR"
 msgstr "tulosta polkuun HAKEMISTO"
 
-#: lilypond-book.py:96
+#: lilypond-book.py:147
 msgid "COMMAND"
 msgstr "KOMENTO"
 
 msgid "COMMAND"
 msgstr "KOMENTO"
 
-#: lilypond-book.py:97
+#: lilypond-book.py:148
 msgid "process ly_files using COMMAND FILE..."
 msgstr "prosessoi ly_tiedostot käyttäen komentoa COMMAND FILE..."
 
 msgid "process ly_files using COMMAND FILE..."
 msgstr "prosessoi ly_tiedostot käyttäen komentoa COMMAND FILE..."
 
-#: lilypond-book.py:99
+#: lilypond-book.py:154
+msgid "Create PDF files for use with PDFTeX"
+msgstr ""
+
+#: lilypond-book.py:157
 msgid ""
 "extract all PostScript fonts into INPUT.psfonts for LaTeX\n"
 msgid ""
 "extract all PostScript fonts into INPUT.psfonts for LaTeX\n"
-"\t must use this with dvips -h INPUT.psfonts"
+"must use this with dvips -h INPUT.psfonts"
 msgstr ""
 msgstr ""
-"avaa kaikki PostScript fontit tiedostoon INPUT.psfonts LaTeX:ia varten\n"
-"\t tätä täytyy käyttää dvips -h INPUT.psfonts :in kanssa"
+"poimi kaikki PostScript-fontit tiedostoon INPUT.psfonts LaTeX:ia varten\n"
+"tätä täytyy käyttää dvips -h INPUT.psfonts :in kanssa"
 
 
-#: lilypond-book.py:102 midi2ly.py:104 mup2ly.py:78 main.cc:169
+#: lilypond-book.py:160 midi2ly.py:896 musicxml2ly.py:489 main.cc:184
 msgid "be verbose"
 msgstr "tulosta runsaasti käsittelytietoa"
 
 msgid "be verbose"
 msgstr "tulosta runsaasti käsittelytietoa"
 
-#: lilypond-book.py:104
-msgid "print version information"
-msgstr "tulosta versioinformaatio"
-
-#: lilypond-book.py:106 midi2ly.py:106 mup2ly.py:80 main.cc:170
-msgid "show warranty and copyright"
-msgstr "näytä takuu ja copyright"
-
-#: lilypond-book.py:628
+#: lilypond-book.py:773
 #, python-format
 msgid "file not found: %s"
 msgstr "tiedostoa %s ei löydy"
 
 #, python-format
 msgid "file not found: %s"
 msgstr "tiedostoa %s ei löydy"
 
-#: lilypond-book.py:855
+#: lilypond-book.py:1004
 #, python-format
 msgid "deprecated ly-option used: %s=%s"
 msgstr "vanhentunut ly-optio käytössä: %s=%s"
 
 #, python-format
 msgid "deprecated ly-option used: %s=%s"
 msgstr "vanhentunut ly-optio käytössä: %s=%s"
 
-#: lilypond-book.py:858
+#: lilypond-book.py:1007
 #, python-format
 msgid "compatibility mode translation: %s=%s"
 msgstr "yhteensopivuusmuodon käännös: %s=%s"
 
 #, python-format
 msgid "compatibility mode translation: %s=%s"
 msgstr "yhteensopivuusmuodon käännös: %s=%s"
 
-#: lilypond-book.py:862
+#: lilypond-book.py:1011
 #, python-format
 msgid "deprecated ly-option used: %s"
 msgstr "vanhentunut ly-optio käytössä: %s"
 
 #, python-format
 msgid "deprecated ly-option used: %s"
 msgstr "vanhentunut ly-optio käytössä: %s"
 
-#: lilypond-book.py:865
+#: lilypond-book.py:1014
 #, python-format
 msgid "compatibility mode translation: %s"
 msgstr "yhteensopivuusmuodon käännös: %s"
 
 #, python-format
 msgid "compatibility mode translation: %s"
 msgstr "yhteensopivuusmuodon käännös: %s"
 
-#: lilypond-book.py:884
+#: lilypond-book.py:1033
 #, python-format
 msgid "ignoring unknown ly option: %s"
 msgstr "sivuutetaan tuntematon ly -optio: %s"
 
 #, python-format
 msgid "ignoring unknown ly option: %s"
 msgstr "sivuutetaan tuntematon ly -optio: %s"
 
-#: lilypond-book.py:1198
+#: lilypond-book.py:1388
 #, python-format
 msgid "Opening filter `%s'"
 msgstr "Avataan filtteri `%s'"
 
 #, python-format
 msgid "Opening filter `%s'"
 msgstr "Avataan filtteri `%s'"
 
-#: lilypond-book.py:1364
+#: lilypond-book.py:1405
+#, python-format
+msgid "`%s' failed (%d)"
+msgstr "`%s' epäonnistui (%d)"
+
+#: lilypond-book.py:1406
+msgid "The error log is as follows:"
+msgstr "Virheloki on seuraava:"
+
+#: lilypond-book.py:1476
+#, fuzzy
+msgid "cannot find \\begin{document} in LaTeX document"
+msgstr "Ei voitu löytää \\begin{document} LaTeX-documentista"
+
+#: lilypond-book.py:1586
 msgid "Writing snippets..."
 msgstr "Kirjoitetaan palasia..."
 
 msgid "Writing snippets..."
 msgstr "Kirjoitetaan palasia..."
 
-#: lilypond-book.py:1369
+#: lilypond-book.py:1591
 msgid "Processing..."
 msgstr "Prosessoidaan..."
 
 msgid "Processing..."
 msgstr "Prosessoidaan..."
 
-#: lilypond-book.py:1373
+#: lilypond-book.py:1595
 msgid "All snippets are up to date..."
 msgid "All snippets are up to date..."
-msgstr "Kaikki palaset on päivitetty"
+msgstr "Kaikki palaset on päivitetty..."
 
 
-#: lilypond-book.py:1383
+#: lilypond-book.py:1605
 #, python-format
 #, python-format
-msgid "can't determine format for: %s"
+msgid "cannot determine format for: %s"
 msgstr "ei löytynyt formaattia: %s"
 
 msgstr "ei löytynyt formaattia: %s"
 
-#: lilypond-book.py:1394
+#: lilypond-book.py:1616
 #, python-format
 msgid "%s is up to date."
 msgstr "%s on päivitetty."
 
 #, python-format
 msgid "%s is up to date."
 msgstr "%s on päivitetty."
 
-#: lilypond-book.py:1400 mup2ly.py:1280
+#: lilypond-book.py:1622
 #, python-format
 msgid "Writing `%s'..."
 msgstr "Kirjoitetaan `%s'..."
 
 #, python-format
 msgid "Writing `%s'..."
 msgstr "Kirjoitetaan `%s'..."
 
-#: lilypond-book.py:1442
+#: lilypond-book.py:1677
 msgid "Output would overwrite input file; use --output."
 msgstr "Tuloste kirjautuisi syötetiedoston päälle; käytä --output."
 
 msgid "Output would overwrite input file; use --output."
 msgstr "Tuloste kirjautuisi syötetiedoston päälle; käytä --output."
 
-#: lilypond-book.py:1446
+#: lilypond-book.py:1681
 #, python-format
 msgid "Reading %s..."
 msgstr "Luetaan %s..."
 
 #, python-format
 msgid "Reading %s..."
 msgstr "Luetaan %s..."
 
-#: lilypond-book.py:1465
+#: lilypond-book.py:1700
 msgid "Dissecting..."
 msgstr "Analysoidaan..."
 
 msgid "Dissecting..."
 msgstr "Analysoidaan..."
 
-#: lilypond-book.py:1474
+#: lilypond-book.py:1716
 #, python-format
 msgid "Compiling %s..."
 msgstr "Kootaan %s..."
 
 #, python-format
 msgid "Compiling %s..."
 msgstr "Kootaan %s..."
 
-#: lilypond-book.py:1483
+#: lilypond-book.py:1725
 #, python-format
 msgid "Processing include: %s"
 msgstr "Prosessoidaan sisällytetävä: %s"
 
 #, python-format
 msgid "Processing include: %s"
 msgstr "Prosessoidaan sisällytetävä: %s"
 
-#: lilypond-book.py:1497
+#: lilypond-book.py:1739
 #, python-format
 msgid "Removing `%s'"
 msgstr "Poistetaan `%s'"
 
 #, python-format
 msgid "Removing `%s'"
 msgstr "Poistetaan `%s'"
 
-#: lilypond-book.py:1592
+#: lilypond-book.py:1815
 #, python-format
 msgid "Writing fonts to %s..."
 msgstr "Kirjoitetaan fontteja hakemistoon %s..."
 
 #, python-format
 msgid "Writing fonts to %s..."
 msgstr "Kirjoitetaan fontteja hakemistoon %s..."
 
-#: lilypond-book.py:1604
+#: lilypond-book.py:1830
 msgid "option --psfonts not used"
 msgstr "optiota --psfonts=FILE ei käytetty"
 
 msgid "option --psfonts not used"
 msgstr "optiota --psfonts=FILE ei käytetty"
 
-#: lilypond-book.py:1605
+#: lilypond-book.py:1831
 msgid "processing with dvips will have no fonts"
 msgstr "prosessointi dvips:illä ei sisällä fontteja"
 
 msgid "processing with dvips will have no fonts"
 msgstr "prosessointi dvips:illä ei sisällä fontteja"
 
-#: lilypond-book.py:1611
+#: lilypond-book.py:1834
 msgid "DVIPS usage:"
 msgstr "DVIPS käyttö:"
 
 msgid "DVIPS usage:"
 msgstr "DVIPS käyttö:"
 
-#. temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
-#. original_dir = os.getcwd ()
-#. keep_temp_dir_p = 0
-#: midi2ly.py:93
-msgid "Convert MIDI to LilyPond source."
+#: midi2ly.py:106 lily-library.scm:624 lily-library.scm:632
+msgid "warning: "
+msgstr "varoitus: "
+
+#: midi2ly.py:109 midi2ly.py:924
+msgid "error: "
+msgstr "virhe: "
+
+#: midi2ly.py:110
+msgid "Exiting ... "
+msgstr "Lopettaa ... "
+
+#: midi2ly.py:857
+#, python-format
+msgid "%s output to `%s'..."
+msgstr "%s tulostetaan paikkaan `%s'..."
+
+#: midi2ly.py:871 musicxml2ly.py:485
+#, fuzzy, python-format
+msgid "Convert %s to LilyPond input."
 msgstr "Muunna MIDI LilyPond -muotoon."
 
 msgstr "Muunna MIDI LilyPond -muotoon."
 
-#: midi2ly.py:96
+#: midi2ly.py:875
 msgid "print absolute pitches"
 msgstr "tulosta tarkat äänenkorkeudet"
 
 msgid "print absolute pitches"
 msgstr "tulosta tarkat äänenkorkeudet"
 
-#: midi2ly.py:97 midi2ly.py:102
+#: midi2ly.py:877 midi2ly.py:889
 msgid "DUR"
 msgstr "PIT"
 
 msgid "DUR"
 msgstr "PIT"
 
-#: midi2ly.py:97
+#: midi2ly.py:878
 msgid "quantise note durations on DUR"
 msgstr "kvantisoi nuottipituuden PIT perusteella"
 
 # tulosta yksikäsitteiset nuottipituudet
 msgid "quantise note durations on DUR"
 msgstr "kvantisoi nuottipituuden PIT perusteella"
 
 # tulosta yksikäsitteiset nuottipituudet
-#: midi2ly.py:98
+#: midi2ly.py:881
 msgid "print explicit durations"
 msgstr "tulosta yksikäsitteiset nuottipituudet"
 
 msgid "print explicit durations"
 msgstr "tulosta yksikäsitteiset nuottipituudet"
 
-#: midi2ly.py:100
-msgid "ALT[:MINOR]"
-msgstr "ETUMERKIT[:MOLLI]"
-
-#: midi2ly.py:100
+#: midi2ly.py:882
 msgid "set key: ALT=+sharps|-flats; MINOR=1"
 msgstr "aseta sävellaji: ETUMERKIT=+ylennykset|-alennukset; MOLLI=1"
 
 msgid "set key: ALT=+sharps|-flats; MINOR=1"
 msgstr "aseta sävellaji: ETUMERKIT=+ylennykset|-alennukset; MOLLI=1"
 
-#: midi2ly.py:101 main.cc:159 main.cc:160
-msgid "FILE"
-msgstr "TIEDOSTO"
-
-#: midi2ly.py:101 mup2ly.py:76
-msgid "write output to FILE"
-msgstr "tulosta tiedostoon TIEDOSTO"
+#: midi2ly.py:883
+msgid "ALT[:MINOR]"
+msgstr "ETUMERKIT[:MOLLI]"
 
 
-#: midi2ly.py:102
+#: midi2ly.py:888
 msgid "quantise note starts on DUR"
 msgstr "nuottien kvantisointi alkukohtana PIT"
 
 msgid "quantise note starts on DUR"
 msgstr "nuottien kvantisointi alkukohtana PIT"
 
-#: midi2ly.py:103
+#: midi2ly.py:891
 msgid "DUR*NUM/DEN"
 msgstr "PIT*OSOITTAJA/NIMITTÄJÄ"
 
 # tuplet = Wertaufteilung nach: Peter Giger: Die Kunst des Rhythmus, Seite 25
 msgid "DUR*NUM/DEN"
 msgstr "PIT*OSOITTAJA/NIMITTÄJÄ"
 
 # tuplet = Wertaufteilung nach: Peter Giger: Die Kunst des Rhythmus, Seite 25
-#: midi2ly.py:103
+#: midi2ly.py:894
 msgid "allow tuplet durations DUR*NUM/DEN"
 msgstr "salli tupletti -pituudet PIT*OSOITTAJA/NIMITTÄJÄ"
 
 msgid "allow tuplet durations DUR*NUM/DEN"
 msgstr "salli tupletti -pituudet PIT*OSOITTAJA/NIMITTÄJÄ"
 
-#: midi2ly.py:105 mup2ly.py:79 main.cc:168
-msgid "print version number"
-msgstr "tulosta versionumero"
-
-#: midi2ly.py:107
+#: midi2ly.py:902
 msgid "treat every text as a lyric"
 msgstr "käsittele kaikki tekstit lyriikkana"
 
 msgid "treat every text as a lyric"
 msgstr "käsittele kaikki tekstit lyriikkana"
 
-#: midi2ly.py:148 mup2ly.py:121 lily-library.scm:449 lily-library.scm:457
-msgid "warning: "
-msgstr "varoitus: "
+#: midi2ly.py:905
+#, fuzzy
+msgid "Examples"
+msgstr "esimerkki"
 
 
-#: midi2ly.py:163 midi2ly.py:1015 midi2ly.py:1080 mup2ly.py:124 mup2ly.py:138
-msgid "error: "
-msgstr "virhe: "
-
-#: midi2ly.py:164 mup2ly.py:139
-msgid "Exiting ... "
-msgstr "Lopettaa ... "
-
-#: midi2ly.py:262 mup2ly.py:238
-#, python-format
-msgid "command exited with value %d"
-msgstr "komento lopetettiin tilassa %d"
-
-#: midi2ly.py:999
-#, python-format
-msgid "%s output to `%s'..."
-msgstr "%s tulostetaan paikkaan `%s'..."
-
-#: midi2ly.py:1030
-msgid "Example:"
-msgstr "Esimerkki:"
-
-#: midi2ly.py:1080
+#: midi2ly.py:925
 msgid "no files specified on command line."
 msgstr "tiedostoja ei annettu komentorivillä."
 
 msgid "no files specified on command line."
 msgstr "tiedostoja ei annettu komentorivillä."
 
-#: mup2ly.py:70
-msgid "Convert mup to LilyPond source."
-msgstr "Muunna mup LilyPond-muotoon."
-
-#: mup2ly.py:73
-msgid "debug"
-msgstr "testaa"
-
-#: mup2ly.py:74
-msgid "define macro NAME [optional expansion EXP]"
-msgstr "määritä makro NIMI [vaihtoehtoinen laajennus EXP]"
+#: musicxml2ly.py:473
+msgid "musicxml2ly FILE.xml"
+msgstr ""
 
 
-#: mup2ly.py:77
-msgid "only pre-process"
-msgstr "vain esiprosessointi"
+#: musicxml2ly.py:476
+#, fuzzy, python-format
+msgid ""
+"This program is free software.  It is covered by the GNU General Public\n"
+"License and you are welcome to change it and/or distribute copies of it\n"
+"under certain conditions.  Invoke as `%s --warranty' for more\n"
+"information."
+msgstr ""
+"Tämä on ilmaisohjelmisto. Siihen sovelletaan GNU General Public License\n"
+"ja olet tervetullut muuttamaan ohjelmaa ja/tai levittämään siitä kopioita\n"
+"tietyillä ehdoilla. Suorita `%s --warranty' saadaksesi lisäinformaatiota.\n"
 
 
-#: mup2ly.py:1036
-#, python-format
-msgid "no such context: %s"
-msgstr "kontekstia ei ole: %s"
+#: musicxml2ly.py:495
+msgid "Use lxml.etree; uses less memory and cpu time."
+msgstr ""
 
 
-#: mup2ly.py:1261
-#, python-format
-msgid "Processing `%s'..."
-msgstr "Prosessoidaan `%s'..."
+#: musicxml2ly.py:503
+msgid "set output filename to FILE"
+msgstr "tulosta tiedostoon TIEDOSTO"
 
 
-#: getopt-long.cc:143
+#: getopt-long.cc:140
 #, c-format
 msgid "option `%s' requires an argument"
 msgstr "optio `%s' vaatii argumentin"
 
 #, c-format
 msgid "option `%s' requires an argument"
 msgstr "optio `%s' vaatii argumentin"
 
-#: getopt-long.cc:147
-#, c-format
-msgid "option `%s' doesn't allow an argument"
+#: getopt-long.cc:144
+#, fuzzy, c-format
+msgid "option `%s' does not allow an argument"
 msgstr "optio `%s' ei salli argumenttia"
 
 msgstr "optio `%s' ei salli argumenttia"
 
-#: getopt-long.cc:151
+#: getopt-long.cc:148
 #, c-format
 msgid "unrecognized option: `%s'"
 msgstr "tunnistamaton optio: `%s'"
 
 #, c-format
 msgid "unrecognized option: `%s'"
 msgstr "tunnistamaton optio: `%s'"
 
-#: getopt-long.cc:158
+#: getopt-long.cc:154
 #, c-format
 msgid "invalid argument `%s' to option `%s'"
 msgstr "epäkelpo argumentti `%s' optiolle `%s'"
 
 #, c-format
 msgid "invalid argument `%s' to option `%s'"
 msgstr "epäkelpo argumentti `%s' optiolle `%s'"
 
-#: warn.cc:64 grob.cc:640
+#: warn.cc:68 grob.cc:559 input.cc:82
 #, c-format
 msgid "programming error: %s"
 msgstr "ohjelmointivirhe: %s"
 
 #, c-format
 msgid "programming error: %s"
 msgstr "ohjelmointivirhe: %s"
 
-#: warn.cc:65
+#: warn.cc:69 input.cc:83
 msgid "continuing, cross fingers"
 msgstr "jatketaan, ristitään kädet"
 
 msgid "continuing, cross fingers"
 msgstr "jatketaan, ristitään kädet"
 
-#.
-#. todo i18n.
-#.
-#: kpath.c:142
-#, c-format
-msgid "can't dlopen: %s: %s"
-msgstr "tiedostoa ei voitu avata: %s: %s"
-
-#: kpath.c:143
-#, c-format
-msgid "install package: %s or %s"
-msgstr "asenna paketti: %s tai %s"
-
-#: kpath.c:156
-#, c-format
-msgid "no such symbol: %s: %s"
-msgstr "ei löytynyt symbolia: %s: %s"
-
-#: kpath.c:179
-#, c-format
-msgid "error opening kpathsea library"
-msgstr "virhe avatessa kpathsea kirjastoa"
-
-#: kpath.c:180
-#, c-format
-msgid "aborting"
-msgstr "keskeytetään"
-
-#: accidental-engraver.cc:251
+#: accidental-engraver.cc:240
 #, c-format
 msgid "accidental typesetting list must begin with context-name: %s"
 msgstr "Korotusmerkkien ladontalista täytyy alkaa konteksti-nimellä: %s"
 
 #, c-format
 msgid "accidental typesetting list must begin with context-name: %s"
 msgstr "Korotusmerkkien ladontalista täytyy alkaa konteksti-nimellä: %s"
 
-#: accidental-engraver.cc:279
+#: accidental-engraver.cc:268
 #, c-format
 msgid "ignoring unknown accidental: %s"
 msgstr "sivutetaan tuntematan etumerkki: %s"
 
 #, c-format
 msgid "ignoring unknown accidental: %s"
 msgstr "sivutetaan tuntematan etumerkki: %s"
 
-#: accidental-engraver.cc:295
+#: accidental-engraver.cc:284
 #, c-format
 msgid "pair or context-name expected for accidental rule, found %s"
 msgstr "pari tai konteksti-nimi oletettiin korotusmerkkisäännölle, löytyi %s"
 
 #, c-format
 msgid "pair or context-name expected for accidental rule, found %s"
 msgstr "pari tai konteksti-nimi oletettiin korotusmerkkisäännölle, löytyi %s"
 
-#: accidental.cc:233 key-signature-interface.cc:128
+#: accidental.cc:243 key-signature-interface.cc:133
 #, c-format
 msgid "accidental `%s' not found"
 msgstr "korotusmerkkiä `%s' ei löydy"
 
 #, c-format
 msgid "accidental `%s' not found"
 msgstr "korotusmerkkiä `%s' ei löydy"
 
-#: afm.cc:142
-#, c-format
-msgid "parsing AFM file: `%s'"
-msgstr "jäsennetään AFM-tiedostoa: `%s'"
-
-#: align-interface.cc:124
+#: align-interface.cc:222
 msgid ""
 msgid ""
-"vertical alignment called before line-breaking. Only do cross-staff spanners "
-"with PianoStaff."
+"vertical alignment called before line-breaking.\n"
+"Only do cross-staff spanners with PianoStaff."
 msgstr ""
 msgstr ""
-"pystysyora sijoittelu kutsuttiin ennen rivinkatkaisua. Viivaston "
-"ylittävät ladokkeet tehdään vain PianoStaff:in yhteydessä"
+"pystysyora sijoittelu kutsuttiin ennen rivinkatkaisua.\n"
+"Viivaston ylittävät ladokkeet tehdään vain PianoStaff:in yhteydessä."
 
 
-#. FIXME: broken sentence
-#: all-font-metrics.cc:177
-#, c-format
-msgid "checksum mismatch for font file: `%s'"
-msgstr "virhesumma ei täsmää fonttitiedostolle: `%s'"
+#: align-interface.cc:329
+#, fuzzy
+msgid "tried to get a translation for something that is no child of mine"
+msgstr "yritettiin saada käännösteksti jollekin, joka ei ole lapseni"
 
 
-#: all-font-metrics.cc:179
+#: all-font-metrics.cc:173
 #, c-format
 #, c-format
-msgid "does not match: `%s'"
-msgstr "ei täsmää: `%s'"
-
-#: all-font-metrics.cc:185
-msgid "Rebuild all .afm files, and remove all .pk and .tfm files."
-msgstr "Uudista kaikki .afm -tiedosto, ja poista kaikki .pk ja .tfm -tiedostot."
-
-#: all-font-metrics.cc:187
-msgid "Rerun with -V to show font paths."
-msgstr "Aja uudelleen lisäten -V nähdäksesi fonttipolut."
-
-#: all-font-metrics.cc:189
-msgid "A script for removing font-files is delivered with the source-code:"
-msgstr "Skripti fonttitiedostojen poistamista varten toimitetaan lähdekoodin mukana:"
-
-#: all-font-metrics.cc:298
-#, c-format
-msgid "can't find font: `%s'"
+msgid "cannot find font: `%s'"
 msgstr "ei löytynyt fonttia: `%s'"
 
 msgstr "ei löytynyt fonttia: `%s'"
 
-#: all-font-metrics.cc:299
-msgid "loading default font"
-msgstr "ladataan oletusfontti"
-
-#: all-font-metrics.cc:314
-#, c-format
-msgid "can't find default font: `%s'"
-msgstr "ei löytynyt oletusfonttia: `%s'"
-
-#: all-font-metrics.cc:315 includable-lexer.cc:59 lily-parser-scheme.cc:95
-#, c-format
-msgid "(search path: `%s')"
-msgstr "(hakupolku: `%s')"
-
-#: all-font-metrics.cc:316 volta-engraver.cc:156
-msgid "giving up"
-msgstr "luovutetaan"
-
-#: apply-context-iterator.cc:33
+#: apply-context-iterator.cc:31
 msgid "\\applycontext argument is not a procedure"
 msgstr "\\applycontext vaatii funktioargumentin"
 
 msgid "\\applycontext argument is not a procedure"
 msgstr "\\applycontext vaatii funktioargumentin"
 
-#: auto-change-iterator.cc:61 change-iterator.cc:60
+#: auto-change-iterator.cc:63 change-iterator.cc:61
 #, c-format
 #, c-format
-msgid "can't change, already in translator: %s"
+msgid "cannot change, already in translator: %s"
 msgstr "ei voitu vaihtaa, oli jo tulkitsijassa: %s"
 
 msgstr "ei voitu vaihtaa, oli jo tulkitsijassa: %s"
 
-#: axis-group-engraver.cc:95
+#: axis-group-engraver.cc:78
 msgid "Axis_group_engraver: vertical group already has a parent"
 msgstr "Axis_group_engraver: vertikaaliryhmällä on jo vanhempi"
 
 msgid "Axis_group_engraver: vertical group already has a parent"
 msgstr "Axis_group_engraver: vertikaaliryhmällä on jo vanhempi"
 
-#: axis-group-engraver.cc:96
+#: axis-group-engraver.cc:79
 msgid "are there two Axis_group_engravers?"
 msgstr "onko käytössä kaksi Axis_group_engraver:ia?"
 
 msgid "are there two Axis_group_engravers?"
 msgstr "onko käytössä kaksi Axis_group_engraver:ia?"
 
-#: axis-group-engraver.cc:97
+#: axis-group-engraver.cc:80
 msgid "removing this vertical group"
 msgstr "poistetaan tämä vertikaaliryhmä"
 
 msgid "removing this vertical group"
 msgstr "poistetaan tämä vertikaaliryhmä"
 
-#: bar-check-iterator.cc:72
+#: axis-group-interface.cc:96
+msgid "tried to calculate pure-height at a non-breakpoint"
+msgstr "yritettiin laskea korkeus ei-katkaisukohdassa"
+
+#: axis-group-interface.cc:370
+msgid "an outside-staff object should have a direction, defaulting to up"
+msgstr ""
+
+#: axis-group-interface.cc:383
+#, c-format
+msgid "outside-staff object %s has an empty extent"
+msgstr ""
+
+#: bar-check-iterator.cc:73
 #, c-format
 msgid "barcheck failed at: %s"
 msgstr "tahtiviivan tarkistus epäonnistui kohdassa: %s"
 
 #, c-format
 msgid "barcheck failed at: %s"
 msgstr "tahtiviivan tarkistus epäonnistui kohdassa: %s"
 
-#: beam-engraver.cc:137
+#: beam-engraver.cc:128
 msgid "already have a beam"
 msgstr "palkki löytyi jo"
 
 msgid "already have a beam"
 msgstr "palkki löytyi jo"
 
-#: beam-engraver.cc:206
+#: beam-engraver.cc:196
 msgid "unterminated beam"
 msgstr "päättämätön palkki"
 
 msgid "unterminated beam"
 msgstr "päättämätön palkki"
 
-#: beam-engraver.cc:240 chord-tremolo-engraver.cc:164
+#: beam-engraver.cc:238 chord-tremolo-engraver.cc:134
 msgid "stem must have Rhythmic structure"
 msgstr "varrella on oltava Rhytmic -rakenne"
 
 msgid "stem must have Rhythmic structure"
 msgstr "varrella on oltava Rhytmic -rakenne"
 
-#: beam-engraver.cc:253
-msgid "stem doesn't fit in beam"
+#: beam-engraver.cc:246
+#, fuzzy
+msgid "stem does not fit in beam"
 msgstr "varsi ei sovi palkkiin"
 
 msgstr "varsi ei sovi palkkiin"
 
-#: beam-engraver.cc:254
+#: beam-engraver.cc:247
 msgid "beam was started here"
 msgstr "palkki aloitettiin täältä"
 
 msgid "beam was started here"
 msgstr "palkki aloitettiin täältä"
 
@@ -726,27 +642,27 @@ msgstr "palkki aloitettiin täältä"
 msgid "no feasible beam position"
 msgstr "ei löytynyt sopivaa palkin paikkaa"
 
 msgid "no feasible beam position"
 msgstr "ei löytynyt sopivaa palkin paikkaa"
 
-#: beam.cc:147
-msgid "removing beam with less than two stems"
-msgstr "poistetaan palkki jolla olisi vähemmän kuin kaksi pystyviivaa"
+#: beam.cc:144
+msgid "removing beam with no stems"
+msgstr "poistetaan palkki jolla ei ole parrua"
 
 
-#: beam.cc:972
+#: beam.cc:1007
 msgid "no viable initial configuration found: may not find good beam slope"
 msgstr "toimivaa alkuasettelua ei löytynyt: hyvää palkkikaltevuuta ei löytyne"
 
 msgid "no viable initial configuration found: may not find good beam slope"
 msgstr "toimivaa alkuasettelua ei löytynyt: hyvää palkkikaltevuuta ei löytyne"
 
-#: break-align-interface.cc:214
+#: break-alignment-interface.cc:208
 #, c-format
 msgid "No spacing entry from %s to `%s'"
 msgstr "Ei välistyksen syöttöä paikasta %s paikkaan `%s'"
 
 #, c-format
 msgid "No spacing entry from %s to `%s'"
 msgstr "Ei välistyksen syöttöä paikasta %s paikkaan `%s'"
 
-#: change-iterator.cc:22
+#: change-iterator.cc:23
 #, c-format
 #, c-format
-msgid "can't change `%s' to `%s'"
+msgid "cannot change `%s' to `%s'"
 msgstr "ei voitu vaihtaa `%s' tilalle `%s'"
 
 #. FIXME: constant error message.
 msgstr "ei voitu vaihtaa `%s' tilalle `%s'"
 
 #. FIXME: constant error message.
-#: change-iterator.cc:81
-msgid "can't find context to switch to"
+#: change-iterator.cc:82
+msgid "cannot find context to switch to"
 msgstr "ei löytynyt kontekstia johon vaihtaa"
 
 #. We could change the current translator's id, but that would make
 msgstr "ei löytynyt kontekstia johon vaihtaa"
 
 #. We could change the current translator's id, but that would make
@@ -754,340 +670,341 @@ msgstr "ei löytynyt kontekstia johon vaihtaa"
 #.
 #. last->translator_id_string () = get_change
 #. ()->change_to_id_string ();
 #.
 #. last->translator_id_string () = get_change
 #. ()->change_to_id_string ();
-#: change-iterator.cc:90
+#: change-iterator.cc:91
 #, c-format
 msgid "not changing to same context type: %s"
 msgstr "ei vaihdettu samaan konteksti tyyppiin: %s"
 
 #. FIXME: uncomprehensable message
 #, c-format
 msgid "not changing to same context type: %s"
 msgstr "ei vaihdettu samaan konteksti tyyppiin: %s"
 
 #. FIXME: uncomprehensable message
-#: change-iterator.cc:94
+#: change-iterator.cc:95
 msgid "none of these in my family"
 msgstr "ei yksikään näistä perheessäni"
 
 msgid "none of these in my family"
 msgstr "ei yksikään näistä perheessäni"
 
-#: chord-tremolo-engraver.cc:95
-#, c-format
-msgid "expect 2 elements for chord tremolo, found %d"
-msgstr "odotettiin 2 elementtiä sointutremololle, löytyi %d"
+#: chord-tremolo-engraver.cc:88
+msgid "No tremolo to end"
+msgstr "Ei löytynyt päätettävää tremoloa"
 
 
-#: chord-tremolo-engraver.cc:132
+#: chord-tremolo-engraver.cc:110
 msgid "unterminated chord tremolo"
 msgstr "päättämätön sointutremolo"
 
 msgid "unterminated chord tremolo"
 msgstr "päättämätön sointutremolo"
 
-#: chord-tremolo-iterator.cc:59
-msgid "no one to print a tremolos"
-msgstr "tremoloa ei voitu tulostaa"
+#: chord-tremolo-iterator.cc:33
+#, c-format
+msgid "expect 2 elements for chord tremolo, found %d"
+msgstr "odotettiin 2 elementtiä sointutremololle, löytyi %d"
 
 
-#: clef.cc:57
+#: clef.cc:54
 #, c-format
 msgid "clef `%s' not found"
 msgstr "avainta `%s' ei löydy"
 
 #, c-format
 msgid "clef `%s' not found"
 msgstr "avainta `%s' ei löydy"
 
-#: cluster.cc:115
+#: cluster.cc:110
 #, c-format
 msgid "unknown cluster style `%s'"
 msgstr "tuntematon klusterityyli: `%s'"
 
 #, c-format
 msgid "unknown cluster style `%s'"
 msgstr "tuntematon klusterityyli: `%s'"
 
-#: cluster.cc:141
+#: cluster.cc:135
 msgid "junking empty cluster"
 msgstr "heitetään pois tyhjä klusteri"
 
 msgid "junking empty cluster"
 msgstr "heitetään pois tyhjä klusteri"
 
-#: coherent-ligature-engraver.cc:86
-#, c-format
-msgid "gotcha: ptr=%ul"
-msgstr "löytyi: ptr=%ul"
-
-#: coherent-ligature-engraver.cc:95
-msgid "distance undefined, assuming 0.1"
-msgstr "etäisyys määrittämättä, oletetaan 0.1"
-
-#: coherent-ligature-engraver.cc:98
-#, c-format
-msgid "distance=%f"
-msgstr "etäisyys=%f"
-
-#: coherent-ligature-engraver.cc:138
+#: coherent-ligature-engraver.cc:100
 #, 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: asetetaan `spacing-increment=0.01': ptr=%ul"
+msgstr ""
+"Coherent_ligature_engraver: asetetaan `spacing-increment=0.01': ptr=%ul"
 
 
-#: context-def.cc:122
+#. if we get to here, just put everything on one line
+#: constrained-breaking.cc:176 constrained-breaking.cc:193
+#, fuzzy
+msgid "cannot find line breaking that satisfies constraints"
+msgstr "ei löytynyt rivinkatkaisukohtaa joka täyttäisi ehdot"
+
+#: context-def.cc:130
 #, c-format
 msgid "program has no such type: `%s'"
 msgstr "ohjelmalla ei ole tyyppiä: `%s'"
 
 #, c-format
 msgid "program has no such type: `%s'"
 msgstr "ohjelmalla ei ole tyyppiä: `%s'"
 
-#: context-def.cc:311
-#, c-format
-msgid "can't find: `%s'"
-msgstr "ei löytynyt `%s'"
-
-#: context-property.cc:109
+#: context-property.cc:76
 msgid "need symbol arguments for \\override and \\revert"
 msgstr "tarvitaan symboliargumentti funktioille \\override ja \\revert"
 
 msgid "need symbol arguments for \\override and \\revert"
 msgstr "tarvitaan symboliargumentti funktioille \\override ja \\revert"
 
-#: context.cc:160
+#: context.cc:151
 #, c-format
 #, c-format
-msgid "can't find or create new `%s'"
+msgid "cannot find or create new `%s'"
 msgstr "ei löydetty tai ei luotu uutta `%s'"
 
 msgstr "ei löydetty tai ei luotu uutta `%s'"
 
-#: context.cc:222
+#: context.cc:213
 #, c-format
 #, c-format
-msgid "can't find or create `%s' called `%s'"
+msgid "cannot find or create `%s' called `%s'"
 msgstr "ei löydetty tai ei luotu `%s' nimeltä `%s'"
 
 msgstr "ei löydetty tai ei luotu `%s' nimeltä `%s'"
 
-#: context.cc:319
+#: context.cc:276
+#, c-format
+msgid "Invalid CreateContext event: Cannot create %s context"
+msgstr "Epäkelpo CreateContext-tapahtuma: Ei voitu luoda %s-kontekstia"
+
+#: context.cc:388
 #, c-format
 #, c-format
-msgid "can't find or create: `%s'"
+msgid "cannot find or create: `%s'"
 msgstr "ei löydetty tai ei luotu: `%s'"
 
 msgstr "ei löydetty tai ei luotu: `%s'"
 
-#: custos.cc:83
+#: custos.cc:77
 #, c-format
 msgid "custos `%s' not found"
 msgstr "custos `%s' ei löytynyt"
 
 #, c-format
 msgid "custos `%s' not found"
 msgstr "custos `%s' ei löytynyt"
 
-#: dynamic-engraver.cc:179 span-dynamic-performer.cc:84
-msgid "can't find start of (de)crescendo"
+#: dispatcher.cc:71
+msgid "Event class should be a symbol"
+msgstr "Tapamahtumaluokan tulisi olla symboli"
+
+#: dispatcher.cc:78
+#, c-format
+msgid "Unknown event class %s"
+msgstr "Tuntematon tapahtumaluokka %s"
+
+#: dots.cc:38
+#, c-format
+msgid "dot `%s' not found"
+msgstr "pistettä `%s' ei löytynyt"
+
+#: dynamic-engraver.cc:186 span-dynamic-performer.cc:87
+msgid "cannot find start of (de)crescendo"
 msgstr "ei löytynyt alkua (de)crescendolle"
 
 msgstr "ei löytynyt alkua (de)crescendolle"
 
-#: dynamic-engraver.cc:188
+#: dynamic-engraver.cc:195
 msgid "already have a decrescendo"
 msgstr "decresendo jo käytössä"
 
 msgid "already have a decrescendo"
 msgstr "decresendo jo käytössä"
 
-#: dynamic-engraver.cc:190
+#: dynamic-engraver.cc:197
 msgid "already have a crescendo"
 msgstr "crescendo jo käytössä"
 
 msgid "already have a crescendo"
 msgstr "crescendo jo käytössä"
 
-#: dynamic-engraver.cc:193
+#: dynamic-engraver.cc:200
 msgid "cresc starts here"
 msgstr "cresc aloitettiin tästä"
 
 msgid "cresc starts here"
 msgstr "cresc aloitettiin tästä"
 
-#: dynamic-engraver.cc:313
+#: dynamic-engraver.cc:323
 msgid "unterminated (de)crescendo"
 msgstr "päättämätön (de)crescendo"
 
 msgid "unterminated (de)crescendo"
 msgstr "päättämätön (de)crescendo"
 
-#: event-chord-iterator.cc:52 output-property-music-iterator.cc:29
-#, c-format
-msgid "junking event: `%s'"
-msgstr "hylätään tapahtuma: `%s'"
-
-#: extender-engraver.cc:130 extender-engraver.cc:139
+#: extender-engraver.cc:131 extender-engraver.cc:140
 msgid "unterminated extender"
 msgstr "päättämätön pidennys"
 
 msgid "unterminated extender"
 msgstr "päättämätön pidennys"
 
-#: folded-repeat-iterator.cc:64
-msgid "no one to print a repeat brace"
-msgstr "kukaan ei voinut tulostaa toistoa"
-
-#: font-config.cc:25
+#: font-config.cc:28
 msgid "Initializing FontConfig..."
 msgstr "Alustetaan FontConfig..."
 
 msgid "Initializing FontConfig..."
 msgstr "Alustetaan FontConfig..."
 
-#: font-config.cc:28
-msgid "initializing FontConfig failed"
-msgstr "FontConfig:in alustaminen epäonnistui"
+#: font-config.cc:44
+#, c-format
+msgid "Rebuilding FontConfig cache %s, this may take a while..."
+msgstr ""
+"Käännetään uudelleen FontConfig-välimuisti %s. tämä voi kestää hetken..."
+
+#: font-config.cc:55
+#, c-format
+msgid "failed adding font directory: %s"
+msgstr "ei onnistuttu lisäämään fonttihakemistoa: %s"
 
 
-#: font-config.cc:49 font-config.cc:51
+#: font-config.cc:57
 #, c-format
 msgid "adding font directory: %s"
 msgstr "lisätään fonttihakemisto: %s"
 
 #, c-format
 msgid "adding font directory: %s"
 msgstr "lisätään fonttihakemisto: %s"
 
-#: general-scheme.cc:166
+#: general-scheme.cc:160
 msgid "infinity or NaN encountered while converting Real number"
 msgstr "ääretön tai NaN kohdattiin kun tehtiin reaalilukumuunnosta"
 
 msgid "infinity or NaN encountered while converting Real number"
 msgstr "ääretön tai NaN kohdattiin kun tehtiin reaalilukumuunnosta"
 
-#: general-scheme.cc:167
+#: general-scheme.cc:161
 msgid "setting to zero"
 msgstr "asetetaan nollaksi"
 
 msgid "setting to zero"
 msgstr "asetetaan nollaksi"
 
-#: glissando-engraver.cc:94
+#: glissando-engraver.cc:92
 msgid "unterminated glissando"
 msgstr "päättämätön glissando"
 
 msgid "unterminated glissando"
 msgstr "päättämätön glissando"
 
-#: global-context-scheme.cc:49 global-context-scheme.cc:76
+#: global-context-scheme.cc:91 global-context-scheme.cc:107
 msgid "no music found in score"
 msgstr "Laita musiikkia viivastolle"
 
 msgid "no music found in score"
 msgstr "Laita musiikkia viivastolle"
 
-#: global-context-scheme.cc:66
+#: global-context-scheme.cc:97
 msgid "Interpreting music... "
 msgid "Interpreting music... "
-msgstr "Tulkitaan musiikkia..."
+msgstr "Tulkitaan musiikkia... "
 
 
-#: global-context-scheme.cc:87
+#: global-context-scheme.cc:120
 #, c-format
 msgid "elapsed time: %.2f seconds"
 msgstr "kulunut aika: %.2f sekuntia"
 
 #, c-format
 msgid "elapsed time: %.2f seconds"
 msgstr "kulunut aika: %.2f sekuntia"
 
-#: global-context.cc:159
-#, c-format
-msgid "can't find `%s' context"
-msgstr "ei löytynyt kontekstia `%s'"
-
-#: gourlay-breaking.cc:199
-#, c-format
-msgid "Optimal demerits: %f"
-msgstr "Optimaalinen heikennys: %f"
-
-#: gourlay-breaking.cc:204
-msgid "no feasible line breaking found"
-msgstr "Ei löytynyt sopivaa viivan katkaisukohtaa"
-
-#: gourlay-breaking.cc:212
-msgid "can't find line breaking that satisfies constraints"
-msgstr "ei löytynyt sopivaa rivin katkaisukohtaa joka täyttäisi ehdot"
-
-#: gregorian-ligature-engraver.cc:60
+#: gregorian-ligature-engraver.cc:59
 #, c-format
 msgid "\\%s ignored"
 msgstr "\\%s sivuutettiin"
 
 #, c-format
 msgid "\\%s ignored"
 msgstr "\\%s sivuutettiin"
 
-#: gregorian-ligature-engraver.cc:65
+#: gregorian-ligature-engraver.cc:64
 #, c-format
 msgid "implied \\%s added"
 msgstr "lisättiin vihjattu \\%s"
 
 #, c-format
 msgid "implied \\%s added"
 msgstr "lisättiin vihjattu \\%s"
 
-#: gregorian-ligature-engraver.cc:214
-msgid "can't apply `\\~' on first head of ligature"
+#. ligature may not start with 2nd head of pes or flexa
+#: gregorian-ligature-engraver.cc:212
+msgid "cannot apply `\\~' on first head of ligature"
 msgstr "di voitu käyttää `\\~' ligaturen alkupäässä"
 
 msgstr "di voitu käyttää `\\~' ligaturen alkupäässä"
 
-#: gregorian-ligature-engraver.cc:228
-msgid "can't apply `\\~' on heads with identical pitch"
+#. (pitch == prev_pitch)
+#: gregorian-ligature-engraver.cc:224
+msgid "cannot apply `\\~' on heads with identical pitch"
 msgstr "ei voitu käyttää `\\~' identtisien nuotinkorkeuksien päissä"
 
 msgstr "ei voitu käyttää `\\~' identtisien nuotinkorkeuksien päissä"
 
-#: grob-interface.cc:46
+#: grob-interface.cc:57
 #, c-format
 msgid "Unknown interface `%s'"
 msgstr "Tuntematon rajapinta `%s'"
 
 #, c-format
 msgid "Unknown interface `%s'"
 msgstr "Tuntematon rajapinta `%s'"
 
-#: grob-interface.cc:57
+#: grob-interface.cc:68
 #, c-format
 msgid "Grob `%s' has no interface for property `%s'"
 msgstr "Ladokkeella `%s' ei ole rajapintaa ominaisuudella `%s'"
 
 #, c-format
 msgid "Grob `%s' has no interface for property `%s'"
 msgstr "Ladokkeella `%s' ei ole rajapintaa ominaisuudella `%s'"
 
-#: hairpin.cc:130
+#: grob.cc:253
+msgid "Infinity or NaN encountered"
+msgstr "ääretön tai NaN kohdattiin"
+
+#: hairpin.cc:183
 msgid "decrescendo too small"
 msgstr "liian lyhyt decrescendo"
 
 msgid "decrescendo too small"
 msgstr "liian lyhyt decrescendo"
 
-#: hairpin.cc:131
-msgid "crescendo too small"
-msgstr "liian lyhyt crescendo"
-
-#: horizontal-bracket-engraver.cc:57
-msgid "don't have that many brackets"
+#: horizontal-bracket-engraver.cc:59
+#, fuzzy
+msgid "do not have that many brackets"
 msgstr "ei ole käytössä niin monia sulkeita"
 
 msgstr "ei ole käytössä niin monia sulkeita"
 
-#: horizontal-bracket-engraver.cc:66
+#: horizontal-bracket-engraver.cc:68
 msgid "conflicting note group events"
 msgstr "ristiriitainen nuottiryhmä -tapaus"
 
 msgid "conflicting note group events"
 msgstr "ristiriitainen nuottiryhmä -tapaus"
 
-#: hyphen-engraver.cc:83
+#: hyphen-engraver.cc:93
 msgid "removing unterminated hyphen"
 msgstr "päättämätön tavuviiva"
 
 msgid "removing unterminated hyphen"
 msgstr "päättämätön tavuviiva"
 
-#: hyphen-engraver.cc:96
+#: hyphen-engraver.cc:107
 msgid "unterminated hyphen; removing"
 msgstr "päättämätön tavuviiva"
 
 msgid "unterminated hyphen; removing"
 msgstr "päättämätön tavuviiva"
 
-#: includable-lexer.cc:50
+#: includable-lexer.cc:53
 msgid "include files are not allowed in safe mode"
 msgstr "sisällytettävät tiedostot eivät ole sallittuja turvatilassa"
 
 msgid "include files are not allowed in safe mode"
 msgstr "sisällytettävät tiedostot eivät ole sallittuja turvatilassa"
 
-#: includable-lexer.cc:57 lily-guile.cc:94 lily-parser-scheme.cc:102
+#: includable-lexer.cc:60 lily-guile.cc:90 lily-parser-scheme.cc:116
 #, c-format
 #, c-format
-msgid "can't find file: `%s'"
+msgid "cannot find file: `%s'"
 msgstr "tiedostoa ei löydy: `%s'"
 
 msgstr "tiedostoa ei löydy: `%s'"
 
-#: input.cc:101 source-file.cc:144 source-file.cc:160
+#: includable-lexer.cc:62 lily-parser-scheme.cc:107
+#, c-format
+msgid "(search path: `%s')"
+msgstr "(hakupolku: `%s')"
+
+#: input.cc:112 source-file.cc:168 source-file.cc:183
 msgid "position unknown"
 msgid "position unknown"
-msgstr "sijainti tuntematon:"
+msgstr "sijainti tuntematon"
 
 
-#: ligature-engraver.cc:145
-msgid "can't find start of ligature"
+#: ligature-engraver.cc:93
+msgid "cannot find start of ligature"
 msgstr "ei löytynyt alkua ligature:lle"
 
 msgstr "ei löytynyt alkua ligature:lle"
 
-#: ligature-engraver.cc:151
+#: ligature-engraver.cc:98
 msgid "no right bound"
 msgstr "ei oikeata reunaa"
 
 msgid "no right bound"
 msgstr "ei oikeata reunaa"
 
-#: ligature-engraver.cc:175
+#: ligature-engraver.cc:120
 msgid "already have a ligature"
 msgstr "ligature löytyi jo"
 
 msgid "already have a ligature"
 msgstr "ligature löytyi jo"
 
-#: ligature-engraver.cc:191
+#: ligature-engraver.cc:129
 msgid "no left bound"
 msgstr "ei vasenta reunaa"
 
 msgid "no left bound"
 msgstr "ei vasenta reunaa"
 
-#: ligature-engraver.cc:237
+#: ligature-engraver.cc:173
 msgid "unterminated ligature"
 msgstr "päättämätön ligature"
 
 msgid "unterminated ligature"
 msgstr "päättämätön ligature"
 
-#: ligature-engraver.cc:267
+#: ligature-engraver.cc:202
 msgid "ignoring rest: ligature may not contain rest"
 msgstr "ligature ei voi sisältää taukoa; sivuutetaan tauko"
 
 msgid "ignoring rest: ligature may not contain rest"
 msgstr "ligature ei voi sisältää taukoa; sivuutetaan tauko"
 
-#: ligature-engraver.cc:268
+#: ligature-engraver.cc:203
 msgid "ligature was started here"
 msgstr "ligature alkoi tästä"
 
 msgid "ligature was started here"
 msgstr "ligature alkoi tästä"
 
-#: lily-guile.cc:96
+#: lily-guile.cc:92
 #, c-format
 msgid "(load path: `%s')"
 msgstr "(hakupolku: `%s')"
 
 #, c-format
 msgid "(load path: `%s')"
 msgstr "(hakupolku: `%s')"
 
-#: lily-guile.cc:446
+#: lily-guile.cc:518
 #, c-format
 #, c-format
-msgid "can't find property type-check for `%s' (%s)."
+msgid "cannot find property type-check for `%s' (%s)."
 msgstr "Ei löytynyt tyyppitarkistusta ominaisuudelle `%s' (%s)."
 
 msgstr "Ei löytynyt tyyppitarkistusta ominaisuudelle `%s' (%s)."
 
-#: lily-guile.cc:449
+#: lily-guile.cc:521
 msgid "perhaps a typing error?"
 msgstr "ehkä näppäilyvirhe?"
 
 msgid "perhaps a typing error?"
 msgstr "ehkä näppäilyvirhe?"
 
-#: lily-guile.cc:455
+#: lily-guile.cc:527
 msgid "doing assignment anyway"
 msgstr "suoritetaan tehtävä joka tapauksessa"
 
 msgid "doing assignment anyway"
 msgstr "suoritetaan tehtävä joka tapauksessa"
 
-#: lily-guile.cc:467
+#: lily-guile.cc:539
 #, c-format
 msgid "type check for `%s' failed; value `%s' must be of type `%s'"
 msgstr "tyypin `%s' tarkistus epäonnistui; arvon `%s' on oltava tyyppiä `%s'"
 
 #, c-format
 msgid "type check for `%s' failed; value `%s' must be of type `%s'"
 msgstr "tyypin `%s' tarkistus epäonnistui; arvon `%s' on oltava tyyppiä `%s'"
 
-#: lily-lexer.cc:228
+#: lily-lexer.cc:254
 #, c-format
 msgid "identifier name is a keyword: `%s'"
 msgstr "tunnistenimi on avainsana: `%s'"
 
 #, c-format
 msgid "identifier name is a keyword: `%s'"
 msgstr "tunnistenimi on avainsana: `%s'"
 
-#: lily-lexer.cc:243
+#: lily-lexer.cc:269
 #, c-format
 msgid "error at EOF: %s"
 msgstr "virhe tiedoston lopussa (EOF): %s"
 
 #, c-format
 msgid "error at EOF: %s"
 msgstr "virhe tiedoston lopussa (EOF): %s"
 
-#: lily-parser-scheme.cc:27
+#: lily-parser-scheme.cc:29
 #, c-format
 msgid "deprecated function called: %s"
 msgstr "vanhentunut funktiokutsu: %s"
 
 #, c-format
 msgid "deprecated function called: %s"
 msgstr "vanhentunut funktiokutsu: %s"
 
-#: lily-parser-scheme.cc:74
-#, c-format
-msgid "Changing working directory to `%s'"
+#: lily-parser-scheme.cc:88
+#, fuzzy, c-format
+msgid "Changing working directory to: `%s'"
 msgstr "Vaihdetaan työhakemistoksi `%s'"
 
 msgstr "Vaihdetaan työhakemistoksi `%s'"
 
-#: lily-parser-scheme.cc:94
+#: lily-parser-scheme.cc:106
 #, c-format
 #, c-format
-msgid "can't find init file: `%s'"
+msgid "cannot find init file: `%s'"
 msgstr "tiedostoa ei löydy: `%s'"
 
 msgstr "tiedostoa ei löydy: `%s'"
 
-#: lily-parser-scheme.cc:112
+#: lily-parser-scheme.cc:125
 #, c-format
 msgid "Processing `%s'"
 #, c-format
 msgid "Processing `%s'"
-msgstr "Prosessoidaan `%s'..."
+msgstr "Prosessoidaan `%s'"
 
 #: lily-parser.cc:99
 msgid "Parsing..."
 msgstr "Jäsennetään..."
 
 
 #: lily-parser.cc:99
 msgid "Parsing..."
 msgstr "Jäsennetään..."
 
-#: lily-parser.cc:128
-msgid "braces don't match"
+#: lily-parser.cc:127
+#, fuzzy
+msgid "braces do not match"
 msgstr "aaltosulkumerkit eivät täsmää"
 
 msgstr "aaltosulkumerkit eivät täsmää"
 
-#: main.cc:104
+#: lyric-combine-music-iterator.cc:291
+#, c-format
+msgid "cannot find Voice `%s'"
+msgstr "ei löydetty Voice `%s'"
+
+#: main.cc:116
 #, 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"
@@ -1099,7 +1016,7 @@ msgstr ""
 "ja olet tervetullut muuttamaan ohjelmaa ja/tai levittämään siitä kopioita\n"
 "tietyillä ehdoilla. Suorita `%s --warranty' saadaksesi lisäinformaatiota.\n"
 
 "ja olet tervetullut muuttamaan ohjelmaa ja/tai levittämään siitä kopioita\n"
 "tietyillä ehdoilla. Suorita `%s --warranty' saadaksesi lisäinformaatiota.\n"
 
-#: main.cc:110
+#: main.cc:122
 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"
 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"
@@ -1110,7 +1027,7 @@ msgid ""
 "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n"
 "General Public License for more details.\n"
 "\n"
 "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n"
 "General Public License for more details.\n"
 "\n"
-"    You should have received a copy (refer to the file COPYING) of the\n"
+"    You should have received a copy of the\n"
 "GNU General Public License along with this program; if not, write to\n"
 "the Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n"
 "Boston, MA 02111-1307, USA.\n"
 "GNU General Public License along with this program; if not, write to\n"
 "the Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n"
 "Boston, MA 02111-1307, USA.\n"
@@ -1124,98 +1041,105 @@ msgstr ""
 "KAUPAKSIKÄYVYYDESTÄ tai SOPIVUUDESTA TIETTYYN TARKOITUKSEEN.  Lisätietoja\n"
 "voit katsoa lisenssistä GNU General Public Licence.\n"
 "\n"
 "KAUPAKSIKÄYVYYDESTÄ tai SOPIVUUDESTA TIETTYYN TARKOITUKSEEN.  Lisätietoja\n"
 "voit katsoa lisenssistä GNU General Public Licence.\n"
 "\n"
-"    Saat kopion (katso tiedosto COPYING) lisenssistä GNU General Public\n"
-"License ohjelman mukana; jos et saanut; kirjoita osoitteeseen\n"
+"    Olet saanut kopion lisenssistä GNU General Public License\n"
+"tämän ohjelman mukana; jos et saanut; kirjoita osoitteeseen\n"
 "Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n"
 "Boston, MA 02111-1307, USA.\n"
 
 "Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n"
 "Boston, MA 02111-1307, USA.\n"
 
-#: main.cc:141
+#: main.cc:153
 msgid "BACK"
 msgstr "PÄÄ"
 
 msgid "BACK"
 msgstr "PÄÄ"
 
-#: main.cc:141
+#: main.cc:153
+#, fuzzy
 msgid ""
 msgid ""
-"use backend BACK (gnome, ps [default],\n"
+"use backend BACK (eps, gnome, ps [default],\n"
 "scm, svg, tex, texstr)"
 msgstr ""
 "scm, svg, tex, texstr)"
 msgstr ""
-"käytä päänä PÄÄ (gnome, ps [default],\n"
-"scm, svg, tex, texstr)"
+"käytä päänä PÄÄ (gnome, ps, eps,\n"
+"scm, svg, tex, texstr)\n"
+"default: PS"
 
 
-#: main.cc:143
-msgid "SYM=VAL"
+#: main.cc:155
+#, fuzzy
+msgid "SYM[=VAL]"
 msgstr "SYM=VAL"
 
 msgstr "SYM=VAL"
 
-#: main.cc:144
+#: main.cc:156
+#, fuzzy
 msgid ""
 msgid ""
-"set a Scheme program option. Uses #t if VAL is not specified\n"
-"Try -dhelp for help."
+"set Scheme option SYM to VAL (default: #t)\n"
+"Use -dhelp for help."
 msgstr ""
 "aseta Scheme -ohjelman optio. Käyttää #t jos VAL ei ole määritelty\n"
 "Koeta -dhelp saadaksesi lisäapua."
 
 msgstr ""
 "aseta Scheme -ohjelman optio. Käyttää #t jos VAL ei ole määritelty\n"
 "Koeta -dhelp saadaksesi lisäapua."
 
-#: main.cc:147
+#: main.cc:159
 msgid "EXPR"
 msgstr "LAUSEKE"
 
 msgid "EXPR"
 msgstr "LAUSEKE"
 
-#: main.cc:147
+#: main.cc:159
 msgid "evaluate scheme code"
 msgstr "suorita scheme koodi"
 
 #. Bug in option parser: --output =foe is taken as an abbreviation
 #. for --output-format.
 msgid "evaluate scheme code"
 msgstr "suorita scheme koodi"
 
 #. Bug in option parser: --output =foe is taken as an abbreviation
 #. for --output-format.
-#: main.cc:150
+#: main.cc:162
 msgid "FORMATs"
 msgstr "FORMAATIT"
 
 msgid "FORMATs"
 msgstr "FORMAATIT"
 
-#: main.cc:150
+#: main.cc:162
 msgid "dump FORMAT,...  Also as separate options:"
 msgstr "vedosta FORMAATTI,...  Myös erilliset optiot:"
 
 msgid "dump FORMAT,...  Also as separate options:"
 msgstr "vedosta FORMAATTI,...  Myös erilliset optiot:"
 
-#: main.cc:151
+#: main.cc:163
 msgid "generate DVI (tex backend only)"
 msgstr "tuota DVI (vain käytettäessä tex -päätä)"
 
 msgid "generate DVI (tex backend only)"
 msgstr "tuota DVI (vain käytettäessä tex -päätä)"
 
-#: main.cc:152
+#: main.cc:164
 msgid "generate PDF (default)"
 msgstr "tuota PDF (oletus)"
 
 msgid "generate PDF (default)"
 msgstr "tuota PDF (oletus)"
 
-#: main.cc:153
+#: main.cc:165
 msgid "generate PNG"
 msgstr "tuota PNG"
 
 msgid "generate PNG"
 msgstr "tuota PNG"
 
-#: main.cc:154
+#: main.cc:166
 msgid "generate PostScript"
 msgstr "tuota PostScript"
 
 msgid "generate PostScript"
 msgstr "tuota PostScript"
 
-#: main.cc:155
+#: main.cc:167
 msgid "generate TeX (tex backend only)"
 msgstr "tuota TeX (vain käytettäessä tex -päätä)"
 
 msgid "generate TeX (tex backend only)"
 msgstr "tuota TeX (vain käytettäessä tex -päätä)"
 
-#: main.cc:157
+#: main.cc:168
+msgid "show this help and exit"
+msgstr ""
+
+#: main.cc:169
 msgid "FIELD"
 msgstr "KENTTÄ"
 
 msgid "FIELD"
 msgstr "KENTTÄ"
 
-#: main.cc:157
-msgid "dump a header field to file BASENAME.FIELD"
+#: main.cc:169
+#, fuzzy
+msgid ""
+"dump header field FIELD to file\n"
+"named BASENAME.FIELD"
 msgstr "kirjoita otsake tiedostoon PERUSNIMI.KENTTÄ"
 
 msgstr "kirjoita otsake tiedostoon PERUSNIMI.KENTTÄ"
 
-#: main.cc:158
+#: main.cc:171
 msgid "add DIR to search path"
 msgstr "lisää HAKEMISTO hakupolkuun"
 
 msgid "add DIR to search path"
 msgstr "lisää HAKEMISTO hakupolkuun"
 
-#: main.cc:159
+#: main.cc:172
 msgid "use FILE as init file"
 msgstr "käytä TIEDOSTO alustustiedostona"
 
 msgid "use FILE as init file"
 msgstr "käytä TIEDOSTO alustustiedostona"
 
-#: main.cc:160
-msgid "write output to FILE (suffix will be added)"
-msgstr "tulosta tiedostoon TIEDOSTO (pääte lisätään)"
-
-#: main.cc:162
+#: main.cc:174
 msgid "USER,GROUP,JAIL,DIR"
 msgstr "USER,GROUP,JAIL,DIR"
 
 msgid "USER,GROUP,JAIL,DIR"
 msgstr "USER,GROUP,JAIL,DIR"
 
-#: main.cc:162
+#: main.cc:174
 msgid ""
 "chroot to JAIL, become USER:GROUP\n"
 "and cd into DIR"
 msgid ""
 "chroot to JAIL, become USER:GROUP\n"
 "and cd into DIR"
@@ -1223,19 +1147,35 @@ msgstr ""
 "käytä chroot-hakemistona JAIL, ole USER:GROUP\n"
 "ja siirry hakemistoon DIR"
 
 "käytä chroot-hakemistona JAIL, ole USER:GROUP\n"
 "ja siirry hakemistoon DIR"
 
-#: main.cc:165
+#: main.cc:177
 msgid "do not generate printed output"
 msgstr "älä tuota tulostetta"
 
 msgid "do not generate printed output"
 msgstr "älä tuota tulostetta"
 
-#: main.cc:166
+#: main.cc:178
+msgid "write output to FILE (suffix will be added)"
+msgstr "tulosta tiedostoon TIEDOSTO (pääte lisätään)"
+
+#: main.cc:179
 msgid "generate a preview of the first system"
 msgstr "tee kuva ensimmäisestä kokonaisuudesta"
 
 msgid "generate a preview of the first system"
 msgstr "tee kuva ensimmäisestä kokonaisuudesta"
 
-#: main.cc:167
-msgid "run in safe mode"
-msgstr "aja turvamoodissa"
+#: main.cc:180
+msgid "relocate using directory of lilypond program"
+msgstr "paikallista käyttäen lilypond ohjelman hakemistoa"
+
+#: main.cc:181
+#, fuzzy
+msgid ""
+"disallow unsafe Scheme and PostScript\n"
+"operations"
+msgstr "älä salli turvattomia Scheme ja PostScript -operaatioita"
 
 
-#: main.cc:207
+#: main.cc:183
+#, fuzzy
+msgid "show version number and exit"
+msgstr "tulosta versionumero"
+
+#: main.cc:224
 #, c-format
 msgid ""
 "Copyright (c) %s by\n"
 #, c-format
 msgid ""
 "Copyright (c) %s by\n"
@@ -1245,125 +1185,125 @@ msgstr ""
 "%s  ja muut."
 
 #. No version number or newline here.  It confuses help2man.
 "%s  ja muut."
 
 #. No version number or newline here.  It confuses help2man.
-#: main.cc:234
+#: main.cc:251
 #, c-format
 msgid "Usage: %s [OPTION]... FILE..."
 msgstr "Käyttö: %s [OPTIO]... TIEDOSTO..."
 
 #, c-format
 msgid "Usage: %s [OPTION]... FILE..."
 msgstr "Käyttö: %s [OPTIO]... TIEDOSTO..."
 
-#: main.cc:236
+#: main.cc:253
 #, c-format
 msgid "Typeset music and/or produce MIDI from FILE."
 msgstr "Lado musiikki ja/tai tuota MIDI tiedostosta TIEDOSTO."
 
 #, c-format
 msgid "Typeset music and/or produce MIDI from FILE."
 msgstr "Lado musiikki ja/tai tuota MIDI tiedostosta TIEDOSTO."
 
-#: main.cc:238
+#: main.cc:255
 #, c-format
 msgid "LilyPond produces beautiful music notation."
 msgstr "LilyPond tuottaa kaunista musiikkinotaatiota."
 
 #, c-format
 msgid "LilyPond produces beautiful music notation."
 msgstr "LilyPond tuottaa kaunista musiikkinotaatiota."
 
-#: main.cc:240
+#: main.cc:257
 #, c-format
 msgid "For more information, see %s"
 #, c-format
 msgid "For more information, see %s"
-msgstr "Lisätietoja varten, katso %s."
-
-#: main.cc:281
-#, c-format
-msgid "no such file: %s"
-msgstr "tiedostoa ei löydy: `%s'"
+msgstr "Lisätietoja varten, katso %s"
 
 
-#: main.cc:295
+#: main.cc:259
 #, c-format
 #, c-format
-msgid "no such directory: %s"
-msgstr "hakemistoa ei löydy: `%s'"
+msgid "Options:"
+msgstr "Optiot:"
 
 
-#: main.cc:328
+#: main.cc:263
 #, c-format
 #, c-format
-msgid "argv0 relocation: argv0=%s, prefix=%s"
-msgstr "argv0 paikantaminen: argv=%s, prefix=%s"
+msgid "Report bugs via %s"
+msgstr "Raportoi virheet osoitteeseen %s"
 
 
-#: main.cc:443
+#: main.cc:309
 #, c-format
 #, c-format
-msgid "expected %d arguments with jail, found: %d"
-msgstr "odotettiin %d argumenttia jail:ille, löytyi: %d"
+msgid "expected %d arguments with jail, found: %u"
+msgstr "odotettiin %d argumenttia chroot-vankilalle, löytyi: %u"
 
 
-#: main.cc:457
+#: main.cc:323
 #, c-format
 msgid "no such user: %s"
 msgstr "käyttäjää ei löydy: `%s'"
 
 #, c-format
 msgid "no such user: %s"
 msgstr "käyttäjää ei löydy: `%s'"
 
-#: main.cc:459
+#: main.cc:325
 #, c-format
 #, c-format
-msgid "can't get user id from user name: %s: %s"
+msgid "cannot get user id from user name: %s: %s"
 msgstr "ei saatu käyttäjä-id:tä käyttäjänimestä: %s: %s"
 
 msgstr "ei saatu käyttäjä-id:tä käyttäjänimestä: %s: %s"
 
-#: main.cc:474
+#: main.cc:340
 #, c-format
 msgid "no such group: %s"
 msgstr "ryhmää ei ole: %s"
 
 #, c-format
 msgid "no such group: %s"
 msgstr "ryhmää ei ole: %s"
 
-#: main.cc:476
+#: main.cc:342
 #, c-format
 #, c-format
-msgid "can't get group id from group name: %s: %s"
+msgid "cannot get group id from group name: %s: %s"
 msgstr "ei voitu saada ryhmä -id:tä ryhmänimestä: %s: %s"
 
 msgstr "ei voitu saada ryhmä -id:tä ryhmänimestä: %s: %s"
 
-#: main.cc:484
+#: main.cc:350
 #, c-format
 #, c-format
-msgid "can't chroot to: %s: %s"
+msgid "cannot chroot to: %s: %s"
 msgstr "chroot ei onnistunut: %s: %s"
 
 msgstr "chroot ei onnistunut: %s: %s"
 
-#: main.cc:491
+#: main.cc:357
 #, c-format
 #, c-format
-msgid "can't change group id to: %d: %s"
+msgid "cannot change group id to: %d: %s"
 msgstr "ei voitu korvata ryhmän id:tä : %d: %s"
 
 msgstr "ei voitu korvata ryhmän id:tä : %d: %s"
 
-#: main.cc:497
+#: main.cc:363
 #, c-format
 #, c-format
-msgid "can't change user id to: %d: %s"
+msgid "cannot change user id to: %d: %s"
 msgstr "ei voitu vaihtaa käyttäjä-id:tä : %d: %s"
 
 msgstr "ei voitu vaihtaa käyttäjä-id:tä : %d: %s"
 
-#: main.cc:503
+#: main.cc:369
 #, c-format
 #, c-format
-msgid "can't change working directory to: %s: %s"
+msgid "cannot change working directory to: %s: %s"
 msgstr "työhakemiston vaihto ei onnistunut: %s: %s"
 
 msgstr "työhakemiston vaihto ei onnistunut: %s: %s"
 
-#: main.cc:553
+#: main.cc:415
 #, c-format
 msgid "Evaluating %s"
 msgstr "Määritetään %s"
 
 #, c-format
 msgid "Evaluating %s"
 msgstr "Määritetään %s"
 
+#: main.cc:645
+#, c-format
+msgid "exception caught: %s"
+msgstr "napattiin poikkeus: %s"
+
 #. FIXME: constant error message.
 #. FIXME: constant error message.
-#: mark-engraver.cc:123
+#: mark-engraver.cc:154
 msgid "rehearsalMark must have integer value"
 msgstr "rehearsalMark vaatii kokonaislukuargumentin"
 
 msgid "rehearsalMark must have integer value"
 msgstr "rehearsalMark vaatii kokonaislukuargumentin"
 
-#: mark-engraver.cc:129
+#: mark-engraver.cc:160
 msgid "mark label must be a markup object"
 msgstr "merkinnän on oltava markup -objekti"
 
 msgid "mark label must be a markup object"
 msgstr "merkinnän on oltava markup -objekti"
 
-#: mensural-ligature-engraver.cc:74
+#: mensural-ligature-engraver.cc:85
 msgid "ligature with less than 2 heads -> skipping"
 msgstr "ligatuuri vähemmällä kuin 2:lla nuottipäällä -> ohitetaan"
 
 msgid "ligature with less than 2 heads -> skipping"
 msgstr "ligatuuri vähemmällä kuin 2:lla nuottipäällä -> ohitetaan"
 
-#: mensural-ligature-engraver.cc:101
+#: mensural-ligature-engraver.cc:112
 msgid "cannot determine pitch of ligature primitive -> skipping"
 msgstr "ei voitu määrittää nuottikorkeutta ligatuurin osalle -> ohitetaan"
 
 msgid "cannot determine pitch of ligature primitive -> skipping"
 msgstr "ei voitu määrittää nuottikorkeutta ligatuurin osalle -> ohitetaan"
 
-#: mensural-ligature-engraver.cc:115
+#: mensural-ligature-engraver.cc:126
 msgid "single note ligature - skipping"
 msgstr "priimi-intervalli ligatuurissa -> ohitetaan"
 
 msgid "single note ligature - skipping"
 msgstr "priimi-intervalli ligatuurissa -> ohitetaan"
 
-#: mensural-ligature-engraver.cc:127
+#: mensural-ligature-engraver.cc:138
 msgid "prime interval within ligature -> skipping"
 msgstr "priimi-intervalli ligatuurissa -> ohitetaan"
 
 msgid "prime interval within ligature -> skipping"
 msgstr "priimi-intervalli ligatuurissa -> ohitetaan"
 
-#: mensural-ligature-engraver.cc:139
+#: mensural-ligature-engraver.cc:150
 msgid "mensural ligature: duration none of Mx, L, B, S -> skipping"
 msgstr "mensuraaliligatuuri: kesto ei ollut Mx, L, B tai S -> ohitetaan"
 
 msgid "mensural ligature: duration none of Mx, L, B, S -> skipping"
 msgstr "mensuraaliligatuuri: kesto ei ollut Mx, L, B tai S -> ohitetaan"
 
-#: mensural-ligature-engraver.cc:187
+#: mensural-ligature-engraver.cc:198
 msgid "semibrevis must be followed by another one -> skipping"
 msgstr "semibrevis vaatii samantyyppisen seuraavaksi -> ohitetaan"
 
 msgid "semibrevis must be followed by another one -> skipping"
 msgstr "semibrevis vaatii samantyyppisen seuraavaksi -> ohitetaan"
 
-#: mensural-ligature-engraver.cc:198
+#: mensural-ligature-engraver.cc:209
 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"
@@ -1371,7 +1311,7 @@ msgstr ""
 "semibreve:t voivat esiintyä vain ligaturen alussa,\n"
 "ja niitä voi olla vain nolla tai kaksi"
 
 "semibreve:t voivat esiintyä vain ligaturen alussa,\n"
 "ja niitä voi olla vain nolla tai kaksi"
 
-#: mensural-ligature-engraver.cc:225
+#: mensural-ligature-engraver.cc:236
 msgid ""
 "invalid ligatura ending:\n"
 "when the last note is a descending brevis,\n"
 msgid ""
 "invalid ligatura ending:\n"
 "when the last note is a descending brevis,\n"
@@ -1383,385 +1323,426 @@ msgstr ""
 "toiseksi viimeisen nuotin on oltava joku muu,\n"
 "tai ligaturan täytyy olla LB tai SSB"
 
 "toiseksi viimeisen nuotin on oltava joku muu,\n"
 "tai ligaturan täytyy olla LB tai SSB"
 
-#: mensural-ligature-engraver.cc:345
+#: mensural-ligature-engraver.cc:356
 msgid "unexpected case fall-through"
 msgstr "odottamaton tapauksen raukeaminen"
 
 msgid "unexpected case fall-through"
 msgstr "odottamaton tapauksen raukeaminen"
 
-#: mensural-ligature.cc:145
+#: mensural-ligature.cc:141
 msgid "Mensural_ligature: unexpected case fall-through"
 msgstr "Mensural_ligature: odottamaton tapauksen raukeaminen"
 
 msgid "Mensural_ligature: unexpected case fall-through"
 msgstr "Mensural_ligature: odottamaton tapauksen raukeaminen"
 
-#: mensural-ligature.cc:197
+#: mensural-ligature.cc:192
 msgid "Mensural_ligature: (join_right == 0)"
 msgstr "Mensural_ligature: (join_right == 0)"
 
 msgid "Mensural_ligature: (join_right == 0)"
 msgstr "Mensural_ligature: (join_right == 0)"
 
-#: midi-item.cc:150
+#: midi-item.cc:152
 #, c-format
 msgid "no such MIDI instrument: `%s'"
 msgstr "ei löytynyt MIDI-instrumenttia: `%s'"
 
 #, c-format
 msgid "no such MIDI instrument: `%s'"
 msgstr "ei löytynyt MIDI-instrumenttia: `%s'"
 
-#: midi-item.cc:254
-msgid "silly pitch"
-msgstr "sekava äänenkorkeus"
-
-#: midi-item.cc:270
+#: midi-item.cc:285
 #, c-format
 msgid "experimental: temporarily fine tuning (of %d cents) a channel."
 msgstr "kokeellinen: viritetään väliaisesti (%d senttiä) kanavaa."
 
 #, c-format
 msgid "experimental: temporarily fine tuning (of %d cents) a channel."
 msgstr "kokeellinen: viritetään väliaisesti (%d senttiä) kanavaa."
 
-#: midi-stream.cc:26
+#: midi-stream.cc:28
 #, c-format
 #, c-format
-msgid "can't open for write: %s: %s"
+msgid "cannot open for write: %s: %s"
 msgstr "tiedostoa ei voitu avata kirjoitettavaksi: %s: `%s'"
 
 msgstr "tiedostoa ei voitu avata kirjoitettavaksi: %s: `%s'"
 
-#: midi-stream.cc:43
+#: midi-stream.cc:44
 #, c-format
 #, c-format
-msgid "can't write to file: `%s'"
+msgid "cannot write to file: `%s'"
 msgstr "tiedostoon ei voitu kirjoittaa: `%s'"
 
 msgstr "tiedostoon ei voitu kirjoittaa: `%s'"
 
-#: music.cc:178
-#, c-format
-msgid "octave check failed; expected %s, found: %s"
-msgstr "oktaavitarkistus epäonnistui; oletettiin %s, löydettiin: %s"
+#: music-iterator.cc:171
+msgid "Sending non-event to context"
+msgstr "Lähetetään ei-tapahtuma kontekstille"
 
 
-#: music.cc:241
+#: music.cc:141
+#, fuzzy, c-format
+msgid "octave check failed; expected \"%s\", found: \"%s\""
+msgstr "oktaavitarkistus epäonnistui; oletettiin \"%s\", löydettiin: %s"
+
+#: music.cc:207
 #, c-format
 msgid "transposition by %s makes alteration larger than double"
 msgstr "transponointi %s:N verran tekee muutokset suuremmaksi kuin kaksi"
 
 #, c-format
 msgid "transposition by %s makes alteration larger than double"
 msgstr "transponointi %s:N verran tekee muutokset suuremmaksi kuin kaksi"
 
-#: new-fingering-engraver.cc:83
-msgid "can't add text scripts to individual note heads"
+#: new-fingering-engraver.cc:96
+msgid "cannot add text scripts to individual note heads"
 msgstr "ei voitu lisätä tekstinpätkiä yksittäisiin nuotteihin"
 
 msgstr "ei voitu lisätä tekstinpätkiä yksittäisiin nuotteihin"
 
-#.
-#. music for the softenon children?
-#.
-#: new-fingering-engraver.cc:154
-msgid "music for the martians."
-msgstr "musiikkia marsilaisille."
-
-#: new-fingering-engraver.cc:261
+#: new-fingering-engraver.cc:239
 msgid "no placement found for fingerings"
 msgstr "sormitukselle ei löytynyt paikkaa"
 
 msgid "no placement found for fingerings"
 msgstr "sormitukselle ei löytynyt paikkaa"
 
-#: new-fingering-engraver.cc:262
+#: new-fingering-engraver.cc:240
 msgid "placing below"
 msgstr "sijoitetaan alle"
 
 msgid "placing below"
 msgstr "sijoitetaan alle"
 
-#: new-lyric-combine-music-iterator.cc:241
-#, c-format
-msgid "cannot find Voice `%s'"
-msgstr "ei löydetty Voice `%s'"
-
-#: note-collision.cc:401
+#: note-collision.cc:457
 msgid "ignoring too many clashing note columns"
 msgstr "liian monta törmäävää nuottisaraketta"
 
 msgid "ignoring too many clashing note columns"
 msgstr "liian monta törmäävää nuottisaraketta"
 
-#: note-column.cc:121
-msgid "can't have note heads and rests together on a stem"
+#: note-column.cc:124
+msgid "cannot have note heads and rests together on a stem"
 msgstr "ei voinut olla nuotinpäitä ja taukoja yhtäaikaa palkissa"
 
 msgstr "ei voinut olla nuotinpäitä ja taukoja yhtäaikaa palkissa"
 
-#: note-head.cc:68
+#: note-head.cc:63
 #, c-format
 #, c-format
-msgid "note head `%s' not found"
-msgstr "nuottipäätä `%s' ei löytynyt"
+msgid "none of note heads `%s' or `%s' found"
+msgstr "yhtäkään nuottipäistä `%s' tai `%s' ei löytynyt"
 
 
-#: note-heads-engraver.cc:84
+#: note-heads-engraver.cc:61
 msgid "NoteEvent without pitch"
 msgstr "NoteEvent ilman nuottikorkeutta"
 
 msgid "NoteEvent without pitch"
 msgstr "NoteEvent ilman nuottikorkeutta"
 
-#: open-type-font.cc:29
+#: open-type-font.cc:33
 #, c-format
 #, c-format
-msgid "can't allocate %d bytes"
-msgstr "ei voitu varata %d bittiä"
+msgid "cannot allocate %lu bytes"
+msgstr "ei voitu varata %lu bittiä"
 
 
-#: open-type-font.cc:33
+#: open-type-font.cc:37
 #, c-format
 #, c-format
-msgid "can't load font table: %s"
+msgid "cannot load font table: %s"
 msgstr "ei voitu ladata fonttitaulukkoa: `%s'"
 
 msgstr "ei voitu ladata fonttitaulukkoa: `%s'"
 
-#: open-type-font.cc:106
+#: open-type-font.cc:98
 #, c-format
 msgid "unsupported font format: %s"
 msgstr "tukematon fonttimuoto: %s"
 
 #, c-format
 msgid "unsupported font format: %s"
 msgstr "tukematon fonttimuoto: %s"
 
-#: open-type-font.cc:108
+#: open-type-font.cc:100
 #, c-format
 msgid "unknown error: %d reading font file: %s"
 msgstr "tuntematon virhe: %d lukee fonttitiedostoa: %s"
 
 #, c-format
 msgid "unknown error: %d reading font file: %s"
 msgstr "tuntematon virhe: %d lukee fonttitiedostoa: %s"
 
-#: open-type-font.cc:180
+#: open-type-font.cc:173 open-type-font.cc:297
 #, c-format
 #, c-format
-msgid "FT_Get_Glyph_Name() returned error: %d"
-msgstr "FT_Get_Glyph_Name() palautti virheen: %d"
+msgid "FT_Get_Glyph_Name() returned error: %u"
+msgstr "FT_Get_Glyph_Name() palautti virheen: %u"
+
+#: page-turn-page-breaking.cc:205
+#, fuzzy
+msgid ""
+"cannot fit the first page turn onto a single page.  Consider setting first-"
+"page-number to an even number."
+msgstr ""
+"Ei voitu sovittaa ensimmäistä sivunkääntöä yhdelle sivulle. Harkitse "
+"ensimmäisen sivunumeron (first-page-number) asettamista parittomaksi."
 
 
-#: pango-font.cc:154
+#: page-turn-page-breaking.cc:218
+#, c-format
+msgid "Calculating page and line breaks (%d possible page breaks)..."
+msgstr ""
+"Lasketaan sivujen ja rivien katkaisuja (%d mahdollista sivunkatkaisua)..."
+
+#: page-turn-page-breaking.cc:236 paper-score.cc:154
+msgid "Drawing systems..."
+msgstr "Piirretään tahteja..."
+
+#: pango-font.cc:181
+#, c-format
+msgid ""
+"Glyph has no name, but font supports glyph naming.\n"
+"Skipping glyph U+%0X, file %s"
+msgstr ""
+"Ladokkeella ei ole nimea, mutta kirjasin tukee ladokkeen nimeämistä.\n"
+"Sivuutetaan ladoke U+%0X, tiedostossa %s"
+
+#: pango-font.cc:224
 #, c-format
 msgid "no PostScript font name for font `%s'"
 msgstr "ei PostScript fonttinimeä fontille `%s'"
 
 #, c-format
 msgid "no PostScript font name for font `%s'"
 msgstr "ei PostScript fonttinimeä fontille `%s'"
 
-#: pango-font.cc:197
+#: pango-font.cc:272
 msgid "FreeType face has no PostScript font name"
 msgstr "FreeType muodolla ei ollut PostScript fonttinimeä"
 
 msgid "FreeType face has no PostScript font name"
 msgstr "FreeType muodolla ei ollut PostScript fonttinimeä"
 
-#: paper-outputter-scheme.cc:32
+#: paper-outputter-scheme.cc:33
 #, c-format
 msgid "Layout output to `%s'..."
 msgstr "Aseta tulostus paikkaan `%s'..."
 
 #, c-format
 msgid "Layout output to `%s'..."
 msgstr "Aseta tulostus paikkaan `%s'..."
 
-#: paper-score.cc:77
+#: paper-score.cc:105
+msgid "Calculating line breaks..."
+msgstr "Lasketaan rivinvaihtoja..."
+
+#: paper-score.cc:118
 #, c-format
 msgid "Element count %d (spanners %d) "
 msgstr "Elementtien määrä: %d (ladokkeita: %d)"
 
 #, c-format
 msgid "Element count %d (spanners %d) "
 msgstr "Elementtien määrä: %d (ladokkeita: %d)"
 
-#: paper-score.cc:81
+#: paper-score.cc:122
 msgid "Preprocessing graphical objects..."
 msgstr "Esiprosessoidaan graafisia kohteita..."
 
 msgid "Preprocessing graphical objects..."
 msgstr "Esiprosessoidaan graafisia kohteita..."
 
-#: parse-scm.cc:81
+#: parse-scm.cc:83
 msgid "GUILE signaled an error for the expression beginning here"
 msgstr "GUILE antoi virheen lausekkeelle, joka alkoi täältä"
 
 msgid "GUILE signaled an error for the expression beginning here"
 msgstr "GUILE antoi virheen lausekkeelle, joka alkoi täältä"
 
-#: percent-repeat-engraver.cc:97
-#, c-format
-msgid "can't handle a percent repeat of length: %s"
-msgstr "ei tiedetä kuinka kohdella tämän mittaista prosenttitoistoa: %s"
-
-#: percent-repeat-engraver.cc:159
+#: percent-repeat-engraver.cc:200
 msgid "unterminated percent repeat"
 msgstr "päättämätön prosenttitoisto"
 
 msgid "unterminated percent repeat"
 msgstr "päättämätön prosenttitoisto"
 
-#: percent-repeat-iterator.cc:51
-msgid "no one to print a percent"
-msgstr "kukaan ei voinut tulostaa prosenttia"
-
-#: performance.cc:47
+#: performance.cc:45
 msgid "Track..."
 msgstr "Jälki..."
 
 msgid "Track..."
 msgstr "Jälki..."
 
-#: performance.cc:71
+#: performance.cc:74
 msgid "MIDI channel wrapped around"
 msgstr "MIDI kanava kietaistiin ympäri"
 
 msgid "MIDI channel wrapped around"
 msgstr "MIDI kanava kietaistiin ympäri"
 
-#: performance.cc:72
+#: performance.cc:75
 msgid "remapping modulo 16"
 msgstr "kuvataan uudelleen modulo 16"
 
 msgid "remapping modulo 16"
 msgstr "kuvataan uudelleen modulo 16"
 
-#: performance.cc:91
-msgid "Creator: "
-msgstr "Tekijä: "
-
-#: performance.cc:111
-msgid "at "
-msgstr "kohdassa "
-
-#: performance.cc:164
+#: performance.cc:103
 #, c-format
 msgid "MIDI output to `%s'..."
 msgstr "Tehdään MIDI-tuloste `%s'..."
 
 #, c-format
 msgid "MIDI output to `%s'..."
 msgstr "Tehdään MIDI-tuloste `%s'..."
 
-#: phrasing-slur-engraver.cc:167
+#: phrasing-slur-engraver.cc:146
 msgid "unterminated phrasing slur"
 msgstr "päättämätön fraaseerauskaari"
 
 msgid "unterminated phrasing slur"
 msgstr "päättämätön fraaseerauskaari"
 
-#: piano-pedal-engraver.cc:221
+#: piano-pedal-engraver.cc:286
 #, c-format
 #, c-format
-msgid "expect 3 strings for piano pedals, found: %d"
-msgstr "odotettiin 3 merkkijonoa pianopedaalille, löytyi: %d"
+msgid "expect 3 strings for piano pedals, found: %ld"
+msgstr "odotettiin 3 merkkijonoa pianopedaalille, löytyi: %ld"
 
 
-#: piano-pedal-engraver.cc:237 piano-pedal-engraver.cc:250
-#: piano-pedal-performer.cc:81
+#: piano-pedal-engraver.cc:301 piano-pedal-engraver.cc:312
+#: piano-pedal-performer.cc:93
 #, c-format
 #, c-format
-msgid "can't find start of piano pedal: `%s'"
+msgid "cannot find start of piano pedal: `%s'"
 msgstr "ei löydetty alkua pianopedaalille: `%s'"
 
 msgstr "ei löydetty alkua pianopedaalille: `%s'"
 
-#: piano-pedal-engraver.cc:298
+#: piano-pedal-engraver.cc:347
 #, c-format
 #, c-format
-msgid "can't find start of piano pedal bracket: `%s'"
+msgid "cannot find start of piano pedal bracket: `%s'"
 msgstr "ei löydetty alkua pianopedaalimerkinnälle: `%s'"
 
 msgstr "ei löydetty alkua pianopedaalimerkinnälle: `%s'"
 
-#: program-option.cc:188
+#: program-option.cc:205
 #, c-format
 msgid "no such internal option: %s"
 msgstr "tuntematon sisäinen optio: %s"
 
 #, c-format
 msgid "no such internal option: %s"
 msgstr "tuntematon sisäinen optio: %s"
 
-#: property-iterator.cc:80
+#: property-iterator.cc:74
 #, c-format
 msgid "not a grob name, `%s'"
 #, c-format
 msgid "not a grob name, `%s'"
-msgstr "ei ole graafisen objektin (grob) nimi: `%s'."
-
-#: quote-iterator.cc:255
-#, c-format
-msgid "in quotation: junking event %s"
-msgstr "sitaatissa: hylätään tapahtuma `%s'"
+msgstr "ei ole graafisen objektin (grob) nimi, `%s'"
 
 #: relative-octave-check.cc:38
 msgid "Failed octave check, got: "
 msgstr "Oktaavitarkistus epäonnistui, saatiin: "
 
 
 #: relative-octave-check.cc:38
 msgid "Failed octave check, got: "
 msgstr "Oktaavitarkistus epäonnistui, saatiin: "
 
-#: rest-collision.cc:145
-msgid "can't resolve rest collission: rest direction not set"
-msgstr "ei voitu määrittää taukojen törmäystä: tauon suuntaa ei asetettu"
+#: relocate.cc:44
+#, fuzzy, c-format
+msgid "Setting %s to %s"
+msgstr "Asetetaan %s kohtaan %s\n"
+
+#: relocate.cc:59
+#, c-format
+msgid "no such file: %s for %s"
+msgstr "tiedostoa ei löydy: %s kohteelle %s"
+
+#: relocate.cc:69 relocate.cc:87
+#, c-format
+msgid "no such directory: %s for %s"
+msgstr "hakemistoa ei löydy: %s kohteelle %s"
+
+#: relocate.cc:79
+#, c-format
+msgid "%s=%s (prepend)\n"
+msgstr "%s=%s (painota)\n"
+
+#: relocate.cc:99
+#, c-format
+msgid "Relocation: compile prefix=%s, new prefix=%s"
+msgstr "Paikantaminen: käännös-etuliite=%s, uusi etuliite=%s"
+
+#: relocate.cc:129
+#, c-format
+msgid "Relocation: framework_prefix=%s"
+msgstr "Paikantaminen: framework_prefix=%s"
+
+#: relocate.cc:169
+#, c-format
+msgid "Relocation: is absolute: argv0=%s"
+msgstr "Paikantaminen: absoluuttinen: argv0=%s"
+
+#: relocate.cc:176
+#, c-format
+msgid "Relocation: from cwd: argv0=%s"
+msgstr "Paikantaminen: nykyisestä polusta: argv0=%s"
+
+#: relocate.cc:185
+#, c-format
+msgid ""
+"Relocation: from PATH=%s\n"
+"argv0=%s"
+msgstr ""
+"Paikantaminen: polusta PATH=%s\n"
+"argv0=%s"
 
 
-#: rest-collision.cc:159 rest-collision.cc:205
+#: relocate.cc:354
+#, fuzzy, c-format
+msgid "Relocation file: %s"
+msgstr "Paikannustiedosto %s\n"
+
+#: relocate.cc:390
+#, c-format
+msgid "Unknown relocation command %s"
+msgstr "Tuntematon paikannuskomento %s"
+
+#: rest-collision.cc:151
+msgid "cannot resolve rest collision: rest direction not set"
+msgstr "ei voida määrittää taukojen törmäystä: tauon suuntaa ei asetettu"
+
+#: rest-collision.cc:165 rest-collision.cc:210
 msgid "too many colliding rests"
 msgstr "liian monta törmäävää taukoa"
 
 msgid "too many colliding rests"
 msgstr "liian monta törmäävää taukoa"
 
-#: rest.cc:138
+#: rest.cc:144
 #, c-format
 msgid "rest `%s' not found"
 msgstr "taukoa `%s' ei löytynyt, "
 
 #, c-format
 msgid "rest `%s' not found"
 msgstr "taukoa `%s' ei löytynyt, "
 
-#: score-engraver.cc:69
+#: score-engraver.cc:67
 #, c-format
 msgid "cannot find `%s'"
 msgstr "`%s' ei lyötynyt"
 
 #, c-format
 msgid "cannot find `%s'"
 msgstr "`%s' ei lyötynyt"
 
-#: score-engraver.cc:71
+#: score-engraver.cc:69
 msgid "Music font has not been installed properly."
 msgstr "Fontteja ei oltu asennettu kunnolla."
 
 msgid "Music font has not been installed properly."
 msgstr "Fontteja ei oltu asennettu kunnolla."
 
-#: score-engraver.cc:73
+#: score-engraver.cc:71
 #, c-format
 msgid "Search path `%s'"
 msgstr "Hakupolku `%s'"
 
 #, c-format
 msgid "Search path `%s'"
 msgstr "Hakupolku `%s'"
 
-#: score.cc:215
+#: score-engraver.cc:73
+msgid "Aborting"
+msgstr "Keskeytetään"
+
+#: score.cc:225
 msgid "already have music in score"
 msgstr "viivastolla on jo musiikkia"
 
 msgid "already have music in score"
 msgstr "viivastolla on jo musiikkia"
 
-#: score.cc:216
+#: score.cc:226
 msgid "this is the previous music"
 msgstr "tämä on edellinen musiikki"
 
 msgid "this is the previous music"
 msgstr "tämä on edellinen musiikki"
 
-#: score.cc:221
+#: score.cc:231
 msgid "errors found, ignoring music expression"
 msgstr "virheitä löytyi, sivuutetaan musiikki-ilmaisu"
 
 #. FIXME:
 msgid "errors found, ignoring music expression"
 msgstr "virheitä löytyi, sivuutetaan musiikki-ilmaisu"
 
 #. FIXME:
-#: script-engraver.cc:104
-msgid "don't know how to interpret articulation: "
+#: script-engraver.cc:102
+#, fuzzy
+msgid "do not know how to interpret articulation: "
 msgstr "ei tiedetä kuinka tulkita artikulaatio: "
 
 msgstr "ei tiedetä kuinka tulkita artikulaatio: "
 
-#: script-engraver.cc:105
+#: script-engraver.cc:103
 msgid "scheme encoding: "
 msgstr "scheme koodaus: "
 
 msgid "scheme encoding: "
 msgstr "scheme koodaus: "
 
-#: simple-spacer.cc:414
+#: simple-spacer.cc:375
 #, c-format
 msgid "No spring between column %d and next one"
 msgstr "Ei jousta sarakkeen %d ja sitä seuraavan välillä"
 
 #, c-format
 msgid "No spring between column %d and next one"
 msgstr "Ei jousta sarakkeen %d ja sitä seuraavan välillä"
 
-#: slur-engraver.cc:160
+#: slur-engraver.cc:83 tuplet-engraver.cc:75
+#, c-format
+msgid "direction of %s invalid: %d"
+msgstr ""
+
+#: slur-engraver.cc:157
 msgid "unterminated slur"
 msgstr "päättämätön kaari"
 
 msgid "unterminated slur"
 msgstr "päättämätön kaari"
 
-#: slur-engraver.cc:169
-msgid "can't end slur"
+#: slur-engraver.cc:166
+msgid "cannot end slur"
 msgstr "ei löytynyt kaaren loppua"
 
 msgstr "ei löytynyt kaaren loppua"
 
-#: source-file.cc:68
+#: source-file.cc:74
 #, c-format
 msgid "expected to read %d characters, got %d"
 msgstr "odotettiin %d merkkiä, saatiin %d"
 
 #, c-format
 msgid "expected to read %d characters, got %d"
 msgstr "odotettiin %d merkkiä, saatiin %d"
 
-#: spacing-spanner.cc:40
-#, c-format
-msgid "Global shortest duration is %s"
-msgstr "Yleinen lyhin kesto on %s"
+#: staff-symbol-engraver.cc:62
+msgid "staff-span event has no direction"
+msgstr "viivastot ylittävällä tapahtumalla ei ole suuntaa"
 
 
-#: stem-engraver.cc:91
+#: stem-engraver.cc:92
 msgid "tremolo duration is too long"
 msgstr "tremolon kesto on liian pitkä"
 
 #. FIXME:
 msgid "tremolo duration is too long"
 msgstr "tremolon kesto on liian pitkä"
 
 #. FIXME:
-#: stem-engraver.cc:128
+#: stem-engraver.cc:129
 #, c-format
 msgid "adding note head to incompatible stem (type = %d)"
 msgstr "lisätään nuottipää sopimattomaan varteen (tyyppi = %d)"
 
 #, c-format
 msgid "adding note head to incompatible stem (type = %d)"
 msgstr "lisätään nuottipää sopimattomaan varteen (tyyppi = %d)"
 
-#: stem-engraver.cc:130
+#: stem-engraver.cc:131
 msgid "maybe input should specify polyphonic voices"
 msgstr "ehkä syötteen täytyisi määrittää moniäänisiä ääniä"
 
 msgid "maybe input should specify polyphonic voices"
 msgstr "ehkä syötteen täytyisi määrittää moniäänisiä ääniä"
 
-#: stem.cc:124
+#: stem.cc:105
 msgid "weird stem size, check for narrow beams"
 msgstr "outo varren koko, koeta lyhyempiä palkkeja"
 
 msgid "weird stem size, check for narrow beams"
 msgstr "outo varren koko, koeta lyhyempiä palkkeja"
 
-#: stem.cc:579
+#: stem.cc:641
 #, c-format
 msgid "flag `%s' not found"
 msgstr "lippua `%s' ei löydetty"
 
 #, c-format
 msgid "flag `%s' not found"
 msgstr "lippua `%s' ei löydetty"
 
-#: stem.cc:590
+#: stem.cc:652
 #, c-format
 msgid "flag stroke `%s' not found"
 msgstr "lipun piirtoa `%s' ei löytynyt"
 
 #, c-format
 msgid "flag stroke `%s' not found"
 msgstr "lipun piirtoa `%s' ei löytynyt"
 
-#: system.cc:184
+#: system.cc:180
 #, c-format
 msgid "Element count %d."
 msgstr "Elementtien määrä: %d."
 
 #, c-format
 msgid "Element count %d."
 msgstr "Elementtien määrä: %d."
 
-#: system.cc:270
+#: system.cc:276
 #, c-format
 msgid "Grob count %d"
 msgstr "Graafisien objektien (grob) määrä: %d "
 
 #, c-format
 msgid "Grob count %d"
 msgstr "Graafisien objektien (grob) määrä: %d "
 
-#: system.cc:289
-msgid "Calculating line breaks..."
-msgstr "Lasketaan rivinvaihtoja..."
-
 #: text-spanner-engraver.cc:61
 #: text-spanner-engraver.cc:61
-msgid "can't find start of text spanner"
+msgid "cannot find start of text spanner"
 msgstr "ei löydetty alkua tekstileikkeelle"
 
 msgstr "ei löydetty alkua tekstileikkeelle"
 
-#: text-spanner-engraver.cc:75
+#: text-spanner-engraver.cc:73
 msgid "already have a text spanner"
 msgstr "tekstileike löytyi jo"
 
 msgid "already have a text spanner"
 msgstr "tekstileike löytyi jo"
 
-#: text-spanner-engraver.cc:136
+#: text-spanner-engraver.cc:133
 msgid "unterminated text spanner"
 msgstr "päättämätön tekstileike"
 
 msgid "unterminated text spanner"
 msgstr "päättämätön tekstileike"
 
-#. Not using ngettext's plural feature here, as this message is
-#. more of a programming error.
-#: tfm-reader.cc:106
-#, c-format
-msgid "TFM header of `%s' has only %u word (s)"
-msgstr "TFM-otsakkeessa `%s' on vain %u sana(a)"
-
-#: tfm-reader.cc:139
-#, c-format
-msgid "%s: TFM file has %u parameters, which is more than the %u I can handle"
-msgstr "%s: TFM-tiedostossa on %u parametria, mikä on enemmän kuin maksimimäärä %u"
-
-#: tfm.cc:70
-#, c-format
-msgid "can't find ascii character: %d"
-msgstr "ei löydetty ASCII-merkkiä: %d"
-
-#: tie-engraver.cc:187
+#: tie-engraver.cc:264
 msgid "lonely tie"
 msgstr "yksinäinen sidos"
 
 msgid "lonely tie"
 msgstr "yksinäinen sidos"
 
-#: time-scaled-music-iterator.cc:22
-msgid "no one to print a tuplet start bracket"
-msgstr "ketään ei löytynyt tulostamaan tupletin alkusulkua"
-
 #.
 #. Todo: should make typecheck?
 #.
 #. OTOH, Tristan Keuris writes 8/20 in his Intermezzi.
 #.
 #.
 #. Todo: should make typecheck?
 #.
 #. OTOH, Tristan Keuris writes 8/20 in his Intermezzi.
 #.
-#: time-signature-engraver.cc:61
+#: time-signature-engraver.cc:64
 #, c-format
 msgid "strange time signature found: %d/%d"
 msgstr "löydettiin outo aikamerkintä: %d/%d"
 
 #. If there is no such symbol, we default to the numbered style.
 #. (Here really with a warning!)
 #, c-format
 msgid "strange time signature found: %d/%d"
 msgstr "löydettiin outo aikamerkintä: %d/%d"
 
 #. If there is no such symbol, we default to the numbered style.
 #. (Here really with a warning!)
-#: time-signature.cc:81
+#: time-signature.cc:83
 #, c-format
 msgid "time signature symbol `%s' not found; reverting to numbered style"
 msgstr "aikamerkintäsymbolia `%s' ei löytynyt; vaihdetaan numeroituun tyyliin"
 #, c-format
 msgid "time signature symbol `%s' not found; reverting to numbered style"
 msgstr "aikamerkintäsymbolia `%s' ei löytynyt; vaihdetaan numeroituun tyyliin"
@@ -1771,19 +1752,30 @@ msgstr "aikamerkintäsymbolia `%s' ei löytynyt; vaihdetaan numeroituun tyyliin"
 msgid "unknown translator: `%s'"
 msgstr "tuntematon tulkitsija: `%s'"
 
 msgid "unknown translator: `%s'"
 msgstr "tuntematon tulkitsija: `%s'"
 
-#: trill-spanner-engraver.cc:70
-msgid "can't find start of trill spanner"
+#: translator-group.cc:151
+#, c-format
+msgid "cannot find: `%s'"
+msgstr "ei löytynyt `%s'"
+
+#: translator.cc:332
+#, c-format
+msgid "Two simultaneous %s events, junking this one"
+msgstr "Kaksi samanaikaista %s-tapahtumaa, hylätään tämä"
+
+#: translator.cc:333
+#, c-format
+msgid "Previous %s event here"
+msgstr "Edellinen %s-tapahtuma täällä"
+
+#: trill-spanner-engraver.cc:68
+msgid "cannot find start of trill spanner"
 msgstr "ei löydetty alkua trilliladokkeelle"
 
 msgstr "ei löydetty alkua trilliladokkeelle"
 
-#: trill-spanner-engraver.cc:84
+#: trill-spanner-engraver.cc:80
 msgid "already have a trill spanner"
 msgstr "trilliladoke löytyi jo"
 
 msgid "already have a trill spanner"
 msgstr "trilliladoke löytyi jo"
 
-#: trill-spanner-engraver.cc:144
-msgid "unterminated trill spanner"
-msgstr "päättymätön trilliladoke"
-
-#: vaticana-ligature-engraver.cc:344
+#: vaticana-ligature-engraver.cc:388
 #, c-format
 msgid ""
 "ignored prefix (es) `%s' of this head according to restrictions of the "
 #, c-format
 msgid ""
 "ignored prefix (es) `%s' of this head according to restrictions of the "
@@ -1792,316 +1784,295 @@ msgstr ""
 "sivuutetaan prefiksi (t) `%s' tälle nuottipäälle valitun ligatuurityylin "
 "mukaisesti"
 
 "sivuutetaan prefiksi (t) `%s' tälle nuottipäälle valitun ligatuurityylin "
 "mukaisesti"
 
-#: vaticana-ligature-engraver.cc:587
+#: vaticana-ligature-engraver.cc:714
 #, 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: asetetaan `spacing-increment = %f': ptr=%ul"
+msgstr ""
+"Vaticana_ligature_engraver: asetetaan `spacing-increment = %f': ptr=%ul"
 
 
-#: vaticana-ligature.cc:87
+#: vaticana-ligature.cc:84
 msgid "flexa-height undefined; assuming 0"
 msgstr "flexa-height määrittämättä; oletetaan 0"
 
 msgid "flexa-height undefined; assuming 0"
 msgstr "flexa-height määrittämättä; oletetaan 0"
 
-#: vaticana-ligature.cc:93
+#: vaticana-ligature.cc:89
 msgid "ascending vaticana style flexa"
 msgstr "laskeva vaticana-tyylinen flexa"
 
 msgid "ascending vaticana style flexa"
 msgstr "laskeva vaticana-tyylinen flexa"
 
-#: vaticana-ligature.cc:182
+#: vaticana-ligature.cc:177
 msgid "Vaticana_ligature: zero join (delta_pitch == 0)"
 msgstr "Vaticana_ligature: nollayhdiste (delta_pitch == 0)"
 
 #. fixme: be more verbose.
 msgid "Vaticana_ligature: zero join (delta_pitch == 0)"
 msgstr "Vaticana_ligature: nollayhdiste (delta_pitch == 0)"
 
 #. fixme: be more verbose.
-#: volta-engraver.cc:141
-msgid "can't end volta spanner"
+#: volta-engraver.cc:144
+msgid "cannot end volta spanner"
 msgstr "ei löydetty loppua volta ladokkeelle"
 
 msgstr "ei löydetty loppua volta ladokkeelle"
 
-#: volta-engraver.cc:151
+#: volta-engraver.cc:154
 msgid "already have a volta spanner, ending that one prematurely"
 msgstr "löytyi ja volta-ladoke, lopetetaan se ennenaikaisesti"
 
 msgid "already have a volta spanner, ending that one prematurely"
 msgstr "löytyi ja volta-ladoke, lopetetaan se ennenaikaisesti"
 
-#: volta-engraver.cc:155
+#: volta-engraver.cc:158
 msgid "also already have an ended spanner"
 msgstr "myös tekstileike päätettiin jo"
 
 msgid "also already have an ended spanner"
 msgstr "myös tekstileike päätettiin jo"
 
-#: parser.yy:91
-msgid "tag must be symbol or list of symbols"
-msgstr "merkinnän on oltava symboli tai lista symboleita"
-
-#: parser.yy:654
-msgid "identifier should have alphabetic characters only"
-msgstr "tunnisteessa saa olla vain aakkosellisia merkkejä"
+#: volta-engraver.cc:159
+msgid "giving up"
+msgstr "luovutetaan"
 
 
-#: parser.yy:814
+#: parser.yy:702
 msgid "\\paper cannot be used in \\score, use \\layout instead"
 msgstr "\\paper ei voi olla käytössä \\score:ssa, käytä \\layout sen sijaan"
 
 msgid "\\paper cannot be used in \\score, use \\layout instead"
 msgstr "\\paper ei voi olla käytössä \\score:ssa, käytä \\layout sen sijaan"
 
-#: parser.yy:838
+#: parser.yy:726
 msgid "need \\paper for paper block"
 msgstr "tarvitaan \\paper paperiryhmälle"
 
 msgid "need \\paper for paper block"
 msgstr "tarvitaan \\paper paperiryhmälle"
 
-#: parser.yy:983
-msgid "more alternatives than repeats"
-msgstr "enemmän vaihtoehtoja kuin kertauksia"
-
-#: parser.yy:1020
-#, c-format
-msgid "expect 2 elements for Chord tremolo, found %d"
-msgstr "odotetaan 2 elementtiä Chord tremololle, löytyi %d"
-
-#: parser.yy:1175
-msgid "music head function must return Music object"
-msgstr "päämusiikkifuntion täytyy palauttaa Music objecti"
-
-#: parser.yy:1448
+#: parser.yy:1172
 msgid "Grob name should be alphanumeric"
 msgstr "Graafiseen objectiin täytyy olla kirjain tai numero"
 
 msgid "Grob name should be alphanumeric"
 msgstr "Graafiseen objectiin täytyy olla kirjain tai numero"
 
-#: parser.yy:1812
+#: parser.yy:1475
 msgid "second argument must be pitch list"
 msgstr "toisen argumentin on oltava äänenkorkeuslista"
 
 msgid "second argument must be pitch list"
 msgstr "toisen argumentin on oltava äänenkorkeuslista"
 
-#: parser.yy:1851 parser.yy:1856 parser.yy:2332
+#: parser.yy:1502 parser.yy:1507 parser.yy:1972
 msgid "have to be in Lyric mode for lyrics"
 msgstr "täytyy olla Lyrics -moodissa lyriikkaa varten"
 
 msgid "have to be in Lyric mode for lyrics"
 msgstr "täytyy olla Lyrics -moodissa lyriikkaa varten"
 
-#: parser.yy:1949
+#: parser.yy:1604
 msgid "expecting string as script definition"
 msgstr "oletetaan merkkijonon olevan skriptimäärittely"
 
 msgid "expecting string as script definition"
 msgstr "oletetaan merkkijonon olevan skriptimäärittely"
 
-#: parser.yy:2108 parser.yy:2158
+#: parser.yy:1759 parser.yy:1809
 #, c-format
 msgid "not a duration: %d"
 msgstr "ei ole kesto: %d"
 
 #, c-format
 msgid "not a duration: %d"
 msgstr "ei ole kesto: %d"
 
-#: parser.yy:2251
+#: parser.yy:1926
 msgid "have to be in Note mode for notes"
 msgstr "täytyy olla Note -moodissa nuotteja varten"
 
 msgid "have to be in Note mode for notes"
 msgstr "täytyy olla Note -moodissa nuotteja varten"
 
-#: parser.yy:2345
+#: parser.yy:1987
 msgid "have to be in Chord mode for chords"
 msgstr "täytyy olla Chord -moodissa sointuja varten"
 
 msgid "have to be in Chord mode for chords"
 msgstr "täytyy olla Chord -moodissa sointuja varten"
 
-#: lexer.ll:156
+#: lexer.ll:176
 msgid "stray UTF-8 BOM encountered"
 msgstr "satunnainen UTF-8 BOM (osaluettelo) havaittu"
 
 msgid "stray UTF-8 BOM encountered"
 msgstr "satunnainen UTF-8 BOM (osaluettelo) havaittu"
 
-#: lexer.ll:160
+#: lexer.ll:180
 msgid "Skipping UTF-8 BOM"
 msgstr "Sivuutetaan UTF-8 BOM (osaluettelo)"
 
 msgid "Skipping UTF-8 BOM"
 msgstr "Sivuutetaan UTF-8 BOM (osaluettelo)"
 
-#: lexer.ll:204
+#: lexer.ll:235
 #, c-format
 msgid "Renaming input to: `%s'"
 msgstr "Avataan syöte: `%s'"
 
 #, c-format
 msgid "Renaming input to: `%s'"
 msgstr "Avataan syöte: `%s'"
 
-#: lexer.ll:212
+#: lexer.ll:252
 msgid "quoted string expected after \\version"
 msgstr "lainausmerkittyä merkkijonoa ei löytynyt kohteen \\version jälkeen"
 
 msgid "quoted string expected after \\version"
 msgstr "lainausmerkittyä merkkijonoa ei löytynyt kohteen \\version jälkeen"
 
-#: lexer.ll:216
-msgid "quoted string expected after \\renameinput"
-msgstr "lainausmerkittyä merkkijonoa ei löytynyt kohteen \\renameinput jälkeen"
+#: lexer.ll:256
+msgid "quoted string expected after \\sourcefilename"
+msgstr "odotettiin lainausmerkittyä merkkijonoa \\sourcefilename:n jälkeen"
+
+#: lexer.ll:260
+msgid "integer expected after \\sourcefileline"
+msgstr "odotettiin kokonaislukua \\sourcefilename:n jälkeen"
 
 
-#: lexer.ll:229
+#: lexer.ll:273
 msgid "EOF found inside a comment"
 msgstr "EOF löytyi kommentin sisältä"
 
 msgid "EOF found inside a comment"
 msgstr "EOF löytyi kommentin sisältä"
 
-#: lexer.ll:244
+#: lexer.ll:288
 msgid "\\maininput not allowed outside init files"
 msgstr "\\maininput ei ole sallittu init-alustustiedoston ulkopuolella"
 
 msgid "\\maininput not allowed outside init files"
 msgstr "\\maininput ei ole sallittu init-alustustiedoston ulkopuolella"
 
-#: lexer.ll:268
+#: lexer.ll:312
 #, c-format
 msgid "wrong or undefined identifier: `%s'"
 msgstr "väärä tai määrittämätön tunniste: `%s'"
 
 #. backup rule
 #, c-format
 msgid "wrong or undefined identifier: `%s'"
 msgstr "väärä tai määrittämätön tunniste: `%s'"
 
 #. backup rule
-#: lexer.ll:277
+#: lexer.ll:321
 msgid "end quote missing"
 msgstr "jälkimmäinen lainaismerkki puuttuu"
 
 msgid "end quote missing"
 msgstr "jälkimmäinen lainaismerkki puuttuu"
 
-#: lexer.ll:439
+#: lexer.ll:466
 msgid "Brace found at end of lyric.  Did you forget a space?"
 msgstr "Sulkumerkki löytyi lyriikan lopussa.  Unohditko välilyönnin?"
 
 msgid "Brace found at end of lyric.  Did you forget a space?"
 msgstr "Sulkumerkki löytyi lyriikan lopussa.  Unohditko välilyönnin?"
 
-#: lexer.ll:538
+#: lexer.ll:559
 msgid "Brace found at end of markup.  Did you forget a space?"
 msgstr "Sulkumerkki löytyi lyriikan lopussa.  Unohditko välilyönnin?"
 
 msgid "Brace found at end of markup.  Did you forget a space?"
 msgstr "Sulkumerkki löytyi lyriikan lopussa.  Unohditko välilyönnin?"
 
-#: lexer.ll:627
+#: lexer.ll:659
 #, c-format
 msgid "invalid character: `%c'"
 msgstr "epäkelpo merkki: `%c'"
 
 #, c-format
 msgid "invalid character: `%c'"
 msgstr "epäkelpo merkki: `%c'"
 
-#: lexer.ll:714 lexer.ll:715
+#: lexer.ll:774 lexer.ll:775
 #, c-format
 msgid "unknown escaped string: `\\%s'"
 msgstr "tuntematon koodinvaihtomerkillinen merkkijono: `\\\\%s'"
 
 #, c-format
 msgid "unknown escaped string: `\\%s'"
 msgstr "tuntematon koodinvaihtomerkillinen merkkijono: `\\\\%s'"
 
-#: lexer.ll:812 lexer.ll:813
+#: lexer.ll:880 lexer.ll:881
 #, c-format
 #, c-format
-msgid "Incorrect lilypond version: %s (%s, %s)"
-msgstr "Epäkelpo lilypond versio: %s (%s, %s)"
+msgid "file too old: %s (oldest supported: %s)"
+msgstr ""
 
 
-#: lexer.ll:813 lexer.ll:814
-msgid "Consider updating the input with the convert-ly script"
+#: lexer.ll:881 lexer.ll:882
+#, fuzzy
+msgid "consider updating the input with the convert-ly script"
 msgstr "Harkitse syötteen päivittämistä convert-ly scriptillä"
 
 msgstr "Harkitse syötteen päivittämistä convert-ly scriptillä"
 
-#. TODO: print location
-#: lexer.ll:950 lexer.ll:951
-msgid "can't find signature for music function"
-msgstr "ei löytynyt aikamerkintää musiikkifunktiolle"
+#: lexer.ll:887 lexer.ll:888
+#, c-format
+msgid "program too old: %s (file requires: %s)"
+msgstr ""
 
 
-#: backend-library.scm:19 lily.scm:434 ps-to-png.scm:87
-#, lisp-format
+#: backend-library.scm:19 lily.scm:599 ps-to-png.scm:82
+#, scheme-format
 msgid "Invoking `~a'..."
 msgstr "Kutsutaan `~a'..."
 
 #: backend-library.scm:24
 msgid "Invoking `~a'..."
 msgstr "Kutsutaan `~a'..."
 
 #: backend-library.scm:24
-#, lisp-format
+#, scheme-format
 msgid "`~a' failed (~a)"
 msgstr "`~a' epäonnistui (~a)"
 
 msgid "`~a' failed (~a)"
 msgstr "`~a' epäonnistui (~a)"
 
-#: backend-library.scm:82 framework-tex.scm:339 framework-tex.scm:364
-#, lisp-format
+#: backend-library.scm:95 framework-tex.scm:343 framework-tex.scm:368
+#, scheme-format
 msgid "Converting to `~a'..."
 msgstr "Muunnetaan kohteeksi `~a'..."
 
 msgid "Converting to `~a'..."
 msgstr "Muunnetaan kohteeksi `~a'..."
 
-#: backend-library.scm:97
-#, lisp-format
+#: backend-library.scm:108
+#, scheme-format
 msgid "Converting to ~a..."
 msgstr "Muunnetaan kohteeksi `~a'..."
 
 msgid "Converting to ~a..."
 msgstr "Muunnetaan kohteeksi `~a'..."
 
-#: backend-library.scm:142
-#, lisp-format
+#: backend-library.scm:145
+#, scheme-format
 msgid "Writing header field `~a' to `~a'..."
 msgstr "Kirjoitetaan otsaketietue `~a' kohteeseen `~a'..."
 
 msgid "Writing header field `~a' to `~a'..."
 msgstr "Kirjoitetaan otsaketietue `~a' kohteeseen `~a'..."
 
-#: beam.scm:79
-#, lisp-format
-msgid "Error in beam quanting.  Expected (~S,~S) found ~S."
-msgstr "Virhe palkin laskennassa.  Odotettiin (~S,~S), löytyi ~S."
-
-#: beam.scm:93
-#, lisp-format
-msgid "Error in beam quanting.  Expected ~S 0, found ~S."
-msgstr "Virhe palkin laskennassa.  Odotettiin ~S 0, löytyi ~S."
-
-#: clef.scm:124
-#, lisp-format
-msgid "unknown clef type `~a'"
-msgstr "tuntematon avaimen tyyppi: `~a'"
-
-#: clef.scm:125
-msgid "see scm/clef.scm for supported clefs"
-msgstr "katso tiedostosta scm/clef.scm tuetut avaimet"
-
-#: define-context-properties.scm:13 define-grob-properties.scm:10
+#: define-context-properties.scm:20 define-grob-properties.scm:10
 #: define-music-properties.scm:10
 #: define-music-properties.scm:10
-#, lisp-format
+#, scheme-format
 msgid "symbol ~S redefined"
 msgstr "symbol ~S määriteltiin uudelleen"
 
 msgid "symbol ~S redefined"
 msgstr "symbol ~S määriteltiin uudelleen"
 
-#: define-markup-commands.scm:204
-#, lisp-format
-msgid "can't find bounding box of `~a'"
-msgstr "ei löytynyt `~a':n rajauskehystä (bounding box)"
+#: define-event-classes.scm:119
+#, scheme-format
+msgid "event class ~A seems to be unused"
+msgstr "tapahtumaluokka ~A näkyy olevan käyttämätön"
 
 
-#: define-markup-commands.scm:272
+#. should be programming-error
+#: define-event-classes.scm:125
+#, scheme-format
+msgid "translator listens to nonexisting event class ~A"
+msgstr "kääntäjä kuuntelee olematonta tapahtumaluokkaa ~A"
+
+#: define-markup-commands.scm:255
 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 "systeemejä ei löytynyt \\score merkinnässä, onko siinä \\layout blokkia?"
+msgstr ""
+"systeemejä ei löytynyt \\score merkinnässä, onko siinä \\layout blokkia?"
 
 
-#: define-markup-commands.scm:981
-#, lisp-format
+#: define-markup-commands.scm:1297
+#, scheme-format
 msgid "not a valid duration string: ~a"
 msgstr "ei ole sallittu keston merkkijono: ~a"
 
 msgid "not a valid duration string: ~a"
 msgstr "ei ole sallittu keston merkkijono: ~a"
 
-#: define-music-types.scm:730
-#, lisp-format
+#: define-music-types.scm:751
+#, scheme-format
 msgid "symbol expected: ~S"
 msgstr "odotettiin symboli: ~S"
 
 msgid "symbol expected: ~S"
 msgstr "odotettiin symboli: ~S"
 
-#: define-music-types.scm:733
-#, lisp-format
-msgid "can't find music object: ~S"
+#: define-music-types.scm:754
+#, scheme-format
+msgid "cannot find music object: ~S"
 msgstr "ei löytynyt musiikkiobjektia: ~S"
 
 msgstr "ei löytynyt musiikkiobjektia: ~S"
 
-#: define-music-types.scm:753
-#, lisp-format
+#: define-music-types.scm:774
+#, scheme-format
 msgid "unknown repeat type `~S'"
 msgstr "tuntematon toistotyyppi `~S'"
 
 msgid "unknown repeat type `~S'"
 msgstr "tuntematon toistotyyppi `~S'"
 
-#: define-music-types.scm:754
+#: define-music-types.scm:775
 msgid "See music-types.scm for supported repeats"
 msgstr "Katso tiedostosta music-types.scm tuetut toistotyypit"
 
 #: document-backend.scm:91
 msgid "See music-types.scm for supported repeats"
 msgstr "Katso tiedostosta music-types.scm tuetut toistotyypit"
 
 #: document-backend.scm:91
-#, lisp-format
+#, scheme-format
 msgid "pair expected in doc ~s"
 msgstr "pari odotettiin dokumentissa ~s"
 
 #: document-backend.scm:135
 msgid "pair expected in doc ~s"
 msgstr "pari odotettiin dokumentissa ~s"
 
 #: document-backend.scm:135
-#, lisp-format
-msgid "can't find interface for property: ~S"
+#, scheme-format
+msgid "cannot find interface for property: ~S"
 msgstr "ei löytynyt rajapintaa ominaisuudelle: ~S"
 
 msgstr "ei löytynyt rajapintaa ominaisuudelle: ~S"
 
-#: document-backend.scm:144
-#, lisp-format
-msgid "unknown interface: ~S"
-msgstr "tuntematon rajapinta: ~S"
+#: document-backend.scm:145
+#, scheme-format
+msgid "unknown Grob interface: ~S"
+msgstr "tuntematon ladoke-rajapinta: ~S"
 
 #: documentation-lib.scm:45
 
 #: documentation-lib.scm:45
-#, lisp-format
+#, scheme-format
 msgid "Processing ~S..."
 msgstr "Prosessoidaan ~S..."
 
 #: documentation-lib.scm:150
 msgid "Processing ~S..."
 msgstr "Prosessoidaan ~S..."
 
 #: documentation-lib.scm:150
-#, lisp-format
+#, scheme-format
 msgid "Writing ~S..."
 msgstr "Kirjoitetaan ~S..."
 
 #: documentation-lib.scm:172
 msgid "Writing ~S..."
 msgstr "Kirjoitetaan ~S..."
 
 #: documentation-lib.scm:172
-#, lisp-format
-msgid "can't find description for property ~S (~S)"
+#, scheme-format
+msgid "cannot find description for property ~S (~S)"
 msgstr "ei löytynyt kuvausta ominaisuudelle ~S (~S)"
 
 msgstr "ei löytynyt kuvausta ominaisuudelle ~S (~S)"
 
-#: framework-eps.scm:46 framework-eps.scm:47
-#, lisp-format
+#: framework-eps.scm:91 framework-eps.scm:92
+#, scheme-format
 msgid "Writing ~a..."
 msgstr "Kirjoitetaan ~a..."
 
 msgid "Writing ~a..."
 msgstr "Kirjoitetaan ~a..."
 
-#: framework-ps.scm:258
-#, lisp-format
-msgid "can't embed ~S=~S"
+#: framework-ps.scm:279
+#, scheme-format
+msgid "cannot embed ~S=~S"
 msgstr "ei voitu upottaa ~S=~S"
 
 msgstr "ei voitu upottaa ~S=~S"
 
-#: framework-ps.scm:304
-#, lisp-format
-msgid "can't extract file matching ~a from ~a"
+#: framework-ps.scm:332
+#, scheme-format
+msgid "cannot extract file matching ~a from ~a"
 msgstr "Ei voitu poimia sopivaa tiedoa ~a:sta ~a:han"
 
 msgstr "Ei voitu poimia sopivaa tiedoa ~a:sta ~a:han"
 
-#: framework-ps.scm:321
-#, lisp-format
-msgid "don't know how to embed ~S=~S"
+#: framework-ps.scm:349
+#, fuzzy, scheme-format
+msgid "do not know how to embed ~S=~S"
 msgstr "ei tiedetä kuinka upottaa ~S=~S"
 
 msgstr "ei tiedetä kuinka upottaa ~S=~S"
 
-#: framework-ps.scm:353
-#, lisp-format
-msgid "don't know how to embed font ~s ~s ~s"
+#: framework-ps.scm:380
+#, fuzzy, scheme-format
+msgid "do not know how to embed font ~s ~s ~s"
 msgstr "ei tiedetä kuinka sijoittaa fontti ~s ~s ~s"
 
 msgstr "ei tiedetä kuinka sijoittaa fontti ~s ~s ~s"
 
-#: framework-ps.scm:549
-#, lisp-format
-msgid "can't convert <stdout> to ~S"
+#: framework-ps.scm:729
+#, scheme-format
+msgid "cannot convert <stdout> to ~S"
 msgstr "ei voida konvertoida <stdout> ~S:ksi"
 
 msgstr "ei voida konvertoida <stdout> ~S:ksi"
 
-#: framework-ps.scm:566 framework-ps.scm:569
-#, lisp-format
-msgid "can't generate ~S using the postscript back-end"
+#: framework-ps.scm:748 framework-ps.scm:751
+#, scheme-format
+msgid "cannot generate ~S using the postscript back-end"
 msgstr "ei voida generoida ~S käyttäen postscript päänä"
 
 msgstr "ei voida generoida ~S käyttäen postscript päänä"
 
-#: framework-ps.scm:576
+#: framework-ps.scm:758
+#, fuzzy
 msgid ""
 msgid ""
-"nThe PostScript backend does not support the 'classic'\n"
+"\n"
+"The PostScript backend does not support the 'classic'\n"
 "framework. Use the EPS backend instead,\n"
 "\n"
 "  lilypond -b eps <file>\n"
 "framework. Use the EPS backend instead,\n"
 "\n"
 "  lilypond -b eps <file>\n"
@@ -2114,120 +2085,221 @@ msgstr ""
 "\n"
 "tai poista lilypond-book -ominaiset asetukset syötteestä.\n"
 
 "\n"
 "tai poista lilypond-book -ominaiset asetukset syötteestä.\n"
 
-#: framework-tex.scm:356
-#, lisp-format
+#: framework-tex.scm:360
+#, scheme-format
 msgid "TeX file name must not contain whitespace: `~a'"
 msgstr "TeX -tiedostoniemessä ei saa olla välilyöntejä: `~a'"
 
 msgid "TeX file name must not contain whitespace: `~a'"
 msgstr "TeX -tiedostoniemessä ei saa olla välilyöntejä: `~a'"
 
-#: lily-library.scm:418
-#, lisp-format
+#: layout-beam.scm:29
+#, scheme-format
+msgid "Error in beam quanting.  Expected (~S,~S) found ~S."
+msgstr "Virhe palkin laskennassa.  Odotettiin (~S,~S), löytyi ~S."
+
+#: layout-beam.scm:46
+#, scheme-format
+msgid "Error in beam quanting.  Expected ~S 0, found ~S."
+msgstr "Virhe palkin laskennassa.  Odotettiin ~S 0, löytyi ~S."
+
+#: layout-page-layout.scm:357
+msgid "Calculating page breaks..."
+msgstr "Lasketaan sivunvaihtoja..."
+
+#: lily-library.scm:593
+#, scheme-format
 msgid "unknown unit: ~S"
 msgstr "tuntematon yksikkö: ~S"
 
 msgid "unknown unit: ~S"
 msgstr "tuntematon yksikkö: ~S"
 
-#: lily-library.scm:451
-#, lisp-format
-msgid "no \\version statement found,  add~afor future compatibility"
-msgstr "ei \\version määrittelyä löytynyt,  lisää~ayhteensopivuuden varalle"
+#: lily-library.scm:626
+#, scheme-format
+msgid "no \\version statement found, please add~afor future compatibility"
+msgstr ""
+"ei löytynyt \\version-määrittelyä, ole hyvä ja lisää~a yhteensopivuuden "
+"varalle"
 
 
-#: lily-library.scm:458
+#: lily-library.scm:633
 msgid "old relative compatibility not used"
 msgstr "vanhaa relative -yhteensopivuutta ei käytetty"
 
 msgid "old relative compatibility not used"
 msgstr "vanhaa relative -yhteensopivuutta ei käytetty"
 
-#: lily.scm:167
-#, lisp-format
+#: lily.scm:144
+#, fuzzy, scheme-format
+msgid "cannot find: ~A"
+msgstr "Ei löydetty ~A"
+
+#: lily.scm:209
+#, scheme-format
 msgid "wrong type for argument ~a.  Expecting ~a, found ~s"
 msgstr "väärä tyyppi argumentille ~a.  Odotettiin ~a, löytyi ~s"
 
 msgid "wrong type for argument ~a.  Expecting ~a, found ~s"
 msgstr "väärä tyyppi argumentille ~a.  Odotettiin ~a, löytyi ~s"
 
-#: lily.scm:364 lily.scm:424
-#, lisp-format
+#: lily.scm:525 lily.scm:589
+#, scheme-format
 msgid "failed files: ~S"
 msgstr "epäonniset tiedostot: ~S"
 
 msgid "failed files: ~S"
 msgstr "epäonniset tiedostot: ~S"
 
-#: lily.scm:415
-#, lisp-format
+#: lily.scm:579
+#, scheme-format
 msgid "Redirecting output to ~a..."
 msgstr "Ohjataan tulosteet paikkaan ~a..."
 
 msgid "Redirecting output to ~a..."
 msgstr "Ohjataan tulosteet paikkaan ~a..."
 
-#: markup.scm:88
-#, lisp-format
+#: ly-syntax-constructors.scm:40
+msgid "Music head function must return Music object"
+msgstr "Music-pääfunktion täytyy palauttaa Music-objekti"
+
+#: ly-syntax-constructors.scm:136
+#, scheme-format
+msgid "Invalid property operation ~a"
+msgstr "Tuntematon ominaisuustoiminta ~a"
+
+#: markup.scm:123
+#, scheme-format
 msgid "Wrong number of arguments.  Expect: ~A, found ~A: ~S"
 msgstr "Väärä argumenttin määrä.  Odotettiin: ~A, löytyi ~A: ~S"
 
 msgid "Wrong number of arguments.  Expect: ~A, found ~A: ~S"
 msgstr "Väärä argumenttin määrä.  Odotettiin: ~A, löytyi ~A: ~S"
 
-#: markup.scm:94
-#, lisp-format
+#: markup.scm:129
+#, scheme-format
 msgid "Invalid argument in position ~A.  Expect: ~A, found: ~S."
 msgstr "Väärä argumentti paikassa ~A.  Odotettiin: ~A, löytyi: ~S."
 
 msgid "Invalid argument in position ~A.  Expect: ~A, found: ~S."
 msgstr "Väärä argumentti paikassa ~A.  Odotettiin: ~A, löytyi: ~S."
 
-#: music-functions.scm:507
-#, lisp-format
+#: music-functions.scm:213
+#, fuzzy
+msgid "More alternatives than repeats.  Junking excess alternatives"
+msgstr ""
+"Enemmän vaihtoehtoja kuin kertauksia. Hylätään ylimääräiset vaihtoehdot"
+
+#: music-functions.scm:232
+#, scheme-format
+msgid "expecting 2 elements for chord tremolo, found ~a"
+msgstr "odotettiin 2 elementtiä sointutremololle, löytyi ~a"
+
+#: music-functions.scm:538
+#, scheme-format
 msgid "music expected: ~S"
 msgstr "oletettiin musiikkia: ~S"
 
 #. FIXME: uncomprehensable message
 msgid "music expected: ~S"
 msgstr "oletettiin musiikkia: ~S"
 
 #. FIXME: uncomprehensable message
-#: music-functions.scm:558
-#, lisp-format
+#: music-functions.scm:589
+#, scheme-format
 msgid "Bar check failed.  Expect to be at ~a, instead at ~a"
 msgstr "Tahtiviivan tarkistus epäonnistui.  Odotettiin: ~a, löytyi: ~a"
 
 msgid "Bar check failed.  Expect to be at ~a, instead at ~a"
 msgstr "Tahtiviivan tarkistus epäonnistui.  Odotettiin: ~a, löytyi: ~a"
 
-#: music-functions.scm:702
-#, lisp-format
-msgid "can't find quoted music `~S'"
+#: music-functions.scm:748
+#, fuzzy, scheme-format
+msgid "cannot find quoted music: `~S'"
 msgstr "ei löytynyt lainusmerkittyä musiikkai `~S'"
 
 msgstr "ei löytynyt lainusmerkittyä musiikkai `~S'"
 
-#: music-functions.scm:909
-#, lisp-format
+#: music-functions.scm:942
+#, scheme-format
 msgid "unknown accidental style: ~S"
 msgstr "tuntematan kortusmerkkityyli: ~S"
 
 msgid "unknown accidental style: ~S"
 msgstr "tuntematan kortusmerkkityyli: ~S"
 
-#: output-lib.scm:219
-#, lisp-format
-msgid "unknown bar glyph: `~S'"
-msgstr "tuntematon palkkityyli: `~S'"
-
-#: output-ps.scm:291
+#: output-ps.scm:315
 msgid "utf-8-string encountered in PS backend"
 msgstr "utf8-merkkijono havaittu PS päässä"
 
 msgid "utf-8-string encountered in PS backend"
 msgstr "utf8-merkkijono havaittu PS päässä"
 
-#: output-svg.scm:41
-#, lisp-format
+#: output-svg.scm:42
+#, scheme-format
 msgid "undefined: ~S"
 msgstr "määrittämätön: ~S"
 
 msgid "undefined: ~S"
 msgstr "määrittämätön: ~S"
 
-#: output-svg.scm:121
-#, lisp-format
-msgid "can't decypher Pango description: ~a"
+#: output-svg.scm:132
+#, scheme-format
+msgid "cannot decypher Pango description: ~a"
 msgstr "decypher ei onnistunut Pango kuvauksessa: ~a"
 
 #: output-tex.scm:98
 msgstr "decypher ei onnistunut Pango kuvauksessa: ~a"
 
 #: output-tex.scm:98
-#, lisp-format
-msgid "can't find ~a in ~a"
+#, scheme-format
+msgid "cannot find ~a in ~a"
 msgstr "ei löytynyt ~a paikassa ~a"
 
 msgstr "ei löytynyt ~a paikassa ~a"
 
-#: page-layout.scm:433
-msgid "Calculating page breaks..."
-msgstr "Lasketaan sivunvaihtoja..."
-
-#: paper.scm:68
+#: paper.scm:69
 msgid "Not in toplevel scope"
 msgstr "Ei huipputason piirissä"
 
 msgid "Not in toplevel scope"
 msgstr "Ei huipputason piirissä"
 
-#: paper.scm:113
-#, lisp-format
+#: paper.scm:117
+#, scheme-format
 msgid "This is not a \\layout {} object, ~S"
 msgstr "Tämä ei ole \\layout {} objekti, ~S"
 
 msgid "This is not a \\layout {} object, ~S"
 msgstr "Tämä ei ole \\layout {} objekti, ~S"
 
+#: paper.scm:129
+#, scheme-format
+msgid "Unknown papersize: ~a"
+msgstr "Tuntematon paperikoko: ~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:141
+#: paper.scm:144
 msgid "Must use #(set-paper-size .. ) within \\paper { ... }"
 msgstr "Täytyy käyttää #(set-paper-size .. ) \\paper { ... } :n sisällä"
 
 msgid "Must use #(set-paper-size .. ) within \\paper { ... }"
 msgstr "Täytyy käyttää #(set-paper-size .. ) \\paper { ... } :n sisällä"
 
-#: ps-to-png.scm:96
-#, lisp-format
+#: parser-clef.scm:126
+#, scheme-format
+msgid "unknown clef type `~a'"
+msgstr "tuntematon avaimen tyyppi: `~a'"
+
+#: parser-clef.scm:127
+msgid "see scm/clef.scm for supported clefs"
+msgstr "katso tiedostosta scm/clef.scm tuetut avaimet"
+
+#: ps-to-png.scm:88
+#, scheme-format
 msgid "~a exited with status: ~S"
 msgstr "~a komento lopetettiin tilassa: ~S"
 
 #: to-xml.scm:190
 msgid "~a exited with status: ~S"
 msgstr "~a komento lopetettiin tilassa: ~S"
 
 #: to-xml.scm:190
-msgid "assertion failed"
+#, fuzzy, scheme-format
+msgid "assertion failed: ~S"
 msgstr "ajaminen epäonnistui"
 
 msgstr "ajaminen epäonnistui"
 
+#~ msgid "silly pitch"
+#~ msgstr "sekava äänenkorkeus"
+
+#~ msgid "show warranty"
+#~ msgstr "näytä takuusitoumus"
+
+#~ msgid ""
+#~ "Process LilyPond snippets in hybrid HTML, LaTeX, texinfo or DocBook "
+#~ "document.\n"
+#~ "\n"
+#~ "Example usage:\n"
+#~ "\n"
+#~ " lilypond-book --filter=\"tr '[a-z]' '[A-Z]'\" BOOK\n"
+#~ " lilypond-book --filter=\"convert-ly --no-version --from=2.0.0 -\" BOOK\n"
+#~ " lilypond-book --process='lilypond -I include' BOOK\n"
+#~ msgstr ""
+#~ "Käsittele HTML, LaTeX, texinfo tai DocBook -documenttiin sisällytetyt "
+#~ "LilyPond palaset.\n"
+#~ "Käyttöesimerkkejä:\n"
+#~ "\n"
+#~ "   lilypond-book --filter=\"tr '[a-z]' '[A-Z]'\" BOOK\n"
+#~ "   lilypond-book --filter=\"convert-ly --no-version --from=2.0.0 -\" "
+#~ "BOOK\n"
+#~ "   lilypond-book --process='lilypond -I include' BOOK\n"
+
+#~ msgid "loading default font"
+#~ msgstr "ladataan oletusfontti"
+
+#~ msgid "cannot find default font: `%s'"
+#~ msgstr "ei löytynyt oletusfonttia: `%s'"
+
+#~ msgid "not setting creation callback: not a procedure"
+#~ msgstr "ei aseteta luonnin takaisinkutsua: ei ole proseduuri"
+
+#~ msgid "not setting modification callback: not a procedure"
+#~ msgstr "ei aseteta muutoksen takaisinkutsua: ei ole proseduuri"
+
+#~ msgid "crescendo too small"
+#~ msgstr "liian lyhyt crescendo"
+
+#~ msgid "print this help"
+#~ msgstr "näytä tämä opaste"
+
+#~ msgid "cannot open file %s"
+#~ msgstr "ei voitu avata tiedostoa %s"
+
+#~ msgid "Invalid direction of slur-event"
+#~ msgstr "Tuntematon kaari-tapahtuman suunta"
+
+#~ msgid "invalid direction of tuplet-span-event"
+#~ msgstr "tuntematon tuplettiväli-tapahtuman suunta"
+
+#~ msgid "Incorrect lilypond version: %s (%s, %s)"
+#~ msgstr "Epäkelpo lilypond versio: %s (%s, %s)"