Imported Upstream version 2.3.3
[platform/upstream/cryptsetup.git] / po / fi.po
index ab92db1..63cd31e 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
 #
 msgid ""
 msgstr ""
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: cryptsetup 1.6.7\n"
+"Project-Id-Version: cryptsetup 1.7.0\n"
 "Report-Msgid-Bugs-To: dm-crypt@saout.de\n"
 "Report-Msgid-Bugs-To: dm-crypt@saout.de\n"
-"POT-Creation-Date: 2015-03-19 09:55+0100\n"
-"PO-Revision-Date: 2015-03-20 02:26+0200\n"
+"POT-Creation-Date: 2020-05-28 11:32+0200\n"
+"PO-Revision-Date: 2015-11-08 12:48+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"
 "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"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: lib/libdevmapper.c:252
-msgid "Cannot initialize device-mapper, running as non-root user.\n"
+#: lib/libdevmapper.c:399
+#, fuzzy
+msgid "Cannot initialize device-mapper, running as non-root user."
 msgstr "Laitekuvaimen alustus epäonnistui, suoritetaan ei-root-käyttäjänä.\n"
 
 msgstr "Laitekuvaimen alustus epäonnistui, suoritetaan ei-root-käyttäjänä.\n"
 
-#: lib/libdevmapper.c:255
-msgid "Cannot initialize device-mapper. Is dm_mod kernel module loaded?\n"
-msgstr ""
-"Laitekuvaimen alustus epäonnistui. Onko dm_mod-käyttöjärjestelmäydinmoduuli "
-"ladattu?\n"
+#: lib/libdevmapper.c:402
+#, fuzzy
+msgid "Cannot initialize device-mapper. Is dm_mod kernel module loaded?"
+msgstr "Laitekuvaimen alustus epäonnistui. Onko dm_mod-käyttöjärjestelmäydinmoduuli ladattu?\n"
 
 
-#: lib/libdevmapper.c:550
-#, c-format
-msgid "DM-UUID for device %s was truncated.\n"
+#: lib/libdevmapper.c:1131
+#, fuzzy
+msgid "Requested deferred flag is not supported."
+msgstr "Pyydetty LUKS-tiiviste %s ei ole tuettu.\n"
+
+#: lib/libdevmapper.c:1198
+#, fuzzy, c-format
+msgid "DM-UUID for device %s was truncated."
 msgstr "DM-UUID laitteelle %s typistettiin.\n"
 
 msgstr "DM-UUID laitteelle %s typistettiin.\n"
 
-#: lib/libdevmapper.c:698
-msgid "Requested dmcrypt performance options are not supported.\n"
+#: lib/libdevmapper.c:1520
+msgid "Unknown dm target type."
+msgstr ""
+
+#: lib/libdevmapper.c:1623 lib/libdevmapper.c:1679
+#, fuzzy
+msgid "Requested dm-crypt performance options are not supported."
+msgstr "Pyydetyt dmcrypt-suorituskykyvalitsimet eivät ole tuettuja.\n"
+
+#: lib/libdevmapper.c:1630
+#, fuzzy
+msgid "Requested dm-verity data corruption handling options are not supported."
 msgstr "Pyydetyt dmcrypt-suorituskykyvalitsimet eivät ole tuettuja.\n"
 
 msgstr "Pyydetyt dmcrypt-suorituskykyvalitsimet eivät ole tuettuja.\n"
 
+#: lib/libdevmapper.c:1634
+#, fuzzy
+msgid "Requested dm-verity FEC options are not supported."
+msgstr "Pyydetyt dmcrypt-suorituskykyvalitsimet eivät ole tuettuja.\n"
+
+#: lib/libdevmapper.c:1638
+#, fuzzy
+msgid "Requested data integrity options are not supported."
+msgstr "Pyydetyt dmcrypt-suorituskykyvalitsimet eivät ole tuettuja.\n"
+
+#: lib/libdevmapper.c:1640
+#, fuzzy
+msgid "Requested sector_size option is not supported."
+msgstr "Pyydetyt dmcrypt-suorituskykyvalitsimet eivät ole tuettuja.\n"
+
+#: lib/libdevmapper.c:1645
+msgid "Requested automatic recalculation of integrity tags is not supported."
+msgstr ""
+
+#: lib/libdevmapper.c:1649 lib/libdevmapper.c:1682 lib/libdevmapper.c:1685
+#: lib/luks2/luks2_json_metadata.c:2160
+#, fuzzy
+msgid "Discard/TRIM is not supported."
+msgstr "Tiivistealgoritmia %s ei tueta.\n"
+
+#: lib/libdevmapper.c:1653
+#, fuzzy
+msgid "Requested dm-integrity bitmap mode is not supported."
+msgstr "Pyydetty LUKS-tiiviste %s ei ole tuettu.\n"
+
+#: lib/libdevmapper.c:2607
+#, c-format
+msgid "Failed to query dm-%s segment."
+msgstr ""
+
 #  Entropy viittaa tässä ilmeisesti tiivistettävän tekstin satunnaisuuteen. Mitä satunnaisempi se on, sitä vähemmän sitä voi tiivistää.
 #  Entropy viittaa tässä ilmeisesti tiivistettävän tekstin satunnaisuuteen. Mitä satunnaisempi se on, sitä vähemmän sitä voi tiivistää.
-#: lib/random.c:76
+#: lib/random.c:75
 msgid ""
 "System is out of entropy while generating volume key.\n"
 msgid ""
 "System is out of entropy while generating volume key.\n"
-"Please move mouse or type some text in another window to gather some random "
-"events.\n"
+"Please move mouse or type some text in another window to gather some random events.\n"
 msgstr ""
 "Järjestelmässä ei ole satunnaisuutta taltioavainta tuotettaessa.\n"
 msgstr ""
 "Järjestelmässä ei ole satunnaisuutta taltioavainta tuotettaessa.\n"
-"Siirrä hiirtä tai kirjoita jotain tekstiä toiseen ikkunaan joidenkin "
-"satunnaistapahtumien keräämiseksi.\n"
+"Siirrä hiirtä tai kirjoita jotain tekstiä toiseen ikkunaan joidenkin satunnaistapahtumien keräämiseksi.\n"
 
 
-#: lib/random.c:80
+#: lib/random.c:79
 #, c-format
 msgid "Generating key (%d%% done).\n"
 msgstr "Avainta tuotetaan (%d%% valmis).\n"
 
 #, c-format
 msgid "Generating key (%d%% done).\n"
 msgstr "Avainta tuotetaan (%d%% valmis).\n"
 
-#: lib/random.c:169
-msgid "Fatal error during RNG initialisation.\n"
+#: lib/random.c:165
+#, fuzzy
+msgid "Running in FIPS mode."
+msgstr "Suoritetaan FIPS-tilassa.\n"
+
+#: lib/random.c:171
+#, fuzzy
+msgid "Fatal error during RNG initialisation."
 msgstr "Kohtalokas virhe RNG-alustuksen aikana.\n"
 
 msgstr "Kohtalokas virhe RNG-alustuksen aikana.\n"
 
-#: lib/random.c:206
-msgid "Unknown RNG quality requested.\n"
+#: lib/random.c:208
+#, fuzzy
+msgid "Unknown RNG quality requested."
 msgstr "Tuntematonta RNG-laatua pyydetty.\n"
 
 msgstr "Tuntematonta RNG-laatua pyydetty.\n"
 
-#: lib/random.c:211
-#, c-format
-msgid "Error %d reading from RNG: %s\n"
+#: lib/random.c:213
+#, fuzzy
+msgid "Error reading from RNG."
 msgstr "Virhe %d luettaessa kohteesta RNG: %s\n"
 
 msgstr "Virhe %d luettaessa kohteesta RNG: %s\n"
 
-#: lib/setup.c:200
-msgid "Cannot initialize crypto RNG backend.\n"
+#: lib/setup.c:229
+#, fuzzy
+msgid "Cannot initialize crypto RNG backend."
 msgstr "RNG-salaustaustaohjelman alustus epäonnistui.\n"
 
 msgstr "RNG-salaustaustaohjelman alustus epäonnistui.\n"
 
-#: lib/setup.c:206
-msgid "Cannot initialize crypto backend.\n"
+#: lib/setup.c:235
+#, fuzzy
+msgid "Cannot initialize crypto backend."
 msgstr "Salaustaustaohjelman alustus epäonnistui.\n"
 
 msgstr "Salaustaustaohjelman alustus epäonnistui.\n"
 
-#: lib/setup.c:236 lib/setup.c:1192 lib/verity/verity.c:123
-#, c-format
-msgid "Hash algorithm %s not supported.\n"
+#: lib/setup.c:266 lib/setup.c:2046 lib/verity/verity.c:119
+#, fuzzy, c-format
+msgid "Hash algorithm %s not supported."
 msgstr "Tiivistealgoritmia %s ei tueta.\n"
 
 msgstr "Tiivistealgoritmia %s ei tueta.\n"
 
-#: lib/setup.c:239 lib/loopaes/loopaes.c:90
-#, c-format
-msgid "Key processing error (using hash %s).\n"
+#: lib/setup.c:269 lib/loopaes/loopaes.c:90
+#, fuzzy, c-format
+msgid "Key processing error (using hash %s)."
 msgstr "Avainkäsittelyvirhe (käytetään tiivistealgoritmia %s).\n"
 
 msgstr "Avainkäsittelyvirhe (käytetään tiivistealgoritmia %s).\n"
 
-#: lib/setup.c:284
-msgid "Cannot determine device type. Incompatible activation of device?\n"
-msgstr ""
-"Laitetyypin määritteleminen epäonnistui. Laitteen yhteensopimaton "
-"aktivointi?\n"
+#: lib/setup.c:335 lib/setup.c:362
+#, fuzzy
+msgid "Cannot determine device type. Incompatible activation of device?"
+msgstr "Laitetyypin määritteleminen epäonnistui. Laitteen yhteensopimaton aktivointi?\n"
+
+#: lib/setup.c:341 lib/setup.c:3050
+#, fuzzy
+msgid "This operation is supported only for LUKS device."
+msgstr "Tätä toimintoa tuetaan vain LUKS-laitteelle.\n"
 
 
-#: lib/setup.c:288 lib/setup.c:1537
-msgid "This operation is supported only for LUKS device.\n"
+#: lib/setup.c:368
+#, fuzzy
+msgid "This operation is supported only for LUKS2 device."
 msgstr "Tätä toimintoa tuetaan vain LUKS-laitteelle.\n"
 
 msgstr "Tätä toimintoa tuetaan vain LUKS-laitteelle.\n"
 
-#: lib/setup.c:320
-msgid "All key slots full.\n"
+#: lib/setup.c:423 lib/luks2/luks2_reencrypt.c:2345
+#, fuzzy
+msgid "All key slots full."
 msgstr "Kaikki avainvälit ovat täynnä.\n"
 
 msgstr "Kaikki avainvälit ovat täynnä.\n"
 
-#: lib/setup.c:327
-#, c-format
-msgid "Key slot %d is invalid, please select between 0 and %d.\n"
+#: lib/setup.c:434
+#, fuzzy, c-format
+msgid "Key slot %d is invalid, please select between 0 and %d."
 msgstr "Avainväli %d on virheellinen, valitse väliltä 0 ... %d.\n"
 
 msgstr "Avainväli %d on virheellinen, valitse väliltä 0 ... %d.\n"
 
-#: lib/setup.c:333
-#, c-format
-msgid "Key slot %d is full, please select another one.\n"
+#: lib/setup.c:440
+#, fuzzy, c-format
+msgid "Key slot %d is full, please select another one."
 msgstr "Avainväli %d on täynnä, valitse joku toinen.\n"
 
 msgstr "Avainväli %d on täynnä, valitse joku toinen.\n"
 
-#: lib/setup.c:472
-#, c-format
-msgid "Enter passphrase for %s: "
-msgstr "Kirjoita salasanalause kohteelle %s: "
+#: lib/setup.c:525 lib/setup.c:2824
+#, fuzzy
+msgid "Device size is not aligned to device logical block size."
+msgstr "Laite %s ei ole kelvollinen LUKS-laite.\n"
 
 
-#: lib/setup.c:653
-#, c-format
-msgid "Header detected but device %s is too small.\n"
+#: lib/setup.c:624
+#, fuzzy, c-format
+msgid "Header detected but device %s is too small."
 msgstr "Otsake havaittu, mutta laite %s on liian pieni.\n"
 
 msgstr "Otsake havaittu, mutta laite %s on liian pieni.\n"
 
-#: lib/setup.c:669 lib/setup.c:1420
-msgid "This operation is not supported for this device type.\n"
+#: lib/setup.c:661
+#, fuzzy
+msgid "This operation is not supported for this device type."
 msgstr "Tätä toimintoa ei tueta tälle laitetyypille.\n"
 
 msgstr "Tätä toimintoa ei tueta tälle laitetyypille.\n"
 
-#: lib/setup.c:908 lib/setup.c:1381 lib/setup.c:2264
-#, c-format
-msgid "Device %s is not active.\n"
+#: lib/setup.c:666
+msgid "Illegal operation with reencryption in-progress."
+msgstr ""
+
+#: lib/setup.c:832 lib/luks1/keymanage.c:475
+#, fuzzy, c-format
+msgid "Unsupported LUKS version %d."
+msgstr "Tukematon LUKS-versio %d.\n"
+
+#: lib/setup.c:849 lib/setup.c:1539 lib/setup.c:1959
+#, fuzzy
+msgid "Detached metadata device is not supported for this crypt type."
+msgstr "UUID ei ole tuettu tälle laitetyypille.\n"
+
+#: lib/setup.c:1427 lib/setup.c:2544 lib/setup.c:2616 lib/setup.c:2628
+#: lib/setup.c:2777 lib/setup.c:4512
+#, fuzzy, c-format
+msgid "Device %s is not active."
 msgstr "Laite %s ei ole aktiivinen.\n"
 
 msgstr "Laite %s ei ole aktiivinen.\n"
 
-#: lib/setup.c:925
-#, c-format
-msgid "Underlying device for crypt device %s disappeared.\n"
+#: lib/setup.c:1444
+#, fuzzy, c-format
+msgid "Underlying device for crypt device %s disappeared."
 msgstr "Salauslaitteen %s perustana oleva laite hävisi.\n"
 
 msgstr "Salauslaitteen %s perustana oleva laite hävisi.\n"
 
-#: lib/setup.c:994
-msgid "Invalid plain crypt parameters.\n"
+#: lib/setup.c:1524
+#, fuzzy
+msgid "Invalid plain crypt parameters."
 msgstr "Virheelliset tavalliset salausparametrit.\n"
 
 msgstr "Virheelliset tavalliset salausparametrit.\n"
 
-#: lib/setup.c:999 lib/setup.c:1119
-msgid "Invalid key size.\n"
+#: lib/setup.c:1529 lib/setup.c:1949 src/integritysetup.c:74
+#, fuzzy
+msgid "Invalid key size."
 msgstr "Virheellinen avainkoko.\n"
 
 msgstr "Virheellinen avainkoko.\n"
 
-#: lib/setup.c:1004 lib/setup.c:1124
-msgid "UUID is not supported for this crypt type.\n"
+#: lib/setup.c:1534 lib/setup.c:1954 lib/setup.c:2157
+#, fuzzy
+msgid "UUID is not supported for this crypt type."
 msgstr "UUID ei ole tuettu tälle laitetyypille.\n"
 
 msgstr "UUID ei ole tuettu tälle laitetyypille.\n"
 
-#: lib/setup.c:1046
-msgid "Can't format LUKS without device.\n"
+#: lib/setup.c:1549 lib/setup.c:1739 lib/luks2/luks2_reencrypt.c:2308
+#: src/cryptsetup.c:1226 src/cryptsetup.c:3923
+#, fuzzy
+msgid "Unsupported encryption sector size."
+msgstr "Uudelleensalauslokitiedoston lukeminen epäonnistui.\n"
+
+#: lib/setup.c:1557 lib/setup.c:1864 lib/setup.c:2818
+#, fuzzy
+msgid "Device size is not aligned to requested sector size."
+msgstr "Laite %s ei ole kelvollinen LUKS-laite.\n"
+
+#: lib/setup.c:1608 lib/setup.c:1727
+#, fuzzy
+msgid "Can't format LUKS without device."
 msgstr "Kohteen LUKS pohjustus ilman laitetta epäonnistui.\n"
 
 msgstr "Kohteen LUKS pohjustus ilman laitetta epäonnistui.\n"
 
-#: lib/setup.c:1089
-#, c-format
-msgid "Cannot format device %s which is still in use.\n"
-msgstr "Laitteen %s pohjustus epäonnistui, koska se on yhä käytössä.\n"
+#: lib/setup.c:1614 lib/setup.c:1733
+msgid "Requested data alignment is not compatible with data offset."
+msgstr ""
+
+#: lib/setup.c:1682 lib/setup.c:1851
+msgid "WARNING: Data offset is outside of currently available data device.\n"
+msgstr ""
+
+#: lib/setup.c:1692 lib/setup.c:1879 lib/setup.c:1900 lib/setup.c:2169
+#, fuzzy, c-format
+msgid "Cannot wipe header on device %s."
+msgstr "Otsakkeen pyyhkiminen pois laitteesta %s epäonnistui.\n"
+
+#: lib/setup.c:1744
+msgid "WARNING: The device activation will fail, dm-crypt is missing support for requested encryption sector size.\n"
+msgstr ""
+
+#: lib/setup.c:1766
+msgid "Volume key is too small for encryption with integrity extensions."
+msgstr ""
+
+#: lib/setup.c:1821
+#, fuzzy, c-format
+msgid "Cipher %s-%s (key size %zd bits) is not available."
+msgstr "Salaus %s ei ole käytettävissä.\n"
 
 
-#: lib/setup.c:1092
+#: lib/setup.c:1854
 #, c-format
 #, c-format
-msgid "Cannot format device %s, permission denied.\n"
+msgid "WARNING: LUKS2 metadata size changed to %<PRIu64> bytes.\n"
 msgstr ""
 msgstr ""
-"Laitteen %s pohjustus epäonnistui, koska pääsy laitteeseen on kielletty.\n"
 
 
-#: lib/setup.c:1096
+#: lib/setup.c:1858
 #, c-format
 #, c-format
-msgid "Cannot wipe header on device %s.\n"
-msgstr "Otsakkeen pyyhkiminen pois laitteesta %s epäonnistui.\n"
+msgid "WARNING: LUKS2 keyslots area size changed to %<PRIu64> bytes.\n"
+msgstr ""
+
+#: lib/setup.c:1882 lib/utils_device.c:828 lib/luks1/keyencryption.c:255
+#: lib/luks2/luks2_reencrypt.c:2356 lib/luks2/luks2_reencrypt.c:3367
+#, fuzzy, c-format
+msgid "Device %s is too small."
+msgstr "Laite %s on liian pieni.\n"
+
+#: lib/setup.c:1893 lib/setup.c:1919
+#, fuzzy, c-format
+msgid "Cannot format device %s in use."
+msgstr "Laitteen %s pohjustus epäonnistui, koska se on yhä käytössä.\n"
+
+#: lib/setup.c:1896 lib/setup.c:1922
+#, fuzzy, c-format
+msgid "Cannot format device %s, permission denied."
+msgstr "Laitteen %s pohjustus epäonnistui, koska pääsy laitteeseen on kielletty.\n"
+
+#: lib/setup.c:1908 lib/setup.c:2229
+#, fuzzy, c-format
+msgid "Cannot format integrity for device %s."
+msgstr "Laitteelle %s kirjoittaminen epäonnistui.\n"
 
 
-#: lib/setup.c:1114
-msgid "Can't format LOOPAES without device.\n"
+#: lib/setup.c:1926
+#, fuzzy, c-format
+msgid "Cannot format device %s."
+msgstr "Laitteen %s lukeminen epäonnistui.\n"
+
+#: lib/setup.c:1944
+#, fuzzy
+msgid "Can't format LOOPAES without device."
 msgstr "Kohteen LOOPAES pohjustus ilman laitetta epäonnistui.\n"
 
 msgstr "Kohteen LOOPAES pohjustus ilman laitetta epäonnistui.\n"
 
-#: lib/setup.c:1152
-msgid "Can't format VERITY without device.\n"
+#: lib/setup.c:1989
+#, fuzzy
+msgid "Can't format VERITY without device."
 msgstr "Kohteen VERITY pohjustus ilman laitetta epäonnistui.\n"
 
 msgstr "Kohteen VERITY pohjustus ilman laitetta epäonnistui.\n"
 
-#: lib/setup.c:1160 lib/verity/verity.c:106
-#, c-format
-msgid "Unsupported VERITY hash type %d.\n"
+#: lib/setup.c:2000 lib/verity/verity.c:102
+#, fuzzy, c-format
+msgid "Unsupported VERITY hash type %d."
 msgstr "Tukematon VERITY-tiivistetyyppi %d.\n"
 
 msgstr "Tukematon VERITY-tiivistetyyppi %d.\n"
 
-#: lib/setup.c:1166 lib/verity/verity.c:114
-msgid "Unsupported VERITY block size.\n"
+#: lib/setup.c:2006 lib/verity/verity.c:110
+#, fuzzy
+msgid "Unsupported VERITY block size."
 msgstr "Tukematon VERITY-lohkokoko.\n"
 
 msgstr "Tukematon VERITY-lohkokoko.\n"
 
-#: lib/setup.c:1171 lib/verity/verity.c:76
-msgid "Unsupported VERITY hash offset.\n"
+#: lib/setup.c:2011 lib/verity/verity.c:74
+#, fuzzy
+msgid "Unsupported VERITY hash offset."
+msgstr "Tukematon VERITY-tiivistesiirros.\n"
+
+#: lib/setup.c:2016
+#, fuzzy
+msgid "Unsupported VERITY FEC offset."
 msgstr "Tukematon VERITY-tiivistesiirros.\n"
 
 msgstr "Tukematon VERITY-tiivistesiirros.\n"
 
-#: lib/setup.c:1285
+#: lib/setup.c:2040
+msgid "Data area overlaps with hash area."
+msgstr ""
+
+#: lib/setup.c:2065
+msgid "Hash area overlaps with FEC area."
+msgstr ""
+
+#: lib/setup.c:2072
+msgid "Data area overlaps with FEC area."
+msgstr ""
+
+#: lib/setup.c:2208
 #, c-format
 #, c-format
-msgid "Unknown crypt device type %s requested.\n"
+msgid "WARNING: Requested tag size %d bytes differs from %s size output (%d bytes).\n"
+msgstr ""
+
+#: lib/setup.c:2286
+#, fuzzy, c-format
+msgid "Unknown crypt device type %s requested."
 msgstr "Tuntematon salauslaitetyyppi %s pyydetty.\n"
 
 msgstr "Tuntematon salauslaitetyyppi %s pyydetty.\n"
 
-#: lib/setup.c:1435
+#: lib/setup.c:2550 lib/setup.c:2622 lib/setup.c:2635
+#, fuzzy, c-format
+msgid "Unsupported parameters on device %s."
+msgstr "Otsakkeen pyyhkiminen pois laitteesta %s epäonnistui.\n"
+
+#: lib/setup.c:2556 lib/setup.c:2641 lib/luks2/luks2_reencrypt.c:2408
+#: lib/luks2/luks2_reencrypt.c:2737
+#, fuzzy, c-format
+msgid "Mismatching parameters on device %s."
+msgstr "Otsakkeen pyyhkiminen pois laitteesta %s epäonnistui.\n"
+
+#: lib/setup.c:2661
+msgid "Crypt devices mismatch."
+msgstr ""
+
+#: lib/setup.c:2698 lib/setup.c:2703 lib/luks2/luks2_reencrypt.c:2054
+#: lib/luks2/luks2_reencrypt.c:3145
+#, fuzzy, c-format
+msgid "Failed to reload device %s."
+msgstr "Laitteen %s lukeminen epäonnistui.\n"
+
+#: lib/setup.c:2708 lib/setup.c:2713 lib/luks2/luks2_reencrypt.c:2025
+#: lib/luks2/luks2_reencrypt.c:2032
+#, fuzzy, c-format
+msgid "Failed to suspend device %s."
+msgstr "Avaintiedoston avaus epäonnistui.\n"
+
+#: lib/setup.c:2718 lib/luks2/luks2_reencrypt.c:2039
+#: lib/luks2/luks2_reencrypt.c:3080 lib/luks2/luks2_reencrypt.c:3149
+#, fuzzy, c-format
+msgid "Failed to resume device %s."
+msgstr "Laitteen %s lukeminen epäonnistui.\n"
+
+#: lib/setup.c:2732
+#, c-format
+msgid "Fatal error while reloading device %s (on top of device %s)."
+msgstr ""
+
+#: lib/setup.c:2735 lib/setup.c:2737
+#, fuzzy, c-format
+msgid "Failed to switch device %s to dm-error."
+msgstr "Laitekuvaajahakemiston hankkiminen epäonnistui."
+
+#: lib/setup.c:2809
+#, fuzzy
+msgid "Cannot resize loop device."
+msgstr "Silmukkalaitteen koon muuttaminen epäonnistui.\n"
+
+#: lib/setup.c:2882
 msgid "Do you really want to change UUID of device?"
 msgstr "Haluatko todella vaihtaa laitteen UUID-tunnistetta?"
 
 msgid "Do you really want to change UUID of device?"
 msgstr "Haluatko todella vaihtaa laitteen UUID-tunnistetta?"
 
-#: lib/setup.c:1545
-#, c-format
-msgid "Volume %s is not active.\n"
+#: lib/setup.c:2958
+#, fuzzy
+msgid "Header backup file does not contain compatible LUKS header."
+msgstr "Varmuuskopiotiedosto ei sisällä kelvollista LUKS-otsaketta.\n"
+
+#: lib/setup.c:3058
+#, fuzzy, c-format
+msgid "Volume %s is not active."
 msgstr "Taltio %s ei ole käytössä.\n"
 
 msgstr "Taltio %s ei ole käytössä.\n"
 
-#: lib/setup.c:1556
-#, c-format
-msgid "Volume %s is already suspended.\n"
+#: lib/setup.c:3069
+#, fuzzy, c-format
+msgid "Volume %s is already suspended."
 msgstr "Taltio %s on jo keskeytetty.\n"
 
 msgstr "Taltio %s on jo keskeytetty.\n"
 
-#: lib/setup.c:1563
-#, c-format
-msgid "Suspend is not supported for device %s.\n"
+#: lib/setup.c:3082
+#, fuzzy, c-format
+msgid "Suspend is not supported for device %s."
 msgstr "Keskeyttämistä ei tueta laitetyypille %s.\n"
 
 msgstr "Keskeyttämistä ei tueta laitetyypille %s.\n"
 
-#: lib/setup.c:1565
-#, c-format
-msgid "Error during suspending device %s.\n"
+#: lib/setup.c:3084
+#, fuzzy, c-format
+msgid "Error during suspending device %s."
 msgstr "Virhe keskeytettäessä laitetta %s.\n"
 
 msgstr "Virhe keskeytettäessä laitetta %s.\n"
 
-#: lib/setup.c:1591 lib/setup.c:1638
-#, c-format
-msgid "Volume %s is not suspended.\n"
+#: lib/setup.c:3117 lib/setup.c:3184 lib/setup.c:3267
+#, fuzzy, c-format
+msgid "Volume %s is not suspended."
 msgstr "Taltiota %s ei ole keskeytetty.\n"
 
 msgstr "Taltiota %s ei ole keskeytetty.\n"
 
-#: lib/setup.c:1605
-#, c-format
-msgid "Resume is not supported for device %s.\n"
+#: lib/setup.c:3146
+#, fuzzy, c-format
+msgid "Resume is not supported for device %s."
 msgstr "Jatkamista ei tueta laiteelle %s.\n"
 
 msgstr "Jatkamista ei tueta laiteelle %s.\n"
 
-#: lib/setup.c:1607 lib/setup.c:1659
-#, c-format
-msgid "Error during resuming device %s.\n"
+#: lib/setup.c:3148 lib/setup.c:3216 lib/setup.c:3297
+#, fuzzy, c-format
+msgid "Error during resuming device %s."
 msgstr "Virhe jatkettaessa laitteella %s.\n"
 
 msgstr "Virhe jatkettaessa laitteella %s.\n"
 
-#: lib/setup.c:1645 lib/setup.c:2080 lib/setup.c:2094 src/cryptsetup.c:186
-#: src/cryptsetup.c:248 src/cryptsetup.c:732 src/cryptsetup.c:1151
-msgid "Enter passphrase: "
-msgstr "Kirjoita salasanalause: "
+#: lib/setup.c:3282 lib/setup.c:3648 lib/setup.c:4309 lib/setup.c:4322
+#: lib/setup.c:4330 lib/setup.c:4343 lib/setup.c:4693 lib/setup.c:5839
+#, fuzzy
+msgid "Volume key does not match the volume."
+msgstr "Taltioavain ei täsmää taltion kanssa.\n"
 
 #  Volume key tarkoittaa yleensä äänenvoimakkuussäädintä, ei välttämättä tässä.
 
 #  Volume key tarkoittaa yleensä äänenvoimakkuussäädintä, ei välttämättä tässä.
-#: lib/setup.c:1707 lib/setup.c:1843
-msgid "Cannot add key slot, all slots disabled and no volume key provided.\n"
-msgstr ""
-"Avainvälin lisäys epäonnistui, kaikki välit on otettu pois käytöstä ja "
-"yhtään taltioavainta ei ole tarjottu.\n"
+#: lib/setup.c:3343 lib/setup.c:3531
+#, fuzzy
+msgid "Cannot add key slot, all slots disabled and no volume key provided."
+msgstr "Avainvälin lisäys epäonnistui, kaikki välit on otettu pois käytöstä ja yhtään taltioavainta ei ole tarjottu.\n"
+
+#: lib/setup.c:3483
+#, fuzzy
+msgid "Failed to swap new key slot."
+msgstr "Uuden avainvälin vaihtaminen epäonnistui.\n"
 
 
-#: lib/setup.c:1716 lib/setup.c:1849 lib/setup.c:1853
-msgid "Enter any passphrase: "
-msgstr "Kirjoita mikä tahansa salasanalause: "
+#: lib/setup.c:3669
+#, fuzzy, c-format
+msgid "Key slot %d is invalid."
+msgstr "Avainväli %d on virheellinen.\n"
 
 
-#: lib/setup.c:1733 lib/setup.c:1866 lib/setup.c:1870 lib/setup.c:1932
-#: src/cryptsetup.c:988 src/cryptsetup.c:1017
-msgid "Enter new passphrase for key slot: "
-msgstr "Kirjoita uusi salasanalause avainvälille: "
+#: lib/setup.c:3675 src/cryptsetup.c:1572 src/cryptsetup.c:1917
+#, fuzzy, c-format
+msgid "Keyslot %d is not active."
+msgstr "Avainväli %d ei ole käytössä.\n"
 
 
-#: lib/setup.c:1798
-#, c-format
-msgid "Key slot %d changed.\n"
-msgstr "Avaivälin %d vaihtui.\n"
+#: lib/setup.c:3694
+#, fuzzy
+msgid "Device header overlaps with data area."
+msgstr "Tälle salasanalauseelle ei ole saatavissa laiteotsaketta.\n"
 
 
-#: lib/setup.c:1801
-#, c-format
-msgid "Replaced with key slot %d.\n"
-msgstr "Korvattiin avainvälillä %d.\n"
+#: lib/setup.c:3981
+msgid "Reencryption in-progress. Cannot activate device."
+msgstr ""
 
 
-#: lib/setup.c:1806
-msgid "Failed to swap new key slot.\n"
-msgstr "Uuden avainvälin vaihtaminen epäonnistui.\n"
+#: lib/setup.c:3983 lib/luks2/luks2_json_metadata.c:2243
+#: lib/luks2/luks2_reencrypt.c:2836
+#, fuzzy
+msgid "Failed to get reencryption lock."
+msgstr "Uudelleensalauslokitiedoston lukeminen epäonnistui.\n"
 
 
-#: lib/setup.c:1923 lib/setup.c:2184 lib/setup.c:2197 lib/setup.c:2339
-msgid "Volume key does not match the volume.\n"
-msgstr "Taltioavain ei täsmää taltion kanssa.\n"
+#: lib/setup.c:3996 lib/luks2/luks2_reencrypt.c:2855
+#, fuzzy
+msgid "LUKS2 reencryption recovery failed."
+msgstr "Uudelleensalauslokitiedoston avaus epäonnistui.\n"
 
 
-#: lib/setup.c:1961
-#, c-format
-msgid "Key slot %d is invalid.\n"
-msgstr "Avainväli %d on virheellinen.\n"
+#: lib/setup.c:4127 lib/setup.c:4379
+#, fuzzy
+msgid "Device type is not properly initialized."
+msgstr "Laitetyyppi ei ole alustettu oikein.\n"
 
 
-#: lib/setup.c:1966
-#, c-format
-msgid "Key slot %d is not used.\n"
-msgstr "Avainväli %d ei ole käytössä.\n"
+#: lib/setup.c:4171
+#, fuzzy, c-format
+msgid "Cannot use device %s, name is invalid or still in use."
+msgstr "Laitteen %s pohjustus epäonnistui, koska se on yhä käytössä.\n"
 
 
-#: lib/setup.c:1996 lib/setup.c:2068 lib/setup.c:2160
-#, c-format
-msgid "Device %s already exists.\n"
+#: lib/setup.c:4174
+#, fuzzy, c-format
+msgid "Device %s already exists."
 msgstr "Laite %s on jo olemassa.\n"
 
 msgstr "Laite %s on jo olemassa.\n"
 
