]> git.donarmstrong.com Git - lilypond.git/blobdiff - po/fi.po
apply Julian's patch to fix install-info warnings
[lilypond.git] / po / fi.po
index 7f6459a2a048b165f57b4d5923880cde4817d882..6b4b3d9d7344a45ebeeff14f78aa5365bdf2dcb7 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
-# translation of fi.po to 
-# 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.
 # 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.
-# First translator: Heikki Junes <hjunes@cc.hut.fi>, 2003-2005.
-# 
-# 
+#
+#
+# First translator: Heikki Johannes Junes <hjunes@gmail.com>, 2003-2008.
 msgid ""
 msgstr ""
 "Project-Id-Version: fi\n"
 "Report-Msgid-Bugs-To: \n"
 msgid ""
 msgstr ""
 "Project-Id-Version: fi\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-13 17:35+0200\n"
-"PO-Revision-Date: 2006-03-14 13:04+0100\n"
-"Last-Translator: hjunes <>\n"
-"Language-Team:  <en@li.org>\n"
+"POT-Creation-Date: 2006-12-24 10:40+0100\n"
+"PO-Revision-Date: 2008-10-29 16:19+0200\n"
+"Last-Translator: Heikki Johannes Junes <hjunes@gmail.com>\n"
+"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 0.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 
-#: convertrules.py:9
+#: convertrules.py:12
 #, python-format
 msgid "Not smart enough to convert %s"
 #, python-format
 msgid "Not smart enough to convert %s"
-msgstr "Ei tarpeeksi fiksu konvertoidakseen %sd"
+msgstr "Ei tarpeeksi fiksu muuntaakseen %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:2395
+#: convertrules.py:2398
 msgid "LilyPond source must be UTF-8"
 msgid "LilyPond source must be UTF-8"
-msgstr "LilyPond lähdekoodin täytyy olla UTF-8 muodossa"
+msgstr "LilyPond-syötteen on oltava UTF-8 muodossa"
 
 
-#: convertrules.py:2398
+#: 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:2401
+#: 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:2404
+#: convertrules.py:2407
 msgid "Or save as UTF-8 in your editor"
 msgid "Or save as UTF-8 in your editor"
-msgstr "Tai talleta UTF-8 -muodossa editorissasi"
+msgstr "Tai talleta UTF-8 -muodossa muokkaimessasi"
 
 
-#: fontextract.py:25
+#: fontextract.py:26
 #, python-format
 msgid "Scanning %s"
 #, python-format
 msgid "Scanning %s"
-msgstr "Skannataan %s"
+msgstr "Tutkaillaan %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"
 #, python-format
 msgid "Writing fonts to %s"
-msgstr "Kirjoitetaan fontit osoitteeseen `%s'"
+msgstr "Kirjoitetaan fontit kohteeseen %s"
 
 
-#: lilylib.py:82
+#: lilylib.py:85 lilylib.py:136
 #, python-format
 msgid "Invoking `%s'"
 msgstr "Kutsutaan `%s'"
 
 #, python-format
 msgid "Invoking `%s'"
 msgstr "Kutsutaan `%s'"
 
-#: lilylib.py:84
+#: lilylib.py:87 lilylib.py:138
 #, python-format
 msgid "Running %s..."
 msgstr "Ajetaan %s..."
 
 #, python-format
 msgid "Running %s..."
 msgstr "Ajetaan %s..."
 
-#: lilylib.py:168
+#: lilylib.py:203
 #, python-format
 #, python-format
-msgid "Usage: %s\n"
-msgstr "Käyttö: %s\n"
+msgid "Usage: %s"
+msgstr "Käyttö: %s"
 
 
-#: abc2ly.py:1357
+#: abc2ly.py:1349 convert-ly.py:80 lilypond-book.py:125 midi2ly.py:869
+#, python-format
+msgid "%s [OPTION]... FILE"
+msgstr "%s [OPTIO]... TIEDOSTO"
+
+#: abc2ly.py:1351
+#, python-format
 msgid ""
 msgid ""
-"This program converts ABC music files (see\n"
-"http://www.gre.ac.uk/~c.walshaw/abc2mtex/abc.txt) 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"
+"abc2ly converts ABC music files (see\n"
+"%s) to LilyPond input."
+msgstr ""
+"abc2ly muuntaa ABC-musiikkitiedostoja (katso\n"
+"%s) LilyPond-syötteeksi."
 
 
-#: abc2ly.py:1360
-msgid "set output filename to FILE"
+#: abc2ly.py:1355 etf2ly.py:1200 midi2ly.py:885
+msgid "write output to FILE"
 msgstr "tulosta tiedostoon TIEDOSTO"
 
 msgstr "tulosta tiedostoon TIEDOSTO"
 
-#: abc2ly.py:1362
+#: abc2ly.py:1357
 msgid "be strict about succes"
 msgstr "ole tarkka onnistumisesta"
 
 msgid "be strict about succes"
 msgstr "ole tarkka onnistumisesta"
 
-#: abc2ly.py:1364
+#: abc2ly.py:1359
 msgid "preserve ABC's notion of beams"
 msgstr "säilytä ABC:n palkkimerkinnät"
 
 msgid "preserve ABC's notion of beams"
 msgstr "säilytä ABC:n palkkimerkinnät"
 
-#: convert-ly.py:49
+#: abc2ly.py:1361 convert-ly.py:112 etf2ly.py:1208 lilypond-book.py:168
+#: midi2ly.py:911 musicxml2ly.py:505
+msgid "Report bugs via"
+msgstr "Raportoi virheet osoitteeseen"
+
+#: convert-ly.py:41
 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"
 msgstr ""
 "Päivitä LilyPond syöte uudempaan versioon.  Oletuksena päivittää\n"
-"versiosta joka on annettu \\version komennolla nykyiseksi LilyPond "
-"versioksi.\n"
-"Esimerkkejä:\n"
-"\n"
-"  convert-ly -e old.ly\n"
-"  convert-ly --from=2.3.28 --to 2.5.21 foobar.ly\n"
+"versiosta joka on annettu \\version komennolla nykyiseksi LilyPond versioksi."
+
+#: convert-ly.py:43 lilypond-book.py:73
+msgid "Examples:"
+msgstr "Esimerkit:"
 
 
-#: convert-ly.py:67 lilypond-book.py:115 warn.cc:48 input.cc:81
+#: convert-ly.py:56 lilypond-book.py:98 warn.cc:48 input.cc:90
 #, c-format, python-format
 msgid "warning: %s"
 msgstr "varoitus: %s"
 
 #, c-format, python-format
 msgid "warning: %s"
 msgstr "varoitus: %s"
 
-#: convert-ly.py:70 lilypond-book.py:118 warn.cc:54 input.cc:87 input.cc:95
+#: 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"
 
 #, c-format, python-format
 msgid "error: %s"
 msgstr "virhe: %s"
 
-#: convert-ly.py:86 etf2ly.py:1200 lilypond-book.py:138 midi2ly.py:114
+#: convert-ly.py:75 etf2ly.py:1190 lilypond-book.py:121 midi2ly.py:98
 msgid "Distributed under terms of the GNU General Public License."
 msgid "Distributed under terms of the GNU General Public License."
-msgstr "Levitettävissä ehdoilla GNU General Public License."
+msgstr "Levitettään ehdoilla GNU General Public License."
 
 
-#: convert-ly.py:87 etf2ly.py:1201 lilypond-book.py:139 midi2ly.py:115
+#: 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."
 
 msgid "It comes with NO WARRANTY."
 msgstr "Se toimitetaan ILMAN TAKUUTA."
 
-#: convert-ly.py:98 convert-ly.py:118
+#: convert-ly.py:86 convert-ly.py:106
 msgid "VERSION"
 msgstr "VERSIO"
 
 msgid "VERSION"
 msgstr "VERSIO"
 
-#: convert-ly.py:100
+#: 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:103
+#: convert-ly.py:91
 msgid "edit in place"
 msgid "edit in place"
-msgstr "editoi paikassaan"
+msgstr "muokkaa paikassaan"
 
 
-#: convert-ly.py:106
+#: convert-ly.py:94
 msgid "do not add \\version command if missing"
 msgid "do not add \\version command if missing"
-msgstr "älä lisää \\version komentoa jos se puuttuu"
+msgstr "älä lisää \\version komentoa, jos se puuttuu"
 
 
-#: convert-ly.py:112
-msgid "print rules [default: --from=0, --to=@TOPLEVEL_VERSION@]"
+#: convert-ly.py:100
+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:117
+#: convert-ly.py:105
 msgid "convert to VERSION [default: @TOPLEVEL_VERSION@]"
 msgid "convert to VERSION [default: @TOPLEVEL_VERSION@]"
-msgstr "muunnaa versioon VERSIO [oletus: @TOPLEVEL_VERSION@]"
+msgstr "muunna versioon VERSIO [oletus: @TOPLEVEL_VERSION@]"
 
 
-#: convert-ly.py:164
+#: convert-ly.py:153
 msgid "Applying conversion: "
 msgstr "Toteutetaan muunnos: "
 
 msgid "Applying conversion: "
 msgstr "Toteutetaan muunnos: "
 
-#: convert-ly.py:176
-msgid "error while converting"
-msgstr "virhe muunnettaessa"
+#: convert-ly.py:166
+msgid "Error while converting"
+msgstr "Virhe muunnettaessa"
 
 
-#: convert-ly.py:178 score-engraver.cc:73
-msgid "Aborting"
-msgstr "Keskeytetään"
+#: convert-ly.py:168
+msgid "Stopping at last succesful rule"
+msgstr "Lopetetaan viimeisen onnistuneen säännön kohdalla"
 
 
-#: convert-ly.py:202
+#: convert-ly.py:190
 #, python-format
 msgid "Processing `%s'... "
 #, python-format
 msgid "Processing `%s'... "
-msgstr "Prosessoidaan `%s'..."
+msgstr "Prosessoidaan `%s'... "
 
 
-#: convert-ly.py:289 source-file.cc:56
+#: 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:296
+#: convert-ly.py:284
 #, python-format
 #, python-format
-msgid "can't determine version for `%s'. Skipping"
+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"
 
-#: etf2ly.py:1208
+#: etf2ly.py:1196
+#, python-format
+msgid "%s [OPTION]... ETF-FILE"
+msgstr "%s [OPTIO]... ETF-TIEDOSTO"
+
+#: etf2ly.py:1198
 msgid ""
 "Enigma Transport Format is a format used by Coda Music Technology's\n"
 msgid ""
 "Enigma Transport Format is a format used by Coda Music Technology's\n"
-"Finale product. This program will convert a subset of ETF to a\n"
-"ready-to-use lilypond file."
+"Finale product.  etf2ly converts a subset of ETF to a ready-to-use LilyPond "
+"file."
 msgstr ""
 "Enigma Transport Format on Coda Music Technology:n Finale-tuotteen\n"
 msgstr ""
 "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."
-
-#: etf2ly.py:1211 midi2ly.py:901
-msgid "write output to FILE"
-msgstr "tulosta tiedostoon TIEDOSTO"
+"tallennusmuoto. etf2ly muuntaa ETF-muodon osajoukon LilyPondin käytettäväksi."
 
 
-#: etf2ly.py:1212 midi2ly.py:902 main.cc:172 main.cc:178
+#: etf2ly.py:1201 midi2ly.py:886 musicxml2ly.py:498 main.cc:172 main.cc:178
 msgid "FILE"
 msgstr "TIEDOSTO"
 
 msgid "FILE"
 msgstr "TIEDOSTO"
 
-#: etf2ly.py:1214 midi2ly.py:915
-msgid "show warranty"
-msgstr "näytä takuusitoumus"
+#: 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:88
+#: lilypond-book.py:71
 msgid ""
 msgid ""
-"Process LilyPond snippets in hybrid HTML, LaTeX, or texinfo 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"
+"Process LilyPond snippets in hybrid HTML, LaTeX, texinfo or DocBook document."
 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"
+"Käsittele LilyPond palaset, jotka on upotettu HTML, LaTeX, texinfo tai "
+"DocBook -tallenteeseen."
 
 
-#: lilypond-book.py:104
+#: lilypond-book.py:78
+msgid "BOOK"
+msgstr "KIRJA"
+
+#: lilypond-book.py:87
 #, python-format
 msgid "Exiting (%d)..."
 msgstr "Lopetetaan (%d)..."
 
 #, python-format
 msgid "Exiting (%d)..."
 msgstr "Lopetetaan (%d)..."
 
-#: lilypond-book.py:136
+#: lilypond-book.py:119
 #, python-format
 msgid "Copyright (c) %s by"
 msgstr "Copyright (c) %s by"
 
 #, python-format
 msgid "Copyright (c) %s by"
 msgstr "Copyright (c) %s by"
 
-#: lilypond-book.py:147
+#: lilypond-book.py:129
 msgid "FILTER"
 msgstr "FILTER"
 
 msgid "FILTER"
 msgstr "FILTER"
 
-#: lilypond-book.py:150
+#: 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:152
-msgid "use output format FORMAT (texi [default], texi-html, latex, html)"
+#: lilypond-book.py:135
+msgid ""
+"use output format FORMAT (texi [default], texi-html, latex, html, docbook)"
 msgstr ""
 msgstr ""
