Merge branch 'upstream' into tizen
[platform/upstream/cryptsetup.git] / po / cryptsetup.pot
index 571c909..8c1423d 100644 (file)
@@ -5,9 +5,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: cryptsetup 2.3.3\n"
-"Report-Msgid-Bugs-To: dm-crypt@saout.de\n"
-"POT-Creation-Date: 2020-05-28 11:32+0200\n"
+"Project-Id-Version: cryptsetup 2.6.1-rc0\n"
+"Report-Msgid-Bugs-To: cryptsetup@lists.linux.dev\n"
+"POT-Creation-Date: 2023-02-01 15:58+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,637 +16,690 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: lib/libdevmapper.c:399
+#: lib/libdevmapper.c:419
 msgid "Cannot initialize device-mapper, running as non-root user."
 msgstr ""
 
-#: lib/libdevmapper.c:402
+#: lib/libdevmapper.c:422
 msgid "Cannot initialize device-mapper. Is dm_mod kernel module loaded?"
 msgstr ""
 
-#: lib/libdevmapper.c:1131
+#: lib/libdevmapper.c:1102
 msgid "Requested deferred flag is not supported."
 msgstr ""
 
-#: lib/libdevmapper.c:1198
+#: lib/libdevmapper.c:1171
 #, c-format
 msgid "DM-UUID for device %s was truncated."
 msgstr ""
 
-#: lib/libdevmapper.c:1520
+#: lib/libdevmapper.c:1501
 msgid "Unknown dm target type."
 msgstr ""
 
-#: lib/libdevmapper.c:1623 lib/libdevmapper.c:1679
+#: lib/libdevmapper.c:1620 lib/libdevmapper.c:1626 lib/libdevmapper.c:1724
+#: lib/libdevmapper.c:1727
 msgid "Requested dm-crypt performance options are not supported."
 msgstr ""
 
-#: lib/libdevmapper.c:1630
+#: lib/libdevmapper.c:1635 lib/libdevmapper.c:1647
 msgid "Requested dm-verity data corruption handling options are not supported."
 msgstr ""
 
-#: lib/libdevmapper.c:1634
+#: lib/libdevmapper.c:1641
+msgid "Requested dm-verity tasklets option is not supported."
+msgstr ""
+
+#: lib/libdevmapper.c:1653
 msgid "Requested dm-verity FEC options are not supported."
 msgstr ""
 
-#: lib/libdevmapper.c:1638
+#: lib/libdevmapper.c:1659
 msgid "Requested data integrity options are not supported."
 msgstr ""
 
-#: lib/libdevmapper.c:1640
+#: lib/libdevmapper.c:1663
 msgid "Requested sector_size option is not supported."
 msgstr ""
 
-#: lib/libdevmapper.c:1645
+#: lib/libdevmapper.c:1670 lib/libdevmapper.c:1676
 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
+#: lib/libdevmapper.c:1682 lib/libdevmapper.c:1730 lib/libdevmapper.c:1733
+#: lib/luks2/luks2_json_metadata.c:2620
 msgid "Discard/TRIM is not supported."
 msgstr ""
 
-#: lib/libdevmapper.c:1653
+#: lib/libdevmapper.c:1688
 msgid "Requested dm-integrity bitmap mode is not supported."
 msgstr ""
 
-#: lib/libdevmapper.c:2607
+#: lib/libdevmapper.c:2724
 #, c-format
 msgid "Failed to query dm-%s segment."
 msgstr ""
 
-#: lib/random.c:75
+#: lib/random.c:73
 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"
 msgstr ""
 
-#: lib/random.c:79
+#: lib/random.c:77
 #, c-format
 msgid "Generating key (%d%% done).\n"
 msgstr ""
 
-#: lib/random.c:165
+#: lib/random.c:163
 msgid "Running in FIPS mode."
 msgstr ""
 
-#: lib/random.c:171
+#: lib/random.c:169
 msgid "Fatal error during RNG initialisation."
 msgstr ""
 
-#: lib/random.c:208
+#: lib/random.c:207
 msgid "Unknown RNG quality requested."
 msgstr ""
 
-#: lib/random.c:213
+#: lib/random.c:212
 msgid "Error reading from RNG."
 msgstr ""
 
-#: lib/setup.c:229
+#: lib/setup.c:231
 msgid "Cannot initialize crypto RNG backend."
 msgstr ""
 
-#: lib/setup.c:235
+#: lib/setup.c:237
 msgid "Cannot initialize crypto backend."
 msgstr ""
 
-#: lib/setup.c:266 lib/setup.c:2046 lib/verity/verity.c:119
+#: lib/setup.c:268 lib/setup.c:2151 lib/verity/verity.c:122
 #, c-format
 msgid "Hash algorithm %s not supported."
 msgstr ""
 
-#: lib/setup.c:269 lib/loopaes/loopaes.c:90
+#: lib/setup.c:271 lib/loopaes/loopaes.c:90
 #, c-format
 msgid "Key processing error (using hash %s)."
 msgstr ""
 
-#: lib/setup.c:335 lib/setup.c:362
+#: lib/setup.c:342 lib/setup.c:369
 msgid "Cannot determine device type. Incompatible activation of device?"
 msgstr ""
 
-#: lib/setup.c:341 lib/setup.c:3050
+#: lib/setup.c:348 lib/setup.c:3320
 msgid "This operation is supported only for LUKS device."
 msgstr ""
 
-#: lib/setup.c:368
+#: lib/setup.c:375
 msgid "This operation is supported only for LUKS2 device."
 msgstr ""
 
-#: lib/setup.c:423 lib/luks2/luks2_reencrypt.c:2345
+#: lib/setup.c:427 lib/luks2/luks2_reencrypt.c:3010
 msgid "All key slots full."
 msgstr ""
 
-#: lib/setup.c:434
+#: lib/setup.c:438
 #, c-format
 msgid "Key slot %d is invalid, please select between 0 and %d."
 msgstr ""
 
-#: lib/setup.c:440
+#: lib/setup.c:444
 #, c-format
 msgid "Key slot %d is full, please select another one."
 msgstr ""
 
-#: lib/setup.c:525 lib/setup.c:2824
+#: lib/setup.c:529 lib/setup.c:3042
 msgid "Device size is not aligned to device logical block size."
 msgstr ""
 
-#: lib/setup.c:624
+#: lib/setup.c:627
 #, c-format
 msgid "Header detected but device %s is too small."
 msgstr ""
 
-#: lib/setup.c:661
+#: lib/setup.c:668 lib/setup.c:2942 lib/setup.c:4287
+#: lib/luks2/luks2_reencrypt.c:3782 lib/luks2/luks2_reencrypt.c:4184
 msgid "This operation is not supported for this device type."
 msgstr ""
 
-#: lib/setup.c:666
+#: lib/setup.c:673
 msgid "Illegal operation with reencryption in-progress."
 msgstr ""
 
-#: lib/setup.c:832 lib/luks1/keymanage.c:475
+#: lib/setup.c:802
+msgid "Failed to rollback LUKS2 metadata in memory."
+msgstr ""
+
+#: lib/setup.c:889 lib/luks1/keymanage.c:249 lib/luks1/keymanage.c:527
+#: lib/luks2/luks2_json_metadata.c:1336 src/cryptsetup.c:1587
+#: src/cryptsetup.c:1727 src/cryptsetup.c:1782 src/cryptsetup.c:1977
+#: src/cryptsetup.c:2133 src/cryptsetup.c:2414 src/cryptsetup.c:2656
+#: src/cryptsetup.c:2716 src/utils_reencrypt.c:1465
+#: src/utils_reencrypt_luks1.c:1192 tokens/ssh/cryptsetup-ssh.c:77
 #, c-format
-msgid "Unsupported LUKS version %d."
+msgid "Device %s is not a valid LUKS device."
 msgstr ""
 
-#: lib/setup.c:849 lib/setup.c:1539 lib/setup.c:1959
-msgid "Detached metadata device is not supported for this crypt type."
+#: lib/setup.c:892 lib/luks1/keymanage.c:530
+#, c-format
+msgid "Unsupported LUKS version %d."
 msgstr ""
 
-#: lib/setup.c:1427 lib/setup.c:2544 lib/setup.c:2616 lib/setup.c:2628
-#: lib/setup.c:2777 lib/setup.c:4512
+#: lib/setup.c:1491 lib/setup.c:2691 lib/setup.c:2773 lib/setup.c:2785
+#: lib/setup.c:2952 lib/setup.c:4764
 #, c-format
 msgid "Device %s is not active."
 msgstr ""
 
-#: lib/setup.c:1444
+#: lib/setup.c:1508
 #, c-format
 msgid "Underlying device for crypt device %s disappeared."
 msgstr ""
 
-#: lib/setup.c:1524
+#: lib/setup.c:1590
 msgid "Invalid plain crypt parameters."
 msgstr ""
 
-#: lib/setup.c:1529 lib/setup.c:1949 src/integritysetup.c:74
+#: lib/setup.c:1595 lib/setup.c:2054
 msgid "Invalid key size."
 msgstr ""
 
-#: lib/setup.c:1534 lib/setup.c:1954 lib/setup.c:2157
+#: lib/setup.c:1600 lib/setup.c:2059 lib/setup.c:2262
 msgid "UUID is not supported for this crypt type."
 msgstr ""
 
-#: lib/setup.c:1549 lib/setup.c:1739 lib/luks2/luks2_reencrypt.c:2308
-#: src/cryptsetup.c:1226 src/cryptsetup.c:3923
+#: lib/setup.c:1605 lib/setup.c:2064
+msgid "Detached metadata device is not supported for this crypt type."
+msgstr ""
+
+#: lib/setup.c:1615 lib/setup.c:1831 lib/luks2/luks2_reencrypt.c:2966
+#: src/cryptsetup.c:1387 src/cryptsetup.c:3383
 msgid "Unsupported encryption sector size."
 msgstr ""
 
-#: lib/setup.c:1557 lib/setup.c:1864 lib/setup.c:2818
+#: lib/setup.c:1623 lib/setup.c:1959 lib/setup.c:3036
 msgid "Device size is not aligned to requested sector size."
 msgstr ""
 
-#: lib/setup.c:1608 lib/setup.c:1727
+#: lib/setup.c:1675 lib/setup.c:1799
 msgid "Can't format LUKS without device."
 msgstr ""
 
-#: lib/setup.c:1614 lib/setup.c:1733
+#: lib/setup.c:1681 lib/setup.c:1805
 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"
+#: lib/setup.c:1756 lib/setup.c:1976 lib/setup.c:1997 lib/setup.c:2274
+#, c-format
+msgid "Cannot wipe header on device %s."
 msgstr ""
 
-#: lib/setup.c:1692 lib/setup.c:1879 lib/setup.c:1900 lib/setup.c:2169
+#: lib/setup.c:1769 lib/setup.c:2036
 #, c-format
-msgid "Cannot wipe header on device %s."
+msgid ""
+"Device %s is too small for activation, there is no remaining space for "
+"data.\n"
 msgstr ""
 
-#: lib/setup.c:1744
+#: lib/setup.c:1840
 msgid ""
 "WARNING: The device activation will fail, dm-crypt is missing support for "
 "requested encryption sector size.\n"
 msgstr ""
 
-#: lib/setup.c:1766
+#: lib/setup.c:1863
 msgid "Volume key is too small for encryption with integrity extensions."
 msgstr ""
 
-#: lib/setup.c:1821
+#: lib/setup.c:1923
 #, c-format
 msgid "Cipher %s-%s (key size %zd bits) is not available."
 msgstr ""
 
-#: lib/setup.c:1854
+#: lib/setup.c:1949
 #, c-format
 msgid "WARNING: LUKS2 metadata size changed to %<PRIu64> bytes.\n"
 msgstr ""
 
-#: lib/setup.c:1858
+#: lib/setup.c:1953
 #, c-format
 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
+#: lib/setup.c:1979 lib/utils_device.c:911 lib/luks1/keyencryption.c:255
+#: lib/luks2/luks2_reencrypt.c:3034 lib/luks2/luks2_reencrypt.c:4279
 #, c-format
 msgid "Device %s is too small."
 msgstr ""
 
-#: lib/setup.c:1893 lib/setup.c:1919
+#: lib/setup.c:1990 lib/setup.c:2016
 #, c-format
 msgid "Cannot format device %s in use."
 msgstr ""
 
-#: lib/setup.c:1896 lib/setup.c:1922
+#: lib/setup.c:1993 lib/setup.c:2019
 #, c-format
 msgid "Cannot format device %s, permission denied."
 msgstr ""
 
-#: lib/setup.c:1908 lib/setup.c:2229
+#: lib/setup.c:2005 lib/setup.c:2334
 #, c-format
 msgid "Cannot format integrity for device %s."
 msgstr ""
 
-#: lib/setup.c:1926
+#: lib/setup.c:2023
 #, c-format
 msgid "Cannot format device %s."
 msgstr ""
 
-#: lib/setup.c:1944
+#: lib/setup.c:2049
 msgid "Can't format LOOPAES without device."
 msgstr ""
 
-#: lib/setup.c:1989
+#: lib/setup.c:2094
 msgid "Can't format VERITY without device."
 msgstr ""
 
-#: lib/setup.c:2000 lib/verity/verity.c:102
+#: lib/setup.c:2105 lib/verity/verity.c:101
 #, c-format
 msgid "Unsupported VERITY hash type %d."
 msgstr ""
 
-#: lib/setup.c:2006 lib/verity/verity.c:110
+#: lib/setup.c:2111 lib/verity/verity.c:109
 msgid "Unsupported VERITY block size."
 msgstr ""
 
-#: lib/setup.c:2011 lib/verity/verity.c:74
+#: lib/setup.c:2116 lib/verity/verity.c:74
 msgid "Unsupported VERITY hash offset."
 msgstr ""
 
-#: lib/setup.c:2016
+#: lib/setup.c:2121
 msgid "Unsupported VERITY FEC offset."
 msgstr ""
 
-#: lib/setup.c:2040
+#: lib/setup.c:2145
 msgid "Data area overlaps with hash area."
 msgstr ""
 
-#: lib/setup.c:2065
+#: lib/setup.c:2170
 msgid "Hash area overlaps with FEC area."
 msgstr ""
 
-#: lib/setup.c:2072
+#: lib/setup.c:2177
 msgid "Data area overlaps with FEC area."
 msgstr ""
 
-#: lib/setup.c:2208
+#: lib/setup.c:2313
 #, c-format
 msgid ""
 "WARNING: Requested tag size %d bytes differs from %s size output (%d "
 "bytes).\n"
 msgstr ""
 
-#: lib/setup.c:2286
+#: lib/setup.c:2392
 #, c-format
 msgid "Unknown crypt device type %s requested."
 msgstr ""
 
-#: lib/setup.c:2550 lib/setup.c:2622 lib/setup.c:2635
+#: lib/setup.c:2699 lib/setup.c:2778 lib/setup.c:2791
 #, c-format
 msgid "Unsupported parameters on device %s."
 msgstr ""
 
-#: lib/setup.c:2556 lib/setup.c:2641 lib/luks2/luks2_reencrypt.c:2408
-#: lib/luks2/luks2_reencrypt.c:2737
+#: lib/setup.c:2705 lib/setup.c:2798 lib/luks2/luks2_reencrypt.c:2862
+#: lib/luks2/luks2_reencrypt.c:3099 lib/luks2/luks2_reencrypt.c:3484
 #, c-format
 msgid "Mismatching parameters on device %s."
 msgstr ""
 
-#: lib/setup.c:2661
+#: lib/setup.c:2822
 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
+#: lib/setup.c:2859 lib/setup.c:2864 lib/luks2/luks2_reencrypt.c:2361
+#: lib/luks2/luks2_reencrypt.c:2878 lib/luks2/luks2_reencrypt.c:4032
 #, c-format
 msgid "Failed to reload device %s."
 msgstr ""
 
-#: lib/setup.c:2708 lib/setup.c:2713 lib/luks2/luks2_reencrypt.c:2025
-#: lib/luks2/luks2_reencrypt.c:2032
+#: lib/setup.c:2870 lib/setup.c:2876 lib/luks2/luks2_reencrypt.c:2332
+#: lib/luks2/luks2_reencrypt.c:2339 lib/luks2/luks2_reencrypt.c:2892
 #, c-format
 msgid "Failed to suspend device %s."
 msgstr ""
 
-#: lib/setup.c:2718 lib/luks2/luks2_reencrypt.c:2039
-#: lib/luks2/luks2_reencrypt.c:3080 lib/luks2/luks2_reencrypt.c:3149
+#: lib/setup.c:2882 lib/luks2/luks2_reencrypt.c:2346
+#: lib/luks2/luks2_reencrypt.c:2913 lib/luks2/luks2_reencrypt.c:3945
+#: lib/luks2/luks2_reencrypt.c:4036
 #, c-format
 msgid "Failed to resume device %s."
 msgstr ""
 
-#: lib/setup.c:2732
+#: lib/setup.c:2897
 #, c-format
 msgid "Fatal error while reloading device %s (on top of device %s)."
 msgstr ""
 
-#: lib/setup.c:2735 lib/setup.c:2737
+#: lib/setup.c:2900 lib/setup.c:2902
 #, c-format
 msgid "Failed to switch device %s to dm-error."
 msgstr ""
 
-#: lib/setup.c:2809
+#: lib/setup.c:2984
 msgid "Cannot resize loop device."
 msgstr ""
 
-#: lib/setup.c:2882
+#: lib/setup.c:3027
+msgid "WARNING: Maximum size already set or kernel doesn't support resize.\n"
+msgstr ""
+
+#: lib/setup.c:3088
+msgid "Resize failed, the kernel doesn't support it."
+msgstr ""
+
+#: lib/setup.c:3120
 msgid "Do you really want to change UUID of device?"
 msgstr ""
 
-#: lib/setup.c:2958
+#: lib/setup.c:3212
 msgid "Header backup file does not contain compatible LUKS header."
 msgstr ""
 
-#: lib/setup.c:3058
+#: lib/setup.c:3328
 #, c-format
 msgid "Volume %s is not active."
 msgstr ""
 
-#: lib/setup.c:3069
+#: lib/setup.c:3339
 #, c-format
 msgid "Volume %s is already suspended."
 msgstr ""
 
-#: lib/setup.c:3082
+#: lib/setup.c:3352
 #, c-format
 msgid "Suspend is not supported for device %s."
 msgstr ""
 
-#: lib/setup.c:3084
+#: lib/setup.c:3354
 #, c-format
 msgid "Error during suspending device %s."
 msgstr ""
 
-#: lib/setup.c:3117 lib/setup.c:3184 lib/setup.c:3267
-#, c-format
-msgid "Volume %s is not suspended."
-msgstr ""
-
-#: lib/setup.c:3146
+#: lib/setup.c:3389
 #, c-format
 msgid "Resume is not supported for device %s."
 msgstr ""
 
-#: lib/setup.c:3148 lib/setup.c:3216 lib/setup.c:3297
+#: lib/setup.c:3391
 #, c-format
 msgid "Error during resuming device %s."
 msgstr ""
 
-#: 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
-msgid "Volume key does not match the volume."
+#: lib/setup.c:3425 lib/setup.c:3473 lib/setup.c:3544 lib/setup.c:3589
+#: src/cryptsetup.c:2479
+#, c-format
+msgid "Volume %s is not suspended."
 msgstr ""
 
-#: lib/setup.c:3343 lib/setup.c:3531
-msgid "Cannot add key slot, all slots disabled and no volume key provided."
+#: lib/setup.c:3559 lib/setup.c:4540 lib/setup.c:4553 lib/setup.c:4561
+#: lib/setup.c:4574 lib/setup.c:6157 lib/setup.c:6179 lib/setup.c:6228
+#: src/cryptsetup.c:2011
+msgid "Volume key does not match the volume."
 msgstr ""
 
-#: lib/setup.c:3483
+#: lib/setup.c:3737
 msgid "Failed to swap new key slot."
 msgstr ""
 
-#: lib/setup.c:3669
+#: lib/setup.c:3835
 #, c-format
 msgid "Key slot %d is invalid."
 msgstr ""
 
-#: lib/setup.c:3675 src/cryptsetup.c:1572 src/cryptsetup.c:1917
+#: lib/setup.c:3841 src/cryptsetup.c:1740 src/cryptsetup.c:2208
+#: src/cryptsetup.c:2816 src/cryptsetup.c:2876
 #, c-format
 msgid "Keyslot %d is not active."
 msgstr ""
 
-#: lib/setup.c:3694
+#: lib/setup.c:3860
 msgid "Device header overlaps with data area."
 msgstr ""
 
-#: lib/setup.c:3981
+#: lib/setup.c:4165
 msgid "Reencryption in-progress. Cannot activate device."
 msgstr ""
 
-#: lib/setup.c:3983 lib/luks2/luks2_json_metadata.c:2243
-#: lib/luks2/luks2_reencrypt.c:2836
+#: lib/setup.c:4167 lib/luks2/luks2_json_metadata.c:2703
+#: lib/luks2/luks2_reencrypt.c:3590
 msgid "Failed to get reencryption lock."
 msgstr ""
 
-#: lib/setup.c:3996 lib/luks2/luks2_reencrypt.c:2855
+#: lib/setup.c:4180 lib/luks2/luks2_reencrypt.c:3609
 msgid "LUKS2 reencryption recovery failed."
 msgstr ""
 
-#: lib/setup.c:4127 lib/setup.c:4379
+#: lib/setup.c:4352 lib/setup.c:4618
 msgid "Device type is not properly initialized."
 msgstr ""
 
-#: lib/setup.c:4171
+#: lib/setup.c:4400
 #, c-format