-#: lib/setup.c:2171
-msgid "Incorrect volume key specified for plain device.\n"
+#: lib/setup.c:4296
+#, fuzzy
+msgid "Incorrect volume key specified for plain device."
 msgstr "Virheellinen taltioavain määritelty tavalliselle laitteelle.\n"
 
 msgstr "Virheellinen taltioavain määritelty tavalliselle laitteelle.\n"
 
-#: lib/setup.c:2204
-msgid "Incorrect root hash specified for verity device.\n"
+#: lib/setup.c:4405
+#, fuzzy
+msgid "Incorrect root hash specified for verity device."
 msgstr "Virheellinen root-tiiviste määritelty verity-laitteelle.\n"
 
 msgstr "Virheellinen root-tiiviste määritelty verity-laitteelle.\n"
 
-#: lib/setup.c:2227
-msgid "Device type is not properly initialised.\n"
-msgstr "Laitetyyppi ei ole alustettu oikein.\n"
+#: lib/setup.c:4412
+msgid "Root hash signature required."
+msgstr ""
 
 
-#: lib/setup.c:2259
-#, c-format
-msgid "Device %s is still in use.\n"
+#: lib/setup.c:4421
+msgid "Kernel keyring missing: required for passing signature to kernel."
+msgstr ""
+
+#: lib/setup.c:4438 lib/setup.c:5915
+#, fuzzy
+msgid "Failed to load key in kernel keyring."
+msgstr "Avaintiedoston avaus epäonnistui.\n"
+
+#: lib/setup.c:4491 lib/setup.c:4507 lib/luks2/luks2_json_metadata.c:2296
+#: src/cryptsetup.c:2664
+#, fuzzy, c-format
+msgid "Device %s is still in use."
 msgstr "Laite %s on yhä käytössä.\n"
 
 msgstr "Laite %s on yhä käytössä.\n"
 
-#: lib/setup.c:2268
-#, c-format
-msgid "Invalid device %s.\n"
+#: lib/setup.c:4516
+#, fuzzy, c-format
+msgid "Invalid device %s."
 msgstr "Virheellinen laite %s.\n"
 
 msgstr "Virheellinen laite %s.\n"
 
-#: lib/setup.c:2289
-msgid "Function not available in FIPS mode.\n"
-msgstr "Funktio ei ole käytettävissä FIPS-tilassa.\n"
-
-#: lib/setup.c:2295
-msgid "Volume key buffer too small.\n"
+#: lib/setup.c:4632
+#, fuzzy
+msgid "Volume key buffer too small."
 msgstr "Taltioavainpuskuri on liian pieni.\n"
 
 msgstr "Taltioavainpuskuri on liian pieni.\n"
 
-#: lib/setup.c:2303
-msgid "Cannot retrieve volume key for plain device.\n"
+#: lib/setup.c:4640
+#, fuzzy
+msgid "Cannot retrieve volume key for plain device."
 msgstr "Taltioavaimen nouto tavalliselle laitteelle epäonnistui.\n"
 
 msgstr "Taltioavaimen nouto tavalliselle laitteelle epäonnistui.\n"
 
-#: lib/setup.c:2310
-#, c-format
-msgid "This operation is not supported for %s crypt device.\n"
+#: lib/setup.c:4657
+#, fuzzy
+msgid "Cannot retrieve root hash for verity device."
+msgstr "Virheellinen root-tiiviste määritelty verity-laitteelle.\n"
+
+#: lib/setup.c:4659
+#, fuzzy, c-format
+msgid "This operation is not supported for %s crypt device."
 msgstr "Tätä toimintoa ei tueta %s-salauslaitteelle.\n"
 
 msgstr "Tätä toimintoa ei tueta %s-salauslaitteelle.\n"
 
-#: lib/setup.c:2506
-msgid "Dump operation is not supported for this device type.\n"
+#: lib/setup.c:4865
+#, fuzzy
+msgid "Dump operation is not supported for this device type."
 msgstr "Dump-toimintoa ei tueta tälle laitetyypille.\n"
 
 msgstr "Dump-toimintoa ei tueta tälle laitetyypille.\n"
 
-#: lib/utils.c:244
-msgid "Cannot get process priority.\n"
-msgstr "Prosessiprioriteetin hakeminen epäonnistui.\n"
+#: lib/setup.c:5190
+#, c-format
+msgid "Data offset is not multiple of %u bytes."
+msgstr ""
 
 
-#: lib/utils.c:258
-msgid "Cannot unlock memory.\n"
-msgstr "Muistin lukituksen avaus epäonnistui.\n"
+#: lib/setup.c:5475
+#, fuzzy, c-format
+msgid "Cannot convert device %s which is still in use."
+msgstr "Laitteen %s pohjustus epäonnistui, koska se on yhä käytössä.\n"
 
 
-#: lib/utils_crypt.c:241 lib/utils_crypt.c:254 lib/utils_crypt.c:401
-#: lib/utils_crypt.c:416
-msgid "Out of memory while reading passphrase.\n"
-msgstr "Muisti loppui luettaessa salasanalausetta.\n"
+#: lib/setup.c:5772
+#, c-format
+msgid "Failed to assign keyslot %u as the new volume key."
+msgstr ""
 
 
-#: lib/utils_crypt.c:246 lib/utils_crypt.c:261
-msgid "Error reading passphrase from terminal.\n"
-msgstr "Virhe luettaessa salasanalausetta pääteikkunasta.\n"
+#: lib/setup.c:5845
+msgid "Failed to initialize default LUKS2 keyslot parameters."
+msgstr ""
 
 
-#: lib/utils_crypt.c:259
-msgid "Verify passphrase: "
-msgstr "Todenna salasanalause: "
+#: lib/setup.c:5851
+#, fuzzy, c-format
+msgid "Failed to assign keyslot %d to digest."
+msgstr "Uuden avainvälin vaihtaminen epäonnistui.\n"
 
 
-#: lib/utils_crypt.c:266
-msgid "Passphrases do not match.\n"
-msgstr "Salasanalauseet eivät täsmää.\n"
+#: lib/setup.c:5982
+#, fuzzy
+msgid "Kernel keyring is not supported by the kernel."
+msgstr "Tätä toimintoa ei tueta tälle laitetyypille.\n"
 
 
-#: lib/utils_crypt.c:350
-msgid "Cannot use offset with terminal input.\n"
-msgstr "Siirrososoitteen käyttö pääteikkunasyötteellä epäonnistui.\n"
+#: lib/setup.c:5992 lib/luks2/luks2_reencrypt.c:2952
+#, fuzzy, c-format
+msgid "Failed to read passphrase from keyring (error %d)."
+msgstr "Avainsäiliöstä lukeminen epäonnistui.\n"
+
+#: lib/setup.c:6016
+msgid "Failed to acquire global memory-hard access serialization lock."
+msgstr ""
+
+#: lib/utils.c:80
+#, fuzzy
+msgid "Cannot get process priority."
+msgstr "Prosessiprioriteetin hakeminen epäonnistui.\n"
+
+#: lib/utils.c:94
+#, fuzzy
+msgid "Cannot unlock memory."
+msgstr "Muistin lukituksen avaus epäonnistui.\n"
 
 
-#: lib/utils_crypt.c:369 lib/tcrypt/tcrypt.c:467
-msgid "Failed to open key file.\n"
+#: lib/utils.c:168 lib/tcrypt/tcrypt.c:497
+#, fuzzy
+msgid "Failed to open key file."
 msgstr "Avaintiedoston avaus epäonnistui.\n"
 
 msgstr "Avaintiedoston avaus epäonnistui.\n"
 
-#: lib/utils_crypt.c:378
-msgid "Failed to stat key file.\n"
+#: lib/utils.c:173
+#, fuzzy
+msgid "Cannot read keyfile from a terminal."
+msgstr "Avaintiedoston %s lukeminen epäonnistui.\n"
+
+#: lib/utils.c:190
+#, fuzzy
+msgid "Failed to stat key file."
 msgstr "Avaintiedoston kutsuminen stat-funktiolla epäonnistui.\n"
 
 msgstr "Avaintiedoston kutsuminen stat-funktiolla epäonnistui.\n"
 
-#: lib/utils_crypt.c:386 lib/utils_crypt.c:407
-msgid "Cannot seek to requested keyfile offset.\n"
+#: lib/utils.c:198 lib/utils.c:219
+#, fuzzy
+msgid "Cannot seek to requested keyfile offset."
 msgstr "Pyydetyn avaintiedostosiirrososoitteen etsintä epäonnistui.\n"
 
 msgstr "Pyydetyn avaintiedostosiirrososoitteen etsintä epäonnistui.\n"
 
-#: lib/utils_crypt.c:424
-msgid "Error reading passphrase.\n"
+#: lib/utils.c:213 lib/utils.c:228 src/utils_password.c:188
+#: src/utils_password.c:201
+#, fuzzy
+msgid "Out of memory while reading passphrase."
+msgstr "Muisti loppui luettaessa salasanalausetta.\n"
+
+#: lib/utils.c:248
+#, fuzzy
+msgid "Error reading passphrase."
 msgstr "Virhe luettaessa salasanalausetta.\n"
 
 msgstr "Virhe luettaessa salasanalausetta.\n"
 
-#: lib/utils_crypt.c:442
-msgid "Maximum keyfile size exceeded.\n"
+#: lib/utils.c:265
+msgid "Nothing to read on input."
+msgstr ""
+
+#: lib/utils.c:272
+#, fuzzy
+msgid "Maximum keyfile size exceeded."
 msgstr "Avaintiedoston enimmäiskoko ylitettiin.\n"
 
 msgstr "Avaintiedoston enimmäiskoko ylitettiin.\n"
 
-#: lib/utils_crypt.c:447
-msgid "Cannot read requested amount of data.\n"
+#: lib/utils.c:277
+#, fuzzy
+msgid "Cannot read requested amount of data."
 msgstr "Pyydetyn tietomäärän lukeminen epäonnistui.\n"
 
 msgstr "Pyydetyn tietomäärän lukeminen epäonnistui.\n"
 
-#: lib/utils_device.c:136 lib/luks1/keyencryption.c:90
-#, c-format
-msgid "Device %s doesn't exist or access denied.\n"
+#: lib/utils_device.c:187 lib/utils_storage_wrappers.c:110
+#: lib/luks1/keyencryption.c:91
+#, fuzzy, c-format
+msgid "Device %s does not exist or access denied."
 msgstr "Laite %s ei ole olemassa tai pääsy siihen on kielletty.\n"
 
 msgstr "Laite %s ei ole olemassa tai pääsy siihen on kielletty.\n"
 
-#: lib/utils_device.c:430
-msgid "Cannot use a loopback device, running as non-root user.\n"
+#: lib/utils_device.c:197
+#, fuzzy, c-format
+msgid "Device %s is not compatible."
+msgstr "Laite %s ei ole aktiivinen.\n"
+
+#: lib/utils_device.c:642
+#, fuzzy, c-format
+msgid "Device %s is too small. Need at least %<PRIu64> bytes."
+msgstr "Laite %s on liian pieni. (LUKS vaatii vähintään %<PRIu64> tavua.)\n"
+
+#: lib/utils_device.c:723
+#, fuzzy, c-format
+msgid "Cannot use device %s which is in use (already mapped or mounted)."
+msgstr "Laitteen %s käyttö epäonnistui, koska se on jo käytössä (jo kuvattu tai liitetty).\n"
+
+#: lib/utils_device.c:727
+#, fuzzy, c-format
+msgid "Cannot use device %s, permission denied."
+msgstr "Laitteeseen %s kirjoittaminen epäonnistui, pääsy kielletty.\n"
+
+#: lib/utils_device.c:730
+#, fuzzy, c-format
+msgid "Cannot get info about device %s."
+msgstr "Tietojen hakeminen laitteesta %s epäonnistui.\n"
+
+#: lib/utils_device.c:753
+#, fuzzy
+msgid "Cannot use a loopback device, running as non-root user."
 msgstr "Silmukkalaitteen käyttö epäonnistui, suoritetaan ei-root-käyttäjänä.\n"
 
 msgstr "Silmukkalaitteen käyttö epäonnistui, suoritetaan ei-root-käyttäjänä.\n"
 
-#: lib/utils_device.c:433
-msgid "Cannot find a free loopback device.\n"
-msgstr "Vapaan silmukkalaiteen löytäminen epäonnistui.\n"
+#: lib/utils_device.c:763
+#, fuzzy
+msgid "Attaching loopback device failed (loop device with autoclear flag is required)."
+msgstr "Silmukkalaitteeseen liittyminen epäonnistui (vaaditaan silmukkalaite autoclear-lipulla).\n"
 
 
-#: lib/utils_device.c:440
-msgid ""
-"Attaching loopback device failed (loop device with autoclear flag is "
-"required).\n"
+#: lib/utils_device.c:809
+#, fuzzy, c-format
+msgid "Requested offset is beyond real size of device %s."
+msgstr "Pyydetty siirrososoite on laitteen %s todellisen koon ulkopuolella.\n"
+
+#: lib/utils_device.c:817
+#, fuzzy, c-format
+msgid "Device %s has zero size."
+msgstr "Laitteen %s koko on nolla.\n"
+
+#: lib/utils_pbkdf.c:100
+msgid "Requested PBKDF target time cannot be zero."
 msgstr ""
 msgstr ""
-"Silmukkalaitteeseen liittyminen epäonnistui (vaaditaan silmukkalaite "
-"autoclear-lipulla).\n"
 
 
-#: lib/utils_device.c:484
+#: lib/utils_pbkdf.c:106
 #, c-format
 #, c-format
-msgid "Cannot use device %s which is in use (already mapped or mounted).\n"
+msgid "Unknown PBKDF type %s."
 msgstr ""
 msgstr ""
-"Laitteen %s käyttö epäonnistui, koska se on jo käytössä (jo kuvattu tai "
-"liitetty).\n"
 
 
-#: lib/utils_device.c:488
+#: lib/utils_pbkdf.c:111
+#, fuzzy, c-format
+msgid "Requested hash %s is not supported."
+msgstr "Pyydetty LUKS-tiiviste %s ei ole tuettu.\n"
+
+#: lib/utils_pbkdf.c:122
+#, fuzzy
+msgid "Requested PBKDF type is not supported for LUKS1."
+msgstr "Pyydetty LUKS-tiiviste %s ei ole tuettu.\n"
+
+#: lib/utils_pbkdf.c:128
+msgid "PBKDF max memory or parallel threads must not be set with pbkdf2."
+msgstr ""
+
+#: lib/utils_pbkdf.c:133 lib/utils_pbkdf.c:143
 #, c-format
 #, c-format
-msgid "Cannot get info about device %s.\n"
-msgstr "Tietojen hakeminen laitteesta %s epäonnistui.\n"
+msgid "Forced iteration count is too low for %s (minimum is %u)."
+msgstr ""
 
 
-#: lib/utils_device.c:494
+#: lib/utils_pbkdf.c:148
 #, c-format
 #, c-format
-msgid "Requested offset is beyond real size of device %s.\n"
-msgstr "Pyydetty siirrososoite on laitteen %s todellisen koon ulkopuolella.\n"
+msgid "Forced memory cost is too low for %s (minimum is %u kilobytes)."
+msgstr ""
 
 
-#: lib/utils_device.c:502
+#: lib/utils_pbkdf.c:155
 #, c-format
 #, c-format
-msgid "Device %s has zero size.\n"
-msgstr "Laitteen %s koko on nolla.\n"
+msgid "Requested maximum PBKDF memory cost is too high (maximum is %d kilobytes)."
+msgstr ""
+
+#: lib/utils_pbkdf.c:160
+msgid "Requested maximum PBKDF memory cannot be zero."
+msgstr ""
+
+#: lib/utils_pbkdf.c:164
+msgid "Requested PBKDF parallel threads cannot be zero."
+msgstr ""
 
 
-#: lib/utils_device.c:513
+#: lib/utils_pbkdf.c:184
+msgid "Only PBKDF2 is supported in FIPS mode."
+msgstr ""
+
+#: lib/utils_benchmark.c:172
+msgid "PBKDF benchmark disabled but iterations not set."
+msgstr ""
+
+#: lib/utils_benchmark.c:191
+#, fuzzy, c-format
+msgid "Not compatible PBKDF2 options (using hash algorithm %s)."
+msgstr "Ei ole yhteensopiva PBKDF2-valitsimien kanssa (käytetään tiivitstealgoritmia %s).\n"
+
+#: lib/utils_benchmark.c:211
+#, fuzzy
+msgid "Not compatible PBKDF options."
+msgstr "Ei ole yhteensopiva PBKDF2-valitsimien kanssa (käytetään tiivitstealgoritmia %s).\n"
+
+#: lib/utils_device_locking.c:102
 #, c-format
 #, c-format
-msgid "Device %s is too small.\n"
-msgstr "Laite %s on liian pieni.\n"
+msgid "Locking aborted. The locking path %s/%s is unusable (not a directory or missing)."
+msgstr ""
+
+#: lib/utils_device_locking.c:109
+#, c-format
+msgid "WARNING: Locking directory %s/%s is missing!\n"
+msgstr ""
+
+#: lib/utils_device_locking.c:119
+#, c-format
+msgid "Locking aborted. The locking path %s/%s is unusable (%s is not a directory)."
+msgstr ""
+
+#: lib/utils_wipe.c:184 src/cryptsetup_reencrypt.c:941
+#: src/cryptsetup_reencrypt.c:1025
+#, fuzzy
+msgid "Cannot seek to device offset."
+msgstr "Laitteen siirrososoitteen etsintä epäonnistui.\n"
 
 
-#: lib/luks1/keyencryption.c:37
+#: lib/utils_wipe.c:208
 #, c-format
 #, c-format
+msgid "Device wipe error, offset %<PRIu64>."
+msgstr ""
+
+#: lib/luks1/keyencryption.c:39
+#, fuzzy, c-format
 msgid ""
 "Failed to setup dm-crypt key mapping for device %s.\n"
 msgid ""
 "Failed to setup dm-crypt key mapping for device %s.\n"
-"Check that kernel supports %s cipher (check syslog for more info).\n"
+"Check that kernel supports %s cipher (check syslog for more info)."
 msgstr ""
 "Dm-crypt -avainkuvausasetus laitteelle %s epäonnistui.\n"
 msgstr ""
 "Dm-crypt -avainkuvausasetus laitteelle %s epäonnistui.\n"
-"Tarkista, että käyttöjärjestelmäydin tukee %s-salakirjoitusmenetelmää "
-"(lisätietoja tarkistamalla syslog).\n"
+"Tarkista, että käyttöjärjestelmäydin tukee %s-salakirjoitusmenetelmää (lisätietoja tarkistamalla syslog).\n"
 
 
-#: lib/luks1/keyencryption.c:42
-msgid "Key size in XTS mode must be 256 or 512 bits.\n"
+#: lib/luks1/keyencryption.c:44
+#, fuzzy
+msgid "Key size in XTS mode must be 256 or 512 bits."
 msgstr "Avainkoon on oltava XTS-tilassa 256 tai 512 bittiä.\n"
 
 msgstr "Avainkoon on oltava XTS-tilassa 256 tai 512 bittiä.\n"
 
-#: lib/luks1/keyencryption.c:96 lib/luks1/keymanage.c:296
-#: lib/luks1/keymanage.c:572 lib/luks1/keymanage.c:1017
-#, c-format
-msgid "Cannot write to device %s, permission denied.\n"
+#: lib/luks1/keyencryption.c:46
+msgid "Cipher specification should be in [cipher]-[mode]-[iv] format."
+msgstr ""
+
+#: lib/luks1/keyencryption.c:97 lib/luks1/keymanage.c:344
+#: lib/luks1/keymanage.c:635 lib/luks1/keymanage.c:1080
+#: lib/luks2/luks2_json_metadata.c:1252 lib/luks2/luks2_keyslot.c:734
+#, fuzzy, c-format
+msgid "Cannot write to device %s, permission denied."
 msgstr "Laitteeseen %s kirjoittaminen epäonnistui, pääsy kielletty.\n"
 
 msgstr "Laitteeseen %s kirjoittaminen epäonnistui, pääsy kielletty.\n"
 
-#: lib/luks1/keyencryption.c:111
-msgid "Failed to open temporary keystore device.\n"
+#: lib/luks1/keyencryption.c:120
+#, fuzzy
+msgid "Failed to open temporary keystore device."
 msgstr "Tilapäisen avainsäiliön avaaminen epäonnistui.\n"
 
 msgstr "Tilapäisen avainsäiliön avaaminen epäonnistui.\n"
 
-#: lib/luks1/keyencryption.c:118
-msgid "Failed to access temporary keystore device.\n"
+#: lib/luks1/keyencryption.c:127
+#, fuzzy
+msgid "Failed to access temporary keystore device."
 msgstr "Pääsy tilapäiseen avainsäiliölaitteeseen epäonnistui.\n"
 
 msgstr "Pääsy tilapäiseen avainsäiliölaitteeseen epäonnistui.\n"
 
-#: lib/luks1/keyencryption.c:191
-msgid "IO error while encrypting keyslot.\n"
+#: lib/luks1/keyencryption.c:200 lib/luks2/luks2_keyslot_luks2.c:60
+#: lib/luks2/luks2_keyslot_luks2.c:78 lib/luks2/luks2_keyslot_reenc.c:134
+#, fuzzy
+msgid "IO error while encrypting keyslot."
 msgstr "Siirräntävirhe salattaessa avainväliä.\n"
 
 msgstr "Siirräntävirhe salattaessa avainväliä.\n"
 
-#: lib/luks1/keyencryption.c:256
-msgid "IO error while decrypting keyslot.\n"
+#: lib/luks1/keyencryption.c:246 lib/luks1/keymanage.c:347
+#: lib/luks1/keymanage.c:588 lib/luks1/keymanage.c:638 lib/tcrypt/tcrypt.c:670
+#: lib/verity/verity.c:80 lib/verity/verity.c:178 lib/verity/verity_hash.c:311
+#: lib/verity/verity_hash.c:322 lib/verity/verity_hash.c:342
+#: lib/verity/verity_fec.c:241 lib/verity/verity_fec.c:253
+#: lib/verity/verity_fec.c:258 lib/luks2/luks2_json_metadata.c:1255
+#: src/cryptsetup_reencrypt.c:200 src/cryptsetup_reencrypt.c:212
+#, fuzzy, c-format
+msgid "Cannot open device %s."
+msgstr "Laitteen %s avaus epäonnistui.\n"
+
+#: lib/luks1/keyencryption.c:257 lib/luks2/luks2_keyslot_luks2.c:137
+#, fuzzy
+msgid "IO error while decrypting keyslot."
 msgstr "Siirräntävirhe purettaessa avainvälin salausta.\n"
 
 msgstr "Siirräntävirhe purettaessa avainvälin salausta.\n"
 
-#: lib/luks1/keymanage.c:90
-#, c-format
-msgid "Device %s is too small. (LUKS requires at least %<PRIu64> bytes.)\n"
+#: lib/luks1/keymanage.c:110
+#, fuzzy, c-format
+msgid "Device %s is too small. (LUKS1 requires at least %<PRIu64> bytes.)"
 msgstr "Laite %s on liian pieni. (LUKS vaatii vähintään %<PRIu64> tavua.)\n"
 
 msgstr "Laite %s on liian pieni. (LUKS vaatii vähintään %<PRIu64> tavua.)\n"
 
-#: lib/luks1/keymanage.c:180 lib/luks1/keymanage.c:418
-#: src/cryptsetup_reencrypt.c:1110
-#, c-format
-msgid "Device %s is not a valid LUKS device.\n"
+#: lib/luks1/keymanage.c:131 lib/luks1/keymanage.c:139
+#: lib/luks1/keymanage.c:151 lib/luks1/keymanage.c:162
+#: lib/luks1/keymanage.c:174
+#, fuzzy, c-format
+msgid "LUKS keyslot %u is invalid."
+msgstr "LUKS-avainväli %u on virheellinen.\n"
+
+#: lib/luks1/keymanage.c:228 lib/luks1/keymanage.c:472
+#: lib/luks2/luks2_json_metadata.c:1083 src/cryptsetup.c:1433
+#: src/cryptsetup.c:1559 src/cryptsetup.c:1616 src/cryptsetup.c:1672
+#: src/cryptsetup.c:1739 src/cryptsetup.c:1842 src/cryptsetup.c:1906
+#: src/cryptsetup.c:2136 src/cryptsetup.c:2331 src/cryptsetup.c:2391
+#: src/cryptsetup.c:2457 src/cryptsetup.c:2621 src/cryptsetup.c:3271
+#: src/cryptsetup.c:3280 src/cryptsetup_reencrypt.c:1388
+#, fuzzy, c-format
+msgid "Device %s is not a valid LUKS device."
 msgstr "Laite %s ei ole kelvollinen LUKS-laite.\n"
 
 msgstr "Laite %s ei ole kelvollinen LUKS-laite.\n"
 
-#: lib/luks1/keymanage.c:198
-#, c-format
-msgid "Requested header backup file %s already exists.\n"
+#: lib/luks1/keymanage.c:246 lib/luks2/luks2_json_metadata.c:1100
+#, fuzzy, c-format
+msgid "Requested header backup file %s already exists."
 msgstr "Pyydetty otsakevarmuuskopiotiedosto %s on jo olemassa.\n"
 
 msgstr "Pyydetty otsakevarmuuskopiotiedosto %s on jo olemassa.\n"
 
-#: lib/luks1/keymanage.c:200
-#, c-format
-msgid "Cannot create header backup file %s.\n"
+#: lib/luks1/keymanage.c:248 lib/luks2/luks2_json_metadata.c:1102
+#, fuzzy, c-format
+msgid "Cannot create header backup file %s."
 msgstr "Otsakevarmuuskopiotiedoston %s luominen epäonnistui.\n"
 
 msgstr "Otsakevarmuuskopiotiedoston %s luominen epäonnistui.\n"
 
-#: lib/luks1/keymanage.c:205
-#, c-format
-msgid "Cannot write header backup file %s.\n"
+#: lib/luks1/keymanage.c:255 lib/luks2/luks2_json_metadata.c:1109
+#, fuzzy, c-format
+msgid "Cannot write header backup file %s."
 msgstr "Otsakevarmuuskopiotiedoston %s kirjoittaminen epäonnistui.\n"
 
 msgstr "Otsakevarmuuskopiotiedoston %s kirjoittaminen epäonnistui.\n"
 
-#: lib/luks1/keymanage.c:239
-msgid "Backup file doesn't contain valid LUKS header.\n"
+#: lib/luks1/keymanage.c:286 lib/luks2/luks2_json_metadata.c:1161
+#, fuzzy
+msgid "Backup file does not contain valid LUKS header."
 msgstr "Varmuuskopiotiedosto ei sisällä kelvollista LUKS-otsaketta.\n"
 
 msgstr "Varmuuskopiotiedosto ei sisällä kelvollista LUKS-otsaketta.\n"
 
-#: lib/luks1/keymanage.c:252 lib/luks1/keymanage.c:496
-#, c-format
-msgid "Cannot open header backup file %s.\n"
+#: lib/luks1/keymanage.c:299 lib/luks1/keymanage.c:549
+#: lib/luks2/luks2_json_metadata.c:1182
+#, fuzzy, c-format
+msgid "Cannot open header backup file %s."
 msgstr "Otsakevarmuuskopiotiedoston %s avaus epäonnistui.\n"
 
 msgstr "Otsakevarmuuskopiotiedoston %s avaus epäonnistui.\n"
 
-#: lib/luks1/keymanage.c:258
-#, c-format
-msgid "Cannot read header backup file %s.\n"
+#: lib/luks1/keymanage.c:307 lib/luks2/luks2_json_metadata.c:1190
+#, fuzzy, c-format
+msgid "Cannot read header backup file %s."
 msgstr "Otsakevarmuuskopiotiedoston %s lukeminen epäonnistui.\n"
 
 msgstr "Otsakevarmuuskopiotiedoston %s lukeminen epäonnistui.\n"
 
-#: lib/luks1/keymanage.c:269
-msgid "Data offset or key size differs on device and backup, restore failed.\n"
-msgstr ""
-"Tietosiirrososoite tai avainkoko eroaa laitteessa ja varmuuskopiossa, "
-"palautus epäonnistui.\n"
+#: lib/luks1/keymanage.c:317
+#, fuzzy
+msgid "Data offset or key size differs on device and backup, restore failed."
+msgstr "Tietosiirrososoite tai avainkoko eroaa laitteessa ja varmuuskopiossa, palautus epäonnistui.\n"
 
 
-#: lib/luks1/keymanage.c:277
+#: lib/luks1/keymanage.c:325
 #, c-format
 msgid "Device %s %s%s"
 msgstr "Laite %s %s%s"
 
 #, c-format
 msgid "Device %s %s%s"
 msgstr "Laite %s %s%s"
 
-#: lib/luks1/keymanage.c:278
-msgid ""
-"does not contain LUKS header. Replacing header can destroy data on that "
-"device."
-msgstr ""
-"ei sisällä LUKS-otsaketta. Otsakkeen korvaaminen voi tuhota tietoja tuossa "
-"laitteessa."
+#: lib/luks1/keymanage.c:326
+msgid "does not contain LUKS header. Replacing header can destroy data on that device."
+msgstr "ei sisällä LUKS-otsaketta. Otsakkeen korvaaminen voi tuhota tietoja tuossa laitteessa."
 
 
-#: lib/luks1/keymanage.c:279
-msgid ""
-"already contains LUKS header. Replacing header will destroy existing "
-"keyslots."
-msgstr ""
-"sisältää jo LUKS-otsakkeen. Otsakkeen korvaaminen tuhoaa olemassaolevat "
-"avainvälit."
+#: lib/luks1/keymanage.c:327
+msgid "already contains LUKS header. Replacing header will destroy existing keyslots."
+msgstr "sisältää jo LUKS-otsakkeen. Otsakkeen korvaaminen tuhoaa olemassaolevat avainvälit."
 
 
-#: lib/luks1/keymanage.c:280
+#: lib/luks1/keymanage.c:328 lib/luks2/luks2_json_metadata.c:1224
 msgid ""
 "\n"
 "WARNING: real device header has different UUID than backup!"
 msgstr ""
 "\n"
 msgid ""
 "\n"
 "WARNING: real device header has different UUID than backup!"
 msgstr ""
 "\n"
-"VAROITUS: oikealla laiteotsakkeella on eri UUID-tunniste kuin "
-"varmuuskopiolla!"
-
-#: lib/luks1/keymanage.c:299 lib/luks1/keymanage.c:535
-#: lib/luks1/keymanage.c:575 lib/tcrypt/tcrypt.c:624 lib/verity/verity.c:82
-#: lib/verity/verity.c:179 lib/verity/verity_hash.c:292
-#: lib/verity/verity_hash.c:303 lib/verity/verity_hash.c:323
-#, c-format
-msgid "Cannot open device %s.\n"
-msgstr "Laitteen %s avaus epäonnistui.\n"
+"VAROITUS: oikealla laiteotsakkeella on eri UUID-tunniste kuin varmuuskopiolla!"
 
 
-#: lib/luks1/keymanage.c:329
-msgid "Non standard key size, manual repair required.\n"
+#: lib/luks1/keymanage.c:375
+#, fuzzy
+msgid "Non standard key size, manual repair required."
 msgstr "Ei-vakio avainkoko, manuaalinen korjaus pyydetty.\n"
 
 msgstr "Ei-vakio avainkoko, manuaalinen korjaus pyydetty.\n"
 
-#: lib/luks1/keymanage.c:334
-msgid "Non standard keyslots alignment, manual repair required.\n"
+#: lib/luks1/keymanage.c:380
+#, fuzzy
+msgid "Non standard keyslots alignment, manual repair required."
 msgstr "Ei-vakiot avainvälitasaukset, manuaalinen korjaus pyydetty.\n"
 
 msgstr "Ei-vakiot avainvälitasaukset, manuaalinen korjaus pyydetty.\n"
 
-#: lib/luks1/keymanage.c:340
-msgid "Repairing keyslots.\n"
+#: lib/luks1/keymanage.c:390
+#, fuzzy
+msgid "Repairing keyslots."
 msgstr "Korjataan avainvälit.\n"
 
 msgstr "Korjataan avainvälit.\n"
 
-#: lib/luks1/keymanage.c:351
-msgid "Repair failed."
-msgstr "Korjaus epäonnistui."
-
-#: lib/luks1/keymanage.c:363
-#, c-format
-msgid "Keyslot %i: offset repaired (%u -> %u).\n"
+#: lib/luks1/keymanage.c:409
+#, fuzzy, c-format
+msgid "Keyslot %i: offset repaired (%u -> %u)."
 msgstr "Avainväli %i: siirrososoite korjattu (%u -> %u).\n"
 
 msgstr "Avainväli %i: siirrososoite korjattu (%u -> %u).\n"
 