-"käytä tulostusmuotona formaattia FMT (texi [oletus], texi-html, latex, html)"
+"käytä tulostusmuotona formaattia FMT (texi [oletus], texi-html, latex, html, "
+"docbook)"
 
 
-#: lilypond-book.py:154
+#: 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:159
+#: 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:162
+#: lilypond-book.py:147
 msgid "COMMAND"
 msgstr "KOMENTO"
 
 msgid "COMMAND"
 msgstr "KOMENTO"
 
-#: lilypond-book.py:163
+#: lilypond-book.py:148
 msgid "process ly_files using COMMAND FILE..."
 msgid "process ly_files using COMMAND FILE..."
-msgstr "prosessoi ly_tiedostot käyttäen komentoa COMMAND FILE..."
+msgstr "prosessoi ly_tiedostot komennolla COMMAND FILE..."
+
+#: lilypond-book.py:154
+msgid "Create PDF files for use with PDFTeX"
+msgstr "Luo PDF-tiedosto PDFTeX-käyttöä varten"
 
 
-#: lilypond-book.py:168
+#: lilypond-book.py:157
 msgid ""
 msgid ""
-"extract all PostScript fonts into INPUT.psfonts for LaTeXmust use this with "
-"dvips -h INPUT.psfonts"
+"extract all PostScript fonts into INPUT.psfonts for LaTeX\n"
+"must use this with dvips -h INPUT.psfonts"
 msgstr ""
 msgstr ""
-"poimi 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:171 midi2ly.py:912 main.cc:182
+#: 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:177 main.cc:183
-msgid "show warranty and copyright"
-msgstr "näytä takuu ja copyright"
-
-#: lilypond-book.py:734
+#: lilypond-book.py:773
 #, python-format
 msgid "file not found: %s"
 #, python-format
 msgid "file not found: %s"
-msgstr "tiedostoa %s ei löydy"
+msgstr "tiedostoa ei löydy: %s "
 
 
-#: lilypond-book.py:963
+#: 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:966
+#: 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:970
+#: 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:973
+#: 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:992
+#: lilypond-book.py:1033
 #, python-format
 msgid "ignoring unknown ly option: %s"
 #, python-format
 msgid "ignoring unknown ly option: %s"
-msgstr "sivuutetaan tuntematon ly -optio: %s"
+msgstr "sivuutetaan tuntematon ly -valinta: %s"
 
 
-#: lilypond-book.py:1327
+#: lilypond-book.py:1388
 #, python-format
 msgid "Opening filter `%s'"
 #, python-format
 msgid "Opening filter `%s'"
-msgstr "Avataan filtteri `%s'"
+msgstr "Avataan suodin `%s'"
 
 
-#: lilypond-book.py:1344
+#: lilypond-book.py:1405
 #, python-format
 msgid "`%s' failed (%d)"
 msgstr "`%s' epäonnistui (%d)"
 
 #, python-format
 msgid "`%s' failed (%d)"
 msgstr "`%s' epäonnistui (%d)"
 
-#: lilypond-book.py:1345
+#: lilypond-book.py:1406
 msgid "The error log is as follows:"
 msgstr "Virheloki on seuraava:"
 
 msgid "The error log is as follows:"
 msgstr "Virheloki on seuraava:"
 
-#: lilypond-book.py:1512
+#: lilypond-book.py:1476
+msgid "cannot find \\begin{document} in LaTeX document"
+msgstr "Ei löydetty \\begin{document} LaTeX-documentista "
+
+#: lilypond-book.py:1586
 msgid "Writing snippets..."
 msgstr "Kirjoitetaan palasia..."
 
 msgid "Writing snippets..."
 msgstr "Kirjoitetaan palasia..."
 
-#: lilypond-book.py:1517
+#: lilypond-book.py:1591
 msgid "Processing..."
 msgid "Processing..."
-msgstr "Prosessoidaan..."
+msgstr "Käsitellään..."
 
 
-#: lilypond-book.py:1521
+#: 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:1531
+#: lilypond-book.py:1605
 #, python-format
 #, python-format
-msgid "can't determine format for: %s"
-msgstr "ei löytynyt formaattia: %s"
+msgid "cannot determine format for: %s"
+msgstr "ei löytynyt formaattia kohteelle: %s"
 
 
-#: lilypond-book.py:1542
+#: 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:1548
+#: lilypond-book.py:1622
 #, python-format
 msgid "Writing `%s'..."
 msgstr "Kirjoitetaan `%s'..."
 
 #, python-format
 msgid "Writing `%s'..."
 msgstr "Kirjoitetaan `%s'..."
 
-#: lilypond-book.py:1595
+#: 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:1599
+#: lilypond-book.py:1681
 #, python-format
 msgid "Reading %s..."
 msgstr "Luetaan %s..."
 
 #, python-format
 msgid "Reading %s..."
 msgstr "Luetaan %s..."
 
-#: lilypond-book.py:1618
+#: lilypond-book.py:1700
 msgid "Dissecting..."
 msgstr "Analysoidaan..."
 
 msgid "Dissecting..."
 msgstr "Analysoidaan..."
 
-#: lilypond-book.py:1634
+#: lilypond-book.py:1716
 #, python-format
 msgid "Compiling %s..."
 msgstr "Kootaan %s..."
 
 #, python-format
 msgid "Compiling %s..."
 msgstr "Kootaan %s..."
 
-#: lilypond-book.py:1643
+#: lilypond-book.py:1725
 #, python-format
 msgid "Processing include: %s"
 #, python-format
 msgid "Processing include: %s"
-msgstr "Prosessoidaan sisällytetävä: %s"
+msgstr "Käsitellään sisällytetävä: %s"
 
 
-#: lilypond-book.py:1657
+#: lilypond-book.py:1739
 #, python-format
 msgid "Removing `%s'"
 msgstr "Poistetaan `%s'"
 
 #, python-format
 msgid "Removing `%s'"
 msgstr "Poistetaan `%s'"
 
-#: lilypond-book.py:1717
+#: lilypond-book.py:1815
 #, python-format
 msgid "Writing fonts to %s..."
 #, python-format
 msgid "Writing fonts to %s..."
-msgstr "Kirjoitetaan fontteja hakemistoon %s..."
+msgstr "Kirjoitetaan kirjasimia kohteeseen %s..."
 
 
-#: lilypond-book.py:1729
+#: lilypond-book.py:1830
 msgid "option --psfonts not used"
 msgid "option --psfonts not used"
-msgstr "optiota --psfonts=FILE ei käytetty"
+msgstr "valintaa --psfonts ei käytetty"
 
 
-#: lilypond-book.py:1730
+#: lilypond-book.py:1831
 msgid "processing with dvips will have no fonts"
 msgid "processing with dvips will have no fonts"
-msgstr "prosessointi dvips:illä ei sisällä fontteja"
+msgstr "prosessointi dvips:illä ei sisällä kirjasimia"
 
 
-#: lilypond-book.py:1736
+#: lilypond-book.py:1834
 msgid "DVIPS usage:"
 msgstr "DVIPS käyttö:"
 
 msgid "DVIPS usage:"
 msgstr "DVIPS käyttö:"
 
-#: midi2ly.py:122 lily-library.scm:489 lily-library.scm:497
+#: midi2ly.py:106 lily-library.scm:624 lily-library.scm:632
 msgid "warning: "
 msgstr "varoitus: "
 
 msgid "warning: "
 msgstr "varoitus: "
 
-#: midi2ly.py:125 midi2ly.py:941
+#: midi2ly.py:109 midi2ly.py:924
 msgid "error: "
 msgstr "virhe: "
 
 msgid "error: "
 msgstr "virhe: "
 
-#: midi2ly.py:126
+#: midi2ly.py:110
 msgid "Exiting ... "
 msgid "Exiting ... "
-msgstr "Lopettaa ... "
+msgstr "Lopetetaan ... "
 
 
-#: midi2ly.py:873
+#: midi2ly.py:857
 #, python-format
 msgid "%s output to `%s'..."
 msgstr "%s tulostetaan paikkaan `%s'..."
 
 #, python-format
 msgid "%s output to `%s'..."
 msgstr "%s tulostetaan paikkaan `%s'..."
 
-#: midi2ly.py:887
-msgid "Convert MIDI to LilyPond source."
-msgstr "Muunna MIDI LilyPond -muotoon."
+#: midi2ly.py:871 musicxml2ly.py:485
+#, python-format
+msgid "Convert %s to LilyPond input."
+msgstr "Muunna %s LilyPond -syötteeksi."
 
 
-#: midi2ly.py:891
+#: midi2ly.py:875
 msgid "print absolute pitches"
 msgstr "tulosta tarkat äänenkorkeudet"
 
 msgid "print absolute pitches"
 msgstr "tulosta tarkat äänenkorkeudet"
 
-#: midi2ly.py:893 midi2ly.py:905
+#: midi2ly.py:877 midi2ly.py:889
 msgid "DUR"
 msgstr "PIT"
 
 msgid "DUR"
 msgstr "PIT"
 
-#: midi2ly.py:894
+#: 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:897
+#: midi2ly.py:881
 msgid "print explicit durations"
 msgstr "tulosta yksikäsitteiset nuottipituudet"
 
 msgid "print explicit durations"
 msgstr "tulosta yksikäsitteiset nuottipituudet"
 
-#: midi2ly.py:898
+#: 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:899
+#: midi2ly.py:883
 msgid "ALT[:MINOR]"
 msgstr "ETUMERKIT[:MOLLI]"
 
 msgid "ALT[:MINOR]"
 msgstr "ETUMERKIT[:MOLLI]"
 
-#: midi2ly.py:904
+#: midi2ly.py:888
 msgid "quantise note starts on DUR"
 msgid "quantise note starts on DUR"
-msgstr "nuottien kvantisointi alkukohtana PIT"
+msgstr "kvantisoi nuotit aloittaen kohdasta PIT"
 
 
-#: midi2ly.py:907
+#: 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:910
+#: 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:918
+#: midi2ly.py:902
 msgid "treat every text as a lyric"
 msgid "treat every text as a lyric"
-msgstr "käsittele kaikki tekstit lyriikkana"
+msgstr "käsittele kaikki tekstit sanoituksena"
 
 
-#: midi2ly.py:921
-msgid "example"
-msgstr "esimerkki"
+#: midi2ly.py:905
+msgid "Examples"
+msgstr "Esimerkit"
 
 
-#: midi2ly.py:942
+#: midi2ly.py:925
 msgid "no files specified on command line."
 msgid "no files specified on command line."
-msgstr "tiedostoja ei annettu komentorivillä."
+msgstr "ei komentoriviltä määritettyjä tiedostoja."
+
+#: musicxml2ly.py:473
+msgid "musicxml2ly FILE.xml"
+msgstr "musicxml2ly TIEDOSTO.xml"
 
 
-#: getopt-long.cc:141
+#: musicxml2ly.py:476
+#, 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ää\n
informaatiota."
+
+#: musicxml2ly.py:495
+msgid "Use lxml.etree; uses less memory and cpu time."
+msgstr "Käytä lxml.etree; se käyttää vähemmän muistia ja prosessoriaikaa."
+
+#: musicxml2ly.py:503
+msgid "set output filename to FILE"
+msgstr "ohjaa syöte tiedostoon TIEDOSTO"
+
+#: getopt-long.cc:140
 #, c-format
 msgid "option `%s' requires an argument"
 #, c-format
 msgid "option `%s' requires an argument"
-msgstr "optio `%s' vaatii argumentin"
+msgstr "valinta `%s' vaatii muuttujan"
 
 
-#: getopt-long.cc:145
+#: getopt-long.cc:144
 #, c-format
 #, c-format
-msgid "option `%s' doesn't allow an argument"
-msgstr "optio `%s' ei salli argumenttia"
+msgid "option `%s' does not allow an argument"
+msgstr "valinta `%s' ei hyväksy muuttujaa"
 
 
-#: getopt-long.cc:149
+#: getopt-long.cc:148
 #, c-format
 msgid "unrecognized option: `%s'"
 #, c-format
 msgid "unrecognized option: `%s'"
-msgstr "tunnistamaton optio: `%s'"
+msgstr "tunnistamaton valinta: `%s'"
 
 
-#: getopt-long.cc:155
+#: getopt-long.cc:154
 #, c-format
 msgid "invalid argument `%s' to option `%s'"
 #, c-format
 msgid "invalid argument `%s' to option `%s'"
-msgstr "epäkelpo argumentti `%s' optiolle `%s'"
+msgstr "epäkelpo muuttuja `%s' valinnalle `%s'"
 
 
-#: warn.cc:68 grob.cc:462
+#: 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:69
+#: 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"
 
-#: accidental-engraver.cc:238
+#: 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:266
+#: accidental-engraver.cc:268
 #, c-format
 msgid "ignoring unknown accidental: %s"
 #, c-format
 msgid "ignoring unknown accidental: %s"