-msgid "Cannot use device %s, name is invalid or still in use."
+msgid "Device %s already exists."
 msgstr ""
 
-#: lib/setup.c:4174
+#: lib/setup.c:4407
 #, c-format
-msgid "Device %s already exists."
+msgid "Cannot use device %s, name is invalid or still in use."
 msgstr ""
 
-#: lib/setup.c:4296
+#: lib/setup.c:4527
 msgid "Incorrect volume key specified for plain device."
 msgstr ""
 
-#: lib/setup.c:4405
+#: lib/setup.c:4644
 msgid "Incorrect root hash specified for verity device."
 msgstr ""
 
-#: lib/setup.c:4412
+#: lib/setup.c:4654
 msgid "Root hash signature required."
 msgstr ""
 
-#: lib/setup.c:4421
+#: lib/setup.c:4663
 msgid "Kernel keyring missing: required for passing signature to kernel."
 msgstr ""
 
-#: lib/setup.c:4438 lib/setup.c:5915
+#: lib/setup.c:4680 lib/setup.c:6423
 msgid "Failed to load key in kernel keyring."
 msgstr ""
 
-#: lib/setup.c:4491 lib/setup.c:4507 lib/luks2/luks2_json_metadata.c:2296
-#: src/cryptsetup.c:2664
+#: lib/setup.c:4736
+#, c-format
+msgid "Could not cancel deferred remove from device %s."
+msgstr ""
+
+#: lib/setup.c:4743 lib/setup.c:4759 lib/luks2/luks2_json_metadata.c:2756
+#: src/utils_reencrypt.c:116
 #, c-format
 msgid "Device %s is still in use."
 msgstr ""
 
-#: lib/setup.c:4516
+#: lib/setup.c:4768
 #, c-format
 msgid "Invalid device %s."
 msgstr ""
 
-#: lib/setup.c:4632
+#: lib/setup.c:4908
 msgid "Volume key buffer too small."
 msgstr ""
 
-#: lib/setup.c:4640
+#: lib/setup.c:4925
+msgid "Cannot retrieve volume key for LUKS2 device."
+msgstr ""
+
+#: lib/setup.c:4934
+msgid "Cannot retrieve volume key for LUKS1 device."
+msgstr ""
+
+#: lib/setup.c:4944
 msgid "Cannot retrieve volume key for plain device."
 msgstr ""
 
-#: lib/setup.c:4657
+#: lib/setup.c:4952
 msgid "Cannot retrieve root hash for verity device."
 msgstr ""
 
-#: lib/setup.c:4659
+#: lib/setup.c:4959
+msgid "Cannot retrieve volume key for BITLK device."
+msgstr ""
+
+#: lib/setup.c:4964
+msgid "Cannot retrieve volume key for FVAULT2 device."
+msgstr ""
+
+#: lib/setup.c:4966
 #, c-format
 msgid "This operation is not supported for %s crypt device."
 msgstr ""
 
-#: lib/setup.c:4865
+#: lib/setup.c:5147 lib/setup.c:5158
 msgid "Dump operation is not supported for this device type."
 msgstr ""
 
-#: lib/setup.c:5190
+#: lib/setup.c:5500
 #, c-format
 msgid "Data offset is not multiple of %u bytes."
 msgstr ""
 
-#: lib/setup.c:5475
+#: lib/setup.c:5788
 #, c-format
 msgid "Cannot convert device %s which is still in use."
 msgstr ""
 
-#: lib/setup.c:5772
+#: lib/setup.c:6098 lib/setup.c:6237
 #, c-format
 msgid "Failed to assign keyslot %u as the new volume key."
 msgstr ""
 
-#: lib/setup.c:5845
+#: lib/setup.c:6122
 msgid "Failed to initialize default LUKS2 keyslot parameters."
 msgstr ""
 
-#: lib/setup.c:5851
+#: lib/setup.c:6128
 #, c-format
 msgid "Failed to assign keyslot %d to digest."
 msgstr ""
 
-#: lib/setup.c:5982
+#: lib/setup.c:6353
+msgid "Cannot add key slot, all slots disabled and no volume key provided."
+msgstr ""
+
+#: lib/setup.c:6490
 msgid "Kernel keyring is not supported by the kernel."
 msgstr ""
 
-#: lib/setup.c:5992 lib/luks2/luks2_reencrypt.c:2952
+#: lib/setup.c:6500 lib/luks2/luks2_reencrypt.c:3807
 #, c-format
 msgid "Failed to read passphrase from keyring (error %d)."
 msgstr ""
 
-#: lib/setup.c:6016
+#: lib/setup.c:6523
 msgid "Failed to acquire global memory-hard access serialization lock."
 msgstr ""
 
-#: lib/utils.c:80
-msgid "Cannot get process priority."
-msgstr ""
-
-#: lib/utils.c:94
-msgid "Cannot unlock memory."
-msgstr ""
-
-#: lib/utils.c:168 lib/tcrypt/tcrypt.c:497
+#: lib/utils.c:158 lib/tcrypt/tcrypt.c:501
 msgid "Failed to open key file."
 msgstr ""
 
-#: lib/utils.c:173
+#: lib/utils.c:163
 msgid "Cannot read keyfile from a terminal."
 msgstr ""
 
-#: lib/utils.c:190
+#: lib/utils.c:179
 msgid "Failed to stat key file."
 msgstr ""
 
-#: lib/utils.c:198 lib/utils.c:219
+#: lib/utils.c:187 lib/utils.c:208
 msgid "Cannot seek to requested keyfile offset."
 msgstr ""
 
-#: lib/utils.c:213 lib/utils.c:228 src/utils_password.c:188
-#: src/utils_password.c:201
+#: lib/utils.c:202 lib/utils.c:217 src/utils_password.c:225
+#: src/utils_password.c:237
 msgid "Out of memory while reading passphrase."
 msgstr ""
 
-#: lib/utils.c:248
+#: lib/utils.c:237
 msgid "Error reading passphrase."
 msgstr ""
 
-#: lib/utils.c:265
+#: lib/utils.c:254
 msgid "Nothing to read on input."
 msgstr ""
 
-#: lib/utils.c:272
+#: lib/utils.c:261
 msgid "Maximum keyfile size exceeded."
 msgstr ""
 
-#: lib/utils.c:277
+#: lib/utils.c:266
 msgid "Cannot read requested amount of data."
 msgstr ""
 
-#: lib/utils_device.c:187 lib/utils_storage_wrappers.c:110
-#: lib/luks1/keyencryption.c:91
+#: lib/utils_device.c:207 lib/utils_storage_wrappers.c:110
+#: lib/luks1/keyencryption.c:91 src/utils_reencrypt.c:1440
 #, c-format
 msgid "Device %s does not exist or access denied."
 msgstr ""
 
-#: lib/utils_device.c:197
+#: lib/utils_device.c:217
 #, c-format
 msgid "Device %s is not compatible."
 msgstr ""
 
-#: lib/utils_device.c:642
+#: lib/utils_device.c:561
+#, c-format
+msgid "Ignoring bogus optimal-io size for data device (%u bytes)."
+msgstr ""
+
+#: lib/utils_device.c:722
 #, c-format
 msgid "Device %s is too small. Need at least %<PRIu64> bytes."
 msgstr ""
 
-#: lib/utils_device.c:723
+#: lib/utils_device.c:803
 #, c-format
 msgid "Cannot use device %s which is in use (already mapped or mounted)."
 msgstr ""
 
-#: lib/utils_device.c:727
+#: lib/utils_device.c:807
 #, c-format
 msgid "Cannot use device %s, permission denied."
 msgstr ""
 
-#: lib/utils_device.c:730
+#: lib/utils_device.c:810
 #, c-format
 msgid "Cannot get info about device %s."
 msgstr ""
 
-#: lib/utils_device.c:753
+#: lib/utils_device.c:833
 msgid "Cannot use a loopback device, running as non-root user."
 msgstr ""
 
-#: lib/utils_device.c:763
+#: lib/utils_device.c:844
 msgid ""
 "Attaching loopback device failed (loop device with autoclear flag is "
 "required)."
 msgstr ""
 
-#: lib/utils_device.c:809
+#: lib/utils_device.c:892
 #, c-format
 msgid "Requested offset is beyond real size of device %s."
 msgstr ""
 
-#: lib/utils_device.c:817
+#: lib/utils_device.c:900
 #, c-format
 msgid "Device %s has zero size."
 msgstr ""
@@ -701,43 +754,38 @@ msgstr ""
 msgid "Only PBKDF2 is supported in FIPS mode."
 msgstr ""
 
-#: lib/utils_benchmark.c:172
+#: lib/utils_benchmark.c:175
 msgid "PBKDF benchmark disabled but iterations not set."
 msgstr ""
 
-#: lib/utils_benchmark.c:191
+#: lib/utils_benchmark.c:194
 #, c-format
 msgid "Not compatible PBKDF2 options (using hash algorithm %s)."
 msgstr ""
 
-#: lib/utils_benchmark.c:211
+#: lib/utils_benchmark.c:214
 msgid "Not compatible PBKDF options."
 msgstr ""
 
-#: lib/utils_device_locking.c:102
+#: lib/utils_device_locking.c:101
 #, c-format
 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
+#: lib/utils_device_locking.c:118
 #, 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
+#: lib/utils_wipe.c:154 lib/utils_wipe.c:225 src/utils_reencrypt_luks1.c:734
+#: src/utils_reencrypt_luks1.c:832
 msgid "Cannot seek to device offset."
 msgstr ""
 
-#: lib/utils_wipe.c:208
+#: lib/utils_wipe.c:247
 #, c-format
 msgid "Device wipe error, offset %<PRIu64>."
 msgstr ""
@@ -757,9 +805,9 @@ msgstr ""
 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
+#: lib/luks1/keyencryption.c:97 lib/luks1/keymanage.c:366
+#: lib/luks1/keymanage.c:677 lib/luks1/keymanage.c:1132
+#: lib/luks2/luks2_json_metadata.c:1490 lib/luks2/luks2_keyslot.c:714
 #, c-format
 msgid "Cannot write to device %s, permission denied."
 msgstr ""
@@ -772,206 +820,221 @@ msgstr ""
 msgid "Failed to access temporary keystore device."
 msgstr ""
 
-#: 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
+#: lib/luks1/keyencryption.c:200 lib/luks2/luks2_keyslot_luks2.c:62
+#: lib/luks2/luks2_keyslot_luks2.c:80 lib/luks2/luks2_keyslot_reenc.c:192
 msgid "IO error while encrypting keyslot."
 msgstr ""
 
-#: 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
+#: lib/luks1/keyencryption.c:246 lib/luks1/keymanage.c:369
+#: lib/luks1/keymanage.c:630 lib/luks1/keymanage.c:680 lib/tcrypt/tcrypt.c:679
+#: lib/fvault2/fvault2.c:877 lib/verity/verity.c:80 lib/verity/verity.c:196
+#: lib/verity/verity_hash.c:320 lib/verity/verity_hash.c:329
+#: lib/verity/verity_hash.c:349 lib/verity/verity_fec.c:260
+#: lib/verity/verity_fec.c:272 lib/verity/verity_fec.c:277
+#: lib/luks2/luks2_json_metadata.c:1493 src/utils_reencrypt_luks1.c:121
+#: src/utils_reencrypt_luks1.c:133
 #, c-format
 msgid "Cannot open device %s."
 msgstr ""
 
-#: lib/luks1/keyencryption.c:257 lib/luks2/luks2_keyslot_luks2.c:137
+#: lib/luks1/keyencryption.c:257 lib/luks2/luks2_keyslot_luks2.c:139
 msgid "IO error while decrypting keyslot."
 msgstr ""
 
-#: lib/luks1/keymanage.c:110
+#: lib/luks1/keymanage.c:130
 #, c-format
 msgid "Device %s is too small. (LUKS1 requires at least %<PRIu64> bytes.)"
 msgstr ""
 
-#: 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
+#: lib/luks1/keymanage.c:151 lib/luks1/keymanage.c:159
+#: lib/luks1/keymanage.c:171 lib/luks1/keymanage.c:182
+#: lib/luks1/keymanage.c:194
 #, c-format
 msgid "LUKS keyslot %u is invalid."
 msgstr ""
 
-#: 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
-#, c-format
-msgid "Device %s is not a valid LUKS device."
-msgstr ""
-
-#: lib/luks1/keymanage.c:246 lib/luks2/luks2_json_metadata.c:1100
+#: lib/luks1/keymanage.c:267 lib/luks2/luks2_json_metadata.c:1353
 #, c-format
 msgid "Requested header backup file %s already exists."
 msgstr ""
 
-#: lib/luks1/keymanage.c:248 lib/luks2/luks2_json_metadata.c:1102
+#: lib/luks1/keymanage.c:269 lib/luks2/luks2_json_metadata.c:1355
 #, c-format
 msgid "Cannot create header backup file %s."
 msgstr ""
 
-#: lib/luks1/keymanage.c:255 lib/luks2/luks2_json_metadata.c:1109
+#: lib/luks1/keymanage.c:276 lib/luks2/luks2_json_metadata.c:1362
 #, c-format
 msgid "Cannot write header backup file %s."
 msgstr ""
 
-#: lib/luks1/keymanage.c:286 lib/luks2/luks2_json_metadata.c:1161
+#: lib/luks1/keymanage.c:308 lib/luks2/luks2_json_metadata.c:1399
 msgid "Backup file does not contain valid LUKS header."
 msgstr ""
 
-#: lib/luks1/keymanage.c:299 lib/luks1/keymanage.c:549
-#: lib/luks2/luks2_json_metadata.c:1182
+#: lib/luks1/keymanage.c:321 lib/luks1/keymanage.c:593
+#: lib/luks2/luks2_json_metadata.c:1420
 #, c-format
 msgid "Cannot open header backup file %s."
 msgstr ""
 
-#: lib/luks1/keymanage.c:307 lib/luks2/luks2_json_metadata.c:1190
+#: lib/luks1/keymanage.c:329 lib/luks2/luks2_json_metadata.c:1428
 #, c-format
 msgid "Cannot read header backup file %s."
 msgstr ""
 
-#: lib/luks1/keymanage.c:317
+#: lib/luks1/keymanage.c:339
 msgid "Data offset or key size differs on device and backup, restore failed."
 msgstr ""
 
-#: lib/luks1/keymanage.c:325
+#: lib/luks1/keymanage.c:347
 #, c-format
 msgid "Device %s %s%s"
 msgstr ""
 
-#: lib/luks1/keymanage.c:326
+#: lib/luks1/keymanage.c:348
 msgid ""
 "does not contain LUKS header. Replacing header can destroy data on that "
 "device."
 msgstr ""
 
-#: lib/luks1/keymanage.c:327
+#: lib/luks1/keymanage.c:349
 msgid ""
 "already contains LUKS header. Replacing header will destroy existing "
 "keyslots."
 msgstr ""
 
-#: lib/luks1/keymanage.c:328 lib/luks2/luks2_json_metadata.c:1224
+#: lib/luks1/keymanage.c:350 lib/luks2/luks2_json_metadata.c:1462
 msgid ""
 "\n"
 "WARNING: real device header has different UUID than backup!"
 msgstr ""
 
-#: lib/luks1/keymanage.c:375
+#: lib/luks1/keymanage.c:398
 msgid "Non standard key size, manual repair required."
 msgstr ""
 
-#: lib/luks1/keymanage.c:380
+#: lib/luks1/keymanage.c:408
 msgid "Non standard keyslots alignment, manual repair required."
 msgstr ""
 
-#: lib/luks1/keymanage.c:390
+#: lib/luks1/keymanage.c:417
+#, c-format
+msgid "Cipher mode repaired (%s -> %s)."
+msgstr ""
+
+#: lib/luks1/keymanage.c:428
+#, c-format
+msgid "Cipher hash repaired to lowercase (%s)."
+msgstr ""
+
+#: lib/luks1/keymanage.c:430 lib/luks1/keymanage.c:536
+#: lib/luks1/keymanage.c:792
+#, c-format
+msgid "Requested LUKS hash %s is not supported."
+msgstr ""
+
+#: lib/luks1/keymanage.c:444
 msgid "Repairing keyslots."
 msgstr ""
 
-#: lib/luks1/keymanage.c:409
+#: lib/luks1/keymanage.c:463
 #, c-format
 msgid "Keyslot %i: offset repaired (%u -> %u)."
 msgstr ""
 
-#: lib/luks1/keymanage.c:417
+#: lib/luks1/keymanage.c:471
 #, c-format
 msgid "Keyslot %i: stripes repaired (%u -> %u)."
 msgstr ""
 
-#: lib/luks1/keymanage.c:426
+#: lib/luks1/keymanage.c:480
 #, c-format
 msgid "Keyslot %i: bogus partition signature."
 msgstr ""
 
-#: lib/luks1/keymanage.c:431
+#: lib/luks1/keymanage.c:485
 #, c-format
 msgid "Keyslot %i: salt wiped."
 msgstr ""
 
-#: lib/luks1/keymanage.c:448
+#: lib/luks1/keymanage.c:502
 msgid "Writing LUKS header to disk."
 msgstr ""
 
-#: lib/luks1/keymanage.c:453
+#: lib/luks1/keymanage.c:507
 msgid "Repair failed."
 msgstr ""
 
-#: lib/luks1/keymanage.c:481 lib/luks1/keymanage.c:750
+#: lib/luks1/keymanage.c:562
 #, c-format
-msgid "Requested LUKS hash %s is not supported."
+msgid "LUKS cipher mode %s is invalid."
 msgstr ""
 
-#: lib/luks1/keymanage.c:509 src/cryptsetup.c:1133
+#: lib/luks1/keymanage.c:567
+#, c-format
+msgid "LUKS hash %s is invalid."
+msgstr ""
+
+#: lib/luks1/keymanage.c:574 src/cryptsetup.c:1281
 msgid "No known problems detected for LUKS header."
 msgstr ""
 
-#: lib/luks1/keymanage.c:660
+#: lib/luks1/keymanage.c:702
 #, c-format
 msgid "Error during update of LUKS header on device %s."
 msgstr ""
 
-#: lib/luks1/keymanage.c:668
+#: lib/luks1/keymanage.c:710
 #, c-format
 msgid "Error re-reading LUKS header after update on device %s."
 msgstr ""
 
-#: lib/luks1/keymanage.c:744
+#: lib/luks1/keymanage.c:786
 msgid ""
 "Data offset for LUKS header must be either 0 or higher than header size."
 msgstr ""
 
-#: 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
+#: lib/luks1/keymanage.c:797 lib/luks1/keymanage.c:866
+#: lib/luks2/luks2_json_format.c:286 lib/luks2/luks2_json_metadata.c:1236
+#: src/utils_reencrypt.c:539
 msgid "Wrong LUKS UUID format provided."
 msgstr ""
 
-#: lib/luks1/keymanage.c:778
+#: lib/luks1/keymanage.c:819
 msgid "Cannot create LUKS header: reading random salt failed."
 msgstr ""
 
-#: lib/luks1/keymanage.c:804
+#: lib/luks1/keymanage.c:845
 #, c-format
 msgid "Cannot create LUKS header: header digest failed (using hash %s)."
 msgstr ""
 
-#: lib/luks1/keymanage.c:848
+#: lib/luks1/keymanage.c:889
 #, c-format
 msgid "Key slot %d active, purge first."
 msgstr ""
 
-#: lib/luks1/keymanage.c:854
+#: lib/luks1/keymanage.c:895
 #, c-format
 msgid "Key slot %d material includes too few stripes. Header manipulation?"
 msgstr ""
 
-#: lib/luks1/keymanage.c:990
+#: lib/luks1/keymanage.c:931 lib/luks2/luks2_keyslot_luks2.c:270
+msgid "PBKDF2 iteration value overflow."
+msgstr ""
+
+#: lib/luks1/keymanage.c:1040
 #, c-format
 msgid "Cannot open keyslot (using hash %s)."
 msgstr ""
 
-#: lib/luks1/keymanage.c:1066
+#: lib/luks1/keymanage.c:1118
 #, c-format
 msgid "Key slot %d is invalid, please select keyslot between 0 and %d."
 msgstr ""
 
-#: lib/luks1/keymanage.c:1084 lib/luks2/luks2_keyslot.c:738
+#: lib/luks1/keymanage.c:1136 lib/luks2/luks2_keyslot.c:718
 #, c-format
 msgid "Cannot wipe device %s."
 msgstr ""
@@ -992,242 +1055,284 @@ msgstr ""
 msgid "Kernel does not support loop-AES compatible mapping."
 msgstr ""
 
-#: lib/tcrypt/tcrypt.c:504
+#: lib/tcrypt/tcrypt.c:508
 #, c-format
 msgid "Error reading keyfile %s."
 msgstr ""
 
-#: lib/tcrypt/tcrypt.c:554
+#: lib/tcrypt/tcrypt.c:558
 #, c-format
 msgid "Maximum TCRYPT passphrase length (%zu) exceeded."
 msgstr ""
 
-#: lib/tcrypt/tcrypt.c:595
+#: lib/tcrypt/tcrypt.c:600
 #, c-format
 msgid "PBKDF2 hash algorithm %s not available, skipping."
 msgstr ""
 
-#: lib/tcrypt/tcrypt.c:611 src/cryptsetup.c:1010
+#: lib/tcrypt/tcrypt.c:619 src/cryptsetup.c:1156
 msgid "Required kernel crypto interface not available."
 msgstr ""
 
-#: lib/tcrypt/tcrypt.c:613 src/cryptsetup.c:1012
+#: lib/tcrypt/tcrypt.c:621 src/cryptsetup.c:1158
 msgid "Ensure you have algif_skcipher kernel module loaded."
 msgstr ""
 