-#: lib/luks1/keymanage.c:371
-#, c-format
-msgid "Keyslot %i: stripes repaired (%u -> %u).\n"
+#: lib/luks1/keymanage.c:417
+#, fuzzy, c-format
+msgid "Keyslot %i: stripes repaired (%u -> %u)."
 msgstr "Avainväli %i: raidat korjattu (%u -> %u).\n"
 
 msgstr "Avainväli %i: raidat korjattu (%u -> %u).\n"
 
-#: lib/luks1/keymanage.c:380
-#, c-format
-msgid "Keyslot %i: bogus partition signature.\n"
+#: lib/luks1/keymanage.c:426
+#, fuzzy, c-format
+msgid "Keyslot %i: bogus partition signature."
 msgstr "Avainväli %i: valeosiotunniste.\n"
 
 msgstr "Avainväli %i: valeosiotunniste.\n"
 
-#: lib/luks1/keymanage.c:385
-#, c-format
-msgid "Keyslot %i: salt wiped.\n"
+#: lib/luks1/keymanage.c:431
+#, fuzzy, c-format
+msgid "Keyslot %i: salt wiped."
 msgstr "Avainväli %i: satunnaisarvosiemen tuhottu.\n"
 
 msgstr "Avainväli %i: satunnaisarvosiemen tuhottu.\n"
 
-#: lib/luks1/keymanage.c:396
-msgid "Writing LUKS header to disk.\n"
+#: lib/luks1/keymanage.c:448
+#, fuzzy
+msgid "Writing LUKS header to disk."
 msgstr "Kirjoitetaan LUKS-otsake levylle.\n"
 
 msgstr "Kirjoitetaan LUKS-otsake levylle.\n"
 
-#: lib/luks1/keymanage.c:421
-#, c-format
-msgid "Unsupported LUKS version %d.\n"
-msgstr "Tukematon LUKS-versio %d.\n"
+#: lib/luks1/keymanage.c:453
+msgid "Repair failed."
+msgstr "Korjaus epäonnistui."
 
 
-#: lib/luks1/keymanage.c:427 lib/luks1/keymanage.c:661
-#, c-format
-msgid "Requested LUKS hash %s is not supported.\n"
+#: lib/luks1/keymanage.c:481 lib/luks1/keymanage.c:750
+#, fuzzy, c-format
+msgid "Requested LUKS hash %s is not supported."
 msgstr "Pyydetty LUKS-tiiviste %s ei ole tuettu.\n"
 
 msgstr "Pyydetty LUKS-tiiviste %s ei ole tuettu.\n"
 
-#: lib/luks1/keymanage.c:442
-#, c-format
-msgid "LUKS keyslot %u is invalid.\n"
-msgstr "LUKS-avainväli %u on virheellinen.\n"
-
-#: lib/luks1/keymanage.c:456 src/cryptsetup.c:668
-msgid "No known problems detected for LUKS header.\n"
+#: lib/luks1/keymanage.c:509 src/cryptsetup.c:1133
+#, fuzzy
+msgid "No known problems detected for LUKS header."
 msgstr "Tuntemattomat pulmat havaittu LUKS-otsakkeelle.\n"
 
 msgstr "Tuntemattomat pulmat havaittu LUKS-otsakkeelle.\n"
 
-#: lib/luks1/keymanage.c:596
-#, c-format
-msgid "Error during update of LUKS header on device %s.\n"
+#: lib/luks1/keymanage.c:660
+#, fuzzy, c-format
+msgid "Error during update of LUKS header on device %s."
 msgstr "Virhe LUKS-otsakkeen päivityksen aikana laitteessa %s.\n"
 
 msgstr "Virhe LUKS-otsakkeen päivityksen aikana laitteessa %s.\n"
 
-#: lib/luks1/keymanage.c:603
-#, c-format
-msgid "Error re-reading LUKS header after update on device %s.\n"
-msgstr ""
-"Virhe luettaessa uudelleen LUKS-otsaketta päivityksen jälkeen laitteessa "
-"%s.\n"
-
-#: lib/luks1/keymanage.c:654
-#, c-format
-msgid ""
-"Data offset for detached LUKS header must be either 0 or higher than header "
-"size (%d sectors).\n"
-msgstr ""
-"Tietosiirrososoitteen irrotetulle LUKS-otsakkeelle on oltava joko 0 tai "
-"suurempi kuin otsakekoko (%d sektoria).\n"
-
-#: lib/luks1/keymanage.c:666 lib/luks1/keymanage.c:757
-msgid "Wrong LUKS UUID format provided.\n"
+#: lib/luks1/keymanage.c:668
+#, fuzzy, c-format
+msgid "Error re-reading LUKS header after update on device %s."
+msgstr "Virhe luettaessa uudelleen LUKS-otsaketta päivityksen jälkeen laitteessa %s.\n"
+
+#: lib/luks1/keymanage.c:744
+#, fuzzy
+msgid "Data offset for LUKS header must be either 0 or higher than header size."
+msgstr "Tietosiirrososoitteen irrotetulle LUKS-otsakkeelle on oltava joko 0 tai suurempi kuin otsakekoko (%d sektoria).\n"
+
+#: lib/luks1/keymanage.c:755 lib/luks1/keymanage.c:825
+#: lib/luks2/luks2_json_format.c:283 lib/luks2/luks2_json_metadata.c:1001
+#: src/cryptsetup.c:2784
+#, fuzzy
+msgid "Wrong LUKS UUID format provided."
 msgstr "Väärä LUKS UUID-muoto tarjottu.\n"
 
 msgstr "Väärä LUKS UUID-muoto tarjottu.\n"
 
-#: lib/luks1/keymanage.c:695
-msgid "Cannot create LUKS header: reading random salt failed.\n"
-msgstr ""
-"LUKS-otsakkeen luominen epäonnistui: satunnaisarvosiemenen lukeminen "
-"epäonnistui.\n"
-
-#: lib/luks1/keymanage.c:702 lib/luks1/keymanage.c:798
-#, c-format
-msgid "Not compatible PBKDF2 options (using hash algorithm %s).\n"
-msgstr ""
-"Ei ole yhteensopiva PBKDF2-valitsimien kanssa (käytetään tiivitstealgoritmia "
-"%s).\n"
+#: lib/luks1/keymanage.c:778
+#, fuzzy
+msgid "Cannot create LUKS header: reading random salt failed."
+msgstr "LUKS-otsakkeen luominen epäonnistui: satunnaisarvosiemenen lukeminen epäonnistui.\n"
 
 
-#: lib/luks1/keymanage.c:717
-#, c-format
-msgid "Cannot create LUKS header: header digest failed (using hash %s).\n"
-msgstr ""
-"LUKS-otsakkeen luominen epäonnistui: otsaketiiviste epäonnistui (käytettäen "
-"tiivistettä %s).\n"
+#: lib/luks1/keymanage.c:804
+#, fuzzy, c-format
+msgid "Cannot create LUKS header: header digest failed (using hash %s)."
+msgstr "LUKS-otsakkeen luominen epäonnistui: otsaketiiviste epäonnistui (käytettäen tiivistettä %s).\n"
 
 
-#: lib/luks1/keymanage.c:782
-#, c-format
-msgid "Key slot %d active, purge first.\n"
+#: lib/luks1/keymanage.c:848
+#, fuzzy, c-format
+msgid "Key slot %d active, purge first."
 msgstr "Avainväli %d aktiivinen, puhdista ensimmäinen.\n"
 
 msgstr "Avainväli %d aktiivinen, puhdista ensimmäinen.\n"
 
-#: lib/luks1/keymanage.c:788
-#, c-format
-msgid "Key slot %d material includes too few stripes. Header manipulation?\n"
-msgstr ""
-"Avainvälin %d materiaali sisältää liian vähän raitoja. Otsaketta on "
-"käsitelty?\n"
-
-#: lib/luks1/keymanage.c:950
-#, c-format
-msgid "Key slot %d unlocked.\n"
-msgstr "Avaivälin %d lukitus avattu.\n"
+#: lib/luks1/keymanage.c:854
+#, fuzzy, c-format
+msgid "Key slot %d material includes too few stripes. Header manipulation?"
+msgstr "Avainvälin %d materiaali sisältää liian vähän raitoja. Otsaketta on käsitelty?\n"
 
 
-#: lib/luks1/keymanage.c:985 src/cryptsetup.c:858
-#: src/cryptsetup_reencrypt.c:999 src/cryptsetup_reencrypt.c:1036
-msgid "No key available with this passphrase.\n"
-msgstr "Tälle salasanalauseelle ei ole saatavissa avainta.\n"
+#: lib/luks1/keymanage.c:990
+#, fuzzy, c-format
+msgid "Cannot open keyslot (using hash %s)."
+msgstr "Avainkäsittelyvirhe (käytetään tiivistealgoritmia %s).\n"
 
 
-#: lib/luks1/keymanage.c:1003
-#, c-format
-msgid "Key slot %d is invalid, please select keyslot between 0 and %d.\n"
+#: lib/luks1/keymanage.c:1066
+#, fuzzy, c-format
+msgid "Key slot %d is invalid, please select keyslot between 0 and %d."
 msgstr "Avainväli %d on virheellinen, valitse avainväli välillä 0 ... %d.\n"
 
 msgstr "Avainväli %d on virheellinen, valitse avainväli välillä 0 ... %d.\n"
 
-#: lib/luks1/keymanage.c:1021
-#, c-format
-msgid "Cannot wipe device %s.\n"
+#: lib/luks1/keymanage.c:1084 lib/luks2/luks2_keyslot.c:738
+#, fuzzy, c-format
+msgid "Cannot wipe device %s."
 msgstr "Laitteen %s pyyhkiminen tyhjäksi epäonnistui.\n"
 
 #: lib/loopaes/loopaes.c:146
 msgstr "Laitteen %s pyyhkiminen tyhjäksi epäonnistui.\n"
 
 #: lib/loopaes/loopaes.c:146
-msgid "Detected not yet supported GPG encrypted keyfile.\n"
+#, fuzzy
+msgid "Detected not yet supported GPG encrypted keyfile."
 msgstr "Havaittu vielä tukematon GPG-salausavaintiedosto.\n"
 
 #: lib/loopaes/loopaes.c:147
 msgstr "Havaittu vielä tukematon GPG-salausavaintiedosto.\n"
 
 #: lib/loopaes/loopaes.c:147
@@ -692,417 +1062,1408 @@ msgid "Please use gpg --decrypt <KEYFILE> | cryptsetup --keyfile=- ...\n"
 msgstr "Käytä gpg --decrypt <AVAINTIEDOSTO> | cryptsetup --keyfile=- ...\n"
 
 #: lib/loopaes/loopaes.c:168 lib/loopaes/loopaes.c:188
 msgstr "Käytä gpg --decrypt <AVAINTIEDOSTO> | cryptsetup --keyfile=- ...\n"
 
 #: lib/loopaes/loopaes.c:168 lib/loopaes/loopaes.c:188
-msgid "Incompatible loop-AES keyfile detected.\n"
+#, fuzzy
+msgid "Incompatible loop-AES keyfile detected."
 msgstr "Yhteensopimaton loop-AES -avaintiedosto havaittu.\n"
 
 msgstr "Yhteensopimaton loop-AES -avaintiedosto havaittu.\n"
 
-#: lib/loopaes/loopaes.c:244
-msgid "Kernel doesn't support loop-AES compatible mapping.\n"
+#: lib/loopaes/loopaes.c:245
+#, fuzzy
+msgid "Kernel does not support loop-AES compatible mapping."
 msgstr "Käyttöjärjestelmäydin ei tule loop-AES -yhteensopivaa kuvausta.\n"
 
 msgstr "Käyttöjärjestelmäydin ei tule loop-AES -yhteensopivaa kuvausta.\n"
 
-#: lib/tcrypt/tcrypt.c:475
-#, c-format
-msgid "Error reading keyfile %s.\n"
+#: lib/tcrypt/tcrypt.c:504
+#, fuzzy, c-format
+msgid "Error reading keyfile %s."
 msgstr "Virhe luettaessa avaintiedostoa %s.\n"
 
 msgstr "Virhe luettaessa avaintiedostoa %s.\n"
 
-#: lib/tcrypt/tcrypt.c:513
-#, c-format
-msgid "Maximum TCRYPT passphrase length (%d) exceeded.\n"
+#: lib/tcrypt/tcrypt.c:554
+#, fuzzy, c-format
+msgid "Maximum TCRYPT passphrase length (%zu) exceeded."
 msgstr "TCRYPT-salasanalauseen enimmäispituus (%d) ylitettiin.\n"
 
 msgstr "TCRYPT-salasanalauseen enimmäispituus (%d) ylitettiin.\n"
 
-#: lib/tcrypt/tcrypt.c:543
-#, c-format
-msgid "PBKDF2 hash algorithm %s not available, skipping.\n"
+#: lib/tcrypt/tcrypt.c:595
+#, fuzzy, c-format
+msgid "PBKDF2 hash algorithm %s not available, skipping."
 msgstr "PBKDF2-tiivistealgoritmi %s ei ole käytettävissä, ohitetaan.\n"
 
 msgstr "PBKDF2-tiivistealgoritmi %s ei ole käytettävissä, ohitetaan.\n"
 
-#: lib/tcrypt/tcrypt.c:561 src/cryptsetup.c:621
-msgid "Required kernel crypto interface not available.\n"
+#: lib/tcrypt/tcrypt.c:611 src/cryptsetup.c:1010
+#, fuzzy
+msgid "Required kernel crypto interface not available."
 msgstr "Pyydetty ydinsalauskäyttöliittymä ei ole käytettävissä.\n"
 
 msgstr "Pyydetty ydinsalauskäyttöliittymä ei ole käytettävissä.\n"
 
-#: lib/tcrypt/tcrypt.c:563 src/cryptsetup.c:623
-msgid "Ensure you have algif_skcipher kernel module loaded.\n"
-msgstr ""
-"Varmista, että algif_skcipher-käyttöjärjestelmäydinmoduuli on ladattu.\n"
+#: lib/tcrypt/tcrypt.c:613 src/cryptsetup.c:1012
+#, fuzzy
+msgid "Ensure you have algif_skcipher kernel module loaded."
+msgstr "Varmista, että algif_skcipher-käyttöjärjestelmäydinmoduuli on ladattu.\n"
 
 
-#: lib/tcrypt/tcrypt.c:707
-#, c-format
-msgid "Activation is not supported for %d sector size.\n"
+#: lib/tcrypt/tcrypt.c:753
+#, fuzzy, c-format
+msgid "Activation is not supported for %d sector size."
 msgstr "Aktivointia ei tueta sektorikoolle %d.\n"
 
 msgstr "Aktivointia ei tueta sektorikoolle %d.\n"
 
-#: lib/tcrypt/tcrypt.c:713
-msgid "Kernel doesn't support activation for this TCRYPT legacy mode.\n"
-msgstr ""
-"Käyttöjärjestelmäydin ei tue aktivointia tälle TCRYPT-perinnetilassa.\n"
+#: lib/tcrypt/tcrypt.c:759
+#, fuzzy
+msgid "Kernel does not support activation for this TCRYPT legacy mode."
+msgstr "Käyttöjärjestelmäydin ei tue aktivointia tälle TCRYPT-perinnetilassa.\n"
 
 
-#: lib/tcrypt/tcrypt.c:744
-#, c-format
-msgid "Activating TCRYPT system encryption for partition %s.\n"
+#: lib/tcrypt/tcrypt.c:793
+#, fuzzy, c-format
+msgid "Activating TCRYPT system encryption for partition %s."
 msgstr "Aktivoidaan TCRYPT-järjestelmäsalaus osiolle %s.\n"
 
 msgstr "Aktivoidaan TCRYPT-järjestelmäsalaus osiolle %s.\n"
 
-#: lib/tcrypt/tcrypt.c:806
-msgid "Kernel doesn't support TCRYPT compatible mapping.\n"
+#: lib/tcrypt/tcrypt.c:871
+#, fuzzy
+msgid "Kernel does not support TCRYPT compatible mapping."
 msgstr "Käyttöjärjestelmäydin ei tue TCRYPT -yhteensopivaa kuvausta.\n"
 
 msgstr "Käyttöjärjestelmäydin ei tue TCRYPT -yhteensopivaa kuvausta.\n"
 
-#: lib/tcrypt/tcrypt.c:1020
+#: lib/tcrypt/tcrypt.c:1093
 msgid "This function is not supported without TCRYPT header load."
 msgstr "Tätä toimintoa ei tueta ilman TCRYPT-otsakelatausta."
 
 msgid "This function is not supported without TCRYPT header load."
 msgstr "Tätä toimintoa ei tueta ilman TCRYPT-otsakelatausta."
 
-#: lib/verity/verity.c:70 lib/verity/verity.c:172
+#: lib/bitlk/bitlk.c:333
 #, c-format
 #, c-format
-msgid "Verity device %s doesn't use on-disk header.\n"
-msgstr "Verity-laite %s ei käytä paikallista levyotsaketta.\n"
+msgid "Unexpected metadata entry type '%u' found when parsing supported Volume Master Key."
+msgstr ""
+
+#: lib/bitlk/bitlk.c:380
+msgid "Invalid string found when parsing Volume Master Key."
+msgstr ""
 
 
-#: lib/verity/verity.c:94
+#: lib/bitlk/bitlk.c:385
 #, c-format
 #, c-format
-msgid "Device %s is not a valid VERITY device.\n"
-msgstr "Laite %s ei ole kelvollinen VERITY-laite.\n"
+msgid "Unexpected string ('%s') found when parsing supported Volume Master Key."
+msgstr ""
+
+#: lib/bitlk/bitlk.c:399
+#, c-format
+msgid "Unexpected metadata entry value '%u' found when parsing supported Volume Master Key."
+msgstr ""
+
+#: lib/bitlk/bitlk.c:479
+#, fuzzy, c-format
+msgid "Failed to read BITLK signature from %s."
+msgstr "Avainsäiliöstä lukeminen epäonnistui.\n"
+
+#: lib/bitlk/bitlk.c:485
+msgid "BITLK version 1 is currently not supported."
+msgstr ""
+
+#: lib/bitlk/bitlk.c:491
+msgid "Invalid or unknown boot signature for BITLK device."
+msgstr ""
+
+#: lib/bitlk/bitlk.c:503
+msgid "Invalid or unknown signature for BITLK device."
+msgstr ""
+
+#: lib/bitlk/bitlk.c:510
+#, fuzzy, c-format
+msgid "Unsupported sector size %<PRIu16>."
+msgstr "Tukematon LUKS-versio %d.\n"
+
+#: lib/bitlk/bitlk.c:518
+#, fuzzy, c-format
+msgid "Failed to read BITLK header from %s."
+msgstr "Avainsäiliöstä lukeminen epäonnistui.\n"
+
+#: lib/bitlk/bitlk.c:543
+#, c-format
+msgid "Failed to read BITLK FVE metadata from %s."
+msgstr ""
+
+#: lib/bitlk/bitlk.c:594
+#, fuzzy
+msgid "Unknown or unsupported encryption type."
+msgstr "UUID ei ole tuettu tälle laitetyypille.\n"
 
 
-#: lib/verity/verity.c:101
+#: lib/bitlk/bitlk.c:627
 #, c-format
 #, c-format
-msgid "Unsupported VERITY version %d.\n"
+msgid "Failed to read BITLK metadata entries from %s."
+msgstr ""
+
+#: lib/bitlk/bitlk.c:921
+#, fuzzy
+msgid "This operation is not supported."
+msgstr "Tätä toimintoa ei tueta %s-salauslaitteelle.\n"
+
+#: lib/bitlk/bitlk.c:929
+#, fuzzy
+msgid "Wrong key size."
+msgstr "Virheellinen avainkoko.\n"
+
+#: lib/bitlk/bitlk.c:981
+msgid "This BITLK device is in an unsupported state and cannot be activated."
+msgstr ""
+
+#: lib/bitlk/bitlk.c:987
+#, c-format
+msgid "BITLK devices with type '%s' cannot be activated."
+msgstr ""
+
+#: lib/bitlk/bitlk.c:1069
+msgid "Activation of partially decrypted BITLK device is not supported."
+msgstr ""
+
+#: lib/bitlk/bitlk.c:1205
+msgid "Cannot activate device, kernel dm-crypt is missing support for BITLK IV."
+msgstr ""
+
+#: lib/bitlk/bitlk.c:1209
+msgid "Cannot activate device, kernel dm-crypt is missing support for BITLK Elephant diffuser."
+msgstr ""
+
+#: lib/verity/verity.c:68 lib/verity/verity.c:171
+#, fuzzy, c-format
+msgid "Verity device %s does not use on-disk header."
+msgstr "Verity-laite %s ei käytä paikallista levyotsaketta.\n"
+
+#: lib/verity/verity.c:90
+#, fuzzy, c-format
+msgid "Device %s is not a valid VERITY device."
+msgstr "Laite %s ei ole kelvollinen VERITY-laite.\n"
+
+#: lib/verity/verity.c:97
+#, fuzzy, c-format
+msgid "Unsupported VERITY version %d."
 msgstr "Tukematon VERITY-versio %d.\n"
 
 msgstr "Tukematon VERITY-versio %d.\n"
 
-#: lib/verity/verity.c:131
-msgid "VERITY header corrupted.\n"
+#: lib/verity/verity.c:128
+#, fuzzy
+msgid "VERITY header corrupted."
 msgstr "VERITY-otsake rikkinäinen.\n"
 
 msgstr "VERITY-otsake rikkinäinen.\n"
 
-#: lib/verity/verity.c:166
-#, c-format
-msgid "Wrong VERITY UUID format provided on device %s.\n"
+#: lib/verity/verity.c:165
+#, fuzzy, c-format
+msgid "Wrong VERITY UUID format provided on device %s."
 msgstr "Väärä VERITY UUID-muoto tarjottu laitteessa %s.\n"
 
 msgstr "Väärä VERITY UUID-muoto tarjottu laitteessa %s.\n"
 
-#: lib/verity/verity.c:196
-#, c-format
-msgid "Error during update of verity header on device %s.\n"
+#: lib/verity/verity.c:198
+#, fuzzy, c-format
+msgid "Error during update of verity header on device %s."
 msgstr "Virhe verity-otsakkeen päivityksen aikana laitteessa %s.\n"
 
 msgstr "Virhe verity-otsakkeen päivityksen aikana laitteessa %s.\n"
 
-#: lib/verity/verity.c:276
-msgid "Kernel doesn't support dm-verity mapping.\n"
+#: lib/verity/verity.c:256
+#, fuzzy
+msgid "Root hash signature verification is not supported."
+msgstr "Tiivistealgoritmia %s ei tueta.\n"
+
+#: lib/verity/verity.c:267
+msgid "Errors cannot be repaired with FEC device."
+msgstr ""
+
+#: lib/verity/verity.c:269
+#, c-format
+msgid "Found %u repairable errors with FEC device."
+msgstr ""
+
+#: lib/verity/verity.c:308
+#, fuzzy
+msgid "Kernel does not support dm-verity mapping."
+msgstr "Käyttöjärjestelmäydin ei tule dm-verity -yhteensopivaa kuvausta.\n"
+
+#: lib/verity/verity.c:312
+#, fuzzy
+msgid "Kernel does not support dm-verity signature option."
 msgstr "Käyttöjärjestelmäydin ei tule dm-verity -yhteensopivaa kuvausta.\n"
 
 msgstr "Käyttöjärjestelmäydin ei tule dm-verity -yhteensopivaa kuvausta.\n"
 
-#: lib/verity/verity.c:287
-msgid "Verity device detected corruption after activation.\n"
+#: lib/verity/verity.c:323
+#, fuzzy
+msgid "Verity device detected corruption after activation."
 msgstr "Verity-laite havaitsi rikkoutumisen aktivoinnin jälkeen.\n"
 
 #: lib/verity/verity_hash.c:59
 msgstr "Verity-laite havaitsi rikkoutumisen aktivoinnin jälkeen.\n"
 
 #: lib/verity/verity_hash.c:59
-#, c-format
-msgid "Spare area is not zeroed at position %<PRIu64>.\n"
+#, fuzzy, c-format
+msgid "Spare area is not zeroed at position %<PRIu64>."
 msgstr "Vapaa-aluetta ei ole nollattu sijainnissa %<PRIu64>.\n"
 
 msgstr "Vapaa-aluetta ei ole nollattu sijainnissa %<PRIu64>.\n"
 
-#: lib/verity/verity_hash.c:121 lib/verity/verity_hash.c:249
-#: lib/verity/verity_hash.c:277 lib/verity/verity_hash.c:284
-msgid "Device offset overflow.\n"
+#: lib/verity/verity_hash.c:163 lib/verity/verity_hash.c:290
+#: lib/verity/verity_hash.c:303
+#, fuzzy
+msgid "Device offset overflow."
 msgstr "Laitesiirrososoitteen ylivuoto.\n"
 
 msgstr "Laitesiirrososoitteen ylivuoto.\n"
 
-#: lib/verity/verity_hash.c:161
-#, c-format
-msgid "Verification failed at position %<PRIu64>.\n"
+#: lib/verity/verity_hash.c:203
+#, fuzzy, c-format
+msgid "Verification failed at position %<PRIu64>."
 msgstr "Todennus epäonnistui sijainnissa %<PRIu64>.\n"
 
 msgstr "Todennus epäonnistui sijainnissa %<PRIu64>.\n"
 
-#: lib/verity/verity_hash.c:235
-msgid "Invalid size parameters for verity device.\n"
+#: lib/verity/verity_hash.c:276
+#, fuzzy
+msgid "Invalid size parameters for verity device."
 msgstr "Virheelliset kokoparametrit verity-laitteelle.\n"
 
 msgstr "Virheelliset kokoparametrit verity-laitteelle.\n"
 
-#: lib/verity/verity_hash.c:266
-msgid "Too many tree levels for verity volume.\n"
-msgstr "Verity-taltiolla liian monta puutasoa.\n"
+#: lib/verity/verity_hash.c:296
+msgid "Hash area overflow."
+msgstr ""
 
 
-#: lib/verity/verity_hash.c:354
-msgid "Verification of data area failed.\n"
+#: lib/verity/verity_hash.c:373
+#, fuzzy
+msgid "Verification of data area failed."
 msgstr "Data-alueen todentaminen epäonnistui.\n"
 
 msgstr "Data-alueen todentaminen epäonnistui.\n"
 
-#: lib/verity/verity_hash.c:359
-msgid "Verification of root hash failed.\n"
+#: lib/verity/verity_hash.c:378
+#, fuzzy
+msgid "Verification of root hash failed."
 msgstr "Root-tiivisteen todentaminen epäonnistui.\n"
 
 msgstr "Root-tiivisteen todentaminen epäonnistui.\n"
 
-#: lib/verity/verity_hash.c:365
-msgid "Input/output error while creating hash area.\n"
+#: lib/verity/verity_hash.c:384
+#, fuzzy
+msgid "Input/output error while creating hash area."
 msgstr "Syöte/tulostevirhe luotaessa tiivistealuetta.\n"
 
 msgstr "Syöte/tulostevirhe luotaessa tiivistealuetta.\n"
 
-#: lib/verity/verity_hash.c:367
-msgid "Creation of hash area failed.\n"
+#: lib/verity/verity_hash.c:386
+#, fuzzy
+msgid "Creation of hash area failed."
 msgstr "Tiivistealueen luominen epäonnistui.\n"
 
 msgstr "Tiivistealueen luominen epäonnistui.\n"
 
-#: lib/verity/verity_hash.c:414
-#, c-format
-msgid ""
-"WARNING: Kernel cannot activate device if data block size exceeds page size "
-"(%u).\n"
+#: lib/verity/verity_hash.c:433
+#, fuzzy, c-format
+msgid "WARNING: Kernel cannot activate device if data block size exceeds page size (%u)."
+msgstr "VAROITUS: Käyttöjärjestelmäydin ei voi aktivoida laitetta, jos lohkokoko ylittää sivukoon (%u).\n"
+
+#: lib/verity/verity_fec.c:131
+msgid "Failed to allocate RS context."
 msgstr ""
 msgstr ""
-"VAROITUS: Käyttöjärjestelmäydin ei voi aktivoida laitetta, jos lohkokoko "
-"ylittää sivukoon (%u).\n"
 
 
-#: src/cryptsetup.c:91
-msgid "Can't do passphrase verification on non-tty inputs.\n"
-msgstr "Salasanalauseiden todennus epäonnistui ei-tty-syötteissä.\n"
+#: lib/verity/verity_fec.c:146
+#, fuzzy
+msgid "Failed to allocate buffer."
+msgstr "Avaintiedoston kutsuminen stat-funktiolla epäonnistui.\n"
 
 
-#: src/cryptsetup.c:133 src/cryptsetup.c:564 src/cryptsetup.c:711
-#: src/cryptsetup_reencrypt.c:502 src/cryptsetup_reencrypt.c:556
-msgid "No known cipher specification pattern detected.\n"
-msgstr "Havaittu tuntematon salakirjoitusmenetelmämäärittelymalli.\n"
+#: lib/verity/verity_fec.c:156
+#, c-format
+msgid "Failed to read RS block %<PRIu64> byte %d."
+msgstr ""
 
 
-#: src/cryptsetup.c:144
-msgid ""
-"WARNING: The --hash parameter is being ignored in plain mode with keyfile "
-"specified.\n"
+#: lib/verity/verity_fec.c:169
+#, c-format
+msgid "Failed to read parity for RS block %<PRIu64>."
 msgstr ""
 msgstr ""
-"VAROITUS: Parametri --hash ohitetaan tavallisessa tilassa kun avaintiedosto "
-"on määritelty.\n"
 
 
-#: src/cryptsetup.c:152
-msgid ""
-"WARNING: The --keyfile-size option is being ignored, the read size is the "
-"same as the encryption key size.\n"
+#: lib/verity/verity_fec.c:177
+#, c-format
+msgid "Failed to repair parity for block %<PRIu64>."
 msgstr ""
 msgstr ""
-"VAROITUS: Valitsin --keyfile-size ohitetaan , lukukoko on sama kuin "
-"salausavaimen koko.\n"
 
 
-#: src/cryptsetup.c:218
-msgid "Option --key-file is required.\n"
-msgstr "Vaaditaan valitsin --key-file.\n"
+#: lib/verity/verity_fec.c:188
+#, c-format
+msgid "Failed to write parity for RS block %<PRIu64>."
+msgstr ""
 
 
-#: src/cryptsetup.c:267
-msgid "No device header detected with this passphrase.\n"
-msgstr "Tälle salasanalauseelle ei ole saatavissa laiteotsaketta.\n"
+#: lib/verity/verity_fec.c:223
+msgid "Block sizes must match for FEC."
+msgstr ""
 
 
-#: src/cryptsetup.c:327 src/cryptsetup.c:1140
-msgid ""
-"Header dump with volume key is sensitive information\n"
-"which allows access to encrypted partition without passphrase.\n"
-"This dump should be always stored encrypted on safe place."
+#: lib/verity/verity_fec.c:229
+msgid "Invalid number of parity bytes."
 msgstr ""
 msgstr ""
-"Otsakevedos taltioavaimella on arkaluonteista tietoa,\n"
-"joka sallii pääsyn salatulle osiolle ilman salasanaa.\n"
-"Tämä vedos pitäisi aina tallentaa salattuna turvallisessa paikasssa."
 
 
-#: src/cryptsetup.c:517
-msgid "Result of benchmark is not reliable.\n"
-msgstr "Suorituskykytestin tulos ei ole luotettava.\n"
+#: lib/verity/verity_fec.c:265
+#, fuzzy, c-format
+msgid "Failed to determine size for device %s."
+msgstr "Tilapäisen avainsäiliön avaaminen epäonnistui.\n"
 
 
-#: src/cryptsetup.c:558
-msgid "# Tests are approximate using memory only (no storage IO).\n"
-msgstr "# Testit käyttävät vain muistia ylimalkaan (ei tallennussiirtos).\n"
+#: lib/integrity/integrity.c:271 lib/integrity/integrity.c:343
+#, fuzzy
+msgid "Kernel does not support dm-integrity mapping."
+msgstr "Käyttöjärjestelmäydin ei tule dm-verity -yhteensopivaa kuvausta.\n"
 
 
-#: src/cryptsetup.c:583 src/cryptsetup.c:605
-msgid "#  Algorithm | Key |  Encryption |  Decryption\n"
-msgstr "#  Algoritmi | Avain |  Salaus |  Salauksen purku\n"
+#: lib/integrity/integrity.c:277
+#, fuzzy
+msgid "Kernel does not support dm-integrity fixed metadata alignment."
+msgstr "Käyttöjärjestelmäydin ei tule dm-verity -yhteensopivaa kuvausta.\n"
 
 
-#: src/cryptsetup.c:587
-#, c-format
-msgid "Cipher %s is not available.\n"
-msgstr "Salaus %s ei ole käytettävissä.\n"
+#: lib/luks2/luks2_disk_metadata.c:383 lib/luks2/luks2_json_metadata.c:959
+#: lib/luks2/luks2_json_metadata.c:1244
+#, fuzzy, c-format
+msgid "Failed to acquire write lock on device %s."
+msgstr "Pääsy tilapäiseen avainsäiliölaitteeseen epäonnistui.\n"
 
 
-#: src/cryptsetup.c:614
-msgid "N/A"
-msgstr "Ei käytössä"
+#: lib/luks2/luks2_disk_metadata.c:392
+msgid "Detected attempt for concurrent LUKS2 metadata update. Aborting operation."
+msgstr ""
 
 
-#: src/cryptsetup.c:639
-#, c-format
-msgid "Cannot read keyfile %s.\n"
-msgstr "Avaintiedoston %s lukeminen epäonnistui.\n"
+#: lib/luks2/luks2_disk_metadata.c:691 lib/luks2/luks2_disk_metadata.c:712
+msgid ""
+"Device contains ambiguous signatures, cannot auto-recover LUKS2.\n"
+"Please run \"cryptsetup repair\" for recovery."
+msgstr ""
+
+#: lib/luks2/luks2_json_format.c:227
+#, fuzzy
+msgid "Requested data offset is too small."
+msgstr "Laite %s on liian pieni.\n"
 
 
-#: src/cryptsetup.c:643
+#: lib/luks2/luks2_json_format.c:271
 #, c-format
 #, c-format