-msgstr "sivutetaan tuntematan etumerkki: %s"
+msgstr "sivutetaan tuntematon etumerkki: %s"
 
 
-#: accidental-engraver.cc:282
+#: accidental-engraver.cc:284
 #, c-format
 msgid "pair or context-name expected for accidental rule, found %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"
+msgstr "oletettiin pari tai konteksti-nimi korotusmerkkisäännölle, löytyi %s"
 
 
-#: accidental.cc:239 key-signature-interface.cc:124
+#: 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"
 
-#: align-interface.cc:160
+#: align-interface.cc:222
 msgid ""
 "vertical alignment called before line-breaking.\n"
 "Only do cross-staff spanners with PianoStaff."
 msgstr ""
 msgid ""
 "vertical alignment called before line-breaking.\n"
 "Only do cross-staff spanners with PianoStaff."
 msgstr ""
-"pystysyora sijoittelu kutsuttiin ennen rivinkatkaisua.\n"
-"Viivaston ylittävät ladokkeet tehdään vain PianoStaff:in yhteydessä"
-
-#: all-font-metrics.cc:213
-#, c-format
-msgid "can't find font: `%s'"
-msgstr "ei löytynyt fonttia: `%s'"
-
-#: all-font-metrics.cc:214
-msgid "loading default font"
-msgstr "ladataan oletusfontti"
+"pystysyoraa sijoittelua kutsuttiin ennen rivinkatkaisua.\n"
+"Viivaston ylittävät ladokkeet tehdään vain PianoStaff:in yhteydessä."
 
 
-#: all-font-metrics.cc:224
-#, c-format
-msgid "can't find default font: `%s'"
-msgstr "ei löytynyt oletusfonttia: `%s'"
+#: align-interface.cc:329
+msgid "tried to get a translation for something that is no child of mine"
+msgstr "yritettiin saada tulkinta jollekin, joka ei ole oma lapseni"
 
 
-#: all-font-metrics.cc:225 includable-lexer.cc:62 lily-parser-scheme.cc:97
+#: all-font-metrics.cc:173
 #, c-format
 #, c-format
-msgid "(search path: `%s')"
-msgstr "(hakupolku: `%s')"
-
-#: all-font-metrics.cc:226 volta-engraver.cc:157
-msgid "giving up"
-msgstr "luovutetaan"
+msgid "cannot find font: `%s'"
+msgstr "ei löytynyt kirjasinta: `%s'"
 
 
-#: apply-context-iterator.cc:34
+#: apply-context-iterator.cc:31
 msgid "\\applycontext argument is not a procedure"
 msgid "\\applycontext argument is not a procedure"
-msgstr "\\applycontext vaatii funktioargumentin"
+msgstr "\\applycontext :n muuttuja ei ole menettelytapaohje"
 
 
-#: auto-change-iterator.cc:62 change-iterator.cc:61
+#: 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:79
+#: axis-group-engraver.cc:78
 msgid "Axis_group_engraver: vertical group already has a parent"
 msgid "Axis_group_engraver: vertical group already has a parent"
-msgstr "Axis_group_engraver: vertikaaliryhmällä on jo vanhempi"
+msgstr "Axis_group_engraver: pystysuoralla ryhmällä on jo vanhempi"
 
 
-#: axis-group-engraver.cc:80
+#: 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:81
+#: axis-group-engraver.cc:80
 msgid "removing this vertical group"
 msgid "removing this vertical group"
-msgstr "poistetaan tämä vertikaaliryhmä"
+msgstr "poistetaan tämä pystysuora ryhmä"
+
+#: 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 ""
+"viivaston ulkopuolisella kohteella tulee olla suunta, oletetaan ylöspäin"
+
+#: axis-group-interface.cc:383
+#, c-format
+msgid "outside-staff object %s has an empty extent"
+msgstr "viivaston ulkopuolisella kohteella %s on tyhjä ulottuvuus"
 
 #: bar-check-iterator.cc:73
 #, c-format
 msgid "barcheck failed at: %s"
 msgstr "tahtiviivan tarkistus epäonnistui kohdassa: %s"
 
 
 #: bar-check-iterator.cc:73
 #, c-format
 msgid "barcheck failed at: %s"
 msgstr "tahtiviivan tarkistus epäonnistui kohdassa: %s"
 
-#: beam-engraver.cc:136
+#: 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:205
+#: 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:246 chord-tremolo-engraver.cc:162
+#: 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:259
-msgid "stem doesn't fit in beam"
+#: beam-engraver.cc:246
+msgid "stem does not fit in beam"
 msgstr "varsi ei sovi palkkiin"
 
 msgstr "varsi ei sovi palkkiin"
 
-#: beam-engraver.cc:260
+#: beam-engraver.cc:247
 msgid "beam was started here"
 msgstr "palkki aloitettiin täältä"
 
 msgid "beam was started here"
 msgstr "palkki aloitettiin täältä"
 
-#: beam-quanting.cc:306
+#: beam-quanting.cc:307
 msgid "no feasible beam position"
 msgid "no feasible beam position"
-msgstr "ei löytynyt sopivaa palkin paikkaa"
+msgstr "ei löytynyt sopivaa paikkaa palkille"
 
 
-#: beam.cc:126
-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 varsia"
 
 
-#: beam.cc:981
+#: 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:194
+#: break-alignment-interface.cc:208
 #, c-format
 msgid "No spacing entry from %s to `%s'"
 #, c-format
 msgid "No spacing entry from %s to `%s'"
-msgstr "Ei välistyksen syöttöä paikasta %s paikkaan `%s'"
+msgstr "Ei välistyksen syöttöä kohdasta %s kohtaan `%s'"
 
 #: change-iterator.cc:23
 #, c-format
 
 #: change-iterator.cc:23
 #, 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.
 #: change-iterator.cc:82
 msgstr "ei voitu vaihtaa `%s' tilalle `%s'"
 
 #. FIXME: constant error message.
 #: change-iterator.cc:82
-msgid "can't find context to switch to"
+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
@@ -629,27 +663,27 @@ msgstr "ei löytynyt kontekstia johon vaihtaa"
 #: change-iterator.cc:91
 #, c-format
 msgid "not changing to same context type: %s"
 #: change-iterator.cc:91
 #, c-format
 msgid "not changing to same context type: %s"
-msgstr "ei vaihdettu samaan konteksti tyyppiin: %s"
+msgstr "ei vaihdettu samaan konteksti-tyyppiin: %s"
 
 #. FIXME: uncomprehensable message
 #: change-iterator.cc:95
 msgid "none of these in my family"
 msgstr "ei yksikään näistä perheessäni"
 
 
 #. FIXME: uncomprehensable message
 #: change-iterator.cc:95
 msgid "none of these in my family"
 msgstr "ei yksikään näistä perheessäni"
 
-#: chord-tremolo-engraver.cc:96
-#, 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 tremoloa päätettäväksi"
 
 
-#: 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:60
-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 osaa sointutremololle, löytyi %d"
 
 
-#: clef.cc:55
+#: 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"
@@ -663,62 +697,44 @@ msgstr "tuntematon klusterityyli: `%s'"
 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:93
-msgid "distance undefined, assuming 0.1"
-msgstr "etäisyys määrittämättä, oletetaan 0.1"
-
-#: coherent-ligature-engraver.cc:96
-#, c-format
-msgid "distance=%f"
-msgstr "etäisyys=%f"
-
-#: coherent-ligature-engraver.cc:136
+#: coherent-ligature-engraver.cc:100
 #, c-format
 msgid "Coherent_ligature_engraver: setting `spacing-increment=0.01': ptr=%ul"
 msgstr ""
 "Coherent_ligature_engraver: asetetaan `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"
 
-#: constrained-breaking.cc:124
-msgid "no system number set in constrained-breaking"
-msgstr "viivastojen määrää ei asetettu pakotetussa katkaisussa"
-
 #. if we get to here, just put everything on one line
 #. if we get to here, just put everything on one line
-#: constrained-breaking.cc:225 constrained-breaking.cc:241
-msgid "couldn't find line breaking that satisfies constraints"
-msgstr "ei löytynyt rivinkatkaisukohtaa joka täyttäisi ehdot"
+#: constrained-breaking.cc:176 constrained-breaking.cc:193
+msgid "cannot find line breaking that satisfies constraints"
+msgstr "ei löytynyt rivinkatkaisukohtaa, joka täyttäisi ehdot"
 
 
-#: context-def.cc:123
+#: 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:77
+#: 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'"
 
 #: context.cc:276
 #, c-format
 msgstr "ei löydetty tai ei luotu `%s' nimeltä `%s'"
 
 #: context.cc:276
 #, c-format
-msgid "can't find or create: `%s'"
+msgid "Invalid CreateContext event: Cannot create %s context"
+msgstr "Epäkelpo CreateContext-tapahtuma: Ei voitu luoda %s-kontekstia"
+
+#: context.cc:388
+#, c-format
+msgid "cannot find or create: `%s'"
 msgstr "ei löydetty tai ei luotu: `%s'"
 
 #: custos.cc:77
 msgstr "ei löydetty tai ei luotu: `%s'"
 
 #: custos.cc:77
@@ -726,225 +742,218 @@ msgstr "ei löydetty tai ei luotu: `%s'"
 msgid "custos `%s' not found"
 msgstr "custos `%s' ei löytynyt"
 
 msgid "custos `%s' not found"
 msgstr "custos `%s' ei löytynyt"
 
-#: dynamic-engraver.cc:181 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:190
+#: 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:192
+#: 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:195
+#: 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:315
+#: 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:53 output-property-music-iterator.cc:31
-#, c-format
-msgid "junking event: `%s'"
-msgstr "hylätään tapahtuma: `%s'"
-
 #: extender-engraver.cc:131 extender-engraver.cc:140
 msgid "unterminated extender"
 msgstr "päättämätön pidennys"
 
 #: extender-engraver.cc:131 extender-engraver.cc:140
 msgid "unterminated extender"
 msgstr "päättämätön pidennys"
 
-#: folded-repeat-iterator.cc:63
-msgid "no one to print a repeat brace"
-msgstr "kukaan ei voinut tulostaa toistoa"
-
 #: font-config.cc:28
 msgid "Initializing FontConfig..."
 msgstr "Alustetaan FontConfig..."
 
 #: font-config.cc:28
 msgid "Initializing FontConfig..."
 msgstr "Alustetaan FontConfig..."
 
-#: font-config.cc:38
+#: font-config.cc:44
 #, c-format
 #, c-format
-msgid "Rebuilding FontConfig cache %s. this may take a while..."
+msgid "Rebuilding FontConfig cache %s, this may take a while..."
 msgstr ""
 msgstr ""
-"Käännetään uudelleen FontConfig välimuisti %s. tämä voi kestää hetken..."
+"Käännetään uudelleen FontConfig-välimuisti %s. tämä voi kestää hetken..."
 
 
-#: font-config.cc:49 font-config.cc:51
+#: font-config.cc:55
+#, c-format
+msgid "failed adding font directory: %s"
+msgstr "ei onnistuttu lisäämään fonttihakemistoa: %s"
+
+#: 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:161
+#: 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:162
+#: general-scheme.cc:161
 msgid "setting to zero"
 msgstr "asetetaan nollaksi"
 
 msgid "setting to zero"
 msgstr "asetetaan nollaksi"
 
-#: glissando-engraver.cc:91
+#: 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:50 global-context-scheme.cc:77
+#: 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:68
+#: global-context-scheme.cc:97
 msgid "Interpreting music... "
 msgid "Interpreting music... "
-msgstr "Tulkitaan musiikkia..."
+msgstr "Tulkitaan musiikkia... "
 
 
-#: global-context-scheme.cc:88
+#: 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:202
-#, c-format
-msgid "Optimal demerits: %f"
-msgstr "Optimaalinen heikennys: %f"
-
-#: gourlay-breaking.cc:207
-msgid "no feasible line breaking found"
-msgstr "Ei löytynyt sopivaa viivan katkaisukohtaa"
-
-#: gourlay-breaking.cc:215
-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:61
+#: 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:66
+#: gregorian-ligature-engraver.cc:64
 #, c-format
 msgid "implied \\%s added"
 msgstr "lisättiin vihjattu \\%s"
 
 #. ligature may not start with 2nd head of pes or flexa
 #, c-format
 msgid "implied \\%s added"
 msgstr "lisättiin vihjattu \\%s"
 
 #. ligature may not start with 2nd head of pes or flexa
-#: gregorian-ligature-engraver.cc:214
-msgid "can't apply `\\~' on first head of ligature"
+#: gregorian-ligature-engraver.cc:212
+msgid "cannot apply `\\~' on first head of ligature"
 msgstr "di voitu käyttää `\\~' ligaturen alkupäässä"
 
 #. (pitch == prev_pitch)
 msgstr "di voitu käyttää `\\~' ligaturen alkupäässä"
 
 #. (pitch == prev_pitch)
-#: gregorian-ligature-engraver.cc:226
-msgid "can't apply `\\~' on heads with identical 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:48
+#: 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:59
+#: 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'"
 
