Imported Upstream version 0.18.3.2
[platform/upstream/gettext.git] / gettext-tools / po / fi.po
index bc1991d..d5fb67c 100644 (file)
@@ -1,92 +1,94 @@
 # Finnish translations for GNU Gettext package.
 # This file is distributed under the same license as the gettext package.
-# Copyright © 2002, 2009 Free Software Foundation, Inc.
+# Copyright © 2002, 2009, 2010, 2013 Free Software Foundation, Inc.
 # Sami J. Laine <sami.laine@iki.fi>, 2002
 # Lauri Nurmi <lanurmi@iki.fi>, 2009
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2010, 2013.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gettext-tools 0.17\n"
+"Project-Id-Version: gettext-tools 0.18.2\n"
 "Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n"
-"POT-Creation-Date: 2010-06-04 01:57+0200\n"
-"PO-Revision-Date: 2009-06-06 20:36+0300\n"
-"Last-Translator: Lauri Nurmi <lanurmi@iki.fi>\n"
+"POT-Creation-Date: 2014-01-07 15:19+0900\n"
+"PO-Revision-Date: 2013-03-03 11:26+0200\n"
+"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
 "Language: fi\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 1.5.4\n"
 
 #: gnulib-lib/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
-msgstr "virheellinen argumentti %s %s:lle"
+msgstr "virheellinen argumentti %s kontekstille %s"
 
-# Vähän huono käyttää taivutuspäätettä, mutta jälkimmäinen %s voinee
-# viitata moneenkin asiaan.
 #: gnulib-lib/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
-msgstr "moniselitteinen argumentti %s %s:lle"
+msgstr "argumentti %s kontekstille %s ei ole yksiselitteinen"
 
 #: gnulib-lib/argmatch.c:153
-#, c-format
 msgid "Valid arguments are:"
 msgstr "Kelvolliset argumentit ovat:"
 
-#: gnulib-lib/clean-temp.c:335
+#: gnulib-lib/clean-temp.c:332
 #, c-format
 msgid "cannot find a temporary directory, try setting $TMPDIR"
 msgstr ""
+"tilapäisen hakemiston löytäminen epäonnistui, yritä asettaa $TMPDIR-muuttuja"
 
-#: gnulib-lib/clean-temp.c:349
-#, fuzzy, c-format
+#: gnulib-lib/clean-temp.c:346
+#, c-format
 msgid "cannot create a temporary directory using template \"%s\""
-msgstr "ei voi luoda putkea"
+msgstr ""
+"tilapäisen hakemiston luominen mallinnetta ”%s” käyttämällä epäonnistui"
 
-#: gnulib-lib/clean-temp.c:445
+#: gnulib-lib/clean-temp.c:442
 #, c-format
 msgid "cannot remove temporary file %s"
-msgstr "väliaikaistiedostoa %s ei voi poistaa"
+msgstr "väliaikaistiedoston %s poistaminen epäonnistui"
 
-#: gnulib-lib/clean-temp.c:460
+#: gnulib-lib/clean-temp.c:457
 #, c-format
 msgid "cannot remove temporary directory %s"
-msgstr ""
+msgstr "tilapäisen hakemiston %s poistaminen epäonnistui"
 
 #: gnulib-lib/closeout.c:66
 msgid "write error"
 msgstr "kirjoitusvirhe"
 
-#: gnulib-lib/copy-file.c:67 src/file-list.c:53 src/msggrep.c:247
-#: src/open-catalog.c:122 src/read-mo.c:252 src/read-tcl.c:125
-#: src/urlget.c:216 src/xgettext.c:1890 src/xgettext.c:1903
-#: src/xgettext.c:1913
+#: gnulib-lib/copy-acl.c:54 gnulib-lib/copy-file.c:217
 #, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "virhe avattaessa tiedostoa ”%s” lukemista varten"
+msgid "preserving permissions for %s"
+msgstr "säilytetään käyttöoikeudet kohteelle %s"
 
-#: gnulib-lib/copy-file.c:74
+#: gnulib-lib/copy-file.c:194
 #, c-format
-msgid "cannot open backup file \"%s\" for writing"
-msgstr "ei voida avata varmuuskopiotiedostoa ”%s” kirjoittamista varten"
+msgid "error while opening %s for reading"
+msgstr "virhe avattaessa tiedostoa %s lukemista varten"
 
-#: gnulib-lib/copy-file.c:82 src/urlget.c:228
+#: gnulib-lib/copy-file.c:198
 #, c-format
-msgid "error reading \"%s\""
-msgstr "virhe luettaessa tiedostoa ”%s”"
+msgid "cannot open backup file %s for writing"
+msgstr "varmuuskopiotiedoston %s avaaminen kirjoittamista varten epäonnistui"
 
-#: gnulib-lib/copy-file.c:87 gnulib-lib/copy-file.c:94
-#: gnulib-lib/copy-file.c:133
+#: gnulib-lib/copy-file.c:202
 #, c-format
-msgid "error writing \"%s\""
-msgstr "virhe kirjoitettaessa tiedostoa ”%s”"
+msgid "error reading %s"
+msgstr "virhe luettaessa tiedostoa %s"
 
-#: gnulib-lib/copy-file.c:96 gnulib-lib/copy-file.c:135 src/urlget.c:238
+#: gnulib-lib/copy-file.c:206
 #, c-format
-msgid "error after reading \"%s\""
-msgstr "virhe tiedoston ”%s” lukemisen jälkeen"
+msgid "error writing %s"
+msgstr "virhe kirjoitettaessa tiedostoa %s"
+
+#: gnulib-lib/copy-file.c:210
+#, c-format
+msgid "error after reading %s"
+msgstr "virhe tiedoston %s lukemisen jälkeen"
 
 #: gnulib-lib/csharpcomp.c:310 gnulib-lib/javaversion.c:76 src/msginit.c:897
 #: src/msginit.c:972 src/msginit.c:1132 src/msginit.c:1231
@@ -106,162 +108,203 @@ msgstr "C#-kääntäjää ei löytynyt, yritä asentaa pnet"
 msgid "C# virtual machine not found, try installing pnet"
 msgstr "C#-virtuaalikonetta ei löytynyt, yritä asentaa pnet"
 
-#: gnulib-lib/error.c:181
+#: gnulib-lib/error.c:188
 msgid "Unknown system error"
 msgstr "Tuntematon järjestelmän virhe"
 
-#: gnulib-lib/execute.c:189 gnulib-lib/execute.c:262 gnulib-lib/pipe.c:232
-#: gnulib-lib/pipe.c:346 gnulib-lib/wait-process.c:282
-#: gnulib-lib/wait-process.c:356
+#: gnulib-lib/execute.c:189 gnulib-lib/execute.c:262
+#: gnulib-lib/spawn-pipe.c:234 gnulib-lib/spawn-pipe.c:348
+#: gnulib-lib/wait-process.c:282 gnulib-lib/wait-process.c:356
 #, c-format
 msgid "%s subprocess failed"
 msgstr "%s aliprosessi epäonnistui"
 
-#: gnulib-lib/getopt.c:527 gnulib-lib/getopt.c:543
-#, fuzzy, c-format
-msgid "%s: option '%s' is ambiguous\n"
-msgstr "%s: valitsin â\80\9d%sâ\80\9d on moniselitteinen\n"
+#: gnulib-lib/getopt.c:547 gnulib-lib/getopt.c:576
+#, c-format
+msgid "%s: option '%s' is ambiguous; possibilities:"
+msgstr "%s: valitsin â\80\99%sâ\80\99 ei ole yksiselitteinen; mahdollisuudet:"
 
-#: gnulib-lib/getopt.c:576 gnulib-lib/getopt.c:580
-#, fuzzy, c-format
+#: gnulib-lib/getopt.c:624 gnulib-lib/getopt.c:628
+#, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: valitsin â\80\9d--%sâ\80\9d ei salli argumenttia\n"
+msgstr "%s: valitsin â\80\99--%sâ\80\99 ei salli argumenttia\n"
 
-#: gnulib-lib/getopt.c:589 gnulib-lib/getopt.c:594
-#, fuzzy, c-format
+#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:642
+#, c-format
 msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr "%s: valitsin â\80\9d%c%sâ\80\9d ei salli argumenttia\n"
+msgstr "%s: valitsin â\80\99%c%sâ\80\99 ei salli argumenttia\n"
 
-#: gnulib-lib/getopt.c:637 gnulib-lib/getopt.c:656
-#, fuzzy, c-format
+#: gnulib-lib/getopt.c:685 gnulib-lib/getopt.c:704
+#, c-format
 msgid "%s: option '--%s' requires an argument\n"
-msgstr "%s: valitsin â\80\9d%sâ\80\9d vaatii argumentin\n"
+msgstr "%s: valitsin â\80\99--%sâ\80\99 vaatii argumentin\n"
 
-#: gnulib-lib/getopt.c:694 gnulib-lib/getopt.c:697
-#, fuzzy, c-format
+#: gnulib-lib/getopt.c:742 gnulib-lib/getopt.c:745
+#, c-format
 msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: tuntematon valitsin ”--%s”\n"
+msgstr "%s: tunnistamaton valitsin ’--%s’\n"
 
-#: gnulib-lib/getopt.c:705 gnulib-lib/getopt.c:708
-#, fuzzy, c-format
+#: gnulib-lib/getopt.c:753 gnulib-lib/getopt.c:756
+#, c-format
 msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: tuntematon valitsin ”%c%s”\n"
+msgstr "%s: tunnistamaton valitsin ’%c%s’\n"
 
-#: gnulib-lib/getopt.c:757 gnulib-lib/getopt.c:760
-#, fuzzy, c-format
+#: gnulib-lib/getopt.c:805 gnulib-lib/getopt.c:808
+#, c-format
 msgid "%s: invalid option -- '%c'\n"
-msgstr "%s: virheellinen valitsin – %c\n"
+msgstr "%s: virheellinen valitsin -- ’%c’\n"
 
-#: gnulib-lib/getopt.c:810 gnulib-lib/getopt.c:827 gnulib-lib/getopt.c:1035
-#: gnulib-lib/getopt.c:1053
-#, fuzzy, c-format
+#: gnulib-lib/getopt.c:861 gnulib-lib/getopt.c:878 gnulib-lib/getopt.c:1088
+#: gnulib-lib/getopt.c:1106
+#, c-format
 msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s: valitsin vaatii argumentin – %c\n"
+msgstr "%s: valitsin vaatii argumentin -- ’%c’\n"
 
-#: gnulib-lib/getopt.c:883 gnulib-lib/getopt.c:899
-#, fuzzy, c-format
+#: gnulib-lib/getopt.c:934 gnulib-lib/getopt.c:950
+#, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: valitsin â\80\9d-W %sâ\80\9d on moniselitteinen\n"
+msgstr "%s: valitsin â\80\99-W %sâ\80\99 ei ole yksiselitteinen\n"
 
-#: gnulib-lib/getopt.c:923 gnulib-lib/getopt.c:941
-#, fuzzy, c-format
+#: gnulib-lib/getopt.c:974 gnulib-lib/getopt.c:992
+#, c-format
 msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: valitsin â\80\9d-W %sâ\80\9d ei salli argumenttia\n"
+msgstr "%s: valitsin â\80\99-W %sâ\80\99 ei salli argumenttia\n"
 
-#: gnulib-lib/getopt.c:962 gnulib-lib/getopt.c:980
-#, fuzzy, c-format
+#: gnulib-lib/getopt.c:1013 gnulib-lib/getopt.c:1031
+#, c-format
 msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: valitsin â\80\9d%sâ\80\9d vaatii argumentin\n"
+msgstr "%s: valitsin â\80\99-W %sâ\80\99 vaatii argumentin\n"
 
 #: gnulib-lib/javacomp.c:126 gnulib-lib/javacomp.c:140
 #: gnulib-lib/javacomp.c:156
 #, c-format
 msgid "invalid source_version argument to compile_java_class"
-msgstr ""
+msgstr "virheellinen source_version-argumentti kohteelle compile_java_class"
 
 #: gnulib-lib/javacomp.c:171 gnulib-lib/javacomp.c:192
 #, c-format
 msgid "invalid target_version argument to compile_java_class"
-msgstr ""
+msgstr "virheellinen target_version-argumentti kohteelle compile_java_class"
 
 #: gnulib-lib/javacomp.c:503 src/write-csharp.c:739 src/write-java.c:1131
 #: src/write-java.c:1143
 #, c-format
 msgid "failed to create \"%s\""
-msgstr ""
+msgstr "tiedoston ”%s” luominen epäonnistui"
 
 #: gnulib-lib/javacomp.c:510 src/write-catalog.c:255 src/write-catalog.c:319
 #: src/write-csharp.c:748 src/write-java.c:1152 src/write-mo.c:811
 #: src/write-qt.c:748 src/write-tcl.c:222
-#, fuzzy, c-format
+#, c-format
 msgid "error while writing \"%s\" file"
-msgstr "virhe kirjoitettaessa ”%s”"
+msgstr "virhe kirjoitettaessa tiedostoa ”%s”"
 
 #: gnulib-lib/javacomp.c:2343
 #, c-format
 msgid "Java compiler not found, try installing gcj or set $JAVAC"
-msgstr "Java-kääntäjää ei löytynyt, yritä asentaa gcj tai aseta $JAVAC"
+msgstr ""
+"Java-kääntäjää ei löytynyt, yritä asentaa gcj tai aseta muuttuja $JAVAC"
 
 #: gnulib-lib/javaexec.c:417
 #, c-format
 msgid "Java virtual machine not found, try installing gij or set $JAVA"
-msgstr "Java-virtuaalikonetta ei löytynyt, yritä asentaa gij tai aseta $JAVA"
+msgstr ""
+"Java-virtuaalikonetta ei löytynyt, yritä asentaa gij tai aseta muuttuja $JAVA"
 
 #: gnulib-lib/javaversion.c:84 src/msginit.c:905 src/msginit.c:980
 #: src/msginit.c:1140
-#, fuzzy, c-format
+#, c-format
 msgid "%s subprocess I/O error"
-msgstr "%s aliprosessi"
+msgstr "%s aliprosessisiirräntävirhe"
 
-#: gnulib-lib/obstack.c:423 gnulib-lib/obstack.c:425 gnulib-lib/xmalloc.c:37
-#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:550 src/po-lex.c:83
-#: src/po-lex.c:102 src/x-glade.c:600 libgettextpo/gettext-po.c:1328
+#: gnulib-lib/obstack.c:413 gnulib-lib/obstack.c:415 gnulib-lib/xmalloc.c:37
+#: gnulib-lib/xsetenv.c:37 src/msgl-check.c:559 src/po-lex.c:83
+#: src/po-lex.c:102 src/x-glade.c:817 libgettextpo/gettext-po.c:1328
 #, c-format
 msgid "memory exhausted"
-msgstr "muisti loppu"
+msgstr "muisti loppui"
 
-#: gnulib-lib/pipe.c:138 gnulib-lib/pipe.c:141 gnulib-lib/pipe.c:262
-#: gnulib-lib/pipe.c:265
+#  käännetty tällä tavalla, jotta alkaisi pienellä alkukirjaimella.
+#: gnulib-lib/pipe-filter-ii.c:192
 #, c-format
-msgid "cannot create pipe"
-msgstr "ei voi luoda putkea"
+msgid "creation of threads failed"
+msgstr "säikeiden luominen epäonnistui"
+
+#: gnulib-lib/pipe-filter-ii.c:224 gnulib-lib/pipe-filter-ii.c:374
+#: src/msgexec.c:389
+#, c-format
+msgid "write to %s subprocess failed"
+msgstr "kirjoittaminen aliprosessiin %s epäonnistui"
+
+#: gnulib-lib/pipe-filter-ii.c:245 gnulib-lib/pipe-filter-ii.c:417
+#, c-format
+msgid "read from %s subprocess failed"
+msgstr "lukeminen aliprosessista %s epäonnistui"
+
+#: gnulib-lib/pipe-filter-ii.c:298
+#, c-format
+msgid "cannot set up nonblocking I/O to %s subprocess"
+msgstr "ei-lukitsevan siirron asettaminen aliprosessiin %s epäonnistui"
+
+#: gnulib-lib/pipe-filter-ii.c:329
+#, c-format
+msgid "communication with %s subprocess failed"
+msgstr "viestintä aliprosessin %s kanssa epäonnistui"
+
+#: gnulib-lib/pipe-filter-ii.c:449
+#, c-format
+msgid "%s subprocess terminated with exit code %d"
+msgstr "%s aliprosessi päättyi poistumiskoodilla %d"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: gnulib-lib/quotearg.c:272
+#: gnulib-lib/quotearg.c:312
 msgid "`"
 msgstr "”"
 
-#: gnulib-lib/quotearg.c:273
+#: gnulib-lib/quotearg.c:313
 msgid "'"
 msgstr "”"
 
-#: gnulib-lib/w32spawn.h:40
+#: gnulib-lib/set-acl.c:46
+#, c-format
+msgid "setting permissions for %s"
+msgstr "asetetaan käyttöoikeuksia kohteelle %s"
+
+#: gnulib-lib/spawn-pipe.c:140 gnulib-lib/spawn-pipe.c:143
+#: gnulib-lib/spawn-pipe.c:264 gnulib-lib/spawn-pipe.c:267
+#, c-format
+msgid "cannot create pipe"
+msgstr "putken luominen epäonnistui"
+
+#: gnulib-lib/w32spawn.h:43
 #, c-format
 msgid "_open_osfhandle failed"
-msgstr ""
+msgstr "_open_osfhandle epäonnistui"
 
-#: gnulib-lib/w32spawn.h:81
-#, fuzzy, c-format
+#: gnulib-lib/w32spawn.h:84
+#, c-format
 msgid "cannot restore fd %d: dup2 failed"
-msgstr "ei voi luoda putkea"
+msgstr "epäonnistunut tiedostotunnisteen %d palautus: dup2 epäonnistui"
 
 #: gnulib-lib/wait-process.c:223 gnulib-lib/wait-process.c:255
 #: gnulib-lib/wait-process.c:317
@@ -274,110 +317,139 @@ msgstr "%s aliprosessi"
 msgid "%s subprocess got fatal signal %d"
 msgstr "%s aliprosessi vastaanotti fataalin signaalin %d"
 
-#: src/format.c:148
+#: src/file-list.c:53 src/msggrep.c:247 src/open-catalog.c:122
+#: src/read-mo.c:252 src/read-tcl.c:125 src/urlget.c:216 src/xgettext.c:1925
+#: src/xgettext.c:1938 src/xgettext.c:1948
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "virhe avattaessa tiedostoa ”%s” lukemista varten"
+
+#: src/format.c:151
 #, c-format
 msgid "'%s' is not a valid %s format string, unlike '%s'. Reason: %s"
-msgstr ""
+msgstr "’%s’ ei ole kelvollinen %s-muotomerkkijono, toisin kuin ’%s’. Syy: %s"
 
 #: src/format-awk.c:509 src/format-boost.c:617 src/format-elisp.c:348
-#: src/format-gcc-internal.c:627 src/format-librep.c:312
+#: src/format-gcc-internal.c:627 src/format-librep.c:312 src/format-lua.c:228
 #: src/format-pascal.c:397 src/format-perl.c:584 src/format-php.c:350
 #: src/format-qt.c:173 src/format-tcl.c:390 src/format-ycp.c:147
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "a format specification for argument %u, as in '%s', doesn't exist in '%s'"
-msgstr "muotomäärittelyä argumentille %u ei ole olemassa 'msgid':lle '%s':ssä"
+msgstr ""
+"muotomäärittelyä argumentille %u sellaisena kuin merkkijonossa ’%s’, ei ole "
+"olemassa merkkijonossa ’%s’"
 
 #: src/format-awk.c:520 src/format-boost.c:628 src/format-elisp.c:359
-#: src/format-gcc-internal.c:638 src/format-librep.c:323
+#: src/format-gcc-internal.c:638 src/format-librep.c:323 src/format-lua.c:235
 #: src/format-pascal.c:408 src/format-perl.c:595 src/format-php.c:361
 #: src/format-qt.c:170 src/format-tcl.c:401 src/format-ycp.c:144
 #, c-format
 msgid "a format specification for argument %u doesn't exist in '%s'"
-msgstr "muotomäärittely argumentille %u ei ole '%s':ssä"
+msgstr "muotomäärittelyä argumentille %u ei ole merkkijonossa ’%s’"
 
-#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:910
+#: src/format-awk.c:540 src/format-boost.c:648 src/format-c.c:146
 #: src/format-elisp.c:379 src/format-gcc-internal.c:658
-#: src/format-librep.c:343 src/format-pascal.c:428 src/format-perl.c:615
-#: src/format-php.c:381 src/format-python.c:527 src/format-tcl.c:421
-#, fuzzy, c-format
+#: src/format-gfc-internal.c:372 src/format-javascript.c:227
+#: src/format-librep.c:343 src/format-lua.c:242 src/format-pascal.c:428
+#: src/format-perl.c:615 src/format-php.c:381 src/format-python.c:527
+#: src/format-tcl.c:421
+#, c-format
 msgid "format specifications in '%s' and '%s' for argument %u are not the same"
 msgstr ""
-"muotomäärittelyiden määrä 'msgid':ssä ja '%s':ssä argumentille %u ei ole sama"
+"muotomäärittelyt eivät ole samat merkkijonossa ’%s’ ja merkkijonossa ’%s’ "
+"argumentille %u"
 
 #: src/format-boost.c:449
 #, c-format
 msgid "The directive number %u starts with | but does not end with |."
-msgstr ""
+msgstr "Direktiivinumero %u alkaa merkillä | mutta ei pääty merkkeihin |."
 
-#: src/format-c.c:181
+#  Sanalla token on eri merkityksiä eri asiayhteyksissä. Tässä otaksun, että kyse on merkkijonosta, joka ei sisällä tyhjemerkkejä (välilyöntejä)
+#: src/format-c.c:36
 #, c-format
 msgid ""
 "In the directive number %u, the token after '<' is not the name of a format "
 "specifier macro. The valid macro names are listed in ISO C 99 section 7.8.1."
 msgstr ""
+"Direktiivinumerossa %u merkkijono merkin ’<’ jäljessä ei ole "
+"muotomääritemakron nimi. Kelvolliset makronimet luetellaan ISO C 99 luvussa "
+"7.8.1"
 
-#: src/format-c.c:588
+#: src/format-c.c:39
 #, c-format
 msgid "In the directive number %u, the token after '<' is not followed by '>'."
 msgstr ""
+"Direktiivissä numero %u merkin ’<’ jäljessä olevaa merkkijonoa ei seuraa "
+"merkki ’>’."
 
-#: src/format-c.c:814
+#: src/format-c.c:42 src/format-gfc-internal.c:289
 #, c-format
 msgid "The string refers to argument number %u but ignores argument number %u."
 msgstr ""
+"Merkkijono viittaa argumenttiin numero %u, mutta ohittaa argumentin numero "
+"%u."
 
-#: src/format-c.c:901 src/format-csharp.c:206 src/format-python.c:515
-#, fuzzy, c-format
+#: src/format-c.c:137 src/format-csharp.c:206 src/format-gfc-internal.c:363
+#: src/format-javascript.c:215 src/format-python.c:515
+#: src/format-qt-plural.c:110
+#, c-format
 msgid "number of format specifications in '%s' and '%s' does not match"
-msgstr "muotomäärittelyiden määrä 'msgid':ssä ja '%s':ssä ei täsmää"
+msgstr ""
+"muotomäärittelyiden määrä merkkijonossa ’%s’ ja merkkijonossa ’%s’ ei täsmää"
 
 #: src/format-csharp.c:88 src/format-java.c:205
 #, c-format
 msgid "In the directive number %u, '{' is not followed by an argument number."
-msgstr ""
+msgstr "Direktiivissä numero %u argumenttinumeroa ei ole merkin ’{’ jäljessä."
 
 #: src/format-csharp.c:109
 #, c-format
 msgid "In the directive number %u, ',' is not followed by a number."
-msgstr ""
+msgstr "Direktiivissä numero %u numeroa ei ole merkin ’,’ jäljessä."
 
 #: src/format-csharp.c:130 src/format-java.c:191
 msgid ""
 "The string ends in the middle of a directive: found '{' without matching '}'."
 msgstr ""
+"Merkkijono loppuu keskellä direktiiviä: löytyi ’{’ ilman päättävää suljetta "
+"’}’."
 
 #: src/format-csharp.c:139
 #, c-format
 msgid ""
 "The directive number %u ends with an invalid character '%c' instead of '}'."
 msgstr ""
+"Direktiivi numero %u päättyy virheelliseen merkkiin ’%c’ eikä sulkeeseen ’}’."
 
 #: src/format-csharp.c:140
 #, c-format
 msgid "The directive number %u ends with an invalid character instead of '}'."
 msgstr ""
+"Direktiivi numero %u päättyy virheelliseen merkkiin eikä sulkeeseen ’}’."
 
 #: src/format-csharp.c:161 src/format-java.c:346
 msgid ""
 "The string starts in the middle of a directive: found '}' without matching "
 "'{'."
 msgstr ""
+"Merkkijono alkaa keskeltä direktiiviä: löytyi ’}’ ilman alkusuljetta ’{’."
 
 #: src/format-csharp.c:162
 #, c-format
 msgid "The string contains a lone '}' after directive number %u."
 msgstr ""
+"Merkkijono sisältää yksinäisen ’}’-merkin direktiivinumeron %u jäljessä."
 
 #: src/format-gcc-internal.c:255
 #, c-format
 msgid "In the directive number %u, the flags combination is invalid."
-msgstr ""
+msgstr "Direktiivissä numero %u lippuyhdistelmä on virheellinen."
 
 #: src/format-gcc-internal.c:292
 #, c-format
 msgid "In the directive number %u, a precision is not allowed before '%c'."
-msgstr ""
+msgstr "Direktiivissä numero %u tarkkuus ei ole sallittu ennen merkkiä ’%c’."
 
 #: src/format-gcc-internal.c:334
 #, c-format
@@ -385,6 +457,7 @@ msgid ""
 "In the directive number %u, the argument number for the precision must be "
 "equal to %u."
 msgstr ""
+"Direktiivissä numero %u argumenttinumeron tarkkuuden on oltava sama kuin %u."
 
 #: src/format-gcc-internal.c:398
 #, c-format
@@ -392,42 +465,57 @@ msgid ""
 "In the directive number %u, a precision specification is not allowed before "
 "'%c'."
 msgstr ""
+"Direktiivissä numero %u tarkkuusmäärittely ei ole sallittu ennen merkkiä "
+"’%c’."
 
 #: src/format-gcc-internal.c:406
 #, c-format
 msgid "In the directive number %u, the precision specification is invalid."
-msgstr ""
+msgstr "Direktiivissä numero %u tarkkuusmäärittely on virheellinen."
 
 #: src/format-gcc-internal.c:463
 #, c-format
 msgid "In the directive number %u, flags are not allowed before '%c'."
-msgstr ""
+msgstr "Direktiivissä numero %u lippuja ei sallita ennen merkkiä ’%c’."
 
 #: src/format-gcc-internal.c:677
 #, c-format
 msgid "'%s' uses %%m but '%s' doesn't"
-msgstr ""
+msgstr "’%s’ käyttää %%m, mutta ’%s’ ei käytä"
 
 #: src/format-gcc-internal.c:680
 #, c-format
 msgid "'%s' does not use %%m but '%s' uses %%m"