-#: lib/tcrypt/tcrypt.c:753
+#: lib/tcrypt/tcrypt.c:762
 #, c-format
 msgid "Activation is not supported for %d sector size."
 msgstr ""
 
-#: lib/tcrypt/tcrypt.c:759
+#: lib/tcrypt/tcrypt.c:768
 msgid "Kernel does not support activation for this TCRYPT legacy mode."
 msgstr ""
 
-#: lib/tcrypt/tcrypt.c:793
+#: lib/tcrypt/tcrypt.c:799
 #, c-format
 msgid "Activating TCRYPT system encryption for partition %s."
 msgstr ""
 
-#: lib/tcrypt/tcrypt.c:871
+#: lib/tcrypt/tcrypt.c:882
 msgid "Kernel does not support TCRYPT compatible mapping."
 msgstr ""
 
-#: lib/tcrypt/tcrypt.c:1093
+#: lib/tcrypt/tcrypt.c:1095
 msgid "This function is not supported without TCRYPT header load."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:333
+#: lib/bitlk/bitlk.c:278
 #, c-format
 msgid ""
 "Unexpected metadata entry type '%u' found when parsing supported Volume "
 "Master Key."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:380
+#: lib/bitlk/bitlk.c:337
 msgid "Invalid string found when parsing Volume Master Key."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:385
+#: lib/bitlk/bitlk.c:341
 #, c-format
 msgid ""
 "Unexpected string ('%s') found when parsing supported Volume Master Key."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:399
+#: lib/bitlk/bitlk.c:358
 #, c-format
 msgid ""
 "Unexpected metadata entry value '%u' found when parsing supported Volume "
 "Master Key."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:479
-#, c-format
-msgid "Failed to read BITLK signature from %s."
-msgstr ""
-
-#: lib/bitlk/bitlk.c:485
+#: lib/bitlk/bitlk.c:460
 msgid "BITLK version 1 is currently not supported."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:491
+#: lib/bitlk/bitlk.c:466
 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
+#: lib/bitlk/bitlk.c:478
 #, c-format
 msgid "Unsupported sector size %<PRIu16>."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:518
+#: lib/bitlk/bitlk.c:486
 #, c-format
 msgid "Failed to read BITLK header from %s."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:543
+#: lib/bitlk/bitlk.c:511
 #, c-format
 msgid "Failed to read BITLK FVE metadata from %s."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:594
+#: lib/bitlk/bitlk.c:562
 msgid "Unknown or unsupported encryption type."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:627
+#: lib/bitlk/bitlk.c:602
 #, c-format
 msgid "Failed to read BITLK metadata entries from %s."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:921
+#: lib/bitlk/bitlk.c:719
+msgid "Failed to convert BITLK volume description"
+msgstr ""
+
+#: lib/bitlk/bitlk.c:882
+#, c-format
+msgid "Unexpected metadata entry type '%u' found when parsing external key."
+msgstr ""
+
+#: lib/bitlk/bitlk.c:905
+#, c-format
+msgid "BEK file GUID '%s' does not match GUID of the volume."
+msgstr ""
+
+#: lib/bitlk/bitlk.c:909
+#, c-format
+msgid "Unexpected metadata entry value '%u' found when parsing external key."
+msgstr ""
+
+#: lib/bitlk/bitlk.c:948
+#, c-format
+msgid "Unsupported BEK metadata version %<PRIu32>"
+msgstr ""
+
+#: lib/bitlk/bitlk.c:953
+#, c-format
+msgid "Unexpected BEK metadata size %<PRIu32> does not match BEK file length"
+msgstr ""
+
+#: lib/bitlk/bitlk.c:979
+msgid "Unexpected metadata entry found when parsing startup key."
+msgstr ""
+
+#: lib/bitlk/bitlk.c:1075
 msgid "This operation is not supported."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:929
-msgid "Wrong key size."
+#: lib/bitlk/bitlk.c:1083
+msgid "Unexpected key data size."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:981
+#: lib/bitlk/bitlk.c:1209
 msgid "This BITLK device is in an unsupported state and cannot be activated."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:987
+#: lib/bitlk/bitlk.c:1214
 #, c-format
 msgid "BITLK devices with type '%s' cannot be activated."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:1069
+#: lib/bitlk/bitlk.c:1221
 msgid "Activation of partially decrypted BITLK device is not supported."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:1205
+#: lib/bitlk/bitlk.c:1262
+#, c-format
+msgid ""
+"WARNING: BitLocker volume size %<PRIu64> does not match the underlying "
+"device size %<PRIu64>"
+msgstr ""
+
+#: lib/bitlk/bitlk.c:1389
 msgid ""
 "Cannot activate device, kernel dm-crypt is missing support for BITLK IV."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:1209
+#: lib/bitlk/bitlk.c:1393
 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
+#: lib/bitlk/bitlk.c:1397
+msgid ""
+"Cannot activate device, kernel dm-crypt is missing support for large sector "
+"size."
+msgstr ""
+
+#: lib/bitlk/bitlk.c:1401
+msgid "Cannot activate device, kernel dm-zero module is missing."
+msgstr ""
+
+#: lib/fvault2/fvault2.c:542
 #, c-format
-msgid "Verity device %s does not use on-disk header."
+msgid "Could not read %u bytes of volume header."
 msgstr ""
 
-#: lib/verity/verity.c:90
+#: lib/fvault2/fvault2.c:554
 #, c-format
-msgid "Device %s is not a valid VERITY device."
+msgid "Unsupported FVAULT2 version %<PRIu16>."
+msgstr ""
+
+#: lib/verity/verity.c:68 lib/verity/verity.c:182
+#, c-format
+msgid "Verity device %s does not use on-disk header."
 msgstr ""
 
-#: lib/verity/verity.c:97
+#: lib/verity/verity.c:96
 #, c-format
 msgid "Unsupported VERITY version %d."
 msgstr ""
 
-#: lib/verity/verity.c:128
+#: lib/verity/verity.c:131
 msgid "VERITY header corrupted."
 msgstr ""
 
-#: lib/verity/verity.c:165
+#: lib/verity/verity.c:176
 #, c-format
 msgid "Wrong VERITY UUID format provided on device %s."
 msgstr ""
 
-#: lib/verity/verity.c:198
+#: lib/verity/verity.c:220
 #, c-format
 msgid "Error during update of verity header on device %s."
 msgstr ""
 
-#: lib/verity/verity.c:256
+#: lib/verity/verity.c:278
 msgid "Root hash signature verification is not supported."
 msgstr ""
 
-#: lib/verity/verity.c:267
+#: lib/verity/verity.c:290
 msgid "Errors cannot be repaired with FEC device."
 msgstr ""
 
-#: lib/verity/verity.c:269
+#: lib/verity/verity.c:292
 #, c-format
 msgid "Found %u repairable errors with FEC device."
 msgstr ""
 
-#: lib/verity/verity.c:308
+#: lib/verity/verity.c:335
 msgid "Kernel does not support dm-verity mapping."
 msgstr ""
 
-#: lib/verity/verity.c:312
+#: lib/verity/verity.c:339
 msgid "Kernel does not support dm-verity signature option."
 msgstr ""
 
-#: lib/verity/verity.c:323
+#: lib/verity/verity.c:350
 msgid "Verity device detected corruption after activation."
 msgstr ""
 
-#: lib/verity/verity_hash.c:59
+#: lib/verity/verity_hash.c:66
 #, c-format
 msgid "Spare area is not zeroed at position %<PRIu64>."
 msgstr ""
 
-#: lib/verity/verity_hash.c:163 lib/verity/verity_hash.c:290
-#: lib/verity/verity_hash.c:303
+#: lib/verity/verity_hash.c:167 lib/verity/verity_hash.c:300
+#: lib/verity/verity_hash.c:311
 msgid "Device offset overflow."
 msgstr ""
 
-#: lib/verity/verity_hash.c:203
+#: lib/verity/verity_hash.c:218
 #, c-format
 msgid "Verification failed at position %<PRIu64>."
 msgstr ""
 
-#: lib/verity/verity_hash.c:276
-msgid "Invalid size parameters for verity device."
-msgstr ""
-
-#: lib/verity/verity_hash.c:296
+#: lib/verity/verity_hash.c:307
 msgid "Hash area overflow."
 msgstr ""
 
-#: lib/verity/verity_hash.c:373
+#: lib/verity/verity_hash.c:380
 msgid "Verification of data area failed."
 msgstr ""
 
-#: lib/verity/verity_hash.c:378
+#: lib/verity/verity_hash.c:385
 msgid "Verification of root hash failed."
 msgstr ""
 
-#: lib/verity/verity_hash.c:384
+#: lib/verity/verity_hash.c:391
 msgid "Input/output error while creating hash area."
 msgstr ""
 
-#: lib/verity/verity_hash.c:386
+#: lib/verity/verity_hash.c:393
 msgid "Creation of hash area failed."
 msgstr ""
 
-#: lib/verity/verity_hash.c:433
+#: lib/verity/verity_hash.c:428
 #, c-format
 msgid ""
 "WARNING: Kernel cannot activate device if data block size exceeds page size "
@@ -1238,1144 +1343,1317 @@ msgstr ""
 msgid "Failed to allocate RS context."
 msgstr ""
 
-#: lib/verity/verity_fec.c:146
+#: lib/verity/verity_fec.c:149
 msgid "Failed to allocate buffer."
 msgstr ""
 
-#: lib/verity/verity_fec.c:156
+#: lib/verity/verity_fec.c:159
 #, c-format
 msgid "Failed to read RS block %<PRIu64> byte %d."
 msgstr ""
 
-#: lib/verity/verity_fec.c:169
+#: lib/verity/verity_fec.c:172
 #, c-format
 msgid "Failed to read parity for RS block %<PRIu64>."
 msgstr ""
 
-#: lib/verity/verity_fec.c:177
+#: lib/verity/verity_fec.c:180
 #, c-format
 msgid "Failed to repair parity for block %<PRIu64>."
 msgstr ""
 
-#: lib/verity/verity_fec.c:188
+#: lib/verity/verity_fec.c:192
 #, c-format
 msgid "Failed to write parity for RS block %<PRIu64>."
 msgstr ""
 
-#: lib/verity/verity_fec.c:223
+#: lib/verity/verity_fec.c:208
 msgid "Block sizes must match for FEC."
 msgstr ""
 
-#: lib/verity/verity_fec.c:229
+#: lib/verity/verity_fec.c:214
 msgid "Invalid number of parity bytes."
 msgstr ""
 
-#: lib/verity/verity_fec.c:265
+#: lib/verity/verity_fec.c:248
+msgid "Invalid FEC segment length."
+msgstr ""
+
+#: lib/verity/verity_fec.c:316
 #, c-format
 msgid "Failed to determine size for device %s."
 msgstr ""
 
-#: lib/integrity/integrity.c:271 lib/integrity/integrity.c:343
+#: lib/integrity/integrity.c:57
+#, c-format
+msgid "Incompatible kernel dm-integrity metadata (version %u) detected on %s."
+msgstr ""
+
+#: lib/integrity/integrity.c:277 lib/integrity/integrity.c:379
 msgid "Kernel does not support dm-integrity mapping."
 msgstr ""
 
-#: lib/integrity/integrity.c:277
+#: lib/integrity/integrity.c:283
 msgid "Kernel does not support dm-integrity fixed metadata alignment."
 msgstr ""
 
-#: lib/luks2/luks2_disk_metadata.c:383 lib/luks2/luks2_json_metadata.c:959
-#: lib/luks2/luks2_json_metadata.c:1244
+#: lib/integrity/integrity.c:292
+msgid ""
+"Kernel refuses to activate insecure recalculate option (see legacy "
+"activation options to override)."
+msgstr ""
+
+#: lib/luks2/luks2_disk_metadata.c:391 lib/luks2/luks2_json_metadata.c:1159
+#: lib/luks2/luks2_json_metadata.c:1482
 #, c-format
 msgid "Failed to acquire write lock on device %s."
 msgstr ""
 
-#: lib/luks2/luks2_disk_metadata.c:392
+#: lib/luks2/luks2_disk_metadata.c:400
 msgid ""
 "Detected attempt for concurrent LUKS2 metadata update. Aborting operation."
 msgstr ""
 
-#: lib/luks2/luks2_disk_metadata.c:691 lib/luks2/luks2_disk_metadata.c:712
+#: lib/luks2/luks2_disk_metadata.c:699 lib/luks2/luks2_disk_metadata.c:720
 msgid ""
 "Device contains ambiguous signatures, cannot auto-recover LUKS2.\n"
 "Please run \"cryptsetup repair\" for recovery."
 msgstr ""
 
-#: lib/luks2/luks2_json_format.c:227
+#: lib/luks2/luks2_json_format.c:229
 msgid "Requested data offset is too small."
 msgstr ""
 
-#: lib/luks2/luks2_json_format.c:271
+#: lib/luks2/luks2_json_format.c:274
 #, c-format
 msgid ""
 "WARNING: keyslots area (%<PRIu64> bytes) is very small, available LUKS2 "
 "keyslot count is very limited.\n"
 msgstr ""
 
-#: 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
+#: lib/luks2/luks2_json_metadata.c:1146 lib/luks2/luks2_json_metadata.c:1328
+#: lib/luks2/luks2_json_metadata.c:1388 lib/luks2/luks2_keyslot_luks2.c:94
+#: lib/luks2/luks2_keyslot_luks2.c:116
 #, c-format
 msgid "Failed to acquire read lock on device %s."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:1167
+#: lib/luks2/luks2_json_metadata.c:1405
 #, c-format
 msgid "Forbidden LUKS2 requirements detected in backup %s."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:1208
+#: lib/luks2/luks2_json_metadata.c:1446
 msgid "Data offset differ on device and backup, restore failed."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:1214
+#: lib/luks2/luks2_json_metadata.c:1452
 msgid ""
 "Binary header with keyslot areas size differ on device and backup, restore "
 "failed."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:1221
+#: lib/luks2/luks2_json_metadata.c:1459
 #, c-format
 msgid "Device %s %s%s%s%s"
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:1222
+#: lib/luks2/luks2_json_metadata.c:1460
 msgid ""
 "does not contain LUKS2 header. Replacing header can destroy data on that "
 "device."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:1223
+#: lib/luks2/luks2_json_metadata.c:1461
 msgid ""
 "already contains LUKS2 header. Replacing header will destroy existing "
 "keyslots."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:1225
+#: lib/luks2/luks2_json_metadata.c:1463
 msgid ""
 "\n"
 "WARNING: unknown LUKS2 requirements detected in real device header!\n"
 "Replacing header with backup may corrupt the data on that device!"
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:1227
+#: lib/luks2/luks2_json_metadata.c:1465
 msgid ""
 "\n"
 "WARNING: Unfinished offline reencryption detected on the device!\n"
 "Replacing header with backup may corrupt data."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:1323
+#: lib/luks2/luks2_json_metadata.c:1562
 #, c-format
 msgid "Ignored unknown flag %s."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:2010 lib/luks2/luks2_reencrypt.c:1746
+#: lib/luks2/luks2_json_metadata.c:2470 lib/luks2/luks2_reencrypt.c:2061
 #, c-format
 msgid "Missing key for dm-crypt segment %u"
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:2022 lib/luks2/luks2_reencrypt.c:1764
+#: lib/luks2/luks2_json_metadata.c:2482 lib/luks2/luks2_reencrypt.c:2075
 msgid "Failed to set dm-crypt segment."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:2028 lib/luks2/luks2_reencrypt.c:1770
+#: lib/luks2/luks2_json_metadata.c:2488 lib/luks2/luks2_reencrypt.c:2081
 msgid "Failed to set dm-linear segment."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:2155
+#: lib/luks2/luks2_json_metadata.c:2615
 msgid "Unsupported device integrity configuration."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:2241
+#: lib/luks2/luks2_json_metadata.c:2701
 msgid "Reencryption in-progress. Cannot deactivate device."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:2252 lib/luks2/luks2_reencrypt.c:3190
+#: lib/luks2/luks2_json_metadata.c:2712 lib/luks2/luks2_reencrypt.c:4082
 #, c-format
 msgid "Failed to replace suspended device %s with dm-error target."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:2332
+#: lib/luks2/luks2_json_metadata.c:2792
 msgid "Failed to read LUKS2 requirements."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:2339
+#: lib/luks2/luks2_json_metadata.c:2799
 msgid "Unmet LUKS2 requirements detected."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:2347
+#: lib/luks2/luks2_json_metadata.c:2807
 msgid ""
 "Operation incompatible with device marked for legacy reencryption. Aborting."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:2349
+#: lib/luks2/luks2_json_metadata.c:2809
 msgid ""
 "Operation incompatible with device marked for LUKS2 reencryption. Aborting."
 msgstr ""
 
-#: lib/luks2/luks2_keyslot.c:547 lib/luks2/luks2_keyslot.c:584
+#: lib/luks2/luks2_keyslot.c:563 lib/luks2/luks2_keyslot.c:600
 msgid "Not enough available memory to open a keyslot."
 msgstr ""
 
-#: lib/luks2/luks2_keyslot.c:549 lib/luks2/luks2_keyslot.c:586
+#: lib/luks2/luks2_keyslot.c:565 lib/luks2/luks2_keyslot.c:602
 msgid "Keyslot open failed."
 msgstr ""
 
-#: lib/luks2/luks2_keyslot_luks2.c:53 lib/luks2/luks2_keyslot_luks2.c:108
+#: lib/luks2/luks2_keyslot_luks2.c:55 lib/luks2/luks2_keyslot_luks2.c:110
 #, c-format
 msgid "Cannot use %s-%s cipher for keyslot encryption."
 msgstr ""
 
-#: lib/luks2/luks2_keyslot_luks2.c:480
+#: lib/luks2/luks2_keyslot_luks2.c:285 lib/luks2/luks2_keyslot_luks2.c:394
+#: lib/luks2/luks2_keyslot_reenc.c:443 lib/luks2/luks2_reencrypt.c:2668
+#, c-format
+msgid "Hash algorithm %s is not available."
+msgstr ""
+
+#: lib/luks2/luks2_keyslot_luks2.c:510
 msgid "No space for new keyslot."
 msgstr ""
 
-#: lib/luks2/luks2_luks1_convert.c:482
+#: lib/luks2/luks2_keyslot_reenc.c:593
+msgid "Invalid reencryption resilience mode change requested."
+msgstr ""
+
+#: lib/luks2/luks2_keyslot_reenc.c:714
+#, c-format
+msgid ""
+"Can not update resilience type. New type only provides %<PRIu64> bytes, "
+"required space is: %<PRIu64> bytes."
+msgstr ""
+
+#: lib/luks2/luks2_keyslot_reenc.c:724
+msgid "Failed to refresh reencryption verification digest."
+msgstr ""
+
+#: lib/luks2/luks2_luks1_convert.c:512
 #, c-format
 msgid "Cannot check status of device with uuid: %s."
 msgstr ""
 
-#: lib/luks2/luks2_luks1_convert.c:508
+#: lib/luks2/luks2_luks1_convert.c:538
 msgid "Unable to convert header with LUKSMETA additional metadata."
 msgstr ""
 
-#: lib/luks2/luks2_luks1_convert.c:548
+#: lib/luks2/luks2_luks1_convert.c:569 lib/luks2/luks2_reencrypt.c:3740
+#, c-format
+msgid "Unable to use cipher specification %s-%s for LUKS2."
+msgstr ""
+
+#: lib/luks2/luks2_luks1_convert.c:584
 msgid "Unable to move keyslot area. Not enough space."
 msgstr ""
 
-#: lib/luks2/luks2_luks1_convert.c:599
+#: lib/luks2/luks2_luks1_convert.c:619
+msgid "Cannot convert to LUKS2 format - invalid metadata."
+msgstr ""
+
+#: lib/luks2/luks2_luks1_convert.c:636
 msgid "Unable to move keyslot area. LUKS2 keyslots area too small."
 msgstr ""
 
-#: lib/luks2/luks2_luks1_convert.c:605 lib/luks2/luks2_luks1_convert.c:887
+#: lib/luks2/luks2_luks1_convert.c:642 lib/luks2/luks2_luks1_convert.c:936
 msgid "Unable to move keyslot area."
 msgstr ""
 
-#: lib/luks2/luks2_luks1_convert.c:697
+#: lib/luks2/luks2_luks1_convert.c:732
 msgid ""
 "Cannot convert to LUKS1 format - default segment encryption sector size is "
 "not 512 bytes."
 msgstr ""
 
-#: lib/luks2/luks2_luks1_convert.c:705
+#: lib/luks2/luks2_luks1_convert.c:740
 msgid ""
 "Cannot convert to LUKS1 format - key slot digests are not LUKS1 compatible."
 msgstr ""
 
-#: lib/luks2/luks2_luks1_convert.c:717
+#: lib/luks2/luks2_luks1_convert.c:752
 #, c-format
 msgid "Cannot convert to LUKS1 format - device uses wrapped key cipher %s."
 msgstr ""
 
-#: lib/luks2/luks2_luks1_convert.c:725
+#: lib/luks2/luks2_luks1_convert.c:757
+msgid "Cannot convert to LUKS1 format - device uses more segments."
+msgstr ""
+
+#: lib/luks2/luks2_luks1_convert.c:765
 #, c-format
 msgid "Cannot convert to LUKS1 format - LUKS2 header contains %u token(s)."
 msgstr ""
 
-#: lib/luks2/luks2_luks1_convert.c:739
+#: lib/luks2/luks2_luks1_convert.c:779
 #, c-format
 msgid "Cannot convert to LUKS1 format - keyslot %u is in invalid state."
 msgstr ""
 