-#: grob.cc:242
+#: grob.cc:253
 msgid "Infinity or NaN encountered"
 msgstr "ääretön tai NaN kohdattiin"
 
 msgid "Infinity or NaN encountered"
 msgstr "ääretön tai NaN kohdattiin"
 
-#: hairpin.cc:149
+#: hairpin.cc:183
 msgid "decrescendo too small"
 msgstr "liian lyhyt decrescendo"
 
 msgid "decrescendo too small"
 msgstr "liian lyhyt decrescendo"
 
-#: hairpin.cc:150
-msgid "crescendo too small"
-msgstr "liian lyhyt crescendo"
+#: horizontal-bracket-engraver.cc:59
+msgid "do not have that many brackets"
+msgstr "ei niin monia sulkeita ole käytettävissä "
 
 
-#: horizontal-bracket-engraver.cc:58
-msgid "don't have that many brackets"
-msgstr "ei ole käytössä niin monia sulkeita"
-
-#: horizontal-bracket-engraver.cc:67
+#: horizontal-bracket-engraver.cc:68
 msgid "conflicting note group events"
 msgid "conflicting note group events"
-msgstr "ristiriitainen nuottiryhmä -tapaus"
+msgstr "ristiriitaisia nuottiryhmä -tapahtumia"
 
 #: hyphen-engraver.cc:93
 msgid "removing unterminated hyphen"
 
 #: hyphen-engraver.cc:93
 msgid "removing unterminated hyphen"
-msgstr "päättämätön tavuviiva"
+msgstr "poistetaan päättämätön tavuviiva"
 
 #: hyphen-engraver.cc:107
 msgid "unterminated hyphen; removing"
 
 #: hyphen-engraver.cc:107
 msgid "unterminated hyphen; removing"
-msgstr "päättämätön tavuviiva"
+msgstr "päättämätön tavuviiva; poistetaan"
 
 #: includable-lexer.cc:53
 msgid "include files are not allowed in safe mode"
 
 #: includable-lexer.cc:53
 msgid "include files are not allowed in safe mode"
-msgstr "sisällytettävät tiedostot eivät ole sallittuja turvatilassa"
+msgstr "tiedostojen sisällyttäminen ei ole sallittua turvatilassa"
 
 
-#: includable-lexer.cc:60 lily-guile.cc:96 lily-parser-scheme.cc:104
+#: 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:103 source-file.cc:153 source-file.cc:168
+#: 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:100
-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:105
+#: ligature-engraver.cc:98
 msgid "no right bound"
 msgstr "ei oikeata reunaa"
 
 msgid "no right bound"
 msgstr "ei oikeata reunaa"
 
-#: ligature-engraver.cc:127
+#: 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:136
+#: ligature-engraver.cc:129
 msgid "no left bound"
 msgstr "ei vasenta reunaa"
 
 msgid "no left bound"
 msgstr "ei vasenta reunaa"
 
-#: ligature-engraver.cc:180
+#: 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:209
+#: ligature-engraver.cc:202
 msgid "ignoring rest: ligature may not contain rest"
 msgid "ignoring rest: ligature may not contain rest"
-msgstr "ligature ei voi sisältää taukoa; sivuutetaan tauko"
+msgstr "sivuutetaan tauko: ligature ei voi sisältää taukoa"
 
 
-#: ligature-engraver.cc:210
+#: ligature-engraver.cc:203
 msgid "ligature was started here"
 msgid "ligature was started here"
-msgstr "ligature alkoi tästä"
+msgstr "ligature aloitettiin tästä"
 
 
-#: lily-guile.cc:98
+#: 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:441
+#: 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:444
+#: lily-guile.cc:521
 msgid "perhaps a typing error?"
 msgid "perhaps a typing error?"
-msgstr "ehkä näppäilyvirhe?"
+msgstr "kaiketi näppäilyvirhe?"
 
 
-#: lily-guile.cc:450
+#: 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:462
+#: 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:223
+#: 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:238
+#: 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"
@@ -954,33 +963,33 @@ msgstr "virhe tiedoston lopussa (EOF): %s"
 msgid "deprecated function called: %s"
 msgstr "vanhentunut funktiokutsu: %s"
 
 msgid "deprecated function called: %s"
 msgstr "vanhentunut funktiokutsu: %s"
 
-#: lily-parser-scheme.cc:76
+#: lily-parser-scheme.cc:88
 #, c-format
 #, c-format
-msgid "Changing working directory to `%s'"
-msgstr "Vaihdetaan työhakemistoksi `%s'"
+msgid "Changing working directory to: `%s'"
+msgstr "Vaihdetaan työhakemistoksi: `%s'"
 
 
-#: lily-parser-scheme.cc:96
+#: lily-parser-scheme.cc:106
 #, c-format
 #, c-format
-msgid "can't find init file: `%s'"
-msgstr "tiedostoa ei löydy: `%s'"
+msgid "cannot find init file: `%s'"
+msgstr "ei löytynyt alustustiedostoa: `%s'"
 
 
-#: lily-parser-scheme.cc:114
+#: lily-parser-scheme.cc:125
 #, c-format
 msgid "Processing `%s'"
 #, c-format
 msgid "Processing `%s'"
-msgstr "Prosessoidaan `%s'..."
+msgstr "Prosessoidaan `%s'"
 
 
-#: lily-parser.cc:97
+#: lily-parser.cc:99
 msgid "Parsing..."
 msgstr "Jäsennetään..."
 
 msgid "Parsing..."
 msgstr "Jäsennetään..."
 
-#: lily-parser.cc:126
-msgid "braces don't match"
-msgstr "aaltosulkumerkit eivät täsmää"
+#: lily-parser.cc:127
+msgid "braces do not match"
+msgstr "aaltosulut eivät täsmää"
 
 
-#: lyric-combine-music-iterator.cc:256
+#: lyric-combine-music-iterator.cc:291
 #, c-format
 msgid "cannot find Voice `%s'"
 #, c-format
 msgid "cannot find Voice `%s'"
-msgstr "ei löydetty Voice `%s'"
+msgstr "ei löytynyt Voice `%s'"
 
 #: main.cc:116
 #, c-format
 
 #: main.cc:116
 #, c-format
@@ -992,7 +1001,8 @@ msgid ""
 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"
 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"
+"tietyillä ehdoilla. Suorita `%s --warranty' saadaksesi lisää\n"
+"
tietoa.\n"
 
 #: main.cc:122
 msgid ""
 
 #: main.cc:122
 msgid ""
@@ -1005,7 +1015,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"
@@ -1019,8 +1029,8 @@ 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"
 
@@ -1030,25 +1040,23 @@ msgstr "PÄÄ"
 
 #: main.cc:153
 msgid ""
 
 #: main.cc:153
 msgid ""
-"use backend BACK (gnome, ps,eps,\n"
-"scm, svg, tex, texstr)\n"
-"default: PS"
+"use backend BACK (eps, gnome, ps [default],\n"
+"scm, svg, tex, texstr)"
 msgstr ""
 msgstr ""
-"käytä päänä PÄÄ (gnome, ps, eps,\n"
-"scm, svg, tex, texstr)\n"
-"default: PS"
+"käytä päänä PÄÄ (eps, gnome, ps [oletus],\n"
+"scm, svg, tex, texstr)"
 
 #: main.cc:155
 
 #: main.cc:155
-msgid "SYM=VAL"
-msgstr "SYM=VAL"
+msgid "SYM[=VAL]"
+msgstr "SYM[=VAL]"
 
 #: main.cc:156
 msgid ""
 
 #: main.cc:156
 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 ""
 msgstr ""
-"aseta Scheme -ohjelman optio. Käyttää #t jos VAL ei ole määritelty\n"
-"Koeta -dhelp saadaksesi lisäapua."
+"aseta Scheme-valinta SYM arvoon VAL (oletus: #t)\n"
+"Käytä -dhelp saadaksesi lisää apua."
 
 #: main.cc:159
 msgid "EXPR"
 
 #: main.cc:159
 msgid "EXPR"
@@ -1056,7 +1064,7 @@ msgstr "LAUSEKE"
 
 #: main.cc:159
 msgid "evaluate scheme code"
 
 #: main.cc:159
 msgid "evaluate scheme code"
-msgstr "suorita scheme koodi"
+msgstr "suorita scheme-koodi"
 
 #. Bug in option parser: --output =foe is taken as an abbreviation
 #. for --output-format.
 
 #. Bug in option parser: --output =foe is taken as an abbreviation
 #. for --output-format.
@@ -1073,40 +1081,34 @@ msgid "generate DVI (tex backend only)"
 msgstr "tuota DVI (vain käytettäessä tex -päätä)"
 
 #: main.cc:164
 msgstr "tuota DVI (vain käytettäessä tex -päätä)"
 
 #: main.cc:164
-msgid "relocate using directory of lilypond program"
-msgstr "paikallista käyttäen lilypond ohjelman hakemistoa"
-
-#: main.cc:165
 msgid "generate PDF (default)"
 msgstr "tuota PDF (oletus)"
 
 msgid "generate PDF (default)"
 msgstr "tuota PDF (oletus)"
 
-#: main.cc:166
+#: main.cc:165
 msgid "generate PNG"
 msgstr "tuota PNG"
 
 msgid "generate PNG"
 msgstr "tuota PNG"
 
-#: main.cc:167
+#: main.cc:166
 msgid "generate PostScript"
 msgstr "tuota PostScript"
 
 msgid "generate PostScript"
 msgstr "tuota PostScript"
 
-#: main.cc:168
+#: main.cc:167
 msgid "generate TeX (tex backend only)"
 msgid "generate TeX (tex backend only)"
-msgstr "tuota TeX (vain käytettäessä tex -päätä)"
+msgstr "tuota TeX (vain tex -päätä varten)"
 
 
-#: main.cc:169
-msgid "print this help"
-msgstr "näytä tämä opaste"
+#: main.cc:168
+msgid "show this help and exit"
+msgstr "näytä tämä opastus ja lopeta"
 
 
-#: main.cc:170
+#: main.cc:169
 msgid "FIELD"
 msgstr "KENTTÄ"
 
 msgid "FIELD"
 msgstr "KENTTÄ"
 
-#: main.cc:170
-msgid "dump a header field to file BASENAME.FIELD"
-msgstr "kirjoita otsake tiedostoon PERUSNIMI.KENTTÄ"
-
-#: main.cc:171
-msgid "DIR"
-msgstr "HAKEMISTO"
+#: main.cc:169
+msgid ""
+"dump header field FIELD to file\n"
+"named BASENAME.FIELD"
+msgstr "kirjoita otsakekenttä KENTTÄ tiedostoon\n
nimeltä PERUSNIMI.KENTTÄ"
 
 #: main.cc:171
 msgid "add DIR to search path"
 
 #: main.cc:171
 msgid "add DIR to search path"
@@ -1114,7 +1116,7 @@ msgstr "lisää HAKEMISTO hakupolkuun"
 
 #: main.cc:172
 msgid "use FILE as init file"
 
 #: main.cc:172
 msgid "use FILE as init file"
-msgstr "käytä TIEDOSTO alustustiedostona"
+msgstr "käytä TIEDOSTO alustettaessa"
 
 #: main.cc:174
 msgid "USER,GROUP,JAIL,DIR"
 
 #: main.cc:174
 msgid "USER,GROUP,JAIL,DIR"
@@ -1141,14 +1143,20 @@ msgid "generate a preview of the first system"
 msgstr "tee kuva ensimmäisestä kokonaisuudesta"
 
 #: main.cc:180
 msgstr "tee kuva ensimmäisestä kokonaisuudesta"
 
 #: main.cc:180
-msgid "disallow unsafe Scheme and PostScript operations"
-msgstr "älä salli turvattomia Scheme ja PostScript -operaatioita"
+msgid "relocate using directory of lilypond program"
+msgstr "paikallista käyttäen lilypond ohjelman hakemistoa"
 
 #: main.cc:181
 
 #: main.cc:181
-msgid "print version number"
-msgstr "tulosta versionumero"
+msgid ""
+"disallow unsafe Scheme and PostScript\n"
+"operations"
+msgstr "älä salli turvattomia Scheme ja PostScript\n
toimenpiteitä"
+
+#: main.cc:183
+msgid "show version number and exit"
+msgstr "tulosta versionumero ja lopeta"
 
 
-#: main.cc:221
+#: main.cc:224
 #, c-format
 msgid ""
 "Copyright (c) %s by\n"
 #, c-format
 msgid ""
 "Copyright (c) %s by\n"
@@ -1158,125 +1166,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:248
+#: 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:250
+#: 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:252
+#: main.cc:255
 #, c-format
 msgid "LilyPond produces beautiful music notation."
 #, c-format
 msgid "LilyPond produces beautiful music notation."
-msgstr "LilyPond tuottaa kaunista musiikkinotaatiota."
+msgstr "LilyPond tuottaa kaunista musiikkinuotinnusta."
 
 
-#: main.cc:254
+#: 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."
+msgstr "Lisätietoja varten, katso %s"
 
 
-#: main.cc:256
+#: main.cc:259
 #, c-format
 msgid "Options:"
 #, c-format
 msgid "Options:"