-msgstr ""
+msgstr "’%s’ ei käytä %%m, mutta ’%s’ käyttää %%m"
+
+#: src/format-gfc-internal.c:383
+#, c-format
+msgid "'%s' uses %%C but '%s' doesn't"
+msgstr "’%s’ käyttää %%C, mutta ’%s’ ei käytä"
+
+#: src/format-gfc-internal.c:386
+#, c-format
+msgid "'%s' does not use %%C but '%s' uses %%C"
+msgstr "’%s’ ei käytä %%C, mutta ’%s’ käyttää %%C"
 
 #: src/format-invalid.h:22
 msgid "The string ends in the middle of a directive."
-msgstr ""
+msgstr "Merkkijono loppuu keskellä direktiiviä."
 
 #: src/format-invalid.h:25
 msgid ""
 "The string refers to arguments both through absolute argument numbers and "
 "through unnumbered argument specifications."
 msgstr ""
+"Merkkijono viittaa argumentteihin sekä absoluuttisien argumenttinumeroiden "
+"avulla että numeroimattomien argumenttimäärittelyjen avulla."
 
 #: src/format-invalid.h:28
 #, c-format
 msgid ""
 "In the directive number %u, the argument number 0 is not a positive integer."
 msgstr ""
+"Direktiivissä numero %u argumenttinumero 0 ei ole positiivinen kokonaisluku."
 
 #: src/format-invalid.h:30
 #, c-format
@@ -435,6 +523,8 @@ msgid ""
 "In the directive number %u, the width's argument number 0 is not a positive "
 "integer."
 msgstr ""
+"Direktiivissä numero %u leveyden argumenttinumero 0 ei ole positiivinen "
+"kokonaisluku."
 
 #: src/format-invalid.h:32
 #, c-format
@@ -442,13 +532,15 @@ msgid ""
 "In the directive number %u, the precision's argument number 0 is not a "
 "positive integer."
 msgstr ""
+"Direktiivissä numero %u tarkkuuden argumenttinumero 0 ei ole positiivinen "
+"kokonaisluku."
 
 #: src/format-invalid.h:36
 #, c-format
 msgid ""
 "In the directive number %u, the character '%c' is not a valid conversion "
 "specifier."
-msgstr ""
+msgstr "Direktiivissä numero %u merkki ’%c’ ei ole kelvollinen muunnosmäärite."
 
 #: src/format-invalid.h:37
 #, c-format
@@ -456,11 +548,14 @@ msgid ""
 "The character that terminates the directive number %u is not a valid "
 "conversion specifier."
 msgstr ""
+"Merkki, joka päättää direktiivin numeron %u ei ole kelvollinen "
+"muunnosmäärite."
 
 #: src/format-invalid.h:40
 #, c-format
 msgid "The string refers to argument number %u in incompatible ways."
 msgstr ""
+"Merkkijono viittaa argumenttinumeroon %u yhteensopimattomilla tavoilla."
 
 #: src/format-java.c:240
 #, c-format
@@ -468,17 +563,20 @@ msgid ""
 "In the directive number %u, the substring \"%s\" is not a valid date/time "
 "style."
 msgstr ""
+"Direktiivissä numero %u osamerkkijono ”%s” ei ole kelvollinen päivämäärä/"
+"aika -tyyli."
 
 #: src/format-java.c:251 src/format-java.c:285 src/format-java.c:314
 #, c-format
 msgid "In the directive number %u, \"%s\" is not followed by a comma."
-msgstr ""
+msgstr "Direktiivissä numero %u pilkku ei seuraa merkkijonoa ”%s”."
 
 #: src/format-java.c:274
 #, c-format
 msgid ""
 "In the directive number %u, the substring \"%s\" is not a valid number style."
 msgstr ""
+"Direktiivissä numero %u osamerkkijono ”%s” ei ole kelvollinen numerotyyli."
 
 #: src/format-java.c:323
 #, c-format
@@ -486,11 +584,13 @@ msgid ""
 "In the directive number %u, the argument number is not followed by a comma "
 "and one of \"%s\", \"%s\", \"%s\", \"%s\"."
 msgstr ""
+"Direktiivissä numero %u argumenttinumeroa ei seuraa pilkku tai yksi "
+"seuraavista: ”%s”, ”%s”, ”%s”,”%s”."
 
 #: src/format-java.c:572
 #, c-format
 msgid "In the directive number %u, a choice contains no number."
-msgstr ""
+msgstr "Direktiivissä numero %u valinta ei sisällä numeroa."
 
 #: src/format-java.c:583
 #, c-format
@@ -498,24 +598,29 @@ msgid ""
 "In the directive number %u, a choice contains a number that is not followed "
 "by '<', '#' or '%s'."
 msgstr ""
+"Direktiivissä numero %u valinta sisältää numeron, jota ei seuraa ’<’, ’#’ "
+"eikä ’%s’."
 
 #: src/format-java.c:745
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "a format specification for argument {%u}, as in '%s', doesn't exist in '%s'"
-msgstr "muotomäärittely argumentille {%u}, kuten '%s':ssä, ei ole 'msgid':ssä"
+msgstr ""
+"muotomäärittelyä argumentille {%u}, kuten merkkijonossa ’%s’, ei ole "
+"merkkijonossa ’%s’"
 
 #: src/format-java.c:756
 #, c-format
 msgid "a format specification for argument {%u} doesn't exist in '%s'"
-msgstr "muotomäärittely argumentille {%u} ei ole '%s':ssä"
+msgstr "muotomäärittelyä argumentille {%u} ei ole merkkijonossa ’%s’"
 
 #: src/format-java.c:776
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "format specifications in '%s' and '%s' for argument {%u} are not the same"
 msgstr ""
-"muotomäärittelyt 'msgid':ssä ja '%s':ssä argumentille {%u} eivät ole samat"
+"muotomäärittelyt eivät ole samat merkkijonossa ’%s’ ja merkkijonossa ’%s’ "
+"argumentille {%u}"
 
 #: src/format-lisp.c:2337 src/format-lisp.c:2349 src/format-scheme.c:2363
 #: src/format-scheme.c:2375
@@ -524,6 +629,8 @@ msgid ""
 "In the directive number %u, parameter %u is of type '%s' but a parameter of "
 "type '%s' is expected."
 msgstr ""
+"Direktiivissä numero %u parametri %u on ’%s’-tyyppinen, mutta odotettiin "
+"’%s’-tyyppistä parametriä."
 
 #: src/format-lisp.c:2372 src/format-scheme.c:2398
 #, c-format
@@ -534,33 +641,37 @@ msgid_plural ""
 "In the directive number %u, too many parameters are given; expected at most "
 "%u parameters."
 msgstr[0] ""
+"Direktiivissä numero %u annettiin liian monia parametreja; odotettiin "
+"korkeintaan %u parametri."
 msgstr[1] ""
+"Direktiivissä numero %u annettiin liian monia parametreja; odotettiin "
+"korkeintaan %u parametria."
 
 #: src/format-lisp.c:2496 src/format-scheme.c:2499
 #, c-format
 msgid "In the directive number %u, '%c' is not followed by a digit."
-msgstr ""
+msgstr "Direktiivissä numero %u merkkiä ’%c’ ei seuraa luku."
 
 #: src/format-lisp.c:2736 src/format-scheme.c:2754
 #, c-format
 msgid "In the directive number %u, the argument %d is negative."
-msgstr ""
+msgstr "Direktiivissä numero %u argumentti %d on negatiivinen."
 
 #: src/format-lisp.c:2805
 msgid "The string ends in the middle of a ~/.../ directive."
-msgstr ""
+msgstr "Merkkijono loppuu keskellä ~/.../-direktiiviä."
 
 #: src/format-lisp.c:2843 src/format-lisp.c:3108 src/format-lisp.c:3225
 #: src/format-lisp.c:3285 src/format-lisp.c:3397 src/format-scheme.c:2840
 #: src/format-scheme.c:3105 src/format-scheme.c:3222 src/format-scheme.c:3320
 #, c-format
 msgid "Found '~%c' without matching '~%c'."
-msgstr ""
+msgstr "Löytyi ’~%c’ ilman täsmäävää ’~%c’."
 
 #: src/format-lisp.c:2863 src/format-scheme.c:2860
 #, c-format
 msgid "In the directive number %u, both the @ and the : modifiers are given."
-msgstr ""
+msgstr "Direktiivissä numero %u annettiin sekä @- että :-määritteet."
 
 #: src/format-lisp.c:2976 src/format-scheme.c:2973
 #, c-format
@@ -568,26 +679,33 @@ msgid ""
 "In the directive number %u, '~:[' is not followed by two clauses, separated "
 "by '~;'."
 msgstr ""
+"Direktiivissä numero %u merkkien ’~:[’ jäljessä ei ole kaksi lausetta, jotka "
+"on eroteltu merkeillä ’~;’."
 
 #: src/format-lisp.c:3326 src/format-scheme.c:3263
 #, c-format
 msgid "In the directive number %u, '~;' is used in an invalid position."
 msgstr ""
+"Direktiivissä numero %u merkkejä ’~;’ käytetään virheellisessä paikassa."
 
 #: src/format-lisp.c:3432 src/format-scheme.c:3355
 msgid "The string refers to some argument in incompatible ways."
 msgstr ""
+"Merkkijono viittaa johonkin argumenttiin yhteensopimattomilla tavoilla."
 
 #: src/format-lisp.c:3474 src/format-scheme.c:3397
-#, fuzzy, c-format
+#, c-format
 msgid "format specifications in '%s' and '%s' are not equivalent"
-msgstr "muotomäärittelyt 'msgid' ja '%s' eivät ole yhdenmukaiset"
+msgstr ""
+"muotomäärittelyt merkkijonossa ’%s’ ja merkkijonossa ’%s’ eivät ole "
+"yhdenmukaiset"
 
 #: src/format-lisp.c:3490 src/format-scheme.c:3413
-#, fuzzy, c-format
+#, c-format
 msgid "format specifications in '%s' are not a subset of those in '%s'"
 msgstr ""
-"muotomäärittelyt '%s':ssä eivät ole 'msgid':n muotomäärittelyiden osajoukko"
+"muotomäärittelyt merkkijonossa ’%s’ eivät ole merkkijonon ’%s’ "
+"muotomäärittelyiden osajoukko"
 
 #: src/format-perl.c:433
 #, c-format
@@ -595,51 +713,87 @@ msgid ""
 "In the directive number %u, the size specifier is incompatible with the "
 "conversion specifier '%c'."
 msgstr ""
+"Direktiivissä numero %u kokomäärittelijä on yhteensopimaton "
+"muunnosmäärittelijän ’%c’ kanssa."
 
-#: src/format-perl-brace.c:199 src/format-python.c:471 src/format-sh.c:308
+#: src/format-perl-brace.c:199 src/format-python.c:471
+#: src/format-python-brace.c:374 src/format-python-brace.c:387
+#: src/format-sh.c:308
 #, c-format
 msgid "a format specification for argument '%s' doesn't exist in '%s'"
-msgstr "muotomäärittelyä argumentille '%s' ei löyty '%s':stä"
+msgstr "muotomäärittelyä argumentille ’%s’ ei löydy merkkijonosta ’%s’"
 
 #: src/format-python.c:115
 msgid ""
 "The string refers to arguments both through argument names and through "
 "unnamed argument specifications."
 msgstr ""
+"Merkkijono viittaa argumentteihin sekä argumenttinimien että nimettömien "
+"argumenttimäärittelyjen avulla."
 
 #: src/format-python.c:354
 #, c-format
 msgid "The string refers to the argument named '%s' in incompatible ways."
 msgstr ""
+"Merkkijono viittaa argumenttiin nimeltään ’%s’ yhteensopimattomilla tavoilla."
 
 #: src/format-python.c:430
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "format specifications in '%s' expect a mapping, those in '%s' expect a tuple"
 msgstr ""
-"muotomäärittelyt 'mdgid':ssä edellyttävät kartoitusta, määrittelyt '%s':ssä "
-"edellyttävät "
+"muotomäärittelyt merkkijonossa ’%s’ edellyttävät kartoitusta, "
+"muotomäärittelyt merkkijonossa ’%s’ edellyttävät järjestettyä joukkoa"
 
 #: src/format-python.c:437
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "format specifications in '%s' expect a tuple, those in '%s' expect a mapping"
 msgstr ""
-"muotomäärittelyt 'msgid':ss' edellyttävät järjestettyä joukkoa, määrittelyt "
-"'%s':ss' edellyttävät "
+"muotomäärittelyt merkkijonossa ’%s’ edellyttävät järjestettyä joukkoa, "
+"muotomäärittelyt merkkijonossa ’%s’ edellyttävät kartoitusta"
 
 #: src/format-python.c:460 src/format-sh.c:297
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "a format specification for argument '%s', as in '%s', doesn't exist in '%s'"
-msgstr "muotomäärittelyä argumentille '%s', kuten '%s':ssä, ei löydy "
+msgstr ""
+"muotomäärittelyä argumentille ’%s’, kuten merkkijonossa ’%s’:ssä, ei löydy "
+"merkkijonosta ’%s’"
 
 #: src/format-python.c:494
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "format specifications in '%s' and '%s' for argument '%s' are not the same"
 msgstr ""
-"muotomäärittely 'msgid':ssä ja '%s':ssä argumentille '%s' eivät ole samat"
+"muotomäärittelyt eivät ole samat merkkijonossa ’%s’ ja merkkijonossa ’%s’ "
+"argumentille ’%s’"
+
+#: src/format-python-brace.c:136
+#, fuzzy, c-format
+msgid "In the directive number %u, '%c' cannot start a field name."
+msgstr "Direktiivissä numero %u merkkiä ’%c’ ei seuraa luku."
+
+#: src/format-python-brace.c:149
+#, fuzzy, c-format
+msgid "In the directive number %u, '%c' cannot start a getattr argument."
+msgstr "Direktiivissä numero %u argumenttinumeroa ei ole merkin ’{’ jäljessä."
+
+#: src/format-python-brace.c:164
+#, fuzzy, c-format
+msgid "In the directive number %u, '%c' cannot start a getitem argument."
+msgstr "Direktiivissä numero %u merkkiä ’%c’ ei seuraa luku."
+
+#: src/format-python-brace.c:184
+#, fuzzy, c-format
+msgid ""
+"In the directive number %u, no more nesting is allowed in a format specifier."
+msgstr "Direktiivissä numero %u tarkkuus ei ole sallittu ennen merkkiä ’%c’."
+
+#: src/format-python-brace.c:210
+#, fuzzy, c-format
+msgid "In the directive number %u, there is an unterminated format directive."
+msgstr "Direktiivissä numero %u argumentti %d on negatiivinen."
 
 #: src/format-qt.c:152
 #, c-format
@@ -647,47 +801,53 @@ msgid ""
 "'%s' is a simple format string, but '%s' is not: it contains an 'L' flag or "
 "a double-digit argument number"
 msgstr ""
+"’%s’ on yksinkertainen muotomerkkijono, mutta ’%s’ ei ole: se sisältää ’L’-"
+"lipun tai kaksilukuisen argumenttinumeron"
 
 #: src/format-sh.c:79
 msgid "The string refers to a shell variable with a non-ASCII name."
-msgstr ""
+msgstr "Merkkijono viittaa komentoikkunamuuttujaan, jolla on ei-ASCII-nimi."
 
 #: src/format-sh.c:81
 msgid ""
 "The string refers to a shell variable with complex shell brace syntax. This "
 "syntax is unsupported here due to security reasons."
 msgstr ""
+"Merkkijono viittaa komentoikkunamuuttujaan, jolla on mutkikas "
+"aaltosulkusyntaksi. Tämä syntaksi on tukematon turvallisuussyistä."
 
 #: src/format-sh.c:83
 msgid ""
 "The string refers to a shell variable whose value may be different inside "
 "shell functions."
 msgstr ""
+"Merkkijono viittaa komentoikkunamuuttujaan, jonka arvo saattaa olla "
+"erilainen komentoikkunafunktioiden sisällä."
 
 #: src/format-sh.c:85
 msgid "The string refers to a shell variable with an empty name."
-msgstr ""
+msgstr "Merkkijono viittaa komentoikkunamuuttujaan, jolla on tyhjä nimi."
 
 #: src/format-ycp.c:90
 #, c-format
 msgid ""
 "In the directive number %u, the character '%c' is not a digit between 1 and "
 "9."
-msgstr ""
+msgstr "Direktiivissä numero %u merkki ’%c’ ei ole luku välillä 1...9."
 
 #: src/format-ycp.c:91
 #, c-format
 msgid ""
 "The character that terminates the directive number %u is not a digit between "
 "1 and 9."
-msgstr ""
+msgstr "Merkki, joka päättää direktivin numero %u ei ole luku välillä 1...9."
 
 # Käännetty M. Välimäen GPLv3-käännöksestä vihjeitä katsoen.
-#: src/hostname.c:178 src/msgattrib.c:337 src/msgcat.c:289 src/msgcmp.c:172
+#: src/hostname.c:178 src/msgattrib.c:344 src/msgcat.c:289 src/msgcmp.c:172
 #: src/msgcomm.c:280 src/msgconv.c:235 src/msgen.c:231 src/msgexec.c:180
 #: src/msgfilter.c:273 src/msgfmt.c:366 src/msggrep.c:410 src/msginit.c:268
 #: src/msgmerge.c:344 src/msgunfmt.c:262 src/msguniq.c:259
-#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:584
+#: src/recode-sr-latin.c:110 src/urlget.c:143 src/xgettext.c:599
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -695,22 +855,22 @@ msgid ""
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"Tekijänoikeudet © %s Free Software Foundation, Inc.\n"
+"Copyright © %s Free Software Foundation, Inc.\n"
 "Lisenssi GPLv3+: GNU GPL versio 3 tai myöhempi <http://gnu.org/licenses/gpl.html>\n"
 "Tämä on vapaa ohjelmisto ja sen muuttaminen ja levittäminen edelleen on sallittua.\n"
 "Ohjelmalle EI ANNETA TAKUUTA lain sallimissa rajoissa.\n"
 
-#: src/hostname.c:184 src/msgattrib.c:343 src/msgcat.c:295 src/msgcmp.c:178
+#: src/hostname.c:184 src/msgattrib.c:350 src/msgcat.c:295 src/msgcmp.c:178
 #: src/msgcomm.c:286 src/msgconv.c:241 src/msgen.c:237 src/msgexec.c:186
 #: src/msgfilter.c:279 src/msgfmt.c:372 src/msggrep.c:416 src/msginit.c:274
 #: src/msgmerge.c:350 src/msgunfmt.c:268 src/msguniq.c:265 src/urlget.c:149
-#: src/xgettext.c:590
+#: src/xgettext.c:605
 #, c-format
 msgid "Written by %s.\n"
-msgstr "Kirjoittanut %s\n"
+msgstr "Kirjoittanut %s.\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/hostname.c:184 src/msgattrib.c:343 src/msgcat.c:295 src/msgconv.c:241
+#: src/hostname.c:184 src/msgattrib.c:350 src/msgcat.c:295 src/msgconv.c:241
 #: src/msgen.c:237 src/msgexec.c:186 src/msgfilter.c:279 src/msggrep.c:416
 #: src/msginit.c:274 src/msguniq.c:265 src/recode-sr-latin.c:121
 #: src/urlget.c:149
@@ -722,14 +882,14 @@ msgstr "Bruno Haible"
 msgid "too many arguments"
 msgstr "liian monta argumenttia"
 
-#: src/hostname.c:207 src/msgattrib.c:403 src/msgcat.c:362 src/msgcmp.c:209
+#: src/hostname.c:207 src/msgattrib.c:410 src/msgcat.c:362 src/msgcmp.c:209
 #: src/msgcomm.c:354 src/msgconv.c:298 src/msgen.c:294 src/msgexec.c:253
-#: src/msgfilter.c:384 src/msgfmt.c:646 src/msggrep.c:507 src/msginit.c:358
+#: src/msgfilter.c:384 src/msgfmt.c:650 src/msggrep.c:507 src/msginit.c:358
 #: src/msgmerge.c:476 src/msgunfmt.c:423 src/msguniq.c:321
-#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:812
+#: src/recode-sr-latin.c:143 src/urlget.c:172 src/xgettext.c:828
 #, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr "Komento â\80\9d%s --helpâ\80\9d antaa lisää tietoja.\n"
+msgid "Try '%s --help' for more information.\n"
+msgstr "Komento â\80\99%s --helpâ\80\99 antaa lisää tietoja.\n"
 
 #: src/hostname.c:211 src/msginit.c:362 src/recode-sr-latin.c:148
 #, c-format, no-wrap
@@ -749,49 +909,47 @@ msgstr "Tulosteen muoto:\n"
 #: src/hostname.c:220
 #, c-format
 msgid "  -s, --short                 short host name\n"
-msgstr ""
+msgstr "  -s, --short                 lyhyt tietokonenimi\n"
 
 #: src/hostname.c:222
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "  -f, --fqdn, --long          long host name, includes fully qualified "
 "domain\n"
 "                                name, and aliases\n"
 msgstr ""
-"Tulostuksen muoto:\n"
-"  -s, --short           lyhyt isäntänimi\n"
-"  -f, --fqdn, --long    pitkä isäntänimi, sisältää täyden domain-nimen ja\n"
-"                        sen mahdolliset lisänimet\n"
-"  -i, --ip-address      osoitteet isäntänimelle\n"
+"  -f, --fqdn, --long          pitkä tietokonenimi, sisältää kokonaan "
+"kelpuutetun\n"
+"                                verkkoaluenimen ja aliakset\n"
 
 #: src/hostname.c:225
 #, c-format
 msgid "  -i, --ip-address            addresses for the hostname\n"
-msgstr ""
+msgstr "  -i, --ip-address            osoitteet tietokoneelle\n"
 
-#: src/hostname.c:228 src/msgattrib.c:515 src/msgcat.c:468 src/msgcmp.c:258
+#: src/hostname.c:228 src/msgattrib.c:525 src/msgcat.c:468 src/msgcmp.c:258
 #: src/msgcomm.c:454 src/msgconv.c:380 src/msgen.c:375 src/msgexec.c:295
-#: src/msgfilter.c:476 src/msgfmt.c:768 src/msggrep.c:623 src/msginit.c:420
+#: src/msgfilter.c:476 src/msgfmt.c:775 src/msggrep.c:623 src/msginit.c:420
 #: src/msgmerge.c:601 src/msgunfmt.c:527 src/msguniq.c:416
-#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:980
+#: src/recode-sr-latin.c:161 src/urlget.c:186 src/xgettext.c:1000
 #, c-format, no-wrap
 msgid "Informative output:\n"
 msgstr "Selittävä tuloste:\n"
 
-#: src/hostname.c:230 src/msgattrib.c:517 src/msgcat.c:470 src/msgcmp.c:260
+#: src/hostname.c:230 src/msgattrib.c:527 src/msgcat.c:470 src/msgcmp.c:260
 #: src/msgcomm.c:456 src/msgconv.c:382 src/msgen.c:377 src/msgexec.c:297
-#: src/msgfilter.c:478 src/msgfmt.c:770 src/msggrep.c:625 src/msginit.c:422
+#: src/msgfilter.c:478 src/msgfmt.c:777 src/msggrep.c:625 src/msginit.c:422
 #: src/msgmerge.c:603 src/msgunfmt.c:529 src/msguniq.c:418
-#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:982
+#: src/recode-sr-latin.c:164 src/urlget.c:188 src/xgettext.c:1002
 #, c-format, no-wrap
 msgid "  -h, --help                  display this help and exit\n"
 msgstr "  -h, --help                  näytä tämä ohje ja poistu\n"
 
-#: src/hostname.c:232 src/msgattrib.c:519 src/msgcat.c:472 src/msgcmp.c:262
+#: src/hostname.c:232 src/msgattrib.c:529 src/msgcat.c:472 src/msgcmp.c:262
 #: src/msgcomm.c:458 src/msgconv.c:384 src/msgen.c:379 src/msgexec.c:299
-#: src/msgfilter.c:480 src/msgfmt.c:772 src/msggrep.c:627 src/msginit.c:424
+#: src/msgfilter.c:480 src/msgfmt.c:779 src/msggrep.c:627 src/msginit.c:424
 #: src/msgmerge.c:605 src/msgunfmt.c:531 src/msguniq.c:420
-#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:984
+#: src/recode-sr-latin.c:167 src/urlget.c:190 src/xgettext.c:1004
 #, c-format, no-wrap
 msgid "  -V, --version               output version information and exit\n"
 msgstr "  -V, --version               tulosta ohjelman versiotiedot ja poistu\n"
@@ -800,53 +958,56 @@ msgstr "  -V, --version               tulosta ohjelman versiotiedot ja poistu\n"
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: src/hostname.c:239 src/msgattrib.c:526 src/msgcat.c:479 src/msgcmp.c:269
+#: src/hostname.c:239 src/msgattrib.c:536 src/msgcat.c:479 src/msgcmp.c:269
 #: src/msgcomm.c:465 src/msgconv.c:391 src/msgen.c:386 src/msgexec.c:306
-#: src/msgfilter.c:487 src/msgfmt.c:783 src/msggrep.c:634 src/msginit.c:431
+#: src/msgfilter.c:487 src/msgfmt.c:790 src/msggrep.c:634 src/msginit.c:431
 #: src/msgmerge.c:616 src/msgunfmt.c:540 src/msguniq.c:427
-#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:991
+#: src/recode-sr-latin.c:174 src/urlget.c:199 src/xgettext.c:1011
 msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr ""
-"Ilmoita ohjelmiston vioista osoitteeseen <bug-gnu-gettext@gnu.org>.\n"
-"Ilmoita suomennoksen vioista listalle <translation-team-fi@lists.sourceforge."
-"net>.\n"
+"Ilmoita ohjelmiston vioista (englanniksi) osoitteeseen <bug-gnu-gettext@gnu."
+"org>.\n"
+"Ilmoita suomennoksen vioista osoitteeseen <translation-team-fi@lists."
+"sourceforge.net>.\n"
 
 #: src/hostname.c:255 src/hostname.c:261 src/hostname.c:268
 #, c-format
 msgid "could not get host name"
-msgstr "ei saatu isäntänimeä"
+msgstr "ei saatu tietokonenimeä"
 
-#: src/msgattrib.c:358 src/msgconv.c:256 src/msgexec.c:152 src/msgfilter.c:194
+#: src/msgattrib.c:365 src/msgconv.c:256 src/msgexec.c:152 src/msgfilter.c:194
 #: src/msggrep.c:431 src/msginit.c:197 src/msguniq.c:280
 #, c-format
 msgid "at most one input file allowed"
 msgstr "enintään yksi syötetiedosto on sallittu"
 
-#: src/msgattrib.c:364 src/msgattrib.c:368 src/msgcat.c:311 src/msgcat.c:315
+#: src/msgattrib.c:371 src/msgattrib.c:375 src/msgcat.c:311 src/msgcat.c:315
 #: src/msgcomm.c:296 src/msgcomm.c:300 src/msgconv.c:262 src/msgconv.c:266
 #: src/msgen.c:259 src/msgen.c:263 src/msgfilter.c:294 src/msgfilter.c:298
 #: src/msgfmt.c:411 src/msgfmt.c:419 src/msgfmt.c:434 src/msgfmt.c:456
 #: src/msggrep.c:437 src/msggrep.c:441 src/msgmerge.c:375 src/msgmerge.c:396
 #: src/msgmerge.c:400 src/msgunfmt.c:299 src/msguniq.c:286 src/msguniq.c:290