-#: lib/luks2/luks2_luks1_convert.c:744
+#: lib/luks2/luks2_luks1_convert.c:784
 #, c-format
 msgid ""
 "Cannot convert to LUKS1 format - slot %u (over maximum slots) is still "
 "active."
 msgstr ""
 
-#: lib/luks2/luks2_luks1_convert.c:749
+#: lib/luks2/luks2_luks1_convert.c:789
 #, c-format
 msgid "Cannot convert to LUKS1 format - keyslot %u is not LUKS1 compatible."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:892
+#: lib/luks2/luks2_reencrypt.c:1152
 #, c-format
 msgid "Hotzone size must be multiple of calculated zone alignment (%zu bytes)."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:897
+#: lib/luks2/luks2_reencrypt.c:1157
 #, c-format
 msgid "Device size must be multiple of calculated zone alignment (%zu bytes)."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:941
-#, c-format
-msgid "Unsupported resilience mode %s"
-msgstr ""
-
-#: 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
+#: lib/luks2/luks2_reencrypt.c:1364 lib/luks2/luks2_reencrypt.c:1551
+#: lib/luks2/luks2_reencrypt.c:1634 lib/luks2/luks2_reencrypt.c:1676
+#: lib/luks2/luks2_reencrypt.c:3877
 msgid "Failed to initialize old segment storage wrapper."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:1172 lib/luks2/luks2_reencrypt.c:1291
+#: lib/luks2/luks2_reencrypt.c:1378 lib/luks2/luks2_reencrypt.c:1529
 msgid "Failed to initialize new segment storage wrapper."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:1340
+#: lib/luks2/luks2_reencrypt.c:1505 lib/luks2/luks2_reencrypt.c:3889
+msgid "Failed to initialize hotzone protection."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:1578
 msgid "Failed to read checksums for current hotzone."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:1347 lib/luks2/luks2_reencrypt.c:3038
+#: lib/luks2/luks2_reencrypt.c:1585 lib/luks2/luks2_reencrypt.c:3903
 #, c-format
 msgid "Failed to read hotzone area starting at %<PRIu64>."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:1366
+#: lib/luks2/luks2_reencrypt.c:1604
 #, c-format
 msgid "Failed to decrypt sector %zu."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:1372
+#: lib/luks2/luks2_reencrypt.c:1610
 #, c-format
 msgid "Failed to recover sector %zu."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:1867
+#: lib/luks2/luks2_reencrypt.c:2174
 #, c-format
 msgid ""
 "Source and target device sizes don't match. Source %<PRIu64>, target: "
 "%<PRIu64>."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:1965
+#: lib/luks2/luks2_reencrypt.c:2272
 #, c-format
 msgid "Failed to activate hotzone device %s."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:1982
+#: lib/luks2/luks2_reencrypt.c:2289
 #, c-format
 msgid "Failed to activate overlay device %s with actual origin table."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:1989
+#: lib/luks2/luks2_reencrypt.c:2296
 #, c-format
 msgid "Failed to load new mapping for device %s."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2060
+#: lib/luks2/luks2_reencrypt.c:2367
 msgid "Failed to refresh reencryption devices stack."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2216
+#: lib/luks2/luks2_reencrypt.c:2550
 msgid "Failed to set new keyslots area size."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2318
+#: lib/luks2/luks2_reencrypt.c:2686
 #, c-format
 msgid ""
-"Data shift is not aligned to requested encryption sector size (%<PRIu32> "
-"bytes)."
+"Data shift value is not aligned to encryption sector size (%<PRIu32> bytes)."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:2723 src/utils_reencrypt.c:189
+#, c-format
+msgid "Unsupported resilience mode %s"
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2339
+#: lib/luks2/luks2_reencrypt.c:2760
+msgid "Moved segment size can not be greater than data shift value."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:2802
+msgid "Invalid reencryption resilience parameters."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:2824
 #, c-format
 msgid ""
-"Data device is not aligned to requested encryption sector size (%<PRIu32> "
-"bytes)."
+"Moved segment too large. Requested size %<PRIu64>, available space for: "
+"%<PRIu64>."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:2911
+msgid "Failed to clear table."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:2997
+msgid "Reduced data size is larger than real device size."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:3004
+#, c-format
+msgid "Data device is not aligned to encryption sector size (%<PRIu32> bytes)."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2360
+#: lib/luks2/luks2_reencrypt.c:3038
 #, 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
+#: lib/luks2/luks2_reencrypt.c:3045 lib/luks2/luks2_reencrypt.c:3533
+#: lib/luks2/luks2_reencrypt.c:3554
 #, c-format
 msgid "Failed to open %s in exclusive mode (already mapped or mounted)."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2534
+#: lib/luks2/luks2_reencrypt.c:3234
 msgid "Device not marked for LUKS2 reencryption."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2540 lib/luks2/luks2_reencrypt.c:3295
+#: lib/luks2/luks2_reencrypt.c:3251 lib/luks2/luks2_reencrypt.c:4206
 msgid "Failed to load LUKS2 reencryption context."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2619
+#: lib/luks2/luks2_reencrypt.c:3331
 msgid "Failed to get reencryption state."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2623
+#: lib/luks2/luks2_reencrypt.c:3335 lib/luks2/luks2_reencrypt.c:3649
 msgid "Device is not in reencryption."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2630
+#: lib/luks2/luks2_reencrypt.c:3342 lib/luks2/luks2_reencrypt.c:3656
 msgid "Reencryption process is already running."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2632
+#: lib/luks2/luks2_reencrypt.c:3344 lib/luks2/luks2_reencrypt.c:3658
 msgid "Failed to acquire reencryption lock."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2650
+#: lib/luks2/luks2_reencrypt.c:3362
 msgid "Cannot proceed with reencryption. Run reencryption recovery first."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2750
+#: lib/luks2/luks2_reencrypt.c:3497
 msgid "Active device size and requested reencryption size don't match."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2764
+#: lib/luks2/luks2_reencrypt.c:3511
 msgid "Illegal device size requested in reencryption parameters."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2834
+#: lib/luks2/luks2_reencrypt.c:3588
 msgid "Reencryption in-progress. Cannot perform recovery."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2906
+#: lib/luks2/luks2_reencrypt.c:3757
 msgid "LUKS2 reencryption already initialized in metadata."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2913
+#: lib/luks2/luks2_reencrypt.c:3764
 msgid "Failed to initialize LUKS2 reencryption in metadata."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3004
+#: lib/luks2/luks2_reencrypt.c:3859
 msgid "Failed to set device segments for next reencryption hotzone."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3046
+#: lib/luks2/luks2_reencrypt.c:3911
 msgid "Failed to write reencryption resilience metadata."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3053
+#: lib/luks2/luks2_reencrypt.c:3918
 msgid "Decryption failed."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3058
+#: lib/luks2/luks2_reencrypt.c:3923
 #, c-format
 msgid "Failed to write hotzone area starting at %<PRIu64>."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3063
+#: lib/luks2/luks2_reencrypt.c:3928
 msgid "Failed to sync data."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3071
+#: lib/luks2/luks2_reencrypt.c:3936
 msgid "Failed to update metadata after current reencryption hotzone completed."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3138
+#: lib/luks2/luks2_reencrypt.c:4025
 msgid "Failed to write LUKS2 metadata."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3161
-msgid "Failed to wipe backup segment data."
+#: lib/luks2/luks2_reencrypt.c:4048
+msgid "Failed to wipe unused data device area."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:4054
+#, c-format
+msgid "Failed to remove unused (unbound) keyslot %d."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3174
-msgid "Failed to disable reencryption requirement flag."
+#: lib/luks2/luks2_reencrypt.c:4064
+msgid "Failed to remove reencryption keyslot."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3182
+#: lib/luks2/luks2_reencrypt.c:4074
 #, c-format
 msgid ""
 "Fatal error while reencrypting chunk starting at %<PRIu64>, %<PRIu64> "
 "sectors long."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3191
+#: lib/luks2/luks2_reencrypt.c:4078
+msgid "Online reencryption failed."
+msgstr ""
+
+#: lib/luks2/luks2_reencrypt.c:4083
 msgid "Do not resume the device unless replaced with error target manually."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3240
+#: lib/luks2/luks2_reencrypt.c:4137
 msgid "Cannot proceed with reencryption. Unexpected reencryption status."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3246
+#: lib/luks2/luks2_reencrypt.c:4143
 msgid "Missing or invalid reencrypt context."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3253
+#: lib/luks2/luks2_reencrypt.c:4150
 msgid "Failed to initialize reencryption device stack."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3272 lib/luks2/luks2_reencrypt.c:3308
+#: lib/luks2/luks2_reencrypt.c:4172 lib/luks2/luks2_reencrypt.c:4219
 msgid "Failed to update reencryption context."
 msgstr ""
 
-#: lib/luks2/luks2_token.c:262
-msgid "No free token slot."
+#: lib/luks2/luks2_reencrypt_digest.c:405
+msgid "Reencryption metadata is invalid."
 msgstr ""
 
-#: lib/luks2/luks2_token.c:269
-#, c-format
-msgid "Failed to create builtin token %s."
+#: src/cryptsetup.c:85
+msgid "Keyslot encryption parameters can be set only for LUKS2 device."
 msgstr ""
 
-#: src/cryptsetup.c:164
-msgid "Can't do passphrase verification on non-tty inputs."
+#: src/cryptsetup.c:108 src/cryptsetup.c:1901
+#, c-format
+msgid "Enter token PIN: "
 msgstr ""
 
-#: src/cryptsetup.c:221
-msgid "Keyslot encryption parameters can be set only for LUKS2 device."
+#: src/cryptsetup.c:110 src/cryptsetup.c:1903
+#, c-format
+msgid "Enter token %d PIN: "
 msgstr ""
 
-#: 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
+#: src/cryptsetup.c:159 src/cryptsetup.c:1103 src/cryptsetup.c:1430
+#: src/utils_reencrypt.c:1122 src/utils_reencrypt_luks1.c:517
+#: src/utils_reencrypt_luks1.c:580
 msgid "No known cipher specification pattern detected."
 msgstr ""
 
-#: src/cryptsetup.c:259
+#: src/cryptsetup.c:167
 msgid ""
 "WARNING: The --hash parameter is being ignored in plain mode with keyfile "
 "specified.\n"
 msgstr ""
 
-#: src/cryptsetup.c:267
+#: src/cryptsetup.c:175
 msgid ""
 "WARNING: The --keyfile-size option is being ignored, the read size is the "
 "same as the encryption key size.\n"
 msgstr ""
 
-#: src/cryptsetup.c:307
+#: src/cryptsetup.c:215
 #, 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
+#: src/cryptsetup.c:221 src/cryptsetup.c:1177 src/cryptsetup.c:1225
+#: src/cryptsetup.c:1291 src/cryptsetup.c:1407 src/cryptsetup.c:1480
+#: src/cryptsetup.c:2266 src/integritysetup.c:187 src/utils_reencrypt.c:138
+#: src/utils_reencrypt.c:314 src/utils_reencrypt.c:749
 msgid "Operation aborted.\n"
 msgstr ""
 
-#: src/cryptsetup.c:381
+#: src/cryptsetup.c:294
 msgid "Option --key-file is required."
 msgstr ""
 
-#: src/cryptsetup.c:434
+#: src/cryptsetup.c:345
 msgid "Enter VeraCrypt PIM: "
 msgstr ""
 
-#: src/cryptsetup.c:443
+#: src/cryptsetup.c:354
 msgid "Invalid PIM value: parse error."
 msgstr ""
 
-#: src/cryptsetup.c:446
+#: src/cryptsetup.c:357
 msgid "Invalid PIM value: 0."
 msgstr ""
 
-#: src/cryptsetup.c:449
+#: src/cryptsetup.c:360
 msgid "Invalid PIM value: outside of range."
 msgstr ""
 
-#: src/cryptsetup.c:472
+#: src/cryptsetup.c:383
 msgid "No device header detected with this passphrase."
 msgstr ""
 
-#: src/cryptsetup.c:541
+#: src/cryptsetup.c:456 src/cryptsetup.c:632
 #, c-format
 msgid "Device %s is not a valid BITLK device."
 msgstr ""
 
-#: src/cryptsetup.c:576
+#: src/cryptsetup.c:464
+msgid ""
+"Cannot determine volume key size for BITLK, please use --key-size option."
+msgstr ""
+
+#: src/cryptsetup.c:506
 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 ""
 
-#: src/cryptsetup.c:673
+#: src/cryptsetup.c:573 src/cryptsetup.c:654 src/cryptsetup.c:2291
+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 ""
+
+#: src/cryptsetup.c:709 src/cryptsetup.c:739
+#, c-format
+msgid "Device %s is not a valid FVAULT2 device."
+msgstr ""
+
+#: src/cryptsetup.c:747
+msgid ""
+"Cannot determine volume key size for FVAULT2, please use --key-size option."
+msgstr ""
+
+#: src/cryptsetup.c:801 src/veritysetup.c:323 src/integritysetup.c:400
 #, c-format
 msgid "Device %s is still active and scheduled for deferred removal.\n"
 msgstr ""
 
-#: src/cryptsetup.c:701
+#: src/cryptsetup.c:835
 msgid ""
 "Resize of active device requires volume key in keyring but --disable-keyring "
 "option is set."
 msgstr ""
 
-#: src/cryptsetup.c:838
+#: src/cryptsetup.c:982
 msgid "Benchmark interrupted."
 msgstr ""
 
-#: src/cryptsetup.c:859
+#: src/cryptsetup.c:1003
 #, c-format
 msgid "PBKDF2-%-9s     N/A\n"
 msgstr ""
 
-#: src/cryptsetup.c:861
+#: src/cryptsetup.c:1005
 #, c-format
 msgid "PBKDF2-%-9s %7u iterations per second for %zu-bit key\n"
 msgstr ""
 
-#: src/cryptsetup.c:875
+#: src/cryptsetup.c:1019
 #, c-format
 msgid "%-10s N/A\n"
 msgstr ""
 
-#: src/cryptsetup.c:877
+#: src/cryptsetup.c:1021
 #, 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
+#: src/cryptsetup.c:1045
 msgid "Result of benchmark is not reliable."
 msgstr ""
 
-#: src/cryptsetup.c:951
+#: src/cryptsetup.c:1095
 msgid "# Tests are approximate using memory only (no storage IO).\n"
 msgstr ""
 
 #. TRANSLATORS: The string is header of a table and must be exactly (right side) aligned.
-#: src/cryptsetup.c:971
+#: src/cryptsetup.c:1115
 #, c-format
 msgid "#%*s Algorithm |       Key |      Encryption |      Decryption\n"
 msgstr ""
 
-#: src/cryptsetup.c:975
+#: src/cryptsetup.c:1119
 #, c-format
 msgid "Cipher %s (with %i bits key) is not available."
 msgstr ""
 
 #. TRANSLATORS: The string is header of a table and must be exactly (right side) aligned.
-#: src/cryptsetup.c:994
+#: src/cryptsetup.c:1138
 msgid "#     Algorithm |       Key |      Encryption |      Decryption\n"
 msgstr ""
 
-#: src/cryptsetup.c:1003
+#: src/cryptsetup.c:1149
 msgid "N/A"
 msgstr ""
 
-#: src/cryptsetup.c:1083
+#: src/cryptsetup.c:1174
 msgid ""
-"Seems device does not require reencryption recovery.\n"
-"Do you want to proceed anyway?"
+"Unprotected LUKS2 reencryption metadata detected. Please verify the "
+"reencryption operation is desirable (see luksDump output)\n"
+"and continue (upgrade metadata) only if you acknowledge the operation as "
+"genuine."
+msgstr ""
+
+#: src/cryptsetup.c:1180
+msgid "Enter passphrase to protect and upgrade reencryption metadata: "
 msgstr ""
 
-#: src/cryptsetup.c:1089
+#: src/cryptsetup.c:1224
 msgid "Really proceed with LUKS2 reencryption recovery?"
 msgstr ""
 
-#: src/cryptsetup.c:1098
+#: src/cryptsetup.c:1233
+msgid "Enter passphrase to verify reencryption metadata digest: "
+msgstr ""
+
+#: src/cryptsetup.c:1235
 msgid "Enter passphrase for reencryption recovery: "
 msgstr ""
 
-#: src/cryptsetup.c:1141
+#: src/cryptsetup.c:1290
 msgid "Really try to repair LUKS device header?"
 msgstr ""
 
-#: src/cryptsetup.c:1160 src/integritysetup.c:146
+#: src/cryptsetup.c:1314 src/integritysetup.c:89 src/integritysetup.c:238
+msgid ""
+"\n"
+"Wipe interrupted."
+msgstr ""
+
+#: src/cryptsetup.c:1319 src/integritysetup.c:94 src/integritysetup.c:275
 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
+#: src/cryptsetup.c:1341 src/integritysetup.c:116
 #, c-format
 msgid "Cannot deactivate temporary device %s."
 msgstr ""
 
-#: src/cryptsetup.c:1231
+#: src/cryptsetup.c:1392
 msgid "Integrity option can be used only for LUKS2 format."
 msgstr ""
 
-#: src/cryptsetup.c:1236 src/cryptsetup.c:1296
+#: src/cryptsetup.c:1397 src/cryptsetup.c:1457
 msgid "Unsupported LUKS2 metadata size options."
 msgstr ""
 
-#: src/cryptsetup.c:1253
+#: src/cryptsetup.c:1406
+msgid "Header file does not exist, do you want to create it?"
+msgstr ""
+
+#: src/cryptsetup.c:1414
 #, c-format
 msgid "Cannot create header file %s."
 msgstr ""
 
-#: 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
+#: src/cryptsetup.c:1437 src/integritysetup.c:144 src/integritysetup.c:152
+#: src/integritysetup.c:161 src/integritysetup.c:315 src/integritysetup.c:323
+#: src/integritysetup.c:333
 msgid "No known integrity specification pattern detected."
 msgstr ""
 
-#: src/cryptsetup.c:1289
+#: src/cryptsetup.c:1450
 #, c-format
 msgid "Cannot use %s as on-disk header."
 msgstr ""
 
-#: src/cryptsetup.c:1313 src/integritysetup.c:227
+#: src/cryptsetup.c:1474 src/integritysetup.c:181
 #, c-format
 msgid "This will overwrite data on %s irrevocably."
 msgstr ""
 
-#: 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
+#: src/cryptsetup.c:1507 src/cryptsetup.c:1853 src/cryptsetup.c:1993
+#: src/cryptsetup.c:2148 src/cryptsetup.c:2214 src/utils_reencrypt_luks1.c:443
 msgid "Failed to set pbkdf parameters."
 msgstr ""
 
-#: src/cryptsetup.c:1439
+#: src/cryptsetup.c:1593
 msgid "Reduced data offset is allowed only for detached LUKS header."
 msgstr ""
 
-#: src/cryptsetup.c:1450 src/cryptsetup.c:1761
+#: src/cryptsetup.c:1600
+#, c-format
+msgid ""
+"LUKS file container %s is too small for activation, there is no remaining "
+"space for data."
+msgstr ""
+
+#: src/cryptsetup.c:1612 src/cryptsetup.c:1999
 msgid ""
 "Cannot determine volume key size for LUKS without keyslots, please use --key-"
 "size option."
 msgstr ""
 
-#: src/cryptsetup.c:1488
+#: src/cryptsetup.c:1658
 msgid "Device activated but cannot make flags persistent."
 msgstr ""
 
-#: src/cryptsetup.c:1569 src/cryptsetup.c:1639
+#: src/cryptsetup.c:1737 src/cryptsetup.c:1805
 #, c-format
 msgid "Keyslot %d is selected for deletion."
 msgstr ""
 
-#: src/cryptsetup.c:1581 src/cryptsetup.c:1642
+#: src/cryptsetup.c:1749 src/cryptsetup.c:1809
 msgid ""
 "This is the last keyslot. Device will become unusable after purging this key."
 msgstr ""
 
-#: src/cryptsetup.c:1582
+#: src/cryptsetup.c:1750
 msgid "Enter any remaining passphrase: "
 msgstr ""
 
-#: src/cryptsetup.c:1583 src/cryptsetup.c:1644
+#: src/cryptsetup.c:1751 src/cryptsetup.c:1811
 msgid "Operation aborted, the keyslot was NOT wiped.\n"
 msgstr ""
 
-#: src/cryptsetup.c:1621
+#: src/cryptsetup.c:1787
 msgid "Enter passphrase to be deleted: "
 msgstr ""
 
-#: src/cryptsetup.c:1702 src/cryptsetup.c:1776 src/cryptsetup.c:1810
+#: src/cryptsetup.c:1837 src/cryptsetup.c:2197 src/cryptsetup.c:2781
+#: src/cryptsetup.c:2948
+#, c-format
+msgid "Device %s is not a valid LUKS2 device."
+msgstr ""
+
+#: src/cryptsetup.c:1867 src/cryptsetup.c:2072
 msgid "Enter new passphrase for key slot: "
 msgstr ""
 
-#: src/cryptsetup.c:1793 src/cryptsetup_reencrypt.c:1343
+#: src/cryptsetup.c:1968
+msgid "WARNING: The --key-slot parameter is used for new keyslot number.\n"
+msgstr ""
+
+#: src/cryptsetup.c:2028 src/utils_reencrypt_luks1.c:1149
 #, c-format
 msgid "Enter any existing passphrase: "
 msgstr ""
 
-#: src/cryptsetup.c:1861
+#: src/cryptsetup.c:2152
 msgid "Enter passphrase to be changed: "
 msgstr ""
 