-msgstr "Optiot:"
+msgstr "Valinnat:"
 
 
-#: main.cc:260
+#: main.cc:263
 #, c-format
 msgid "Report bugs via %s"
 #, c-format
 msgid "Report bugs via %s"
-msgstr "Raportoi virheet osoitteeseen %s."
+msgstr "Raportoi virheet osoitteeseen %s"
 
 
-#: main.cc:306
+#: 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 muuttujaa chroot-vankilalle, löytyi: %u"
 
 
-#: main.cc:320
+#: main.cc:323
 #, c-format
 msgid "no such user: %s"
 #, c-format
 msgid "no such user: %s"
-msgstr "käyttäjää ei löydy: `%s'"
+msgstr "ei löydy käyttäjää: `%s'"
 
 
-#: main.cc:322
+#: 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:337
+#: main.cc:340
 #, c-format
 msgid "no such group: %s"
 #, c-format
 msgid "no such group: %s"
-msgstr "ryhmää ei ole: %s"
+msgstr "ei löydy ryhmää: %s"
 
 
-#: main.cc:339
+#: 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:347
+#: main.cc:350
 #, c-format
 #, c-format
-msgid "can't chroot to: %s: %s"
-msgstr "chroot ei onnistunut: %s: %s"
+msgid "cannot chroot to: %s: %s"
+msgstr "chroot ei onnistu kohteeseen: %s: %s"
 
 
-#: main.cc:354
+#: 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:360
+#: 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:366
+#: 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:413
+#: 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:627
+#: main.cc:645
 #, c-format
 msgid "exception caught: %s"
 msgstr "napattiin poikkeus: %s"
 
 #. FIXME: constant error message.
 #, c-format
 msgid "exception caught: %s"
 msgstr "napattiin poikkeus: %s"
 
 #. FIXME: constant error message.
-#: mark-engraver.cc:131
+#: mark-engraver.cc:154
 msgid "rehearsalMark must have integer value"
 msgid "rehearsalMark must have integer value"
-msgstr "rehearsalMark vaatii kokonaislukuargumentin"
+msgstr "rehearsalMark vaatii kokonaisluvun"
 
 
-#: mark-engraver.cc:137
+#: mark-engraver.cc:160
 msgid "mark label must be a markup object"
 msgid "mark label must be a markup object"
-msgstr "merkinnän on oltava markup -objekti"
+msgstr "merkinnän otsakkeen on oltava markup -kohde"
 
 
-#: mensural-ligature-engraver.cc:77
+#: 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:104
+#: mensural-ligature-engraver.cc:112
 msgid "cannot determine pitch of ligature primitive -> skipping"
 msgid "cannot determine pitch of ligature primitive -> skipping"
-msgstr "ei voitu määrittää nuottikorkeutta ligatuurin osalle -> ohitetaan"
+msgstr "ei voitu määrittää nuottikorkeutta ligatuurille -> ohitetaan"
 
 
-#: mensural-ligature-engraver.cc:118
+#: mensural-ligature-engraver.cc:126
 msgid "single note ligature - skipping"
 msgid "single note ligature - skipping"
-msgstr "priimi-intervalli ligatuurissa -> ohitetaan"
+msgstr "priimi-intervalli ligatuurissa - ohitetaan"
 
 
-#: mensural-ligature-engraver.cc:130
+#: 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:142
+#: 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:190
+#: mensural-ligature-engraver.cc:198
 msgid "semibrevis must be followed by another one -> skipping"
 msgid "semibrevis must be followed by another one -> skipping"
-msgstr "semibrevis vaatii samantyyppisen seuraavaksi -> ohitetaan"
+msgstr "semibrevis vaatii seurakseen samantyyppisen -> ohitetaan"
 
 
-#: mensural-ligature-engraver.cc:201
+#: 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"
@@ -1284,19 +1292,19 @@ 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:228
+#: mensural-ligature-engraver.cc:236
 msgid ""
 "invalid ligatura ending:\n"
 "when the last note is a descending brevis,\n"
 "the penultimate note must be another one,\n"
 "or the ligatura must be LB or SSB"
 msgstr ""
 msgid ""
 "invalid ligatura ending:\n"
 "when the last note is a descending brevis,\n"
 "the penultimate note must be another one,\n"
 "or the ligatura must be LB or SSB"
 msgstr ""
-"viallinen ligatura pääte:\n"
+"viallinen ligatuurin pääte:\n"
 "kun viimeinen nuottin on aleneva brevis,\n"
 "toiseksi viimeisen nuotin on oltava joku muu,\n"
 "tai ligaturan täytyy olla LB tai SSB"
 
 "kun viimeinen nuottin on aleneva brevis,\n"
 "toiseksi viimeisen nuotin on oltava joku muu,\n"
 "tai ligaturan täytyy olla LB tai SSB"
 
-#: mensural-ligature-engraver.cc:348
+#: mensural-ligature-engraver.cc:356
 msgid "unexpected case fall-through"
 msgstr "odottamaton tapauksen raukeaminen"
 
 msgid "unexpected case fall-through"
 msgstr "odottamaton tapauksen raukeaminen"
 
@@ -1313,231 +1321,242 @@ msgstr "Mensural_ligature: (join_right == 0)"
 msgid "no such MIDI instrument: `%s'"
 msgstr "ei löytynyt MIDI-instrumenttia: `%s'"
 
 msgid "no such MIDI instrument: `%s'"
 msgstr "ei löytynyt MIDI-instrumenttia: `%s'"
 
-#: midi-item.cc:264
-msgid "silly pitch"
-msgstr "sekava äänenkorkeus"
-
-#: midi-item.cc:280
+#: midi-item.cc:285
 #, c-format
 msgid "experimental: temporarily fine tuning (of %d cents) a channel."
 #, c-format
 msgid "experimental: temporarily fine tuning (of %d cents) a channel."
-msgstr "kokeellinen: viritetään väliaisesti (%d senttiä) kanavaa."
+msgstr "kokeellinen: viritetään väliaikaisesti (%d senttiä) kanavaa."
 
 #: midi-stream.cc:28
 #, c-format
 
 #: midi-stream.cc:28
 #, c-format
-msgid "can't open for write: %s: %s"
-msgstr "tiedostoa ei voitu avata kirjoitettavaksi: %s: `%s'"
+msgid "cannot open for write: %s: %s"
+msgstr "tiedostoa ei voitu avata kirjoitettavaksi: %s: %s"
 
 #: midi-stream.cc:44
 #, c-format
 
 #: midi-stream.cc:44
 #, c-format
-msgid "can't write to file: `%s'"
-msgstr "tiedostoon ei voitu kirjoittaa: `%s'"
+msgid "cannot write to file: `%s'"
+msgstr "ei voitu kirjoittaa tiedostoon: `%s'"
 
 
-#: music.cc:140
+#: music-iterator.cc:171
+msgid "Sending non-event to context"
+msgstr "Lähetetään ei-tapahtuma kontekstille"
+
+#: music.cc:141
 #, c-format
 #, c-format
-msgid "octave check failed; expected %s, found: %s"
-msgstr "oktaavitarkistus epäonnistui; oletettiin %s, löydettiin: %s"
+msgid "octave check failed; expected \"%s\", found: \"%s\""
+msgstr "oktaavitarkistus epäonnistui; oletettiin \"%s\", löytyi: \"%s\""
 
 
-#: music.cc:203
+#: music.cc:207
 #, c-format
 msgid "transposition by %s makes alteration larger than double"
 #, 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:84
-msgid "can't add text scripts to individual note heads"
-msgstr "ei voitu lisätä tekstinpätkiä yksittäisiin nuotteihin"
+msgstr "transponointi %s:n verran tekee muutokset kaksinkertaista suuremmaksi"
 
 
-#.
-#. music for the softenon children?
-#.
-#: new-fingering-engraver.cc:153
-msgid "music for the martians."
-msgstr "musiikkia marsilaisille."
+#: new-fingering-engraver.cc:96
+msgid "cannot add text scripts to individual note heads"
+msgstr "ei voitu lisätä tekstinpätkiä yksittäisten nuottien päihin"
 
 
-#: 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"
 
-#: note-collision.cc:405
+#: 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:123
-msgid "can't have note heads and rests together on a stem"
-msgstr "ei voinut olla nuotinpäitä ja taukoja yhtäaikaa palkissa"
+#: note-column.cc:124
+msgid "cannot have note heads and rests together on a stem"
+msgstr "palkissa ei voi olla nuotinpäitä ja taukoja yhtä aikaa"
 
 
-#: note-head.cc:67
+#: 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"
 
 #: open-type-font.cc:33
 #, c-format
 msgid "NoteEvent without pitch"
 msgstr "NoteEvent ilman nuottikorkeutta"
 
 #: open-type-font.cc:33
 #, c-format
-msgid "can't allocate %lu bytes"
+msgid "cannot allocate %lu bytes"
 msgstr "ei voitu varata %lu bittiä"
 
 #: open-type-font.cc:37
 #, c-format
 msgstr "ei voitu varata %lu bittiä"
 
 #: open-type-font.cc:37
 #, c-format
-msgid "can't load font table: %s"
-msgstr "ei voitu ladata fonttitaulukkoa: `%s'"
+msgid "cannot load font table: %s"
+msgstr "ei voitu ladata kirjasintaulukkoa: `%s'"
 
 
-#: open-type-font.cc:108
+#: open-type-font.cc:98
 #, c-format
 msgid "unsupported font format: %s"
 #, c-format
 msgid "unsupported font format: %s"
-msgstr "tukematon fonttimuoto: %s"
+msgstr "ei-tuettu kirjasinmuoto: %s"
 
 
-#: open-type-font.cc:110
+#: open-type-font.cc:100
 #, c-format
 msgid "unknown error: %d reading font file: %s"
 #, c-format
 msgid "unknown error: %d reading font file: %s"
-msgstr "tuntematon virhe: %d lukee fonttitiedostoa: %s"
+msgstr "tuntematon virhe: %d lukee kirjasintiedostoa: %s"
 
 
-#: open-type-font.cc:183 open-type-font.cc:307
+#: 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"
 
 
-#: pango-font.cc:157
+#: page-turn-page-breaking.cc:205
+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ä sivunvaihtoa yhdelle sivulle. Harkitse "
+"ensimmäisen sivunumeron (first-page-number) asettamista parittomaksi."
+
+#: page-turn-page-breaking.cc:218
+#, c-format
+msgid "Calculating page and line breaks (%d possible page breaks)..."
+msgstr "Lasketaan sivujen ja rivien vaihtoja (%d mahdollista sivunvaihtoa)..."
+
+#: 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'"
 #, c-format
 msgid "no PostScript font name for font `%s'"
-msgstr "ei PostScript fonttinimeä fontille `%s'"
+msgstr "ei PostScript-kirjasinnimeä kirjasimelle `%s'"
 
 
-#: pango-font.cc:205
+#: pango-font.cc:272
 msgid "FreeType face has no PostScript font name"
 msgid "FreeType face has no PostScript font name"
-msgstr "FreeType muodolla ei ollut PostScript fonttinimeä"
+msgstr "FreeType muodolla ei ollut PostScript kirjasinnimeä"
 
 #: paper-outputter-scheme.cc:33
 #, c-format
 msgid "Layout output to `%s'..."
 msgstr "Aseta tulostus paikkaan `%s'..."
 
 
 #: paper-outputter-scheme.cc:33
 #, c-format
 msgid "Layout output to `%s'..."
 msgstr "Aseta tulostus paikkaan `%s'..."
 
-#: paper-score.cc:104
+#: paper-score.cc:105
+msgid "Calculating line breaks..."
+msgstr "Lasketaan rivinvaihtoja..."
+
+#: paper-score.cc:118
 #, c-format
 msgid "Element count %d (spanners %d) "
 #, c-format
 msgid "Element count %d (spanners %d) "
-msgstr "Elementtien määrä: %d (ladokkeita: %d)"
+msgstr "Osien määrä: %d (ladokkeita: %d)"
 
 
-#: paper-score.cc:108
+#: paper-score.cc:122
 msgid "Preprocessing graphical objects..."
 msgid "Preprocessing graphical objects..."
-msgstr "Esiprosessoidaan graafisia kohteita..."
+msgstr "Esikäsitellään graafisia kohteita..."
 
 #: parse-scm.cc:83
 msgid "GUILE signaled an error for the expression beginning here"
 msgstr "GUILE antoi virheen lausekkeelle, joka alkoi täältä"
 
 
 #: parse-scm.cc:83
 msgid "GUILE signaled an error for the expression beginning here"
 msgstr "GUILE antoi virheen lausekkeelle, joka alkoi täältä"
 
-#: percent-repeat-engraver.cc:209
+#: 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:52
-msgid "no one to print a percent"
-msgstr "kukaan ei voinut tulostaa prosenttia"
-
-#: performance.cc:46
+#: performance.cc:45
 msgid "Track..."
 msgstr "Jälki..."
 
 msgid "Track..."
 msgstr "Jälki..."
 
-#: performance.cc:70
+#: performance.cc:74
 msgid "MIDI channel wrapped around"
 msgid "MIDI channel wrapped around"