-#: src/xgettext.c:600 src/xgettext.c:604 src/xgettext.c:611 src/xgettext.c:614
-#: src/xgettext.c:617
+#: src/xgettext.c:615 src/xgettext.c:619 src/xgettext.c:626 src/xgettext.c:629
+#: src/xgettext.c:632
 #, c-format
 msgid "%s and %s are mutually exclusive"
-msgstr "%s ja %s ovat toisensa poissulkevia"
+msgstr "valitsimet %s ja %s ovat toisensa poissulkevia"
 
-#: src/msgattrib.c:407 src/msgconv.c:302 src/msggrep.c:511 src/msguniq.c:325
+#: src/msgattrib.c:414 src/msgconv.c:302 src/msggrep.c:511 src/msguniq.c:325
 #, c-format
 msgid "Usage: %s [OPTION] [INPUTFILE]\n"
 msgstr "Käyttö: %s [VALITSIN] [SYÖTETIEDOSTO]\n"
 
-#: src/msgattrib.c:412
+#: src/msgattrib.c:419
 #, c-format, no-wrap
 msgid ""
 "Filters the messages of a translation catalog according to their attributes,\n"
 "and manipulates the attributes.\n"
 msgstr ""
+"Suodattaa käännösluettelon viestit niiden attribuuttien mukaan,\n"
+"ja manipuloi attribuutteja.\n"
 
-#: src/msgattrib.c:416 src/msgcat.c:383 src/msgcmp.c:227 src/msgcomm.c:374
+#: src/msgattrib.c:423 src/msgcat.c:383 src/msgcmp.c:227 src/msgcomm.c:374
 #: src/msgconv.c:310 src/msgen.c:310 src/msgexec.c:276 src/msgfilter.c:396
 #: src/msggrep.c:521 src/msginit.c:372 src/msgmerge.c:497 src/msgunfmt.c:435
 #: src/msguniq.c:341
@@ -856,50 +1017,53 @@ msgid ""
 msgstr ""
 "Pitkien valitsinten pakolliset argumentit ovat pakollisia myös lyhyille.\n"
 
-#: src/msgattrib.c:419 src/msgcat.c:386 src/msgcmp.c:230 src/msgcomm.c:377
+#: src/msgattrib.c:426 src/msgcat.c:386 src/msgcmp.c:230 src/msgcomm.c:377
 #: src/msgconv.c:313 src/msgen.c:313 src/msgexec.c:279 src/msgfilter.c:399
-#: src/msgfmt.c:664 src/msggrep.c:524 src/msginit.c:375 src/msgmerge.c:500
-#: src/msgunfmt.c:449 src/msguniq.c:344 src/xgettext.c:830
+#: src/msgfmt.c:668 src/msggrep.c:524 src/msginit.c:375 src/msgmerge.c:500
+#: src/msgunfmt.c:449 src/msguniq.c:344 src/xgettext.c:846
 #, c-format
 msgid "Input file location:\n"
-msgstr ""
+msgstr "Syötetiedostosijainti:\n"
 
-#: src/msgattrib.c:421 src/msgconv.c:315 src/msggrep.c:526 src/msguniq.c:346
+#: src/msgattrib.c:428 src/msgconv.c:315 src/msggrep.c:526 src/msguniq.c:346
 #, c-format
 msgid "  INPUTFILE                   input PO file\n"
-msgstr ""
+msgstr "  SYÖTETIEDOSTO               syötteen PO-tiedosto\n"
 
-#: src/msgattrib.c:423 src/msgcat.c:392 src/msgcmp.c:236 src/msgcomm.c:383
+#: src/msgattrib.c:430 src/msgcat.c:392 src/msgcmp.c:236 src/msgcomm.c:383
 #: src/msgconv.c:317 src/msgen.c:317 src/msgexec.c:283 src/msgfilter.c:403
-#: src/msgfmt.c:668 src/msggrep.c:528 src/msgmerge.c:506 src/msguniq.c:348
-#: src/xgettext.c:836
+#: src/msgfmt.c:672 src/msggrep.c:528 src/msgmerge.c:506 src/msguniq.c:348
+#: src/xgettext.c:852
 #, c-format
 msgid ""
 "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
 msgstr ""
+"  -D, --directory=HAKEMISTO   lisää HAKEMISTO syötetiedostojen "
+"hakuluetteloon\n"
 
-#: src/msgattrib.c:425 src/msgconv.c:319 src/msgexec.c:285 src/msgfilter.c:405
+#: src/msgattrib.c:432 src/msgconv.c:319 src/msgexec.c:285 src/msgfilter.c:405
 #: src/msggrep.c:530 src/msgunfmt.c:453 src/msguniq.c:350
 #, c-format
 msgid "If no input file is given or if it is -, standard input is read.\n"
-msgstr ""
+msgstr "Jos syötetiedostoa ei ole annettu tai se on -, luetaan vakiosyöte.\n"
 
-#: src/msgattrib.c:428 src/msgcat.c:397 src/msgcomm.c:388 src/msgconv.c:322
-#: src/msgen.c:322 src/msgfilter.c:408 src/msgfmt.c:688 src/msggrep.c:533
+#: src/msgattrib.c:435 src/msgcat.c:397 src/msgcomm.c:388 src/msgconv.c:322
+#: src/msgen.c:322 src/msgfilter.c:408 src/msgfmt.c:692 src/msggrep.c:533
 #: src/msginit.c:383 src/msgmerge.c:518 src/msgunfmt.c:489 src/msguniq.c:353
-#: src/xgettext.c:841
+#: src/xgettext.c:857
 #, c-format
 msgid "Output file location:\n"
-msgstr ""
+msgstr "Tulostetiedostosijainti:\n"
 
-#: src/msgattrib.c:430 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:324
-#: src/msgen.c:324 src/msgfilter.c:410 src/msgfmt.c:690 src/msggrep.c:535
+#: src/msgattrib.c:437 src/msgcat.c:399 src/msgcomm.c:390 src/msgconv.c:324
+#: src/msgen.c:324 src/msgfilter.c:410 src/msgfmt.c:694 src/msggrep.c:535
 #: src/msgmerge.c:520 src/msgunfmt.c:491 src/msguniq.c:355
 #, c-format
 msgid "  -o, --output-file=FILE      write output to specified file\n"
 msgstr ""
+"  -o, --output-file=TIEDOSTO  kirjoita tuloste määriteltyyn tiedostoon\n"
 
-#: src/msgattrib.c:432 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:326
+#: src/msgattrib.c:439 src/msgcat.c:401 src/msgcomm.c:392 src/msgconv.c:326
 #: src/msgen.c:326 src/msgfilter.c:412 src/msggrep.c:537 src/msgmerge.c:522
 #: src/msgunfmt.c:493 src/msguniq.c:357
 #, c-format
@@ -907,133 +1071,160 @@ msgid ""
 "The results are written to standard output if no output file is specified\n"
 "or if it is -.\n"
 msgstr ""
+"Tulokset kirjoitetaan vakiotulosteeseen, jos tulostetiedostoa ei ole "
+"määritelty\n"
+"tai jos se on -.\n"
 
-#: src/msgattrib.c:436 src/msgcat.c:405 src/msgcomm.c:396 src/msguniq.c:361
+#: src/msgattrib.c:443 src/msgcat.c:405 src/msgcomm.c:396 src/msguniq.c:361
 #, c-format
 msgid "Message selection:\n"
-msgstr ""
+msgstr "Viestivalinta:\n"
 
-#: src/msgattrib.c:438
+#: src/msgattrib.c:445
 #, c-format
 msgid ""
 "      --translated            keep translated, remove untranslated messages\n"
 msgstr ""
+"      --translated            pidä käännetyt, poista kääntämättömät viestit\n"
 
-#: src/msgattrib.c:440
+#: src/msgattrib.c:447
 #, c-format
 msgid ""
 "      --untranslated          keep untranslated, remove translated messages\n"
 msgstr ""
+"      --untranslated          pidä kääntämättömät, poista käännetyt viestit\n"
 
-#: src/msgattrib.c:442
+#: src/msgattrib.c:449
 #, c-format
 msgid "      --no-fuzzy              remove 'fuzzy' marked messages\n"
-msgstr ""
+msgstr "      --no-fuzzy              poista ’fuzzy’-merkityt vajaat viestit\n"
 
-#: src/msgattrib.c:444
+#: src/msgattrib.c:451
 #, c-format
 msgid "      --only-fuzzy            keep 'fuzzy' marked messages\n"
-msgstr ""
+msgstr "      --only-fuzzy            pidä ’fuzzy’-merkityt vajaat viestit\n"
 
-#: src/msgattrib.c:446
+#: src/msgattrib.c:453
 #, c-format
 msgid "      --no-obsolete           remove obsolete #~ messages\n"
-msgstr ""
+msgstr "      --no-obsolete           poista vanhentuneet #~ -viestit\n"
 
-#: src/msgattrib.c:448
+#: src/msgattrib.c:455
 #, c-format
 msgid "      --only-obsolete         keep obsolete #~ messages\n"
-msgstr ""
+msgstr "      --only-obsolete         pidä vanhentuneet #~ -viestit\n"
 
-#: src/msgattrib.c:451
+#: src/msgattrib.c:458
 #, c-format
 msgid "Attribute manipulation:\n"
-msgstr ""
+msgstr "Attribuuttimanipulointi:\n"
 
-#: src/msgattrib.c:453
+#: src/msgattrib.c:460
 #, c-format
 msgid "      --set-fuzzy             set all messages 'fuzzy'\n"
 msgstr "      --set-fuzzy             aseta kaikki viestit vajaiksi\n"
 
-#: src/msgattrib.c:455
+#: src/msgattrib.c:462
 #, c-format
 msgid "      --clear-fuzzy           set all messages non-'fuzzy'\n"
 msgstr "      --clear-fuzzy           aseta kaikki viestit epävajaiksi\n"
 
-#: src/msgattrib.c:457
+#: src/msgattrib.c:464
 #, c-format
 msgid "      --set-obsolete          set all messages obsolete\n"
-msgstr ""
+msgstr "      --set-obsolete          aseta kaikki viestit vanhentuneiksi\n"
 
-#: src/msgattrib.c:459
+#: src/msgattrib.c:466
 #, c-format
 msgid "      --clear-obsolete        set all messages non-obsolete\n"
+msgstr "      --clear-obsolete        aseta kaikki sanomat ei-vanhentuneiksi\n"
+
+#: src/msgattrib.c:468
+#, fuzzy, c-format
+msgid ""
+"      --previous              when setting 'fuzzy', keep previous msgids\n"
+"                              of translated messages.\n"
 msgstr ""
+"      --previous              säilytä käännettyjen viestien aikaisemmat "
+"msgid-merkkijonot\n"
 
-#: src/msgattrib.c:461
+#: src/msgattrib.c:471
 #, c-format
 msgid ""
 "      --clear-previous        remove the \"previous msgid\" from all "
 "messages\n"
 msgstr ""
+"      --clear-previous        poista \"previous msgid\" kaikista viesteistä\n"
 
-#: src/msgattrib.c:463
+#: src/msgattrib.c:473
 #, c-format
 msgid ""
 "      --only-file=FILE.po     manipulate only entries listed in FILE.po\n"
 msgstr ""
+"      --only-file=TIEDOSTO.po manipuloi vain rivejä, jotka on luetteloitu "
+"tiedostossa TIEDOSTO.po\n"
 
-#: src/msgattrib.c:465
+#: src/msgattrib.c:475
 #, c-format
 msgid ""
 "      --ignore-file=FILE.po   manipulate only entries not listed in FILE.po\n"
 msgstr ""
+"      --ignore-file=TIEDOSTO.po manipuloi vain rivejä, joita ei ole "
+"luetteloitu tiedostossa TIEDOSTO.po\n"
 
-#: src/msgattrib.c:467
+#: src/msgattrib.c:477
 #, c-format
 msgid "      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
 msgstr ""
+"      --fuzzy                 synonyymi valitsimelle --only-fuzzy --clear-"
+"fuzzy\n"
 
-#: src/msgattrib.c:469
+#: src/msgattrib.c:479
 #, c-format
 msgid ""
 "      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
 msgstr ""
+"      --obsolete              synonyymi valitsimelle --only-obsolete --clear-"
+"obsolete\n"
 
-#: src/msgattrib.c:472 src/msgcat.c:417 src/msgcmp.c:250 src/msgcomm.c:408
+#: src/msgattrib.c:482 src/msgcat.c:417 src/msgcmp.c:250 src/msgcomm.c:408
 #: src/msgconv.c:337 src/msgen.c:330 src/msgexec.c:288 src/msgfilter.c:431
-#: src/msgfmt.c:733 src/msggrep.c:580 src/msginit.c:391 src/msgmerge.c:555
+#: src/msgfmt.c:737 src/msggrep.c:580 src/msginit.c:391 src/msgmerge.c:555
 #: src/msguniq.c:368
 #, c-format
 msgid "Input file syntax:\n"
 msgstr "Syötetiedoston syntaksi:\n"
 
-#: src/msgattrib.c:474 src/msgconv.c:339 src/msgen.c:332 src/msgexec.c:290
+#: src/msgattrib.c:484 src/msgconv.c:339 src/msgen.c:332 src/msgexec.c:290
 #: src/msgfilter.c:433 src/msggrep.c:582 src/msginit.c:393 src/msguniq.c:370
 #, c-format
 msgid ""
 "  -P, --properties-input      input file is in Java .properties syntax\n"
 msgstr ""
+"  -P, --properties-input      syötetiedosto on Java .properties -"
+"syntaksissa\n"
 
-#: src/msgattrib.c:476 src/msgconv.c:341 src/msgen.c:334 src/msgexec.c:292
+#: src/msgattrib.c:486 src/msgconv.c:341 src/msgen.c:334 src/msgexec.c:292
 #: src/msgfilter.c:435 src/msggrep.c:584 src/msginit.c:395 src/msguniq.c:372
 #, c-format
 msgid ""
 "      --stringtable-input     input file is in NeXTstep/GNUstep .strings "
 "syntax\n"
 msgstr ""
+"      --stringtable-input     syötetiedosto on NeXTstep/GNUstep .strings -"
+"syntaksissa\n"
 
-#: src/msgattrib.c:479 src/msgcat.c:425 src/msgcomm.c:416 src/msgconv.c:344
-#: src/msgen.c:337 src/msgfilter.c:438 src/msgfmt.c:761 src/msggrep.c:587
+#: src/msgattrib.c:489 src/msgcat.c:425 src/msgcomm.c:416 src/msgconv.c:344
+#: src/msgen.c:337 src/msgfilter.c:438 src/msgfmt.c:765 src/msggrep.c:587
 #: src/msginit.c:398 src/msgmerge.c:563 src/msgunfmt.c:497 src/msguniq.c:375
-#: src/xgettext.c:926
+#: src/xgettext.c:946
 #, c-format
 msgid "Output details:\n"
 msgstr "Tulosteen yksityiskohdat:\n"
 
-#: src/msgattrib.c:481 src/msgcat.c:434 src/msgcomm.c:418 src/msgconv.c:346
+#: src/msgattrib.c:491 src/msgcat.c:434 src/msgcomm.c:418 src/msgconv.c:346
 #: src/msgen.c:341 src/msgfilter.c:440 src/msggrep.c:589 src/msginit.c:404
-#: src/msgmerge.c:567 src/msgunfmt.c:499 src/msguniq.c:382 src/xgettext.c:928
+#: src/msgmerge.c:567 src/msgunfmt.c:499 src/msguniq.c:382 src/xgettext.c:948
 #, c-format
 msgid ""
 "      --color                 use colors and other text attributes always\n"
@@ -1041,118 +1232,143 @@ msgid ""
 "                              WHEN may be 'always', 'never', 'auto', or "
 "'html'.\n"
 msgstr ""
+"      --color                 käytä aina värejä ja muita "
+"tekstiattribuutteja\n"
+"      --color=MILLOIN         käytä värejä ja muita tekstiattribuutteja, jos "
+"MILLOIN.\n"
+"                              MILLOIN saattaa olla ’always’, ’never’, "
+"’auto’, tai ’html’.\n"
 
-#: src/msgattrib.c:485 src/msgcat.c:438 src/msgcomm.c:422 src/msgconv.c:350
+#: src/msgattrib.c:495 src/msgcat.c:438 src/msgcomm.c:422 src/msgconv.c:350
 #: src/msgen.c:345 src/msgfilter.c:444 src/msggrep.c:593 src/msginit.c:408
-#: src/msgmerge.c:571 src/msgunfmt.c:503 src/msguniq.c:386 src/xgettext.c:932
+#: src/msgmerge.c:571 src/msgunfmt.c:503 src/msguniq.c:386 src/xgettext.c:952
 #, c-format
 msgid "      --style=STYLEFILE       specify CSS style rule file for --color\n"
 msgstr ""
+"      --style=TYYLITIEDOSTO   määritä CSS-tyylisääntötiedosto valitsimelle --"
+"color\n"
 
-#: src/msgattrib.c:487 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:352
+#: src/msgattrib.c:497 src/msgcat.c:440 src/msgcomm.c:424 src/msgconv.c:352
 #: src/msgen.c:347 src/msgmerge.c:573 src/msgunfmt.c:505 src/msguniq.c:388
-#: src/xgettext.c:934
+#: src/xgettext.c:954
 #, c-format
 msgid ""
 "  -e, --no-escape             do not use C escapes in output (default)\n"
 msgstr ""
+"  -e, --no-escape             älä käytä C-koodinvaihtomerkkejä tulosteessa "
+"(oletus)\n"
 
-#: src/msgattrib.c:489 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:354
+#: src/msgattrib.c:499 src/msgcat.c:442 src/msgcomm.c:426 src/msgconv.c:354
 #: src/msgen.c:349 src/msgfilter.c:448 src/msgmerge.c:575 src/msgunfmt.c:507
-#: src/msguniq.c:390 src/xgettext.c:936
+#: src/msguniq.c:390 src/xgettext.c:956
 #, c-format
 msgid ""
 "  -E, --escape                use C escapes in output, no extended chars\n"
 msgstr ""
+"  -E, --escape                käytä C-koodinvaihtomerkkejä tulosteessa, ei "
+"laajennettuja merkkejä\n"
 
-#: src/msgattrib.c:491 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:356
+#: src/msgattrib.c:501 src/msgcat.c:444 src/msgcomm.c:428 src/msgconv.c:356
 #: src/msgen.c:351 src/msgfilter.c:450 src/msggrep.c:599 src/msgmerge.c:577
-#: src/msgunfmt.c:509 src/msguniq.c:392 src/xgettext.c:938
+#: src/msgunfmt.c:509 src/msguniq.c:392 src/xgettext.c:958
 #, c-format
 msgid "      --force-po              write PO file even if empty\n"
 msgstr ""
+"      --force-po              kirjoita PO-tiedosto vaikka se on tyhjä\n"
 
-#: src/msgattrib.c:493 src/msgcat.c:446 src/msgcomm.c:430 src/msguniq.c:394
-#: src/xgettext.c:940
+#: src/msgattrib.c:503 src/msgcat.c:446 src/msgcomm.c:430 src/msguniq.c:394
+#: src/xgettext.c:960
 #, c-format
 msgid "  -i, --indent                write the .po file using indented style\n"
 msgstr ""
+"  -i, --indent                kirjoita .po -tiedosto käyttäen sisennettyä "
+"tyyliä\n"
 
-#: src/msgattrib.c:495 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
-#: src/xgettext.c:942
+#: src/msgattrib.c:505 src/msgcat.c:448 src/msgcomm.c:432 src/msguniq.c:396
+#: src/xgettext.c:962
 #, c-format
 msgid "      --no-location           do not write '#: filename:line' lines\n"
 msgstr ""
+"      --no-location           älä kirjoita ’#: filename:line’ -rivejä\n"
 
-#: src/msgattrib.c:497 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
-#: src/xgettext.c:944
+#: src/msgattrib.c:507 src/msgcat.c:450 src/msgcomm.c:434 src/msguniq.c:398
+#: src/xgettext.c:964
 #, c-format
 msgid ""
 "  -n, --add-location          generate '#: filename:line' lines (default)\n"
 msgstr ""
+"  -n, --add-location          tuota ’#: filename:line’ -rivit (oletus)\n"
 
-#: src/msgattrib.c:499 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
-#: src/xgettext.c:946
+#: src/msgattrib.c:509 src/msgcat.c:452 src/msgcomm.c:436 src/msguniq.c:400
+#: src/xgettext.c:966
 #, c-format
 msgid ""
 "      --strict                write out strict Uniforum conforming .po file\n"
 msgstr ""
+"      --strict                luo tiukasti Uniforum-yhteensopiva .po-"
+"tiedosto\n"
 
-#: src/msgattrib.c:501 src/msgcat.c:454 src/msgcomm.c:438 src/msgconv.c:366
+#: src/msgattrib.c:511 src/msgcat.c:454 src/msgcomm.c:438 src/msgconv.c:366
 #: src/msgen.c:361 src/msgfilter.c:462 src/msggrep.c:609 src/msginit.c:410
 #: src/msgmerge.c:587 src/msgunfmt.c:515 src/msguniq.c:402
 #, c-format
 msgid "  -p, --properties-output     write out a Java .properties file\n"
-msgstr ""
+msgstr "  -p, --properties-output     luo Java .properties -tiedosto\n"
 
-#: src/msgattrib.c:503 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:368
+#: src/msgattrib.c:513 src/msgcat.c:456 src/msgcomm.c:440 src/msgconv.c:368
 #: src/msgen.c:363 src/msgfilter.c:464 src/msggrep.c:611 src/msginit.c:412
-#: src/msgmerge.c:589 src/msgunfmt.c:517 src/msguniq.c:404 src/xgettext.c:950
+#: src/msgmerge.c:589 src/msgunfmt.c:517 src/msguniq.c:404 src/xgettext.c:970
 #, c-format
 msgid ""
 "      --stringtable-output    write out a NeXTstep/GNUstep .strings file\n"
 msgstr ""
+"      --stringtable-output    luo NeXTstep/GNUstep .strings -tiedosto\n"
 
-#: src/msgattrib.c:505 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:370
+#: src/msgattrib.c:515 src/msgcat.c:458 src/msgcomm.c:442 src/msgconv.c:370
 #: src/msgen.c:365 src/msgfilter.c:466 src/msggrep.c:613 src/msginit.c:414
-#: src/msgmerge.c:591 src/msgunfmt.c:519 src/msguniq.c:406 src/xgettext.c:952
+#: src/msgmerge.c:591 src/msgunfmt.c:519 src/msguniq.c:406 src/xgettext.c:972
 #, c-format
 msgid "  -w, --width=NUMBER          set output page width\n"
-msgstr ""
+msgstr "  -w, --width=NUMERO          aseta tulostesivun leveys\n"
 
-#: src/msgattrib.c:507 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:372
+#: src/msgattrib.c:517 src/msgcat.c:460 src/msgcomm.c:444 src/msgconv.c:372
 #: src/msgen.c:367 src/msgfilter.c:468 src/msggrep.c:615 src/msginit.c:416
-#: src/msgmerge.c:593 src/msgunfmt.c:521 src/msguniq.c:408 src/xgettext.c:954
+#: src/msgmerge.c:593 src/msgunfmt.c:521 src/msguniq.c:408 src/xgettext.c:974
 #, c-format
 msgid ""
 "      --no-wrap               do not break long message lines, longer than\n"
 "                              the output page width, into several lines\n"
 msgstr ""
+"      --no-wrap               älä katkaise pitkiä viestirivejä, pitempiä "
+"kuin\n"
+"                              tulostesivun leveys, useammalle riville\n"
 
-#: src/msgattrib.c:510 src/msgcat.c:463 src/msgcomm.c:447 src/msgconv.c:375
+#: src/msgattrib.c:520 src/msgcat.c:463 src/msgcomm.c:447 src/msgconv.c:375
 #: src/msgen.c:370 src/msgfilter.c:471 src/msgmerge.c:596 src/msgunfmt.c:524
-#: src/msguniq.c:411 src/xgettext.c:957
+#: src/msguniq.c:411 src/xgettext.c:977
 #, c-format
 msgid "  -s, --sort-output           generate sorted output\n"
-msgstr ""
+msgstr "  -s, --sort-output           tuota lajiteltu tuloste\n"
 
-#: src/msgattrib.c:512 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:377
+#: src/msgattrib.c:522 src/msgcat.c:465 src/msgcomm.c:449 src/msgconv.c:377
 #: src/msgen.c:372 src/msgfilter.c:473 src/msgmerge.c:598 src/msguniq.c:413
-#: src/xgettext.c:959
+#: src/xgettext.c:979
 #, c-format
 msgid "  -F, --sort-by-file          sort output by file location\n"
 msgstr ""
+"  -F, --sort-by-file          lajittele tuloste tiedostosijainnin mukaan\n"
 
 #: src/msgcat.c:321 src/msgcomm.c:326
 #, c-format
 msgid "impossible selection criteria specified (%d < n < %d)"
-msgstr ""
+msgstr "määritelty mahdoton valintakriteeri (%d < n < %d)"
 
-#: src/msgcat.c:366 src/msgcomm.c:358 src/xgettext.c:816
+#: src/msgcat.c:366 src/msgcomm.c:358 src/xgettext.c:832
 #, c-format
 msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
 msgstr "Käyttö: %s [VALITSIN] [SYÖTETIEDOSTO]...\n"
 
+#  Pistekommentilla tarkoitan kehittäjän kääntäjää varten lisäämiä kommentteja, jotka alkavat risuaitamerkillä ja sen jälkeisellä pisteellä.
 #: src/msgcat.c:371
 #, c-format, no-wrap
 msgid ""
@@ -1162,33 +1378,48 @@ msgid ""
 "before messages are printed.  Conversely, the --less-than option may be\n"
 "used to specify less commonality before messages are printed (i.e.\n"
 "--less-than=2 will only print the unique messages).  Translations,\n"
-"comments and extract comments will be cumulated, except that if --use-first\n"
-"is specified, they will be taken from the first PO file to define them.\n"
-"File positions from all PO files will be cumulated.\n"
-msgstr ""
-
-#: src/msgcat.c:388 src/msgcomm.c:379 src/xgettext.c:832
+"comments, extracted comments, and file positions will be cumulated, except\n"
+"that if --use-first is specified, they will be taken from the first PO file\n"
+"to define them.\n"
+msgstr ""
+"Liittää ja yhdistää määritellyt PO-tiedostot.\n"
+"Etsii viestejä, jotka ovat yhteisiä kahdelle tai useammille määritellyille\n"
+"PO-tiedostoille. Käyttämällä valitsinta --more-than voidaan pyytää suurempaa\n"
+"yhteistä ominaisuutta ennen viestien tulostamista. Toisinpäin, valitsinta\n"
+"--less-than voidaan käyttää määrittelemään pienempää yhteistä ominaisuutta\n"
+"ennen tulostusta (ts. valitsin --less-than=2 tulostaa vain uniikit viestit).\n"
+"Käännökset, kommentit ja pistekommentit kumuloituvat, paitsi jos valitsin\n"
+"--use-first on määritelty. Silloin ne otetaan ensimmäisestä PO-tiedostosta,\n"
+"joka on määritellyt ne.\n"
+
+#: src/msgcat.c:388 src/msgcomm.c:379 src/xgettext.c:848
 #, c-format
 msgid "  INPUTFILE ...               input files\n"
 msgstr "  SYÖTETIEDOSTO ...           syötetiedostot\n"
 