-msgid "Cannot read %d bytes from keyfile %s.\n"
-msgstr "Ei voida lukea %d tavua avaintiedostosta %s.\n"
+msgid "WARNING: keyslots area (%<PRIu64> bytes) is very small, available LUKS2 keyslot count is very limited.\n"
+msgstr ""
 
 
-#: src/cryptsetup.c:672
-msgid "Really try to repair LUKS device header?"
-msgstr "Yritetäänkö todella korjata LUKS-laiteotsake?"
+#: lib/luks2/luks2_json_metadata.c:946 lib/luks2/luks2_json_metadata.c:1074
+#: lib/luks2/luks2_json_metadata.c:1150 lib/luks2/luks2_keyslot_luks2.c:92
+#: lib/luks2/luks2_keyslot_luks2.c:114
+#, fuzzy, c-format
+msgid "Failed to acquire read lock on device %s."
+msgstr "Pääsy tilapäiseen avainsäiliölaitteeseen epäonnistui.\n"
 
 
-#: src/cryptsetup.c:697
+#: lib/luks2/luks2_json_metadata.c:1167
 #, c-format
 #, c-format
-msgid "This will overwrite data on %s irrevocably."
-msgstr "Tämä korvaa tiedot kohteella %s peruuttamattomasti."
+msgid "Forbidden LUKS2 requirements detected in backup %s."
+msgstr ""
 
 
-#: src/cryptsetup.c:699
-msgid "memory allocation error in action_luksFormat"
-msgstr "muistivarausvirhe kohteessa action_luksFormat"
+#: lib/luks2/luks2_json_metadata.c:1208
+#, fuzzy
+msgid "Data offset differ on device and backup, restore failed."
+msgstr "Tietosiirrososoite tai avainkoko eroaa laitteessa ja varmuuskopiossa, palautus epäonnistui.\n"
 
 
-#: src/cryptsetup.c:717
-#, c-format
-msgid "Cannot use %s as on-disk header.\n"
-msgstr "Kohteen %s käyttö paikallisena levyotsakkeena epäonnistui.\n"
+#: lib/luks2/luks2_json_metadata.c:1214
+#, fuzzy
+msgid "Binary header with keyslot areas size differ on device and backup, restore failed."
+msgstr "Tietosiirrososoite tai avainkoko eroaa laitteessa ja varmuuskopiossa, palautus epäonnistui.\n"
 
 
-#: src/cryptsetup.c:784
-msgid "Reduced data offset is allowed only for detached LUKS header.\n"
-msgstr ""
-"Pienennetty tietosiirrososoite sallitaan vain irrotetulle LUKS-otsakkeelle.\n"
+#: lib/luks2/luks2_json_metadata.c:1221
+#, fuzzy, c-format
+msgid "Device %s %s%s%s%s"
+msgstr "Laite %s %s%s"
 
 
-#: src/cryptsetup.c:881 src/cryptsetup.c:937
-#, c-format
-msgid "Key slot %d selected for deletion.\n"
-msgstr "Avainväli %d valittu poistoa varten.\n"
+#: lib/luks2/luks2_json_metadata.c:1222
+#, fuzzy
+msgid "does not contain LUKS2 header. Replacing header can destroy data on that device."
+msgstr "ei sisällä LUKS-otsaketta. Otsakkeen korvaaminen voi tuhota tietoja tuossa laitteessa."
 
 
-#: src/cryptsetup.c:884
-#, c-format
-msgid "Key %d not active. Can't wipe.\n"
-msgstr "Avain %d ei ole käytössä. Ei voida pyyhkiä pois.\n"
+#: lib/luks2/luks2_json_metadata.c:1223
+#, fuzzy
+msgid "already contains LUKS2 header. Replacing header will destroy existing keyslots."
+msgstr "sisältää jo LUKS-otsakkeen. Otsakkeen korvaaminen tuhoaa olemassaolevat avainvälit."
 
 
-#: src/cryptsetup.c:892 src/cryptsetup.c:940
+#: lib/luks2/luks2_json_metadata.c:1225
 msgid ""
 msgid ""
-"This is the last keyslot. Device will become unusable after purging this key."
+"\n"
+"WARNING: unknown LUKS2 requirements detected in real device header!\n"
+"Replacing header with backup may corrupt the data on that device!"
 msgstr ""
 msgstr ""
-"Tämä on viimeinen avainväli. Laite tulee käyttökelvottomaksi tämän avaimen "
-"poistamisen jälkeen."
 
 
-#: src/cryptsetup.c:893
-msgid "Enter any remaining passphrase: "
-msgstr "Kirjoita mikä tahansa jäljellä oleva salasanalause: "
+#: lib/luks2/luks2_json_metadata.c:1227
+msgid ""
+"\n"
+"WARNING: Unfinished offline reencryption detected on the device!\n"
+"Replacing header with backup may corrupt data."
+msgstr ""
 
 
-#: src/cryptsetup.c:921
-msgid "Enter passphrase to be deleted: "
-msgstr "Kirjoita poistettava salasanalause: "
+#: lib/luks2/luks2_json_metadata.c:1323
+#, c-format
+msgid "Ignored unknown flag %s."
+msgstr ""
 
 
-#: src/cryptsetup.c:1003 src/cryptsetup_reencrypt.c:1074
+#: lib/luks2/luks2_json_metadata.c:2010 lib/luks2/luks2_reencrypt.c:1746
 #, c-format
 #, c-format
-msgid "Enter any existing passphrase: "
-msgstr "Kirjoita mikä tahansa olemassa oleva salasanalause: "
+msgid "Missing key for dm-crypt segment %u"
+msgstr ""
 
 
-#: src/cryptsetup.c:1052
-msgid "Enter passphrase to be changed: "
-msgstr "Kirjoita vaihdettava salasanalause: "
+#: lib/luks2/luks2_json_metadata.c:2022 lib/luks2/luks2_reencrypt.c:1764
+#, fuzzy
+msgid "Failed to set dm-crypt segment."
+msgstr "Avaintiedoston kutsuminen stat-funktiolla epäonnistui.\n"
 
 
-#: src/cryptsetup.c:1066 src/cryptsetup_reencrypt.c:1059
-msgid "Enter new passphrase: "
-msgstr "Kirjoita uusi salasanalause: "
+#: lib/luks2/luks2_json_metadata.c:2028 lib/luks2/luks2_reencrypt.c:1770
+msgid "Failed to set dm-linear segment."
+msgstr ""
 
 
-#: src/cryptsetup.c:1090
-msgid "Only one device argument for isLuks operation is supported.\n"
-msgstr "Tuetaan vain yhtä laiteargumenttia isLuks-toiminnolle.\n"
+#: lib/luks2/luks2_json_metadata.c:2155
+msgid "Unsupported device integrity configuration."
+msgstr ""
 
 
-#: src/cryptsetup.c:1246 src/cryptsetup.c:1267
-msgid "Option --header-backup-file is required.\n"
-msgstr "Vaaditaan valitsin --header-backup-file.\n"
+#: lib/luks2/luks2_json_metadata.c:2241
+msgid "Reencryption in-progress. Cannot deactivate device."
+msgstr ""
 
 
-#: src/cryptsetup.c:1304
+#: lib/luks2/luks2_json_metadata.c:2252 lib/luks2/luks2_reencrypt.c:3190
 #, c-format
 #, c-format
-msgid "Unrecognized metadata device type %s.\n"
-msgstr "Tunnistamaton metatietolaitetyyppi %s.\n"
+msgid "Failed to replace suspended device %s with dm-error target."
+msgstr ""
 
 
-#: src/cryptsetup.c:1307
-msgid "Command requires device and mapped name as arguments.\n"
-msgstr "Komento vaatii laitteen ja kuvausnimen argumenttina.\n"
+#: lib/luks2/luks2_json_metadata.c:2332
+msgid "Failed to read LUKS2 requirements."
+msgstr ""
 
 
-#: src/cryptsetup.c:1326
-#, c-format
-msgid ""
-"This operation will erase all keyslots on device %s.\n"
-"Device will become unusable after this operation."
+#: lib/luks2/luks2_json_metadata.c:2339
+msgid "Unmet LUKS2 requirements detected."
 msgstr ""
 msgstr ""
-"Tämä toiminto poistaa kaikki avainvälit laitteesta %s.\n"
-"Laite tulee käyttökelvottomaksi tämän toiminnon jälkeen."
 
 
-#: src/cryptsetup.c:1360
-msgid "<device> [--type <type>] [<name>]"
-msgstr "<laite> [--type <tyyppi>] [<nimi>]"
+#: lib/luks2/luks2_json_metadata.c:2347
+msgid "Operation incompatible with device marked for legacy reencryption. Aborting."
+msgstr ""
 
 
-#: src/cryptsetup.c:1360
-msgid "open device as mapping <name>"
-msgstr "avaa laite kuvauksena <nimi>"
+#: lib/luks2/luks2_json_metadata.c:2349
+msgid "Operation incompatible with device marked for LUKS2 reencryption. Aborting."
+msgstr ""
 
 
-#: src/cryptsetup.c:1361 src/cryptsetup.c:1362 src/cryptsetup.c:1363
-#: src/cryptsetup.c:1364 src/veritysetup.c:311 src/veritysetup.c:312
-msgid "<name>"
-msgstr "<nimi>"
+#: lib/luks2/luks2_keyslot.c:547 lib/luks2/luks2_keyslot.c:584
+msgid "Not enough available memory to open a keyslot."
+msgstr ""
 
 
-#: src/cryptsetup.c:1361
-msgid "close device (remove mapping)"
-msgstr "sulje laite (poista kuvaus)"
+#: lib/luks2/luks2_keyslot.c:549 lib/luks2/luks2_keyslot.c:586
+#, fuzzy
+msgid "Keyslot open failed."
+msgstr "Avainväli %d on todennettu.\n"
 
 
-#: src/cryptsetup.c:1362
-msgid "resize active device"
-msgstr "muuta käytössä olevan laitteen kokoa"
+#: lib/luks2/luks2_keyslot_luks2.c:53 lib/luks2/luks2_keyslot_luks2.c:108
+#, c-format
+msgid "Cannot use %s-%s cipher for keyslot encryption."
+msgstr ""
 
 
-#: src/cryptsetup.c:1363
-msgid "show device status"
-msgstr "näytä laitetila"
+#: lib/luks2/luks2_keyslot_luks2.c:480
+#, fuzzy
+msgid "No space for new keyslot."
+msgstr "Uuden avainvälin vaihtaminen epäonnistui.\n"
 
 
-#: src/cryptsetup.c:1364
-msgid "benchmark cipher"
-msgstr "koestussalaus"
+#: lib/luks2/luks2_luks1_convert.c:482
+#, fuzzy, c-format
+msgid "Cannot check status of device with uuid: %s."
+msgstr "Salasanan laatutarkistus epäonnistui: %s\n"
 
 
-#: src/cryptsetup.c:1365 src/cryptsetup.c:1366 src/cryptsetup.c:1372
-#: src/cryptsetup.c:1373 src/cryptsetup.c:1374 src/cryptsetup.c:1375
-#: src/cryptsetup.c:1376 src/cryptsetup.c:1377 src/cryptsetup.c:1378
-#: src/cryptsetup.c:1379
-msgid "<device>"
-msgstr "<laite>"
+#: lib/luks2/luks2_luks1_convert.c:508
+msgid "Unable to convert header with LUKSMETA additional metadata."
+msgstr ""
 
 
-#: src/cryptsetup.c:1365
-msgid "try to repair on-disk metadata"
-msgstr "yritä korjata levyn sisäiset metatiedot"
+#: lib/luks2/luks2_luks1_convert.c:548
+msgid "Unable to move keyslot area. Not enough space."
+msgstr ""
 
 
-#: src/cryptsetup.c:1366
-msgid "erase all keyslots (remove encryption key)"
-msgstr "poista kaikki avainvälit (poista salausavain)"
+#: lib/luks2/luks2_luks1_convert.c:599
+msgid "Unable to move keyslot area. LUKS2 keyslots area too small."
+msgstr ""
 
 
-#: src/cryptsetup.c:1367 src/cryptsetup.c:1368
-msgid "<device> [<new key file>]"
-msgstr "<laite> [<uusi avaintiedosto>]"
+#: lib/luks2/luks2_luks1_convert.c:605 lib/luks2/luks2_luks1_convert.c:887
+#, fuzzy
+msgid "Unable to move keyslot area."
+msgstr "Avaintiedoston avaus epäonnistui.\n"
 
 
-#: src/cryptsetup.c:1367
-msgid "formats a LUKS device"
-msgstr "pohjustaa LUKS-laitteen"
+#: lib/luks2/luks2_luks1_convert.c:697
+msgid "Cannot convert to LUKS1 format - default segment encryption sector size is not 512 bytes."
+msgstr ""
 
 
-#: src/cryptsetup.c:1368
-msgid "add key to LUKS device"
-msgstr "lisää avain LUKS-laitteeseen"
+#: lib/luks2/luks2_luks1_convert.c:705
+msgid "Cannot convert to LUKS1 format - key slot digests are not LUKS1 compatible."
+msgstr ""
 
 
-#: src/cryptsetup.c:1369 src/cryptsetup.c:1370
-msgid "<device> [<key file>]"
-msgstr "<laite> [<avaintiedosto>]"
+#: lib/luks2/luks2_luks1_convert.c:717
+#, c-format
+msgid "Cannot convert to LUKS1 format - device uses wrapped key cipher %s."
+msgstr ""
 
 
-#: src/cryptsetup.c:1369
-msgid "removes supplied key or key file from LUKS device"
-msgstr "poistaa tarjotun avaimen tai avaintiedoston LUKS-laitteesta"
+#: lib/luks2/luks2_luks1_convert.c:725
+#, c-format
+msgid "Cannot convert to LUKS1 format - LUKS2 header contains %u token(s)."
+msgstr ""
 
 
-#: src/cryptsetup.c:1370
-msgid "changes supplied key or key file of LUKS device"
-msgstr "vaihtaa LUKS-laitteen tarjotun avaimen tai avaintiedoston"
+#: lib/luks2/luks2_luks1_convert.c:739
+#, c-format
+msgid "Cannot convert to LUKS1 format - keyslot %u is in invalid state."
+msgstr ""
 
 
-#: src/cryptsetup.c:1371
-msgid "<device> <key slot>"
-msgstr "<laite> <avainväli>"
+#: lib/luks2/luks2_luks1_convert.c:744
+#, c-format
+msgid "Cannot convert to LUKS1 format - slot %u (over maximum slots) is still active."
+msgstr ""
 
 
-#: src/cryptsetup.c:1371
-msgid "wipes key with number <key slot> from LUKS device"
-msgstr "pyyhkäisee pois avaimen numerolla <avainväli> LUKS-laitteesta"
+#: lib/luks2/luks2_luks1_convert.c:749
+#, c-format
+msgid "Cannot convert to LUKS1 format - keyslot %u is not LUKS1 compatible."
+msgstr ""
 
 
-#: src/cryptsetup.c:1372
-msgid "print UUID of LUKS device"
-msgstr "tulostaa LUKS-laitteen UUID-tunnuksen"
+#: lib/luks2/luks2_reencrypt.c:892
+#, c-format
+msgid "Hotzone size must be multiple of calculated zone alignment (%zu bytes)."
+msgstr ""
 
 
-#: src/cryptsetup.c:1373
-msgid "tests <device> for LUKS partition header"
-msgstr "testaa <laite> LUKS-osio-otsakkeesta"
+#: lib/luks2/luks2_reencrypt.c:897
+#, fuzzy, c-format
+msgid "Device size must be multiple of calculated zone alignment (%zu bytes)."
+msgstr "Pienennyskoon on oltava 512-tavuisen sektorin monikerta."
 
 
-#: src/cryptsetup.c:1374
+#: lib/luks2/luks2_reencrypt.c:941
+#, fuzzy, c-format
+msgid "Unsupported resilience mode %s"
+msgstr "Tukematon LUKS-versio %d.\n"
+
+#: lib/luks2/luks2_reencrypt.c:1158 lib/luks2/luks2_reencrypt.c:1313
+#: lib/luks2/luks2_reencrypt.c:1396 lib/luks2/luks2_reencrypt.c:1430
+#: lib/luks2/luks2_reencrypt.c:3030
+#, fuzzy
+msgid "Failed to initialize old segment storage wrapper."
+msgstr "Avainsäiliöön kirjoittaminen epäonnistui.\n"
+
+#: lib/luks2/luks2_reencrypt.c:1172 lib/luks2/luks2_reencrypt.c:1291
+#, fuzzy
+msgid "Failed to initialize new segment storage wrapper."
+msgstr "Avainsäiliöön kirjoittaminen epäonnistui.\n"
+
+#: lib/luks2/luks2_reencrypt.c:1340
+#, fuzzy
+msgid "Failed to read checksums for current hotzone."
+msgstr "Avainsäiliöstä lukeminen epäonnistui.\n"
+
+#: lib/luks2/luks2_reencrypt.c:1347 lib/luks2/luks2_reencrypt.c:3038
+#, fuzzy, c-format
+msgid "Failed to read hotzone area starting at %<PRIu64>."
+msgstr "Vapaa-aluetta ei ole nollattu sijainnissa %<PRIu64>.\n"
+
+#: lib/luks2/luks2_reencrypt.c:1366
+#, fuzzy, c-format
+msgid "Failed to decrypt sector %zu."
+msgstr "Avainsäiliöstä lukeminen epäonnistui.\n"
+
+#: lib/luks2/luks2_reencrypt.c:1372
+#, fuzzy, c-format
+msgid "Failed to recover sector %zu."
+msgstr "Avainsäiliöön kirjoittaminen epäonnistui.\n"
+
+#: lib/luks2/luks2_reencrypt.c:1867
+#, c-format
+msgid "Source and target device sizes don't match. Source %<PRIu64>, target: %<PRIu64>."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:1965
+#, fuzzy, c-format
+msgid "Failed to activate hotzone device %s."
+msgstr "Pääsy tilapäiseen avainsäiliölaitteeseen epäonnistui.\n"
+
+#: lib/luks2/luks2_reencrypt.c:1982
+#, c-format
+msgid "Failed to activate overlay device %s with actual origin table."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:1989
+#, fuzzy, c-format
+msgid "Failed to load new mapping for device %s."
+msgstr "Tilapäisen avainsäiliön avaaminen epäonnistui.\n"
+
+#: lib/luks2/luks2_reencrypt.c:2060
+msgid "Failed to refresh reencryption devices stack."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:2216
+#, fuzzy
+msgid "Failed to set new keyslots area size."
+msgstr "Uuden avainvälin vaihtaminen epäonnistui.\n"
+
+#: lib/luks2/luks2_reencrypt.c:2318
+#, c-format
+msgid "Data shift is not aligned to requested encryption sector size (%<PRIu32> bytes)."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:2339
+#, c-format
+msgid "Data device is not aligned to requested encryption sector size (%<PRIu32> bytes)."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:2360
+#, c-format
+msgid "Data shift (%<PRIu64> sectors) is less than future data offset (%<PRIu64> sectors)."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:2366 lib/luks2/luks2_reencrypt.c:2779
+#: lib/luks2/luks2_reencrypt.c:2800
+#, fuzzy, c-format
+msgid "Failed to open %s in exclusive mode (already mapped or mounted)."
+msgstr "Laitteen %s käyttö epäonnistui, koska se on jo käytössä (jo kuvattu tai liitetty).\n"
+
+#: lib/luks2/luks2_reencrypt.c:2534
+#, fuzzy
+msgid "Device not marked for LUKS2 reencryption."
+msgstr "Älä vaihda avainta, yhtään data-aluetta ei ole salattu uudelleen."
+
+#: lib/luks2/luks2_reencrypt.c:2540 lib/luks2/luks2_reencrypt.c:3295
+msgid "Failed to load LUKS2 reencryption context."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:2619
+#, fuzzy
+msgid "Failed to get reencryption state."
+msgstr "Avainsäiliöön kirjoittaminen epäonnistui.\n"
+
+#: lib/luks2/luks2_reencrypt.c:2623
+#, fuzzy
+msgid "Device is not in reencryption."
+msgstr "Laite %s ei ole aktiivinen.\n"
+
+#: lib/luks2/luks2_reencrypt.c:2630
+msgid "Reencryption process is already running."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:2632
+#, fuzzy
+msgid "Failed to acquire reencryption lock."
+msgstr "Uudelleensalauslokitiedoston lukeminen epäonnistui.\n"
+
+#: lib/luks2/luks2_reencrypt.c:2650
+msgid "Cannot proceed with reencryption. Run reencryption recovery first."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:2750
+msgid "Active device size and requested reencryption size don't match."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:2764
+msgid "Illegal device size requested in reencryption parameters."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:2834
+msgid "Reencryption in-progress. Cannot perform recovery."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:2906
+msgid "LUKS2 reencryption already initialized in metadata."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:2913
+msgid "Failed to initialize LUKS2 reencryption in metadata."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:3004
+msgid "Failed to set device segments for next reencryption hotzone."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:3046
+#, fuzzy
+msgid "Failed to write reencryption resilience metadata."
+msgstr "Uudelleensalauslokitiedoston kirjoittaminen epäonnistui.\n"
+
+#: lib/luks2/luks2_reencrypt.c:3053
+#, fuzzy
+msgid "Decryption failed."
+msgstr "Korjaus epäonnistui."
+
+#: lib/luks2/luks2_reencrypt.c:3058
+#, fuzzy, c-format
+msgid "Failed to write hotzone area starting at %<PRIu64>."
+msgstr "Avainsäiliöön kirjoittaminen epäonnistui.\n"
+
+#: lib/luks2/luks2_reencrypt.c:3063
+#, fuzzy
+msgid "Failed to sync data."
+msgstr "Avaintiedoston kutsuminen stat-funktiolla epäonnistui.\n"
+
+#: lib/luks2/luks2_reencrypt.c:3071
+msgid "Failed to update metadata after current reencryption hotzone completed."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:3138
+#, fuzzy
+msgid "Failed to write LUKS2 metadata."
+msgstr "Avainsäiliöön kirjoittaminen epäonnistui.\n"
+
+#: lib/luks2/luks2_reencrypt.c:3161
+msgid "Failed to wipe backup segment data."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:3174
+msgid "Failed to disable reencryption requirement flag."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:3182
+#, c-format
+msgid "Fatal error while reencrypting chunk starting at %<PRIu64>, %<PRIu64> sectors long."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:3191
+msgid "Do not resume the device unless replaced with error target manually."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:3240
+msgid "Cannot proceed with reencryption. Unexpected reencryption status."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:3246
+msgid "Missing or invalid reencrypt context."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:3253
+#, fuzzy
+msgid "Failed to initialize reencryption device stack."
+msgstr "Salaustaustaohjelman alustus epäonnistui.\n"
+
+#: lib/luks2/luks2_reencrypt.c:3272 lib/luks2/luks2_reencrypt.c:3308
+#, fuzzy
+msgid "Failed to update reencryption context."
+msgstr "Uudelleensalauslokitiedoston avaus epäonnistui.\n"
+
+#: lib/luks2/luks2_token.c:262
+msgid "No free token slot."
+msgstr ""
+
+#: lib/luks2/luks2_token.c:269
+#, fuzzy, c-format
+msgid "Failed to create builtin token %s."
+msgstr "Avainsäiliöön kirjoittaminen epäonnistui.\n"
+
+#: src/cryptsetup.c:164
+#, fuzzy
+msgid "Can't do passphrase verification on non-tty inputs."
+msgstr "Salasanalauseiden todennus epäonnistui ei-tty-syötteissä.\n"
+
+#: src/cryptsetup.c:221
+#, fuzzy
+msgid "Keyslot encryption parameters can be set only for LUKS2 device."
+msgstr "Tätä toimintoa tuetaan vain LUKS-laitteelle.\n"
+
+#: src/cryptsetup.c:251 src/cryptsetup.c:959 src/cryptsetup.c:1269
+#: src/cryptsetup.c:3145 src/cryptsetup_reencrypt.c:723
+#: src/cryptsetup_reencrypt.c:793
+#, fuzzy
+msgid "No known cipher specification pattern detected."
+msgstr "Havaittu tuntematon salakirjoitusmenetelmämäärittelymalli.\n"
+
+#: src/cryptsetup.c:259
+msgid "WARNING: The --hash parameter is being ignored in plain mode with keyfile specified.\n"
+msgstr "VAROITUS: Parametri --hash ohitetaan tavallisessa tilassa kun avaintiedosto on määritelty.\n"
+
+#: src/cryptsetup.c:267
+msgid "WARNING: The --keyfile-size option is being ignored, the read size is the same as the encryption key size.\n"
+msgstr "VAROITUS: Valitsin --keyfile-size ohitetaan , lukukoko on sama kuin salausavaimen koko.\n"
+
+#: src/cryptsetup.c:307
+#, c-format
+msgid "Detected device signature(s) on %s. Proceeding further may damage existing data."
+msgstr ""
+
+#: src/cryptsetup.c:313 src/cryptsetup.c:1090 src/cryptsetup.c:1142
+#: src/cryptsetup.c:1246 src/cryptsetup.c:1319 src/cryptsetup.c:1974
+#: src/cryptsetup.c:2682 src/cryptsetup.c:2805 src/integritysetup.c:233
+msgid "Operation aborted.\n"
+msgstr ""
+
+#: src/cryptsetup.c:381
+#, fuzzy
+msgid "Option --key-file is required."
+msgstr "Vaaditaan valitsin --key-file.\n"
+
+#: src/cryptsetup.c:434
+msgid "Enter VeraCrypt PIM: "
+msgstr ""
+
+#: src/cryptsetup.c:443
+msgid "Invalid PIM value: parse error."
+msgstr ""
+
+#: src/cryptsetup.c:446
+#, fuzzy
+msgid "Invalid PIM value: 0."
+msgstr "Virheellinen laite %s.\n"
+
+#: src/cryptsetup.c:449
+msgid "Invalid PIM value: outside of range."
+msgstr ""
+
+#: src/cryptsetup.c:472
+#, fuzzy
+msgid "No device header detected with this passphrase."
+msgstr "Tälle salasanalauseelle ei ole saatavissa laiteotsaketta.\n"
+
+#: src/cryptsetup.c:541
+#, fuzzy, c-format
+msgid "Device %s is not a valid BITLK device."
+msgstr "Laite %s ei ole kelvollinen LUKS-laite.\n"
+
+#: src/cryptsetup.c:576
+msgid ""
+"Header dump with volume key is sensitive information\n"
+"which allows access to encrypted partition without passphrase.\n"
+"This dump should be always stored encrypted on safe place."
+msgstr ""
+"Otsakevedos taltioavaimella on arkaluonteista tietoa,\n"
+"joka sallii pääsyn salatulle osiolle ilman salasanaa.\n"
+"Tämä vedos pitäisi aina tallentaa salattuna turvallisessa paikasssa."
+
+#: src/cryptsetup.c:673
+#, c-format
+msgid "Device %s is still active and scheduled for deferred removal.\n"
+msgstr ""
+
+#: src/cryptsetup.c:701
+msgid "Resize of active device requires volume key in keyring but --disable-keyring option is set."
+msgstr ""
+
+#: src/cryptsetup.c:838
+#, fuzzy
+msgid "Benchmark interrupted."
+msgstr "koestussalaus"
+
+#: src/cryptsetup.c:859
+#, c-format
+msgid "PBKDF2-%-9s     N/A\n"
+msgstr ""
+
+#: src/cryptsetup.c:861
+#, c-format
+msgid "PBKDF2-%-9s %7u iterations per second for %zu-bit key\n"
+msgstr ""
+
+#: src/cryptsetup.c:875
+#, c-format
+msgid "%-10s N/A\n"
+msgstr ""
+
+#: src/cryptsetup.c:877
+#, c-format
+msgid "%-10s %4u iterations, %5u memory, %1u parallel threads (CPUs) for %zu-bit key (requested %u ms time)\n"
+msgstr ""
+
+#: src/cryptsetup.c:901
+#, fuzzy
+msgid "Result of benchmark is not reliable."
+msgstr "Suorituskykytestin tulos ei ole luotettava.\n"
+
+#: src/cryptsetup.c:951
+msgid "# Tests are approximate using memory only (no storage IO).\n"
+msgstr "# Testit käyttävät vain muistia ylimalkaan (ei tallennussiirtos).\n"
+
+#. TRANSLATORS: The string is header of a table and must be exactly (right side) aligned.
+#: src/cryptsetup.c:971
+#, fuzzy, c-format
+msgid "#%*s Algorithm |       Key |      Encryption |      Decryption\n"
+msgstr "#  Algoritmi | Avain |  Salaus |  Salauksen purku\n"
+
+#: src/cryptsetup.c:975
+#, fuzzy, c-format
+msgid "Cipher %s (with %i bits key) is not available."
+msgstr "Salaus %s ei ole käytettävissä.\n"
+
+#. TRANSLATORS: The string is header of a table and must be exactly (right side) aligned.
+#: src/cryptsetup.c:994
+#, fuzzy
+msgid "#     Algorithm |       Key |      Encryption |      Decryption\n"
+msgstr "#  Algoritmi | Avain |  Salaus |  Salauksen purku\n"
+
+#: src/cryptsetup.c:1003
+msgid "N/A"
+msgstr "Ei käytössä"
+
+#: src/cryptsetup.c:1083
+msgid ""
+"Seems device does not require reencryption recovery.\n"
+"Do you want to proceed anyway?"
+msgstr ""
+
+#: src/cryptsetup.c:1089
+msgid "Really proceed with LUKS2 reencryption recovery?"
+msgstr ""
+
+#: src/cryptsetup.c:1098
+#, fuzzy
+msgid "Enter passphrase for reencryption recovery: "
+msgstr "Kirjoita salasanalause avainvälille %u: "
+
+#: src/cryptsetup.c:1141
+msgid "Really try to repair LUKS device header?"
+msgstr "Yritetäänkö todella korjata LUKS-laiteotsake?"
+
+#: src/cryptsetup.c:1160 src/integritysetup.c:146
+msgid ""
+"Wiping device to initialize integrity checksum.\n"
+"You can interrupt this by pressing CTRL+c (rest of not wiped device will contain invalid checksum).\n"
+msgstr ""
+
+#: src/cryptsetup.c:1182 src/integritysetup.c:168
+#, fuzzy, c-format
+msgid "Cannot deactivate temporary device %s."
+msgstr "Tilapäisen LUKS-laitteen avaaminen epäonnistui.\n"
+
+#: src/cryptsetup.c:1231
+msgid "Integrity option can be used only for LUKS2 format."
+msgstr ""
+
+#: src/cryptsetup.c:1236 src/cryptsetup.c:1296
+#, fuzzy
+msgid "Unsupported LUKS2 metadata size options."
+msgstr "Tukematon LUKS-versio %d.\n"
+
+#: src/cryptsetup.c:1253
+#, fuzzy, c-format
+msgid "Cannot create header file %s."
+msgstr "Otsakevarmuuskopiotiedoston %s luominen epäonnistui.\n"
+
+#: src/cryptsetup.c:1276 src/integritysetup.c:195 src/integritysetup.c:204
+#: src/integritysetup.c:213 src/integritysetup.c:284 src/integritysetup.c:293
+#: src/integritysetup.c:303
+#, fuzzy
+msgid "No known integrity specification pattern detected."
+msgstr "Havaittu tuntematon salakirjoitusmenetelmämäärittelymalli.\n"
+
+#: src/cryptsetup.c:1289
+#, fuzzy, c-format
+msgid "Cannot use %s as on-disk header."
+msgstr "Kohteen %s käyttö paikallisena levyotsakkeena epäonnistui.\n"
+
+#: src/cryptsetup.c:1313 src/integritysetup.c:227
+#, c-format
+msgid "This will overwrite data on %s irrevocably."
+msgstr "Tämä korvaa tiedot kohteella %s peruuttamattomasti."
+
+#: src/cryptsetup.c:1354 src/cryptsetup.c:1688 src/cryptsetup.c:1755
+#: src/cryptsetup.c:1857 src/cryptsetup.c:1923 src/cryptsetup_reencrypt.c:553
+#, fuzzy
+msgid "Failed to set pbkdf parameters."
+msgstr "Avaintiedoston kutsuminen stat-funktiolla epäonnistui.\n"
+
+#: src/cryptsetup.c:1439
+#, fuzzy
+msgid "Reduced data offset is allowed only for detached LUKS header."
+msgstr "Pienennetty tietosiirrososoite sallitaan vain irrotetulle LUKS-otsakkeelle.\n"
+
+#: src/cryptsetup.c:1450 src/cryptsetup.c:1761
+msgid "Cannot determine volume key size for LUKS without keyslots, please use --key-size option."
+msgstr ""
+
+#: src/cryptsetup.c:1488
+msgid "Device activated but cannot make flags persistent."
+msgstr ""
+
+#: src/cryptsetup.c:1569 src/cryptsetup.c:1639
+#, fuzzy, c-format
+msgid "Keyslot %d is selected for deletion."
+msgstr "Avainväli %d valittu poistoa varten.\n"
+
+#: src/cryptsetup.c:1581 src/cryptsetup.c:1642
+msgid "This is the last keyslot. Device will become unusable after purging this key."
+msgstr "Tämä on viimeinen avainväli. Laite tulee käyttökelvottomaksi tämän avaimen poistamisen jälkeen."
+
+#: src/cryptsetup.c:1582
+msgid "Enter any remaining passphrase: "
+msgstr "Kirjoita mikä tahansa jäljellä oleva salasanalause: "
+
+#: src/cryptsetup.c:1583 src/cryptsetup.c:1644
+msgid "Operation aborted, the keyslot was NOT wiped.\n"
+msgstr ""
+
+#: src/cryptsetup.c:1621
+msgid "Enter passphrase to be deleted: "
+msgstr "Kirjoita poistettava salasanalause: "
+
+#: src/cryptsetup.c:1702 src/cryptsetup.c:1776 src/cryptsetup.c:1810
+msgid "Enter new passphrase for key slot: "
+msgstr "Kirjoita uusi salasanalause avainvälille: "
+
+#: src/cryptsetup.c:1793 src/cryptsetup_reencrypt.c:1343
+#, c-format
+msgid "Enter any existing passphrase: "
+msgstr "Kirjoita mikä tahansa olemassa oleva salasanalause: "
+
+#: src/cryptsetup.c:1861
+msgid "Enter passphrase to be changed: "
+msgstr "Kirjoita vaihdettava salasanalause: "
+
+#: src/cryptsetup.c:1877 src/cryptsetup_reencrypt.c:1329
+msgid "Enter new passphrase: "
+msgstr "Kirjoita uusi salasanalause: "
+
+#: src/cryptsetup.c:1927
+#, fuzzy
+msgid "Enter passphrase for keyslot to be converted: "
+msgstr "Kirjoita salasanalause avainvälille %u: "
+
+#: src/cryptsetup.c:1951
+#, fuzzy
+msgid "Only one device argument for isLuks operation is supported."
+msgstr "Tuetaan vain yhtä laiteargumenttia isLuks-toiminnolle.\n"
+
+#: src/cryptsetup.c:2001
+#, fuzzy
+msgid ""
+"The header dump with volume key is sensitive information\n"
+"that allows access to encrypted partition without a passphrase.\n"
+"This dump should be stored encrypted in a safe place."
+msgstr ""
+"Otsakevedos taltioavaimella on arkaluonteista tietoa,\n"
+"joka sallii pääsyn salatulle osiolle ilman salasanaa.\n"
+"Tämä vedos pitäisi aina tallentaa salattuna turvallisessa paikasssa."
+
+#: src/cryptsetup.c:2066
+#, fuzzy, c-format
+msgid "Keyslot %d does not contain unbound key."
+msgstr "Avainväli %d ei ole käytössä.\n"
+
+#: src/cryptsetup.c:2072
+#, fuzzy
+msgid ""
+"The header dump with unbound key is sensitive information.\n"
+"This dump should be stored encrypted in a safe place."
+msgstr ""
+"Otsakevedos taltioavaimella on arkaluonteista tietoa,\n"
+"joka sallii pääsyn salatulle osiolle ilman salasanaa.\n"
+"Tämä vedos pitäisi aina tallentaa salattuna turvallisessa paikasssa."
+
+#: src/cryptsetup.c:2207 src/cryptsetup.c:2228
+#, fuzzy
+msgid "Option --header-backup-file is required."
+msgstr "Vaaditaan valitsin --header-backup-file.\n"
+
+#: src/cryptsetup.c:2258
+#, fuzzy, c-format
+msgid "%s is not cryptsetup managed device."
+msgstr "%s ei ole LUKS-laite."
+
+#: src/cryptsetup.c:2269
+#, fuzzy, c-format
+msgid "Refresh is not supported for device type %s"
+msgstr "Jatkamista ei tueta laiteelle %s.\n"
+
+#: src/cryptsetup.c:2311
+#, fuzzy, c-format
+msgid "Unrecognized metadata device type %s."
+msgstr "Tunnistamaton metatietolaitetyyppi %s.\n"
+
+#: src/cryptsetup.c:2314
+#, fuzzy
+msgid "Command requires device and mapped name as arguments."
+msgstr "Komento vaatii laitteen ja kuvausnimen argumenttina.\n"
+
+#: src/cryptsetup.c:2336
+#, c-format
+msgid ""
+"This operation will erase all keyslots on device %s.\n"
+"Device will become unusable after this operation."
+msgstr ""
+"Tämä toiminto poistaa kaikki avainvälit laitteesta %s.\n"
+"Laite tulee käyttökelvottomaksi tämän toiminnon jälkeen."
+
+#: src/cryptsetup.c:2343
+msgid "Operation aborted, keyslots were NOT wiped.\n"
+msgstr ""
+
+#: src/cryptsetup.c:2380
+msgid "Invalid LUKS type, only luks1 and luks2 are supported."
+msgstr ""
+
+#: src/cryptsetup.c:2398
+#, fuzzy, c-format
+msgid "Device is already %s type."
+msgstr "Laite %s on jo olemassa.\n"
+
+#: src/cryptsetup.c:2403
+#, fuzzy, c-format
+msgid "This operation will convert %s to %s format.\n"
+msgstr "Tätä toimintoa ei tueta %s-salauslaitteelle.\n"
+
+#: src/cryptsetup.c:2409
+msgid "Operation aborted, device was NOT converted.\n"
+msgstr ""
+
+#: src/cryptsetup.c:2449
+msgid "Option --priority, --label or --subsystem is missing."
+msgstr ""
+
+#: src/cryptsetup.c:2483 src/cryptsetup.c:2516 src/cryptsetup.c:2539
+#, fuzzy, c-format
+msgid "Token %d is invalid."
+msgstr "Avainväli %d on virheellinen.\n"
+
+#: src/cryptsetup.c:2486 src/cryptsetup.c:2542
+#, c-format
+msgid "Token %d in use."
+msgstr ""
+
+#: src/cryptsetup.c:2493
+#, fuzzy, c-format
+msgid "Failed to add luks2-keyring token %d."
+msgstr "Avainsäiliöstä lukeminen epäonnistui.\n"
+
+#: src/cryptsetup.c:2502 src/cryptsetup.c:2564
+#, fuzzy, c-format
+msgid "Failed to assign token %d to keyslot %d."
+msgstr "Avainsäiliöön kirjoittaminen epäonnistui.\n"
+
+#: src/cryptsetup.c:2519
+#, fuzzy, c-format
+msgid "Token %d is not in use."
+msgstr "Avainväli %d ei ole käytössä.\n"
+
+#: src/cryptsetup.c:2554
+#, fuzzy
+msgid "Failed to import token from file."
+msgstr "Avaintiedoston avaus epäonnistui.\n"
+
+#: src/cryptsetup.c:2579
+#, fuzzy, c-format
+msgid "Failed to get token %d for export."
+msgstr "Avainsäiliöön kirjoittaminen epäonnistui.\n"
+
+#: src/cryptsetup.c:2594
+msgid "--key-description parameter is mandatory for token add action."
+msgstr ""
+
+#: src/cryptsetup.c:2600 src/cryptsetup.c:2608
+msgid "Action requires specific token. Use --token-id parameter."
+msgstr ""
+
+#: src/cryptsetup.c:2613
+#, fuzzy, c-format
+msgid "Invalid token operation %s."
+msgstr "Virheellinen avainkoko %d.\n"
+
+#: src/cryptsetup.c:2668
+#, c-format
+msgid "Auto-detected active dm device '%s' for data device %s.\n"
+msgstr ""
+
+#: src/cryptsetup.c:2672
+#, fuzzy, c-format
+msgid "Device %s is not a block device.\n"
+msgstr "Laite %s ei ole kelvollinen LUKS-laite.\n"
+
+#: src/cryptsetup.c:2674
+#, fuzzy, c-format
+msgid "Failed to auto-detect device %s holders."
+msgstr "Laitekuvaajahakemiston hankkiminen epäonnistui."
+
+#: src/cryptsetup.c:2676
+#, c-format
+msgid ""
+"Unable to decide if device %s is activated or not.\n"
+"Are you sure you want to proceed with reencryption in offline mode?\n"
+"It may lead to data corruption if the device is actually activated.\n"
+"To run reencryption in online mode, use --active-name parameter instead.\n"
+msgstr ""
+
+#: src/cryptsetup.c:2756
+#, fuzzy
+msgid "Invalid LUKS device type."
+msgstr "Virheellinen laite %s.\n"
+
+#: src/cryptsetup.c:2761
+msgid "Encryption without detached header (--header) is not possible without data device size reduction (--reduce-device-size)."
+msgstr ""
+
+#: src/cryptsetup.c:2766
+msgid "Requested data offset must be less than or equal to half of --reduce-device-size parameter."
+msgstr ""
+
+#: src/cryptsetup.c:2775
+#, c-format
+msgid "Adjusting --reduce-device-size value to twice the --offset %<PRIu64> (sectors).\n"
+msgstr ""
+
+#: src/cryptsetup.c:2779
+#, fuzzy
+msgid "Encryption is supported only for LUKS2 format."
+msgstr "Tätä toimintoa tuetaan vain LUKS-laitteelle.\n"
+
+#: src/cryptsetup.c:2801
+#, c-format
+msgid "Detected LUKS device on %s. Do you want to encrypt that LUKS device again?"
+msgstr ""
+
+#: src/cryptsetup.c:2816
+#, fuzzy, c-format
+msgid "Temporary header file %s already exists. Aborting."
+msgstr "Pyydetty otsakevarmuuskopiotiedosto %s on jo olemassa.\n"
+
+#: src/cryptsetup.c:2818 src/cryptsetup.c:2825
+#, fuzzy, c-format
+msgid "Cannot create temporary header file %s."
+msgstr "Otsakevarmuuskopiotiedoston %s luominen epäonnistui.\n"
+
+#: src/cryptsetup.c:2889
+#, c-format
+msgid "%s/%s is now active and ready for online encryption.\n"
+msgstr ""
+
+#: src/cryptsetup.c:3053 src/cryptsetup.c:3059
+#, fuzzy
+msgid "Not enough free keyslots for reencryption."
+msgstr "Älä vaihda avainta, yhtään data-aluetta ei ole salattu uudelleen."
+
+#: src/cryptsetup.c:3079 src/cryptsetup_reencrypt.c:1294
+#, fuzzy
+msgid "Key file can be used only with --key-slot or with exactly one key slot active."
+msgstr "Avaintiedostoa voidaan käyttää vain valitsimen --key-slot kanssa tai täsmälleen yhden avainvälin ollessa aktiivisena.\n"
+
+#: src/cryptsetup.c:3088 src/cryptsetup_reencrypt.c:1341
+#: src/cryptsetup_reencrypt.c:1352
+#, fuzzy, c-format
+msgid "Enter passphrase for key slot %d: "
+msgstr "Kirjoita salasanalause avainvälille %u: "
+
+#: src/cryptsetup.c:3096
+#, c-format
+msgid "Enter passphrase for key slot %u: "
+msgstr "Kirjoita salasanalause avainvälille %u: "
+
+#: src/cryptsetup.c:3263
+#, fuzzy
+msgid "Command requires device as argument."
+msgstr "Komento vaatii laitteen ja kuvausnimen argumenttina.\n"
+
+#: src/cryptsetup.c:3285
+msgid "Only LUKS2 format is currently supported. Please use cryptsetup-reencrypt tool for LUKS1."
+msgstr ""
+
+#: src/cryptsetup.c:3297
+msgid "Legacy offline reencryption already in-progress. Use cryptsetup-reencrypt utility."
+msgstr ""
+
+#: src/cryptsetup.c:3307 src/cryptsetup_reencrypt.c:178
+msgid "Reencryption of device with integrity profile is not supported."
+msgstr ""
+
+#: src/cryptsetup.c:3315
+msgid "LUKS2 reencryption already initialized. Aborting operation."
+msgstr ""
+
+#: src/cryptsetup.c:3319
+#, fuzzy
+msgid "LUKS2 device is not in reencryption."
+msgstr "Lokitiedosto %s on olemassa, aloitetaan salaus uudelleen.\n"
+
+#: src/cryptsetup.c:3346
+msgid "<device> [--type <type>] [<name>]"
+msgstr "<laite> [--type <tyyppi>] [<nimi>]"
+
+#: src/cryptsetup.c:3346 src/veritysetup.c:394 src/integritysetup.c:480
+#, fuzzy
+msgid "open device as <name>"
+msgstr "avaa laite kuvauksena <nimi>"
+
+#: src/cryptsetup.c:3347 src/cryptsetup.c:3348 src/cryptsetup.c:3349
+#: src/veritysetup.c:395 src/veritysetup.c:396 src/integritysetup.c:481
+#: src/integritysetup.c:482
+msgid "<name>"
+msgstr "<nimi>"
+
+#: src/cryptsetup.c:3347 src/veritysetup.c:395 src/integritysetup.c:481
+msgid "close device (remove mapping)"
+msgstr "sulje laite (poista kuvaus)"
+
+#: src/cryptsetup.c:3348
+msgid "resize active device"
+msgstr "muuta käytössä olevan laitteen kokoa"
+
+#: src/cryptsetup.c:3349
+msgid "show device status"
+msgstr "näytä laitetila"
+
+#: src/cryptsetup.c:3350
+msgid "[--cipher <cipher>]"
+msgstr ""
+
+#: src/cryptsetup.c:3350
+msgid "benchmark cipher"
+msgstr "koestussalaus"
+
+#: src/cryptsetup.c:3351 src/cryptsetup.c:3352 src/cryptsetup.c:3353
+#: src/cryptsetup.c:3354 src/cryptsetup.c:3355 src/cryptsetup.c:3362
+#: src/cryptsetup.c:3363 src/cryptsetup.c:3364 src/cryptsetup.c:3365
+#: src/cryptsetup.c:3366 src/cryptsetup.c:3367 src/cryptsetup.c:3368
+#: src/cryptsetup.c:3369 src/cryptsetup.c:3370
+msgid "<device>"
+msgstr "<laite>"
+
+#: src/cryptsetup.c:3351
+msgid "try to repair on-disk metadata"
+msgstr "yritä korjata levyn sisäiset metatiedot"
+
+#: src/cryptsetup.c:3352
+#, fuzzy
+msgid "reencrypt LUKS2 device"
+msgstr "lisää avain LUKS-laitteeseen"
+
+#: src/cryptsetup.c:3353
+msgid "erase all keyslots (remove encryption key)"
+msgstr "poista kaikki avainvälit (poista salausavain)"
+
+#: src/cryptsetup.c:3354
+msgid "convert LUKS from/to LUKS2 format"
+msgstr ""
+
+#: src/cryptsetup.c:3355
+msgid "set permanent configuration options for LUKS2"
+msgstr ""
+
+#: src/cryptsetup.c:3356 src/cryptsetup.c:3357
+msgid "<device> [<new key file>]"
+msgstr "<laite> [<uusi avaintiedosto>]"
+
+#: src/cryptsetup.c:3356
+msgid "formats a LUKS device"
+msgstr "pohjustaa LUKS-laitteen"
+
+#: src/cryptsetup.c:3357
+msgid "add key to LUKS device"
+msgstr "lisää avain LUKS-laitteeseen"
+
+#: src/cryptsetup.c:3358 src/cryptsetup.c:3359 src/cryptsetup.c:3360
+msgid "<device> [<key file>]"
+msgstr "<laite> [<avaintiedosto>]"
+
+#: src/cryptsetup.c:3358
+msgid "removes supplied key or key file from LUKS device"
+msgstr "poistaa tarjotun avaimen tai avaintiedoston LUKS-laitteesta"
+
+#: src/cryptsetup.c:3359
+msgid "changes supplied key or key file of LUKS device"
+msgstr "vaihtaa LUKS-laitteen tarjotun avaimen tai avaintiedoston"
+
+#: src/cryptsetup.c:3360
+msgid "converts a key to new pbkdf parameters"
+msgstr ""
+
+#: src/cryptsetup.c:3361
+msgid "<device> <key slot>"
+msgstr "<laite> <avainväli>"
+
+#: src/cryptsetup.c:3361
+msgid "wipes key with number <key slot> from LUKS device"
+msgstr "pyyhkäisee pois avaimen numerolla <avainväli> LUKS-laitteesta"
+
+#: src/cryptsetup.c:3362
+msgid "print UUID of LUKS device"
+msgstr "tulostaa LUKS-laitteen UUID-tunnuksen"
+
+#: src/cryptsetup.c:3363
+msgid "tests <device> for LUKS partition header"
+msgstr "testaa <laite> LUKS-osio-otsakkeesta"
+
+#: src/cryptsetup.c:3364
 msgid "dump LUKS partition information"
 msgstr "vedosta LUKS-osiotiedot"
 
 msgid "dump LUKS partition information"
 msgstr "vedosta LUKS-osiotiedot"
 