-msgstr "MIDI kanava kietaistiin ympäri"
+msgstr "MIDI-kanava kietaistiin ympäri"
 
 
-#: performance.cc:71
+#: performance.cc:75
 msgid "remapping modulo 16"
 msgid "remapping modulo 16"
-msgstr "kuvataan uudelleen modulo 16"
+msgstr "kartoitetaan uudelleen modulo 16"
 
 
-#: performance.cc:90
-msgid "Creator: "
-msgstr "Tekijä: "
-
-#: performance.cc:110
-msgid "at "
-msgstr "kohdassa "
-
-#: performance.cc:162
+#: 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:170
+#: phrasing-slur-engraver.cc:146
 msgid "unterminated phrasing slur"
 msgid "unterminated phrasing slur"
-msgstr "päättämätön fraaseerauskaari"
+msgstr "päättämätön muotoilukaari"
 
 
-#: piano-pedal-engraver.cc:223
+#: piano-pedal-engraver.cc:286
 #, c-format
 msgid "expect 3 strings for piano pedals, found: %ld"
 msgstr "odotettiin 3 merkkijonoa pianopedaalille, löytyi: %ld"
 
 #, c-format
 msgid "expect 3 strings for piano pedals, found: %ld"
 msgstr "odotettiin 3 merkkijonoa pianopedaalille, löytyi: %ld"
 
-#: piano-pedal-engraver.cc:238 piano-pedal-engraver.cc:249
-#: piano-pedal-performer.cc:82
+#: 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:296
+#: piano-pedal-engraver.cc:347
 #, c-format
 #, c-format
-msgid "can't find start of piano pedal bracket: `%s'"
-msgstr "ei löydetty alkua pianopedaalimerkinnälle: `%s'"
+msgid "cannot find start of piano pedal bracket: `%s'"
+msgstr "ei löydetty alkua pianopedaalin sulkumerkinnälle: `%s'"
 
 
-#: program-option.cc:195
+#: program-option.cc:205
 #, c-format
 msgid "no such internal option: %s"
 #, c-format
 msgid "no such internal option: %s"
-msgstr "tuntematon sisäinen optio: %s"
+msgstr "tuntematon sisäinen valinta: %s"
 
 
-#: property-iterator.cc:81
+#: 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:39
+#: relative-octave-check.cc:38
 msgid "Failed octave check, got: "
 msgstr "Oktaavitarkistus epäonnistui, saatiin: "
 
 msgid "Failed octave check, got: "
 msgstr "Oktaavitarkistus epäonnistui, saatiin: "
 
-#: relocate.cc:52
+#: relocate.cc:44
+#, c-format
+msgid "Setting %s to %s"
+msgstr "Asetetaan %s kohtaan %s"
+
+#: relocate.cc:59
 #, c-format
 msgid "no such file: %s for %s"
 #, c-format
 msgid "no such file: %s for %s"
-msgstr "tiedostoa ei löydy: %s kohteelle %s"
+msgstr "ei löytynyt tiedostoa: %s kohteelle %s"
 
 
-#: relocate.cc:62 relocate.cc:80
+#: relocate.cc:69 relocate.cc:87
 #, c-format
 msgid "no such directory: %s for %s"
 #, c-format
 msgid "no such directory: %s for %s"
-msgstr "hakemistoa ei löydy: %s kohteelle %s"
+msgstr "ei löytynyt hakemistoa: %s kohteelle %s"
 
 
-#: relocate.cc:72
+#: relocate.cc:79
 #, c-format
 msgid "%s=%s (prepend)\n"
 msgstr "%s=%s (painota)\n"
 
 #, c-format
 msgid "%s=%s (prepend)\n"
 msgstr "%s=%s (painota)\n"
 
-#: relocate.cc:104
+#: relocate.cc:99
 #, c-format
 msgid "Relocation: compile prefix=%s, new prefix=%s"
 msgstr "Paikantaminen: käännös-etuliite=%s, uusi etuliite=%s"
 
 #, c-format
 msgid "Relocation: compile prefix=%s, new prefix=%s"
 msgstr "Paikantaminen: käännös-etuliite=%s, uusi etuliite=%s"
 
-#: relocate.cc:130
+#: relocate.cc:129
 #, c-format
 msgid "Relocation: framework_prefix=%s"
 msgstr "Paikantaminen: framework_prefix=%s"
 
 #, c-format
 msgid "Relocation: framework_prefix=%s"
 msgstr "Paikantaminen: framework_prefix=%s"
 
-#: relocate.cc:212
+#: relocate.cc:169
 #, c-format
 msgid "Relocation: is absolute: argv0=%s"
 msgstr "Paikantaminen: absoluuttinen: argv0=%s"
 
 #, c-format
 msgid "Relocation: is absolute: argv0=%s"
 msgstr "Paikantaminen: absoluuttinen: argv0=%s"
 
-#: relocate.cc:219
+#: relocate.cc:176
 #, c-format
 msgid "Relocation: from cwd: argv0=%s"
 msgstr "Paikantaminen: nykyisestä polusta: argv0=%s"
 
 #, c-format
 msgid "Relocation: from cwd: argv0=%s"
 msgstr "Paikantaminen: nykyisestä polusta: argv0=%s"
 
-#: relocate.cc:228
+#: relocate.cc:185
 #, c-format
 msgid ""
 "Relocation: from PATH=%s\n"
 #, c-format
 msgid ""
 "Relocation: from PATH=%s\n"
@@ -1546,18 +1565,28 @@ msgstr ""
 "Paikantaminen: polusta PATH=%s\n"
 "argv0=%s"
 
 "Paikantaminen: polusta PATH=%s\n"
 "argv0=%s"
 
-#: rest-collision.cc:149
-msgid "can't resolve rest collision: rest direction not set"
+#: relocate.cc:354
+#, c-format
+msgid "Relocation file: %s"
+msgstr "Paikannustiedosto: %s"
+
+#: 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"
 
 msgstr "ei voida määrittää taukojen törmäystä: tauon suuntaa ei asetettu"
 
-#: rest-collision.cc:163 rest-collision.cc:208
+#: 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:140
+#: rest.cc:144
 #, c-format
 msgid "rest `%s' not found"
 #, c-format
 msgid "rest `%s' not found"
-msgstr "taukoa `%s' ei löytynyt"
+msgstr "taukoa `%s' ei löytynyt"
 
 #: score-engraver.cc:67
 #, c-format
 
 #: score-engraver.cc:67
 #, c-format
@@ -1566,45 +1595,54 @@ msgstr "`%s' ei lyötynyt"
 
 #: score-engraver.cc:69
 msgid "Music font has not been installed properly."
 
 #: score-engraver.cc:69
 msgid "Music font has not been installed properly."
-msgstr "Fontteja ei oltu asennettu kunnolla."
+msgstr "Musiikkikirjasimia ei ole asennettu kunnolla."
 
 #: score-engraver.cc:71
 #, c-format
 msgid "Search path `%s'"
 msgstr "Hakupolku `%s'"
 
 
 #: score-engraver.cc:71
 #, c-format
 msgid "Search path `%s'"
 msgstr "Hakupolku `%s'"
 
-#: score.cc:211
+#: 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:212
+#: 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:217
+#: score.cc:231
 msgid "errors found, ignoring music expression"
 msgid "errors found, ignoring music expression"
-msgstr "virheitä löytyi, sivuutetaan musiikki-ilmaisu"
+msgstr "virheitä löytyi, ohitetaan musiikki-ilmaisu"
 
 #. FIXME:
 
 #. FIXME:
-#: script-engraver.cc:105
-msgid "don't know how to interpret articulation: "
+#: script-engraver.cc:102
+msgid "do not know how to interpret articulation: "
 msgstr "ei tiedetä kuinka tulkita artikulaatio: "
 
 msgstr "ei tiedetä kuinka tulkita artikulaatio: "
 
-#: script-engraver.cc:106
+#: script-engraver.cc:103
 msgid "scheme encoding: "
 msgid "scheme encoding: "
-msgstr "scheme koodaus: "
+msgstr "scheme-koodaus: "
 
 
-#: simple-spacer.cc:406
+#: 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:176
+#: slur-engraver.cc:83 tuplet-engraver.cc:75
+#, c-format
+msgid "direction of %s invalid: %d"
+msgstr "kohteen %s suunta on epäkelpo: %d"
+
+#: 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:185
-msgid "can't end slur"
+#: slur-engraver.cc:166
+msgid "cannot end slur"
 msgstr "ei löytynyt kaaren loppua"
 
 #: source-file.cc:74
 msgstr "ei löytynyt kaaren loppua"
 
 #: source-file.cc:74
@@ -1612,104 +1650,77 @@ msgstr "ei löytynyt kaaren loppua"
 msgid "expected to read %d characters, got %d"
 msgstr "odotettiin %d merkkiä, saatiin %d"
 
 msgid "expected to read %d characters, got %d"
 msgstr "odotettiin %d merkkiä, saatiin %d"
 
-#: spacing-spanner.cc:48
-#, 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:93
+#: 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:130
+#: 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:132
+#: 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:98
+#: stem.cc:105
 msgid "weird stem size, check for narrow beams"
 msgid "weird stem size, check for narrow beams"
-msgstr "outo varren koko, koeta lyhyempiä palkkeja"
+msgstr "outo varren koko, katso lyhyemmät palkit"
 
 
-#: stem.cc:592
+#: stem.cc:641
 #, c-format
 msgid "flag `%s' not found"
 #, c-format
 msgid "flag `%s' not found"
-msgstr "lippua `%s' ei löydetty"
+msgstr "lippua `%s' ei löytynyt"
 
 
-#: stem.cc:603
+#: 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:181
+#: system.cc:180
 #, c-format
 msgid "Element count %d."
 #, c-format
 msgid "Element count %d."
-msgstr "Elementtien määrä: %d."
+msgstr "Elementtien määrä %d."
 
 
-#: system.cc:268
+#: system.cc:276
 #, c-format
 msgid "Grob count %d"
 #, c-format
 msgid "Grob count %d"
-msgstr "Graafisien objektien (grob) määrä: %d "
-
-#: system.cc:289
-msgid "Calculating line breaks..."
-msgstr "Lasketaan rivinvaihtoja..."
+msgstr "Graafisien objektien (grob) määrä %d "
 
 
-#: text-spanner-engraver.cc:62
-msgid "can't find start of text spanner"
+#: text-spanner-engraver.cc:61
+msgid "cannot find start of text spanner"
 msgstr "ei löydetty alkua tekstileikkeelle"
 
 msgstr "ei löydetty alkua tekstileikkeelle"
 
-#: text-spanner-engraver.cc:74
+#: 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:134
+#: 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:107
-#, c-format
-msgid "TFM header of `%s' has only %u word (s)"
-msgstr "TFM-otsakkeessa `%s' on vain %u sana(a)"
-
-#: tfm-reader.cc:140
-#, 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:72
-#, c-format
-msgid "can't find ascii character: %d"
-msgstr "ei löydetty ASCII-merkkiä: %d"
-
-#: tie-engraver.cc:181
+#: tie-engraver.cc:264
 msgid "lonely tie"
 msgstr "yksinäinen sidos"
 
 msgid "lonely tie"
 msgstr "yksinäinen sidos"
 
-#: time-scaled-music-iterator.cc:24
-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:63
+#: 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:82
+#: 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"
@@ -1719,28 +1730,39 @@ 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:71
-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:83
+#: 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:142
-msgid "unterminated trill spanner"
-msgstr "päättymätön trilliladoke"
-
-#: vaticana-ligature-engraver.cc:347
+#: vaticana-ligature-engraver.cc:388
 #, c-format
 msgid ""
 "ignored prefix (es) `%s' of this head according to restrictions of the "
 "selected ligature style"
 msgstr ""
 #, c-format
 msgid ""
 "ignored prefix (es) `%s' of this head according to restrictions of the "
 "selected ligature style"
 msgstr ""
-"sivuutetaan prefiksi (t) `%s' tälle nuottipäälle valitun ligatuurityylin "
+"sivuutetaan prefiksi(t) `%s' tälle nuottipäälle valitun ligatuurityylin "
 "mukaisesti"
 
 "mukaisesti"
 
-#: vaticana-ligature-engraver.cc:584
+#: vaticana-ligature-engraver.cc:714
 #, c-format
 msgid "Vaticana_ligature_engraver: setting `spacing-increment = %f': ptr =%ul"
 msgstr ""
 #, c-format
 msgid "Vaticana_ligature_engraver: setting `spacing-increment = %f': ptr =%ul"
 msgstr ""
@@ -1759,535 +1781,502 @@ msgid "Vaticana_ligature: zero join (delta_pitch == 0)"
 msgstr "Vaticana_ligature: nollayhdiste (delta_pitch == 0)"
 
 #. fixme: be more verbose.
 msgstr "Vaticana_ligature: nollayhdiste (delta_pitch == 0)"
 
 #. fixme: be more verbose.
-#: volta-engraver.cc:142
-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:152
+#: 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:156
+#: volta-engraver.cc:158
 msgid "also already have an ended spanner"
 msgid "also already have an ended spanner"