-#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:834
+#: src/msgcat.c:390 src/msgcomm.c:381 src/xgettext.c:850
 #, c-format
 msgid "  -f, --files-from=FILE       get list of input files from FILE\n"
 msgstr ""
+"  -f, --files-from=TIEDOSTO   hae syötetiedostojen luettelo TIEDOSTOsta\n"
 
-#: src/msgcat.c:394 src/msgcomm.c:385 src/msgen.c:319 src/msgfmt.c:670
-#: src/xgettext.c:838
+#: src/msgcat.c:394 src/msgcomm.c:385 src/msgen.c:319 src/msgfmt.c:674
+#: src/xgettext.c:854
 #, c-format
 msgid "If input file is -, standard input is read.\n"
 msgstr "Jos syötetiedosto on -, luetaan vakiosyötettä.\n"
 
+#  Tässä defaults taitaa olla verbi yksikön kolmannessa persoonassa.
 #: src/msgcat.c:407 src/msgcomm.c:398
 #, c-format
 msgid ""
 "  -<, --less-than=NUMBER      print messages with less than this many\n"
 "                              definitions, defaults to infinite if not set\n"
 msgstr ""
+"  -<, --less-than=NUMERO      tulosta viestit, joissa on vähemmän kuin näin "
+"monta\n"
+"                              määrittelyä. Oletus ääretön, jos ei ole "
+"asetettu\n"
 
 #: src/msgcat.c:410
 #, c-format
@@ -1196,6 +1427,9 @@ msgid ""
 "  ->, --more-than=NUMBER      print messages with more than this many\n"
 "                              definitions, defaults to 0 if not set\n"
 msgstr ""
+"  ->, --more-than=NUMERO      tulosta viestit, jossa on enemmän kuin näin "
+"monta\n"
+"                              määrittelyä. Oletus 0, jos ei ole asetettu\n"
 
 #: src/msgcat.c:413 src/msgcomm.c:404
 #, c-format
@@ -1203,26 +1437,33 @@ msgid ""
 "  -u, --unique                shorthand for --less-than=2, requests\n"
 "                              that only unique messages be printed\n"
 msgstr ""
+"  -u, --unique                pikavalitsin valitsimelle --less-than=2, "
+"pyynnöille\n"
+"                              että vain uniikkeja viestejä tulostetaan\n"
 
-#: src/msgcat.c:419 src/msgcmp.c:252 src/msgcomm.c:410 src/msgfmt.c:735
+#: src/msgcat.c:419 src/msgcmp.c:252 src/msgcomm.c:410 src/msgfmt.c:739
 #: src/msgmerge.c:557
 #, c-format
 msgid ""
 "  -P, --properties-input      input files are in Java .properties syntax\n"
 msgstr ""
+"  -P, --properties-input      syötetiedostot ovat Java .properties -"
+"syntaksissa\n"
 
-#: src/msgcat.c:421 src/msgcmp.c:254 src/msgcomm.c:412 src/msgfmt.c:737
+#: src/msgcat.c:421 src/msgcmp.c:254 src/msgcomm.c:412 src/msgfmt.c:741
 #: src/msgmerge.c:559
 #, c-format
 msgid ""
 "      --stringtable-input     input files are in NeXTstep/GNUstep .strings\n"
 "                              syntax\n"
 msgstr ""
+"      --stringtable-input     syötetiedostot ovat NeXTstep/GNUstep .strings\n"
+"                              -syntaksissa\n"
 
 #: src/msgcat.c:427 src/msgconv.c:332 src/msguniq.c:377
 #, c-format
 msgid "  -t, --to-code=NAME          encoding for output\n"
-msgstr ""
+msgstr "  -t, --to-code=NIMI          koodaus tulosteelle\n"
 
 #: src/msgcat.c:429 src/msguniq.c:379
 #, c-format
@@ -1230,12 +1471,16 @@ msgid ""
 "      --use-first             use first available translation for each\n"
 "                              message, don't merge several translations\n"
 msgstr ""
+"      --use-first             käytä ensimmäistä käytettävissä olevaa "
+"käännöstä\n"
+"                              jokaiselle viestille, älä yhdistä useita "
+"käännöksiä\n"
 
 #: src/msgcat.c:432 src/msgen.c:339 src/msgmerge.c:565
 #, c-format
 msgid ""
 "      --lang=CATALOGNAME      set 'Language' field in the header entry\n"
-msgstr ""
+msgstr "      --lang=LUETTELONIMI     aseta ’Language’-kenttä otsakkeessa\n"
 
 #. This is a proper name. See the gettext manual, section Names.
 #: src/msgcmp.c:178 src/msgcomm.c:286 src/msgmerge.c:350
@@ -1252,10 +1497,11 @@ msgstr "syötetiedostoja ei annettu"
 msgid "exactly 2 input files required"
 msgstr "tarvitaan täsmälleen kaksi syötetiedostoa"
 
+#  Tiedostoihin ref.pot ja def.po viitataan muissa teksteissä, joten ne on paras jättää suomentamatta.
 #: src/msgcmp.c:213 src/msgmerge.c:480
 #, c-format
 msgid "Usage: %s [OPTION] def.po ref.pot\n"
-msgstr "Käyttö: %s [VALITSIN] tiedosto.po referenssi.pot\n"
+msgstr "Käyttö: %s [VALITSIN] def.po ref.pot\n"
 
 #: src/msgcmp.c:218
 #, c-format, no-wrap
@@ -1267,21 +1513,28 @@ msgid ""
 "you have translated each and every message in your program.  Where an exact\n"
 "match cannot be found, fuzzy matching is used to produce better diagnostics.\n"
 msgstr ""
+"Vertaa kaksi Uniforum-tyylistä .po-tiedostoa tarkistaakseen, että molemmat\n"
+"sisältävät saman msgid-merkkijonojen joukon. Tiedosto def.po on olemassaoleva\n"
+"PO-tiedosto käännöksineen. Tiedosto ref.pot on viimeisin luotu PO-tiedosto, tai\n"
+"PO-mallinnetiedosto (jonka yleensä xgettext-ohjelma luo). Tämä on hyödyllinen\n"
+"tarkistettaessa että olet kääntänyt jokaisen viestin ohjelmassasi. Siellä missä\n"
+"ei löydetä tarkkaa täsmäystä, käytetään vajaustäsmäystä tuottamaan parempi\n"
+"diagnostiikka.\n"
 
 #: src/msgcmp.c:232
 #, c-format
 msgid "  def.po                      translations\n"
-msgstr ""
+msgstr "  def.po                      käännökset\n"
 
 #: src/msgcmp.c:234
 #, c-format
 msgid "  ref.pot                     references to the sources\n"
-msgstr ""
+msgstr "  ref.pot                     viitteet lähteisiin\n"
 
 #: src/msgcmp.c:239 src/msgmerge.c:546
 #, c-format
 msgid "Operation modifiers:\n"
-msgstr ""
+msgstr "Toimintomääreet:\n"
 
 #: src/msgcmp.c:241 src/msgmerge.c:548
 #, c-format
@@ -1289,21 +1542,23 @@ msgid ""
 "  -m, --multi-domain          apply ref.pot to each of the domains in def."
 "po\n"
 msgstr ""
+"  -m, --multi-domain          käytä ref.pot-tiedostoa jokaiselle "
+"nimiavaruudelle tiedostossa def.po\n"
 
 #: src/msgcmp.c:243 src/msgmerge.c:550
 #, c-format
 msgid "  -N, --no-fuzzy-matching     do not use fuzzy matching\n"
-msgstr ""
+msgstr "  -N, --no-fuzzy-matching     älä käytä vajaustäsmäystä\n"
 
 #: src/msgcmp.c:245
 #, c-format
 msgid "      --use-fuzzy             consider fuzzy entries\n"
-msgstr ""
+msgstr "      --use-fuzzy             ota huomioon vajausrivit\n"
 
 #: src/msgcmp.c:247
 #, c-format
 msgid "      --use-untranslated      consider untranslated entries\n"
-msgstr ""
+msgstr "      --use-untranslated      ota huomioon kääntämättömät rivit\n"
 
 #: src/msgcmp.c:324
 #, c-format
@@ -1313,29 +1568,30 @@ msgstr "tämä viesti on kääntämättä"
 #: src/msgcmp.c:330
 #, c-format
 msgid "this message needs to be reviewed by the translator"
-msgstr ""
+msgstr "kääntäjän on katselmoitava tämä viesti"
 
 #: src/msgcmp.c:369 src/msgmerge.c:1500
 #, c-format
 msgid "this message is used but not defined..."
-msgstr ""
+msgstr "tätä viestiä käytetään, mutta sitä ei ole määritelty..."
 
 #: src/msgcmp.c:372 src/msgmerge.c:1503
 #, c-format
 msgid "...but this definition is similar"
-msgstr ""
+msgstr "...mutta tämä määrittely on samanlainen"
 
 #: src/msgcmp.c:377 src/msgmerge.c:1531
 #, c-format
 msgid "this message is used but not defined in %s"
 msgstr ""
+"tätä viestiä käytetään, mutta sitä ei ole määritelty nimiavaruudessa %s"
 
 #: src/msgcmp.c:546
 #, c-format
 msgid "warning: this message is not used"
 msgstr "varoitus: tätä viestiä ei käytetä"
 
-#: src/msgcmp.c:553 src/msgfmt.c:541
+#: src/msgcmp.c:553 src/msgfmt.c:545
 #, c-format
 msgid "found %d fatal error"
 msgid_plural "found %d fatal errors"
@@ -1355,10 +1611,18 @@ msgid ""
 "before messages are printed.  Conversely, the --less-than option may be\n"
 "used to specify less commonality before messages are printed (i.e.\n"
 "--less-than=2 will only print the unique messages).  Translations,\n"
-"comments and extract comments will be preserved, but only from the first\n"
+"comments and extracted comments will be preserved, but only from the first\n"
 "PO file to define them.  File positions from all PO files will be\n"
 "cumulated.\n"
 msgstr ""
+"Etsii viestejä, jotka ovat yhteisiä kahdelle tai useammille määritellyille\n"
+"PO-tiedostoille. Käyttämällä valitsinta --more-than voidaan pyytää suurempaa\n"
+"yhteistä ominaisuutta ennen viestien tulostamista. Toisinpäin, valitsinta\n"
+"--less-than voidaan käyttää määrittelemään pienempää yhteistä ominaisuutta\n"
+"ennen tulostusta (ts. valitsin --less-than=2 tulostaa vain uniikit viestit).\n"
+"Käännökset, kommentit ja pistekommentit säilytetään, paitsi jos valitsin\n"
+"--use-first on määritelty. Silloin ne otetaan ensimmäisestä PO-tiedostosta,\n"
+"joka on määritellyt ne. Tiedostosijainnit kaikista PO-tiedostoista kumuloituvat.\n"
 
 #: src/msgcomm.c:401
 #, c-format
@@ -1366,38 +1630,44 @@ msgid ""
 "  ->, --more-than=NUMBER      print messages with more than this many\n"
 "                              definitions, defaults to 1 if not set\n"
 msgstr ""
+"  ->, --more-than=NUMERO      tulostaa viestejä, joissa on enemmän kuin "
+"näin\n"
+"                              monta määrittelyä. Oletus 1, jos ei ole "
+"asetettu\n"
 
-#: src/msgcomm.c:451 src/xgettext.c:961
+#: src/msgcomm.c:451 src/xgettext.c:981
 #, c-format
 msgid ""
-"      --omit-header           don't write header with `msgid \"\"' entry\n"
+"      --omit-header           don't write header with 'msgid \"\"' entry\n"
 msgstr ""
+"      --omit-header           älä kirjoita otsaketta, jossa on ’msgid \"\"’ -"
+"rivi\n"
 
 #: src/msgconv.c:306
 #, c-format
 msgid "Converts a translation catalog to a different character encoding.\n"
-msgstr ""
+msgstr "Muuntaa käännösluettelon eri merkkikoodaukseen.\n"
 
 #: src/msgconv.c:330
 #, c-format
 msgid "Conversion target:\n"
-msgstr ""
+msgstr "Muunnoskohde:\n"
 
 #: src/msgconv.c:334
 #, c-format
 msgid "The default encoding is the current locale's encoding.\n"
-msgstr ""
+msgstr "Oletuskoodaus on nykyisen paikallisasetuksen koodaus.\n"
 
 #: src/msgconv.c:358 src/msgen.c:353 src/msgmerge.c:579
 #, c-format
 msgid "  -i, --indent                indented output style\n"
-msgstr ""
+msgstr "  -i, --indent                sisennetty tulostetyyli\n"
 
 #: src/msgconv.c:360 src/msgen.c:355 src/msgfilter.c:456 src/msggrep.c:603
 #: src/msgmerge.c:581
 #, c-format
 msgid "      --no-location           suppress '#: filename:line' lines\n"
-msgstr ""
+msgstr "      --no-location           vaienna ’#: filename:line’ -rivit\n"
 
 #: src/msgconv.c:362 src/msgen.c:357 src/msgfilter.c:458 src/msggrep.c:605
 #: src/msgmerge.c:583
@@ -1405,14 +1675,15 @@ msgstr ""
 msgid ""
 "      --add-location          preserve '#: filename:line' lines (default)\n"
 msgstr ""
+"      --add-location          säilytä ’#: filename:line’ -rivit (oletus)\n"
 
 #: src/msgconv.c:364 src/msgen.c:359 src/msgfilter.c:460 src/msggrep.c:607
 #: src/msgmerge.c:585
 #, c-format
 msgid "      --strict                strict Uniforum output style\n"
-msgstr ""
+msgstr "      --strict                tiukka Uniforum-tulostetyyli\n"
 
-#: src/msgen.c:248 src/msgfmt.c:383 src/xgettext.c:634
+#: src/msgen.c:248 src/msgfmt.c:383 src/xgettext.c:649
 #, c-format
 msgid "no input file given"
 msgstr "syötetiedostoa ei annettu"
@@ -1435,16 +1706,20 @@ msgid ""
 "xgettext).  Untranslated entries are assigned a translation that is\n"
 "identical to the msgid.\n"
 msgstr ""
+"Luo englanninkielisen käännösluettelon. Syötetiedosto on viimeksi luotu\n"
+"englanninkielinen PO-tiedosto, tai PO-mallinnetiedosto (yleensä xgettext-\n"
+"ohjelman luoma). Kääntämättömät rivit liitetään käännökseen, joka on\n"
+"identtinen msgid-merkkijonolle.\n"
 
 #: src/msgen.c:315
 #, c-format
 msgid "  INPUTFILE                   input PO or POT file\n"
-msgstr ""
+msgstr "  SYÖTETIEDOSTO               syötteen PO- tai POT-tiedosto\n"
 
 #: src/msgexec.c:196
 #, c-format
 msgid "missing command name"
-msgstr "puuttuva komento"
+msgstr "puuttuva komentonimi"
 
 #: src/msgexec.c:257
 #, c-format
@@ -1460,6 +1735,11 @@ msgid ""
 "msgexec's output.  msgexec's return code is the maximum return code\n"
 "across all invocations.\n"
 msgstr ""
+"Käyttää komentoa käännösluettelon kaikkiin käännöksiin.\n"
+"KOMENTO voi olla mikä tahansa ohjelma, joka lukee käännöksen\n"
+"vakiosyötteestä. Se kutsutaan kerran jokaisen käännöksen aikana.\n"
+"Se tulosteesta tulee msgexec-tuloste. Paluukoodi msgexec-ohjelmalle\n"
+"on kaikkien kutsujen maksimipaluukoodi.\n"
 
 #: src/msgexec.c:271
 #, c-format, no-wrap
@@ -1467,33 +1747,28 @@ msgid ""
 "A special builtin command called '0' outputs the translation, followed by a\n"
 "null byte.  The output of \"msgexec 0\" is suitable as input for \"xargs -0\".\n"
 msgstr ""
-"Erityinen sisäinen komento nimeltä â\80\9d\80\9d tulostaa käännöksen ja nollatavun.\n"
+"Erityinen sisäinen komento nimeltä â\80\99\80\99 tulostaa käännöksen ja nollatavun.\n"
 "”msgexec 0”:n tuloste kelpaa syötteeksi ”xargs -0”:lle.\n"
 
 #: src/msgexec.c:281 src/msgfilter.c:401
 #, c-format
 msgid "  -i, --input=INPUTFILE       input PO file\n"
-msgstr "  -i, --input=SYÖTETIED       syöte-PO-tiedosto\n"
+msgstr "  -i, --input=SYÖTETIEDOSTO   syöte-PO-tiedosto\n"
 
 #: src/msgexec.c:345
 #, c-format
 msgid "write to stdout failed"
 msgstr "kirjoittaminen vakiotulosteeseen epäonnistui"
 
-#: src/msgexec.c:389
-#, fuzzy, c-format
-msgid "write to %s subprocess failed"
-msgstr "%s aliprosessi epäonnistui"
-
 #: src/msgfilter.c:289
-#, fuzzy, c-format
+#, c-format
 msgid "missing filter name"
-msgstr "ei riittävästi argumentteja"
+msgstr "puuttuva suodatinnimi"
 
 #: src/msgfilter.c:313
 #, c-format
 msgid "at least one sed script must be specified"
-msgstr ""
+msgstr "vähintään yksi sed-skripti on määriteltävä"
 
 #: src/msgfilter.c:388
 #, c-format
@@ -1501,7 +1776,7 @@ msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
 msgstr "Käyttö: %s [VALITSIN] SUODATIN [SUODATTIMEN VALITSIN]\n"
 
 #: src/msgfilter.c:392
-#, fuzzy, c-format
+#, c-format
 msgid "Applies a filter to all translations of a translation catalog.\n"
 msgstr "Soveltaa suodatinta kaikkiin käännösluettelon käännöksiin.\n"
 
@@ -1518,13 +1793,14 @@ msgstr ""
 #: src/msgfilter.c:421
 #, c-format
 msgid "Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
-msgstr ""
+msgstr "Hyödylliset SUODATTIMEN VALITSIN-asetukset kun SUODATIN on ’sed’:\n"
 
 #: src/msgfilter.c:423
 #, c-format
 msgid ""
 "  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
 msgstr ""
+"  -e, --expression=SKRIPTI    lisää SKRIPTI suoritettaviin komentoihin\n"
 
 #: src/msgfilter.c:425
 #, c-format
@@ -1533,42 +1809,49 @@ msgid ""
 "commands\n"
 "                                to be executed\n"
 msgstr ""
+"  -f, --file=SKRIPTITIEDOSTO  lisää SKRIPTITIEDOSTOn sisältö suoritettaviin\n"
+"                                komentoihin\n"
 
 #: src/msgfilter.c:428
 #, c-format
 msgid ""
 "  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
 msgstr ""
+"  -n, --quiet, --silent       vaienna mallitilan automaattinen tulostus\n"
 
 #: src/msgfilter.c:446 src/msggrep.c:595
 #, c-format
 msgid ""
 "      --no-escape             do not use C escapes in output (default)\n"
 msgstr ""
+"      --no-escape             älä käytä C-koodinvaihtomerkkejä tulosteessa "
+"(oletus)\n"
 
 #: src/msgfilter.c:452 src/msggrep.c:601
 #, c-format
 msgid "      --indent                indented output style\n"
-msgstr ""
+msgstr "      --indent                sisennetty tulostetyyli\n"
 
 #: src/msgfilter.c:454
 #, c-format
 msgid ""
 "      --keep-header           keep header entry unmodified, don't filter it\n"
 msgstr ""
+"      --keep-header           pidä otsake muokkaamattomana, älä suodata "
+"sitä\n"
 
 #: src/msgfmt.c:304
 #, c-format
 msgid "the argument to %s should be a single punctuation character"
-msgstr ""
+msgstr "argumentti valitsimeen %s pitäisi olla yksittäinen välimerkki"
 
 #: src/msgfmt.c:351
 #, c-format
 msgid "invalid endianness: %s"
-msgstr ""
+msgstr "virheellinen endian-tyyppi: %s"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/msgfmt.c:372 src/msgunfmt.c:268 src/xgettext.c:590
+#: src/msgfmt.c:372 src/msgunfmt.c:268 src/xgettext.c:605
 msgid "Ulrich Drepper"
 msgstr "Ulrich Drepper"
 
@@ -1576,64 +1859,64 @@ msgstr "Ulrich Drepper"
 #: src/msgunfmt.c:353
 #, c-format
 msgid "%s requires a \"-d directory\" specification"
-msgstr ""
+msgstr "valitsin %s vaatii ”-d directory”-määrittelyn"
 
 #: src/msgfmt.c:440 src/msgfmt.c:462 src/msgunfmt.c:323 src/msgunfmt.c:346
 #, c-format
 msgid "%s requires a \"-l locale\" specification"
-msgstr ""
+msgstr "valitsin %s vaatii ”-l locale”-määrittelyn"
 
 #: src/msgfmt.c:478 src/msgunfmt.c:362 src/msgunfmt.c:368
-#, fuzzy, c-format
+#, c-format
 msgid "%s is only valid with %s or %s"
-msgstr "virheellinen argumentti ”%s” ”%s”:lle"
+msgstr "valitsin %s on kelvollinen vain valitsimen %s tai %s kanssa"
 
 #: src/msgfmt.c:484 src/msgfmt.c:490
-#, fuzzy, c-format
+#, c-format
 msgid "%s is only valid with %s, %s or %s"
-msgstr "virheellinen argumentti ”%s” ”%s”:lle"
+msgstr "valitsin %s on kelvollinen vain valitsimen %s, %s tai %s kanssa"
 
 #. TRANSLATORS: The prefix before a statistics message.  The argument
 #. is a file name or a comma separated list of file names.
-#: src/msgfmt.c:616
+#: src/msgfmt.c:620
 #, c-format
 msgid "%s: "
-msgstr ""
+msgstr "%s: "
 
-#: src/msgfmt.c:620
+#: src/msgfmt.c:624
 #, c-format
 msgid "%d translated message"
 msgid_plural "%d translated messages"
 msgstr[0] "%d käännetty viesti"
 msgstr[1] "%d käännettyä viestiä"
 
-#: src/msgfmt.c:625
+#: src/msgfmt.c:629
 #, c-format
 msgid ", %d fuzzy translation"
 msgid_plural ", %d fuzzy translations"
 msgstr[0] ", %d vajaa käännös"
 msgstr[1] ", %d vajaata käännöstä"
 
-#: src/msgfmt.c:630
+#: src/msgfmt.c:634
 #, c-format
 msgid ", %d untranslated message"
 msgid_plural ", %d untranslated messages"
 msgstr[0] ", %d kääntämätön viesti"
 msgstr[1] ", %d kääntämätöntä viestiä"
 
-#: src/msgfmt.c:650
+#: src/msgfmt.c:654
 #, c-format
 msgid "Usage: %s [OPTION] filename.po ...\n"
 msgstr "Käyttö: %s [VALITSIN] tiedosto.po ...\n"
 
-#: src/msgfmt.c:654
+#: src/msgfmt.c:658
 #, c-format
 msgid "Generate binary message catalog from textual translation description.\n"
 msgstr ""
-"Luo binäärimuotoisia viestiluetteloita tekstimuotoisesta "
+"Tuota binäärimuotoisia viestiluetteloita tekstimuotoisesta "
 "käännöskuvauksesta.\n"
 
-#: src/msgfmt.c:659 src/xgettext.c:825
+#: src/msgfmt.c:663 src/xgettext.c:841
 #, c-format, no-wrap
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
@@ -1642,74 +1925,80 @@ msgstr ""
 "Pitkien valitsinten pakolliset argumentit ovat pakollisia myös lyhyille.\n"
 "Valinnaiset argumentit vastaavasti.\n"
 
-#: src/msgfmt.c:666
+#: src/msgfmt.c:670
 #, c-format
 msgid "  filename.po ...             input files\n"
 msgstr "  tiedosto.po ...             syötetiedostot\n"
 
-#: src/msgfmt.c:673 src/msgmerge.c:512 src/msgunfmt.c:438 src/xgettext.c:873
+#: src/msgfmt.c:677 src/msgmerge.c:512 src/msgunfmt.c:438 src/xgettext.c:890
 #, c-format
 msgid "Operation mode:\n"
 msgstr "Toimintatila:\n"
 
-#: src/msgfmt.c:675
+#: src/msgfmt.c:679
 #, c-format
 msgid ""
 "  -j, --java                  Java mode: generate a Java ResourceBundle "
 "class\n"
 msgstr ""
+"  -j, --java                  Java-tila: tuota Java ResourceBundle -luokka\n"
 
-#: src/msgfmt.c:677
+#: src/msgfmt.c:681
 #, c-format
 msgid ""
 "      --java2                 like --java, and assume Java2 (JDK 1.2 or "
 "higher)\n"
 msgstr ""
+"      --java2                 kuten --java, ja otaksu Java2 (JDK 1.2 tai "
+"uudempi)\n"
 
-#: src/msgfmt.c:679
+#: src/msgfmt.c:683
 #, c-format
 msgid "      --csharp                C# mode: generate a .NET .dll file\n"
-msgstr ""
+msgstr "      --csharp                C#-tila: tuota .NET .dll -tiedosto\n"
 
-#: src/msgfmt.c:681
+#: src/msgfmt.c:685
 #, c-format
 msgid ""
 "      --csharp-resources      C# resources mode: generate a .NET .resources "
 "file\n"
 msgstr ""
+"      --csharp-resources      C#-resurssitila: tuota .NET .resources -"
+"tiedosto\n"
 
-#: src/msgfmt.c:683
+#: src/msgfmt.c:687
 #, c-format
 msgid ""
 "      --tcl                   Tcl mode: generate a tcl/msgcat .msg file\n"
 msgstr ""
+"      --tcl                   Tcl-tila: tuotaa tcl/msgcat .msg -tiedosto\n"
 
-#: src/msgfmt.c:685
+#: src/msgfmt.c:689
 #, c-format
 msgid "      --qt                    Qt mode: generate a Qt .qm file\n"
-msgstr "      --qt                    Qt-tila: luo Qt:n .qm-tiedosto\n"
+msgstr "      --qt                    Qt-tila: tuota Qt .qm -tiedosto\n"
 
-#: src/msgfmt.c:692
+#: src/msgfmt.c:696
 #, c-format
 msgid "      --strict                enable strict Uniforum mode\n"
-msgstr ""
+msgstr "      --strict                ota käyttöön tiukka Uniforum-tila\n"
 
-#: src/msgfmt.c:694 src/xgettext.c:849
+#: src/msgfmt.c:698 src/xgettext.c:865
 #, c-format
 msgid "If output file is -, output is written to standard output.\n"
 msgstr "Jos tulostiedosto on -, tuloste kirjoitetaan vakiotulosteeseen.\n"
 
-#: src/msgfmt.c:697
+#: src/msgfmt.c:701
 #, c-format
 msgid "Output file location in Java mode:\n"
-msgstr ""
+msgstr "Tulostetiedostosijainti Java-tilassa:\n"
 
-#: src/msgfmt.c:699 src/msgfmt.c:713 src/msgunfmt.c:458 src/msgunfmt.c:469
+#: src/msgfmt.c:703 src/msgfmt.c:717 src/msgunfmt.c:458 src/msgunfmt.c:469
 #, c-format
 msgid "  -r, --resource=RESOURCE     resource name\n"