-#: src/cryptsetup.c:1375
+#: src/cryptsetup.c:3365
 msgid "dump TCRYPT device information"
 msgstr "vedosta TCRYPT-laitetiedot"
 
 msgid "dump TCRYPT device information"
 msgstr "vedosta TCRYPT-laitetiedot"
 
-#: src/cryptsetup.c:1376
-msgid "Suspend LUKS device and wipe key (all IOs are frozen)."
-msgstr ""
-"Keskeytä LUKS-laite ja pyyhi pois avain (kaikki siirräntäliitännät "
-"jäädytetään)."
+#: src/cryptsetup.c:3366
+#, fuzzy
+msgid "dump BITLK device information"
+msgstr "vedosta TCRYPT-laitetiedot"
+
+#: src/cryptsetup.c:3367
+#, fuzzy
+msgid "Suspend LUKS device and wipe key (all IOs are frozen)"
+msgstr "Keskeytä LUKS-laite ja pyyhi pois avain (kaikki siirräntäliitännät jäädytetään)."
 
 
-#: src/cryptsetup.c:1377
-msgid "Resume suspended LUKS device."
+#: src/cryptsetup.c:3368
+#, fuzzy
+msgid "Resume suspended LUKS device"
 msgstr "Aloita uudelleen pysäytetty LUKS-laite."
 
 msgstr "Aloita uudelleen pysäytetty LUKS-laite."
 
-#: src/cryptsetup.c:1378
+#: src/cryptsetup.c:3369
 msgid "Backup LUKS device header and keyslots"
 msgstr "Varmuuskopioi LUKS-laiteotsake ja avainvälit"
 
 msgid "Backup LUKS device header and keyslots"
 msgstr "Varmuuskopioi LUKS-laiteotsake ja avainvälit"
 
-#: src/cryptsetup.c:1379
+#: src/cryptsetup.c:3370
 msgid "Restore LUKS device header and keyslots"
 msgstr "Palauta LUKS-laiteotsake ja avainvälit"
 
 msgid "Restore LUKS device header and keyslots"
 msgstr "Palauta LUKS-laiteotsake ja avainvälit"
 
-#: src/cryptsetup.c:1396 src/veritysetup.c:328
+#: src/cryptsetup.c:3371
+msgid "<add|remove|import|export> <device>"
+msgstr ""
+
+#: src/cryptsetup.c:3371
+msgid "Manipulate LUKS2 tokens"
+msgstr ""
+
+#: src/cryptsetup.c:3389 src/veritysetup.c:412 src/integritysetup.c:498
 msgid ""
 "\n"
 "<action> is one of:\n"
 msgid ""
 "\n"
 "<action> is one of:\n"
@@ -1110,19 +2471,20 @@ msgstr ""
 "\n"
 "<toiminto> on yksi seuraavista:\n"
 
 "\n"
 "<toiminto> on yksi seuraavista:\n"
 
-#: src/cryptsetup.c:1402
+#: src/cryptsetup.c:3395
+#, fuzzy
 msgid ""
 "\n"
 "You can also use old <action> syntax aliases:\n"
 msgid ""
 "\n"
 "You can also use old <action> syntax aliases:\n"
-"\topen: create (plainOpen), luksOpen, loopaesOpen, tcryptOpen\n"
-"\tclose: remove (plainClose), luksClose, loopaesClose, tcryptClose\n"
+"\topen: create (plainOpen), luksOpen, loopaesOpen, tcryptOpen, bitlkOpen\n"
+"\tclose: remove (plainClose), luksClose, loopaesClose, tcryptClose, bitlkClose\n"
 msgstr ""
 "\n"
 "Voit myös käyttää vanhaa <toiminto>-syntaksialiasta:\n"
 "\topen: luo (plainOpen), luksOpen, loopaesOpen, tcryptOpen\n"
 "\tclose: poista (plainClose), luksClose, loopaesClose, tcryptClose\n"
 
 msgstr ""
 "\n"
 "Voit myös käyttää vanhaa <toiminto>-syntaksialiasta:\n"
 "\topen: luo (plainOpen), luksOpen, loopaesOpen, tcryptOpen\n"
 "\tclose: poista (plainClose), luksClose, loopaesClose, tcryptClose\n"
 
-#: src/cryptsetup.c:1406
+#: src/cryptsetup.c:3399
 #, c-format
 msgid ""
 "\n"
 #, c-format
 msgid ""
 "\n"
@@ -1135,17 +2497,24 @@ msgstr ""
 "<nimi> on laite, joka luodaan kohteen %s alaisena\n"
 "<laite> on salaussuojattu laite\n"
 "<avainväli> on LUKS-avainväli muokattavaksi\n"
 "<nimi> on laite, joka luodaan kohteen %s alaisena\n"
 "<laite> on salaussuojattu laite\n"
 "<avainväli> on LUKS-avainväli muokattavaksi\n"
-"<avaintiedosto> valinnainen avaintiedosto uudelle avaimelle luksAddKey-"
-"toimintoa varten\n"
+"<avaintiedosto> valinnainen avaintiedosto uudelle avaimelle luksAddKey-toimintoa varten\n"
 
 
-#: src/cryptsetup.c:1413
+#: src/cryptsetup.c:3406
 #, c-format
 msgid ""
 "\n"
 #, c-format
 msgid ""
 "\n"
+"Default compiled-in metadata format is %s (for luksFormat action).\n"
+msgstr ""
+
+#: src/cryptsetup.c:3411
+#, fuzzy, c-format
+msgid ""
+"\n"
 "Default compiled-in key and passphrase parameters:\n"
 "Default compiled-in key and passphrase parameters:\n"
-"\tMaximum keyfile size: %dkB, Maximum interactive passphrase length %d "
-"(characters)\n"
-"Default PBKDF2 iteration time for LUKS: %d (ms)\n"
+"\tMaximum keyfile size: %dkB, Maximum interactive passphrase length %d (characters)\n"
+"Default PBKDF for LUKS1: %s, iteration time: %d (ms)\n"
+"Default PBKDF for LUKS2: %s\n"
+"\tIteration time: %d, Memory required: %dkB, Parallel threads: %d\n"
 msgstr ""
 "\n"
 "Käännetyn avaintiedoston ja salasanan oletusparametrit:\n"
 msgstr ""
 "\n"
 "Käännetyn avaintiedoston ja salasanan oletusparametrit:\n"
@@ -1153,14 +2522,14 @@ msgstr ""
 "\tsalasanalauseen enimmäispituus %d (merkkiä)\n"
 "PBKDF2-iteroinnin enimmäisaika LUKS-avainvälille: %d (millisekuntia)\n"
 
 "\tsalasanalauseen enimmäispituus %d (merkkiä)\n"
 "PBKDF2-iteroinnin enimmäisaika LUKS-avainvälille: %d (millisekuntia)\n"
 
-#: src/cryptsetup.c:1420
-#, c-format
+#: src/cryptsetup.c:3422
+#, fuzzy, c-format
 msgid ""
 "\n"
 "Default compiled-in device cipher parameters:\n"
 "\tloop-AES: %s, Key %d bits\n"
 "\tplain: %s, Key: %d bits, Password hashing: %s\n"
 msgid ""
 "\n"
 "Default compiled-in device cipher parameters:\n"
 "\tloop-AES: %s, Key %d bits\n"
 "\tplain: %s, Key: %d bits, Password hashing: %s\n"
-"\tLUKS1: %s, Key: %d bits, LUKS header hashing: %s, RNG: %s\n"
+"\tLUKS: %s, Key: %d bits, LUKS header hashing: %s, RNG: %s\n"
 msgstr ""
 "\n"
 "Käännetyn laitesalakirjoitusmenetelmän oletusparametrit:\n"
 msgstr ""
 "\n"
 "Käännetyn laitesalakirjoitusmenetelmän oletusparametrit:\n"
@@ -1168,373 +2537,766 @@ msgstr ""
 "\tplain-tyyppi: %s, Avain: %d bittiä, Salasanatiivistys: %s\n"
 "\tLUKS1: %s, Avain: %d bittiä, LUKS-otsaketiivistys: %s, RNG: %s\n"
 
 "\tplain-tyyppi: %s, Avain: %d bittiä, Salasanatiivistys: %s\n"
 "\tLUKS1: %s, Avain: %d bittiä, LUKS-otsaketiivistys: %s, RNG: %s\n"
 
-#: src/cryptsetup.c:1437 src/veritysetup.c:460
+#: src/cryptsetup.c:3431
+msgid "\tLUKS: Default keysize with XTS mode (two internal keys) will be doubled.\n"
+msgstr ""
+
+#: src/cryptsetup.c:3447 src/veritysetup.c:569 src/integritysetup.c:642
 #, c-format
 msgid "%s: requires %s as arguments"
 msgstr "%s: vaatii %s argumentteina"
 
 #, c-format
 msgid "%s: requires %s as arguments"
 msgstr "%s: vaatii %s argumentteina"
 
-#: src/cryptsetup.c:1470 src/veritysetup.c:368 src/cryptsetup_reencrypt.c:1253
+#: src/cryptsetup.c:3480 src/veritysetup.c:457 src/integritysetup.c:536
+#: src/cryptsetup_reencrypt.c:1607
 msgid "Show this help message"
 msgstr "Näytä tämä opastesanoma"
 
 msgid "Show this help message"
 msgstr "Näytä tämä opastesanoma"
 
-#: src/cryptsetup.c:1471 src/veritysetup.c:369 src/cryptsetup_reencrypt.c:1254
+#: src/cryptsetup.c:3481 src/veritysetup.c:458 src/integritysetup.c:537
+#: src/cryptsetup_reencrypt.c:1608
 msgid "Display brief usage"
 msgstr "Näytä lyhyt käyttöopaste"
 
 msgid "Display brief usage"
 msgstr "Näytä lyhyt käyttöopaste"
 
-#: src/cryptsetup.c:1475 src/veritysetup.c:373 src/cryptsetup_reencrypt.c:1258
-msgid "Help options:"
-msgstr "Opastevalitsimet:"
-
-#: src/cryptsetup.c:1476 src/veritysetup.c:374 src/cryptsetup_reencrypt.c:1259
+#: src/cryptsetup.c:3482 src/veritysetup.c:459 src/integritysetup.c:538
+#: src/cryptsetup_reencrypt.c:1609
 msgid "Print package version"
 msgstr "Tulosta pakkausversio"
 
 msgid "Print package version"
 msgstr "Tulosta pakkausversio"
 
-#: src/cryptsetup.c:1477 src/veritysetup.c:375 src/cryptsetup_reencrypt.c:1260
+#: src/cryptsetup.c:3486 src/veritysetup.c:463 src/integritysetup.c:542
+#: src/cryptsetup_reencrypt.c:1613
+msgid "Help options:"
+msgstr "Opastevalitsimet:"
+
+#: src/cryptsetup.c:3487 src/veritysetup.c:464 src/integritysetup.c:543
+#: src/cryptsetup_reencrypt.c:1614
 msgid "Shows more detailed error messages"
 msgstr "Näyttää yksityiskohtaisemmat virheilmoitukset"
 
 msgid "Shows more detailed error messages"
 msgstr "Näyttää yksityiskohtaisemmat virheilmoitukset"
 
-#: src/cryptsetup.c:1478 src/veritysetup.c:376 src/cryptsetup_reencrypt.c:1261
+#: src/cryptsetup.c:3488 src/veritysetup.c:465 src/integritysetup.c:544
+#: src/cryptsetup_reencrypt.c:1615
 msgid "Show debug messages"
 msgstr "Näytä vianjäljityssanomat"
 
 msgid "Show debug messages"
 msgstr "Näytä vianjäljityssanomat"
 
-#: src/cryptsetup.c:1479 src/cryptsetup_reencrypt.c:1263
+#: src/cryptsetup.c:3489
+#, fuzzy
+msgid "Show debug messages including JSON metadata"
+msgstr "Näytä vianjäljityssanomat"
+
+#: src/cryptsetup.c:3490 src/cryptsetup_reencrypt.c:1617
 msgid "The cipher used to encrypt the disk (see /proc/crypto)"
 msgid "The cipher used to encrypt the disk (see /proc/crypto)"
-msgstr ""
-"Salakirjoitusmenetelmä, jota käytetään salaamaan levy (katso /proc/crypto)"
+msgstr "Salakirjoitusmenetelmä, jota käytetään salaamaan levy (katso /proc/crypto)"
 
 
-#: src/cryptsetup.c:1480 src/cryptsetup_reencrypt.c:1265
+#: src/cryptsetup.c:3491 src/cryptsetup_reencrypt.c:1619
 msgid "The hash used to create the encryption key from the passphrase"
 msgid "The hash used to create the encryption key from the passphrase"
-msgstr ""
-"Tiivisteavain, jota käytetään salausavaimen luomiseen salasanalauseesta"
+msgstr "Tiivisteavain, jota käytetään salausavaimen luomiseen salasanalauseesta"
 
 
-#: src/cryptsetup.c:1481
+#: src/cryptsetup.c:3492
 msgid "Verifies the passphrase by asking for it twice"
 msgstr "Todentaa salasanalauseen kysymällä kahdesti"
 
 msgid "Verifies the passphrase by asking for it twice"
 msgstr "Todentaa salasanalauseen kysymällä kahdesti"
 
-#: src/cryptsetup.c:1482 src/cryptsetup_reencrypt.c:1267
-msgid "Read the key from a file."
+#: src/cryptsetup.c:3493 src/cryptsetup_reencrypt.c:1621
+#, fuzzy
+msgid "Read the key from a file"
 msgstr "Lue avain tiedostosta."
 
 msgstr "Lue avain tiedostosta."
 
-#: src/cryptsetup.c:1483
+#: src/cryptsetup.c:3494
 msgid "Read the volume (master) key from file."
 msgstr "Lue taltion (pää)avain tiedostosta."
 
 msgid "Read the volume (master) key from file."
 msgstr "Lue taltion (pää)avain tiedostosta."
 
-#: src/cryptsetup.c:1484
-msgid "Dump volume (master) key instead of keyslots info."
+#: src/cryptsetup.c:3495
+#, fuzzy
+msgid "Dump volume (master) key instead of keyslots info"
 msgstr "Vedosta taltion (pää)avain eikä avainvälien tiedot."
 
 msgstr "Vedosta taltion (pää)avain eikä avainvälien tiedot."
 
-#: src/cryptsetup.c:1485 src/cryptsetup_reencrypt.c:1264
+#: src/cryptsetup.c:3496 src/cryptsetup_reencrypt.c:1618
 msgid "The size of the encryption key"
 msgstr "Salausavaimen koko"
 
 msgid "The size of the encryption key"
 msgstr "Salausavaimen koko"
 
-#: src/cryptsetup.c:1485 src/cryptsetup_reencrypt.c:1264
+#: src/cryptsetup.c:3496 src/cryptsetup.c:3557 src/integritysetup.c:562
+#: src/integritysetup.c:566 src/integritysetup.c:570
+#: src/cryptsetup_reencrypt.c:1618
 msgid "BITS"
 msgstr "BITTIÄ"
 
 msgid "BITS"
 msgstr "BITTIÄ"
 
-#: src/cryptsetup.c:1486 src/cryptsetup_reencrypt.c:1278
+#: src/cryptsetup.c:3497 src/cryptsetup_reencrypt.c:1634
 msgid "Limits the read from keyfile"
 msgstr "Avaintiedostosta luettavat rajat"
 
 msgid "Limits the read from keyfile"
 msgstr "Avaintiedostosta luettavat rajat"
 