-msgstr "myös tekstileike päätettiin jo"
+msgstr "myös jo on päätetty ladoke"
 
 
-#. no longer valid with dashes in \paper{} block.
-#: parser.yy:535
-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:705
+#: 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:729
+#: 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:879
-msgid "more alternatives than repeats"
-msgstr "enemmän vaihtoehtoja kuin kertauksia"
-
-#: parser.yy:916
-#, c-format
-msgid "expect 2 elements for Chord tremolo, found %d"
-msgstr "odotetaan 2 elementtiä Chord tremololle, löytyi %d"
-
-#: parser.yy:1316
+#: parser.yy:1172
 msgid "Grob name should be alphanumeric"
 msgid "Grob name should be alphanumeric"
-msgstr "Graafiseen objectiin täytyy olla kirjain tai numero"
+msgstr "Graafisen objektin nimessä voi olla vain kirjaimia tai numeroita"
 
 
-#: parser.yy:1681
+#: parser.yy:1475
 msgid "second argument must be pitch list"
 msgid "second argument must be pitch list"
-msgstr "toisen argumentin on oltava äänenkorkeuslista"
+msgstr "toisen muuttujan on oltava äänenkorkeuslista"
 
 
-#: parser.yy:1724 parser.yy:1729 parser.yy:2235
+#: parser.yy:1502 parser.yy:1507 parser.yy:1972
 msgid "have to be in Lyric mode for lyrics"
 msgid "have to be in Lyric mode for lyrics"
-msgstr "täytyy olla Lyrics -moodissa lyriikkaa varten"
+msgstr "täytyy olla Lyrics -tilassa sanoitusta varten"
 
 
-#: parser.yy:1822
+#: parser.yy:1604
 msgid "expecting string as script definition"
 msgid "expecting string as script definition"
-msgstr "oletetaan merkkijonon olevan skriptimäärittely"
+msgstr "oletetaan merkkijonon olevan skriptimääritys"
 
 
-#: parser.yy:1981 parser.yy:2031
+#: 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:2154
+#: parser.yy:1926
 msgid "have to be in Note mode for notes"
 msgid "have to be in Note mode for notes"
-msgstr "täytyy olla Note -moodissa nuotteja varten"
+msgstr "täytyy olla Note -tilassa nuotteja varten"
 
 
-#: parser.yy:2248
+#: parser.yy:1987
 msgid "have to be in Chord mode for chords"
 msgid "have to be in Chord mode for chords"
-msgstr "täytyy olla Chord -moodissa sointuja varten"
+msgstr "täytyy olla Chord -tilassa sointuja varten"
 
 
-#: parser.yy:2730
-msgid "music head function must return Music object"
-msgstr "päämusiikkifuntion täytyy palauttaa Music objecti"
-
-#: lexer.ll:158
+#: 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:162
+#: lexer.ll:180
 msgid "Skipping UTF-8 BOM"
 msgid "Skipping UTF-8 BOM"
-msgstr "Sivuutetaan UTF-8 BOM (osaluettelo)"
+msgstr "Ohitetaan UTF-8 BOM (osaluettelo)"
 
 
-#: lexer.ll:206
+#: lexer.ll:235
 #, c-format
 msgid "Renaming input to: `%s'"
 #, c-format
 msgid "Renaming input to: `%s'"
-msgstr "Avataan syöte: `%s'"
+msgstr "Uudelleennimetään syöte kohteeseen: `%s'"
 
 
-#: lexer.ll:214
+#: lexer.ll:252
 msgid "quoted string expected after \\version"
 msgid "quoted string expected after \\version"
-msgstr "lainausmerkittyä merkkijonoa ei löytynyt kohteen \\version jälkeen"
+msgstr "kohteen \\version jälkeen ei löytynyt  lainausmerkittyä merkkijonoa"
 
 
-#: lexer.ll:218
+#: lexer.ll:256
 msgid "quoted string expected after \\sourcefilename"
 msgstr "odotettiin lainausmerkittyä merkkijonoa \\sourcefilename:n jälkeen"
 
 msgid "quoted string expected after \\sourcefilename"
 msgstr "odotettiin lainausmerkittyä merkkijonoa \\sourcefilename:n jälkeen"
 
-#: lexer.ll:231
+#: lexer.ll:260
+msgid "integer expected after \\sourcefileline"
+msgstr "odotettiin kokonaislukua \\sourcefilename:n jälkeen"
+
+#: lexer.ll:273
 msgid "EOF found inside a comment"
 msgid "EOF found inside a comment"
-msgstr "EOF löytyi kommentin sisältä"
+msgstr "EOF (tiedoston loppumerkintä) löytyi kommentin sisältä"
 
 
-#: lexer.ll:246
+#: lexer.ll:288
 msgid "\\maininput not allowed outside init files"
 msgid "\\maininput not allowed outside init files"
-msgstr "\\maininput ei ole sallittu init-alustustiedoston ulkopuolella"
+msgstr "\\maininput ei ole sallittu alustustiedostojen ulkopuolella"
 
 
-#: lexer.ll:270
+#: 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:279
+#: lexer.ll:321
 msgid "end quote missing"
 msgid "end quote missing"
-msgstr "jälkimmäinen lainaismerkki puuttuu"
+msgstr "päättävä lainausmerkki puuttuu"
 
 
-#: lexer.ll:441
+#: lexer.ll:466
 msgid "Brace found at end of lyric.  Did you forget a space?"
 msgid "Brace found at end of lyric.  Did you forget a space?"
-msgstr "Sulkumerkki löytyi lyriikan lopussa.  Unohditko välilyönnin?"
+msgstr "Sulkumerkki löytyi sanoituksen lopussa.  Unohditko välilyönnin?"
 
 
-#: lexer.ll:540
+#: lexer.ll:559
 msgid "Brace found at end of markup.  Did you forget a space?"
 msgid "Brace found at end of markup.  Did you forget a space?"
-msgstr "Sulkumerkki löytyi lyriikan lopussa.  Unohditko välilyönnin?"
+msgstr "Sulkumerkki löytyi sanoituksen lopussa.  Unohditko välilyönnin?"
 
 
-#: lexer.ll:640
+#: 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:727
+#: lexer.ll:774 lexer.ll:775
 #, c-format
 msgid "unknown escaped string: `\\%s'"
 #, c-format
 msgid "unknown escaped string: `\\%s'"
-msgstr "tuntematon koodinvaihtomerkillinen merkkijono: `\\\\%s'"
+msgstr "tuntematon koodinvaihtomerkillinen merkkijono: `\\%s'"
 
 
-#: lexer.ll:825
+#: 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 "tiedosto liian vanha: %s (vanhin tuettu: %s)"
 
 
-#: lexer.ll:826
-msgid "Consider updating the input with the convert-ly script"
-msgstr "Harkitse syötteen päivittämistä convert-ly scriptillä"
+#: lexer.ll:881 lexer.ll:882
+msgid "consider updating the input with the convert-ly script"
+msgstr "harkitse syötteen päivittämistä convert-ly skriptillä"
 
 
-#. TODO: print location
-#: lexer.ll:946
-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 "ohjelma liian vanha: %s (tiedosto vaatii: %s)"
 
 
-#: backend-library.scm:19 lily.scm:439 ps-to-png.scm:88
-#, 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:84 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:100
-#, lisp-format
+#: backend-library.scm:108
+#, scheme-format
 msgid "Converting to ~a..."
 msgid "Converting to ~a..."
-msgstr "Muunnetaan kohteeksi `~a'..."
+msgstr "Muunnetaan kohteeksi ~a..."
 
 #: backend-library.scm:145
 
 #: backend-library.scm:145
-#, lisp-format
+#, 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'..."
 
-#: 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"
 msgid "symbol ~S redefined"
-msgstr "symbol ~S määriteltiin uudelleen"
+msgstr "merkki ~S määriteltiin uudelleen"
 
 
-#: define-markup-commands.scm:251
+#: define-event-classes.scm:119
+#, scheme-format
+msgid "event class ~A seems to be unused"
+msgstr "tapahtumaluokka ~A näyttää olevan käyttämätön"
+
+#. 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?"
 msgstr ""
 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?"
+"kokonaisuuksia ei löytynyt \\score -merkinnässä, onko siinä \\layout -lohkoa?"
 
 
-#: define-markup-commands.scm:1139
-#, lisp-format
+#: define-markup-commands.scm:1297
+#, scheme-format
 msgid "not a valid duration string: ~a"
 msgid "not a valid duration string: ~a"
-msgstr "ei ole sallittu keston merkkijono: ~a"
+msgstr "epäkelmo keston merkkijono: ~a"
 
 
-#: define-music-types.scm:738
-#, lisp-format
+#: define-music-types.scm:751
+#, scheme-format
 msgid "symbol expected: ~S"
 msgid "symbol expected: ~S"
-msgstr "odotettiin symboli: ~S"
+msgstr "odotettiin merkkiä: ~S"
 
 
-#: define-music-types.scm:741
-#, lisp-format
-msgid "can't find music object: ~S"
-msgstr "ei löytynyt musiikkiobjektia: ~S"
+#: define-music-types.scm:754
+#, scheme-format
+msgid "cannot find music object: ~S"
+msgstr "ei löytynyt musiikkikohdetta: ~S"
 
 
-#: define-music-types.scm:761
-#, 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:762
+#: 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"
 msgid "pair expected in doc ~s"
-msgstr "pari odotettiin dokumentissa ~s"
+msgstr "odotettiin paria dokumentissa ~s"
 
 #: document-backend.scm:135
 
 #: 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"
 
 #: document-backend.scm:145
 msgstr "ei löytynyt rajapintaa ominaisuudelle: ~S"
 
 #: document-backend.scm:145
-#, lisp-format
+#, scheme-format
 msgid "unknown Grob interface: ~S"
 msgstr "tuntematon ladoke-rajapinta: ~S"
 
 #: documentation-lib.scm:45
 msgid "unknown Grob interface: ~S"
 msgstr "tuntematon ladoke-rajapinta: ~S"
 
 #: documentation-lib.scm:45
-#, lisp-format
+#, scheme-format
 msgid "Processing ~S..."
 msgid "Processing ~S..."
-msgstr "Prosessoidaan ~S..."
+msgstr "Käsitellään ~S..."
 
 #: documentation-lib.scm:150
 
 #: 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:71 framework-eps.scm:72
-#, 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:272
-#, 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:323
-#, 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:340
-#, lisp-format
-msgid "don't know how to embed ~S=~S"
+#: framework-ps.scm:349
+#, 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:370
-#, lisp-format
-msgid "don't know how to embed font ~s ~s ~s"
-msgstr "ei tiedetä kuinka sijoittaa fontti ~s ~s ~s"
+#: framework-ps.scm:380
+#, scheme-format
+msgid "do not know how to embed font ~s ~s ~s"
+msgstr "ei tiedetä kuinka upottaa kirjasin ~s ~s ~s"
 
 
-#: framework-ps.scm:576
-#, lisp-format
-msgid "can't convert <stdout> to ~S"
-msgstr "ei voida konvertoida <stdout> ~S:ksi"
+#: framework-ps.scm:729
+#, scheme-format
+msgid "cannot convert <stdout> to ~S"
+msgstr "ei voida muuntaa <stdout> kohteeksi ~S"
 
 
-#: framework-ps.scm:593 framework-ps.scm:596
-#, lisp-format
-msgid "can't generate ~S using the postscript back-end"
-msgstr "ei voida generoida ~S käyttäen postscript päänä"
+#: framework-ps.scm:748 framework-ps.scm:751
+#, scheme-format
+msgid "cannot generate ~S using the postscript back-end"
+msgstr "ei voida luoda ~S käyttäen PostScript -päätä"
 
 
-#: framework-ps.scm:603
+#: framework-ps.scm:758
 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"
 "\n"
 "or remove the lilypond-book specific settings from the input.\n"
 msgstr ""
 "framework. Use the EPS backend instead,\n"
 "\n"
 "  lilypond -b eps <file>\n"
 "\n"
 "or remove the lilypond-book specific settings from the input.\n"
 msgstr ""
-"nPostScript -pää ei tue 'klassista' kehystä. Käytä EPS -pääätä sensijaan\n"
+"\n
PostScript -pää ei tue 'klassista' kehystä.\n
Käytä EPS -päätä sen "
+"sijaan,\n"
 " \n"
 "  lilypond -b eps <file>\n"
 "\n"
 "tai poista lilypond-book -ominaiset asetukset syötteestä.\n"
 
 " \n"
 "  lilypond -b eps <file>\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'"
 
 #: layout-beam.scm:29
 msgid "TeX file name must not contain whitespace: `~a'"
 msgstr "TeX -tiedostoniemessä ei saa olla välilyöntejä: `~a'"
 
 #: layout-beam.scm:29
-#, lisp-format
+#, scheme-format
 msgid "Error in beam quanting.  Expected (~S,~S) found ~S."
 msgid "Error in beam quanting.  Expected (~S,~S) found ~S."
-msgstr "Virhe palkin laskennassa.  Odotettiin (~S,~S), löytyi ~S."
+msgstr "Virhe palkin laskennassa.  Odotettiin (~S,~S) löytyi ~S."
 
 #: layout-beam.scm:46
 
 #: layout-beam.scm:46