-msgstr ""
+msgstr "  -r, --resource=RESURSSI     resurssinimi\n"
 
-#: src/msgfmt.c:701 src/msgfmt.c:715 src/msgfmt.c:725 src/msgunfmt.c:460
+#: src/msgfmt.c:705 src/msgfmt.c:719 src/msgfmt.c:729 src/msgunfmt.c:460
 #: src/msgunfmt.c:471 src/msgunfmt.c:481
 #, c-format
 msgid ""
@@ -1718,13 +2007,14 @@ msgid ""
 msgstr ""
 "  -l, --locale=MAA-ASETUSTO   maa-asetuston nimi, joko kieli tai kieli_MAA\n"
 
-#: src/msgfmt.c:703
+#: src/msgfmt.c:707
 #, c-format
 msgid ""
 "  -d DIRECTORY                base directory of classes directory hierarchy\n"
 msgstr ""
+"  -d HAKEMISTO                luokkien hakemistohierarkian perushakemisto\n"
 
-#: src/msgfmt.c:705
+#: src/msgfmt.c:709
 #, c-format
 msgid ""
 "The class name is determined by appending the locale name to the resource "
@@ -1732,174 +2022,215 @@ msgid ""
 "separated with an underscore.  The -d option is mandatory.  The class is\n"
 "written under the specified directory.\n"
 msgstr ""
+"Luokkanimi on määritelty liittämällä paikallisasetusnimi resurssinimeen ja\n"
+"erottamalla ne alaviivalla.  Valitsin -d on pakollinen.  Luokka on\n"
+"kirjoitettu määriteltyyn hakemistoon.\n"
 
-#: src/msgfmt.c:711
+#: src/msgfmt.c:715
 #, c-format
 msgid "Output file location in C# mode:\n"
-msgstr ""
+msgstr "Tulostetiedostosijainti C#-tilassa:\n"
 
-#: src/msgfmt.c:717 src/msgunfmt.c:473
+#: src/msgfmt.c:721 src/msgunfmt.c:473
 #, c-format
 msgid ""
 "  -d DIRECTORY                base directory for locale dependent .dll "
 "files\n"
 msgstr ""
+"  -d HAKEMISTO                perushakemisto paikallisasetuksista "
+"riippuville .dll-tiedostoille\n"
 
-#: src/msgfmt.c:719
+#: src/msgfmt.c:723
 #, c-format
 msgid ""
 "The -l and -d options are mandatory.  The .dll file is written in a\n"
 "subdirectory of the specified directory whose name depends on the locale.\n"
 msgstr ""
+"Valitsimet -l ja -d ovat pakollisia. Tiedosto .dll kirjoitetaan "
+"määriteltyyn\n"
+"alihakemistoon, jonka nimi riippuu paikallisasetuksesta.\n"
 
-#: src/msgfmt.c:723
+#: src/msgfmt.c:727
 #, c-format
 msgid "Output file location in Tcl mode:\n"
-msgstr ""
+msgstr "Tulostetiedostosijainti Tcl-tilassa:\n"
 
-#: src/msgfmt.c:727 src/msgunfmt.c:483
+#: src/msgfmt.c:731 src/msgunfmt.c:483
 #, c-format
 msgid "  -d DIRECTORY                base directory of .msg message catalogs\n"
-msgstr ""
+msgstr "  -d HAKEMISTO                perushakemisto .msg-viestiluetteloille\n"
 
-#: src/msgfmt.c:729
+#: src/msgfmt.c:733
 #, c-format
 msgid ""
 "The -l and -d options are mandatory.  The .msg file is written in the\n"
 "specified directory.\n"
 msgstr ""
+"Valitsimet -l ja -d ovat pakollisia.  Tiedosto .msg kirjoitetaan\n"
+"määriteltyyn hakemistoon.\n"
 
-#: src/msgfmt.c:741 src/xgettext.c:865
+#: src/msgfmt.c:745 src/xgettext.c:882
 #, c-format
 msgid "Input file interpretation:\n"
 msgstr "Syötetiedoston tulkinta:\n"
 
-#: src/msgfmt.c:743
+#: src/msgfmt.c:747
 #, c-format
 msgid ""
 "  -c, --check                 perform all the checks implied by\n"
 "                                --check-format, --check-header, --check-"
 "domain\n"
 msgstr ""
+"  -c, --check                 suorita kaikki tarkistukset, jotka tehdään "
+"valitsimilla\n"
+"                                --check-format, --check-header, --check-"
+"domain\n"
 
-#: src/msgfmt.c:746
+#: src/msgfmt.c:750
 #, c-format
 msgid "      --check-format          check language dependent format strings\n"
 msgstr ""
+"      --check-format          tarkista kieliriippuvaiset muotomerkkijonot\n"
 
-#: src/msgfmt.c:748
+#: src/msgfmt.c:752
 #, c-format
 msgid ""
 "      --check-header          verify presence and contents of the header "
 "entry\n"
 msgstr ""
+"      --check-header          tarkista otsakkeen olemassaolo ja sisältö\n"
 
-#: src/msgfmt.c:750
+#: src/msgfmt.c:754
 #, c-format
 msgid ""
 "      --check-domain          check for conflicts between domain directives\n"
 "                                and the --output-file option\n"
 msgstr ""
+"      --check-domain          tarkista nimiavaruusdirektiivien ja "
+"valitsimen\n"
+"                                --output-file väliset ristiriidat\n"
 
-#: src/msgfmt.c:753
+#: src/msgfmt.c:757
 #, c-format
 msgid ""
 "  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open "
 "msgfmt\n"
 msgstr ""
+"  -C, --check-compatibility   tarkista, että GNU msgfmt käyttäytyy kuin X/"
+"Open msgfmt\n"
 
-#: src/msgfmt.c:755
+#: src/msgfmt.c:759
 #, c-format
 msgid ""
 "      --check-accelerators[=CHAR]  check presence of keyboard accelerators "
 "for\n"
 "                                menu items\n"
 msgstr ""
+"      --check-accelerators[=CHAR]  tarkista näppäimistöpikavalitsimien "
+"olemassaolo\n"
+"                                valikkoriveillä\n"
 
-#: src/msgfmt.c:758
+#: src/msgfmt.c:762
 #, c-format
 msgid "  -f, --use-fuzzy             use fuzzy entries in output\n"
-msgstr "  -f, --use-fuzzy             käytä vajavuusmerkintöjä tulosteessa\n"
+msgstr "  -f, --use-fuzzy             käytä vajausmerkintöjä tulosteessa\n"
 
-#: src/msgfmt.c:763
+#: src/msgfmt.c:767
 #, c-format
 msgid ""
 "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
 msgstr ""
+"  -a, --alignment=NUMERO      tasaa merkkijonot NUMEROon tavuun (oletus: "
+"%d)\n"
 
-#: src/msgfmt.c:765
+#: src/msgfmt.c:769
 #, c-format
 msgid ""
-"      --no-hash               binary file will not include the hash table\n"
+"      --endianness=BYTEORDER  write out 32-bit numbers in the given byte "
+"order\n"
+"                                (big or little, default depends on "
+"platform)\n"
 msgstr ""
+"      --endianness=BYTEORDER  kirjoita 32-bittisiä numeroita annetussa "
+"endian-\n"
+"                                tavujärjestyksessä (big tai little, oletus "
+"riippuu\n"
+"                                alustasta)\n"
 
-#: src/msgfmt.c:774
+#: src/msgfmt.c:772
+#, c-format
+msgid ""
+"      --no-hash               binary file will not include the hash table\n"
+msgstr "      --no-hash               binaaritiedosto ei sisällä hash-taulua\n"
+
+#: src/msgfmt.c:781
 #, c-format
 msgid "      --statistics            print statistics about translations\n"
-msgstr ""
+msgstr "      --statistics            tulosta tilastot käännöksistä\n"
 
-#: src/msgfmt.c:776 src/msgmerge.c:607 src/msgunfmt.c:533
+#: src/msgfmt.c:783 src/msgmerge.c:607 src/msgunfmt.c:533
 #, c-format
 msgid "  -v, --verbose               increase verbosity level\n"
-msgstr ""
+msgstr "  -v, --verbose               kasvata laveustasoa\n"
 
-#: src/msgfmt.c:890
+#: src/msgfmt.c:897
 #, c-format
 msgid "warning: PO file header missing or invalid\n"
 msgstr "varoitus: PO-tiedoston otsake puuttuu tai on virheellinen\n"
 
-#: src/msgfmt.c:893
+#: src/msgfmt.c:900
 #, c-format
 msgid "warning: charset conversion will not work\n"
 msgstr "varoitus: merkistömuunnos ei tule toimimaan\n"
 
-#: src/msgfmt.c:903
+#: src/msgfmt.c:910
 #, c-format
 msgid "warning: PO file header fuzzy\n"
 msgstr "varoitus: PO-tiedoston otsake on merkitty vajaaksi\n"
 
-#: src/msgfmt.c:905
+#: src/msgfmt.c:912
 #, c-format
 msgid "warning: older versions of msgfmt will give an error on this\n"
 msgstr "varoitus: msgfmt:n vanhat versiot antavat tästä virheen\n"
 
-#: src/msgfmt.c:929
+#: src/msgfmt.c:936
 #, c-format
 msgid "domain name \"%s\" not suitable as file name"
-msgstr ""
+msgstr "nimiavaruusnimi ”%s” ei ole sopiva tiedostonimenä"
 
-#: src/msgfmt.c:934
+#: src/msgfmt.c:941
 #, c-format
 msgid "domain name \"%s\" not suitable as file name: will use prefix"
-msgstr ""
+msgstr "nimiavaruusnimi ”%s” ei ole sopiva tiedostonimenä: käyttää etuliitettä"
 
-#: src/msgfmt.c:948
+#: src/msgfmt.c:955
 #, c-format
-msgid "`domain %s' directive ignored"
-msgstr ""
+msgid "'domain %s' directive ignored"
+msgstr "’nimiavaruus %s’-direktiivi ohitetaan"
 
-#: src/msgfmt.c:1008
+#: src/msgfmt.c:1015
 #, c-format
-msgid "empty `msgstr' entry ignored"
-msgstr "tyhjä â\80\9dmsgstrâ\80\9d-merkintä jätetty huomioimatta"
+msgid "empty 'msgstr' entry ignored"
+msgstr "tyhjä â\80\99msgstrâ\80\99-merkkijono jätetty huomioimatta"
 
-#: src/msgfmt.c:1009
+#: src/msgfmt.c:1016
 #, c-format
-msgid "fuzzy `msgstr' entry ignored"
-msgstr "vajaa â\80\9dmsgstrâ\80\9d-merkintä jätetty huomioimatta"
+msgid "fuzzy 'msgstr' entry ignored"
+msgstr "vajaa â\80\99msgstrâ\80\99-merkkijono jätetty huomioimatta"
 
-#: src/msgfmt.c:1058
+#: src/msgfmt.c:1065
 #, c-format
 msgid "%s: warning: source file contains fuzzy translation"
 msgstr "%s: varoitus: lähdetiedosto sisältää vajaan käännöksen"
 
 #: src/msggrep.c:258 src/po-lex.c:657 src/read-mo.c:86
 #: src/read-properties.c:89 src/read-stringtable.c:98 src/x-awk.c:139
-#: src/x-c.c:484 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:616
-#: src/x-java.c:181 src/x-librep.c:147 src/x-lisp.c:212 src/x-perl.c:227
-#: src/x-perl.c:302 src/x-perl.c:395 src/x-php.c:163 src/x-python.c:174
-#: src/x-rst.c:233 src/x-scheme.c:171 src/x-sh.c:155 src/x-smalltalk.c:91
-#: src/x-tcl.c:150 src/x-ycp.c:91
+#: src/x-c.c:484 src/x-csharp.c:163 src/x-elisp.c:145 src/x-glade.c:834
+#: src/x-java.c:181 src/x-javascript.c:172 src/x-librep.c:147 src/x-lisp.c:212
+#: src/x-lua.c:173 src/x-perl.c:227 src/x-perl.c:302 src/x-perl.c:395
+#: src/x-php.c:163 src/x-python.c:176 src/x-rst.c:233 src/x-scheme.c:171
+#: src/x-sh.c:155 src/x-smalltalk.c:91 src/x-tcl.c:150 src/x-vala.c:174
+#: src/x-ycp.c:91
 #, c-format
 msgid "error while reading \"%s\""
 msgstr "virhe luettaessa tiedostoa ”%s”"
@@ -1910,6 +2241,8 @@ msgid ""
 "option '%c' cannot be used before 'J' or 'K' or 'T' or 'C' or 'X' has been "
 "specified"
 msgstr ""
+"valitsinta ’%c’ ei voida käyttää ennen kuin ’J’ tai ’K’ tai ’T’ tai ’C’ tai "
+"’X’ on määritelty"
 
 #: src/msggrep.c:516
 #, c-format, no-wrap
@@ -1917,7 +2250,10 @@ msgid ""
 "Extracts all messages of a translation catalog that match a given pattern\n"
 "or belong to some given source files.\n"
 msgstr ""
+"Poimii käännösluettelosta kaikki viestit, jotka täsmäävät annettuun malliin\n"
+"tai kuuluvat johonkin annetuista lähdetiedostoista.\n"
 
+#  Pistekommentti viittaan kommenttiriviin, joka alkaa merkeillä "#. "
 #: src/msggrep.c:542
 #, c-format, no-wrap
 msgid ""
@@ -1957,12 +2293,50 @@ msgid ""
 "  -v, --invert-match          output only the messages that do not match any\n"
 "                              selection criterion\n"
 msgstr ""
+"Viestivalinta:\n"
+"  [-N LÄHDETIEDOSTO]... [-M NIMIAVARUUSNIMI]...\n"
+"  [-J MSGCTXT-MALLI] [-K MSGID-MALLI] [-T MSGSTR-MALLI]\n"
+"  [-C KOMMENTTIMALLI] [-X PISTEKOMMENTTIMALLI]\n"
+"Viesti on valittu, jos se tulee yhdestä määritellystä lähdetiedostoista,\n"
+"tai jos se tulee yhdestä määritellyistä nimiavaruuksista,\n"
+"tai jos -J on annettu ja sen konteksti (msgctxt) täsmää MSGCTXT-MALLIn kanssa,\n"
+"tai jos -K on annettu ja sen avain (msgid tai msgid_plural) täsmää MSGID-MALLIn kanssa,\n"
+"tai jos -T on annettu ja sen käännös (msgstr) täsmää MSGSTR-MALLIn kanssa,\n"
+"tai jos -C on annettu ja kääntäjän kommentti täsmää KOMMENTTIMALLIn kanssa,\n"
+"tai jos -X on annettu ja pistekommentti täsmää PISTEKOMMENTTIMALLIn kanssa.\n"
+"\n"
+"Kun useampi kuin yksi valintakriteeri määritellään, valittujen viestien\n"
+"joukko on valittujen viestien joka kriteerin yhdistelmä.\n"
+"\n"
+"MSGCTXT-MALLI tai MSGID-MALLI tai MSGSTR-MALLI tai KOMMENTTIMALLI tai\n"
+"PISTEKOMMENTTIMALLI -syntaksi:\n"
+"  [-E | -F] [-e MALLI | -f TIEDOSTO]...\n"
+"MALLIt ovat oletuksena perusäännöllisiä lausekkeita, tai laajennettuja\n"
+"säännöllisiä lausekkeita, jos valitsin -E on annettu, tai kiinteitä\n"
+"merkkijonoja, jos valitsin -F on annettu.\n"
+"\n"
+"  -N, --location=LÄHDETIED    valitse tiedostosta LÄHDETIED poimitut viestit\n"
+"  -M, --domain=NIMIAVARUUS    valitse kohteesen NIMIAVARUUS kuuluvat viestit\n"
+"  -J, --msgctxt               mallien alku msgctxt-merkkijonolle\n"
+"  -K, --msgid                 mallien alku msgid-merkkijonolle\n"
+"  -T, --msgstr                mallien alku msgstr-merkkijonolle\n"
+"  -C, --comment               mallien alku kääntäjän kommentille\n"
+"  -X, --extracted-comment     mallien alku pistekommentille\n"
+"  -E, --extended-regexp       MALLI on laajennettu säännöllinen lauseke\n"
+"  -F, --fixed-strings         MALLI on joukko rivinvaihdolla eroteltuja merkkijonoja\n"
+"  -e, --regexp=MALLI          käytä MALLIa säännöllisenä lausekkeena\n"
+"  -f, --file=TIEDOSTO         hanki MALLI TIEDOSTOsta\n"
+"  -i, --ignore-case           ohita erilainen kirjainkoko\n"
+"  -v, --invert-match          tulosta vain viestit, jotka eivät täsmää mihinkään\n"
+"                              valintakriteeriin\n"
 
 #: src/msggrep.c:597
 #, c-format
 msgid ""
 "      --escape                use C escapes in output, no extended chars\n"
 msgstr ""
+"      --escape                käytä C-koodinvaihtomerkkejä tulosteessa, ei "
+"laajennettuja merkkejä\n"
 
 #: src/msggrep.c:618
 #, c-format
@@ -1973,6 +2347,8 @@ msgstr "      --sort-output           tuota lajiteltu tuloste\n"
 #, c-format
 msgid "      --sort-by-file          sort output by file location\n"
 msgstr ""
+"      --sort-by-file          lajitttele tuloste tiedoston sijainnin "
+"perusteella\n"
 
 #: src/msginit.c:297
 msgid ""
@@ -1980,6 +2356,9 @@ msgid ""
 "your LANG environment variable, as described in the ABOUT-NLS\n"
 "file.  This is necessary so you can test your translations.\n"
 msgstr ""
+"Olet kielessä, joka poikkea ympäristöstäsi. Aseta LANG-\n"
+"ympäristömuuttuja, kuten kuvaillaan ABOUT-NLS-tiedostossa.\n"
+"Se on välttämätöntä, jotta voit testata käännöksiäsi.\n"
 
 #: src/msginit.c:321
 #, c-format
@@ -1988,23 +2367,26 @@ msgid ""
 "Please specify the locale through the --locale option or\n"
 "the output .po file through the --output-file option.\n"
 msgstr ""
+"Tulostetiedosto %s on jo olemassa.\n"
+"Määritä paikallisasetus valitsimen --locale tai\n"
+"tulosteen .po-tiedosot valitsimen --output-file avulla .\n"
 
 #: src/msginit.c:347
 #, c-format
 msgid "Created %s.\n"
-msgstr ""
+msgstr "Luotu %s.\n"
 
 #: src/msginit.c:367
 #, c-format, no-wrap
 msgid ""
 "Creates a new PO file, initializing the meta information with values from the\n"
 "user's environment.\n"
-msgstr ""
+msgstr "Luo uuden PO-tiedoston alustaen meta-tiedot arvoilla käyttäjän ympäristöstä.\n"
 
 #: src/msginit.c:377
 #, c-format
 msgid "  -i, --input=INPUTFILE       input POT file\n"
-msgstr ""
+msgstr "  -i, --input=SYÖTETIEDOSTO   syötteen POT-tiedosto\n"
 
 #: src/msginit.c:379
 #, c-format
@@ -2013,11 +2395,15 @@ msgid ""
 "file.\n"
 "If it is -, standard input is read.\n"
 msgstr ""
+"Jos syötetiedostoa ei anneta, nykyisestä hakemistosta etsitään POT-"
+"tiedosto.\n"
+"Jos se on -, luetaan vakiosyöte.\n"
 
 #: src/msginit.c:385
 #, c-format
 msgid "  -o, --output-file=FILE      write output to specified PO file\n"
 msgstr ""
+"  -o, --output-file=TIEDOSTO  kirjoita tuloste määriteltyyn PO-tiedostoon\n"
 
 #: src/msginit.c:387
 #, c-format
@@ -2025,41 +2411,50 @@ msgid ""
 "If no output file is given, it depends on the --locale option or the user's\n"
 "locale setting.  If it is -, the results are written to standard output.\n"
 msgstr ""
+"Jos tulostetiedostoa ei ole annettu, se riippuu valitsimesta --locale tai "
+"käyttäjän\n"
+"paikkallisasetuksista. Jos se on -, tulokset kirjoitetaan "
+"vakiotulosteeseen.\n"
 
 #: src/msginit.c:400
 #, c-format
 msgid "  -l, --locale=LL_CC          set target locale\n"
-msgstr ""
+msgstr "  -l, --locale=LL_CC          aseta kohdepaikallisasetus\n"
 
 #: src/msginit.c:402
 #, c-format
 msgid ""
 "      --no-translator         assume the PO file is automatically generated\n"
 msgstr ""
+"      --no-translator         otaksu PO-tiedosto tuotetuksi automaattisesti\n"
 
 #: src/msginit.c:468
 msgid ""
 "Found more than one .pot file.\n"
 "Please specify the input .pot file through the --input option.\n"
 msgstr ""
+"Löytyi useampi kuin yksi .pot-tiedosto.\n"
+"Määritä syötteen .pot-tiedosto valitsimella --input.\n"
 
 #: src/msginit.c:476 src/msginit.c:481
 #, c-format
 msgid "error reading current directory"
-msgstr ""
+msgstr "virhe luettaessa nykyistä hakemistoa"
 
 #: src/msginit.c:489
 msgid ""
 "Found no .pot file in the current directory.\n"
 "Please specify the input .pot file through the --input option.\n"
 msgstr ""
+"Nykyisestä hakemistosta ei löytynyt .pot-tiedostoa.\n"
+"Määritä syötteen .pot-tiedosto valitsimella --input.\n"
 
 #: src/msginit.c:918 src/msginit.c:993 src/msginit.c:1153 src/msginit.c:1248
 #: src/read-csharp.c:83 src/read-java.c:81 src/read-resources.c:84
 #: src/read-tcl.c:127 src/write-resources.c:104
-#, fuzzy, c-format
+#, c-format
 msgid "%s subprocess failed with exit code %d"
-msgstr "%s aliprosessi epäonnistui"
+msgstr "%s aliprosessi epäonnistui poistumiskoodilla %d"
 
 #: src/msginit.c:1118
 msgid ""
@@ -2069,6 +2464,11 @@ msgid ""
 "contact\n"
 "you in case of unexpected technical problems.\n"
 msgstr ""
+"Uuden viestiluettelon pitäisi sisältää sähköpostiosoitteesi, jotta käyttäjät "
+"voivat\n"
+"antaa sinulle palautetta käännöksistä, ja jotta ylläpitäjät voivat ottaa "
+"yhteyttä\n"
+"odottamattomissa teknisissä pulmissa.\n"
 
 #. TRANSLATORS: "English" needs to be replaced by your language.
 #. For example in it.po write "Traduzioni italiani ...",
@@ -2081,34 +2481,36 @@ msgstr "Suomenkielinen käännös %s-paketille"
 #: src/msgl-cat.c:177 src/msgl-charset.c:86 src/msgl-iconv.c:247
 #, c-format
 msgid "present charset \"%s\" is not a portable encoding name"
-msgstr ""
+msgstr "nykyinen merkistö ”%s” ei ole siirrettävä koodausnimi"
 
 #: src/msgl-cat.c:188 src/msgl-iconv.c:259
 #, c-format
 msgid "two different charsets \"%s\" and \"%s\" in input file"
-msgstr ""
+msgstr "kaksi erilaista merkistöä ”%s” ja ”%s” syötetiedostossa"
 
 #: src/msgl-cat.c:203
 #, c-format
 msgid ""
-"input file `%s' doesn't contain a header entry with a charset specification"
-msgstr ""
+"input file '%s' doesn't contain a header entry with a charset specification"
+msgstr "syötetiedostossa ’%s’ ei ole otsaketta, jossa on merkistömäärittely"
 
 #: src/msgl-cat.c:207
 #, c-format
 msgid ""
-"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
+"domain \"%s\" in input file '%s' doesn't contain a header entry with a "
 "charset specification"
 msgstr ""
+"nimiavaruus ”%s” syötetiedostossa ’%s’ ei sisällä otsaketta, jossa on "
+"merkistömäärittely"
 
 #: src/msgl-cat.c:391 src/msgl-iconv.c:375
 #, c-format
 msgid "target charset \"%s\" is not a portable encoding name."
-msgstr ""
+msgstr "kohdemerkistö %s” ei ole siirrettävä koodausnimi."
 
 #: src/msgl-cat.c:442 src/msgl-cat.c:448 src/msgl-charset.c:92
-#: src/msgl-charset.c:127 src/po-xerror.c:121 src/po-xerror.c:146
-#: src/xgettext.c:3015
+#: src/msgl-charset.c:127 src/po-xerror.c:122 src/po-xerror.c:147
+#: src/xgettext.c:3073
 #, c-format
 msgid "warning: "
 msgstr "varoitus: "
@@ -2130,6 +2532,10 @@ msgid ""
 "Converting the output to UTF-8.\n"
 "To select a different output encoding, use the --to-code option.\n"
 msgstr ""
+"Syötetiedostot sisältävät viestejä eri koodauksista, %s ja %s muiden "
+"muassa.\n"
+"Muunnetaan tuloste UTF-8 -koodaukseen.\n"
+"Eri tulostekoodauksen valitsemiseksi käytä valitsinta --to-code.\n"
 
 #: src/msgl-cat.c:488
 #, c-format
@@ -2139,6 +2545,11 @@ msgid ""
 "Either change all msgids and msgctxts to be pure ASCII, or ensure they are\n"
 "UTF-8 encoded from the beginning, i.e. already in your source code files.\n"
 msgstr ""
+"Tiedoston %s muunnos koodauksesta %s koodaukseen %s\n"
+"muuttaa joitakin msgid-merkkijonoja ja msgctxt-merkkijonoja.\n"
+"Vaihda joko kaikki msgid-merkkijonot ja msgctxt-merkkijonot puhtaaksi\n"
+"ASCII-tekstiksi, tai varmista että ne ovat UTF-8 -koodausta alusta alkaen,\n"
+"ts. jo lähdekooditiedostoissa.\n"
 
 #: src/msgl-charset.c:93
 #, c-format
@@ -2148,11 +2559,15 @@ msgid ""
 "Output of '%s' might be incorrect.\n"
 "Possible workarounds are:\n"
 msgstr ""
+"Paikallisasetuksen merkistö \"%s\" eroaa\n"
+"syötetiedoston merkistöstä \"%s\".\n"
+"Tuloste ’%s’ saattaisi olla virheellinen.\n"
+"Mahdollisia kiertokeinoja ovat:\n"
 
 #: src/msgl-charset.c:100
 #, c-format
 msgid "- Set LC_ALL to a locale with encoding %s.\n"
-msgstr ""
+msgstr "- Aseta LC_ALL paikallisasetukseen, jonka koodaus on %s.\n"
 
 #: src/msgl-charset.c:105
 #, c-format
@@ -2161,6 +2576,11 @@ msgid ""
 "  then apply '%s',\n"
 "  then convert back to %s using 'msgconv'.\n"
 msgstr ""
+"- Muunna käännösluettelo po-tiedoston paikallisasetukseen %s käyttäen "
+"ohjelmaa 'msgconv',\n"
+"  käytä sitten ohjelmaa ’%s’,\n"
+"  muunna sitten takaisin po-tiedoston paikallisasetukseen %s käyttäen "
+"ohjelmaa 'msgconv'.\n"
 
 #: src/msgl-charset.c:114
 #, c-format
@@ -2170,6 +2590,11 @@ msgid ""
 "  then apply '%s',\n"
 "  then convert back to %s using 'msgconv'.\n"
 msgstr ""