-#: src/cryptsetup.c:1486 src/cryptsetup.c:1487 src/cryptsetup.c:1488
-#: src/cryptsetup.c:1489 src/veritysetup.c:379 src/veritysetup.c:380
-#: src/veritysetup.c:382 src/cryptsetup_reencrypt.c:1277
-#: src/cryptsetup_reencrypt.c:1278 src/cryptsetup_reencrypt.c:1279
-#: src/cryptsetup_reencrypt.c:1280
+#: src/cryptsetup.c:3497 src/cryptsetup.c:3498 src/cryptsetup.c:3499
+#: src/cryptsetup.c:3500 src/cryptsetup.c:3503 src/cryptsetup.c:3554
+#: src/cryptsetup.c:3555 src/cryptsetup.c:3563 src/cryptsetup.c:3564
+#: src/veritysetup.c:468 src/veritysetup.c:469 src/veritysetup.c:470
+#: src/veritysetup.c:473 src/veritysetup.c:474 src/integritysetup.c:551
+#: src/integritysetup.c:557 src/integritysetup.c:558
+#: src/cryptsetup_reencrypt.c:1633 src/cryptsetup_reencrypt.c:1634
+#: src/cryptsetup_reencrypt.c:1635 src/cryptsetup_reencrypt.c:1636
 msgid "bytes"
 msgstr "tavua"
 
 msgid "bytes"
 msgstr "tavua"
 
-#: src/cryptsetup.c:1487 src/cryptsetup_reencrypt.c:1277
+#: src/cryptsetup.c:3498 src/cryptsetup_reencrypt.c:1633
 msgid "Number of bytes to skip in keyfile"
 msgstr "Avaintiedostossa ohitettavien tavujen määrä"
 
 msgid "Number of bytes to skip in keyfile"
 msgstr "Avaintiedostossa ohitettavien tavujen määrä"
 
-#: src/cryptsetup.c:1488
+#: src/cryptsetup.c:3499
 msgid "Limits the read from newly added keyfile"
 msgstr "Äskettäin lisätystä avaintiedostosta luetut rajat"
 
 msgid "Limits the read from newly added keyfile"
 msgstr "Äskettäin lisätystä avaintiedostosta luetut rajat"
 
-#: src/cryptsetup.c:1489
+#: src/cryptsetup.c:3500
 msgid "Number of bytes to skip in newly added keyfile"
 msgstr "Ohitettu tavumäärä äskettäin lisätyssä avaintiedostossa"
 
 msgid "Number of bytes to skip in newly added keyfile"
 msgstr "Ohitettu tavumäärä äskettäin lisätyssä avaintiedostossa"
 
-#: src/cryptsetup.c:1490
+#: src/cryptsetup.c:3501
 msgid "Slot number for new key (default is first free)"
 msgstr "Välinumero uudelle avaimelle (oletus on ensimmäinen vapaa)"
 
 msgid "Slot number for new key (default is first free)"
 msgstr "Välinumero uudelle avaimelle (oletus on ensimmäinen vapaa)"
 
-#: src/cryptsetup.c:1491
+#: src/cryptsetup.c:3502
 msgid "The size of the device"
 msgstr "Laitteen koko"
 
 msgid "The size of the device"
 msgstr "Laitteen koko"
 
-#: src/cryptsetup.c:1491 src/cryptsetup.c:1492 src/cryptsetup.c:1493
-#: src/cryptsetup.c:1499
+#: src/cryptsetup.c:3502 src/cryptsetup.c:3504 src/cryptsetup.c:3505
+#: src/cryptsetup.c:3511 src/integritysetup.c:552 src/integritysetup.c:559
 msgid "SECTORS"
 msgstr "SEKTORIA"
 
 msgid "SECTORS"
 msgstr "SEKTORIA"
 
-#: src/cryptsetup.c:1492
+#: src/cryptsetup.c:3503 src/cryptsetup_reencrypt.c:1636
+msgid "Use only specified device size (ignore rest of device). DANGEROUS!"
+msgstr "Käytä vain määriteltyä laitekokoa (ohita laitteen loppu). VAARALLINEN!"
+
+#: src/cryptsetup.c:3504
 msgid "The start offset in the backend device"
 msgstr "Alkusiirrososoite taustalaitteessa"
 
 msgid "The start offset in the backend device"
 msgstr "Alkusiirrososoite taustalaitteessa"
 
-#: src/cryptsetup.c:1493
+#: src/cryptsetup.c:3505
 msgid "How many sectors of the encrypted data to skip at the beginning"
 msgstr "Kuinka monta salaustietojen sektoria ohitetaan alussa"
 
 msgid "How many sectors of the encrypted data to skip at the beginning"
 msgstr "Kuinka monta salaustietojen sektoria ohitetaan alussa"
 
-#: src/cryptsetup.c:1494
+#: src/cryptsetup.c:3506
 msgid "Create a readonly mapping"
 msgstr "Luo kirjoitussuojattu kuvaus"
 
 msgid "Create a readonly mapping"
 msgstr "Luo kirjoitussuojattu kuvaus"
 
-#: src/cryptsetup.c:1495 src/cryptsetup_reencrypt.c:1268
-msgid "PBKDF2 iteration time for LUKS (in ms)"
-msgstr "PBKDF2-iterointiaika kohteelle LUKS (millisekunneissa)"
-
-#: src/cryptsetup.c:1495 src/cryptsetup_reencrypt.c:1268
-msgid "msecs"
-msgstr "ms"
-
-#: src/cryptsetup.c:1496 src/cryptsetup_reencrypt.c:1269
+#: src/cryptsetup.c:3507 src/integritysetup.c:545
+#: src/cryptsetup_reencrypt.c:1624
 msgid "Do not ask for confirmation"
 msgstr "Älä pyydä vahvistusta"
 
 msgid "Do not ask for confirmation"
 msgstr "Älä pyydä vahvistusta"
 
-#: src/cryptsetup.c:1497
+#: src/cryptsetup.c:3508
 msgid "Timeout for interactive passphrase prompt (in seconds)"
 msgstr "Aikakatkaisu vuorovaikutteiselle salasanalausekyselylle (sekunteina)"
 
 msgid "Timeout for interactive passphrase prompt (in seconds)"
 msgstr "Aikakatkaisu vuorovaikutteiselle salasanalausekyselylle (sekunteina)"
 
-#: src/cryptsetup.c:1497
+#: src/cryptsetup.c:3508 src/cryptsetup.c:3509 src/integritysetup.c:546
+#: src/cryptsetup_reencrypt.c:1625
 msgid "secs"
 msgstr "s"
 
 msgid "secs"
 msgstr "s"
 
-#: src/cryptsetup.c:1498 src/cryptsetup_reencrypt.c:1270
+#: src/cryptsetup.c:3509 src/integritysetup.c:546
+#: src/cryptsetup_reencrypt.c:1625
+msgid "Progress line update (in seconds)"
+msgstr ""
+
+#: src/cryptsetup.c:3510 src/cryptsetup_reencrypt.c:1626
 msgid "How often the input of the passphrase can be retried"
 msgstr "Kuinka usein salasanasyötettä voidaan yrittää uudelleen"
 
 msgid "How often the input of the passphrase can be retried"
 msgstr "Kuinka usein salasanasyötettä voidaan yrittää uudelleen"
 
-#: src/cryptsetup.c:1499
+#: src/cryptsetup.c:3511
 msgid "Align payload at <n> sector boundaries - for luksFormat"
 msgid "Align payload at <n> sector boundaries - for luksFormat"
-msgstr ""
-"Tasaa tietosisältö osoitteessa <n> sektorirajoihin - kohdetta luksFormat "
-"varten"
+msgstr "Tasaa tietosisältö osoitteessa <n> sektorirajoihin - kohdetta luksFormat varten"
 
 
-#: src/cryptsetup.c:1500
-msgid "File with LUKS header and keyslots backup."
+#: src/cryptsetup.c:3512
+#, fuzzy
+msgid "File with LUKS header and keyslots backup"
 msgstr "Tiedosto LUKS-otsakkeella ja avainvälien varmuuskopiolla."
 
 msgstr "Tiedosto LUKS-otsakkeella ja avainvälien varmuuskopiolla."
 
-#: src/cryptsetup.c:1501 src/cryptsetup_reencrypt.c:1271
-msgid "Use /dev/random for generating volume key."
+#: src/cryptsetup.c:3513 src/cryptsetup_reencrypt.c:1627
+#, fuzzy
+msgid "Use /dev/random for generating volume key"
 msgstr "Käytä /dev/random taltioavaimen synnyttämiseen."
 
 msgstr "Käytä /dev/random taltioavaimen synnyttämiseen."
 
-#: src/cryptsetup.c:1502 src/cryptsetup_reencrypt.c:1272
-msgid "Use /dev/urandom for generating volume key."
-msgstr "Käytä /dev/urandom taltioavaimen synnyttämiseen."
+#: src/cryptsetup.c:3514 src/cryptsetup_reencrypt.c:1628
+#, fuzzy
+msgid "Use /dev/urandom for generating volume key"
+msgstr "Käytä /dev/urandom taltioavaimen synnyttämiseen."
+
+#: src/cryptsetup.c:3515
+#, fuzzy
+msgid "Share device with another non-overlapping crypt segment"
+msgstr "Jaa laite toisen ei-päällekkäisen salaussegmentin kanssa."
+
+#: src/cryptsetup.c:3516 src/veritysetup.c:477
+#, fuzzy
+msgid "UUID for device to use"
+msgstr "UUID laitteelle käytettäväksi."
+
+#: src/cryptsetup.c:3517 src/integritysetup.c:579
+#, fuzzy
+msgid "Allow discards (aka TRIM) requests for device"
+msgstr "Salli hylkäys(lempinimeltään TRIM)-pyynnöt laitteelle."
+
+#: src/cryptsetup.c:3518 src/cryptsetup_reencrypt.c:1645
+#, fuzzy
+msgid "Device or file with separated LUKS header"
+msgstr "Laite tai tiedosto erillisellä LUKS-otsakkeella."
+
+#: src/cryptsetup.c:3519
+#, fuzzy
+msgid "Do not activate device, just check passphrase"
+msgstr "Älä aktivoi laitetta, tarkista vain salasanalauseke."
+
+#: src/cryptsetup.c:3520
+#, fuzzy
+msgid "Use hidden header (hidden TCRYPT device)"
+msgstr "Käytä piilotettua otsaketta (piilotettu TCRYPT-laite)."
+
+#: src/cryptsetup.c:3521
+#, fuzzy
+msgid "Device is system TCRYPT drive (with bootloader)"
+msgstr "Laite on järjestelmä-TCRYPT-levyasema (alkulatausohjelmalla)."
+
+#: src/cryptsetup.c:3522
+#, fuzzy
+msgid "Use backup (secondary) TCRYPT header"
+msgstr "Käytä (toissijaista) TCRYPT-varmuuskopio-otsaketta."
+
+#: src/cryptsetup.c:3523
+#, fuzzy
+msgid "Scan also for VeraCrypt compatible device"
+msgstr "Tutkinta myös VeraCrypt-yhteensopivalle laitteelle."
+
+#: src/cryptsetup.c:3524
+#, fuzzy
+msgid "Personal Iteration Multiplier for VeraCrypt compatible device"
+msgstr "Tutkinta myös VeraCrypt-yhteensopivalle laitteelle."
+
+#: src/cryptsetup.c:3525
+#, fuzzy
+msgid "Query Personal Iteration Multiplier for VeraCrypt compatible device"
+msgstr "Tutkinta myös VeraCrypt-yhteensopivalle laitteelle."
+
+#: src/cryptsetup.c:3526
+#, fuzzy
+msgid "Type of device metadata: luks, luks1, luks2, plain, loopaes, tcrypt, bitlk"
+msgstr "Laitemetatietojen tyyppi: luks, plain, loopaes, tcrypt."
+
+#: src/cryptsetup.c:3527
+#, fuzzy
+msgid "Disable password quality check (if enabled)"
+msgstr "Ota pois käytöstä salasanan laatutarkistus (jos käytössä)."
+
+#: src/cryptsetup.c:3528
+#, fuzzy
+msgid "Use dm-crypt same_cpu_crypt performance compatibility option"
+msgstr "Käytä dm-crypt same_cpu_crypt-suorituskyky-yhteensopivuusvalitsinta."
+
+#: src/cryptsetup.c:3529
+#, fuzzy
+msgid "Use dm-crypt submit_from_crypt_cpus performance compatibility option"
+msgstr "Käytä dm-crypt submit_from_crypt_cpus-suorituskyky-yhteensopivuusvalitsinta."
+
+#: src/cryptsetup.c:3530
+msgid "Device removal is deferred until the last user closes it"
+msgstr ""
+
+#: src/cryptsetup.c:3531
+msgid "Use global lock to serialize memory hard PBKDF (OOM workaround)"
+msgstr ""
+
+#: src/cryptsetup.c:3532
+#, fuzzy
+msgid "PBKDF iteration time for LUKS (in ms)"
+msgstr "PBKDF2-iterointiaika kohteelle LUKS (millisekunneissa)"
+
+#: src/cryptsetup.c:3532 src/cryptsetup_reencrypt.c:1623
+msgid "msecs"
+msgstr "ms"
+
+#: src/cryptsetup.c:3533 src/cryptsetup_reencrypt.c:1641
+msgid "PBKDF algorithm (for LUKS2): argon2i, argon2id, pbkdf2"
+msgstr ""
+
+#: src/cryptsetup.c:3534 src/cryptsetup_reencrypt.c:1642
+msgid "PBKDF memory cost limit"
+msgstr ""
+
+#: src/cryptsetup.c:3534 src/cryptsetup_reencrypt.c:1642
+#, fuzzy
+msgid "kilobytes"
+msgstr "tavua"
+
+#: src/cryptsetup.c:3535 src/cryptsetup_reencrypt.c:1643
+msgid "PBKDF parallel cost"
+msgstr ""
+
+#: src/cryptsetup.c:3535 src/cryptsetup_reencrypt.c:1643
+msgid "threads"
+msgstr ""
+
+#: src/cryptsetup.c:3536 src/cryptsetup_reencrypt.c:1644
+msgid "PBKDF iterations cost (forced, disables benchmark)"
+msgstr ""
+
+#: src/cryptsetup.c:3537
+msgid "Keyslot priority: ignore, normal, prefer"
+msgstr ""
+
+#: src/cryptsetup.c:3538
+#, fuzzy
+msgid "Disable locking of on-disk metadata"
+msgstr "yritä korjata levyn sisäiset metatiedot"
+
+#: src/cryptsetup.c:3539
+msgid "Disable loading volume keys via kernel keyring"
+msgstr ""
+
+#: src/cryptsetup.c:3540
+msgid "Data integrity algorithm (LUKS2 only)"
+msgstr ""
+
+#: src/cryptsetup.c:3541 src/integritysetup.c:573
+msgid "Disable journal for integrity device"
+msgstr ""
+
+#: src/cryptsetup.c:3542 src/integritysetup.c:547
+msgid "Do not wipe device after format"
+msgstr ""
+
+#: src/cryptsetup.c:3543 src/integritysetup.c:577
+msgid "Use inefficient legacy padding (old kernels)"
+msgstr ""
+
+#: src/cryptsetup.c:3544
+msgid "Do not ask for passphrase if activation by token fails"
+msgstr ""
+
+#: src/cryptsetup.c:3545
+msgid "Token number (default: any)"
+msgstr ""
+
+#: src/cryptsetup.c:3546
+msgid "Key description"
+msgstr ""
+
+#: src/cryptsetup.c:3547
+msgid "Encryption sector size (default: 512 bytes)"
+msgstr ""
+
+#: src/cryptsetup.c:3548
+msgid "Use IV counted in sector size (not in 512 bytes)"
+msgstr ""
+
+#: src/cryptsetup.c:3549
+msgid "Set activation flags persistent for device"
+msgstr ""
+
+#: src/cryptsetup.c:3550
+#, fuzzy
+msgid "Set label for the LUKS2 device"
+msgstr "pohjustaa LUKS-laitteen"
+
+#: src/cryptsetup.c:3551
+msgid "Set subsystem label for the LUKS2 device"
+msgstr ""
+
+#: src/cryptsetup.c:3552
+msgid "Create or dump unbound (no assigned data segment) LUKS2 keyslot"
+msgstr ""
+
+#: src/cryptsetup.c:3553
+#, fuzzy
+msgid "Read or write the json from or to a file"
+msgstr "Lue avain tiedostosta."
+
+#: src/cryptsetup.c:3554
+msgid "LUKS2 header metadata area size"
+msgstr ""
 
 
-#: src/cryptsetup.c:1503
-msgid "Share device with another non-overlapping crypt segment."
-msgstr "Jaa laite toisen ei-päällekkäisen salaussegmentin kanssa."
+#: src/cryptsetup.c:3555
+#, fuzzy
+msgid "LUKS2 header keyslots area size"
+msgstr "Tiedosto LUKS-otsakkeella ja avainvälien varmuuskopiolla."
 
 
-#: src/cryptsetup.c:1504 src/veritysetup.c:385
-msgid "UUID for device to use."
-msgstr "UUID laitteelle käytettäväksi."
+#: src/cryptsetup.c:3556
+msgid "Refresh (reactivate) device with new parameters"
+msgstr ""
 
 
-#: src/cryptsetup.c:1505
-msgid "Allow discards (aka TRIM) requests for device."
-msgstr "Salli hylkäys(lempinimeltään TRIM)-pyynnöt laitteelle."
+#: src/cryptsetup.c:3557
+#, fuzzy
+msgid "LUKS2 keyslot: The size of the encryption key"
+msgstr "Salausavaimen koko"
 
 
-#: src/cryptsetup.c:1506
-msgid "Device or file with separated LUKS header."
-msgstr "Laite tai tiedosto erillisellä LUKS-otsakkeella."
+#: src/cryptsetup.c:3558
+msgid "LUKS2 keyslot: The cipher used for keyslot encryption"
+msgstr ""
 
 
-#: src/cryptsetup.c:1507
-msgid "Do not activate device, just check passphrase."
-msgstr "Älä aktivoi laitetta, tarkista vain salasanalauseke."
+#: src/cryptsetup.c:3559
+#, fuzzy
+msgid "Encrypt LUKS2 device (in-place encryption)."
+msgstr "Poista laitteen salaus pysyvästi (poista salaus)"
 
 
-#: src/cryptsetup.c:1508
-msgid "Use hidden header (hidden TCRYPT device)."
-msgstr "Käytä piilotettua otsaketta (piilotettu TCRYPT-laite)."
+#: src/cryptsetup.c:3560
+#, fuzzy
+msgid "Decrypt LUKS2 device (remove encryption)."
+msgstr "Poista laitteen salaus pysyvästi (poista salaus)"
 
 
-#: src/cryptsetup.c:1509
-msgid "Device is system TCRYPT drive (with bootloader)."
-msgstr "Laite on järjestelmä-TCRYPT-levyasema (alkulatausohjelmalla)."
+#: src/cryptsetup.c:3561
+msgid "Initialize LUKS2 reencryption in metadata only."
+msgstr ""
 
 
-#: src/cryptsetup.c:1510
-msgid "Use backup (secondary) TCRYPT header."
-msgstr "Käytä (toissijaista) TCRYPT-varmuuskopio-otsaketta."
+#: src/cryptsetup.c:3562
+msgid "Resume initialized LUKS2 reencryption only."
+msgstr ""
 
 
-#: src/cryptsetup.c:1511
-msgid "Scan also for VeraCrypt compatible device."
-msgstr "Tutkinta myös VeraCrypt-yhteensopivalle laitteelle."
+#: src/cryptsetup.c:3563 src/cryptsetup_reencrypt.c:1635
+msgid "Reduce data device size (move data offset). DANGEROUS!"
+msgstr "Pienennä datalaitekokoa (siirrä datasiirrososoitetta). VAARALLINEN!"
 
 
-#: src/cryptsetup.c:1512
-msgid "Type of device metadata: luks, plain, loopaes, tcrypt."
-msgstr "Laitemetatietojen tyyppi: luks, plain, loopaes, tcrypt."
+#: src/cryptsetup.c:3564
+#, fuzzy
+msgid "Maximal reencryption hotzone size."
+msgstr "Uudelleensalauslohkon koko"
 
 
-#: src/cryptsetup.c:1513
-msgid "Disable password quality check (if enabled)."
-msgstr "Ota pois käytöstä salasanan laatutarkistus (jos käytössä)."
+#: src/cryptsetup.c:3565
+msgid "Reencryption hotzone resilience type (checksum,journal,none)"
+msgstr ""
 
 
-#: src/cryptsetup.c:1514
-msgid "Use dm-crypt same_cpu_crypt performance compatibility option."
-msgstr "Käytä dm-crypt same_cpu_crypt-suorituskyky-yhteensopivuusvalitsinta."
+#: src/cryptsetup.c:3566
+#, fuzzy
+msgid "Reencryption hotzone checksums hash"
+msgstr "Uudelleensalauslohkon koko"
 
 
-#: src/cryptsetup.c:1515
-msgid "Use dm-crypt submit_from_crypt_cpus performance compatibility option."
+#: src/cryptsetup.c:3567
+msgid "Override device autodetection of dm device to be reencrypted"
 msgstr ""
 msgstr ""
-"Käytä dm-crypt submit_from_crypt_cpus-suorituskyky-yhteensopivuusvalitsinta."
 
 
-#: src/cryptsetup.c:1531 src/veritysetup.c:402
+#: src/cryptsetup.c:3583 src/veritysetup.c:499 src/integritysetup.c:595
 msgid "[OPTION...] <action> <action-specific>"
 msgstr "[VALITSIN...] <toiminto> <toimintokohtainen>"
 
 msgid "[OPTION...] <action> <action-specific>"
 msgstr "[VALITSIN...] <toiminto> <toimintokohtainen>"
 
-#: src/cryptsetup.c:1572
-msgid "Running in FIPS mode.\n"
-msgstr "Suoritetaan FIPS-tilassa.\n"
-
-#: src/cryptsetup.c:1581 src/veritysetup.c:439
+#: src/cryptsetup.c:3634 src/veritysetup.c:533 src/integritysetup.c:606
 msgid "Argument <action> missing."
 msgstr "Argumentti <toiminto> puuttuu."
 
 msgid "Argument <action> missing."
 msgstr "Argumentti <toiminto> puuttuu."
 
-#: src/cryptsetup.c:1634 src/veritysetup.c:445
+#: src/cryptsetup.c:3703 src/veritysetup.c:564 src/integritysetup.c:637
 msgid "Unknown action."
 msgstr "Tuntematon toiminto."
 
 msgid "Unknown action."
 msgstr "Tuntematon toiminto."
 
-#: src/cryptsetup.c:1644
-msgid "Option --shared is allowed only for open of plain device.\n"
+#: src/cryptsetup.c:3713
+msgid "Options --refresh and --test-passphrase are mutually exclusive."
+msgstr ""
+
+#: src/cryptsetup.c:3718
+#, fuzzy
+msgid "Option --deferred is allowed only for close command."
+msgstr "Valitsin --shared sallitaan vain pelkän laitteen avaukseen.\n"
+
+#: src/cryptsetup.c:3723
+#, fuzzy
+msgid "Option --shared is allowed only for open of plain device."
 msgstr "Valitsin --shared sallitaan vain pelkän laitteen avaukseen.\n"
 
 msgstr "Valitsin --shared sallitaan vain pelkän laitteen avaukseen.\n"
 
-#: src/cryptsetup.c:1649
-msgid "Option --allow-discards is allowed only for open operation.\n"
+#: src/cryptsetup.c:3728 src/integritysetup.c:654
+#, fuzzy
+msgid "Option --allow-discards is allowed only for open operation."
+msgstr "Valitsin --allow-discards sallitaan vain open-toiminnolle.\n"
+
+#: src/cryptsetup.c:3733
+#, fuzzy
+msgid "Option --persistent is allowed only for open operation."
+msgstr "Valitsin --allow-discards sallitaan vain open-toiminnolle.\n"
+
+#: src/cryptsetup.c:3738
+#, fuzzy
+msgid "Option --serialize-memory-hard-pbkdf is allowed only for open operation."
 msgstr "Valitsin --allow-discards sallitaan vain open-toiminnolle.\n"
 
 msgstr "Valitsin --allow-discards sallitaan vain open-toiminnolle.\n"
 
-#: src/cryptsetup.c:1657
+#: src/cryptsetup.c:3743
+msgid "Option --persistent is not allowed with --test-passphrase."
+msgstr ""
+
+#: src/cryptsetup.c:3753
+#, fuzzy
 msgid ""
 msgid ""
-"Option --key-size is allowed only for luksFormat, open and benchmark.\n"
-"To limit read from keyfile use --keyfile-size=(bytes)."
+"Option --key-size is allowed only for luksFormat, luksAddKey,\n"
+"open and benchmark actions. To limit read from keyfile use --keyfile-size=(bytes)."
 msgstr ""
 "Valitsin --key-size sallitaan vain muodoille luksFormat, open ja benchmark.\n"
 msgstr ""
 "Valitsin --key-size sallitaan vain muodoille luksFormat, open ja benchmark.\n"
-"Käytä avaintiedostosta lukemisen rajoittamiseksi valitsinta --keyfile-"
-"size=(tavua)."
+"Käytä avaintiedostosta lukemisen rajoittamiseksi valitsinta --keyfile-size=(tavua)."
 
 
-#: src/cryptsetup.c:1664
-msgid ""
-"Option --test-passphrase is allowed only for open of LUKS and TCRYPT "
-"devices.\n"
+#: src/cryptsetup.c:3759
+#, fuzzy
+msgid "Option --integrity is allowed only for luksFormat (LUKS2)."
+msgstr "Valitsin --align-payload sallitaan vain luksFormat-muodolle."
+
+#: src/cryptsetup.c:3764
+msgid "Option --integrity-no-wipe can be used only for format action with integrity extension."
 msgstr ""
 msgstr ""
-"Valitsin --test-passphrase sallitaan vain LUKS- ja TCRYPT-laitteiden "
-"avaamiseen.\n"
 
 
-#: src/cryptsetup.c:1669 src/cryptsetup_reencrypt.c:1341
+#: src/cryptsetup.c:3770
+#, fuzzy
+msgid "Options --label and --subsystem are allowed only for luksFormat and config LUKS2 operations."
+msgstr "Valitsin --uuid sallitaan vain luksFormat-muodolle ja luksUUID-muodolle."
+
+#: src/cryptsetup.c:3776
+#, fuzzy
+msgid "Option --test-passphrase is allowed only for open of LUKS, TCRYPT and BITLK devices."
+msgstr "Valitsin --test-passphrase sallitaan vain LUKS- ja TCRYPT-laitteiden avaamiseen.\n"
+
+#: src/cryptsetup.c:3781 src/cryptsetup_reencrypt.c:1708
 msgid "Key size must be a multiple of 8 bits"
 msgstr "Avainkoon on oltava 8-bitin monikerta"
 
 msgid "Key size must be a multiple of 8 bits"
 msgstr "Avainkoon on oltava 8-bitin monikerta"
 
-#: src/cryptsetup.c:1676 src/cryptsetup_reencrypt.c:1346
+#: src/cryptsetup.c:3787 src/cryptsetup_reencrypt.c:1394
+#: src/cryptsetup_reencrypt.c:1713
 msgid "Key slot is invalid."
 msgstr "Avainväli on virheellinen."
 
 msgid "Key slot is invalid."
 msgstr "Avainväli on virheellinen."
 
-#: src/cryptsetup.c:1683
-msgid "Option --key-file takes precedence over specified key file argument.\n"
-msgstr ""
-"Valitsin --key-file on ensisijainen määritellylle "
-"avaintiedostoargumentille.\n"
+#: src/cryptsetup.c:3794
+#, fuzzy
+msgid "Option --key-file takes precedence over specified key file argument."
+msgstr "Valitsin --key-file on ensisijainen määritellylle avaintiedostoargumentille.\n"
 
 
-#: src/cryptsetup.c:1691 src/veritysetup.c:467 src/cryptsetup_reencrypt.c:1330
+#: src/cryptsetup.c:3801 src/veritysetup.c:576 src/integritysetup.c:663
+#: src/cryptsetup_reencrypt.c:1687
 msgid "Negative number for option not permitted."
 msgstr "Valitsimelle ei sallita negatiivista numeroa."
 
 msgid "Negative number for option not permitted."
 msgstr "Valitsimelle ei sallita negatiivista numeroa."
 
-#: src/cryptsetup.c:1695 src/cryptsetup_reencrypt.c:1324
-#: src/cryptsetup_reencrypt.c:1350
+#: src/cryptsetup.c:3805
+#, fuzzy
+msgid "Only one --key-file argument is allowed."
+msgstr "Vain yksi --use-[u]random -valitsin on sallittu."
+
+#: src/cryptsetup.c:3809 src/cryptsetup_reencrypt.c:1679
+#: src/cryptsetup_reencrypt.c:1717
 msgid "Only one of --use-[u]random options is allowed."
 msgstr "Vain yksi --use-[u]random -valitsin on sallittu."
 
 msgid "Only one of --use-[u]random options is allowed."
 msgstr "Vain yksi --use-[u]random -valitsin on sallittu."
 
-#: src/cryptsetup.c:1699
+#: src/cryptsetup.c:3813
 msgid "Option --use-[u]random is allowed only for luksFormat."
 msgstr "Valitsin --use-[u]random sallitaan vain luksFormat-muodolle."
 
 msgid "Option --use-[u]random is allowed only for luksFormat."
 msgstr "Valitsin --use-[u]random sallitaan vain luksFormat-muodolle."
 
-#: src/cryptsetup.c:1703
+#: src/cryptsetup.c:3817
 msgid "Option --uuid is allowed only for luksFormat and luksUUID."
 msgid "Option --uuid is allowed only for luksFormat and luksUUID."
-msgstr ""
-"Valitsin --uuid sallitaan vain luksFormat-muodolle ja luksUUID-muodolle."
+msgstr "Valitsin --uuid sallitaan vain luksFormat-muodolle ja luksUUID-muodolle."
 
 
-#: src/cryptsetup.c:1707
+#: src/cryptsetup.c:3821
 msgid "Option --align-payload is allowed only for luksFormat."
 msgstr "Valitsin --align-payload sallitaan vain luksFormat-muodolle."
 
 msgid "Option --align-payload is allowed only for luksFormat."
 msgstr "Valitsin --align-payload sallitaan vain luksFormat-muodolle."
 
-#: src/cryptsetup.c:1713
-msgid ""
-"Option --skip is supported only for open of plain and loopaes devices.\n"
+#: src/cryptsetup.c:3825
+msgid "Options --luks2-metadata-size and --opt-luks2-keyslots-size are allowed only for luksFormat with LUKS2."
 msgstr ""
 msgstr ""
-"Valitsinta --skip tuetaan vain plain- ja loopaes-laitteiden avaamiseen.\n"
 
 
-#: src/cryptsetup.c:1719
-msgid ""
-"Option --offset is supported only for open of plain and loopaes devices.\n"
+#: src/cryptsetup.c:3830
+#, fuzzy
+msgid "Invalid LUKS2 metadata size specification."
+msgstr "Virheellinen laitekokomäärittely."
+
+#: src/cryptsetup.c:3834
+#, fuzzy
+msgid "Invalid LUKS2 keyslots size specification."
+msgstr "Virheellinen laitekokomäärittely."
+
+#: src/cryptsetup.c:3838
+#, fuzzy
+msgid "Options --align-payload and --offset cannot be combined."
+msgstr "Valitsin --align-payload sallitaan vain luksFormat-muodolle."
+
+#: src/cryptsetup.c:3844
+#, fuzzy
+msgid "Option --skip is supported only for open of plain and loopaes devices."
+msgstr "Valitsinta --skip tuetaan vain plain- ja loopaes-laitteiden avaamiseen.\n"
+
+#: src/cryptsetup.c:3851
+#, fuzzy
+msgid "Option --offset is supported only for open of plain and loopaes devices, luksFormat and device reencryption."
+msgstr "Valitsinta --offset tuetaan vain plain- ja loopaes-laitteiden avaamiseen.\n"
+
+#: src/cryptsetup.c:3857
+#, fuzzy
+msgid "Option --tcrypt-hidden, --tcrypt-system or --tcrypt-backup is supported only for TCRYPT device."
+msgstr "Valitsinta --tcrypt-hidden, --tcrypt-system tai --tcrypt-backup tuetaan vain TCRYPT-laiteeelle.\n"
+
+#: src/cryptsetup.c:3862
+#, fuzzy
+msgid "Option --tcrypt-hidden cannot be combined with --allow-discards."
+msgstr "Valitsinta --tcrypt-hidden ei voida yhdistää valitsimeen --allow-discards.\n"
+
+#: src/cryptsetup.c:3867
+#, fuzzy
+msgid "Option --veracrypt is supported only for TCRYPT device type."
+msgstr "Valitsinta --veracrypt tuetaan vain TCRYPT-laiteeelle.\n"
+
+#: src/cryptsetup.c:3873
+msgid "Invalid argument for parameter --veracrypt-pim supplied."
 msgstr ""
 msgstr ""
-"Valitsinta --offset tuetaan vain plain- ja loopaes-laitteiden avaamiseen.\n"
 
 
-#: src/cryptsetup.c:1725
-msgid ""
-"Option --tcrypt-hidden, --tcrypt-system or --tcrypt-backup is supported only "
-"for TCRYPT device.\n"
+#: src/cryptsetup.c:3877
+#, fuzzy
+msgid "Option --veracrypt-pim is supported only for VeraCrypt compatible devices."
+msgstr "Valitsinta --veracrypt tuetaan vain TCRYPT-laiteeelle.\n"
+
+#: src/cryptsetup.c:3885
+#, fuzzy
+msgid "Option --veracrypt-query-pim is supported only for VeraCrypt compatible devices."
+msgstr "Valitsinta --veracrypt tuetaan vain TCRYPT-laiteeelle.\n"
+
+#: src/cryptsetup.c:3889
+msgid "The options --veracrypt-pim and --veracrypt-query-pim are mutually exclusive."
 msgstr ""
 msgstr ""