-#, lisp-format
+#, scheme-format
 msgid "Error in beam quanting.  Expected ~S 0, found ~S."
 msgstr "Virhe palkin laskennassa.  Odotettiin ~S 0, löytyi ~S."
 
 msgid "Error in beam quanting.  Expected ~S 0, found ~S."
 msgstr "Virhe palkin laskennassa.  Odotettiin ~S 0, löytyi ~S."
 
-#: layout-page-layout.scm:439
+#: layout-page-layout.scm:357
 msgid "Calculating page breaks..."
 msgstr "Lasketaan sivunvaihtoja..."
 
 msgid "Calculating page breaks..."
 msgstr "Lasketaan sivunvaihtoja..."
 
-#: lily-library.scm:458
-#, lisp-format
+#: 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:491
-#, 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:498
+#: 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:172
-#, lisp-format
+#: lily.scm:144
+#, 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"
 msgid "wrong type for argument ~a.  Expecting ~a, found ~s"
-msgstr "väärä tyyppi argumentille ~a.  Odotettiin ~a, löytyi ~s"
+msgstr "väärä tyyppi muuttujalle ~a.  Odotettiin ~a, löytyi ~s"
 
 
-#: lily.scm:377 lily.scm:429
-#, lisp-format
+#: lily.scm:525 lily.scm:589
+#, scheme-format
 msgid "failed files: ~S"
 msgid "failed files: ~S"
-msgstr "epäonniset tiedostot: ~S"
+msgstr "rikkinäiset tiedostot: ~S"
 
 
-#: lily.scm:419
-#, lisp-format
+#: lily.scm:579
+#, scheme-format
 msgid "Redirecting output to ~a..."
 msgid "Redirecting output to ~a..."
-msgstr "Ohjataan tulosteet paikkaan ~a..."
+msgstr "Ohjataan tulosteet kohtaan ~a..."
+
+#: ly-syntax-constructors.scm:40
+msgid "Music head function must return Music object"
+msgstr "Music-pääfunktion täytyy palauttaa Music-kohde"
+
+#: ly-syntax-constructors.scm:136
+#, scheme-format
+msgid "Invalid property operation ~a"
+msgstr "Tuntematon ominaisuuden toiminta ~a"
 
 
-#: markup.scm:88
-#, lisp-format
+#: markup.scm:123
+#, scheme-format
 msgid "Wrong number of arguments.  Expect: ~A, found ~A: ~S"
 msgid "Wrong number of arguments.  Expect: ~A, found ~A: ~S"
-msgstr "Väärä argumenttin määrä.  Odotettiin: ~A, löytyi ~A: ~S"
+msgstr "Väärä muuttujien 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."
 msgid "Invalid argument in position ~A.  Expect: ~A, found: ~S."
-msgstr "Väärä argumentti paikassa ~A.  Odotettiin: ~A, löytyi: ~S."
+msgstr "Väärä muuttuja paikassa ~A.  Odotettiin: ~A, löytyi: ~S."
 
 
-#: music-functions.scm:533
-#, lisp-format
+#: music-functions.scm:213
+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:584
-#, 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:739
-#, lisp-format
-msgid "can't find quoted music `~S'"
-msgstr "ei löytynyt lainusmerkittyä musiikkai `~S'"
+#: music-functions.scm:748
+#, scheme-format
+msgid "cannot find quoted music: `~S'"
+msgstr "ei löytynyt lainusmerkittyä musiikkia: `~S'"
 
 
-#: music-functions.scm:947
-#, lisp-format
+#: music-functions.scm:942
+#, scheme-format
 msgid "unknown accidental style: ~S"
 msgid "unknown accidental style: ~S"
-msgstr "tuntematan kortusmerkkityyli: ~S"
+msgstr "tuntematon korotusmerkin tyyli: ~S"
 
 
-#: output-ps.scm:282
+#: output-ps.scm:315
 msgid "utf-8-string encountered in PS backend"
 msgid "utf-8-string encountered in PS backend"
-msgstr "utf8-merkkijono havaittu PS päässä"
+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"
-msgstr "decypher ei onnistunut Pango kuvauksessa: ~a"
+#: output-svg.scm:132
+#, scheme-format
+msgid "cannot decypher Pango description: ~a"
+msgstr "ei voitu purkaa Pango-koodia kuvauksessa: ~a"
 
 #: output-tex.scm:98
 
 #: output-tex.scm:98
-#, lisp-format
-msgid "can't find ~a in ~a"
-msgstr "ei löytynyt ~a paikassa ~a"
+#, scheme-format
+msgid "cannot find ~a in ~a"
+msgstr "ei löytynyt ~a paikasta ~a"
 
 #: paper.scm:69
 msgid "Not in toplevel scope"
 
 #: paper.scm:69
 msgid "Not in toplevel scope"
-msgstr "Ei huipputason piirissä"
+msgstr "Ei ylätason piirissä"
 
 
-#: paper.scm:114
-#, lisp-format
+#: paper.scm:117
+#, scheme-format
 msgid "This is not a \\layout {} object, ~S"
 msgid "This is not a \\layout {} object, ~S"
-msgstr "Tämä ei ole \\layout {} objekti, ~S"
+msgstr "Tämä ei ole \\layout {} -kohde, ~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:142
+#: 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ä"
 
-#: parser-clef.scm:124
-#, lisp-format
+#: parser-clef.scm:126
+#, scheme-format
 msgid "unknown clef type `~a'"
 msgstr "tuntematon avaimen tyyppi: `~a'"
 
 msgid "unknown clef type `~a'"
 msgstr "tuntematon avaimen tyyppi: `~a'"
 
-#: parser-clef.scm:125
+#: parser-clef.scm:127
 msgid "see scm/clef.scm for supported clefs"
 msgstr "katso tiedostosta scm/clef.scm tuetut avaimet"
 
 msgid "see scm/clef.scm for supported clefs"
 msgstr "katso tiedostosta scm/clef.scm tuetut avaimet"
 
-#: ps-to-png.scm:97
-#, lisp-format
+#: ps-to-png.scm:88
+#, scheme-format
 msgid "~a exited with status: ~S"
 msgid "~a exited with status: ~S"
-msgstr "~a komento lopetettiin tilassa: ~S"
+msgstr "~a loppui tilassa: ~S"
 
 #: to-xml.scm:190
 
 #: to-xml.scm:190
-msgid "assertion failed"
-msgstr "ajaminen epäonnistui"
-
-#~ msgid "Usage: %s [OPTIONS]... FILE"
-#~ msgstr "Käyttö: %s [OPTIOT]... TIEDOSTO"
-
-#~ msgid "Report bugs to %s."
-#~ msgstr "Raportoi virheet osoitteeseen %s."
-
-#~ msgid "Binary %s has version %s, looking for version %s"
-#~ msgstr "Binääritiedosto %s on versiota %s, etsitään versiota %s"
-
-#~ msgid "Opening pipe `%s'"
-#~ msgstr "Avataan putki `%s'"
+#, scheme-format
+msgid "assertion failed: ~S"
+msgstr "ajaminen epäonnistui: ~S"
 
 
-#~ msgid "`%s' failed (%s)"
-#~ msgstr "`%s' epäonnistui (%s)"
+#~ msgid "silly pitch"
+#~ msgstr "sekava äänenkorkeus"
 
 
-#~ msgid "(ignored)"
-#~ msgstr "(sivuutetaan)"
-
-#~ msgid "Cleaning %s..."
-#~ msgstr "Siivotaan pois %s..."
-
-#~ msgid "%s exited with status: %d"
-#~ msgstr "%s lopetettiin tilassa %d"
-
-#~ msgid "print program version\""
-#~ msgstr "tulosta ohjelman versionumero\""
-
-#~ msgid "getopt says: `%s'"
-#~ msgstr "getopt sanoo: `%s'"
-
-#~ msgid "FMT"
-#~ msgstr "FMT"
+#~ msgid "show warranty"
+#~ msgstr "näytä takuusitoumus"
 
 #~ msgid ""
 
 #~ msgid ""
-#~ "do not alter the number of newline characters in output\n"
-#~ "\t  .tex files. Useful when the LaTeX package srcltx is used"
-#~ msgstr ""
-#~ "älä muuta uusi rivi -merkkien määrää tulostuksessa\n"
-#~ "\t  .tex tiedostot. Käytännöllinen kun LaTeX paketti srcltx on käytössä"
-
-#~ msgid "print version information"
-#~ msgstr "tulosta versioinformaatio"
-
-#~ msgid "Report bugs via %s."
-#~ msgstr "Raportoi virheet osoitteeseen %s."
-
-#~ msgid "command exited with value %d"
-#~ msgstr "komento lopetettiin tilassa %d"
-
-#~ msgid "Convert mup to LilyPond source."
-#~ msgstr "Muunna mup LilyPond-muotoon."
-
-#~ msgid "debug"
-#~ msgstr "testaa"
-
-#~ msgid "define macro NAME [optional expansion EXP]"
-#~ msgstr "määritä makro NIMI [vaihtoehtoinen laajennus EXP]"
-
-#~ msgid "only pre-process"
-#~ msgstr "vain esiprosessointi"
-
-#~ msgid "no such context: %s"
-#~ msgstr "kontekstia ei ole: %s"
-
-#~ msgid "Processing `%s'..."
-#~ msgstr "Prosessoidaan `%s'..."
-
-#~ msgid "%s=%s\n"
-#~ msgstr "%s=%s\n"
-
-#~ msgid "parsing AFM file: `%s'"
-#~ msgstr "jäsennetään AFM-tiedostoa: `%s'"
-
-#~ msgid "checksum mismatch for font file: `%s'"
-#~ msgstr "virhesumma ei täsmää fonttitiedostolle: `%s'"
-
-#~ msgid "does not match: `%s'"
-#~ msgstr "ei täsmää: `%s'"
-
-#~ msgid "Rebuild all .afm files, and remove all .pk and .tfm files."
-#~ msgstr ""
-#~ "Uudista kaikki .afm -tiedosto, ja poista kaikki .pk ja .tfm -tiedostot."
-
-#~ msgid "Rerun with -V to show font paths."
-#~ msgstr "Aja uudelleen lisäten -V nähdäksesi fonttipolut."
-
-#~ msgid "A script for removing font-files is delivered with the source-code:"
+#~ "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 ""
 #~ msgstr ""
-#~ "Skripti fonttitiedostojen poistamista varten toimitetaan lähdekoodin "
-#~ "mukana:"
+#~ "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 "initializing FontConfig failed"
-#~ msgstr "FontConfig:in alustaminen epäonnistui"
+#~ msgid "loading default font"
+#~ msgstr "ladataan oletusfontti"
 
 
-#~ msgid "no such file: %s"
-#~ msgstr "tiedostoa ei löydy: `%s'"
+#~ msgid "cannot find default font: `%s'"
+#~ msgstr "ei löytynyt oletusfonttia: `%s'"
 
 
-#~ msgid "can't find bounding box of `~a'"
-#~ msgstr "ei löytynyt `~a':n rajauskehystä (bounding box)"
+#~ msgid "not setting creation callback: not a procedure"
+#~ msgstr "ei aseteta luonnin takaisinkutsua: ei ole proseduuri"
 
 
-#~ msgid "can't dlopen: %s: %s"
-#~ msgstr "tiedostoa ei voitu avata: %s: %s"
+#~ msgid "not setting modification callback: not a procedure"
+#~ msgstr "ei aseteta muutoksen takaisinkutsua: ei ole proseduuri"
 
 
-#~ msgid "install package: %s or %s"
-#~ msgstr "asenna paketti: %s tai %s"
+#~ msgid "crescendo too small"
+#~ msgstr "liian lyhyt crescendo"
 
 
-#~ msgid "no such symbol: %s: %s"
-#~ msgstr "ei löytynyt symbolia: %s: %s"
+#~ msgid "print this help"
+#~ msgstr "näytä tämä opaste"
 
 
-#~ msgid "error opening kpathsea library"
-#~ msgstr "virhe avatessa kpathsea kirjastoa"
+#~ msgid "cannot open file %s"
+#~ msgstr "ei voitu avata tiedostoa %s"
 
 
-#~ msgid "aborting"
-#~ msgstr "keskeytetään"
+#~ msgid "Invalid direction of slur-event"
+#~ msgstr "Tuntematon kaari-tapahtuman suunta"
 
 
-#~ msgid "run in safe mode"
-#~ msgstr "aja turvamoodissa"
+#~ msgid "invalid direction of tuplet-span-event"
+#~ msgstr "tuntematon tuplettiväli-tapahtuman suunta"
 
 
-#~ msgid "tag must be symbol or list of symbols"
-#~ msgstr "merkinnän on oltava symboli tai lista symboleita"
+#~ msgid "Incorrect lilypond version: %s (%s, %s)"
+#~ msgstr "Epäkelpo lilypond versio: %s (%s, %s)"
 
 
-#~ msgid "unknown bar glyph: `~S'"
-#~ msgstr "tuntematon palkkityyli: `~S'"