-#: src/cryptsetup.c:1877 src/cryptsetup_reencrypt.c:1329
+#: src/cryptsetup.c:2168 src/utils_reencrypt_luks1.c:1135
 msgid "Enter new passphrase: "
 msgstr ""
 
-#: src/cryptsetup.c:1927
+#: src/cryptsetup.c:2218
 msgid "Enter passphrase for keyslot to be converted: "
 msgstr ""
 
-#: src/cryptsetup.c:1951
+#: src/cryptsetup.c:2242
 msgid "Only one device argument for isLuks operation is supported."
 msgstr ""
 
-#: src/cryptsetup.c:2001
-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 ""
-
-#: src/cryptsetup.c:2066
+#: src/cryptsetup.c:2350
 #, c-format
 msgid "Keyslot %d does not contain unbound key."
 msgstr ""
 
-#: src/cryptsetup.c:2072
+#: src/cryptsetup.c:2355
 msgid ""
 "The header dump with unbound key is sensitive information.\n"
 "This dump should be stored encrypted in a safe place."
 msgstr ""
 
-#: src/cryptsetup.c:2207 src/cryptsetup.c:2228
+#: src/cryptsetup.c:2441 src/cryptsetup.c:2470
+#, c-format
+msgid "%s is not active %s device name."
+msgstr ""
+
+#: src/cryptsetup.c:2465
+#, c-format
+msgid "%s is not active LUKS device name or header is missing."
+msgstr ""
+
+#: src/cryptsetup.c:2527 src/cryptsetup.c:2546
 msgid "Option --header-backup-file is required."
 msgstr ""
 
-#: src/cryptsetup.c:2258
+#: src/cryptsetup.c:2577
 #, c-format
 msgid "%s is not cryptsetup managed device."
 msgstr ""
 
-#: src/cryptsetup.c:2269
+#: src/cryptsetup.c:2588
 #, c-format
 msgid "Refresh is not supported for device type %s"
 msgstr ""
 
-#: src/cryptsetup.c:2311
+#: src/cryptsetup.c:2638
 #, c-format
 msgid "Unrecognized metadata device type %s."
 msgstr ""
 
-#: src/cryptsetup.c:2314
+#: src/cryptsetup.c:2640
 msgid "Command requires device and mapped name as arguments."
 msgstr ""
 
-#: src/cryptsetup.c:2336
+#: src/cryptsetup.c:2661
 #, c-format
 msgid ""
 "This operation will erase all keyslots on device %s.\n"
 "Device will become unusable after this operation."
 msgstr ""
 
-#: src/cryptsetup.c:2343
+#: src/cryptsetup.c:2668
 msgid "Operation aborted, keyslots were NOT wiped.\n"
 msgstr ""
 
-#: src/cryptsetup.c:2380
+#: src/cryptsetup.c:2707
 msgid "Invalid LUKS type, only luks1 and luks2 are supported."
 msgstr ""
 
-#: src/cryptsetup.c:2398
+#: src/cryptsetup.c:2723
 #, c-format
 msgid "Device is already %s type."
 msgstr ""
 
-#: src/cryptsetup.c:2403
+#: src/cryptsetup.c:2730
 #, c-format
 msgid "This operation will convert %s to %s format.\n"
 msgstr ""
 
-#: src/cryptsetup.c:2409
+#: src/cryptsetup.c:2733
 msgid "Operation aborted, device was NOT converted.\n"
 msgstr ""
 
-#: src/cryptsetup.c:2449
+#: src/cryptsetup.c:2773
 msgid "Option --priority, --label or --subsystem is missing."
 msgstr ""
 
-#: src/cryptsetup.c:2483 src/cryptsetup.c:2516 src/cryptsetup.c:2539
+#: src/cryptsetup.c:2807 src/cryptsetup.c:2847 src/cryptsetup.c:2867
 #, c-format
 msgid "Token %d is invalid."
 msgstr ""
 
-#: src/cryptsetup.c:2486 src/cryptsetup.c:2542
+#: src/cryptsetup.c:2810 src/cryptsetup.c:2870
 #, c-format
 msgid "Token %d in use."
 msgstr ""
 
-#: src/cryptsetup.c:2493
+#: src/cryptsetup.c:2822
 #, c-format
 msgid "Failed to add luks2-keyring token %d."
 msgstr ""
 
-#: src/cryptsetup.c:2502 src/cryptsetup.c:2564
+#: src/cryptsetup.c:2833 src/cryptsetup.c:2896
 #, c-format
 msgid "Failed to assign token %d to keyslot %d."
 msgstr ""
 
-#: src/cryptsetup.c:2519
+#: src/cryptsetup.c:2850
 #, c-format
 msgid "Token %d is not in use."
 msgstr ""
 
-#: src/cryptsetup.c:2554
+#: src/cryptsetup.c:2887
 msgid "Failed to import token from file."
 msgstr ""
 
-#: src/cryptsetup.c:2579
+#: src/cryptsetup.c:2912
 #, c-format
 msgid "Failed to get token %d for export."
 msgstr ""
 
-#: 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."
+#: src/cryptsetup.c:2925
+#, c-format
+msgid "Token %d is not assigned to keyslot %d."
 msgstr ""
 
-#: src/cryptsetup.c:2613
+#: src/cryptsetup.c:2927 src/cryptsetup.c:2934
 #, c-format
-msgid "Invalid token operation %s."
+msgid "Failed to unassign token %d from keyslot %d."
 msgstr ""
 
-#: src/cryptsetup.c:2668
-#, c-format
-msgid "Auto-detected active dm device '%s' for data device %s.\n"
+#: src/cryptsetup.c:2983
+msgid ""
+"Option --tcrypt-hidden, --tcrypt-system or --tcrypt-backup is supported only "
+"for TCRYPT device."
 msgstr ""
 
-#: src/cryptsetup.c:2672
-#, c-format
-msgid "Device %s is not a block device.\n"
+#: src/cryptsetup.c:2986
+msgid ""
+"Option --veracrypt or --disable-veracrypt is supported only for TCRYPT "
+"device type."
 msgstr ""
 
-#: src/cryptsetup.c:2674
-#, c-format
-msgid "Failed to auto-detect device %s holders."
+#: src/cryptsetup.c:2989
+msgid ""
+"Option --veracrypt-pim is supported only for VeraCrypt compatible devices."
 msgstr ""
 
-#: src/cryptsetup.c:2676
-#, c-format
+#: src/cryptsetup.c:2993
 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"
+"Option --veracrypt-query-pim is supported only for VeraCrypt compatible "
+"devices."
+msgstr ""
+
+#: src/cryptsetup.c:2995
+msgid ""
+"The options --veracrypt-pim and --veracrypt-query-pim are mutually exclusive."
+msgstr ""
+
+#: src/cryptsetup.c:3004
+msgid "Option --persistent is not allowed with --test-passphrase."
+msgstr ""
+
+#: src/cryptsetup.c:3007
+msgid "Options --refresh and --test-passphrase are mutually exclusive."
+msgstr ""
+
+#: src/cryptsetup.c:3010
+msgid "Option --shared is allowed only for open of plain device."
 msgstr ""
 
-#: src/cryptsetup.c:2756
-msgid "Invalid LUKS device type."
+#: src/cryptsetup.c:3013
+msgid "Option --skip is supported only for open of plain and loopaes devices."
 msgstr ""
 
-#: src/cryptsetup.c:2761
+#: src/cryptsetup.c:3016
 msgid ""
-"Encryption without detached header (--header) is not possible without data "
-"device size reduction (--reduce-device-size)."
+"Option --offset with open action is only supported for plain and loopaes "
+"devices."
+msgstr ""
+
+#: src/cryptsetup.c:3019
+msgid "Option --tcrypt-hidden cannot be combined with --allow-discards."
 msgstr ""
 
-#: src/cryptsetup.c:2766
+#: src/cryptsetup.c:3023
 msgid ""
-"Requested data offset must be less than or equal to half of --reduce-device-"
-"size parameter."
+"Sector size option with open action is supported only for plain devices."
 msgstr ""
 
-#: src/cryptsetup.c:2775
-#, c-format
+#: src/cryptsetup.c:3027
 msgid ""
-"Adjusting --reduce-device-size value to twice the --offset %<PRIu64> "
-"(sectors).\n"
+"Large IV sectors option is supported only for opening plain type device with "
+"sector size larger than 512 bytes."
+msgstr ""
+
+#: src/cryptsetup.c:3032
+msgid ""
+"Option --test-passphrase is allowed only for open of LUKS, TCRYPT, BITLK and "
+"FVAULT2 devices."
 msgstr ""
 
-#: src/cryptsetup.c:2779
-msgid "Encryption is supported only for LUKS2 format."
+#: src/cryptsetup.c:3035 src/cryptsetup.c:3058
+msgid "Options --device-size and --size cannot be combined."
 msgstr ""
 
-#: src/cryptsetup.c:2801
-#, c-format
+#: src/cryptsetup.c:3038
+msgid "Option --unbound is allowed only for open of luks device."
+msgstr ""
+
+#: src/cryptsetup.c:3041
+msgid "Option --unbound cannot be used without --test-passphrase."
+msgstr ""
+
+#: src/cryptsetup.c:3050 src/veritysetup.c:668 src/integritysetup.c:755
 msgid ""
-"Detected LUKS device on %s. Do you want to encrypt that LUKS device again?"
+"Options --cancel-deferred and --deferred cannot be used at the same time."
 msgstr ""
 
-#: src/cryptsetup.c:2816
-#, c-format
-msgid "Temporary header file %s already exists. Aborting."
+#: src/cryptsetup.c:3066
+msgid "Options --reduce-device-size and --data-size cannot be combined."
 msgstr ""
 
-#: src/cryptsetup.c:2818 src/cryptsetup.c:2825
-#, c-format
-msgid "Cannot create temporary header file %s."
+#: src/cryptsetup.c:3069
+msgid "Option --active-name can be set only for LUKS2 device."
 msgstr ""
 
-#: src/cryptsetup.c:2889
-#, c-format
-msgid "%s/%s is now active and ready for online encryption.\n"
+#: src/cryptsetup.c:3072
+msgid "Options --active-name and --force-offline-reencrypt cannot be combined."
 msgstr ""
 
-#: src/cryptsetup.c:3053 src/cryptsetup.c:3059
-msgid "Not enough free keyslots for reencryption."
+#: src/cryptsetup.c:3080 src/cryptsetup.c:3110
+msgid "Keyslot specification is required."
+msgstr ""
+
+#: src/cryptsetup.c:3088
+msgid "Options --align-payload and --offset cannot be combined."
 msgstr ""
 
-#: src/cryptsetup.c:3079 src/cryptsetup_reencrypt.c:1294
+#: src/cryptsetup.c:3091
 msgid ""
-"Key file can be used only with --key-slot or with exactly one key slot "
-"active."
+"Option --integrity-no-wipe can be used only for format action with integrity "
+"extension."
 msgstr ""
 
-#: src/cryptsetup.c:3088 src/cryptsetup_reencrypt.c:1341
-#: src/cryptsetup_reencrypt.c:1352
-#, c-format
-msgid "Enter passphrase for key slot %d: "
+#: src/cryptsetup.c:3094
+msgid "Only one of --use-[u]random options is allowed."
 msgstr ""
 
-#: src/cryptsetup.c:3096
-#, c-format
-msgid "Enter passphrase for key slot %u: "
+#: src/cryptsetup.c:3102
+msgid "Key size is required with --unbound option."
 msgstr ""
 
-#: src/cryptsetup.c:3263
-msgid "Command requires device as argument."
+#: src/cryptsetup.c:3122
+msgid "Invalid token action."
 msgstr ""
 
-#: src/cryptsetup.c:3285
-msgid ""
-"Only LUKS2 format is currently supported. Please use cryptsetup-reencrypt "
-"tool for LUKS1."
+#: src/cryptsetup.c:3125
+msgid "--key-description parameter is mandatory for token add action."
 msgstr ""
 
-#: src/cryptsetup.c:3297
-msgid ""
-"Legacy offline reencryption already in-progress. Use cryptsetup-reencrypt "
-"utility."
+#: src/cryptsetup.c:3129 src/cryptsetup.c:3142
+msgid "Action requires specific token. Use --token-id parameter."
 msgstr ""
 
-#: src/cryptsetup.c:3307 src/cryptsetup_reencrypt.c:178
-msgid "Reencryption of device with integrity profile is not supported."
+#: src/cryptsetup.c:3133
+msgid "Option --unbound is valid only with token add action."
 msgstr ""
 
-#: src/cryptsetup.c:3315
-msgid "LUKS2 reencryption already initialized. Aborting operation."
+#: src/cryptsetup.c:3135
+msgid "Options --key-slot and --unbound cannot be combined."
 msgstr ""
 
-#: src/cryptsetup.c:3319
-msgid "LUKS2 device is not in reencryption."
+#: src/cryptsetup.c:3140
+msgid "Action requires specific keyslot. Use --key-slot parameter."
 msgstr ""
 
-#: src/cryptsetup.c:3346
+#: src/cryptsetup.c:3156
 msgid "<device> [--type <type>] [<name>]"
 msgstr ""
 
-#: src/cryptsetup.c:3346 src/veritysetup.c:394 src/integritysetup.c:480
+#: src/cryptsetup.c:3156 src/veritysetup.c:491 src/integritysetup.c:535
 msgid "open device as <name>"
 msgstr ""
 
-#: 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
+#: src/cryptsetup.c:3157 src/cryptsetup.c:3158 src/cryptsetup.c:3159
+#: src/veritysetup.c:492 src/veritysetup.c:493 src/integritysetup.c:536
+#: src/integritysetup.c:537 src/integritysetup.c:539
 msgid "<name>"
 msgstr ""
 
-#: src/cryptsetup.c:3347 src/veritysetup.c:395 src/integritysetup.c:481
+#: src/cryptsetup.c:3157 src/veritysetup.c:492 src/integritysetup.c:536
 msgid "close device (remove mapping)"
 msgstr ""
 
-#: src/cryptsetup.c:3348
+#: src/cryptsetup.c:3158 src/integritysetup.c:539
 msgid "resize active device"
 msgstr ""
 
-#: src/cryptsetup.c:3349
+#: src/cryptsetup.c:3159
 msgid "show device status"
 msgstr ""
 
-#: src/cryptsetup.c:3350
+#: src/cryptsetup.c:3160
 msgid "[--cipher <cipher>]"
 msgstr ""
 
-#: src/cryptsetup.c:3350
+#: src/cryptsetup.c:3160
 msgid "benchmark cipher"
 msgstr ""
 
-#: 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
+#: src/cryptsetup.c:3161 src/cryptsetup.c:3162 src/cryptsetup.c:3163
+#: src/cryptsetup.c:3164 src/cryptsetup.c:3165 src/cryptsetup.c:3172
+#: src/cryptsetup.c:3173 src/cryptsetup.c:3174 src/cryptsetup.c:3175
+#: src/cryptsetup.c:3176 src/cryptsetup.c:3177 src/cryptsetup.c:3178
+#: src/cryptsetup.c:3179 src/cryptsetup.c:3180 src/cryptsetup.c:3181
 msgid "<device>"
 msgstr ""
 
-#: src/cryptsetup.c:3351
+#: src/cryptsetup.c:3161
 msgid "try to repair on-disk metadata"
 msgstr ""
 
-#: src/cryptsetup.c:3352
+#: src/cryptsetup.c:3162
 msgid "reencrypt LUKS2 device"
 msgstr ""
 
-#: src/cryptsetup.c:3353
+#: src/cryptsetup.c:3163
 msgid "erase all keyslots (remove encryption key)"
 msgstr ""
 
-#: src/cryptsetup.c:3354
+#: src/cryptsetup.c:3164
 msgid "convert LUKS from/to LUKS2 format"
 msgstr ""
 
-#: src/cryptsetup.c:3355
+#: src/cryptsetup.c:3165
 msgid "set permanent configuration options for LUKS2"
 msgstr ""
 
-#: src/cryptsetup.c:3356 src/cryptsetup.c:3357
+#: src/cryptsetup.c:3166 src/cryptsetup.c:3167
 msgid "<device> [<new key file>]"
 msgstr ""
 
-#: src/cryptsetup.c:3356
+#: src/cryptsetup.c:3166
 msgid "formats a LUKS device"
 msgstr ""
 
-#: src/cryptsetup.c:3357
+#: src/cryptsetup.c:3167
 msgid "add key to LUKS device"
 msgstr ""
 
-#: src/cryptsetup.c:3358 src/cryptsetup.c:3359 src/cryptsetup.c:3360
+#: src/cryptsetup.c:3168 src/cryptsetup.c:3169 src/cryptsetup.c:3170
 msgid "<device> [<key file>]"
 msgstr ""
 
-#: src/cryptsetup.c:3358
+#: src/cryptsetup.c:3168
 msgid "removes supplied key or key file from LUKS device"
 msgstr ""
 
-#: src/cryptsetup.c:3359
+#: src/cryptsetup.c:3169
 msgid "changes supplied key or key file of LUKS device"
 msgstr ""
 
-#: src/cryptsetup.c:3360
+#: src/cryptsetup.c:3170
 msgid "converts a key to new pbkdf parameters"
 msgstr ""
 
-#: src/cryptsetup.c:3361
+#: src/cryptsetup.c:3171
 msgid "<device> <key slot>"
 msgstr ""
 
-#: src/cryptsetup.c:3361
+#: src/cryptsetup.c:3171
 msgid "wipes key with number <key slot> from LUKS device"
 msgstr ""
 
-#: src/cryptsetup.c:3362
+#: src/cryptsetup.c:3172
 msgid "print UUID of LUKS device"
 msgstr ""
 
-#: src/cryptsetup.c:3363
+#: src/cryptsetup.c:3173
 msgid "tests <device> for LUKS partition header"
 msgstr ""
 
-#: src/cryptsetup.c:3364
+#: src/cryptsetup.c:3174
 msgid "dump LUKS partition information"
 msgstr ""
 
-#: src/cryptsetup.c:3365
+#: src/cryptsetup.c:3175
 msgid "dump TCRYPT device information"
 msgstr ""
 
-#: src/cryptsetup.c:3366
+#: src/cryptsetup.c:3176
 msgid "dump BITLK device information"
 msgstr ""
 
-#: src/cryptsetup.c:3367
+#: src/cryptsetup.c:3177
+msgid "dump FVAULT2 device information"
+msgstr ""
+
+#: src/cryptsetup.c:3178
 msgid "Suspend LUKS device and wipe key (all IOs are frozen)"
 msgstr ""
 
-#: src/cryptsetup.c:3368
+#: src/cryptsetup.c:3179
 msgid "Resume suspended LUKS device"
 msgstr ""
 
-#: src/cryptsetup.c:3369
+#: src/cryptsetup.c:3180
 msgid "Backup LUKS device header and keyslots"
 msgstr ""
 
-#: src/cryptsetup.c:3370
+#: src/cryptsetup.c:3181
 msgid "Restore LUKS device header and keyslots"
 msgstr ""
 
-#: src/cryptsetup.c:3371
+#: src/cryptsetup.c:3182
 msgid "<add|remove|import|export> <device>"
 msgstr ""
 
-#: src/cryptsetup.c:3371
+#: src/cryptsetup.c:3182
 msgid "Manipulate LUKS2 tokens"
 msgstr ""
 
-#: src/cryptsetup.c:3389 src/veritysetup.c:412 src/integritysetup.c:498
+#: src/cryptsetup.c:3201 src/veritysetup.c:509 src/integritysetup.c:554
 msgid ""
 "\n"
 "<action> is one of:\n"
 msgstr ""
 
-#: src/cryptsetup.c:3395
+#: src/cryptsetup.c:3207
 msgid ""
 "\n"
 "You can also use old <action> syntax aliases:\n"
-"\topen: create (plainOpen), luksOpen, loopaesOpen, tcryptOpen, bitlkOpen\n"
+"\topen: create (plainOpen), luksOpen, loopaesOpen, tcryptOpen, bitlkOpen, "
+"fvault2Open\n"
 "\tclose: remove (plainClose), luksClose, loopaesClose, tcryptClose, "
-"bitlkClose\n"
+"bitlkClose, fvault2Close\n"
 msgstr ""
 
-#: src/cryptsetup.c:3399
+#: src/cryptsetup.c:3211
 #, c-format
 msgid ""
 "\n"
@@ -2385,14 +2663,34 @@ msgid ""
 "<key file> optional key file for the new key for luksAddKey action\n"
 msgstr ""
 
-#: src/cryptsetup.c:3406
+#: src/cryptsetup.c:3218
 #, c-format
 msgid ""
 "\n"
 "Default compiled-in metadata format is %s (for luksFormat action).\n"
 msgstr ""
 
-#: src/cryptsetup.c:3411
+#: src/cryptsetup.c:3223 src/cryptsetup.c:3226
+#, c-format
+msgid ""
+"\n"
+"LUKS2 external token plugin support is %s.\n"
+msgstr ""
+
+#: src/cryptsetup.c:3223
+msgid "compiled-in"
+msgstr ""
+
+#: src/cryptsetup.c:3224
+#, c-format
+msgid "LUKS2 external token plugin path: %s.\n"
+msgstr ""
+
+#: src/cryptsetup.c:3226
+msgid "disabled"
+msgstr ""
+
+#: src/cryptsetup.c:3230
 #, c-format
 msgid ""
 "\n"
@@ -2404,7 +2702,7 @@ msgid ""
 "\tIteration time: %d, Memory required: %dkB, Parallel threads: %d\n"
 msgstr ""
 
-#: src/cryptsetup.c:3422
+#: src/cryptsetup.c:3241
 #, c-format
 msgid ""
 "\n"