+"- Aseta muuttuja LC_ALL paikallisasetukseen koodauksella %s,\n"
+"  muunna käännösluettelo koodaukseen %s käyttäen ohjelmaa 'msgconv',\n"
+"  käytä sitten ohjelmaa ’%s’,\n"
+"  muunna sitten takaisin po-tiedoston merkistöön %s käyttäen ohjelmaa "
+"'msgconv'.\n"
 
 #: src/msgl-charset.c:128
 #, c-format
@@ -2178,6 +2603,9 @@ msgid ""
 "Output of '%s' might be incorrect.\n"
 "A possible workaround is to set LC_ALL=C.\n"
 msgstr ""
+"Paikallisasetusmerkistö \"%s\" ei ole siirrettävä koodausnimi.\n"
+"’%s’-tuloste saattaa olla virheellinen.\n"
+"Mahdollinen kiertokeino on asettaa muuttujaan LC_ALL=C.\n"
 
 #: src/msgl-check.c:130
 msgid "plural expression can produce negative values"
@@ -2207,133 +2635,128 @@ msgstr ""
 #: src/msgl-check.c:266
 #, c-format
 msgid "Try using the following, valid for %s:"
-msgstr ""
+msgstr "Yritä käyttää seuraavaa, kelvollinen kohteelle %s:"
 
-#: src/msgl-check.c:352 src/msgl-check.c:376
+#: src/msgl-check.c:358 src/msgl-check.c:382
 msgid "message catalog has plural form translations"
-msgstr ""
+msgstr "viestiluettelossa on monikkomuotoisia käännöksiä"
 
-#: src/msgl-check.c:354
+#: src/msgl-check.c:360
 msgid "but header entry lacks a \"plural=EXPRESSION\" attribute"
-msgstr ""
+msgstr "mutta otsakkeesta puuttuu attribuutti \"plural=LAUSEKE\""
 
-#: src/msgl-check.c:378
+#: src/msgl-check.c:384
 msgid "but header entry lacks a \"nplurals=INTEGER\" attribute"
-msgstr ""
+msgstr "mutta otsakkeesta puuttuu \"nplurals=KOKONAISLUKU\"-attribuutti"
 
-#: src/msgl-check.c:414
+#: src/msgl-check.c:420
 msgid "invalid nplurals value"
 msgstr "virheellinen nplurals-arvo"
 
-#: src/msgl-check.c:436
+#: src/msgl-check.c:442
 msgid "invalid plural expression"
 msgstr "virheellinen monikkolauseke"
 
-#: src/msgl-check.c:466 src/msgl-check.c:482
+#: src/msgl-check.c:472 src/msgl-check.c:488
 #, c-format
 msgid "nplurals = %lu"
 msgstr "nplurals = %lu"
 
-#: src/msgl-check.c:468
+#: src/msgl-check.c:474
 #, c-format
 msgid "but some messages have only one plural form"
 msgid_plural "but some messages have only %lu plural forms"
 msgstr[0] "mutta joillakin viesteillä on vain yksi monikkomuoto"
 msgstr[1] "mutta joillakin viesteillä on vain %lu monikkomuotoa"
 
-#: src/msgl-check.c:484
+#: src/msgl-check.c:490
 #, c-format
 msgid "but some messages have one plural form"
 msgid_plural "but some messages have %lu plural forms"
 msgstr[0] "mutta joillakin viesteillä on yksi monikkomuoto"
 msgstr[1] "mutta joillakin viesteillä on %lu monikkomuotoa"
 
-#: src/msgl-check.c:508
+#: src/msgl-check.c:514
 msgid ""
 "message catalog has plural form translations, but lacks a header entry with "
 "\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
 msgstr ""
+"viestiluettelossa on monikkomuotoisia käännöksiä, mutta siitä puuttuu "
+"otsakerivi \"Plural-Forms: nplurals=KOKONAISLUKU; plural=LAUSEKE;\""
 
-#: src/msgl-check.c:602
-msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
-msgstr ""
+#: src/msgl-check.c:611
+msgid "'msgid' and 'msgid_plural' entries do not both begin with '\\n'"
+msgstr "’msgid’ ja ’msgid_plural’ -rivit eivät molemmat ala merkillä ’\\n’"
 
-#: src/msgl-check.c:610
+#: src/msgl-check.c:619
 #, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
-msgstr ""
+msgid "'msgid' and 'msgstr[%u]' entries do not both begin with '\\n'"
+msgstr "’msgid’ ja ’msgstr[%u]’ -rivit eivät molemmat ala merkillä ’\\n’"
 
-#: src/msgl-check.c:625
-msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
-msgstr ""
+#: src/msgl-check.c:634
+msgid "'msgid' and 'msgstr' entries do not both begin with '\\n'"
+msgstr "’msgid’ ja ’msgstr’ -rivit eivät molemmat ala merkillä ’\\n’"
 
-#: src/msgl-check.c:643
-msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
-msgstr ""
+#: src/msgl-check.c:652
+msgid "'msgid' and 'msgid_plural' entries do not both end with '\\n'"
+msgstr "’msgid’ ja ’msgid_plural’ -rivit eivät molemmat lopu merkillä ’\\n’"
 
-#: src/msgl-check.c:651
+#: src/msgl-check.c:660
 #, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
-msgstr ""
+msgid "'msgid' and 'msgstr[%u]' entries do not both end with '\\n'"
+msgstr "’msgid’ ja ’msgstr[%u]’ -rivit eivät molemmat lopu merkillä ’\\n’"
 
-#: src/msgl-check.c:666
-msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
-msgstr ""
+#: src/msgl-check.c:675
+msgid "'msgid' and 'msgstr' entries do not both end with '\\n'"
+msgstr "’msgid’ ja ’msgstr’ -rivit eivät molemmat lopu merkillä ’\\n’"
 
-#: src/msgl-check.c:678
+#: src/msgl-check.c:687
 msgid "plural handling is a GNU gettext extension"
 msgstr "monikkomuotojen käsittely on GNU gettext -laajennos"
 
-#: src/msgl-check.c:720
+#: src/msgl-check.c:729
 #, c-format
 msgid "msgstr lacks the keyboard accelerator mark '%c'"
-msgstr ""
+msgstr "msgstr-merkkijonosta puuttuu pikanäppäinmerkki ’%c’"
 
-#: src/msgl-check.c:730
+#: src/msgl-check.c:739
 #, c-format
 msgid "msgstr has too many keyboard accelerator marks '%c'"
-msgstr ""
+msgstr "msgstr-merkkijonossa on liian monta pikanäppäinmerkkiä ’%c’"
 
-#: src/msgl-check.c:776
+#: src/msgl-check.c:801
 #, c-format
-msgid "header field `%s' missing in header\n"
-msgstr ""
+msgid "header field '%s' still has the initial default value\n"
+msgstr "otsakekenttä ’%s’ on edelleen oletusarvossaan\n"
 
-#: src/msgl-check.c:784
+#: src/msgl-check.c:816
 #, c-format
-msgid "header field `%s' should start at beginning of line\n"
-msgstr ""
-
-#: src/msgl-check.c:809
-msgid "some header fields still have the initial default value\n"
-msgstr ""
-
-#: src/msgl-check.c:826
-#, fuzzy, c-format
-msgid "header field `%s' still has the initial default value\n"
-msgstr "kenttä ”%s” on edelleen oletusarvossaan\n"
+msgid "header field '%s' missing in header\n"
+msgstr "otsakekenttä ’%s’ puuttuu otsakkeessa\n"
 
 #: src/msgl-iconv.c:65
 #, c-format
 msgid "%s: input is not valid in \"%s\" encoding"
-msgstr ""
+msgstr "%s: syöte ei ole kelvollinen ”%s”-koodauksessa"
 
 #: src/msgl-iconv.c:69
-#, fuzzy, c-format
+#, c-format
 msgid "%s: error while converting from \"%s\" encoding to \"%s\" encoding"
-msgstr "virhe avattaessa ”%s” lukemista varten"
+msgstr "%s: virhe muunnettaessa ”%s”-koodauksesta ”%s”-koodaukseen"
 
 #: src/msgl-iconv.c:290
 msgid "input file doesn't contain a header entry with a charset specification"
-msgstr "syötetiedosto ei sisällä merkistön määrittelevää otsakeriviä"
+msgstr "syötetiedosto ei sisällä otsaketta, jossa on merkistömäärittely"
 
-#: src/msgl-iconv.c:305 src/recode-sr-latin.c:287 src/recode-sr-latin.c:292
-#: src/x-python.c:622 src/xgettext.c:692
+#: src/msgl-iconv.c:305 src/recode-sr-latin.c:288 src/recode-sr-latin.c:293
+#: src/x-python.c:665 src/xgettext.c:708
 #, c-format
 msgid ""
 "Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
 "not support this conversion."
 msgstr ""
+"Muuntaminen koodauksesta ”%s” koodaukseen ”%s” epäonnistui. %s käyttää "
+"funktiota iconv(), ja iconv() ei tue tätä muunnosta."
 
 #: src/msgl-iconv.c:335
 #, c-format
@@ -2341,23 +2764,27 @@ msgid ""
 "Conversion from \"%s\" to \"%s\" introduces duplicates: some different "
 "msgids become equal."
 msgstr ""
+"Muunnos koodauksesta ”%s” koodaukseen ”%s” esitteli kaksoiskappaleita: "
+"jotkut eri msgid-merkkijonot ovat samoja."
 
-#: src/msgl-iconv.c:341 src/recode-sr-latin.c:301 src/x-python.c:629
-#: src/xgettext.c:699
+#: src/msgl-iconv.c:341 src/recode-sr-latin.c:302 src/x-python.c:672
+#: src/xgettext.c:715
 #, c-format
 msgid ""
 "Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
 "built without iconv()."
 msgstr ""
+"Muuntaminen koodauksesta ”%s” koodaukseen ”%s” epäonnistui. %s käyttää "
+"funktiota iconv(). Tämä versio on rakennettu ilman funktiota iconv()."
 
 #: src/msgmerge.c:383 src/msgmerge.c:389
 #, c-format
 msgid "%s is only valid with %s"
-msgstr ""
+msgstr "valitsin %s on kelvollinen vain valitsimen %s kanssa"
 
 #: src/msgmerge.c:448
 msgid "backup type"
-msgstr ""
+msgstr "varmuuskopiotyyppi"
 
 #: src/msgmerge.c:485
 #, c-format, no-wrap
@@ -2372,16 +2799,27 @@ msgid ""
 "comments and file positions will be preserved.  Where an exact match\n"
 "cannot be found, fuzzy matching is used to produce better results.\n"
 msgstr ""
+"Yhdistää kaksi Uniform-tyylistä .po-tiedostoa.  Tiedosto def.po on\n"
+"olemassa oleva PO-tiedosto käännöksillä, jotka siirretään uudelleen\n"
+"luotuun tiedostoon niin kauan kuin ne täsmäävät; kommentit säilytetään,\n"
+"mutta pistekommentit ja tiedostosijainnit hylätään.  Tiedosto ref.pot\n"
+"on viimeisin luotu PO-tiedosto ajantasaisilla lähdekoodiviittauksilla, mutta\n"
+"vanhoilla käännöksillä, tai PO-mallinnetiedosto (jonka yleensä luo xgettext);\n"
+"kaikki käännökset ja kommentit tiedostossa hylätään, kuitenkin piste-\n"
+"kommentit ja tiedostosijainnit säilytetään.  Siellä missä ei löydetä\n"
+"tarkkaa täsmäystä, käytetään vajaustäsmäystä paremman tuloksen tuottamiseksi.\n"
 
 #: src/msgmerge.c:502
 #, c-format
 msgid "  def.po                      translations referring to old sources\n"
 msgstr ""
+"  def.po                      käännökset, jotka viittaavat vanhoihin "
+"lähdekoodeihin\n"
 
 #: src/msgmerge.c:504
 #, c-format
 msgid "  ref.pot                     references to new sources\n"
-msgstr ""
+msgstr "  ref.pot                     viittaa uusiin lähdekoodeihin\n"
 
 #: src/msgmerge.c:508
 #, c-format
@@ -2389,6 +2827,8 @@ msgid ""
 "  -C, --compendium=FILE       additional library of message translations,\n"
 "                              may be specified more than once\n"
 msgstr ""
+"  -C, --compendium=TIEDOSTO   viestikäännösten lisäkirjasto,\n"
+"                              saatetaan määritellä useammin kuin kerran\n"
 
 #: src/msgmerge.c:514
 #, c-format
@@ -2396,26 +2836,30 @@ msgid ""
 "  -U, --update                update def.po,\n"
 "                              do nothing if def.po already up to date\n"
 msgstr ""
+"  -U, --update                päivitä tiedosto def.po,\n"
+"                              älä tee mitään, jos tiedosto def.po on jo ajan "
+"tasalla\n"
 
 #: src/msgmerge.c:526
 #, c-format
 msgid "Output file location in update mode:\n"
-msgstr ""
+msgstr "Tulostetiedostosijainti päivitystilassa:\n"
 
 #: src/msgmerge.c:528
 #, c-format
 msgid "The result is written back to def.po.\n"
-msgstr ""
+msgstr "Tulos kirjoitetaan takaisin tiedostoon def.po.\n"
 
 #: src/msgmerge.c:530
 #, c-format
 msgid "      --backup=CONTROL        make a backup of def.po\n"
-msgstr ""
+msgstr "      --backup=CONTROL        tee tiedoston def.po varmuuskopio\n"
 
 #: src/msgmerge.c:532
 #, c-format
 msgid "      --suffix=SUFFIX         override the usual backup suffix\n"
 msgstr ""
+"      --suffix=LOPPULIITE     korvaa tavallisen varmuuskopioloppuliitteen\n"
 
 #: src/msgmerge.c:534
 #, c-format
@@ -2428,42 +2872,58 @@ msgid ""
 "  existing, nil   numbered if numbered backups exist, simple otherwise\n"
 "  simple, never   always make simple backups\n"
 msgstr ""
+"Versionhallintamenetelmä voidaan valita valitsimen --backup tai\n"
+"ympäristömuuttujan VERSION_CONTROL avulla.  Tässä ovat arvot:\n"
+"  none, off       varmuuskopioita ei tehdä koskaan (vieläpä kun valitsin --"
+"backup on annettu)\n"
+"  numbered, t     tee numeroituja varmuuskopioita\n"
+"  existing, nil   numeroidaan, jos numeroituja varmuuskopioita esiintyy, "
+"muussa tapauksessa\n"
+"                  yksinkertainen\n"
+"  simple, never   tee aina yksinkertaisia varmuuskopioita\n"
 
 #: src/msgmerge.c:541
 #, c-format
 msgid ""
-"The backup suffix is `~', unless set with --suffix or the "
+"The backup suffix is '~', unless set with --suffix or the "
 "SIMPLE_BACKUP_SUFFIX\n"
 "environment variable.\n"
 msgstr ""
+"Varmuuskopioloppuliite on ’~’, ellei ole asetettu valitsimella --suffix tai\n"
+"ympäristömuuttujalla SIMPLE_BACKUP_SUFFIX.\n"
 
 #: src/msgmerge.c:552
 #, c-format
 msgid ""
 "      --previous              keep previous msgids of translated messages\n"
 msgstr ""
+"      --previous              säilytä käännettyjen viestien aikaisemmat "
+"msgid-merkkijonot\n"
 
 #: src/msgmerge.c:609 src/urlget.c:192
 #, c-format
 msgid "  -q, --quiet, --silent       suppress progress indicators\n"
-msgstr ""
+msgstr "  -q, --quiet, --silent       vaienna edistymisindikaattorit\n"
 
 #: src/msgmerge.c:1604
 #, c-format
 msgid "this message should define plural forms"
-msgstr ""
+msgstr "tämän viestin pitäisi määritellä monikkomuodot"
 
 #: src/msgmerge.c:1627
 #, c-format
 msgid "this message should not define plural forms"
-msgstr ""
+msgstr "tämän viestin ei pitäisi määritellä monikkomuotoja"
 
+#  Ensimmäinen parametri on joko tyhjä merkkijono tai rivinvaihto
 #: src/msgmerge.c:2030
 #, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
 "obsolete %ld.\n"
 msgstr ""
+"%sLuettu %ld vanhaa + %ld viitettä, yhdistettyjä %ld, vajaita %ld, puuttuvia "
+"%ld, vanhentuneita %ld.\n"
 
 #: src/msgmerge.c:2038 src/urlget.c:306 src/urlget.c:353 src/urlget.c:395
 #: src/urlget.c:437
@@ -2472,9 +2932,10 @@ msgid " done.\n"
 msgstr " valmis.\n"
 
 #: src/msgunfmt.c:308 src/msgunfmt.c:317 src/msgunfmt.c:340
-#, fuzzy, c-format
+#, c-format
 msgid "%s and explicit file names are mutually exclusive"
-msgstr "%s ja %s ovat toisensa poissulkevia"
+msgstr ""
+"valitsin %s ja eksplisiittiset tiedostonimet ovat toisensa poissulkevia"
 
 #: src/msgunfmt.c:427
 #, c-format
@@ -2493,11 +2954,13 @@ msgid ""
 "  -j, --java                  Java mode: input is a Java ResourceBundle "
 "class\n"
 msgstr ""
+"  -j, --java                  Java-tila: syöte on Java ResourceBundle -"
+"luokka\n"
 
 #: src/msgunfmt.c:442
 #, c-format
 msgid "      --csharp                C# mode: input is a .NET .dll file\n"
-msgstr ""
+msgstr "      --csharp                C#-tila: syöte on .NET .dll -tiedosto\n"
 
 #: src/msgunfmt.c:444
 #, c-format
@@ -2505,22 +2968,25 @@ msgid ""
 "      --csharp-resources      C# resources mode: input is a .NET .resources "
 "file\n"
 msgstr ""
+"      --csharp-resources      C#-resurssitila: syöte on .NET .resources -"
+"tiedosto\n"
 
 #: src/msgunfmt.c:446
 #, c-format
 msgid ""
 "      --tcl                   Tcl mode: input is a tcl/msgcat .msg file\n"
 msgstr ""
+"      --tcl                   Tcl-tila: syöte on tcl/msgcat .msg -tiedosto\n"
 
 #: src/msgunfmt.c:451
 #, c-format
 msgid "  FILE ...                    input .mo files\n"
-msgstr ""
+msgstr "  TIEDOSTO ...                syötteen .mo -tiedostot\n"
 
 #: src/msgunfmt.c:456
 #, c-format
 msgid "Input file location in Java mode:\n"
-msgstr ""
+msgstr "Syötetiedostosijainti Java-tilassa:\n"
 
 #: src/msgunfmt.c:462
 #, c-format
@@ -2529,11 +2995,13 @@ msgid ""
 "name,\n"
 "separated with an underscore.  The class is located using the CLASSPATH.\n"
 msgstr ""
+"Luokkanimi määritellään liittämällä paikallisasetuksen nimi resurssinimeen,\n"
+"erotettun alaviivalla. Luokka sijoitetaan käyttäen muuttujaa CLASSPATH.\n"
 
 #: src/msgunfmt.c:467
 #, c-format
 msgid "Input file location in C# mode:\n"
-msgstr ""
+msgstr "Syötetiedostosijainti C#-tilassa:\n"
 
 #: src/msgunfmt.c:475
 #, c-format
@@ -2541,11 +3009,13 @@ msgid ""
 "The -l and -d options are mandatory.  The .dll file is located in a\n"
 "subdirectory of the specified directory whose name depends on the locale.\n"
 msgstr ""
+"Valitsimet -l ja -d ovat pakollisia.  Tiedosto .dll sijoitetaan sellaisen\n"
+"hakemiston alihakemistoon, jonka nimi riippuu paikallisasetuksesta.\n"
 
 #: src/msgunfmt.c:479
 #, c-format
 msgid "Input file location in Tcl mode:\n"
-msgstr ""
+msgstr "Syötetiedostosijainti Tcl-tilassa:\n"
 
 #: src/msgunfmt.c:485
 #, c-format
@@ -2553,16 +3023,18 @@ msgid ""
 "The -l and -d options are mandatory.  The .msg file is located in the\n"
 "specified directory.\n"
 msgstr ""
+"Valitsimet -l ja -d ovat pakollisia.  Tiedosto .msg sijaitsee määritellyssä\n"
+"hakemistossa.\n"
 
 #: src/msgunfmt.c:511
 #, c-format
 msgid "  -i, --indent                write indented output style\n"
-msgstr ""
+msgstr "  -i, --indent                kirjoita sisennettyä tulostetyyliä\n"
 
 #: src/msgunfmt.c:513
 #, c-format
 msgid "      --strict                write strict uniforum style\n"
-msgstr ""
+msgstr "      --strict                kirjoita tiukkaa uniforum-tyyliä\n"
 
 #: src/msguniq.c:330
 #, c-format, no-wrap
@@ -2576,11 +3048,20 @@ msgid ""
 "specified, they will be taken from the first translation.  File positions\n"
 "will be cumulated.  When using the --unique option, duplicates are discarded.\n"
 msgstr ""
+"Yhdistää kaksoiskappalekäännöksen käännösluettelossa.\n"
+"Löytää saman viestitunnuksen käännösten kaksoiskappaleet. Sellaisia\n"
+"kaksoiskappaleita ovat muiden ohjelmien kuin msgfmt, msgmerge tai msgcat\n"
+"virheellinen syöte. Oletuksena kaksoiskappaleet yhdistetään toisiinsa. Kun\n"
+"käytetään valitsinta --repeated, vain kaksoiskappaleet tulostetaan, ja kaikki\n"
+"muut viestit hylätään. Kommentit ja pistekommentit kumuloituvat, paitsi\n"
+"jos on määritelty valitsin --use-first, jolloin ne otetaan ensimmäisestä\n"
+"käännöksestä.  Tiedostosijainnit kumuloituvat. Kun käytetään valitsinta\n"
+"--unique, kaksoiskappaleet hylätään.\n"
 
 #: src/msguniq.c:363
 #, c-format
 msgid "  -d, --repeated              print only duplicates\n"
-msgstr ""
+msgstr "  -d, --repeated              tulosta vain kaksoiskappaleet\n"
 
 #: src/msguniq.c:365
 #, c-format
@@ -2588,6 +3069,8 @@ msgid ""
 "  -u, --unique                print only unique messages, discard "
 "duplicates\n"
 msgstr ""
+"  -u, --unique                tulosta vain uniikit viestit, hylkää "
+"kaksoiskappaleet\n"
 
 #: src/open-catalog.c:56 libgettextpo/gettext-po.c:102
 #: libgettextpo/gettext-po.c:150 libgettextpo/gettext-po.c:198
@@ -2600,15 +3083,19 @@ msgid ""
 "Charset \"%s\" is not a portable encoding name.\n"
 "Message conversion to user's charset might not work.\n"
 msgstr ""
+"Merkistö \"%s\" ei ole siirrettävä koodausnimi.\n"
+"Viestimuunnos käyttäjän merkistöön ei ehkä toimi.\n"
 
-#: src/po-charset.c:556
+#: src/po-charset.c:557
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv(),\n"
 "and iconv() does not support \"%s\".\n"
 msgstr ""
+"Merkistöä \"%s\" ei tueta. %s käyttää iconv()-funktiota,\n"
+"ja iconv() ei tue kohdetta \"%s\".\n"
 
-#: src/po-charset.c:563 src/po-charset.c:611
+#: src/po-charset.c:564 src/po-charset.c:612
 msgid ""
 "Installing GNU libiconv and then reinstalling GNU gettext\n"
 "would fix this problem.\n"
@@ -2616,90 +3103,94 @@ msgstr ""
 "GNU libiconvin asennus ja GNU gettextin uudelleenasennus\n"
 "sen jälkeen korjaisi tämän ongelman.\n"
 
-#: src/po-charset.c:577 src/po-charset.c:615
+#: src/po-charset.c:578 src/po-charset.c:616
 msgid "Continuing anyway, expect parse errors."
-msgstr ""
+msgstr "Jatketaan kuitenkin, oleta jäsennysvirheitä."
 
-#: src/po-charset.c:579
+#: src/po-charset.c:580
 msgid "Continuing anyway."
-msgstr ""
+msgstr "Jatketaan kuitenkin."
 
-#: src/po-charset.c:606
+#: src/po-charset.c:607
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv().\n"
 "This version was built without iconv().\n"
 msgstr ""
+"Merkistöä \"%s\" ei tueta. %s käyttää iconv()-funktiota.\n"
+"Tämä versio rakennettiin ilman iconv()-funktiota.\n"
 
-#: src/po-charset.c:643
+#: src/po-charset.c:644
 msgid ""
 "Charset missing in header.\n"
 "Message conversion to user's charset will not work.\n"
 msgstr ""
+"Merkistö puuttuu otsakkeessa.\n"
+"Viestimuunnos käyttäjän merkistöön ei toimi.\n"
 
 #: src/po-gram-gen.y:93
 #, c-format
 msgid "inconsistent use of #~"
-msgstr ""
+msgstr "epäjohdonmukainen #~ -käyttö"
 
 #: src/po-gram-gen.y:240
 #, c-format
-msgid "missing `msgstr[]' section"
-msgstr "puuttuva â\80\9dmsgid_plural[]â\80\9d-osio"
+msgid "missing 'msgstr[]' section"
+msgstr "puuttuva â\80\99msgid_plural[]â\80\99-rivi"
 
 #: src/po-gram-gen.y:249
 #, c-format
-msgid "missing `msgid_plural' section"
-msgstr "puuttuva â\80\9dmsgid_pluralâ\80\9d-osio"
+msgid "missing 'msgid_plural' section"
+msgstr "puuttuva â\80\99msgid_pluralâ\80\99-rivi"
 
 #: src/po-gram-gen.y:257
 #, c-format
-msgid "missing `msgstr' section"
-msgstr "puuttuva â\80\9dmsgstrâ\80\9d-osio"
+msgid "missing 'msgstr' section"
+msgstr "puuttuva â\80\99msgstrâ\80\99-rivi"
 
 #: src/po-gram-gen.y:396
 #, c-format
 msgid "first plural form has nonzero index"
-msgstr ""
+msgstr "ensimmäisellä monikkomuodolla on nollasta poikkeava indeksi"
 
 #: src/po-gram-gen.y:398
 #, c-format
 msgid "plural form has wrong index"
-msgstr ""
+msgstr "monikkomuodolla on väärä indeksi"
 
 #: src/po-lex.c:90 src/po-lex.c:109
 #, c-format
 msgid "too many errors, aborting"
-msgstr ""
+msgstr "liian monia virheitä, keskeytetään"
 
-#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:739 src/write-po.c:868
+#: src/po-lex.c:437 src/po-lex.c:507 src/write-po.c:740 src/write-po.c:869
 #, c-format
 msgid "invalid multibyte sequence"
-msgstr ""
+msgstr "virheellinen monitavusekvenssi"
 
 #: src/po-lex.c:465
 #, c-format
 msgid "incomplete multibyte sequence at end of file"
-msgstr ""
+msgstr "vaillinainen monitavusekvenssi tiedoston lopussa"
 
 #: src/po-lex.c:475
 #, c-format
 msgid "incomplete multibyte sequence at end of line"
-msgstr ""
+msgstr "vaillinainen monitavusekvenssi rivin lopussa"
 
 #: src/po-lex.c:487
 msgid "iconv failure"