-"Valitsinta --tcrypt-hidden, --tcrypt-system tai --tcrypt-backup tuetaan vain "
-"TCRYPT-laiteeelle.\n"
 
 
-#: src/cryptsetup.c:1730
-msgid "Option --tcrypt-hidden cannot be combined with --allow-discards.\n"
+#: src/cryptsetup.c:3896
+msgid "Option --priority can be only ignore/normal/prefer."
 msgstr ""
 msgstr ""
-"Valitsinta --tcrypt-hidden ei voida yhdistää valitsimeen --allow-discards.\n"
 
 
-#: src/cryptsetup.c:1735
-msgid "Option --veracrypt is supported only for TCRYPT device type.\n"
-msgstr "Valitsinta --veracrypt tuetaan vain TCRYPT-laiteeelle.\n"
+#: src/cryptsetup.c:3901 src/cryptsetup.c:3939
+msgid "Keyslot specification is required."
+msgstr ""
+
+#: src/cryptsetup.c:3906 src/cryptsetup_reencrypt.c:1693
+msgid "Password-based key derivation function (PBKDF) can be only pbkdf2 or argon2i/argon2id."
+msgstr ""
+
+#: src/cryptsetup.c:3911 src/cryptsetup_reencrypt.c:1698
+msgid "PBKDF forced iterations cannot be combined with iteration time option."
+msgstr ""
+
+#: src/cryptsetup.c:3917
+#, fuzzy
+msgid "Sector size option is not supported for this command."
+msgstr "Tätä toimintoa ei tueta tälle laitetyypille.\n"
+
+#: src/cryptsetup.c:3929
+msgid "Large IV sectors option is supported only for opening plain type device with sector size larger than 512 bytes."
+msgstr ""
+
+#: src/cryptsetup.c:3934
+msgid "Key size is required with --unbound option."
+msgstr ""
+
+#: src/cryptsetup.c:3944
+msgid "Option --unbound may be used only with luksAddKey and luksDump actions."
+msgstr ""
+
+#: src/cryptsetup.c:3949
+#, fuzzy
+msgid "Option --refresh may be used only with open action."
+msgstr "Valitsinta --keep-key voidaan käyttää vain valitsimen --hash tai --iter-time kanssa."
+
+#: src/cryptsetup.c:3960
+msgid "Cannot disable metadata locking."
+msgstr ""
+
+#: src/cryptsetup.c:3970
+#, fuzzy
+msgid "Invalid max reencryption hotzone size specification."
+msgstr "Virheellinen laitekokomäärittely."
+
+#: src/cryptsetup.c:3978 src/cryptsetup_reencrypt.c:1722
+#: src/cryptsetup_reencrypt.c:1727
+msgid "Invalid device size specification."
+msgstr "Virheellinen laitekokomäärittely."
+
+#: src/cryptsetup.c:3981
+#, fuzzy
+msgid "Maximum device reduce size is 1 GiB."
+msgstr "Maksimi laitepienennyskoko on 64 mebitavua."
+
+#: src/cryptsetup.c:3984 src/cryptsetup_reencrypt.c:1733
+msgid "Reduce size must be multiple of 512 bytes sector."
+msgstr "Pienennyskoon on oltava 512-tavuisen sektorin monikerta."
+
+#: src/cryptsetup.c:3989
+#, fuzzy
+msgid "Invalid data size specification."
+msgstr "Virheellinen laitekokomäärittely."
+
+#: src/cryptsetup.c:3994
+#, fuzzy
+msgid "Reduce size overflow."
+msgstr "Laitesiirrososoitteen ylivuoto.\n"
+
+#: src/cryptsetup.c:3998
+msgid "LUKS2 decryption requires option --header."
+msgstr ""
 
 
-#: src/veritysetup.c:58
-msgid "Invalid salt string specified.\n"
+#: src/cryptsetup.c:4002
+#, fuzzy
+msgid "Device size must be multiple of 512 bytes sector."
+msgstr "Pienennyskoon on oltava 512-tavuisen sektorin monikerta."
+
+#: src/cryptsetup.c:4006
+msgid "Options --reduce-device-size and --data-size cannot be combined."
+msgstr ""
+
+#: src/cryptsetup.c:4010
+msgid "Options --device-size and --size cannot be combined."
+msgstr ""
+
+#: src/cryptsetup.c:4014
+msgid "Options --keyslot-cipher and --keyslot-key-size must be used together."
+msgstr ""
+
+#: src/veritysetup.c:66
+#, fuzzy
+msgid "Invalid salt string specified."
 msgstr "Määritelty virheellinen satunnaisarvosiemenmerkkijono.\n"
 
 msgstr "Määritelty virheellinen satunnaisarvosiemenmerkkijono.\n"
 
-#: src/veritysetup.c:88
-#, c-format
-msgid "Cannot create hash image %s for writing.\n"
+#: src/veritysetup.c:97
+#, fuzzy, c-format
+msgid "Cannot create hash image %s for writing."
+msgstr "Tiivistevedoksen %s luominen kirjoittamista varten epäonnistui.\n"
+
+#: src/veritysetup.c:107
+#, fuzzy, c-format
+msgid "Cannot create FEC image %s for writing."
 msgstr "Tiivistevedoksen %s luominen kirjoittamista varten epäonnistui.\n"
 
 msgstr "Tiivistevedoksen %s luominen kirjoittamista varten epäonnistui.\n"
 
-#: src/veritysetup.c:148
-msgid "Invalid root hash string specified.\n"
+#: src/veritysetup.c:179
+#, fuzzy
+msgid "Invalid root hash string specified."
 msgstr "Virheellinen root-tiivistemerkkijono määritelty.\n"
 
 msgstr "Virheellinen root-tiivistemerkkijono määritelty.\n"
 
-#: src/veritysetup.c:308
+#: src/veritysetup.c:187
+#, fuzzy, c-format
+msgid "Invalid signature file %s."
+msgstr "Virheellinen laite %s.\n"
+
+#: src/veritysetup.c:194
+#, fuzzy, c-format
+msgid "Cannot read signature file %s."
+msgstr "Avaintiedoston %s lukeminen epäonnistui.\n"
+
+#: src/veritysetup.c:392
 msgid "<data_device> <hash_device>"
 msgstr "<data_laite> <tiiviste_laite>"
 
 msgid "<data_device> <hash_device>"
 msgstr "<data_laite> <tiiviste_laite>"
 
-#: src/veritysetup.c:308
+#: src/veritysetup.c:392 src/integritysetup.c:479
 msgid "format device"
 msgstr "pohjusta laite"
 
 msgid "format device"
 msgstr "pohjusta laite"
 
-#: src/veritysetup.c:309
+#: src/veritysetup.c:393
 msgid "<data_device> <hash_device> <root_hash>"
 msgstr "<data_laite> <tiiviste_laite> <root_tiiviste>"
 
 msgid "<data_device> <hash_device> <root_hash>"
 msgstr "<data_laite> <tiiviste_laite> <root_tiiviste>"
 
-#: src/veritysetup.c:309
+#: src/veritysetup.c:393
 msgid "verify device"
 msgstr "todenna laite"
 
 msgid "verify device"
 msgstr "todenna laite"
 
-#: src/veritysetup.c:310
-msgid "<name> <data_device> <hash_device> <root_hash>"
-msgstr "<nimi> <data_laite> <tiiviste_laite> <root_tiiviste>"
-
-#: src/veritysetup.c:310
-msgid "create active device"
-msgstr "luo aktiivilaite"
-
-#: src/veritysetup.c:311
-msgid "remove (deactivate) device"
-msgstr "poista (deaktivoi) laite"
+#: src/veritysetup.c:394
+#, fuzzy
+msgid "<data_device> <name> <hash_device> <root_hash>"
+msgstr "<data_laite> <tiiviste_laite> <root_tiiviste>"
 
 
-#: src/veritysetup.c:312
+#: src/veritysetup.c:396 src/integritysetup.c:482
 msgid "show active device status"
 msgstr "näytä aktiivilaitteen tila"
 
 msgid "show active device status"
 msgstr "näytä aktiivilaitteen tila"
 
-#: src/veritysetup.c:313
+#: src/veritysetup.c:397
 msgid "<hash_device>"
 msgstr "<tiiviste_laite>"
 
 msgid "<hash_device>"
 msgstr "<tiiviste_laite>"
 
-#: src/veritysetup.c:313
+#: src/veritysetup.c:397 src/integritysetup.c:483
 msgid "show on-disk information"
 msgstr "näytä paikallisen levyn tiedot"
 
 msgid "show on-disk information"
 msgstr "näytä paikallisen levyn tiedot"
 
-#: src/veritysetup.c:332
+#: src/veritysetup.c:416
 #, c-format
 msgid ""
 "\n"
 #, c-format
 msgid ""
 "\n"
@@ -1543,355 +3305,880 @@ msgid ""
 "<hash_device> is the device containing verification data\n"
 "<root_hash> hash of the root node on <hash_device>\n"
 msgstr ""
 "<hash_device> is the device containing verification data\n"
 "<root_hash> hash of the root node on <hash_device>\n"
 msgstr ""
-"\n"
-"<nimi> on kohteen alle %s luotava laite\n"
-"<data_laite> on datalaite\n"
-"<tiiviste_laite> on todennusdataa sisältävä laite\n"
-"<root_tiiviste> root-solmun tiiviste kohteella <tiiviste_laite>\n"
+"\n"
+"<nimi> on kohteen alle %s luotava laite\n"
+"<data_laite> on datalaite\n"
+"<tiiviste_laite> on todennusdataa sisältävä laite\n"
+"<root_tiiviste> root-solmun tiiviste kohteella <tiiviste_laite>\n"
+
+#: src/veritysetup.c:423
+#, c-format
+msgid ""
+"\n"
+"Default compiled-in dm-verity parameters:\n"
+"\tHash: %s, Data block (bytes): %u, Hash block (bytes): %u, Salt size: %u, Hash format: %u\n"
+msgstr ""
+"\n"
+"Käännetyt dm-verity oletusparametrit:\n"
+"\tTiiviste: %s, Data-lohko (tavua): %u, Tiivistelohko (tavua): %u, Satunnaislukuarvosiemenen koko: %u, Tiivistemuoto: %u\n"
+
+#: src/veritysetup.c:466
+msgid "Do not use verity superblock"
+msgstr "Älä käytä verity-superlohkoa"
+
+#: src/veritysetup.c:467
+msgid "Format type (1 - normal, 0 - original Chrome OS)"
+msgstr "Muototyyppi (1 - normaali, 0 - alkuperäinen Chrome OS)"
+
+#: src/veritysetup.c:467
+msgid "number"
+msgstr "numero"
+
+#: src/veritysetup.c:468
+msgid "Block size on the data device"
+msgstr "Data-laitteen lohkokoko"
+
+#: src/veritysetup.c:469
+msgid "Block size on the hash device"
+msgstr "Tiivistelaitteen lohkokoko"
+
+#: src/veritysetup.c:470
+msgid "FEC parity bytes"
+msgstr ""
+
+#: src/veritysetup.c:471
+msgid "The number of blocks in the data file"
+msgstr "Data-tiedoston lohkojen määrä"
+
+#: src/veritysetup.c:471
+msgid "blocks"
+msgstr "lohkoa"
+
+#: src/veritysetup.c:472
+msgid "Path to device with error correction data"
+msgstr ""
+
+#: src/veritysetup.c:472 src/integritysetup.c:549
+msgid "path"
+msgstr ""
+
+#: src/veritysetup.c:473
+msgid "Starting offset on the hash device"
+msgstr "Tiivistelaitteen alkusiirrososoite"
+
+#: src/veritysetup.c:474
+#, fuzzy
+msgid "Starting offset on the FEC device"
+msgstr "Tiivistelaitteen alkusiirrososoite"
+
+#: src/veritysetup.c:475
+msgid "Hash algorithm"
+msgstr "Tiivistealgoritmi"
+
+#: src/veritysetup.c:475
+msgid "string"
+msgstr "merkkijono"
+
+#: src/veritysetup.c:476
+msgid "Salt"
+msgstr "Satunnaisarvosiemenluku"
+
+#: src/veritysetup.c:476
+msgid "hex string"
+msgstr "heksadesimaalimerkkijono"
+
+#: src/veritysetup.c:478
+#, fuzzy
+msgid "Path to root hash signature file"
+msgstr "Tiivistealueen luominen epäonnistui.\n"
+
+#: src/veritysetup.c:479
+msgid "Restart kernel if corruption is detected"
+msgstr ""
+
+#: src/veritysetup.c:480
+msgid "Ignore corruption, log it only"
+msgstr ""
+
+#: src/veritysetup.c:481
+#, fuzzy
+msgid "Do not verify zeroed blocks"
+msgstr "Älä käytä verity-superlohkoa"
+
+#: src/veritysetup.c:482
+msgid "Verify data block only the first time it is read"
+msgstr ""
+
+#: src/veritysetup.c:582
+#, fuzzy
+msgid "Option --ignore-corruption, --restart-on-corruption or --ignore-zero-blocks is allowed only for open operation."
+msgstr "Valitsin --allow-discards sallitaan vain open-toiminnolle.\n"
+
+#: src/veritysetup.c:587
+#, fuzzy
+msgid "Option --root-hash-signature can be used only for open operation."
+msgstr "Valitsin --allow-discards sallitaan vain open-toiminnolle.\n"
+
+#: src/veritysetup.c:592
+msgid "Option --ignore-corruption and --restart-on-corruption cannot be used together."
+msgstr ""
+
+#: src/integritysetup.c:84 src/utils_password.c:305
+#, fuzzy, c-format
+msgid "Cannot read keyfile %s."
+msgstr "Avaintiedoston %s lukeminen epäonnistui.\n"
+
+#: src/integritysetup.c:88 src/utils_password.c:310
+#, fuzzy, c-format
+msgid "Cannot read %d bytes from keyfile %s."
+msgstr "Ei voida lukea %d tavua avaintiedostosta %s.\n"
+
+#: src/integritysetup.c:254
+#, c-format
+msgid "Formatted with tag size %u, internal integrity %s.\n"
+msgstr ""
+
+#: src/integritysetup.c:479 src/integritysetup.c:483
+#, fuzzy
+msgid "<integrity_device>"
+msgstr "todenna laite"
+
+#: src/integritysetup.c:480
+msgid "<integrity_device> <name>"
+msgstr ""
+
+#: src/integritysetup.c:502
+#, fuzzy, c-format
+msgid ""
+"\n"
+"<name> is the device to create under %s\n"
+"<integrity_device> is the device containing data with integrity tags\n"
+msgstr ""
+"\n"
+"<nimi> on kohteen alle %s luotava laite\n"
+"<data_laite> on datalaite\n"
+"<tiiviste_laite> on todennusdataa sisältävä laite\n"
+"<root_tiiviste> root-solmun tiiviste kohteella <tiiviste_laite>\n"
+
+#: src/integritysetup.c:507
+#, c-format
+msgid ""
+"\n"
+"Default compiled-in dm-integrity parameters:\n"
+"\tChecksum algorithm: %s\n"
+msgstr ""
+
+#: src/integritysetup.c:549
+msgid "Path to data device (if separated)"
+msgstr ""
+
+#: src/integritysetup.c:551
+msgid "Journal size"
+msgstr ""
+
+#: src/integritysetup.c:552
+msgid "Interleave sectors"
+msgstr ""
+
+#: src/integritysetup.c:553
+msgid "Journal watermark"
+msgstr ""
+
+#: src/integritysetup.c:553
+msgid "percent"
+msgstr ""
+
+#: src/integritysetup.c:554
+msgid "Journal commit time"
+msgstr ""
+
+#: src/integritysetup.c:554 src/integritysetup.c:556
+msgid "ms"
+msgstr ""
+
+#: src/integritysetup.c:555
+msgid "Number of 512-byte sectors per bit (bitmap mode)."
+msgstr ""
+
+#: src/integritysetup.c:556
+msgid "Bitmap mode flush time"
+msgstr ""
+
+#: src/integritysetup.c:557
+msgid "Tag size (per-sector)"
+msgstr ""
+
+#: src/integritysetup.c:558
+msgid "Sector size"
+msgstr ""
+
+#: src/integritysetup.c:559
+msgid "Buffers size"
+msgstr ""
+
+#: src/integritysetup.c:561
+msgid "Data integrity algorithm"
+msgstr ""
+
+#: src/integritysetup.c:562
+#, fuzzy
+msgid "The size of the data integrity key"
+msgstr "Salausavaimen koko"
+
+#: src/integritysetup.c:563
+#, fuzzy
+msgid "Read the integrity key from a file"
+msgstr "Lue avain tiedostosta."
+
+#: src/integritysetup.c:565
+msgid "Journal integrity algorithm"
+msgstr ""
+
+#: src/integritysetup.c:566
+#, fuzzy
+msgid "The size of the journal integrity key"
+msgstr "Salausavaimen koko"
+
+#: src/integritysetup.c:567
+#, fuzzy
+msgid "Read the journal integrity key from a file"
+msgstr "Lue avain tiedostosta."
+
+#: src/integritysetup.c:569
+msgid "Journal encryption algorithm"
+msgstr ""
+
+#: src/integritysetup.c:570
+#, fuzzy
+msgid "The size of the journal encryption key"
+msgstr "Salausavaimen koko"
+
+#: src/integritysetup.c:571
+#, fuzzy
+msgid "Read the journal encryption key from a file"
+msgstr "Lue avain tiedostosta."
+
+#: src/integritysetup.c:574
+msgid "Recovery mode (no journal, no tag checking)"
+msgstr ""
 
 
-#: src/veritysetup.c:339
-#, c-format
-msgid ""
-"\n"
-"Default compiled-in dm-verity parameters:\n"
-"\tHash: %s, Data block (bytes): %u, Hash block (bytes): %u, Salt size: %u, "
-"Hash format: %u\n"
+#: src/integritysetup.c:575
+msgid "Use bitmap to track changes and disable journal for integrity device"
 msgstr ""
 msgstr ""
-"\n"
-"Käännetyt dm-verity oletusparametrit:\n"
-"\tTiiviste: %s, Data-lohko (tavua): %u, Tiivistelohko (tavua): %u, "
-"Satunnaislukuarvosiemenen koko: %u, Tiivistemuoto: %u\n"
 
 
-#: src/veritysetup.c:377
-msgid "Do not use verity superblock"
-msgstr "Älä käytä verity-superlohkoa"
+#: src/integritysetup.c:576
+msgid "Recalculate initial tags automatically."
+msgstr ""
 
 
-#: src/veritysetup.c:378
-msgid "Format type (1 - normal, 0 - original Chrome OS)"
-msgstr "Muototyyppi (1 - normaali, 0 - alkuperäinen Chrome OS)"
+#: src/integritysetup.c:649
+#, fuzzy
+msgid "Option --integrity-recalculate can be used only for open action."
+msgstr "Valitsin --allow-discards sallitaan vain open-toiminnolle.\n"
 
 
-#: src/veritysetup.c:378
-msgid "number"
-msgstr "numero"
+#: src/integritysetup.c:669
+msgid "Options --journal-size, --interleave-sectors, --sector-size, --tag-size and --no-wipe can be used only for format action."
+msgstr ""
 
 
-#: src/veritysetup.c:379
-msgid "Block size on the data device"
-msgstr "Data-laitteen lohkokoko"
+#: src/integritysetup.c:675
+#, fuzzy
+msgid "Invalid journal size specification."
+msgstr "Virheellinen laitekokomäärittely."
 
 
-#: src/veritysetup.c:380
-msgid "Block size on the hash device"
-msgstr "Tiivistelaitteen lohkokoko"
+#: src/integritysetup.c:680
+msgid "Both key file and key size options must be specified."
+msgstr ""
 
 
-#: src/veritysetup.c:381
-msgid "The number of blocks in the data file"
-msgstr "Data-tiedoston lohkojen määrä"
+#: src/integritysetup.c:683
+msgid "Integrity algorithm must be specified if integrity key is used."
+msgstr ""
 
 
-#: src/veritysetup.c:381
-msgid "blocks"
-msgstr "lohkoa"
+#: src/integritysetup.c:688
+msgid "Both journal integrity key file and key size options must be specified."
+msgstr ""
 
 
-#: src/veritysetup.c:382
-msgid "Starting offset on the hash device"
-msgstr "Tiivistelaitteen alkusiirrososoite"
+#: src/integritysetup.c:691
+msgid "Journal integrity algorithm must be specified if journal integrity key is used."
+msgstr ""
 
 
-#: src/veritysetup.c:383
-msgid "Hash algorithm"
-msgstr "Tiivistealgoritmi"
+#: src/integritysetup.c:696
+msgid "Both journal encryption key file and key size options must be specified."
+msgstr ""
 
 
-#: src/veritysetup.c:383
-msgid "string"
-msgstr "merkkijono"
+#: src/integritysetup.c:699
+msgid "Journal encryption algorithm must be specified if journal encryption key is used."
+msgstr ""
 
 
-#: src/veritysetup.c:384
-msgid "Salt"
-msgstr "Satunnaisarvosiemenluku"
+#: src/integritysetup.c:703
+msgid "Recovery and bitmap mode options are mutually exclusive."
+msgstr ""
 
 
-#: src/veritysetup.c:384
-msgid "hex string"
-msgstr "heksadesimaalimerkkijono"
+#: src/integritysetup.c:707
+msgid "Journal options cannot be used in bitmap mode."
+msgstr ""
 
 
-#: src/cryptsetup_reencrypt.c:147
-#, c-format
-msgid "Cannot exclusively open %s, device in use.\n"
+#: src/integritysetup.c:711
+msgid "Bitmap options can be used only in bitmap mode."
 msgstr ""
 msgstr ""
-"Kohteen %s avaaminen eksklusiivisesti epäonnistui, laite on käytössä.\n"
 
 
-#: src/cryptsetup_reencrypt.c:151
-#, c-format
-msgid "Cannot open device %s\n"
-msgstr "Laitteen %s avaus epäonnistui.\n"
+#: src/cryptsetup_reencrypt.c:172
+#, fuzzy
+msgid "Reencryption already in-progress."
+msgstr "Uudelleensalauslohkon koko"
 
 
-#: src/cryptsetup_reencrypt.c:161 src/cryptsetup_reencrypt.c:893
-msgid "Allocation of aligned memory failed.\n"
+#: src/cryptsetup_reencrypt.c:208
+#, fuzzy, c-format
+msgid "Cannot exclusively open %s, device in use."
+msgstr "Kohteen %s avaaminen eksklusiivisesti epäonnistui, laite on käytössä.\n"
+
+#: src/cryptsetup_reencrypt.c:222 src/cryptsetup_reencrypt.c:1135
+#, fuzzy
+msgid "Allocation of aligned memory failed."
 msgstr "Tasatun muistin varaaminen epäonnistui.\n"
 
 msgstr "Tasatun muistin varaaminen epäonnistui.\n"
 
-#: src/cryptsetup_reencrypt.c:168
-#, c-format
-msgid "Cannot read device %s.\n"
+#: src/cryptsetup_reencrypt.c:229
+#, fuzzy, c-format
+msgid "Cannot read device %s."
 msgstr "Laitteen %s lukeminen epäonnistui.\n"
 
 msgstr "Laitteen %s lukeminen epäonnistui.\n"
 
-#: src/cryptsetup_reencrypt.c:179
-#, c-format
-msgid "Marking LUKS device %s unusable.\n"
+#: src/cryptsetup_reencrypt.c:240
+#, fuzzy, c-format
+msgid "Marking LUKS1 device %s unusable."
 msgstr "Merkitään LUKS-laite %s käyttökelvottomaksi.\n"
 
 msgstr "Merkitään LUKS-laite %s käyttökelvottomaksi.\n"
 
-#: src/cryptsetup_reencrypt.c:184
+#: src/cryptsetup_reencrypt.c:244
 #, c-format
 #, c-format
-msgid "Marking LUKS device %s usable.\n"
-msgstr "Merkitään LUKS-laite %s käyttökelpoiseksi.\n"
+msgid "Setting LUKS2 offline reencrypt flag on device %s."
+msgstr ""
 
 
-#: src/cryptsetup_reencrypt.c:200
-#, c-format
-msgid "Cannot write device %s.\n"
+#: src/cryptsetup_reencrypt.c:261
+#, fuzzy, c-format
+msgid "Cannot write device %s."
 msgstr "Laitteelle %s kirjoittaminen epäonnistui.\n"
 
 msgstr "Laitteelle %s kirjoittaminen epäonnistui.\n"
 
-#: src/cryptsetup_reencrypt.c:281
-msgid "Cannot write reencryption log file.\n"
+#: src/cryptsetup_reencrypt.c:309
+#, fuzzy
+msgid "Cannot write reencryption log file."
 msgstr "Uudelleensalauslokitiedoston kirjoittaminen epäonnistui.\n"
 
 msgstr "Uudelleensalauslokitiedoston kirjoittaminen epäonnistui.\n"
 
-#: src/cryptsetup_reencrypt.c:337
-msgid "Cannot read reencryption log file.\n"
+#: src/cryptsetup_reencrypt.c:365
+#, fuzzy
+msgid "Cannot read reencryption log file."
 msgstr "Uudelleensalauslokitiedoston lukeminen epäonnistui.\n"
 
 msgstr "Uudelleensalauslokitiedoston lukeminen epäonnistui.\n"
 
-#: src/cryptsetup_reencrypt.c:374
+#: src/cryptsetup_reencrypt.c:403
 #, c-format
 msgid "Log file %s exists, resuming reencryption.\n"
 msgstr "Lokitiedosto %s on olemassa, aloitetaan salaus uudelleen.\n"
 
 #, c-format
 msgid "Log file %s exists, resuming reencryption.\n"
 msgstr "Lokitiedosto %s on olemassa, aloitetaan salaus uudelleen.\n"
 
-#: src/cryptsetup_reencrypt.c:403
-msgid "Activating temporary device using old LUKS header.\n"
+#: src/cryptsetup_reencrypt.c:452
+#, fuzzy
+msgid "Activating temporary device using old LUKS header."
 msgstr "Aktivoidaan tilapäinen laite käyttäen vanhaa LUKS-otsaketta.\n"
 
 msgstr "Aktivoidaan tilapäinen laite käyttäen vanhaa LUKS-otsaketta.\n"
 
-#: src/cryptsetup_reencrypt.c:414
-msgid "Activating temporary device using new LUKS header.\n"
+#: src/cryptsetup_reencrypt.c:462
+#, fuzzy
+msgid "Activating temporary device using new LUKS header."
 msgstr "Aktivoidaan tilapäinen laite käyttäen uutta LUKS-otsaketta.\n"
 
 msgstr "Aktivoidaan tilapäinen laite käyttäen uutta LUKS-otsaketta.\n"
 
-#: src/cryptsetup_reencrypt.c:424
-msgid "Activation of temporary devices failed.\n"
+#: src/cryptsetup_reencrypt.c:472
+#, fuzzy
+msgid "Activation of temporary devices failed."
 msgstr "Tilapäisten laitteiden aktivoiminen epäonnistui.\n"
 
 msgstr "Tilapäisten laitteiden aktivoiminen epäonnistui.\n"
 
-#: src/cryptsetup_reencrypt.c:450
-#, c-format
-msgid "New LUKS header for device %s created.\n"
+#: src/cryptsetup_reencrypt.c:559
+#, fuzzy
+msgid "Failed to set data offset."
+msgstr "Avaintiedoston kutsuminen stat-funktiolla epäonnistui.\n"
+
+#: src/cryptsetup_reencrypt.c:565
+#, fuzzy
+msgid "Failed to set metadata size."
+msgstr "Avaintiedoston kutsuminen stat-funktiolla epäonnistui.\n"
+
+#: src/cryptsetup_reencrypt.c:573
+#, fuzzy, c-format
+msgid "New LUKS header for device %s created."
 msgstr "Luotiin uusi LUKS-otsake laitteelle %s.\n"
 
 msgstr "Luotiin uusi LUKS-otsake laitteelle %s.\n"
 
-#: src/cryptsetup_reencrypt.c:458
+#: src/cryptsetup_reencrypt.c:633
 #, c-format
 #, c-format
-msgid "Activated keyslot %i.\n"
-msgstr "Aktivoitiin avainväli %i.\n"
+msgid "This version of cryptsetup-reencrypt can't handle new internal token type %s."
+msgstr ""
 
 
-#: src/cryptsetup_reencrypt.c:484
-#, c-format
-msgid "LUKS header backup of device %s created.\n"
+#: src/cryptsetup_reencrypt.c:655
+msgid "Failed to read activation flags from backup header."
+msgstr ""
+
+#: src/cryptsetup_reencrypt.c:659
+#, fuzzy
+msgid "Failed to write activation flags to new header."
+msgstr "Avainsäiliöön kirjoittaminen epäonnistui.\n"
+
+#: src/cryptsetup_reencrypt.c:663 src/cryptsetup_reencrypt.c:667
+#, fuzzy
+msgid "Failed to read requirements from backup header."
+msgstr "Avainsäiliöstä lukeminen epäonnistui.\n"
+
+#: src/cryptsetup_reencrypt.c:705
+#, fuzzy, c-format
+msgid "%s header backup of device %s created."
 msgstr "Laitteen %s LUKS-otsakkeen varmuuskopio luotu.\n"
 
 msgstr "Laitteen %s LUKS-otsakkeen varmuuskopio luotu.\n"
 
-#: src/cryptsetup_reencrypt.c:532
-msgid "Creation of LUKS backup headers failed.\n"
+#: src/cryptsetup_reencrypt.c:768
+#, fuzzy
+msgid "Creation of LUKS backup headers failed."
 msgstr "LUKS-varmuuskopio-otsakkeiden luominen epäonnistui.\n"
 
 msgstr "LUKS-varmuuskopio-otsakkeiden luominen epäonnistui.\n"
 
-#: src/cryptsetup_reencrypt.c:634
-#, c-format
-msgid "Cannot restore LUKS header on device %s.\n"
+#: src/cryptsetup_reencrypt.c:901
+#, fuzzy, c-format
+msgid "Cannot restore %s header on device %s."
 msgstr "LUKS-otsakkeen palautus laitteeseen %s epäonnistui.\n"
 
 msgstr "LUKS-otsakkeen palautus laitteeseen %s epäonnistui.\n"
 
-#: src/cryptsetup_reencrypt.c:636
-#, c-format
-msgid "LUKS header on device %s restored.\n"
+#: src/cryptsetup_reencrypt.c:903
+#, fuzzy, c-format
+msgid "%s header on device %s restored."
 msgstr "LUKS-otsake palautettu laitteessa %s.\n"
 
 msgstr "LUKS-otsake palautettu laitteessa %s.\n"
 
-#: src/cryptsetup_reencrypt.c:669
-#, c-format
-msgid ""
-"Progress: %5.1f%%, ETA %02llu:%02llu, %4llu MiB written, speed %5.1f MiB/s%s"
-msgstr ""
-"Eteneminen: %5.1f%%, ETA %02llu:%02llu, %4llu Mebitavua kirjoitettu, nopeus "
-"%5.1f Mebitavua/s%s"
-
-#: src/cryptsetup_reencrypt.c:708 src/cryptsetup_reencrypt.c:784
-#: src/cryptsetup_reencrypt.c:826
-msgid "Cannot seek to device offset.\n"
-msgstr "Laitteen siirrososoitteen etsintä epäonnistui.\n"
-
-#: src/cryptsetup_reencrypt.c:865 src/cryptsetup_reencrypt.c:871
-msgid "Cannot open temporary LUKS header file.\n"
-msgstr "Tilapäisen LUKS-otsaketiedoston avaaminen epäonnistui.\n"
+#: src/cryptsetup_reencrypt.c:1107 src/cryptsetup_reencrypt.c:1113
+#, fuzzy
+msgid "Cannot open temporary LUKS device."
+msgstr "Tilapäisen LUKS-laitteen avaaminen epäonnistui.\n"
 
 
-#: src/cryptsetup_reencrypt.c:876 src/cryptsetup_reencrypt.c:881
-msgid "Cannot get device size.\n"
+#: src/cryptsetup_reencrypt.c:1118 src/cryptsetup_reencrypt.c:1123
+#, fuzzy
+msgid "Cannot get device size."
 msgstr "Laitekoon hakeminen epäonnistui.\n"
 
 msgstr "Laitekoon hakeminen epäonnistui.\n"
 
-#: src/cryptsetup_reencrypt.c:919
-msgid "Interrupted by a signal.\n"
-msgstr "Signaalin keskeyttämä.\n"
-
-#: src/cryptsetup_reencrypt.c:921
-msgid "IO error during reencryption.\n"
+#: src/cryptsetup_reencrypt.c:1158
+#, fuzzy
+msgid "IO error during reencryption."
 msgstr "Siirräntävirhe uudelleensalauksen aikana.\n"
 
 msgstr "Siirräntävirhe uudelleensalauksen aikana.\n"
 