@@ -2414,1502 +2712,1184 @@ msgid ""
 "\tLUKS: %s, Key: %d bits, LUKS header hashing: %s, RNG: %s\n"
 msgstr ""
 
-#: src/cryptsetup.c:3431
+#: src/cryptsetup.c:3250
 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
+#: src/cryptsetup.c:3268 src/veritysetup.c:648 src/integritysetup.c:711
 #, c-format
 msgid "%s: requires %s as arguments"
 msgstr ""
 
-#: src/cryptsetup.c:3480 src/veritysetup.c:457 src/integritysetup.c:536
-#: src/cryptsetup_reencrypt.c:1607
-msgid "Show this help message"
+#: src/cryptsetup.c:3308 src/utils_reencrypt_luks1.c:1198
+msgid "Key slot is invalid."
 msgstr ""
 
-#: src/cryptsetup.c:3481 src/veritysetup.c:458 src/integritysetup.c:537
-#: src/cryptsetup_reencrypt.c:1608
-msgid "Display brief usage"
+#: src/cryptsetup.c:3335
+msgid "Device size must be multiple of 512 bytes sector."
 msgstr ""
 
-#: src/cryptsetup.c:3482 src/veritysetup.c:459 src/integritysetup.c:538
-#: src/cryptsetup_reencrypt.c:1609
-msgid "Print package version"
+#: src/cryptsetup.c:3340
+msgid "Invalid max reencryption hotzone size specification."
 msgstr ""
 
-#: src/cryptsetup.c:3486 src/veritysetup.c:463 src/integritysetup.c:542
-#: src/cryptsetup_reencrypt.c:1613
-msgid "Help options:"
+#: src/cryptsetup.c:3354 src/cryptsetup.c:3366
+msgid "Key size must be a multiple of 8 bits"
 msgstr ""
 
-#: src/cryptsetup.c:3487 src/veritysetup.c:464 src/integritysetup.c:543
-#: src/cryptsetup_reencrypt.c:1614
-msgid "Shows more detailed error messages"
+#: src/cryptsetup.c:3371
+msgid "Maximum device reduce size is 1 GiB."
 msgstr ""
 
-#: src/cryptsetup.c:3488 src/veritysetup.c:465 src/integritysetup.c:544
-#: src/cryptsetup_reencrypt.c:1615
-msgid "Show debug messages"
+#: src/cryptsetup.c:3374
+msgid "Reduce size must be multiple of 512 bytes sector."
 msgstr ""
 
-#: src/cryptsetup.c:3489
-msgid "Show debug messages including JSON metadata"
+#: src/cryptsetup.c:3391
+msgid "Option --priority can be only ignore/normal/prefer."
 msgstr ""
 
-#: src/cryptsetup.c:3490 src/cryptsetup_reencrypt.c:1617
-msgid "The cipher used to encrypt the disk (see /proc/crypto)"
+#: src/cryptsetup.c:3410 src/veritysetup.c:572 src/integritysetup.c:634
+msgid "Show this help message"
 msgstr ""
 
-#: src/cryptsetup.c:3491 src/cryptsetup_reencrypt.c:1619
-msgid "The hash used to create the encryption key from the passphrase"
+#: src/cryptsetup.c:3411 src/veritysetup.c:573 src/integritysetup.c:635
+msgid "Display brief usage"
 msgstr ""
 
-#: src/cryptsetup.c:3492
-msgid "Verifies the passphrase by asking for it twice"
+#: src/cryptsetup.c:3412 src/veritysetup.c:574 src/integritysetup.c:636
+msgid "Print package version"
 msgstr ""
 
-#: src/cryptsetup.c:3493 src/cryptsetup_reencrypt.c:1621
-msgid "Read the key from a file"
+#: src/cryptsetup.c:3423 src/veritysetup.c:585 src/integritysetup.c:647
+msgid "Help options:"
 msgstr ""
 
-#: src/cryptsetup.c:3494
-msgid "Read the volume (master) key from file."
+#: src/cryptsetup.c:3443 src/veritysetup.c:603 src/integritysetup.c:664
+msgid "[OPTION...] <action> <action-specific>"
 msgstr ""
 
-#: src/cryptsetup.c:3495
-msgid "Dump volume (master) key instead of keyslots info"
+#: src/cryptsetup.c:3452 src/veritysetup.c:612 src/integritysetup.c:675
+msgid "Argument <action> missing."
 msgstr ""
 
-#: src/cryptsetup.c:3496 src/cryptsetup_reencrypt.c:1618
-msgid "The size of the encryption key"
+#: src/cryptsetup.c:3528 src/veritysetup.c:643 src/integritysetup.c:706
+msgid "Unknown action."
 msgstr ""
 
-#: 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"
+#: src/cryptsetup.c:3546
+msgid "Option --key-file takes precedence over specified key file argument."
 msgstr ""
 
-#: src/cryptsetup.c:3497 src/cryptsetup_reencrypt.c:1634
-msgid "Limits the read from keyfile"
+#: src/cryptsetup.c:3552
+msgid "Only one --key-file argument is allowed."
 msgstr ""
 
-#: 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"
+#: src/cryptsetup.c:3557
+msgid ""
+"Password-based key derivation function (PBKDF) can be only pbkdf2 or argon2i/"
+"argon2id."
 msgstr ""
 
-#: src/cryptsetup.c:3498 src/cryptsetup_reencrypt.c:1633
-msgid "Number of bytes to skip in keyfile"
+#: src/cryptsetup.c:3562
+msgid "PBKDF forced iterations cannot be combined with iteration time option."
 msgstr ""
 
-#: src/cryptsetup.c:3499
-msgid "Limits the read from newly added keyfile"
+#: src/cryptsetup.c:3573
+msgid "Options --keyslot-cipher and --keyslot-key-size must be used together."
 msgstr ""
 
-#: src/cryptsetup.c:3500
-msgid "Number of bytes to skip in newly added keyfile"
+#: src/cryptsetup.c:3581
+msgid "No action taken. Invoked with --test-args option.\n"
 msgstr ""
 
-#: src/cryptsetup.c:3501
-msgid "Slot number for new key (default is first free)"
+#: src/cryptsetup.c:3594
+msgid "Cannot disable metadata locking."
 msgstr ""
 
-#: src/cryptsetup.c:3502
-msgid "The size of the device"
+#: src/veritysetup.c:54
+msgid "Invalid salt string specified."
 msgstr ""
 
-#: 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"
+#: src/veritysetup.c:87
+#, c-format
+msgid "Cannot create hash image %s for writing."
 msgstr ""
 
-#: src/cryptsetup.c:3503 src/cryptsetup_reencrypt.c:1636
-msgid "Use only specified device size (ignore rest of device). DANGEROUS!"
+#: src/veritysetup.c:97
+#, c-format
+msgid "Cannot create FEC image %s for writing."
 msgstr ""
 
-#: src/cryptsetup.c:3504
-msgid "The start offset in the backend device"
+#: src/veritysetup.c:136
+#, c-format
+msgid "Cannot create root hash file %s for writing."
 msgstr ""
 
-#: src/cryptsetup.c:3505
-msgid "How many sectors of the encrypted data to skip at the beginning"
+#: src/veritysetup.c:143
+#, c-format
+msgid "Cannot write to root hash file %s."
 msgstr ""
 
-#: src/cryptsetup.c:3506
-msgid "Create a readonly mapping"
+#: src/veritysetup.c:198 src/veritysetup.c:476
+#, c-format
+msgid "Device %s is not a valid VERITY device."
 msgstr ""
 
-#: src/cryptsetup.c:3507 src/integritysetup.c:545
-#: src/cryptsetup_reencrypt.c:1624
-msgid "Do not ask for confirmation"
+#: src/veritysetup.c:215 src/veritysetup.c:232
+#, c-format
+msgid "Cannot read root hash file %s."
 msgstr ""
 
-#: src/cryptsetup.c:3508
-msgid "Timeout for interactive passphrase prompt (in seconds)"
+#: src/veritysetup.c:220
+#, c-format
+msgid "Invalid root hash file %s."
 msgstr ""
 
-#: src/cryptsetup.c:3508 src/cryptsetup.c:3509 src/integritysetup.c:546
-#: src/cryptsetup_reencrypt.c:1625
-msgid "secs"
+#: src/veritysetup.c:241
+msgid "Invalid root hash string specified."
 msgstr ""
 
-#: src/cryptsetup.c:3509 src/integritysetup.c:546
-#: src/cryptsetup_reencrypt.c:1625
-msgid "Progress line update (in seconds)"
+#: src/veritysetup.c:249
+#, c-format
+msgid "Invalid signature file %s."
 msgstr ""
 
-#: src/cryptsetup.c:3510 src/cryptsetup_reencrypt.c:1626
-msgid "How often the input of the passphrase can be retried"
+#: src/veritysetup.c:256
+#, c-format
+msgid "Cannot read signature file %s."
 msgstr ""
 
-#: src/cryptsetup.c:3511
-msgid "Align payload at <n> sector boundaries - for luksFormat"
+#: src/veritysetup.c:279 src/veritysetup.c:293
+msgid "Command requires <root_hash> or --root-hash-file option as argument."
 msgstr ""
 
-#: src/cryptsetup.c:3512
-msgid "File with LUKS header and keyslots backup"
+#: src/veritysetup.c:489
+msgid "<data_device> <hash_device>"
 msgstr ""
 
-#: src/cryptsetup.c:3513 src/cryptsetup_reencrypt.c:1627
-msgid "Use /dev/random for generating volume key"
+#: src/veritysetup.c:489 src/integritysetup.c:534
+msgid "format device"
 msgstr ""
 
-#: src/cryptsetup.c:3514 src/cryptsetup_reencrypt.c:1628
-msgid "Use /dev/urandom for generating volume key"
+#: src/veritysetup.c:490
+msgid "<data_device> <hash_device> [<root_hash>]"
 msgstr ""
 
-#: src/cryptsetup.c:3515
-msgid "Share device with another non-overlapping crypt segment"
+#: src/veritysetup.c:490
+msgid "verify device"
 msgstr ""
 
-#: src/cryptsetup.c:3516 src/veritysetup.c:477
-msgid "UUID for device to use"
+#: src/veritysetup.c:491
+msgid "<data_device> <name> <hash_device> [<root_hash>]"
 msgstr ""
 
-#: src/cryptsetup.c:3517 src/integritysetup.c:579
-msgid "Allow discards (aka TRIM) requests for device"
+#: src/veritysetup.c:493 src/integritysetup.c:537
+msgid "show active device status"
 msgstr ""
 
-#: src/cryptsetup.c:3518 src/cryptsetup_reencrypt.c:1645
-msgid "Device or file with separated LUKS header"
+#: src/veritysetup.c:494
+msgid "<hash_device>"
 msgstr ""
 
-#: src/cryptsetup.c:3519
-msgid "Do not activate device, just check passphrase"
+#: src/veritysetup.c:494 src/integritysetup.c:538
+msgid "show on-disk information"
 msgstr ""
 
-#: src/cryptsetup.c:3520
-msgid "Use hidden header (hidden TCRYPT device)"
+#: src/veritysetup.c:513
+#, c-format
+msgid ""
+"\n"
+"<name> is the device to create under %s\n"
+"<data_device> is the data device\n"
+"<hash_device> is the device containing verification data\n"
+"<root_hash> hash of the root node on <hash_device>\n"
 msgstr ""
 
-#: src/cryptsetup.c:3521
-msgid "Device is system TCRYPT drive (with bootloader)"
+#: src/veritysetup.c:520
+#, 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 ""
 
-#: src/cryptsetup.c:3522
-msgid "Use backup (secondary) TCRYPT header"
+#: src/veritysetup.c:658
+msgid ""
+"Option --ignore-corruption and --restart-on-corruption cannot be used "
+"together."
 msgstr ""
 
-#: src/cryptsetup.c:3523
-msgid "Scan also for VeraCrypt compatible device"
+#: src/veritysetup.c:663
+msgid ""
+"Option --panic-on-corruption and --restart-on-corruption cannot be used "
+"together."
 msgstr ""
 
-#: src/cryptsetup.c:3524
-msgid "Personal Iteration Multiplier for VeraCrypt compatible device"
+#: src/integritysetup.c:177
+#, c-format
+msgid ""
+"This will overwrite data on %s and %s irrevocably.\n"
+"To preserve data device use --no-wipe option (and then activate with --"
+"integrity-recalculate)."
 msgstr ""
 
-#: src/cryptsetup.c:3525
-msgid "Query Personal Iteration Multiplier for VeraCrypt compatible device"
+#: src/integritysetup.c:212
+#, c-format
+msgid "Formatted with tag size %u, internal integrity %s.\n"
 msgstr ""
 
-#: src/cryptsetup.c:3526
+#: src/integritysetup.c:289
 msgid ""
-"Type of device metadata: luks, luks1, luks2, plain, loopaes, tcrypt, bitlk"
+"Setting recalculate flag is not supported, you may consider using --wipe "
+"instead."
 msgstr ""
 
-#: src/cryptsetup.c:3527
-msgid "Disable password quality check (if enabled)"
-msgstr ""
-
-#: src/cryptsetup.c:3528
-msgid "Use dm-crypt same_cpu_crypt performance compatibility option"
+#: src/integritysetup.c:364 src/integritysetup.c:521
+#, c-format
+msgid "Device %s is not a valid INTEGRITY device."
 msgstr ""
 
-#: src/cryptsetup.c:3529
-msgid "Use dm-crypt submit_from_crypt_cpus performance compatibility option"
+#: src/integritysetup.c:534 src/integritysetup.c:538
+msgid "<integrity_device>"
 msgstr ""
 
-#: src/cryptsetup.c:3530
-msgid "Device removal is deferred until the last user closes it"
+#: src/integritysetup.c:535
+msgid "<integrity_device> <name>"
 msgstr ""
 
-#: src/cryptsetup.c:3531
-msgid "Use global lock to serialize memory hard PBKDF (OOM workaround)"
+#: src/integritysetup.c:558
+#, 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 ""
 
-#: src/cryptsetup.c:3532
-msgid "PBKDF iteration time for LUKS (in ms)"
+#: src/integritysetup.c:563
+#, c-format
+msgid ""
+"\n"
+"Default compiled-in dm-integrity parameters:\n"
+"\tChecksum algorithm: %s\n"
+"\tMaximum keyfile size: %dkB\n"
 msgstr ""
 
-#: src/cryptsetup.c:3532 src/cryptsetup_reencrypt.c:1623
-msgid "msecs"
+#: src/integritysetup.c:620
+#, c-format
+msgid "Invalid --%s size. Maximum is %u bytes."
 msgstr ""
 
-#: src/cryptsetup.c:3533 src/cryptsetup_reencrypt.c:1641
-msgid "PBKDF algorithm (for LUKS2): argon2i, argon2id, pbkdf2"
+#: src/integritysetup.c:720
+msgid "Both key file and key size options must be specified."
 msgstr ""
 
-#: src/cryptsetup.c:3534 src/cryptsetup_reencrypt.c:1642
-msgid "PBKDF memory cost limit"
+#: src/integritysetup.c:724
+msgid "Both journal integrity key file and key size options must be specified."
 msgstr ""
 
-#: src/cryptsetup.c:3534 src/cryptsetup_reencrypt.c:1642
-msgid "kilobytes"
+#: src/integritysetup.c:727
+msgid ""
+"Journal integrity algorithm must be specified if journal integrity key is "
+"used."
 msgstr ""
 
-#: src/cryptsetup.c:3535 src/cryptsetup_reencrypt.c:1643
-msgid "PBKDF parallel cost"
+#: src/integritysetup.c:731
+msgid ""
+"Both journal encryption key file and key size options must be specified."
 msgstr ""
 
-#: src/cryptsetup.c:3535 src/cryptsetup_reencrypt.c:1643
-msgid "threads"
+#: src/integritysetup.c:734
+msgid ""
+"Journal encryption algorithm must be specified if journal encryption key is "
+"used."
 msgstr ""
 
-#: src/cryptsetup.c:3536 src/cryptsetup_reencrypt.c:1644
-msgid "PBKDF iterations cost (forced, disables benchmark)"
+#: src/integritysetup.c:738
+msgid "Recovery and bitmap mode options are mutually exclusive."
 msgstr ""
 
-#: src/cryptsetup.c:3537
-msgid "Keyslot priority: ignore, normal, prefer"
+#: src/integritysetup.c:745
+msgid "Journal options cannot be used in bitmap mode."
 msgstr ""
 
-#: src/cryptsetup.c:3538
-msgid "Disable locking of on-disk metadata"
+#: src/integritysetup.c:750
+msgid "Bitmap options can be used only in bitmap mode."
 msgstr ""
 
-#: src/cryptsetup.c:3539
-msgid "Disable loading volume keys via kernel keyring"
+#: src/utils_tools.c:118
+msgid ""
+"\n"
+"WARNING!\n"
+"========\n"
 msgstr ""
 
-#: src/cryptsetup.c:3540
-msgid "Data integrity algorithm (LUKS2 only)"
+#. TRANSLATORS: User must type "YES" (in capital letters), do not translate this word.
+#: src/utils_tools.c:120
+#, c-format
+msgid ""
+"%s\n"
+"\n"
+"Are you sure? (Type 'yes' in capital letters): "
 msgstr ""
 
-#: src/cryptsetup.c:3541 src/integritysetup.c:573
-msgid "Disable journal for integrity device"
+#: src/utils_tools.c:126
+msgid "Error reading response from terminal."
 msgstr ""
 
-#: src/cryptsetup.c:3542 src/integritysetup.c:547
-msgid "Do not wipe device after format"
+#: src/utils_tools.c:158
+msgid "Command successful."
 msgstr ""
 
-#: src/cryptsetup.c:3543 src/integritysetup.c:577
-msgid "Use inefficient legacy padding (old kernels)"
+#: src/utils_tools.c:166
+msgid "wrong or missing parameters"
 msgstr ""
 
-#: src/cryptsetup.c:3544
-msgid "Do not ask for passphrase if activation by token fails"
+#: src/utils_tools.c:168
+msgid "no permission or bad passphrase"
 msgstr ""
 
-#: src/cryptsetup.c:3545
-msgid "Token number (default: any)"
+#: src/utils_tools.c:170
+msgid "out of memory"
 msgstr ""
 
-#: src/cryptsetup.c:3546
-msgid "Key description"
+#: src/utils_tools.c:172
+msgid "wrong device or file specified"
 msgstr ""
 
-#: src/cryptsetup.c:3547
-msgid "Encryption sector size (default: 512 bytes)"
+#: src/utils_tools.c:174
+msgid "device already exists or device is busy"
 msgstr ""
 
-#: src/cryptsetup.c:3548
-msgid "Use IV counted in sector size (not in 512 bytes)"
+#: src/utils_tools.c:176
+msgid "unknown error"
 msgstr ""
 
-#: src/cryptsetup.c:3549
-msgid "Set activation flags persistent for device"
+#: src/utils_tools.c:178
+#, c-format
+msgid "Command failed with code %i (%s)."
 msgstr ""
 
-#: src/cryptsetup.c:3550
-msgid "Set label for the LUKS2 device"
+#: src/utils_tools.c:256
+#, c-format
+msgid "Key slot %i created."
 msgstr ""
 
-#: src/cryptsetup.c:3551
-msgid "Set subsystem label for the LUKS2 device"
+#: src/utils_tools.c:258
+#, c-format
+msgid "Key slot %i unlocked."
 msgstr ""
 
-#: src/cryptsetup.c:3552
-msgid "Create or dump unbound (no assigned data segment) LUKS2 keyslot"
+#: src/utils_tools.c:260
+#, c-format
+msgid "Key slot %i removed."
 msgstr ""
 
-#: src/cryptsetup.c:3553
-msgid "Read or write the json from or to a file"
+#: src/utils_tools.c:269
+#, c-format
+msgid "Token %i created."
 msgstr ""
 
-#: src/cryptsetup.c:3554
-msgid "LUKS2 header metadata area size"
+#: src/utils_tools.c:271
+#, c-format
+msgid "Token %i removed."
 msgstr ""
 
-#: src/cryptsetup.c:3555
-msgid "LUKS2 header keyslots area size"
+#: src/utils_tools.c:281
+msgid "No token could be unlocked with this PIN."
 msgstr ""
 
-#: src/cryptsetup.c:3556
-msgid "Refresh (reactivate) device with new parameters"
+#: src/utils_tools.c:283
+#, c-format
+msgid "Token %i requires PIN."
 msgstr ""
 
-#: src/cryptsetup.c:3557
-msgid "LUKS2 keyslot: The size of the encryption key"
+#: src/utils_tools.c:285
+#, c-format
+msgid "Token (type %s) requires PIN."
 msgstr ""
 
-#: src/cryptsetup.c:3558
-msgid "LUKS2 keyslot: The cipher used for keyslot encryption"
+#: src/utils_tools.c:288
+#, c-format
+msgid "Token %i cannot unlock assigned keyslot(s) (wrong keyslot passphrase)."
 msgstr ""
 
-#: src/cryptsetup.c:3559
-msgid "Encrypt LUKS2 device (in-place encryption)."
+#: src/utils_tools.c:290
+#, c-format
+msgid ""
+"Token (type %s) cannot unlock assigned keyslot(s) (wrong keyslot passphrase)."
 msgstr ""
 
-#: src/cryptsetup.c:3560
-msgid "Decrypt LUKS2 device (remove encryption)."
+#: src/utils_tools.c:293
+#, c-format
+msgid "Token %i requires additional missing resource."
 msgstr ""
 
-#: src/cryptsetup.c:3561
-msgid "Initialize LUKS2 reencryption in metadata only."
+#: src/utils_tools.c:295
+#, c-format
+msgid "Token (type %s) requires additional missing resource."
 msgstr ""
 