-msgstr ""
+msgstr "iconv-häiriö"
 
 #: src/po-lex.c:744
 #, c-format
 msgid "keyword \"%s\" unknown"
-msgstr ""
+msgstr "avainsana ”%s” tuntematon"
 
 #: src/po-lex.c:854
 #, c-format
 msgid "invalid control sequence"
-msgstr ""
+msgstr "virheellinen ohjainsekvenssi"
 
 #: src/po-lex.c:981
 #, c-format
@@ -2714,12 +3205,12 @@ msgstr "rivinvaihto merkkijonon sisällä"
 #: src/po-lex.c:1008
 #, c-format
 msgid "context separator <EOT> within string"
-msgstr ""
+msgstr "kontekstierotin <EOT> merkkijonon sisällä"
 
-#: src/read-catalog.c:332 src/xgettext.c:1003
+#: src/read-catalog.c:332 src/xgettext.c:1023
 #, c-format
 msgid "this file may not contain domain directives"
-msgstr ""
+msgstr "tämä tiedosto ei ehkä sisällä nimiavaruusdirektiivejä"
 
 #: src/read-catalog.c:377
 msgid "duplicate message definition"
@@ -2732,12 +3223,12 @@ msgstr "ensimmäinen määrittely täällä"
 #: src/read-mo.c:105 src/read-mo.c:126 src/read-mo.c:172 src/read-mo.c:199
 #, c-format
 msgid "file \"%s\" is truncated"
-msgstr ""
+msgstr "tiedosto ”%s” typistetään"
 
 #: src/read-mo.c:129
 #, c-format
 msgid "file \"%s\" contains a not NUL terminated string"
-msgstr ""
+msgstr "tiedosto ”%s” sisältää merkkijonon, jota ei ole päätetty NUL-merkillä"
 
 #: src/read-mo.c:165 src/read-mo.c:274
 #, c-format
@@ -2748,10 +3239,12 @@ msgstr "tiedosto ”%s” ei ole GNU:n .mo-muodossa"
 #, c-format
 msgid "file \"%s\" contains a not NUL terminated string, at %s"
 msgstr ""
+"tiedosto ”%s” sisältää osoitteessa %s merkkijonon, jota ei ole päätetty NUL-"
+"merkillä"
 
 #: src/read-properties.c:227
 msgid "warning: invalid \\uxxxx syntax for Unicode character"
-msgstr ""
+msgstr "varoitus: virheellinen \\uxxxx -syntaksi Unicode-merkkille"
 
 #: src/read-stringtable.c:802
 msgid "warning: unterminated string"
@@ -2767,11 +3260,11 @@ msgstr "varoitus: päättämätön avain/arvo-pari"
 
 #: src/read-stringtable.c:939
 msgid "warning: syntax error, expected ';' after string"
-msgstr ""
+msgstr "varoitus: syntaksivirhe, odotettiin ’;’ merkkijonon jälkeen"
 
 #: src/read-stringtable.c:948
 msgid "warning: syntax error, expected '=' or ';' after string"
-msgstr ""
+msgstr "varoitus: syntaksivirhe, odotettiin ’=’ tai ’;’ merkkijonon jälkeen"
 
 #: src/recode-sr-latin.c:116
 #, c-format
@@ -2786,10 +3279,11 @@ msgstr "Kirjoittaneet %s ja %s.\n"
 msgid "Danilo Segan"
 msgstr "Danilo Šegan"
 
+#  Vai tarkoittaako tämä, että käytetään recode-ohjelmaa?
 #: src/recode-sr-latin.c:153
 #, c-format, no-wrap
 msgid "Recode Serbian text from Cyrillic to Latin script.\n"
-msgstr ""
+msgstr "Koodaa uudelleen serbiankielinen teksti kyrillisestä latinalaismerkkiseksi skriptiksi.\n"
 
 #: src/recode-sr-latin.c:156
 #, c-format, no-wrap
@@ -2797,16 +3291,18 @@ msgid ""
 "The input text is read from standard input.  The converted text is output to\n"
 "standard output.\n"
 msgstr ""
+"Syöteteksti luetaan vakiosyötteestä.  Muunnettu teksti tulostetaan\n"
+"vakiotulosteeseen.\n"
 
-#: src/recode-sr-latin.c:338
+#: src/recode-sr-latin.c:339
 #, c-format
 msgid "input is not valid in \"%s\" encoding"
-msgstr ""
+msgstr "syöte ei ole kelvollinen ”%s”-koodauksessa"
 
-#: src/recode-sr-latin.c:366
-#, fuzzy, c-format
+#: src/recode-sr-latin.c:367
+#, c-format
 msgid "error while converting from \"%s\" encoding to \"%s\" encoding"
-msgstr "virhe avattaessa ”%s” lukemista varten"
+msgstr "virhe muunnettaessa ”%s”-koodauksesta ”%s”-koodaukseen"
 
 #: src/urlget.c:159
 #, c-format
@@ -2816,7 +3312,7 @@ msgstr "odotettiin kahta argumenttia"
 #: src/urlget.c:176
 #, c-format
 msgid "Usage: %s [OPTION] URL FILE\n"
-msgstr "Käyttö: %s [VALITSIN] URL TIEDOSTO\n"
+msgstr "Käyttö: %s [VALITSIN] VERKKO-OSOITE TIEDOSTO\n"
 
 #: src/urlget.c:181
 #, c-format, no-wrap
@@ -2824,44 +3320,62 @@ msgid ""
 "Fetches and outputs the contents of an URL.  If the URL cannot be accessed,\n"
 "the locally accessible FILE is used instead.\n"
 msgstr ""
+"Noutaa ja tulostaa verkko-osoitteen sisällön.  Jos verkko-osoitetta ei saada,\n"
+"käytetään sen sijaan paikallisesti haettua TIEDOSTOa.\n"
+
+#: src/urlget.c:228
+#, c-format
+msgid "error reading \"%s\""
+msgstr "virhe luettaessa tiedostoa ”%s”"
 
 #: src/urlget.c:234
 #, c-format
 msgid "error writing stdout"
 msgstr "virhe kirjoitettaessa vakiotulosteeseen"
 
+#: src/urlget.c:238
+#, c-format
+msgid "error after reading \"%s\""
+msgstr "virhe tiedoston ”%s” lukemisen jälkeen"
+
 #: src/urlget.c:264
 #, c-format
 msgid "Retrieving %s..."
-msgstr ""
+msgstr "Noudetaan %s..."
 
 #: src/urlget.c:308
 #, c-format
 msgid " timed out.\n"
-msgstr ""
+msgstr " aikavalvonta toimi.\n"
 
 #: src/urlget.c:445
 #, c-format
 msgid " failed.\n"
-msgstr ""
+msgstr " epäonnistui.\n"
 
 #: src/write-catalog.c:126
 msgid ""
 "Cannot output multiple translation domains into a single file with the "
 "specified output format. Try using PO file syntax instead."
 msgstr ""
+"Useiden käännösnimiavaruuksien tulostaminen yhteen tiedostoon määritellyssä "
+"tulostemuodossa epäonnistui. Yritä käyttää sen sijaan PO-tiedostosyntaksia."
 
 #: src/write-catalog.c:129
 msgid ""
 "Cannot output multiple translation domains into a single file with the "
 "specified output format."
 msgstr ""
+"Useiden käännösnimiavaruuksien tulostaminen yhteen tiedostoon määritellyllä "
+"tulostemuodolla epäonnistui."
 
 #: src/write-catalog.c:162
 msgid ""
 "message catalog has context dependent translations, but the output format "
 "does not support them."
 msgstr ""
+"viestiluettelossa on kontekstista riippuvia käännöksiä, mutta tulostemuoto "
+"ei tue niitä."
 
 #: src/write-catalog.c:197
 msgid ""
@@ -2869,17 +3383,22 @@ msgid ""
 "support them. Try generating a Java class using \"msgfmt --java\", instead "
 "of a properties file."
 msgstr ""
+"viestiluettelossa on monikkkomuotokäännöksiä, mutta tulostemuoto ei tue "
+"niitä. Yritä tuottaa Java-luokka käyttäen komentoa \"msgfmt --java\", eikä "
+"ominaisuustiedostoa."
 
 #: src/write-catalog.c:202
 msgid ""
 "message catalog has plural form translations, but the output format does not "
 "support them."
 msgstr ""
+"viestiluettelossa on monikkomuotoisia käännöksiä, mutta tulostemuoto ei tue "
+"niitä."
 
 #: src/write-catalog.c:231 src/write-catalog.c:275
-#, fuzzy, c-format
+#, c-format
 msgid "cannot create output file \"%s\""
-msgstr "ei voi luoda putkea"
+msgstr "tulostetiedoston ”%s” luominen epäonnistui"
 
 #: src/write-catalog.c:239 src/write-catalog.c:283
 msgid "standard output"
@@ -2888,45 +3407,52 @@ msgstr "vakiotuloste"
 #: src/write-csharp.c:703
 #, c-format
 msgid "failed to create directory \"%s\""
-msgstr ""
+msgstr "hakemiston ”%s” luominen epäonnistui"
 
+#  käännetty tällä tavalla, jotta alkaisi pienellä alkukirjaimella.
 #: src/write-csharp.c:766
 #, c-format
 msgid "compilation of C# class failed, please try --verbose"
-msgstr ""
+msgstr "epäonnistunut C#-luokan kääntäminen, yritä valitsinta --verbose"
 
+#  käännetty tällä tavalla, jotta alkaisi pienellä alkukirjaimella.
 #: src/write-csharp.c:768
 #, c-format
 msgid "compilation of C# class failed"
-msgstr "C#-luokan kääntäminen epäonnistui"
+msgstr "epäonnistunut C#-luokan kääntäminen"
 
 #: src/write-java.c:1080
 #, c-format
 msgid "not a valid Java class name: %s"
-msgstr ""
+msgstr "kelvoton Java-luokkanimi: %s"
 
+#  käännetty tällä tavalla, jotta alkaisi pienellä alkukirjaimella.
 #: src/write-java.c:1165
 #, c-format
 msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
 msgstr ""
+"epäonnistunut Java-luokan kääntäminen, yritä valitsinta --verbose tai aseta "
+"muuttuja $JAVAC"
 
+#  käännetty tällä tavalla, jotta alkaisi pienellä alkukirjaimella.
 #: src/write-java.c:1168
 #, c-format
 msgid "compilation of Java class failed, please try to set $JAVAC"
-msgstr ""
+msgstr "epäonnistunut Java-luokan kääntäminen, yritä asettaa muuttuja $JAVAC"
 
 #: src/write-mo.c:799 src/write-qt.c:736 src/write-tcl.c:212
-#, fuzzy, c-format
+#, c-format
 msgid "error while opening \"%s\" for writing"
-msgstr "virhe avattaessa ”%s” lukemista varten"
+msgstr "virhe avattaessa tiedostoa ”%s” kirjoittamista varten"
 
-#: src/write-po.c:802
+#: src/write-po.c:803
 #, c-format
 msgid ""
-"internationalized messages should not contain the `\\%c' escape sequence"
+"internationalized messages should not contain the '\\%c' escape sequence"
 msgstr ""
+"paikallistettujen viestien ei pitäisi sisältää ’\\%c’-koodinvaihtosekvenssiä"
 
-#: src/write-po.c:1253 src/write-po.c:1382
+#: src/write-po.c:1254 src/write-po.c:1383
 #, c-format
 msgid ""
 "The following msgctxt contains non-ASCII characters.\n"
@@ -2934,8 +3460,13 @@ msgid ""
 "different from yours. Consider using a pure ASCII msgctxt instead.\n"
 "%s\n"
 msgstr ""
+"Seuraava msgctxt-merkkijono sisältää ei-ASCII-merkkejä.\n"
+"Tämä aiheuttaa pulmia kääntäjille, jotka käyttävät erilaista\n"
+"merkkikoodausta kuin sinä. Harkitse sen sijaan puhtaan ASCII-\n"
+"msgctxt-merkkijonon käyttämistä.\n"
+"%s\n"
 
-#: src/write-po.c:1265 src/write-po.c:1394
+#: src/write-po.c:1266 src/write-po.c:1395
 #, c-format
 msgid ""
 "The following msgid contains non-ASCII characters.\n"
@@ -2943,12 +3474,19 @@ msgid ""
 "different from yours. Consider using a pure ASCII msgid instead.\n"
 "%s\n"
 msgstr ""
+"Seuraava msgid-merkkijono sisältää ei-ASCII-merkkejä.\n"
+"Tämä aiheuttaa pulmia kääntäjille, jotka käyttävät erilaista\n"
+"merkkikoodausta kuin sinä. Harkitse sen sijaan puhtaan ASCII-\n"
+"msgid-merkkijonon käyttämistä.\n"
+"%s\n"
 
 #: src/write-qt.c:667
 msgid ""
 "message catalog has plural form translations\n"
 "but the Qt message catalog format doesn't support plural handling\n"
 msgstr ""
+"viestiluettelossa on monikkomuotoisia käännöksiä\n"
+"mutta Qt-viestiluettelomuoto ei tue monikkojen käsittelyä\n"
 
 #: src/write-qt.c:693
 msgid ""
@@ -2957,6 +3495,11 @@ msgid ""
 "but the Qt message catalog format supports Unicode only in the translated\n"
 "strings, not in the context strings\n"
 msgstr ""
+"viestiluettelossa on msgctxt-merkkijonoja, jotka sisältävät koodauksen "
+"ISO-8859-1\n"
+"ulkopuolisia merkkejä, mutta Qt-viestiluettelomuoto tukee Unicode-merkkejä "
+"vain\n"
+"käännetyissä merkkijonoissa, ei kontekstimerkkijonoissa\n"
 
 #: src/write-qt.c:717
 msgid ""
@@ -2964,59 +3507,72 @@ msgid ""
 "but the Qt message catalog format supports Unicode only in the translated\n"
 "strings, not in the untranslated strings\n"
 msgstr ""
+"viestiluettelossa on msgid-merkkijonoja, jotka sisältävät koodauksen "
+"ISO-8859-1\n"
+"ulkopuolisia merkkejä, mutta Qt-viestiluettelomuoto tukee Unicode-merkkejä "
+"vain\n"
+"käännetyissä merkkijonoissa, ei kääntämättömissä merkkijonoissa\n"
 
 #: src/write-resources.c:94
-#, fuzzy, c-format
+#, c-format
 msgid "error while writing to %s subprocess"
-msgstr "virhe kirjoitettaessa ”%s”"
+msgstr "virhe kirjoitettaessa aliprosessiin %s"
 
 #: src/write-resources.c:131
 msgid ""
 "message catalog has context dependent translations\n"
 "but the C# .resources format doesn't support contexts\n"
 msgstr ""
+"viestiluettelossa on kontekstiriippuvaisia käännöksiä\n"
+"mutta C# .resources -muoto ei tue konteksteja\n"
 
 #: src/write-resources.c:150
 msgid ""
 "message catalog has plural form translations\n"
 "but the C# .resources format doesn't support plural handling\n"
 msgstr ""
+"viestiluettelossa on monikkomuotoisia käännöksiä\n"
+"mutta C# .resources -muoto ei tue monikkokäsittelyä\n"
 
 #: src/write-tcl.c:157
 msgid ""
 "message catalog has context dependent translations\n"
 "but the Tcl message catalog format doesn't support contexts\n"
 msgstr ""
+"viestiluettelossa on kontekstiriippuvaisia käännöksiä\n"
+"mutta Tcl-viestiluettelomuoto ei tue konteksteja.\n"
 
 #: src/write-tcl.c:176
 msgid ""
 "message catalog has plural form translations\n"
 "but the Tcl message catalog format doesn't support plural handling\n"
 msgstr ""
+"viestiluettelossa on monikkomuotoisia käännöksiä\n"
+"mutta Tcl-viestiluettelomuoto ei tule monikkokäsittelyä\n"
 
-#: src/x-awk.c:341 src/x-python.c:1074
+#: src/x-awk.c:341 src/x-javascript.c:988 src/x-python.c:1128
 #, c-format
 msgid "%s:%d: warning: unterminated string"
-msgstr ""
+msgstr "%s:%d: varoitus: päättämätön merkkijono"
 
 #: src/x-awk.c:592
 #, c-format
 msgid "%s:%d: warning: unterminated regular expression"
-msgstr ""
+msgstr "%s:%d: varoitus: päättämätön säännöllinen lauseke"
 
-#: src/x-c.c:1223 src/x-csharp.c:1509 src/x-java.c:872
+#: src/x-c.c:1223 src/x-csharp.c:1509 src/x-java.c:872 src/x-vala.c:762
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
-msgstr ""
+msgstr "%s:%d: varoitus: päättämätön merkkivakio"
 
-#: src/x-c.c:1247
+#: src/x-c.c:1247 src/x-vala.c:832
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
-msgstr ""
+msgstr "%s:%d: varoitus: päättämätön merkkijonoliteraali"
 
-#: src/x-csharp.c:224 src/xgettext.c:2020
+#: src/x-csharp.c:224 src/xgettext.c:2055
 msgid "Please specify the source encoding through --from-code."
-msgstr ""
+msgstr "Määritä lähdekoodaus valitsimen --from-code avulla."
 
 #: src/x-csharp.c:269
 #, c-format
@@ -3024,6 +3580,8 @@ msgid ""
 "%s:%d: Invalid multibyte sequence.\n"
 "Please specify the correct source encoding through --from-code.\n"
 msgstr ""
+"%s:%d: Virheellinen monitavusekvenssi.\n"
+"Määritä oikea lähdekoodikoodaus valitsimen --from-code avulla.\n"
 
 #: src/x-csharp.c:285
 #, c-format
@@ -3031,6 +3589,8 @@ msgid ""
 "%s:%d: Long incomplete multibyte sequence.\n"
 "Please specify the correct source encoding through --from-code.\n"
 msgstr ""
+"%s:%d: Pitkä vaillinainen monitavusekvenssi.\n"
+"Määritä oikea lähdekoodikoodaus valitsimen --from-code avulla.\n"
 
 #: src/x-csharp.c:297
 #, c-format
@@ -3038,6 +3598,8 @@ msgid ""
 "%s:%d: Incomplete multibyte sequence at end of file.\n"
 "Please specify the correct source encoding through --from-code.\n"
 msgstr ""
+"%s:%d: Vaillinainen monitavusekvenssi tiedoston lopussa.\n"
+"Määritä oikea lähdekoodikoodaus valitsimen --from-code avulla.\n"
 
 #: src/x-csharp.c:306
 #, c-format
@@ -3045,11 +3607,13 @@ msgid ""
 "%s:%d: Incomplete multibyte sequence at end of line.\n"
 "Please specify the correct source encoding through --from-code.\n"
 msgstr ""
+"%s:%d: Vaillinainen monitavusekvenssi rivin lopussa.\n"
+"Määritä oikea lähdekoodikoodaus valitsimen --from-code avulla.\n"
 
-#: src/x-csharp.c:315 src/x-python.c:332
+#: src/x-csharp.c:315 src/x-javascript.c:321 src/x-python.c:374
 #, c-format
 msgid "%s:%d: iconv failure"
-msgstr ""
+msgstr "%s:%d: iconv-häiriö"
 
 #: src/x-csharp.c:338
 #, c-format
@@ -3057,144 +3621,232 @@ msgid ""
 "%s:%d: Invalid multibyte sequence.\n"
 "Please specify the source encoding through --from-code.\n"
 msgstr ""
+"%s:%d: Virheellinen monitavusekvenssi.\n"
+"Määritä lähdekoodikoodaus valitsimen --from-code avulla.\n"
 
-#: src/x-csharp.c:1390 src/x-python.c:1281
+#: src/x-csharp.c:1390 src/x-python.c:1335
 #, c-format
 msgid "%s:%d: warning: invalid Unicode character"
-msgstr ""
+msgstr "%s:%d: varoitus: virheellinen Unicode-merkki"
 
 #: src/x-csharp.c:1512 src/x-java.c:875
 #, c-format
 msgid "%s:%d: warning: unterminated string constant"
-msgstr ""
+msgstr "%s:%d: varoitus: päättämätön merkkijonovakio"
 
 #: src/x-csharp.c:2020 src/x-java.c:1369
 #, c-format
 msgid "%s:%d: warning: ')' found where '}' was expected"
-msgstr ""
+msgstr "%s:%d: varoitus: ')' löytyi kun '}' odotettiin"
 
 #: src/x-csharp.c:2054 src/x-java.c:1403
 #, c-format
 msgid "%s:%d: warning: '}' found where ')' was expected"
+msgstr "%s:%d: varoitus: '}' löytyi kun ')' odotettiin"
+
+#: src/x-glade.c:561
+#, c-format
+msgid "Missing context for the string extracted from '%s' element"
 msgstr ""
 
-#: src/x-glade.c:623 src/x-glade.c:630
+#: src/x-glade.c:686
 #, c-format
-msgid "%s:%lu:%lu: %s"
+msgid "The root element <%s> is not allowed in a valid Glade file"
 msgstr ""
 
-#: src/x-glade.c:657
+#: src/x-glade.c:841 src/x-glade.c:848
+#, c-format
+msgid "%s:%lu:%lu: %s"
+msgstr "%s:%lu:%lu: %s"
+
+#: src/x-glade.c:875
 #, c-format
 msgid ""
 "Language \"glade\" is not supported. %s relies on expat.\n"
 "This version was built without expat.\n"
 msgstr ""
+"Kieltä ”glade” ei tueta. %s turvautuu expat-ohjelmaan.\n"
+"Tämä versio on rakennettu ilman expat-ohjelmaa.\n"
 
 #: src/x-java.c:494
 #, c-format
 msgid "%s:%d: warning: lone surrogate U+%04X"
+msgstr "%s:%d: varoitus: yksinäinen sijainen U+%04X"
+
+#: src/x-javascript.c:230
+#, fuzzy
+msgid "Please specify the source encoding through --from-code\n"
+msgstr "Määritä lähdekoodaus valitsimen --from-code avulla."
+
+#: src/x-javascript.c:275
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Virheellinen monitavusekvenssi.\n"
+"Määritä oikea lähdekoodikoodaus valitsimen --from-code avulla.\n"
+
+#: src/x-javascript.c:291
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Long incomplete multibyte sequence.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Pitkä vaillinainen monitavusekvenssi.\n"
+"Määritä oikea lähdekoodikoodaus valitsimen --from-code avulla.\n"
+
+#: src/x-javascript.c:303
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of file.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Vaillinainen monitavusekvenssi tiedoston lopussa.\n"
+"Määritä oikea lähdekoodikoodaus valitsimen --from-code avulla.\n"
+
+#: src/x-javascript.c:312
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Incomplete multibyte sequence at end of line.\n"
+"Please specify the correct source encoding through --from-code\n"
+msgstr ""
+"%s:%d: Vaillinainen monitavusekvenssi rivin lopussa.\n"
+"Määritä oikea lähdekoodikoodaus valitsimen --from-code avulla.\n"
+
+#: src/x-javascript.c:344
+#, fuzzy, c-format
+msgid ""
+"%s:%d: Invalid multibyte sequence.\n"
+"Please specify the source encoding through --from-code\n"
 msgstr ""
+"%s:%d: Virheellinen monitavusekvenssi.\n"
+"Määritä lähdekoodikoodaus valitsimen --from-code avulla.\n"
+
+#: src/x-javascript.c:1147
+#, fuzzy, c-format
+msgid "%s:%d: warning: RegExp literal terminated too early"
+msgstr "%s:%d: varoitus: päättämätön merkkijonoliteraali"
 
 #: src/x-perl.c:308
 #, c-format
 msgid "%s:%d: can't find string terminator \"%s\" anywhere before EOF"
 msgstr ""
+"%s:%d: ei löydetä merkkijonopäättämismerkkiä ”%s” mistään ennen EOF-"
+"tiedostonloppumerkkiä"
 
 #: src/x-perl.c:1043
 #, c-format
 msgid "%s:%d: missing right brace on \\x{HEXNUMBER}"
-msgstr ""
+msgstr "%s:%d: puuttuu oikea aaltosulje kohteessa \\x{HEXNUMBER}"
 
 #: src/x-perl.c:1163
 #, c-format
 msgid "%s:%d: invalid interpolation (\"\\l\") of 8bit character \"%c\""
-msgstr ""
+msgstr "%s:%d: virheellinen 8-bittisen merkin ”%c” interpolaatio (”\\l”)"
 
 #: src/x-perl.c:1183
 #, c-format
 msgid "%s:%d: invalid interpolation (\"\\u\") of 8bit character \"%c\""
-msgstr ""
+msgstr "%s:%d: virheellinen 8-bittisen merkin ”%c” interpolaatio (”\\u”)"
 
 #: src/x-perl.c:1217
-#, fuzzy, c-format
+#, c-format
 msgid "%s:%d: invalid variable interpolation at \"%c\""
-msgstr "%s: virheellinen valitsin – %c\n"
+msgstr "%s:%d: virheellinen muuttujainterpolaatio osoitteessa ”%c”"
 
 #: src/x-perl.c:1230
 #, c-format
 msgid "%s:%d: invalid interpolation (\"\\L\") of 8bit character \"%c\""
-msgstr ""
+msgstr "%s:%d: virheellinen 8-bitisen merkin ”%c” interpolaatio (”\\L”)"
 
 #: src/x-perl.c:1247
 #, c-format
 msgid "%s:%d: invalid interpolation (\"\\U\") of 8bit character \"%c\""
-msgstr ""
+msgstr "%s:%d: virheellinen 8-bittisen merkin ”%c” interpolaatio (”\\U”)"
 
-#: src/x-python.c:236
+#: src/x-python.c:278
 msgid ""
 "Please specify the source encoding through --from-code or through a comment\n"
 "as specified in http://www.python.org/peps/pep-0263.html.\n"
 msgstr ""
+"Määritä lähdekoodikoodaus valitsimen --from-code tai kommentin avulla\n"
+"kuten on määritelty asiakirjassa http://www.python.org/peps/pep-0263.html.\n"
 
-#: src/x-python.c:282
+#: src/x-python.c:324
 #, c-format
 msgid ""
 "%s:%d: Invalid multibyte sequence.\n"
 "Please specify the correct source encoding through --from-code or through a\n"
 "comment as specified in http://www.python.org/peps/pep-0263.html.\n"
 msgstr ""
+"%s:%d: Virheellinen monitavusekvenssi.\n"
+"Määritä oikea lähdekoodikoodaus valitsimen --from-code tai kommentin avulla\n"
+"kuten on määritelty asiakirjassa http://www.python.org/peps/pep-0263.html.\n"
 
-#: src/x-python.c:299
+#: src/x-python.c:341
 #, c-format
 msgid ""
 "%s:%d: Long incomplete multibyte sequence.\n"
 "Please specify the correct source encoding through --from-code or through a\n"
 "comment as specified in http://www.python.org/peps/pep-0263.html.\n"
 msgstr ""
+"%s:%d: Pitkä vaillinainen monitavusekvenssi.\n"
+"Määritä oikea lähdekoodikoodaus valitsimen --from-code tai kommentin avulla\n"
+"kuten on määritelty asiakirjassa http://www.python.org/peps/pep-0263.html.\n"
 
-#: src/x-python.c:312
+#: src/x-python.c:354
 #, c-format
 msgid ""
 "%s:%d: Incomplete multibyte sequence at end of file.\n"
 "Please specify the correct source encoding through --from-code or through a\n"
 "comment as specified in http://www.python.org/peps/pep-0263.html.\n"
 msgstr ""