-#: src/cryptsetup_reencrypt.c:1028
-msgid ""
-"Key file can be used only with --key-slot or with exactly one key slot "
-"active.\n"
+#: src/cryptsetup_reencrypt.c:1189
+#, fuzzy
+msgid "Provided UUID is invalid."
+msgstr "Avainväli on virheellinen."
+
+#: src/cryptsetup_reencrypt.c:1423
+#, fuzzy
+msgid "Cannot open reencryption log file."
+msgstr "Uudelleensalauslokitiedoston avaus epäonnistui.\n"
+
+#: src/cryptsetup_reencrypt.c:1429
+msgid "No decryption in progress, provided UUID can be used only to resume suspended decryption process."
 msgstr ""
 msgstr ""
-"Avaintiedostoa voidaan käyttää vain valitsimen --key-slot kanssa tai "
-"täsmälleen yhden avainvälin ollessa aktiivisena.\n"
 
 
-#: src/cryptsetup_reencrypt.c:1072 src/cryptsetup_reencrypt.c:1087
+#: src/cryptsetup_reencrypt.c:1504
 #, c-format
 #, c-format
-msgid "Enter passphrase for key slot %u: "
-msgstr "Kirjoita salasanalause avainvälille %u: "
-
-#: src/cryptsetup_reencrypt.c:1136
-msgid "Cannot open reencryption log file.\n"
-msgstr "Uudelleensalauslokitiedoston avaus epäonnistui.\n"
+msgid "Changed pbkdf parameters in keyslot %i."
+msgstr ""
 
 
-#: src/cryptsetup_reencrypt.c:1262
+#: src/cryptsetup_reencrypt.c:1616
 msgid "Reencryption block size"
 msgstr "Uudelleensalauslohkon koko"
 
 msgid "Reencryption block size"
 msgstr "Uudelleensalauslohkon koko"
 
-#: src/cryptsetup_reencrypt.c:1262
+#: src/cryptsetup_reencrypt.c:1616
 msgid "MiB"
 msgstr "Mebitavua"
 
 msgid "MiB"
 msgstr "Mebitavua"
 
-#: src/cryptsetup_reencrypt.c:1266
-msgid "Do not change key, no data area reencryption."
+#: src/cryptsetup_reencrypt.c:1620
+#, fuzzy
+msgid "Do not change key, no data area reencryption"
 msgstr "Älä vaihda avainta, yhtään data-aluetta ei ole salattu uudelleen."
 
 msgstr "Älä vaihda avainta, yhtään data-aluetta ei ole salattu uudelleen."
 
-#: src/cryptsetup_reencrypt.c:1273
-msgid "Use direct-io when accessing devices."
+#: src/cryptsetup_reencrypt.c:1622
+#, fuzzy
+msgid "Read new volume (master) key from file"
+msgstr "Lue taltion (pää)avain tiedostosta."
+
+#: src/cryptsetup_reencrypt.c:1623
+msgid "PBKDF2 iteration time for LUKS (in ms)"
+msgstr "PBKDF2-iterointiaika kohteelle LUKS (millisekunneissa)"
+
+#: src/cryptsetup_reencrypt.c:1629
+#, fuzzy
+msgid "Use direct-io when accessing devices"
 msgstr "Käytä direct-io -siirräntää laitteisiin yhdistettäessä."
 
 msgstr "Käytä direct-io -siirräntää laitteisiin yhdistettäessä."
 
-#: src/cryptsetup_reencrypt.c:1274
-msgid "Use fsync after each block."
+#: src/cryptsetup_reencrypt.c:1630
+#, fuzzy
+msgid "Use fsync after each block"
 msgstr "Käytä fsync-komentoa jokaisen lohkon jälkeen."
 
 msgstr "Käytä fsync-komentoa jokaisen lohkon jälkeen."
 
-#: src/cryptsetup_reencrypt.c:1275
-msgid "Update log file after every block."
+#: src/cryptsetup_reencrypt.c:1631
+#, fuzzy
+msgid "Update log file after every block"
 msgstr "Päivitä lokitiedosto jokaisen lohkon jälkeen."
 
 msgstr "Päivitä lokitiedosto jokaisen lohkon jälkeen."
 
-#: src/cryptsetup_reencrypt.c:1276
-msgid "Use only this slot (others will be disabled)."
+#: src/cryptsetup_reencrypt.c:1632
+#, fuzzy
+msgid "Use only this slot (others will be disabled)"
 msgstr "Käytä vain tätä väliä (muut ovat pois käytöstä)."
 
 msgstr "Käytä vain tätä väliä (muut ovat pois käytöstä)."
 
-#: src/cryptsetup_reencrypt.c:1279
-msgid "Reduce data device size (move data offset). DANGEROUS!"
-msgstr "Pienennä datalaitekokoa (siirrä datasiirrososoitetta). VAARALLINEN!"
-
-#: src/cryptsetup_reencrypt.c:1280
-msgid "Use only specified device size (ignore rest of device). DANGEROUS!"
-msgstr "Käytä vain määriteltyä laitekokoa (ohita laitteen loppu). VAARALLINEN!"
-
-#: src/cryptsetup_reencrypt.c:1281
-msgid "Create new header on not encrypted device."
+#: src/cryptsetup_reencrypt.c:1637
+#, fuzzy
+msgid "Create new header on not encrypted device"
 msgstr "Luo uusi otsake ei-salattuun laitteeseen."
 
 msgstr "Luo uusi otsake ei-salattuun laitteeseen."
 
-#: src/cryptsetup_reencrypt.c:1282
-msgid "Permanently decrypt device (remove encryption)."
+#: src/cryptsetup_reencrypt.c:1638
+#, fuzzy
+msgid "Permanently decrypt device (remove encryption)"
 msgstr "Poista laitteen salaus pysyvästi (poista salaus)"
 
 msgstr "Poista laitteen salaus pysyvästi (poista salaus)"
 
-#: src/cryptsetup_reencrypt.c:1298
+#: src/cryptsetup_reencrypt.c:1639
+#, fuzzy
+msgid "The UUID used to resume decryption"
+msgstr "Salausavaimen koko"
+
+#: src/cryptsetup_reencrypt.c:1640
+#, fuzzy
+msgid "Type of LUKS metadata: luks1, luks2"
+msgstr "Laitemetatietojen tyyppi: luks, plain, loopaes, tcrypt."
+
+#: src/cryptsetup_reencrypt.c:1659
 msgid "[OPTION...] <device>"
 msgstr "[VALITSIN...] <laite>"
 
 msgid "[OPTION...] <device>"
 msgstr "[VALITSIN...] <laite>"
 
-#: src/cryptsetup_reencrypt.c:1312
-msgid ""
-"WARNING: this is experimental code, it can completely break your data.\n"
-msgstr ""
-"VAROITUS: tämä on kokeellista koodia, se voi rikkoa tietosi kokonaan.\n"
-
-#: src/cryptsetup_reencrypt.c:1313
-#, c-format
-msgid "Reencryption will change: volume key%s%s%s%s.\n"
+#: src/cryptsetup_reencrypt.c:1667
+#, fuzzy, c-format
+msgid "Reencryption will change: %s%s%s%s%s%s."
 msgstr "Uudelleensalauas muuttuu: taltio key%s%s%s%s.\n"
 
 msgstr "Uudelleensalauas muuttuu: taltio key%s%s%s%s.\n"
 
-#: src/cryptsetup_reencrypt.c:1314
-msgid ", set hash to "
+#: src/cryptsetup_reencrypt.c:1668
+msgid "volume key"
+msgstr ""
+
+#: src/cryptsetup_reencrypt.c:1670
+#, fuzzy
+msgid "set hash to "
 msgstr ", aseta tiivisteeksi "
 
 msgstr ", aseta tiivisteeksi "
 
-#: src/cryptsetup_reencrypt.c:1315
+#: src/cryptsetup_reencrypt.c:1671
 msgid ", set cipher to "
 msgstr ", aseta salaukseksi "
 
 msgid ", set cipher to "
 msgstr ", aseta salaukseksi "
 
-#: src/cryptsetup_reencrypt.c:1320
+#: src/cryptsetup_reencrypt.c:1675
 msgid "Argument required."
 msgstr "Argumentti vaadittu."
 
 msgid "Argument required."
 msgstr "Argumentti vaadittu."
 
-#: src/cryptsetup_reencrypt.c:1336
-msgid ""
-"Only values between 1 MiB and 64 MiB allowed for reencryption block size."
-msgstr ""
-"Vain arvot välillä 1 mebitavua ja 64 mebitavua ovat sallittuja "
-"uudelleensalauslohkokokoja."
-
-#: src/cryptsetup_reencrypt.c:1355 src/cryptsetup_reencrypt.c:1360
-msgid "Invalid device size specification."
-msgstr "Virheellinen laitekokomäärittely."
+#: src/cryptsetup_reencrypt.c:1703
+msgid "Only values between 1 MiB and 64 MiB allowed for reencryption block size."
+msgstr "Vain arvot välillä 1 mebitavua ja 64 mebitavua ovat sallittuja uudelleensalauslohkokokoja."
 
 
-#: src/cryptsetup_reencrypt.c:1363
+#: src/cryptsetup_reencrypt.c:1730
 msgid "Maximum device reduce size is 64 MiB."
 msgstr "Maksimi laitepienennyskoko on 64 mebitavua."
 
 msgid "Maximum device reduce size is 64 MiB."
 msgstr "Maksimi laitepienennyskoko on 64 mebitavua."
 
-#: src/cryptsetup_reencrypt.c:1366
-msgid "Reduce size must be multiple of 512 bytes sector."
-msgstr "Pienennyskoon on oltava 512-tavuisen sektorin monikerta."
-
-#: src/cryptsetup_reencrypt.c:1370
-msgid "Option --new must be used together with --reduce-device-size."
-msgstr ""
-"Valitsinta --new on käytettävä yhdessä valitsimen --reduce-device-size "
-"kanssa."
+#: src/cryptsetup_reencrypt.c:1737
+#, fuzzy
+msgid "Option --new must be used together with --reduce-device-size or --header."
+msgstr "Valitsinta --new on käytettävä yhdessä valitsimen --reduce-device-size kanssa."
 
 
-#: src/cryptsetup_reencrypt.c:1374
-msgid "Option --keep-key can be used only with --hash or --iter-time."
-msgstr ""
-"Valitsinta --keep-key voidaan käyttää vain valitsimen --hash tai --iter-time "
-"kanssa."
+#: src/cryptsetup_reencrypt.c:1741
+#, fuzzy
+msgid "Option --keep-key can be used only with --hash, --iter-time or --pbkdf-force-iterations."
+msgstr "Valitsinta --keep-key voidaan käyttää vain valitsimen --hash tai --iter-time kanssa."
 
 
-#: src/cryptsetup_reencrypt.c:1378
+#: src/cryptsetup_reencrypt.c:1745
 msgid "Option --new cannot be used together with --decrypt."
 msgstr "Valitsinta --new ei voi käytttää yhdessä valitsimen --decrypt kanssa."
 
 msgid "Option --new cannot be used together with --decrypt."
 msgstr "Valitsinta --new ei voi käytttää yhdessä valitsimen --decrypt kanssa."
 
-#: src/cryptsetup_reencrypt.c:1382
+#: src/cryptsetup_reencrypt.c:1749
 msgid "Option --decrypt is incompatible with specified parameters."
 msgid "Option --decrypt is incompatible with specified parameters."
+msgstr "Valitsin --decrypt on yhteensopimaton määriteltyjen parametrien kanssa."
+
+#: src/cryptsetup_reencrypt.c:1753
+#, fuzzy
+msgid "Option --uuid is allowed only together with --decrypt."
+msgstr "Valitsinta --new ei voi käytttää yhdessä valitsimen --decrypt kanssa."
+
+#: src/cryptsetup_reencrypt.c:1757
+msgid "Invalid luks type. Use one of these: 'luks', 'luks1' or 'luks2'."
 msgstr ""
 msgstr ""
-"Valitsin --decrypt on yhteensopimaton määriteltyjen parametrien kanssa."
 
 #: src/utils_tools.c:151
 
 #: src/utils_tools.c:151
-msgid "Error reading response from terminal.\n"
+#, fuzzy
+msgid "Error reading response from terminal."
 msgstr "Virhe luettaessa vastausta pääteikkunasta.\n"
 
 msgstr "Virhe luettaessa vastausta pääteikkunasta.\n"
 
-#: src/utils_tools.c:173
+#: src/utils_tools.c:186
 msgid "Command successful.\n"
 msgstr "Komento onnistui.\n"
 
 msgid "Command successful.\n"
 msgstr "Komento onnistui.\n"
 
-#: src/utils_tools.c:191
-#, c-format
-msgid "Command failed with code %i"
+#: src/utils_tools.c:194
+msgid "wrong or missing parameters"
+msgstr ""
+
+#: src/utils_tools.c:196
+#, fuzzy
+msgid "no permission or bad passphrase"
+msgstr "Kirjoita mikä tahansa salasanalause: "
+
+#: src/utils_tools.c:198
+#, fuzzy
+msgid "out of memory"
+msgstr "Muistin lukituksen avaus epäonnistui.\n"
+
+#: src/utils_tools.c:200
+msgid "wrong device or file specified"
+msgstr ""
+
+#: src/utils_tools.c:202
+#, fuzzy
+msgid "device already exists or device is busy"
+msgstr "Laite %s on jo olemassa.\n"
+
+#: src/utils_tools.c:204
+msgid "unknown error"
+msgstr ""
+
+#: src/utils_tools.c:206
+#, fuzzy, c-format
+msgid "Command failed with code %i (%s).\n"
 msgstr "Komento epäonnistui koodilla %i"
 
 msgstr "Komento epäonnistui koodilla %i"
 
-#: src/utils_password.c:42
+#: src/utils_tools.c:283
+#, fuzzy, c-format
+msgid "Key slot %i created."
+msgstr "Avaivälin %d vaihtui.\n"
+
+#: src/utils_tools.c:285
+#, fuzzy, c-format
+msgid "Key slot %i unlocked."
+msgstr "Avaivälin %d lukitus avattu.\n"
+
+#: src/utils_tools.c:287
+#, fuzzy, c-format
+msgid "Key slot %i removed."
+msgstr "Avaivälin %d lukitus avattu.\n"
+
+#: src/utils_tools.c:296
 #, c-format
 #, c-format
-msgid "Cannot check password quality: %s\n"
-msgstr "Salasanan laatutarkistus epäonnistui: %s\n"
+msgid "Token %i created."
+msgstr ""
+
+#: src/utils_tools.c:298
+#, c-format
+msgid "Token %i removed."
+msgstr ""
+
+#: src/utils_tools.c:464
+msgid ""
+"\n"
+"Wipe interrupted."
+msgstr ""
+
+#: src/utils_tools.c:475
+#, c-format
+msgid "WARNING: Device %s already contains a '%s' partition signature.\n"
+msgstr ""
+
+#: src/utils_tools.c:483
+#, c-format
+msgid "WARNING: Device %s already contains a '%s' superblock signature.\n"
+msgstr ""
+
+#: src/utils_tools.c:504 src/utils_tools.c:568
+#, fuzzy
+msgid "Failed to initialize device signature probes."
+msgstr "Laitekuvaajahakemiston hankkiminen epäonnistui."
+
+#: src/utils_tools.c:548
+#, fuzzy, c-format
+msgid "Failed to stat device %s."
+msgstr "Avaintiedoston kutsuminen stat-funktiolla epäonnistui.\n"
 
 
-#: src/utils_password.c:50
+#: src/utils_tools.c:561
 #, c-format
 #, c-format
+msgid "Device %s is in use. Can not proceed with format operation."
+msgstr ""
+
+#: src/utils_tools.c:563
+#, c-format
+msgid "Failed to open file %s in read/write mode."
+msgstr ""
+
+#: src/utils_tools.c:577
+#, c-format
+msgid "Existing '%s' partition signature (offset: %<PRIi64> bytes) on device %s will be wiped."
+msgstr ""
+
+#: src/utils_tools.c:580
+#, c-format
+msgid "Existing '%s' superblock signature (offset: %<PRIi64> bytes) on device %s will be wiped."
+msgstr ""
+
+#: src/utils_tools.c:583
+#, fuzzy
+msgid "Failed to wipe device signature."
+msgstr "Avainsäiliöön kirjoittaminen epäonnistui.\n"
+
+#: src/utils_tools.c:590
+#, fuzzy, c-format
+msgid "Failed to probe device %s for a signature."
+msgstr "Laitekuvaajahakemiston hankkiminen epäonnistui."
+
+#: src/utils_tools.c:629
+#, fuzzy
+msgid ""
+"\n"
+"Reencryption interrupted."
+msgstr "Uudelleensalauslohkon koko"
+
+#: src/utils_password.c:43 src/utils_password.c:75
+#, fuzzy, c-format
+msgid "Cannot check password quality: %s"
+msgstr "Salasanan laatutarkistus epäonnistui: %s\n"
+
+#: src/utils_password.c:51
+#, fuzzy, c-format
 msgid ""
 "Password quality check failed:\n"
 msgid ""
 "Password quality check failed:\n"
-" %s\n"
+" %s"
 msgstr ""
 "Salasanan laatutarkistus epäonnistui:\n"
 " %s\n"
 
 msgstr ""
 "Salasanan laatutarkistus epäonnistui:\n"
 " %s\n"
 
+#: src/utils_password.c:83
+#, fuzzy, c-format
+msgid "Password quality check failed: Bad passphrase (%s)"
+msgstr "Salasanan laatutarkistus epäonnistui: Virheellinen salasana (%s)\n"
+
+#: src/utils_password.c:193 src/utils_password.c:208
+#, fuzzy
+msgid "Error reading passphrase from terminal."
+msgstr "Virhe luettaessa salasanalausetta pääteikkunasta.\n"
+
+#: src/utils_password.c:206
+msgid "Verify passphrase: "
+msgstr "Todenna salasanalause: "
+
+#: src/utils_password.c:213
+#, fuzzy
+msgid "Passphrases do not match."
+msgstr "Salasanalauseet eivät täsmää.\n"
+
+#: src/utils_password.c:250
+#, fuzzy
+msgid "Cannot use offset with terminal input."
+msgstr "Siirrososoitteen käyttö pääteikkunasyötteellä epäonnistui.\n"
+
+#: src/utils_password.c:253
+#, c-format
+msgid "Enter passphrase: "
+msgstr "Kirjoita salasanalause: "
+
+#: src/utils_password.c:256
+#, c-format
+msgid "Enter passphrase for %s: "
+msgstr "Kirjoita salasanalause kohteelle %s: "
+
+#: src/utils_password.c:287
+#, fuzzy
+msgid "No key available with this passphrase."
+msgstr "Tälle salasanalauseelle ei ole saatavissa avainta.\n"
+
+#: src/utils_password.c:289
+msgid "No usable keyslot is available."
+msgstr ""
+
+#: src/utils_password.c:328
+#, fuzzy, c-format
+msgid "Cannot open keyfile %s for write."
+msgstr "Tiedoston %s avaus epäonnistui.\n"
+
+#: src/utils_password.c:335
+#, fuzzy, c-format
+msgid "Cannot write to keyfile %s."
+msgstr "Avaintiedoston %s lukeminen epäonnistui.\n"
+
+#: src/utils_luks2.c:47
+#, fuzzy, c-format
+msgid "Failed to open file %s in read-only mode."
+msgstr "Avaintiedoston avaus epäonnistui.\n"
+
+#: src/utils_luks2.c:60
+msgid "Provide valid LUKS2 token JSON:\n"
+msgstr ""
+
+#: src/utils_luks2.c:67
+#, fuzzy
+msgid "Failed to read JSON file."
+msgstr "Avaintiedoston avaus epäonnistui.\n"
+
+#: src/utils_luks2.c:72
+#, fuzzy
+msgid ""
+"\n"
+"Read interrupted."
+msgstr "VERITY-otsake rikkinäinen.\n"
+
+#: src/utils_luks2.c:113
+#, fuzzy, c-format
+msgid "Failed to open file %s in write mode."
+msgstr "Avaintiedoston avaus epäonnistui.\n"
+
+#: src/utils_luks2.c:122
+msgid ""
+"\n"
+"Write interrupted."
+msgstr ""
+
+#: src/utils_luks2.c:126
+#, fuzzy
+msgid "Failed to write JSON file."
+msgstr "Avaintiedoston avaus epäonnistui.\n"
+
+#~ msgid "Replaced with key slot %d.\n"
+#~ msgstr "Korvattiin avainvälillä %d.\n"
+
+#~ msgid "Function not available in FIPS mode.\n"
+#~ msgstr "Funktio ei ole käytettävissä FIPS-tilassa.\n"
+
+#~ msgid "Cannot find a free loopback device.\n"
+#~ msgstr "Vapaan silmukkalaiteen löytäminen epäonnistui.\n"
+
+#~ msgid "Too many tree levels for verity volume.\n"
+#~ msgstr "Verity-taltiolla liian monta puutasoa.\n"
+
+#~ msgid "memory allocation error in action_luksFormat"
+#~ msgstr "muistivarausvirhe kohteessa action_luksFormat"
+
+#~ msgid "Key %d not active. Can't wipe.\n"
+#~ msgstr "Avain %d ei ole käytössä. Ei voida pyyhkiä pois.\n"
+
+#~ msgid "<name> <data_device> <hash_device> <root_hash>"
+#~ msgstr "<nimi> <data_laite> <tiiviste_laite> <root_tiiviste>"
+
+#~ msgid "create active device"
+#~ msgstr "luo aktiivilaite"
+
+#~ msgid "remove (deactivate) device"
+#~ msgstr "poista (deaktivoi) laite"
+
+#~ msgid "Cannot open device %s\n"
+#~ msgstr "Laitteen %s avaus epäonnistui.\n"
+
+#~ msgid "Marking LUKS device %s usable.\n"
+#~ msgstr "Merkitään LUKS-laite %s käyttökelpoiseksi.\n"
+
+#~ msgid "Activated keyslot %i.\n"
+#~ msgstr "Aktivoitiin avainväli %i.\n"
+
+#~ msgid "Progress: %5.1f%%, ETA %02llu:%02llu, %4llu MiB written, speed %5.1f MiB/s%s"
+#~ msgstr "Eteneminen: %5.1f%%, ETA %02llu:%02llu, %4llu Mebitavua kirjoitettu, nopeus %5.1f Mebitavua/s%s"
+
+#~ msgid "Interrupted by a signal.\n"
+#~ msgstr "Signaalin keskeyttämä.\n"
+
+#~ msgid "WARNING: this is experimental code, it can completely break your data.\n"
+#~ msgstr "VAROITUS: tämä on kokeellista koodia, se voi rikkoa tietosi kokonaan.\n"
+
 #~ msgid "FIPS checksum verification failed.\n"
 #~ msgstr "FIPS-tarkistussummavarmennus epäonnistui.\n"
 
 #~ msgid "FIPS checksum verification failed.\n"
 #~ msgstr "FIPS-tarkistussummavarmennus epäonnistui.\n"
 
-#~ msgid ""
-#~ "WARNING: device %s is a partition, for TCRYPT system encryption you "
-#~ "usually need to use whole block device path.\n"
-#~ msgstr ""
-#~ "VAROITUS: laite %s on osio, TCRYPT-järjestelmäsalaukselle tarvitaan "
-#~ "normaalisti koko lohkolaitepolun käyttö.\n"
+#~ msgid "WARNING: device %s is a partition, for TCRYPT system encryption you usually need to use whole block device path.\n"
+#~ msgstr "VAROITUS: laite %s on osio, TCRYPT-järjestelmäsalaukselle tarvitaan normaalisti koko lohkolaitepolun käyttö.\n"
 
 #~ msgid "Kernel doesn't support plain64 IV.\n"
 #~ msgstr "Käyttöjärjestelmäydin ei tule plain64 IV.\n"
 
 #~ msgid "Kernel doesn't support plain64 IV.\n"
 #~ msgstr "Käyttöjärjestelmäydin ei tule plain64 IV.\n"
@@ -1908,15 +4195,9 @@ msgstr ""
 #~ msgid "Cannot check passsword quality: %s\n"
 #~ msgstr "Salasanan laatutarkistus epäonnistui: %s\n"
 
 #~ msgid "Cannot check passsword quality: %s\n"
 #~ msgstr "Salasanan laatutarkistus epäonnistui: %s\n"
 
-#~ msgid "Failed to obtain device mapper directory."
-#~ msgstr "Laitekuvaajahakemiston hankkiminen epäonnistui."
-
 #~ msgid "Backup file %s doesn't exist.\n"
 #~ msgstr "Varmuuskopiotiedostoa %s ei ole olemassa.\n"
 
 #~ msgid "Backup file %s doesn't exist.\n"
 #~ msgstr "Varmuuskopiotiedostoa %s ei ole olemassa.\n"
 
-#~ msgid "Cannot open file %s.\n"
-#~ msgstr "Tiedoston %s avaus epäonnistui.\n"
-
 #~ msgid "<name> <device>"
 #~ msgstr "<nimi> <laite>"
 
 #~ msgid "<name> <device>"
 #~ msgstr "<nimi> <laite>"
 
@@ -1935,12 +4216,8 @@ msgstr ""
 #~ msgid "remove loop-AES mapping"
 #~ msgstr "poista loop-AES -kuvaus"
 
 #~ msgid "remove loop-AES mapping"
 #~ msgstr "poista loop-AES -kuvaus"
 
-#~ msgid ""
-#~ "Option --allow-discards is allowed only for luksOpen, loopaesOpen and "
-#~ "create operation.\n"
-#~ msgstr ""
-#~ "Valitsin --allow-discards sallitaan vain luksOpen-, loopaesOpen- ja "
-#~ "create-toiminnoille .\n"
+#~ msgid "Option --allow-discards is allowed only for luksOpen, loopaesOpen and create operation.\n"
+#~ msgstr "Valitsin --allow-discards sallitaan vain luksOpen-, loopaesOpen- ja create-toiminnoille .\n"
 
 #~ msgid "Cannot open device %s for %s%s access.\n"
 #~ msgstr "Ei voida avata laitetta %s kohteeseen %s%s pääsyä varten.\n"
 
 #~ msgid "Cannot open device %s for %s%s access.\n"
 #~ msgstr "Ei voida avata laitetta %s kohteeseen %s%s pääsyä varten.\n"
@@ -1960,51 +4237,26 @@ msgstr ""
 #~ msgid "Unable to obtain sector size for %s"
 #~ msgstr "Ei kyetä samaan sektorikokoa kohteelle %s"
 
 #~ msgid "Unable to obtain sector size for %s"
 #~ msgstr "Ei kyetä samaan sektorikokoa kohteelle %s"
 
-#~ msgid "Failed to write to key storage.\n"
-#~ msgstr "Avainsäiliöön kirjoittaminen epäonnistui.\n"
-
-#~ msgid "Failed to read from key storage.\n"
-#~ msgstr "Avainsäiliöstä lukeminen epäonnistui.\n"
-
-#~ msgid ""
-#~ "Cannot use device %s (crypt segments overlaps or in use by another "
-#~ "device).\n"
-#~ msgstr ""
-#~ "Ei voida käyttää laitetta %s (salatut segmentit ovat päällekkäin tai "
-#~ "toisen laitteen käyttämiä).\n"
-
-#~ msgid "Key slot %d verified.\n"
-#~ msgstr "Avainväli %d on todennettu.\n"
-
-#~ msgid "Invalid key size %d.\n"
-#~ msgstr "Virheellinen avainkoko %d.\n"
+#~ msgid "Cannot use device %s (crypt segments overlaps or in use by another device).\n"
+#~ msgstr "Ei voida käyttää laitetta %s (salatut segmentit ovat päällekkäin tai toisen laitteen käyttämiä).\n"
 
 #~ msgid "Block mode XTS is available since kernel 2.6.24.\n"
 
 #~ msgid "Block mode XTS is available since kernel 2.6.24.\n"
-#~ msgstr ""
-#~ "Lohkotila XTS on käytetettävissä käyttöjärjestelmäytimestä 2.6.24 "
-#~ "alkaen.\n"
+#~ msgstr "Lohkotila XTS on käytetettävissä käyttöjärjestelmäytimestä 2.6.24 alkaen.\n"
 
 #~ msgid "Key size in LRW mode must be 256 or 512 bits.\n"
 #~ msgstr "Avainkoon on oltava LRW-tilassa 256 tai 512 bittiä.\n"
 
 #~ msgid "Block mode LRW is available since kernel 2.6.20.\n"
 
 #~ msgid "Key size in LRW mode must be 256 or 512 bits.\n"
 #~ msgstr "Avainkoon on oltava LRW-tilassa 256 tai 512 bittiä.\n"
 
 #~ msgid "Block mode LRW is available since kernel 2.6.20.\n"
-#~ msgstr ""
-#~ "Lohkotila LRW on käytettävissä käyttöjärjestelmäytimestä 2.6.20 alkaen.\n"
+#~ msgstr "Lohkotila LRW on käytettävissä käyttöjärjestelmäytimestä 2.6.20 alkaen.\n"
 
 #~ msgid "Negative keyfile size not permitted.\n"
 #~ msgstr "Negatiivinen avaintiedostokoko ei ole sallittu.\n"
 
 
 #~ msgid "Negative keyfile size not permitted.\n"
 #~ msgstr "Negatiivinen avaintiedostokoko ei ole sallittu.\n"
 
-#~ msgid ""
-#~ "Warning: exhausting read requested, but key file is not a regular file, "
-#~ "function might never return.\n"
-#~ msgstr ""
-#~ "Varoitus: uuvuttava luku pyydetty, mutta avaintiedosto ei ole tavallinen "
-#~ "tiedosto, funktio ei ehkä koskaan palaa.\n"
+#~ msgid "Warning: exhausting read requested, but key file is not a regular file, function might never return.\n"
+#~ msgstr "Varoitus: uuvuttava luku pyydetty, mutta avaintiedosto ei ole tavallinen tiedosto, funktio ei ehkä koskaan palaa.\n"
 
 #~ msgid "Cannot find compatible device-mapper kernel modules.\n"
 
 #~ msgid "Cannot find compatible device-mapper kernel modules.\n"
-#~ msgstr ""
-#~ "Ei voida löytää yhteensopivia laitekuvaimen "
-#~ "käyttöjärjestelmäydinmoduuleja.\n"
+#~ msgstr "Ei voida löytää yhteensopivia laitekuvaimen käyttöjärjestelmäydinmoduuleja.\n"
 
 #~ msgid "Cannot open device: %s\n"
 #~ msgstr "Ei voida avata laitetta: %s\n"
 
 #~ msgid "Cannot open device: %s\n"
 #~ msgstr "Ei voida avata laitetta: %s\n"
@@ -2022,15 +4274,11 @@ msgstr ""
 #~ msgstr "muokkaa aktiivista laitetta - VANHENTUNUT - katso man-sivua"
 
 #~ msgid ""
 #~ msgstr "muokkaa aktiivista laitetta - VANHENTUNUT - katso man-sivua"
 
 #~ msgid ""
-#~ "The reload action is deprecated. Please use \"dmsetup reload\" in case "
-#~ "you really need this functionality.\n"
-#~ "WARNING: do not use reload to touch LUKS devices. If that is the case, "
-#~ "hit Ctrl-C now.\n"
+#~ "The reload action is deprecated. Please use \"dmsetup reload\" in case you really need this functionality.\n"
+#~ "WARNING: do not use reload to touch LUKS devices. If that is the case, hit Ctrl-C now.\n"
 #~ msgstr ""
 #~ msgstr ""
-#~ "Uudelleenlataustoiminto on vanhentunut. Käytä ”dmsetup reload” siinä "
-#~ "tapauksessa, että todella tarvitset tätä toiminnallisuutta.\n"
-#~ "VAROITUS: älä käytä uudelleenlatausta koskettamaan LUKS-laitteita. Jos "
-#~ "näin on laita, paina nyt näppäimiä Ctrl-C.\n"
+#~ "Uudelleenlataustoiminto on vanhentunut. Käytä ”dmsetup reload” siinä tapauksessa, että todella tarvitset tätä toiminnallisuutta.\n"
+#~ "VAROITUS: älä käytä uudelleenlatausta koskettamaan LUKS-laitteita. Jos näin on laita, paina nyt näppäimiä Ctrl-C.\n"
 
 #~ msgid "Obsolete option --non-exclusive is ignored.\n"
 #~ msgstr "Vanhentunut valitsin --non-exclusive ohitetaan.\n"
 
 #~ msgid "Obsolete option --non-exclusive is ignored.\n"
 #~ msgstr "Vanhentunut valitsin --non-exclusive ohitetaan.\n"
@@ -2044,9 +4292,6 @@ msgstr ""
 #~ msgid "%s is not LUKS device.\n"
 #~ msgstr "%s ei ole LUKS-laite.\n"
 
 #~ msgid "%s is not LUKS device.\n"
 #~ msgstr "%s ei ole LUKS-laite.\n"
 
-#~ msgid "%s is not LUKS device."
-#~ msgstr "%s ei ole LUKS-laite."
-
 #~ msgid "Unknown crypto device type %s requesed.\n"
 #~ msgstr "Tuntematon salauslaitetyyppi %s pyydetty.\n"
 
 #~ msgid "Unknown crypto device type %s requesed.\n"
 #~ msgstr "Tuntematon salauslaitetyyppi %s pyydetty.\n"