-#: src/cryptsetup.c:3562
-msgid "Resume initialized LUKS2 reencryption only."
+#: src/utils_tools.c:298
+#, c-format
+msgid "No usable token (type %s) is available."
 msgstr ""
 
-#: src/cryptsetup.c:3563 src/cryptsetup_reencrypt.c:1635
-msgid "Reduce data device size (move data offset). DANGEROUS!"
+#: src/utils_tools.c:300
+msgid "No usable token is available."
 msgstr ""
 
-#: src/cryptsetup.c:3564
-msgid "Maximal reencryption hotzone size."
+#: src/utils_tools.c:393
+#, c-format
+msgid "Cannot read keyfile %s."
 msgstr ""
 
-#: src/cryptsetup.c:3565
-msgid "Reencryption hotzone resilience type (checksum,journal,none)"
+#: src/utils_tools.c:398
+#, c-format
+msgid "Cannot read %d bytes from keyfile %s."
 msgstr ""
 
-#: src/cryptsetup.c:3566
-msgid "Reencryption hotzone checksums hash"
+#: src/utils_tools.c:423
+#, c-format
+msgid "Cannot open keyfile %s for write."
 msgstr ""
 
-#: src/cryptsetup.c:3567
-msgid "Override device autodetection of dm device to be reencrypted"
+#: src/utils_tools.c:430
+#, c-format
+msgid "Cannot write to keyfile %s."
 msgstr ""
 
-#: src/cryptsetup.c:3583 src/veritysetup.c:499 src/integritysetup.c:595
-msgid "[OPTION...] <action> <action-specific>"
+#: src/utils_progress.c:74
+#, c-format
+msgid "%02<PRIu64>m%02<PRIu64>s"
 msgstr ""
 
-#: src/cryptsetup.c:3634 src/veritysetup.c:533 src/integritysetup.c:606
-msgid "Argument <action> missing."
+#: src/utils_progress.c:76
+#, c-format
+msgid "%02<PRIu64>h%02<PRIu64>m%02<PRIu64>s"
 msgstr ""
 
-#: src/cryptsetup.c:3703 src/veritysetup.c:564 src/integritysetup.c:637
-msgid "Unknown action."
+#: src/utils_progress.c:78
+#, c-format
+msgid "%02<PRIu64> days"
 msgstr ""
 
-#: src/cryptsetup.c:3713
-msgid "Options --refresh and --test-passphrase are mutually exclusive."
+#: src/utils_progress.c:105 src/utils_progress.c:138
+#, c-format
+msgid "%4<PRIu64> %s written"
 msgstr ""
 
-#: src/cryptsetup.c:3718
-msgid "Option --deferred is allowed only for close command."
+#: src/utils_progress.c:109 src/utils_progress.c:142
+#, c-format
+msgid "speed %5.1f %s/s"
 msgstr ""
 
-#: src/cryptsetup.c:3723
-msgid "Option --shared is allowed only for open of plain device."
+#. TRANSLATORS: 'time', 'written' and 'speed' string are supposed
+#. to get translated as well. 'eol' is always new-line or empty.
+#. See above.
+#.
+#: src/utils_progress.c:118
+#, c-format
+msgid "Progress: %5.1f%%, ETA %s, %s, %s%s"
 msgstr ""
 
-#: src/cryptsetup.c:3728 src/integritysetup.c:654
-msgid "Option --allow-discards is allowed only for open operation."
+#. TRANSLATORS: 'time', 'written' and 'speed' string are supposed
+#. to get translated as well. See above
+#.
+#: src/utils_progress.c:150
+#, c-format
+msgid "Finished, time %s, %s, %s\n"
 msgstr ""
 
-#: src/cryptsetup.c:3733
-msgid "Option --persistent is allowed only for open operation."
+#: src/utils_password.c:41 src/utils_password.c:72
+#, c-format
+msgid "Cannot check password quality: %s"
 msgstr ""
 
-#: src/cryptsetup.c:3738
+#: src/utils_password.c:49
+#, c-format
 msgid ""
-"Option --serialize-memory-hard-pbkdf is allowed only for open operation."
-msgstr ""
-
-#: src/cryptsetup.c:3743
-msgid "Option --persistent is not allowed with --test-passphrase."
-msgstr ""
-
-#: src/cryptsetup.c:3753
-msgid ""
-"Option --key-size is allowed only for luksFormat, luksAddKey,\n"
-"open and benchmark actions. To limit read from keyfile use --keyfile-"
-"size=(bytes)."
+"Password quality check failed:\n"
+" %s"
 msgstr ""
 
-#: src/cryptsetup.c:3759
-msgid "Option --integrity is allowed only for luksFormat (LUKS2)."
+#: src/utils_password.c:79
+#, c-format
+msgid "Password quality check failed: Bad passphrase (%s)"
 msgstr ""
 
-#: src/cryptsetup.c:3764
-msgid ""
-"Option --integrity-no-wipe can be used only for format action with integrity "
-"extension."
+#: src/utils_password.c:230 src/utils_password.c:244
+msgid "Error reading passphrase from terminal."
 msgstr ""
 
-#: src/cryptsetup.c:3770
-msgid ""
-"Options --label and --subsystem are allowed only for luksFormat and config "
-"LUKS2 operations."
+#: src/utils_password.c:242
+msgid "Verify passphrase: "
 msgstr ""
 
-#: src/cryptsetup.c:3776
-msgid ""
-"Option --test-passphrase is allowed only for open of LUKS, TCRYPT and BITLK "
-"devices."
+#: src/utils_password.c:249
+msgid "Passphrases do not match."
 msgstr ""
 
-#: src/cryptsetup.c:3781 src/cryptsetup_reencrypt.c:1708
-msgid "Key size must be a multiple of 8 bits"
+#: src/utils_password.c:287
+msgid "Cannot use offset with terminal input."
 msgstr ""
 
-#: src/cryptsetup.c:3787 src/cryptsetup_reencrypt.c:1394
-#: src/cryptsetup_reencrypt.c:1713
-msgid "Key slot is invalid."
+#: src/utils_password.c:291
+#, c-format
+msgid "Enter passphrase: "
 msgstr ""
 
-#: src/cryptsetup.c:3794
-msgid "Option --key-file takes precedence over specified key file argument."
+#: src/utils_password.c:294
+#, c-format
+msgid "Enter passphrase for %s: "
 msgstr ""
 
-#: src/cryptsetup.c:3801 src/veritysetup.c:576 src/integritysetup.c:663
-#: src/cryptsetup_reencrypt.c:1687
-msgid "Negative number for option not permitted."
+#: src/utils_password.c:328
+msgid "No key available with this passphrase."
 msgstr ""
 
-#: src/cryptsetup.c:3805
-msgid "Only one --key-file argument is allowed."
+#: src/utils_password.c:330
+msgid "No usable keyslot is available."
 msgstr ""
 
-#: src/cryptsetup.c:3809 src/cryptsetup_reencrypt.c:1679
-#: src/cryptsetup_reencrypt.c:1717
-msgid "Only one of --use-[u]random options is allowed."
+#: src/utils_luks.c:67
+msgid "Can't do passphrase verification on non-tty inputs."
 msgstr ""
 
-#: src/cryptsetup.c:3813
-msgid "Option --use-[u]random is allowed only for luksFormat."
+#: src/utils_luks.c:182
+#, c-format
+msgid "Failed to open file %s in read-only mode."
 msgstr ""
 
-#: src/cryptsetup.c:3817
-msgid "Option --uuid is allowed only for luksFormat and luksUUID."
+#: src/utils_luks.c:195
+msgid "Provide valid LUKS2 token JSON:\n"
 msgstr ""
 
-#: src/cryptsetup.c:3821
-msgid "Option --align-payload is allowed only for luksFormat."
+#: src/utils_luks.c:202
+msgid "Failed to read JSON file."
 msgstr ""
 
-#: src/cryptsetup.c:3825
+#: src/utils_luks.c:207
 msgid ""
-"Options --luks2-metadata-size and --opt-luks2-keyslots-size are allowed only "
-"for luksFormat with LUKS2."
-msgstr ""
-
-#: src/cryptsetup.c:3830
-msgid "Invalid LUKS2 metadata size specification."
-msgstr ""
-
-#: src/cryptsetup.c:3834
-msgid "Invalid LUKS2 keyslots size specification."
-msgstr ""
-
-#: src/cryptsetup.c:3838
-msgid "Options --align-payload and --offset cannot be combined."
+"\n"
+"Read interrupted."
 msgstr ""
 
-#: src/cryptsetup.c:3844
-msgid "Option --skip is supported only for open of plain and loopaes devices."
+#: src/utils_luks.c:248
+#, c-format
+msgid "Failed to open file %s in write mode."
 msgstr ""
 
-#: src/cryptsetup.c:3851
+#: src/utils_luks.c:257
 msgid ""
-"Option --offset is supported only for open of plain and loopaes devices, "
-"luksFormat and device reencryption."
+"\n"
+"Write interrupted."
 msgstr ""
 
-#: src/cryptsetup.c:3857
-msgid ""
-"Option --tcrypt-hidden, --tcrypt-system or --tcrypt-backup is supported only "
-"for TCRYPT device."
+#: src/utils_luks.c:261
+msgid "Failed to write JSON file."
 msgstr ""
 
-#: src/cryptsetup.c:3862
-msgid "Option --tcrypt-hidden cannot be combined with --allow-discards."
+#: src/utils_reencrypt.c:120
+#, c-format
+msgid "Auto-detected active dm device '%s' for data device %s.\n"
 msgstr ""
 
-#: src/cryptsetup.c:3867
-msgid "Option --veracrypt is supported only for TCRYPT device type."
+#: src/utils_reencrypt.c:124
+#, c-format
+msgid "Failed to auto-detect device %s holders."
 msgstr ""
 
-#: src/cryptsetup.c:3873
-msgid "Invalid argument for parameter --veracrypt-pim supplied."
+#: src/utils_reencrypt.c:130
+#, c-format
+msgid "Device %s is not a block device.\n"
 msgstr ""
 
-#: src/cryptsetup.c:3877
+#: src/utils_reencrypt.c:132
+#, c-format
 msgid ""
-"Option --veracrypt-pim is supported only for VeraCrypt compatible devices."
+"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:3885
+#: src/utils_reencrypt.c:141 src/utils_reencrypt.c:274
+#, c-format
 msgid ""
-"Option --veracrypt-query-pim is supported only for VeraCrypt compatible "
-"devices."
+"Device %s is not a block device. Can not auto-detect if it is active or "
+"not.\n"
+"Use --force-offline-reencrypt to bypass the check and run in offline mode "
+"(dangerous!)."
 msgstr ""
 
-#: src/cryptsetup.c:3889
+#: src/utils_reencrypt.c:178 src/utils_reencrypt.c:221
+#: src/utils_reencrypt.c:231
 msgid ""
-"The options --veracrypt-pim and --veracrypt-query-pim are mutually exclusive."
+"Requested --resilience option cannot be applied to current reencryption "
+"operation."
 msgstr ""
 
-#: src/cryptsetup.c:3896
-msgid "Option --priority can be only ignore/normal/prefer."
+#: src/utils_reencrypt.c:203
+msgid "Device is not in LUKS2 encryption. Conflicting option --encrypt."
 msgstr ""
 
-#: src/cryptsetup.c:3901 src/cryptsetup.c:3939
-msgid "Keyslot specification is required."
+#: src/utils_reencrypt.c:208
+msgid "Device is not in LUKS2 decryption. Conflicting option --decrypt."
 msgstr ""
 
-#: src/cryptsetup.c:3906 src/cryptsetup_reencrypt.c:1693
+#: src/utils_reencrypt.c:215
 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."
+"Device is in reencryption using datashift resilience. Requested --resilience "
+"option cannot be applied."
 msgstr ""
 
-#: src/cryptsetup.c:3917
-msgid "Sector size option is not supported for this command."
+#: src/utils_reencrypt.c:293
+msgid "Device requires reencryption recovery. Run repair first."
 msgstr ""
 
-#: src/cryptsetup.c:3929
+#: src/utils_reencrypt.c:307
+#, c-format
 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
-msgid "Option --refresh may be used only with open action."
-msgstr ""
-
-#: src/cryptsetup.c:3960
-msgid "Cannot disable metadata locking."
+"Device %s is already in LUKS2 reencryption. Do you wish to resume previously "
+"initialised operation?"
 msgstr ""
 
-#: src/cryptsetup.c:3970
-msgid "Invalid max reencryption hotzone size specification."
-msgstr ""
-
-#: src/cryptsetup.c:3978 src/cryptsetup_reencrypt.c:1722
-#: src/cryptsetup_reencrypt.c:1727
-msgid "Invalid device size specification."
-msgstr ""
-
-#: src/cryptsetup.c:3981
-msgid "Maximum device reduce size is 1 GiB."
-msgstr ""
-
-#: src/cryptsetup.c:3984 src/cryptsetup_reencrypt.c:1733
-msgid "Reduce size must be multiple of 512 bytes sector."
+#: src/utils_reencrypt.c:353
+msgid "Legacy LUKS2 reencryption is no longer supported."
 msgstr ""
 
-#: src/cryptsetup.c:3989
-msgid "Invalid data size specification."
-msgstr ""
-
-#: src/cryptsetup.c:3994
-msgid "Reduce size overflow."
-msgstr ""
-
-#: src/cryptsetup.c:3998
-msgid "LUKS2 decryption requires option --header."
-msgstr ""
-
-#: src/cryptsetup.c:4002
-msgid "Device size must be multiple of 512 bytes sector."
+#: src/utils_reencrypt.c:418
+msgid "Reencryption of device with integrity profile is not supported."
 msgstr ""
 
-#: src/cryptsetup.c:4006
-msgid "Options --reduce-device-size and --data-size cannot be combined."
+#: src/utils_reencrypt.c:449
+#, c-format
+msgid ""
+"Requested --sector-size %<PRIu32> is incompatible with %s superblock\n"
+"(block size: %<PRIu32> bytes) detected on device %s."
 msgstr ""
 
-#: src/cryptsetup.c:4010
-msgid "Options --device-size and --size cannot be combined."
+#: src/utils_reencrypt.c:518 src/utils_reencrypt.c:1391
+msgid ""
+"Encryption without detached header (--header) is not possible without data "
+"device size reduction (--reduce-device-size)."
 msgstr ""
 
-#: src/cryptsetup.c:4014
-msgid "Options --keyslot-cipher and --keyslot-key-size must be used together."
+#: src/utils_reencrypt.c:525
+msgid ""
+"Requested data offset must be less than or equal to half of --reduce-device-"
+"size parameter."
 msgstr ""
 
-#: src/veritysetup.c:66
-msgid "Invalid salt string specified."
+#: src/utils_reencrypt.c:535
+#, c-format
+msgid ""
+"Adjusting --reduce-device-size value to twice the --offset %<PRIu64> "
+"(sectors).\n"
 msgstr ""
 
-#: src/veritysetup.c:97
+#: src/utils_reencrypt.c:565
 #, c-format
-msgid "Cannot create hash image %s for writing."
+msgid "Temporary header file %s already exists. Aborting."
 msgstr ""
 
-#: src/veritysetup.c:107
+#: src/utils_reencrypt.c:567 src/utils_reencrypt.c:574
 #, c-format
-msgid "Cannot create FEC image %s for writing."
+msgid "Cannot create temporary header file %s."
 msgstr ""
 
-#: src/veritysetup.c:179
-msgid "Invalid root hash string specified."
+#: src/utils_reencrypt.c:599
+msgid "LUKS2 metadata size is larger than data shift value."
 msgstr ""
 
-#: src/veritysetup.c:187
+#: src/utils_reencrypt.c:636
 #, c-format
-msgid "Invalid signature file %s."
+msgid "Failed to place new header at head of device %s."
 msgstr ""
 
-#: src/veritysetup.c:194
+#: src/utils_reencrypt.c:646
 #, c-format
-msgid "Cannot read signature file %s."
-msgstr ""
-
-#: src/veritysetup.c:392
-msgid "<data_device> <hash_device>"
-msgstr ""
-
-#: src/veritysetup.c:392 src/integritysetup.c:479
-msgid "format device"
-msgstr ""
-
-#: src/veritysetup.c:393
-msgid "<data_device> <hash_device> <root_hash>"
-msgstr ""
-
-#: src/veritysetup.c:393
-msgid "verify device"
-msgstr ""
-
-#: src/veritysetup.c:394
-msgid "<data_device> <name> <hash_device> <root_hash>"
+msgid "%s/%s is now active and ready for online encryption.\n"
 msgstr ""
 
-#: src/veritysetup.c:396 src/integritysetup.c:482
-msgid "show active device status"
+#: src/utils_reencrypt.c:682
+#, c-format
+msgid "Active device %s is not LUKS2."
 msgstr ""
 
-#: src/veritysetup.c:397
-msgid "<hash_device>"
+#: src/utils_reencrypt.c:710
+msgid "Restoring original LUKS2 header."
 msgstr ""
 
-#: src/veritysetup.c:397 src/integritysetup.c:483
-msgid "show on-disk information"
+#: src/utils_reencrypt.c:718
+msgid "Original LUKS2 header restore failed."
 msgstr ""
 
-#: src/veritysetup.c:416
+#: src/utils_reencrypt.c:744
 #, c-format
 msgid ""
-"\n"
-"<name> is the device to create under %s\n"
-"<data_device> is the data device\n"
-"<hash_device> is the device containing verification data\n"
-"<root_hash> hash of the root node on <hash_device>\n"
+"Header file %s does not exist. Do you want to initialize LUKS2 decryption of "
+"device %s and export LUKS2 header to file %s?"
 msgstr ""
 
-#: 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 ""
-
-#: src/veritysetup.c:466
-msgid "Do not use verity superblock"
-msgstr ""
-
-#: src/veritysetup.c:467
-msgid "Format type (1 - normal, 0 - original Chrome OS)"
+#: src/utils_reencrypt.c:792
+msgid "Failed to add read/write permissions to exported header file."
 msgstr ""
 
-#: src/veritysetup.c:467
-msgid "number"
-msgstr ""
-
-#: src/veritysetup.c:468
-msgid "Block size on the data device"
-msgstr ""
-
-#: src/veritysetup.c:469
-msgid "Block size on the hash device"
-msgstr ""
-
-#: src/veritysetup.c:470
-msgid "FEC parity bytes"
-msgstr ""
-
-#: src/veritysetup.c:471
-msgid "The number of blocks in the data file"
-msgstr ""
-
-#: src/veritysetup.c:471
-msgid "blocks"
-msgstr ""
-
-#: 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 ""
-
-#: src/veritysetup.c:474
-msgid "Starting offset on the FEC device"
-msgstr ""
-
-#: src/veritysetup.c:475
-msgid "Hash algorithm"
-msgstr ""
-
-#: src/veritysetup.c:475
-msgid "string"
-msgstr ""
-
-#: src/veritysetup.c:476
-msgid "Salt"
-msgstr ""
-
-#: src/veritysetup.c:476
-msgid "hex string"
-msgstr ""
-
-#: src/veritysetup.c:478
-msgid "Path to root hash signature file"
-msgstr ""
-
-#: 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
-msgid "Do not verify zeroed blocks"
-msgstr ""
-
-#: src/veritysetup.c:482
-msgid "Verify data block only the first time it is read"
+#: src/utils_reencrypt.c:845
+#, c-format
+msgid "Reencryption initialization failed. Header backup is available in %s."
 msgstr ""
 
-#: src/veritysetup.c:582
+#: src/utils_reencrypt.c:873
 msgid ""
-"Option --ignore-corruption, --restart-on-corruption or --ignore-zero-blocks "
-"is allowed only for open operation."
+"LUKS2 decryption is supported with detached header device only (with data "
+"offset set to 0)."
 msgstr ""
 
-#: src/veritysetup.c:587
-msgid "Option --root-hash-signature can be used only for open operation."
+#: src/utils_reencrypt.c:1008 src/utils_reencrypt.c:1017
+msgid "Not enough free keyslots for reencryption."
 msgstr ""
 
-#: src/veritysetup.c:592
+#: src/utils_reencrypt.c:1038 src/utils_reencrypt_luks1.c:1100
 msgid ""
-"Option --ignore-corruption and --restart-on-corruption cannot be used "
-"together."
+"Key file can be used only with --key-slot or with exactly one key slot "
+"active."
 msgstr ""
 
-#: src/integritysetup.c:84 src/utils_password.c:305
+#: src/utils_reencrypt.c:1047 src/utils_reencrypt_luks1.c:1147
+#: src/utils_reencrypt_luks1.c:1158
 #, c-format
-msgid "Cannot read keyfile %s."
+msgid "Enter passphrase for key slot %d: "
 msgstr ""
 
-#: src/integritysetup.c:88 src/utils_password.c:310
+#: src/utils_reencrypt.c:1059
 #, c-format
-msgid "Cannot read %d bytes from keyfile %s."
+msgid "Enter passphrase for key slot %u: "
 msgstr ""
 
-#: src/integritysetup.c:254
+#: src/utils_reencrypt.c:1111
 #, c-format
-msgid "Formatted with tag size %u, internal integrity %s.\n"
-msgstr ""
-
-#: src/integritysetup.c:479 src/integritysetup.c:483
-msgid "<integrity_device>"
+msgid "Switching data encryption cipher to %s.\n"
 msgstr ""
 
-#: src/integritysetup.c:480
-msgid "<integrity_device> <name>"
+#: src/utils_reencrypt.c:1165
+msgid "No data segment parameters changed. Reencryption aborted."
 msgstr ""
 