+"%s:%d: Vaillinainen monitavusekvenssi tiedoston lopussa.\n"
+"Määritä oikea lähdekoodikoodaus valitsimen --from-code tai kommentin avulla\n"
+"kuten on määritelty asiakirjassa http://www.python.org/peps/pep-0263.html.\n"
 
-#: src/x-python.c:322
+#: src/x-python.c:364
 #, c-format
 msgid ""
 "%s:%d: Incomplete multibyte sequence at end of line.\n"
 "Please specify the correct source encoding through --from-code or through a\n"
 "comment as specified in http://www.python.org/peps/pep-0263.html.\n"
 msgstr ""
+"%s:%d: Vaillinainen monitavusekvenssi rivin lopussa.\n"
+"Määritä oikea lähdekoodikoodaus valitsimen --from-code tai kommentin avulla\n"
+"kuten on määritelty asiakirjassa http://www.python.org/peps/pep-0263.html.\n"
 
-#: src/x-python.c:355
+#: src/x-python.c:397
 #, c-format
 msgid ""
 "%s:%d: Invalid multibyte sequence.\n"
 "Please specify the source encoding through --from-code or through a comment\n"
 "as specified in http://www.python.org/peps/pep-0263.html.\n"
 msgstr ""
+"%s:%d: Virheellinen monitavusekvenssi.\n"
+"Määritä lähdekoodikoodaus valitsimen --from-code tai kommentin avulla\n"
+"kuten on määritelty asiakirjassa http://www.python.org/peps/pep-0263.html.\n"
 
-#: src/x-python.c:679
+#: src/x-python.c:722
 #, c-format
 msgid "Unknown encoding \"%s\". Proceeding with ASCII instead."
-msgstr ""
+msgstr "Tuntematon koodaus ”%s”. Jatketaan sen sijaan ASCII-koodauksella."
 
 #: src/x-rst.c:108
 #, c-format
 msgid "%s:%d: invalid string definition"
-msgstr ""
+msgstr "%s:%d: virheellinen merkkijonomäärittely"
 
 #: src/x-rst.c:172
 #, c-format
 msgid "%s:%d: missing number after #"
-msgstr ""
+msgstr "%s:%d: numero puuttuu merkin # jäljestä"
 
 #: src/x-rst.c:207
 #, c-format
 msgid "%s:%d: invalid string expression"
-msgstr ""
+msgstr "%s:%d: virheellinen merkkijonolauseke"
 
 #: src/x-sh.c:1074
 #, c-format
@@ -3202,52 +3854,67 @@ msgid ""
 "%s:%lu: warning: the syntax $\"...\" is deprecated due to security reasons; "
 "use eval_gettext instead"
 msgstr ""
+"%s:%lu: varoitus: syntaksi $\"...\" on vanhentunut turvallisuussyistä; käytä "
+"sen sijaan funktiota eval_gettext"
 
-#: src/xgettext.c:621
+#: src/x-vala.c:558
+#, fuzzy, c-format
+msgid "%s:%d: warning: regular expression literal terminated too early"
+msgstr "%s:%d: varoitus: päättämätön merkkijonoliteraali"
+
+#: src/xgettext.c:636
 #, c-format
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr ""
+"valitsimen --join-existing käyttäminen epäonnistui kun tuloste kirjoitetaan "
+"vakiotulosteeseen"
 
-#: src/xgettext.c:626
+#: src/xgettext.c:641
 #, c-format
 msgid "xgettext cannot work without keywords to look for"
-msgstr ""
+msgstr "xgettext ei voi työskennellä ilman etsittäviä avainsanoja"
 
-#: src/xgettext.c:769
+#: src/xgettext.c:785
 #, c-format
-msgid "warning: file `%s' extension `%s' is unknown; will try C"
+msgid "warning: file '%s' extension '%s' is unknown; will try C"
 msgstr ""
+"varoitus: tiedoston ’%s’ tarkennin ’%s’ on tuntematon; yritetään tarkenninta "
+"C"
 
-#: src/xgettext.c:820
+#: src/xgettext.c:836
 #, c-format
 msgid "Extract translatable strings from given input files.\n"
-msgstr ""
+msgstr "Poimi käännettävät merkkijonot annetuista syötetiedostoista.\n"
 
-#: src/xgettext.c:843
+#: src/xgettext.c:859
 #, c-format
 msgid ""
 "  -d, --default-domain=NAME   use NAME.po for output (instead of messages."
 "po)\n"
 msgstr ""
+"  -d, --default-domain=NIMI   käytä tiedostoa NIMI.po tulostukseen (eikä "
+"tiedostoa messages.po)\n"
 
-#: src/xgettext.c:845
+#: src/xgettext.c:861
 #, c-format
 msgid "  -o, --output=FILE           write output to specified file\n"
 msgstr ""
+"  -o, --output=TIEDOSTO       kirjoita tuloste määriteltyyn tiedostoon\n"
 
-#: src/xgettext.c:847
+#: src/xgettext.c:863
 #, c-format
 msgid ""
 "  -p, --output-dir=DIR        output files will be placed in directory DIR\n"
 msgstr ""
+"  -p, --output-dir=HAKEMISTO  tulostetiedostot sijoitetaan HAKEMISTOon\n"
 
-#: src/xgettext.c:852
+#: src/xgettext.c:868
 #, c-format
 msgid "Choice of input file language:\n"
-msgstr ""
+msgstr "Syötetiedoston kielen valinta:\n"
 
-#: src/xgettext.c:854
-#, c-format
+#: src/xgettext.c:870
+#, fuzzy, c-format
 msgid ""
 "  -L, --language=NAME         recognise the specified language\n"
 "                                (C, C++, ObjectiveC, PO, Shell, Python, "
@@ -3255,44 +3922,58 @@ msgid ""
 "                                EmacsLisp, librep, Scheme, Smalltalk, Java,\n"
 "                                JavaProperties, C#, awk, YCP, Tcl, Perl, "
 "PHP,\n"
-"                                GCC-source, NXStringTable, RST, Glade)\n"
+"                                GCC-source, NXStringTable, RST, Glade, Lua,\n"
+"                                JavaScript, Vala)\n"
 msgstr ""
+"  -L, --language=NIMI         tunnista määritelty kieli\n"
+"                                (C, C++, ObjectiveC, PO, Shell, Python, "
+"Lisp,\n"
+"                                EmacsLisp, librep, Scheme, Smalltalk, Java,\n"
+"                                JavaProperties, C#, awk, YCP, Tcl, Perl, "
+"PHP,\n"
+"                                GCC-source, NXStringTable, RST, Glade)\n"
 
-#: src/xgettext.c:860
+#: src/xgettext.c:877
 #, c-format
 msgid "  -C, --c++                   shorthand for --language=C++\n"
 msgstr ""
+"  -C, --c++                   pikavalitsin valitsimelle --language=C++\n"
 
-#: src/xgettext.c:862
+#: src/xgettext.c:879
 #, c-format
 msgid ""
 "By default the language is guessed depending on the input file name "
 "extension.\n"
 msgstr ""
+"Oletuksena kieli on arvattu riippuen syötetiedostonimen tarkentimesta.\n"
 
-#: src/xgettext.c:867
+#: src/xgettext.c:884
 #, c-format
 msgid ""
 "      --from-code=NAME        encoding of input files\n"
 "                                (except for Python, Tcl, Glade)\n"
 msgstr ""
+"      --from-code=NIMI        syötetiedostojen koodaus\n"
+"                                (paitsi kielille Python, Tcl, Glade)\n"
 
-#: src/xgettext.c:870
+#: src/xgettext.c:887
 #, c-format
 msgid "By default the input files are assumed to be in ASCII.\n"
-msgstr ""
+msgstr "Oletuksen syötetiedostojen otaksutaan olevan ASCII-tekstiä.\n"
 
-#: src/xgettext.c:875
+#: src/xgettext.c:892
 #, c-format
 msgid "  -j, --join-existing         join messages with existing file\n"
 msgstr ""
+"  -j, --join-existing         liitä viesti oleamssaolevaan tiedostoon\n"
 
-#: src/xgettext.c:877
+#: src/xgettext.c:894
 #, c-format
 msgid "  -x, --exclude-file=FILE.po  entries from FILE.po are not extracted\n"
 msgstr ""
+"  -x, --exclude-file=FILE.po  rivejä tiedostossa FILE.po ei ole poimittu\n"
 
-#: src/xgettext.c:879
+#: src/xgettext.c:896
 #, c-format
 msgid ""
 "  -cTAG, --add-comments=TAG   place comment blocks starting with TAG and\n"
@@ -3301,180 +3982,220 @@ msgid ""
 "lines\n"
 "                                in output file\n"
 msgstr ""
+"  -cTAG, --add-comments=TAG   sijoita TAG-alkuiset kommenttilohkot ja\n"
+"                                edeltävät avainsanarivit tulostetiedostoon\n"
+"  -c, --add-comments          sijoita kaikkia kommenttilohkoja edeltävät "
+"avainsana-\n"
+"                                rivit tulostetiedostoon\n"
 
-#: src/xgettext.c:885
+#: src/xgettext.c:902
 #, c-format
 msgid "Language specific options:\n"
 msgstr "Kielikohtaiset valitsimet:\n"
 
-#: src/xgettext.c:887
+#: src/xgettext.c:904
 #, c-format
 msgid "  -a, --extract-all           extract all strings\n"
-msgstr ""
+msgstr "  -a, --extract-all           pura kaikki merkkijonot\n"
 
-#: src/xgettext.c:889 src/xgettext.c:896
-#, c-format
+#: src/xgettext.c:906 src/xgettext.c:914
+#, fuzzy, c-format
 msgid ""
 "                                (only languages C, C++, ObjectiveC, Shell,\n"
 "                                Python, Lisp, EmacsLisp, librep, Scheme, "
 "Java,\n"
-"                                C#, awk, Tcl, Perl, PHP, GCC-source, Glade)\n"
+"                                C#, awk, Tcl, Perl, PHP, GCC-source, Glade,\n"
+"                                Lua, JavaScript, Vala)\n"
 msgstr ""
+"                                (vain kielet C, C++, ObjectiveC, Shell,\n"
+"                                Python, Lisp, EmacsLisp, librep, Scheme, "
+"Java,\n"
+"                                C#, awk, Tcl, Perl, PHP, GCC-source, Glade)\n"
 
-#: src/xgettext.c:893
+#: src/xgettext.c:911
 #, c-format
 msgid ""
 "  -kWORD, --keyword=WORD      look for WORD as an additional keyword\n"
 "  -k, --keyword               do not to use default keywords\n"
 msgstr ""
+"  -kWORD, --keyword=WORD      etsi WORD-argumentti lisäavainsanana\n"
+"  -k, --keyword               älä käytä oletusavainsanoja\n"
 
-#: src/xgettext.c:900
+#: src/xgettext.c:919
 #, c-format
 msgid ""
 "      --flag=WORD:ARG:FLAG    additional flag for strings inside the "
 "argument\n"
 "                              number ARG of keyword WORD\n"
 msgstr ""
+"      --flag=WORD:ARG:FLAG    lisälippu merkkijonoille avainsanan WORD "
+"argumentti-\n"
+"                              numeron ARG sisällä\n"
 
-#: src/xgettext.c:903
-#, c-format
+#: src/xgettext.c:922
+#, fuzzy, c-format
 msgid ""
 "                                (only languages C, C++, ObjectiveC, Shell,\n"
 "                                Python, Lisp, EmacsLisp, librep, Scheme, "
 "Java,\n"
-"                                C#, awk, YCP, Tcl, Perl, PHP, GCC-source)\n"
+"                                C#, awk, YCP, Tcl, Perl, PHP, GCC-source,\n"
+"                                Lua, JavaScript, Vala)\n"
 msgstr ""
+"                                (vain kielille C, C++, ObjectiveC, Shell,\n"
+"                                Python, Lisp, EmacsLisp, librep, Scheme, "
+"Java,\n"
+"                                C#, awk, YCP, Tcl, Perl, PHP, GCC-source)\n"
 
-#: src/xgettext.c:907
+#: src/xgettext.c:927
 #, c-format
 msgid "  -T, --trigraphs             understand ANSI C trigraphs for input\n"
 msgstr ""
+"  -T, --trigraphs             ymmärrä ANSI C kolmimerkkejä syötettä varten\n"
 
-#: src/xgettext.c:909
+#: src/xgettext.c:929
 #, c-format
 msgid "                                (only languages C, C++, ObjectiveC)\n"
-msgstr ""
+msgstr "                                (vain kielet C, C++, ObjectiveC)\n"
 
-#: src/xgettext.c:911
+#: src/xgettext.c:931
 #, c-format
 msgid "      --qt                    recognize Qt format strings\n"
-msgstr ""
+msgstr "      --qt                    tunnista Qt-muotoiset merkkijonot\n"
 
-#: src/xgettext.c:913 src/xgettext.c:917 src/xgettext.c:921
+#: src/xgettext.c:933 src/xgettext.c:937 src/xgettext.c:941
 #, c-format
 msgid "                                (only language C++)\n"
-msgstr ""
+msgstr "                                (vain C++-kieli)\n"
 
-#: src/xgettext.c:915
+#: src/xgettext.c:935
 #, c-format
 msgid "      --kde                   recognize KDE 4 format strings\n"
-msgstr ""
+msgstr "      --kde                   tunnista KDE 4 -muotoiset merkkijonot\n"
 
-#: src/xgettext.c:919
+#: src/xgettext.c:939
 #, c-format
 msgid "      --boost                 recognize Boost format strings\n"
-msgstr ""
+msgstr "      --boost                 tunnista Boost-muotoiset merkkijonot\n"
 
-#: src/xgettext.c:923
+#: src/xgettext.c:943
 #, c-format
 msgid ""
 "      --debug                 more detailed formatstring recognition result\n"
 msgstr ""
+"      --debug                 yksityiskohtaisempi "
+"muotomerkkijonotunnistustulos\n"
 
-#: src/xgettext.c:948
+#: src/xgettext.c:968
 #, c-format
 msgid "      --properties-output     write out a Java .properties file\n"
-msgstr ""
+msgstr "      --properties-output     luo Java .properties -tiedoston\n"
 
-#: src/xgettext.c:963
+#: src/xgettext.c:983
 #, c-format
 msgid "      --copyright-holder=STRING  set copyright holder in output\n"
 msgstr ""
+"      --copyright-holder=STRING  aseta copyright-omistajan tulosteessa\n"
 
-#: src/xgettext.c:965
+#: src/xgettext.c:985
 #, c-format
 msgid ""
 "      --foreign-user          omit FSF copyright in output for foreign user\n"
 msgstr ""
+"      --foreign-user          ohita FSF copyright-tulosteessa "
+"vieraskieliselle käyttäjälle\n"
 
-#: src/xgettext.c:967
+#: src/xgettext.c:987
 #, c-format
 msgid "      --package-name=PACKAGE  set package name in output\n"
-msgstr ""
+msgstr "      --package-name=PACKAGE  aseta pakkausnimi tulosteessa\n"
 
-#: src/xgettext.c:969
+#: src/xgettext.c:989
 #, c-format
 msgid "      --package-version=VERSION  set package version in output\n"
-msgstr ""
+msgstr "      --package-version=VERSION  aseta pakkausversio tulosteessa\n"
 
-#: src/xgettext.c:971
+#: src/xgettext.c:991
 #, c-format
 msgid ""
 "      --msgid-bugs-address=EMAIL@ADDRESS  set report address for msgid bugs\n"
 msgstr ""
+"      --msgid-bugs-address=EMAIL@ADDRESS  aseta ilmoitusosoite msgid-"
+"vikailmoituksia varten\n"
 
-#: src/xgettext.c:973
+#: src/xgettext.c:993
 #, c-format
 msgid ""
 "  -m[STRING], --msgstr-prefix[=STRING]  use STRING or \"\" as prefix for "
 "msgstr\n"
 "                                values\n"
 msgstr ""
+"  -m[STRING], --msgstr-prefix[=STRING]  käytä merkkijonoa STRING tai ”” "
+"etuliitteenä msgstr-\n"
+"                                merkkijonon arvoille\n"
 
-#: src/xgettext.c:976
+#: src/xgettext.c:996
 #, c-format
 msgid ""
 "  -M[STRING], --msgstr-suffix[=STRING]  use STRING or \"\" as suffix for "
 "msgstr\n"
 "                                values\n"
 msgstr ""
+"  -M[STRING], --msgstr-suffix[=STRING]  käytä merkkijonoa STRING tai ”” "
+"loppuliitteenä msgstr-\n"
+"                                merkkijonon arvoille\n"
 
-#: src/xgettext.c:1782
+#: src/xgettext.c:1817
 #, c-format
 msgid ""
 "A --flag argument doesn't have the <keyword>:<argnum>:[pass-]<flag> syntax: "
 "%s"
 msgstr ""
+"Argumentilla --flag ei ole <avainsana>:<argumenttinumero>:[pass-]<lippu> -"
+"syntaksia: %s"
 
-#: src/xgettext.c:1881
+#: src/xgettext.c:1916
 msgid "standard input"
-msgstr ""
+msgstr "vakiosyöte"
 
-#: src/xgettext.c:1985
+#: src/xgettext.c:2020
 #, c-format
 msgid "Non-ASCII character at %s%s."
-msgstr ""
+msgstr "Ei-ASCII-merkki osoitteessa %s%s."
 
-#: src/xgettext.c:1989
+#: src/xgettext.c:2024
 #, c-format
 msgid "Non-ASCII comment at or before %s%s."
-msgstr ""
+msgstr "Ei-ASCII-kommentti osoitteessa tai ennen osoitetta %s%s."
 
-#: src/xgettext.c:1994
+#: src/xgettext.c:2029
 #, c-format
 msgid "Non-ASCII string at %s%s."
-msgstr ""
+msgstr "Ei-ASCII-merkkijono osoitteessa %s%s."
 
-#: src/xgettext.c:2100 src/xgettext.c:2133 src/xgettext.c:2195
+#: src/xgettext.c:2135 src/xgettext.c:2168 src/xgettext.c:2230
 #, c-format
 msgid "%s%s: warning: "
 msgstr "%s%s: varoitus: "
 
-#: src/xgettext.c:2103
+#: src/xgettext.c:2138
 #, c-format
 msgid ""
 "Although being used in a format string position, the %s is not a valid %s "
 "format string. Reason: %s\n"
 msgstr ""
+"Vaikka käytetty muotomerkkijonopaikassa, merkkijono %s ei ole kelvollinen %s-"
+"muotomerkkijono. Syy: %s\n"
 
-#: src/xgettext.c:2104
+#: src/xgettext.c:2139
 #, c-format
 msgid ""
 "Although declared as such, the %s is not a valid %s format string. Reason: "
 "%s\n"
 msgstr ""
+"Vaikka esitelty sellaisena, merkkijono %s ei ole kelvollinen %s-"
+"muotomerkkijono. Syy: %s\n"
 
-#: src/xgettext.c:2135
+#: src/xgettext.c:2170
 #, c-format
 msgid ""
 "'%s' format string with unnamed arguments cannot be properly localized:\n"
@@ -3482,69 +4203,78 @@ msgid ""
 "Please consider using a format string with named arguments,\n"
 "and a mapping instead of a tuple for the arguments.\n"
 msgstr ""
+"’%s’-muotomerkkijonon kotoistaminen oikein nimeättömillä argumenteilla "
+"epäonnistui:\n"
+"Kääntäjän argumenttien uudelleenjärjestäminen epäonnistui.\n"
+"Harkitse muotomerkkijonon käyttämistä nimetyillä argumenteilla,\n"
+"ja kartoittamalla eikä argumenttien monilla.\n"
 
-#: src/xgettext.c:2197
+#: src/xgettext.c:2232
 msgid ""
 "Empty msgid.  It is reserved by GNU gettext:\n"
 "gettext(\"\") returns the header entry with\n"
 "meta information, not the empty string.\n"
 msgstr ""
+"Tyhjä msgid-merkkijono.  GNU gettext on varannut sen:\n"
+"gettext(\"\") palauttaa otsakkeen metatiedolla,\n"
+"ei tyhjää merkkijonoa.\n"
 
-#: src/xgettext.c:2834
-#, fuzzy, c-format
+#: src/xgettext.c:2891
+#, c-format
 msgid "ambiguous argument specification for keyword '%.*s'"
-msgstr "moniselitteinen argumentti `%s' `%s':lle"
+msgstr "argumenttimäärittely avainsanalle ’%.*s’ ei ole yksiselitteinen"
 
-#: src/xgettext.c:2861
-#, fuzzy, c-format
+#: src/xgettext.c:2918
+#, c-format
 msgid "warning: missing context for keyword '%.*s'"
-msgstr "moniselitteinen argumentti `%s' `%s':lle"
+msgstr "varoitus: puuttuva konteksti avainsanalle ’%.*s’"
 
-#: src/xgettext.c:2886
-#, fuzzy, c-format
+#: src/xgettext.c:2943
+#, c-format
 msgid "warning: missing context for plural argument of keyword '%.*s'"
-msgstr "moniselitteinen argumentti `%s' `%s':lle"
+msgstr "varoitus: puuttuva konteksti avainsanan ’%.*s’ monikkoargumentille"
 
-#: src/xgettext.c:2907
+#: src/xgettext.c:2964
 #, c-format
 msgid "context mismatch between singular and plural form"
-msgstr ""
+msgstr "kontekstitäsmäämättömyys yksikkö- ja monikkomuotojen välillä"
 
-#: src/xgettext.c:3016
+#: src/xgettext.c:3074
 msgid ""
 "The option --msgid-bugs-address was not specified.\n"
-"If you are using a `Makevars' file, please specify\n"
+"If you are using a 'Makevars' file, please specify\n"
 "the MSGID_BUGS_ADDRESS variable there; otherwise please\n"
 "specify an --msgid-bugs-address command line option.\n"
 msgstr ""
+"Valitsinta --msgid-bugs-address ei määritelty.\n"
+"Jos käytät ’Makevars’-tiedostoa, määritä siinä\n"
+"MSGID_BUGS_ADDRESS-muuttuja; muussa tapauksessa\n"
+"määritä komentorivivalitsin --msgid-bugs-address.\n"
 
-#: src/xgettext.c:3226
+#: src/xgettext.c:3289
 #, c-format
-msgid "language `%s' unknown"
-msgstr "kieli â\80\9d%sâ\80\9d on tuntematon"
+msgid "language '%s' unknown"
+msgstr "kieli â\80\99%sâ\80\99 on tuntematon"
 
 #: libgettextpo/gettext-po.c:84
 msgid "<unnamed>"
 msgstr "<nimetön>"
 
+#~ msgid "header field '%s' should start at beginning of line\n"
+#~ msgstr "otsakekentän ’%s’ pitäisi alkaa rivin alusta\n"
+
+#~ msgid "some header fields still have the initial default value\n"
+#~ msgstr "joillakin otsakekentillä on yhä alustava oletusarvo\n"
+
 #~ msgid "%s: illegal option -- %c\n"
 #~ msgstr "%s: virheellinen valitsin – %c\n"
 
-#, fuzzy
 #~ msgid "DuplicateHandle failed with error code 0x%08x"
-#~ msgstr "%s aliprosessi epäonnistui"
+#~ msgstr "DuplicateHandle epäonnistui virhekoodilla 0x%08x"
 
 #~ msgid "Not yet implemented."
 #~ msgstr "Ei vielä toteutettu."
 
-#, fuzzy
-#~ msgid "communication with %s subprocess failed"
-#~ msgstr "%s aliprosessi epäonnistui"
-
-#, fuzzy
-#~ msgid "read from %s subprocess failed"
-#~ msgstr "%s aliprosessi epäonnistui"
-
 #~ msgid "missing arguments"
 #~ msgstr "ei riittävästi argumentteja"
 
@@ -3775,18 +4505,16 @@ msgstr "<nimetön>"
 #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
 #~ "PURPOSE.\n"
 #~ msgstr ""
-#~ "Copyright (C) %s Free Software Foundation, Inc.\n"
+#~ "Copyright © %s Free Software Foundation, Inc.\n"
 #~ "Tämä on vapaa ohjelmisto; kts. lähdekoodi kopioinnin ehdoille. "
-#~ "Ohjelmisolle\n"
+#~ "Ohjelmistolle\n"
 #~ "EI myönnetä takuuta; ei edes KAUPATTAVUUDELLE tai SOVELTUVUUDELLE "
 #~ "TIETTYYN\n"
 #~ "tarkoitukseen.\n"
 
-#, fuzzy
 #~ msgid "write to grep subprocess failed"
-#~ msgstr "%s aliprosessi epäonnistui"
+#~ msgstr "kirjoitus grep-aliprosessiin epäonnistui"
 
-#, fuzzy
 #~ msgid ""
 #~ "Informative output:\n"
 #~ "  -h, --help                     display this help and exit\n"
@@ -3795,10 +4523,8 @@ msgstr "<nimetön>"
 #~ "Tietoja antavat tulosteet:\n"
 #~ "  -h, --help                  näyttää tämän ohjeen ja lopettaa "
 #~ "suorituksen\n"
-#~ "  -V, --version               näyttää ohjelmiston version ja lopettaa\n"
-#~ "                              suorituksen\n"
+#~ "  -V, --version               näyttää ohjelmiston version ja poistuu\n"
 
-#, fuzzy
 #~ msgid ""
 #~ "Informative output:\n"
 #~ "  -h, --help                  display this help and exit\n"
@@ -3809,10 +4535,10 @@ msgstr "<nimetön>"
 #~ "Tietoja antavat tulosteet:\n"
 #~ "  -h, --help                  näyttää tämän ohjeen ja lopettaa "
 #~ "suorituksen\n"
-#~ "  -V, --version               näyttää ohjelmiston version ja lopettaa\n"
-#~ "                              suorituksen\n"
+#~ "  -V, --version               näyttää ohjelmiston version ja poistuu\n"
+#~ "      --statistics            tulostaa tilastot käännöksistä\n"
+#~ "  -v, --verbose               kasvata laveustasoa\n"
 
-#, fuzzy
 #~ msgid ""
 #~ "Informative output:\n"
 #~ "  -h, --help                  display this help and exit\n"
@@ -3823,10 +4549,10 @@ msgstr "<nimetön>"
 #~ "Tietoja antavat tulosteet:\n"
 #~ "  -h, --help                  näyttää tämän ohjeen ja lopettaa "
 #~ "suorituksen\n"
-#~ "  -V, --version               näyttää ohjelmiston version ja lopettaa\n"
-#~ "                              suorituksen\n"
+#~ "  -V, --version               näyttää ohjelmiston version ja poistuu\n"
+#~ "  -v, --verbose               kasvata laveustasoa\n"
+#~ "  -q, --quiet, --silent       vaienna edistymisindikaattorit\n"
 
-#, fuzzy
 #~ msgid ""
 #~ "Informative output:\n"
 #~ "  -h, --help               display this help and exit\n"
@@ -3836,5 +4562,5 @@ msgstr "<nimetön>"
 #~ "Tietoja antavat tulosteet:\n"
 #~ "  -h, --help                  näyttää tämän ohjeen ja lopettaa "
 #~ "suorituksen\n"
-#~ "  -V, --version               näyttää ohjelmiston version ja lopettaa\n"
-#~ "                              suorituksen\n"
+#~ "  -V, --version               näyttää ohjelmiston version ja poistuu\n"
+#~ "  -v, --verbose               kasvata laveustasoa\n"