-#: src/integritysetup.c:502
-#, c-format
+#: src/utils_reencrypt.c:1267
 msgid ""
-"\n"
-"<name> is the device to create under %s\n"
-"<integrity_device> is the device containing data with integrity tags\n"
+"Encryption sector size increase on offline device is not supported.\n"
+"Activate the device first or use --force-offline-reencrypt option "
+"(dangerous!)."
 msgstr ""
 
-#: src/integritysetup.c:507
-#, c-format
+#: src/utils_reencrypt.c:1307 src/utils_reencrypt_luks1.c:726
+#: src/utils_reencrypt_luks1.c:798
 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
-msgid "The size of the data integrity key"
-msgstr ""
-
-#: src/integritysetup.c:563
-msgid "Read the integrity key from a file"
-msgstr ""
-
-#: src/integritysetup.c:565
-msgid "Journal integrity algorithm"
-msgstr ""
-
-#: src/integritysetup.c:566
-msgid "The size of the journal integrity key"
-msgstr ""
-
-#: src/integritysetup.c:567
-msgid "Read the journal integrity key from a file"
-msgstr ""
-
-#: src/integritysetup.c:569
-msgid "Journal encryption algorithm"
-msgstr ""
-
-#: src/integritysetup.c:570
-msgid "The size of the journal encryption key"
-msgstr ""
-
-#: src/integritysetup.c:571
-msgid "Read the journal encryption key from a file"
-msgstr ""
-
-#: src/integritysetup.c:574
-msgid "Recovery mode (no journal, no tag checking)"
-msgstr ""
-
-#: src/integritysetup.c:575
-msgid "Use bitmap to track changes and disable journal for integrity device"
-msgstr ""
-
-#: src/integritysetup.c:576
-msgid "Recalculate initial tags automatically."
-msgstr ""
-
-#: src/integritysetup.c:649
-msgid "Option --integrity-recalculate can be used only for open action."
+"Reencryption interrupted."
 msgstr ""
 
-#: src/integritysetup.c:669
-msgid ""
-"Options --journal-size, --interleave-sectors, --sector-size, --tag-size and "
-"--no-wipe can be used only for format action."
+#: src/utils_reencrypt.c:1312
+msgid "Resuming LUKS reencryption in forced offline mode.\n"
 msgstr ""
 
-#: src/integritysetup.c:675
-msgid "Invalid journal size specification."
+#: src/utils_reencrypt.c:1329
+#, c-format
+msgid "Device %s contains broken LUKS metadata. Aborting operation."
 msgstr ""
 
-#: src/integritysetup.c:680
-msgid "Both key file and key size options must be specified."
+#: src/utils_reencrypt.c:1345 src/utils_reencrypt.c:1367
+#, c-format
+msgid "Device %s is already LUKS device. Aborting operation."
 msgstr ""
 
-#: src/integritysetup.c:683
-msgid "Integrity algorithm must be specified if integrity key is used."
+#: src/utils_reencrypt.c:1373
+#, c-format
+msgid "Device %s is already in LUKS reencryption. Aborting operation."
 msgstr ""
 
-#: src/integritysetup.c:688
-msgid "Both journal integrity key file and key size options must be specified."
+#: src/utils_reencrypt.c:1453
+msgid "LUKS2 decryption requires --header option."
 msgstr ""
 
-#: src/integritysetup.c:691
-msgid ""
-"Journal integrity algorithm must be specified if journal integrity key is "
-"used."
+#: src/utils_reencrypt.c:1501
+msgid "Command requires device as argument."
 msgstr ""
 
-#: src/integritysetup.c:696
-msgid ""
-"Both journal encryption key file and key size options must be specified."
+#: src/utils_reencrypt.c:1514
+#, c-format
+msgid "Conflicting versions. Device %s is LUKS1."
 msgstr ""
 
-#: src/integritysetup.c:699
-msgid ""
-"Journal encryption algorithm must be specified if journal encryption key is "
-"used."
+#: src/utils_reencrypt.c:1520
+#, c-format
+msgid "Conflicting versions. Device %s is in LUKS1 reencryption."
 msgstr ""
 
-#: src/integritysetup.c:703
-msgid "Recovery and bitmap mode options are mutually exclusive."
+#: src/utils_reencrypt.c:1526
+#, c-format
+msgid "Conflicting versions. Device %s is LUKS2."
 msgstr ""
 
-#: src/integritysetup.c:707
-msgid "Journal options cannot be used in bitmap mode."
+#: src/utils_reencrypt.c:1532
+#, c-format
+msgid "Conflicting versions. Device %s is in LUKS2 reencryption."
 msgstr ""
 
-#: src/integritysetup.c:711
-msgid "Bitmap options can be used only in bitmap mode."
+#: src/utils_reencrypt.c:1538
+msgid "LUKS2 reencryption already initialized. Aborting operation."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:172
-msgid "Reencryption already in-progress."
+#: src/utils_reencrypt.c:1545
+msgid "Device reencryption not in progress."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:208
+#: src/utils_reencrypt_luks1.c:129 src/utils_blockdev.c:287
 #, c-format
 msgid "Cannot exclusively open %s, device in use."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:222 src/cryptsetup_reencrypt.c:1135
+#: src/utils_reencrypt_luks1.c:143 src/utils_reencrypt_luks1.c:945
 msgid "Allocation of aligned memory failed."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:229
+#: src/utils_reencrypt_luks1.c:150
 #, c-format
 msgid "Cannot read device %s."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:240
+#: src/utils_reencrypt_luks1.c:161
 #, c-format
 msgid "Marking LUKS1 device %s unusable."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:244
-#, c-format
-msgid "Setting LUKS2 offline reencrypt flag on device %s."
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:261
+#: src/utils_reencrypt_luks1.c:177
 #, c-format
 msgid "Cannot write device %s."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:309
+#: src/utils_reencrypt_luks1.c:226
 msgid "Cannot write reencryption log file."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:365
+#: src/utils_reencrypt_luks1.c:282
 msgid "Cannot read reencryption log file."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:403
+#: src/utils_reencrypt_luks1.c:293
+msgid "Wrong log format."
+msgstr ""
+
+#: src/utils_reencrypt_luks1.c:320
 #, c-format
 msgid "Log file %s exists, resuming reencryption.\n"
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:452
+#: src/utils_reencrypt_luks1.c:369
 msgid "Activating temporary device using old LUKS header."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:462
+#: src/utils_reencrypt_luks1.c:379
 msgid "Activating temporary device using new LUKS header."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:472
+#: src/utils_reencrypt_luks1.c:389
 msgid "Activation of temporary devices failed."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:559
+#: src/utils_reencrypt_luks1.c:449
 msgid "Failed to set data offset."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:565
+#: src/utils_reencrypt_luks1.c:455
 msgid "Failed to set metadata size."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:573
+#: src/utils_reencrypt_luks1.c:463
 #, c-format
 msgid "New LUKS header for device %s created."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:633
-#, c-format
-msgid ""
-"This version of cryptsetup-reencrypt can't handle new internal token type %s."
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:655
-msgid "Failed to read activation flags from backup header."
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:659
-msgid "Failed to write activation flags to new header."
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:663 src/cryptsetup_reencrypt.c:667
-msgid "Failed to read requirements from backup header."
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:705
+#: src/utils_reencrypt_luks1.c:500
 #, c-format
 msgid "%s header backup of device %s created."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:768
+#: src/utils_reencrypt_luks1.c:556
 msgid "Creation of LUKS backup headers failed."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:901
+#: src/utils_reencrypt_luks1.c:685
 #, c-format
 msgid "Cannot restore %s header on device %s."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:903
+#: src/utils_reencrypt_luks1.c:687
 #, c-format
 msgid "%s header on device %s restored."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1107 src/cryptsetup_reencrypt.c:1113
+#: src/utils_reencrypt_luks1.c:917 src/utils_reencrypt_luks1.c:923
 msgid "Cannot open temporary LUKS device."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1118 src/cryptsetup_reencrypt.c:1123
+#: src/utils_reencrypt_luks1.c:928 src/utils_reencrypt_luks1.c:933
 msgid "Cannot get device size."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1158
+#: src/utils_reencrypt_luks1.c:968
 msgid "IO error during reencryption."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1189
+#: src/utils_reencrypt_luks1.c:998
 msgid "Provided UUID is invalid."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1423
+#: src/utils_reencrypt_luks1.c:1224
 msgid "Cannot open reencryption log file."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1429
+#: src/utils_reencrypt_luks1.c:1230
 msgid ""
 "No decryption in progress, provided UUID can be used only to resume "
 "suspended decryption process."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1504
-#, c-format
-msgid "Changed pbkdf parameters in keyslot %i."
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1616
-msgid "Reencryption block size"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1616
-msgid "MiB"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1620
-msgid "Do not change key, no data area reencryption"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1622
-msgid "Read new volume (master) key from file"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1623
-msgid "PBKDF2 iteration time for LUKS (in ms)"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1629
-msgid "Use direct-io when accessing devices"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1630
-msgid "Use fsync after each block"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1631
-msgid "Update log file after every block"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1632
-msgid "Use only this slot (others will be disabled)"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1637
-msgid "Create new header on not encrypted device"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1638
-msgid "Permanently decrypt device (remove encryption)"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1639
-msgid "The UUID used to resume decryption"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1640
-msgid "Type of LUKS metadata: luks1, luks2"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1659
-msgid "[OPTION...] <device>"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1667
+#: src/utils_reencrypt_luks1.c:1286
 #, c-format
 msgid "Reencryption will change: %s%s%s%s%s%s."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1668
+#: src/utils_reencrypt_luks1.c:1287
 msgid "volume key"
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1670
+#: src/utils_reencrypt_luks1.c:1289
 msgid "set hash to "
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1671
+#: src/utils_reencrypt_luks1.c:1290
 msgid ", set cipher to "
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1675
-msgid "Argument required."
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1703
-msgid ""
-"Only values between 1 MiB and 64 MiB allowed for reencryption block size."
+#: src/utils_blockdev.c:189
+#, c-format
+msgid "WARNING: Device %s already contains a '%s' partition signature.\n"
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1730
-msgid "Maximum device reduce size is 64 MiB."
+#: src/utils_blockdev.c:197
+#, c-format
+msgid "WARNING: Device %s already contains a '%s' superblock signature.\n"
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1737
-msgid ""
-"Option --new must be used together with --reduce-device-size or --header."
+#: src/utils_blockdev.c:219 src/utils_blockdev.c:294 src/utils_blockdev.c:344
+msgid "Failed to initialize device signature probes."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1741
-msgid ""
-"Option --keep-key can be used only with --hash, --iter-time or --pbkdf-force-"
-"iterations."
+#: src/utils_blockdev.c:274
+#, c-format
+msgid "Failed to stat device %s."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1745
-msgid "Option --new cannot be used together with --decrypt."
+#: src/utils_blockdev.c:289
+#, c-format
+msgid "Failed to open file %s in read/write mode."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1749
-msgid "Option --decrypt is incompatible with specified parameters."
+#: src/utils_blockdev.c:307
+#, c-format
+msgid "Existing '%s' partition signature on device %s will be wiped."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1753
-msgid "Option --uuid is allowed only together with --decrypt."
+#: src/utils_blockdev.c:310
+#, c-format
+msgid "Existing '%s' superblock signature on device %s will be wiped."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1757
-msgid "Invalid luks type. Use one of these: 'luks', 'luks1' or 'luks2'."
+#: src/utils_blockdev.c:313
+msgid "Failed to wipe device signature."
 msgstr ""
 
-#: src/utils_tools.c:151
-msgid "Error reading response from terminal."
+#: src/utils_blockdev.c:320
+#, c-format
+msgid "Failed to probe device %s for a signature."
 msgstr ""
 
-#: src/utils_tools.c:186
-msgid "Command successful.\n"
+#: src/utils_args.c:65
+#, c-format
+msgid "Invalid size specification in parameter --%s."
 msgstr ""
 
-#: src/utils_tools.c:194
-msgid "wrong or missing parameters"
+#: src/utils_args.c:125
+#, c-format
+msgid "Option --%s is not allowed with %s action."
 msgstr ""
 
-#: src/utils_tools.c:196
-msgid "no permission or bad passphrase"
+#: tokens/ssh/cryptsetup-ssh.c:110
+msgid "Failed to write ssh token json."
 msgstr ""
 
-#: src/utils_tools.c:198
-msgid "out of memory"
+#: tokens/ssh/cryptsetup-ssh.c:128
+msgid ""
+"Experimental cryptsetup plugin for unlocking LUKS2 devices with token "
+"connected to an SSH server\vThis plugin currently allows only adding a token "
+"to an existing key slot.\n"
+"\n"
+"Specified SSH server must contain a key file on the specified path with a "
+"passphrase for an existing key slot on the device.\n"
+"Provided credentials will be used by cryptsetup to get the password when "
+"opening the device using the token.\n"
+"\n"
+"Note: The information provided when adding the token (SSH server address, "
+"user and paths) will be stored in the LUKS2 header in plaintext."
 msgstr ""
 
-#: src/utils_tools.c:200
-msgid "wrong device or file specified"
+#: tokens/ssh/cryptsetup-ssh.c:138
+msgid "<action> <device>"
 msgstr ""
 
-#: src/utils_tools.c:202
-msgid "device already exists or device is busy"
+#: tokens/ssh/cryptsetup-ssh.c:141
+msgid "Options for the 'add' action:"
 msgstr ""
 
-#: src/utils_tools.c:204
-msgid "unknown error"
+#: tokens/ssh/cryptsetup-ssh.c:142
+msgid "IP address/URL of the remote server for this token"
 msgstr ""
 
-#: src/utils_tools.c:206
-#, c-format
-msgid "Command failed with code %i (%s).\n"
+#: tokens/ssh/cryptsetup-ssh.c:143
+msgid "Username used for the remote server"
 msgstr ""
 
-#: src/utils_tools.c:283
-#, c-format
-msgid "Key slot %i created."
+#: tokens/ssh/cryptsetup-ssh.c:144
+msgid "Path to the key file on the remote server"
 msgstr ""
 
-#: src/utils_tools.c:285
-#, c-format
-msgid "Key slot %i unlocked."
+#: tokens/ssh/cryptsetup-ssh.c:145
+msgid "Path to the SSH key for connecting to the remote server"
 msgstr ""
 
-#: src/utils_tools.c:287
-#, c-format
-msgid "Key slot %i removed."
+#: tokens/ssh/cryptsetup-ssh.c:146
+msgid ""
+"Keyslot to assign the token to. If not specified, token will be assigned to "
+"the first keyslot matching provided passphrase."
 msgstr ""
 
-#: src/utils_tools.c:296
-#, c-format
-msgid "Token %i created."
+#: tokens/ssh/cryptsetup-ssh.c:148
+msgid "Generic options:"
 msgstr ""
 
-#: src/utils_tools.c:298
-#, c-format
-msgid "Token %i removed."
+#: tokens/ssh/cryptsetup-ssh.c:149
+msgid "Shows more detailed error messages"
 msgstr ""
 
-#: src/utils_tools.c:464
-msgid ""
-"\n"
-"Wipe interrupted."
+#: tokens/ssh/cryptsetup-ssh.c:150
+msgid "Show debug messages"
 msgstr ""
 
-#: src/utils_tools.c:475
-#, c-format
-msgid "WARNING: Device %s already contains a '%s' partition signature.\n"
+#: tokens/ssh/cryptsetup-ssh.c:151
+msgid "Show debug messages including JSON metadata"
 msgstr ""
 
-#: src/utils_tools.c:483
-#, c-format
-msgid "WARNING: Device %s already contains a '%s' superblock signature.\n"
+#: tokens/ssh/cryptsetup-ssh.c:262
+msgid "Failed to open and import private key:\n"
 msgstr ""
 
-#: src/utils_tools.c:504 src/utils_tools.c:568
-msgid "Failed to initialize device signature probes."
+#: tokens/ssh/cryptsetup-ssh.c:266
+msgid "Failed to import private key (password protected?).\n"
 msgstr ""
 
-#: src/utils_tools.c:548
+#. TRANSLATORS: SSH credentials prompt, e.g. "user@server's password: "
+#: tokens/ssh/cryptsetup-ssh.c:268
 #, c-format
-msgid "Failed to stat device %s."
+msgid "%s@%s's password: "
 msgstr ""
 
-#: src/utils_tools.c:561
+#: tokens/ssh/cryptsetup-ssh.c:357
 #, c-format
-msgid "Device %s is in use. Can not proceed with format operation."
+msgid "Failed to parse arguments.\n"
 msgstr ""
 
-#: src/utils_tools.c:563
+#: tokens/ssh/cryptsetup-ssh.c:368
 #, c-format
-msgid "Failed to open file %s in read/write mode."
+msgid "An action must be specified\n"
 msgstr ""
 
-#: src/utils_tools.c:577
+#: tokens/ssh/cryptsetup-ssh.c:374
 #, c-format
-msgid ""
-"Existing '%s' partition signature (offset: %<PRIi64> bytes) on device %s "
-"will be wiped."
+msgid "Device must be specified for '%s' action.\n"
 msgstr ""
 
-#: src/utils_tools.c:580
+#: tokens/ssh/cryptsetup-ssh.c:379
 #, c-format
-msgid ""
-"Existing '%s' superblock signature (offset: %<PRIi64> bytes) on device %s "
-"will be wiped."
-msgstr ""
-
-#: src/utils_tools.c:583
-msgid "Failed to wipe device signature."
+msgid "SSH server must be specified for '%s' action.\n"
 msgstr ""
 
-#: src/utils_tools.c:590
+#: tokens/ssh/cryptsetup-ssh.c:384
 #, c-format
-msgid "Failed to probe device %s for a signature."
+msgid "SSH user must be specified for '%s' action.\n"
 msgstr ""
 
-#: src/utils_tools.c:629
-msgid ""
-"\n"
-"Reencryption interrupted."
-msgstr ""
-
-#: src/utils_password.c:43 src/utils_password.c:75
+#: tokens/ssh/cryptsetup-ssh.c:389
 #, c-format
-msgid "Cannot check password quality: %s"
+msgid "SSH path must be specified for '%s' action.\n"
 msgstr ""
 
-#: src/utils_password.c:51
+#: tokens/ssh/cryptsetup-ssh.c:394
 #, c-format
-msgid ""
-"Password quality check failed:\n"
-" %s"
+msgid "SSH key path must be specified for '%s' action.\n"
 msgstr ""
 
-#: src/utils_password.c:83
+#: tokens/ssh/cryptsetup-ssh.c:401
 #, c-format
-msgid "Password quality check failed: Bad passphrase (%s)"
-msgstr ""
-
-#: src/utils_password.c:193 src/utils_password.c:208
-msgid "Error reading passphrase from terminal."
-msgstr ""
-
-#: src/utils_password.c:206
-msgid "Verify passphrase: "
-msgstr ""
-
-#: src/utils_password.c:213
-msgid "Passphrases do not match."
-msgstr ""
-
-#: src/utils_password.c:250
-msgid "Cannot use offset with terminal input."
+msgid "Failed open %s using provided credentials.\n"
 msgstr ""
 
-#: src/utils_password.c:253
+#: tokens/ssh/cryptsetup-ssh.c:417
 #, c-format
-msgid "Enter passphrase: "
-msgstr ""
-
-#: src/utils_password.c:256
-#, c-format
-msgid "Enter passphrase for %s: "
-msgstr ""
-
-#: src/utils_password.c:287
-msgid "No key available with this passphrase."
+msgid "Only 'add' action is currently supported by this plugin.\n"
 msgstr ""
 
-#: src/utils_password.c:289
-msgid "No usable keyslot is available."
+#: tokens/ssh/ssh-utils.c:46
+msgid "Cannot create sftp session: "
 msgstr ""
 
-#: src/utils_password.c:328
-#, c-format
-msgid "Cannot open keyfile %s for write."
+#: tokens/ssh/ssh-utils.c:53
+msgid "Cannot init sftp session: "
 msgstr ""
 
-#: src/utils_password.c:335
-#, c-format
-msgid "Cannot write to keyfile %s."
+#: tokens/ssh/ssh-utils.c:59
+msgid "Cannot open sftp session: "
 msgstr ""
 
-#: src/utils_luks2.c:47
-#, c-format
-msgid "Failed to open file %s in read-only mode."
+#: tokens/ssh/ssh-utils.c:66
+msgid "Cannot stat sftp file: "
 msgstr ""
 
-#: src/utils_luks2.c:60
-msgid "Provide valid LUKS2 token JSON:\n"
+#: tokens/ssh/ssh-utils.c:74
+msgid "Not enough memory.\n"
 msgstr ""
 
-#: src/utils_luks2.c:67
-msgid "Failed to read JSON file."
+#: tokens/ssh/ssh-utils.c:81
+msgid "Cannot read remote key: "
 msgstr ""
 
-#: src/utils_luks2.c:72
-msgid ""
-"\n"
-"Read interrupted."
+#: tokens/ssh/ssh-utils.c:122
+msgid "Connection failed: "
 msgstr ""
 
-#: src/utils_luks2.c:113
-#, c-format
-msgid "Failed to open file %s in write mode."
+#: tokens/ssh/ssh-utils.c:132
+msgid "Server not known: "
 msgstr ""
 
-#: src/utils_luks2.c:122
-msgid ""
-"\n"
-"Write interrupted."
+#: tokens/ssh/ssh-utils.c:160
+msgid "Public key auth method not allowed on host.\n"
 msgstr ""
 
-#: src/utils_luks2.c:126
-msgid "Failed to write JSON file."
+#: tokens/ssh/ssh-utils.c:171
+msgid "Public key authentication error: "
 msgstr ""