Merge branch 'upstream' into tizen
[platform/upstream/cryptsetup.git] / po / cryptsetup.pot
index 80c4a6f..8c1423d 100644 (file)
@@ -5,9 +5,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: cryptsetup 2.3.7\n"
-"Report-Msgid-Bugs-To: dm-crypt@saout.de\n"
-"POT-Creation-Date: 2022-01-13 10:34+0100\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,644 +16,690 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: lib/libdevmapper.c:408
+#: lib/libdevmapper.c:419
 msgid "Cannot initialize device-mapper, running as non-root user."
 msgstr ""
 
-#: lib/libdevmapper.c:411
+#: lib/libdevmapper.c:422
 msgid "Cannot initialize device-mapper. Is dm_mod kernel module loaded?"
 msgstr ""
 
-#: lib/libdevmapper.c:1180
+#: lib/libdevmapper.c:1102
 msgid "Requested deferred flag is not supported."
 msgstr ""
 
-#: lib/libdevmapper.c:1249
+#: lib/libdevmapper.c:1171
 #, c-format
 msgid "DM-UUID for device %s was truncated."
 msgstr ""
 
-#: lib/libdevmapper.c:1580
+#: lib/libdevmapper.c:1501
 msgid "Unknown dm target type."
 msgstr ""
 
-#: lib/libdevmapper.c:1701 lib/libdevmapper.c:1706 lib/libdevmapper.c:1766
-#: lib/libdevmapper.c:1769
+#: 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:1713 lib/libdevmapper.c:1717
+#: lib/libdevmapper.c:1635 lib/libdevmapper.c:1647
 msgid "Requested dm-verity data corruption handling options are not supported."
 msgstr ""
 
-#: lib/libdevmapper.c:1721
+#: 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:1725
+#: lib/libdevmapper.c:1659
 msgid "Requested data integrity options are not supported."
 msgstr ""
 
-#: lib/libdevmapper.c:1727
+#: lib/libdevmapper.c:1663
 msgid "Requested sector_size option is not supported."
 msgstr ""
 
-#: lib/libdevmapper.c:1732
+#: lib/libdevmapper.c:1670 lib/libdevmapper.c:1676
 msgid "Requested automatic recalculation of integrity tags is not supported."
 msgstr ""
 
-#: lib/libdevmapper.c:1736 lib/libdevmapper.c:1772 lib/libdevmapper.c:1775
-#: lib/luks2/luks2_json_metadata.c:2347
+#: 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:1740
+#: lib/libdevmapper.c:1688
 msgid "Requested dm-integrity bitmap mode is not supported."
 msgstr ""
 
-#: lib/libdevmapper.c:2713
+#: 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:120
+#: 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:3058
+#: 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:2457
+#: 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:2832
+#: 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:2777 lib/setup.c:4114
-#: lib/luks2/luks2_reencrypt.c:3154 lib/luks2/luks2_reencrypt.c:3520
+#: 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:482
+#: 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 "Device %s is not a valid LUKS device."
+msgstr ""
+
+#: lib/setup.c:892 lib/luks1/keymanage.c:530
 #, c-format
 msgid "Unsupported LUKS version %d."
 msgstr ""
 
-#: lib/setup.c:1427 lib/setup.c:2547 lib/setup.c:2619 lib/setup.c:2631
-#: lib/setup.c:2785 lib/setup.c:4570
+#: 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
+#: 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:1539 lib/setup.c:1959
+#: lib/setup.c:1605 lib/setup.c:2064
 msgid "Detached metadata device is not supported for this crypt type."
 msgstr ""
 
-#: lib/setup.c:1549 lib/setup.c:1739 lib/luks2/luks2_reencrypt.c:2418
-#: src/cryptsetup.c:1346 src/cryptsetup.c:4087
+#: 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:2826
+#: 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:852 lib/luks1/keyencryption.c:255
-#: lib/luks2/luks2_reencrypt.c:2468 lib/luks2/luks2_reencrypt.c:3609
+#: 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:103
+#: 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:111
+#: lib/setup.c:2111 lib/verity/verity.c:109
 msgid "Unsupported VERITY block size."
 msgstr ""
 
-#: lib/setup.c:2011 lib/verity/verity.c:75
+#: 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:2553 lib/setup.c:2625 lib/setup.c:2638
+#: lib/setup.c:2699 lib/setup.c:2778 lib/setup.c:2791
 #, c-format
 msgid "Unsupported parameters on device %s."
 msgstr ""
 
-#: lib/setup.c:2559 lib/setup.c:2644 lib/luks2/luks2_reencrypt.c:2524
-#: lib/luks2/luks2_reencrypt.c:2876
+#: 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:2664
+#: lib/setup.c:2822
 msgid "Crypt devices mismatch."
 msgstr ""
 
-#: lib/setup.c:2701 lib/setup.c:2706 lib/luks2/luks2_reencrypt.c:2164
-#: lib/luks2/luks2_reencrypt.c:3366
+#: 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:2711 lib/setup.c:2716 lib/luks2/luks2_reencrypt.c:2135
-#: lib/luks2/luks2_reencrypt.c:2142
+#: 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:2721 lib/luks2/luks2_reencrypt.c:2149
-#: lib/luks2/luks2_reencrypt.c:3301 lib/luks2/luks2_reencrypt.c:3370
+#: 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:2735
+#: lib/setup.c:2897
 #, c-format
 msgid "Fatal error while reloading device %s (on top of device %s)."
 msgstr ""
 
-#: lib/setup.c:2738 lib/setup.c:2740
+#: lib/setup.c:2900 lib/setup.c:2902
 #, c-format
 msgid "Failed to switch device %s to dm-error."
 msgstr ""
 
-#: lib/setup.c:2817
+#: lib/setup.c:2984
 msgid "Cannot resize loop device."
 msgstr ""
 
-#: lib/setup.c:2890
+#: 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:2966
+#: lib/setup.c:3212
 msgid "Header backup file does not contain compatible LUKS header."
 msgstr ""
 
-#: lib/setup.c:3066
+#: lib/setup.c:3328
 #, c-format
 msgid "Volume %s is not active."
 msgstr ""
 
-#: lib/setup.c:3077
+#: lib/setup.c:3339
 #, c-format
 msgid "Volume %s is already suspended."
 msgstr ""
 
-#: lib/setup.c:3090
+#: lib/setup.c:3352
 #, c-format
 msgid "Suspend is not supported for device %s."
 msgstr ""
 
-#: lib/setup.c:3092
+#: lib/setup.c:3354
 #, c-format
 msgid "Error during suspending device %s."
 msgstr ""
 
-#: lib/setup.c:3128
+#: lib/setup.c:3389
 #, c-format
 msgid "Resume is not supported for device %s."
 msgstr ""
 
-#: lib/setup.c:3130
+#: lib/setup.c:3391
 #, c-format
 msgid "Error during resuming device %s."
 msgstr ""
 
-#: lib/setup.c:3164 lib/setup.c:3212 lib/setup.c:3282
+#: 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:3297 lib/setup.c:3652 lib/setup.c:4363 lib/setup.c:4376
-#: lib/setup.c:4384 lib/setup.c:4397 lib/setup.c:4751 lib/setup.c:5900
+#: 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:3344 lib/setup.c:3535
-msgid "Cannot add key slot, all slots disabled and no volume key provided."
-msgstr ""
-
-#: lib/setup.c:3487
+#: lib/setup.c:3737
 msgid "Failed to swap new key slot."
 msgstr ""
 
-#: lib/setup.c:3673
+#: lib/setup.c:3835
 #, c-format
 msgid "Key slot %d is invalid."
 msgstr ""
 
-#: lib/setup.c:3679 src/cryptsetup.c:1684 src/cryptsetup.c:2029
+#: 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:3698
+#: lib/setup.c:3860
 msgid "Device header overlaps with data area."
 msgstr ""
 
-#: lib/setup.c:3992
+#: lib/setup.c:4165
 msgid "Reencryption in-progress. Cannot activate device."
 msgstr ""
 
-#: lib/setup.c:3994 lib/luks2/luks2_json_metadata.c:2430
-#: lib/luks2/luks2_reencrypt.c:2975
+#: 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:4007 lib/luks2/luks2_reencrypt.c:2994
+#: lib/setup.c:4180 lib/luks2/luks2_reencrypt.c:3609
 msgid "LUKS2 reencryption recovery failed."
 msgstr ""
 
-#: lib/setup.c:4175 lib/setup.c:4437
+#: lib/setup.c:4352 lib/setup.c:4618
 msgid "Device type is not properly initialized."
 msgstr ""
 
-#: lib/setup.c:4223
+#: lib/setup.c:4400
 #, c-format
 msgid "Device %s already exists."
 msgstr ""
 
-#: lib/setup.c:4230
+#: lib/setup.c:4407
 #, c-format
 msgid "Cannot use device %s, name is invalid or still in use."
 msgstr ""
 
-#: lib/setup.c:4350
+#: lib/setup.c:4527
 msgid "Incorrect volume key specified for plain device."
 msgstr ""
 
-#: lib/setup.c:4463
+#: lib/setup.c:4644
 msgid "Incorrect root hash specified for verity device."
 msgstr ""
 
-#: lib/setup.c:4470
+#: lib/setup.c:4654
 msgid "Root hash signature required."
 msgstr ""
 
-#: lib/setup.c:4479
+#: lib/setup.c:4663
 msgid "Kernel keyring missing: required for passing signature to kernel."
 msgstr ""
 
-#: lib/setup.c:4496 lib/setup.c:5976
+#: lib/setup.c:4680 lib/setup.c:6423
 msgid "Failed to load key in kernel keyring."
 msgstr ""
 
-#: lib/setup.c:4549 lib/setup.c:4565 lib/luks2/luks2_json_metadata.c:2483
-#: src/cryptsetup.c:2794
+#: 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:4574
+#: lib/setup.c:4768
 #, c-format
 msgid "Invalid device %s."
 msgstr ""
 
-#: lib/setup.c:4690
+#: lib/setup.c:4908
 msgid "Volume key buffer too small."
 msgstr ""
 
-#: lib/setup.c:4698
+#: 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:4715
+#: lib/setup.c:4952
 msgid "Cannot retrieve root hash for verity device."
 msgstr ""
 
-#: lib/setup.c:4717
+#: 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:4923
+#: lib/setup.c:5147 lib/setup.c:5158
 msgid "Dump operation is not supported for this device type."
 msgstr ""
 
-#: lib/setup.c:5251
+#: lib/setup.c:5500
 #, c-format
 msgid "Data offset is not multiple of %u bytes."
 msgstr ""
 
-#: lib/setup.c:5536
+#: lib/setup.c:5788
 #, c-format
 msgid "Cannot convert device %s which is still in use."
 msgstr ""
 
-#: lib/setup.c:5833
+#: 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:5906
+#: lib/setup.c:6122
 msgid "Failed to initialize default LUKS2 keyslot parameters."
 msgstr ""
 
-#: lib/setup.c:5912
+#: lib/setup.c:6128
 #, c-format
 msgid "Failed to assign keyslot %d to digest."
 msgstr ""
 
-#: lib/setup.c:6043
+#: 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:6053 lib/luks2/luks2_reencrypt.c:3179
+#: 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:6077
+#: 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:223
-#: src/utils_password.c:235
+#: 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:190 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:200
+#: lib/utils_device.c:217
 #, c-format
 msgid "Device %s is not compatible."
 msgstr ""
 
-#: lib/utils_device.c:544
+#: lib/utils_device.c:561
 #, c-format
 msgid "Ignoring bogus optimal-io size for data device (%u bytes)."
 msgstr ""
 
-#: lib/utils_device.c:666
+#: lib/utils_device.c:722
 #, c-format
 msgid "Device %s is too small. Need at least %<PRIu64> bytes."
 msgstr ""
 
-#: lib/utils_device.c:747
+#: 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:751
+#: lib/utils_device.c:807
 #, c-format
 msgid "Cannot use device %s, permission denied."
 msgstr ""
 
-#: lib/utils_device.c:754
+#: lib/utils_device.c:810
 #, c-format
 msgid "Cannot get info about device %s."
 msgstr ""
 
-#: lib/utils_device.c:777
+#: lib/utils_device.c:833
 msgid "Cannot use a loopback device, running as non-root user."
 msgstr ""
 
-#: lib/utils_device.c:787
+#: lib/utils_device.c:844
 msgid ""
 "Attaching loopback device failed (loop device with autoclear flag is "
 "required)."
 msgstr ""
 
-#: lib/utils_device.c:833
+#: lib/utils_device.c:892
 #, c-format
 msgid "Requested offset is beyond real size of device %s."
 msgstr ""
 
-#: lib/utils_device.c:841
+#: lib/utils_device.c:900
 #, c-format
 msgid "Device %s has zero size."
 msgstr ""
@@ -708,44 +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 ""
-"Locking directory %s/%s will be created with default compiled-in permissions."
-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:959
-#: src/cryptsetup_reencrypt.c:1043
+#: 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 ""
@@ -765,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:642 lib/luks1/keymanage.c:1094
-#: lib/luks2/luks2_json_metadata.c:1347 lib/luks2/luks2_keyslot.c:740
+#: 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 ""
@@ -780,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:595 lib/luks1/keymanage.c:645 lib/tcrypt/tcrypt.c:670
-#: lib/verity/verity.c:81 lib/verity/verity.c:194 lib/verity/verity_hash.c:286
-#: lib/verity/verity_hash.c:295 lib/verity/verity_hash.c:315
-#: lib/verity/verity_fec.c:250 lib/verity/verity_fec.c:262
-#: lib/verity/verity_fec.c:267 lib/luks2/luks2_json_metadata.c:1350
-#: src/cryptsetup_reencrypt.c:218 src/cryptsetup_reencrypt.c:230
+#: 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:479
-#: lib/luks2/luks2_json_metadata.c:1193 src/cryptsetup.c:1545
-#: src/cryptsetup.c:1671 src/cryptsetup.c:1728 src/cryptsetup.c:1784
-#: src/cryptsetup.c:1851 src/cryptsetup.c:1954 src/cryptsetup.c:2018
-#: src/cryptsetup.c:2248 src/cryptsetup.c:2459 src/cryptsetup.c:2521
-#: src/cryptsetup.c:2587 src/cryptsetup.c:2751 src/cryptsetup.c:3427
-#: src/cryptsetup.c:3436 src/cryptsetup_reencrypt.c:1406
-#, c-format
-msgid "Device %s is not a valid LUKS device."
-msgstr ""
-
-#: lib/luks1/keymanage.c:246 lib/luks2/luks2_json_metadata.c:1210
+#: 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:1212
+#: 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:1219
+#: 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:1256
+#: 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:556
-#: lib/luks2/luks2_json_metadata.c:1277
+#: 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:1285
+#: 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:1319
+#: 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:385
+#: lib/luks1/keymanage.c:408
 msgid "Non standard keyslots alignment, manual repair required."
 msgstr ""
 
-#: lib/luks1/keymanage.c:397
+#: 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:416
+#: lib/luks1/keymanage.c:463
 #, c-format
 msgid "Keyslot %i: offset repaired (%u -> %u)."
 msgstr ""
 
-#: lib/luks1/keymanage.c:424
+#: lib/luks1/keymanage.c:471
 #, c-format
 msgid "Keyslot %i: stripes repaired (%u -> %u)."
 msgstr ""
 
-#: lib/luks1/keymanage.c:433
+#: lib/luks1/keymanage.c:480
 #, c-format
 msgid "Keyslot %i: bogus partition signature."
 msgstr ""
 
-#: lib/luks1/keymanage.c:438
+#: lib/luks1/keymanage.c:485
 #, c-format
 msgid "Keyslot %i: salt wiped."
 msgstr ""
 
-#: lib/luks1/keymanage.c:455
+#: lib/luks1/keymanage.c:502
 msgid "Writing LUKS header to disk."
 msgstr ""
 
-#: lib/luks1/keymanage.c:460
+#: lib/luks1/keymanage.c:507
 msgid "Repair failed."
 msgstr ""
 
-#: lib/luks1/keymanage.c:488 lib/luks1/keymanage.c:757
+#: 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:567
+#, c-format
+msgid "LUKS hash %s is invalid."
 msgstr ""
 
-#: lib/luks1/keymanage.c:516 src/cryptsetup.c:1237
+#: lib/luks1/keymanage.c:574 src/cryptsetup.c:1281
 msgid "No known problems detected for LUKS header."
 msgstr ""
 
-#: lib/luks1/keymanage.c:667
+#: lib/luks1/keymanage.c:702
 #, c-format
 msgid "Error during update of LUKS header on device %s."
 msgstr ""
 
-#: lib/luks1/keymanage.c:675
+#: lib/luks1/keymanage.c:710
 #, c-format
 msgid "Error re-reading LUKS header after update on device %s."
 msgstr ""
 
-#: lib/luks1/keymanage.c:751
+#: 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:762 lib/luks1/keymanage.c:832
-#: lib/luks2/luks2_json_format.c:284 lib/luks2/luks2_json_metadata.c:1101
-#: src/cryptsetup.c:2914
+#: 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:785
+#: lib/luks1/keymanage.c:819
 msgid "Cannot create LUKS header: reading random salt failed."
 msgstr ""
 
-#: lib/luks1/keymanage.c:811
+#: lib/luks1/keymanage.c:845
 #, c-format
 msgid "Cannot create LUKS header: header digest failed (using hash %s)."
 msgstr ""
 
-#: lib/luks1/keymanage.c:855
+#: lib/luks1/keymanage.c:889
 #, c-format
 msgid "Key slot %d active, purge first."
 msgstr ""
 
-#: lib/luks1/keymanage.c:861
+#: lib/luks1/keymanage.c:895
 #, c-format
 msgid "Key slot %d material includes too few stripes. Header manipulation?"
 msgstr ""
 
-#: lib/luks1/keymanage.c:1002
+#: 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:1080
+#: 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:1098 lib/luks2/luks2_keyslot.c:744
+#: lib/luks1/keymanage.c:1136 lib/luks2/luks2_keyslot.c:718
 #, c-format
 msgid "Cannot wipe device %s."
 msgstr ""
@@ -1000,252 +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:1059
+#: 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:1061
+#: 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:790
+#: lib/tcrypt/tcrypt.c:799
 #, c-format
 msgid "Activating TCRYPT system encryption for partition %s."
 msgstr ""
 
-#: lib/tcrypt/tcrypt.c:868
+#: lib/tcrypt/tcrypt.c:882
 msgid "Kernel does not support TCRYPT compatible mapping."
 msgstr ""
 
-#: lib/tcrypt/tcrypt.c:1090
+#: lib/tcrypt/tcrypt.c:1095
 msgid "This function is not supported without TCRYPT header load."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:350
+#: 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:397
+#: lib/bitlk/bitlk.c:337
 msgid "Invalid string found when parsing Volume Master Key."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:402
+#: lib/bitlk/bitlk.c:341
 #, c-format
 msgid ""
 "Unexpected string ('%s') found when parsing supported Volume Master Key."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:419
+#: 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:502
-#, c-format
-msgid "Failed to read BITLK signature from %s."
-msgstr ""
-
-#: lib/bitlk/bitlk.c:514
-msgid "Invalid or unknown signature for BITLK device."
-msgstr ""
-
-#: lib/bitlk/bitlk.c:520
+#: lib/bitlk/bitlk.c:460
 msgid "BITLK version 1 is currently not supported."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:526
+#: lib/bitlk/bitlk.c:466
 msgid "Invalid or unknown boot signature for BITLK device."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:538
+#: lib/bitlk/bitlk.c:478
 #, c-format
 msgid "Unsupported sector size %<PRIu16>."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:546
+#: lib/bitlk/bitlk.c:486
 #, c-format
 msgid "Failed to read BITLK header from %s."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:571
+#: lib/bitlk/bitlk.c:511
 #, c-format
 msgid "Failed to read BITLK FVE metadata from %s."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:622
+#: lib/bitlk/bitlk.c:562
 msgid "Unknown or unsupported encryption type."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:655
+#: lib/bitlk/bitlk.c:602
 #, c-format
 msgid "Failed to read BITLK metadata entries from %s."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:897
+#: 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:912
+#: 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:980
+#: 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:1071
+#: lib/bitlk/bitlk.c:1075
 msgid "This operation is not supported."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:1079
+#: lib/bitlk/bitlk.c:1083
 msgid "Unexpected key data size."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:1133
+#: lib/bitlk/bitlk.c:1209
 msgid "This BITLK device is in an unsupported state and cannot be activated."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:1139
+#: lib/bitlk/bitlk.c:1214
 #, c-format
 msgid "BITLK devices with type '%s' cannot be activated."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:1234
+#: lib/bitlk/bitlk.c:1221
 msgid "Activation of partially decrypted BITLK device is not supported."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:1370
+#: 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:1374
+#: lib/bitlk/bitlk.c:1393
 msgid ""
 "Cannot activate device, kernel dm-crypt is missing support for BITLK "
 "Elephant diffuser."
 msgstr ""
 
-#: lib/verity/verity.c:69 lib/verity/verity.c:180
+#: 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:91
+#: 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:98
+#: lib/verity/verity.c:96
 #, c-format
 msgid "Unsupported VERITY version %d."
 msgstr ""
 
-#: lib/verity/verity.c:129
+#: lib/verity/verity.c:131
 msgid "VERITY header corrupted."
 msgstr ""
 
-#: lib/verity/verity.c:174
+#: lib/verity/verity.c:176
 #, c-format
 msgid "Wrong VERITY UUID format provided on device %s."
 msgstr ""
 
-#: lib/verity/verity.c:218
+#: lib/verity/verity.c:220
 #, c-format
 msgid "Error during update of verity header on device %s."
 msgstr ""
 
-#: lib/verity/verity.c:276
+#: lib/verity/verity.c:278
 msgid "Root hash signature verification is not supported."
 msgstr ""
 
-#: lib/verity/verity.c:288
+#: lib/verity/verity.c:290
 msgid "Errors cannot be repaired with FEC device."
 msgstr ""
 
-#: lib/verity/verity.c:290
+#: lib/verity/verity.c:292
 #, c-format
 msgid "Found %u repairable errors with FEC device."
 msgstr ""
 
-#: lib/verity/verity.c:333
+#: lib/verity/verity.c:335
 msgid "Kernel does not support dm-verity mapping."
 msgstr ""
 
-#: lib/verity/verity.c:337
+#: lib/verity/verity.c:339
 msgid "Kernel does not support dm-verity signature option."
 msgstr ""
 
-#: lib/verity/verity.c:348
+#: 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:154 lib/verity/verity_hash.c:266
-#: lib/verity/verity_hash.c:277
+#: 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:194
+#: lib/verity/verity_hash.c:218
 #, c-format
 msgid "Verification failed at position %<PRIu64>."
 msgstr ""
 
-#: lib/verity/verity_hash.c:273
+#: lib/verity/verity_hash.c:307
 msgid "Hash area overflow."
 msgstr ""
 
-#: lib/verity/verity_hash.c:346
+#: lib/verity/verity_hash.c:380
 msgid "Verification of data area failed."
 msgstr ""
 
-#: lib/verity/verity_hash.c:351
+#: lib/verity/verity_hash.c:385
 msgid "Verification of root hash failed."
 msgstr ""
 
-#: lib/verity/verity_hash.c:357
+#: lib/verity/verity_hash.c:391
 msgid "Input/output error while creating hash area."
 msgstr ""
 
-#: lib/verity/verity_hash.c:359
+#: lib/verity/verity_hash.c:393
 msgid "Creation of hash area failed."
 msgstr ""
 
-#: lib/verity/verity_hash.c:394
+#: lib/verity/verity_hash.c:428
 #, c-format
 msgid ""
 "WARNING: Kernel cannot activate device if data block size exceeds page size "
@@ -1275,621 +1362,707 @@ msgstr ""
 msgid "Failed to repair parity for block %<PRIu64>."
 msgstr ""
 
-#: lib/verity/verity_fec.c:191
+#: lib/verity/verity_fec.c:192
 #, c-format
 msgid "Failed to write parity for RS block %<PRIu64>."
 msgstr ""
 
-#: lib/verity/verity_fec.c:227
+#: lib/verity/verity_fec.c:208
 msgid "Block sizes must match for FEC."
 msgstr ""
 
-#: lib/verity/verity_fec.c:233
+#: lib/verity/verity_fec.c:214
 msgid "Invalid number of parity bytes."
 msgstr ""
 
-#: lib/verity/verity_fec.c:238
+#: lib/verity/verity_fec.c:248
 msgid "Invalid FEC segment length."
 msgstr ""
 
-#: lib/verity/verity_fec.c:302
+#: lib/verity/verity_fec.c:316
 #, c-format
 msgid "Failed to determine size for device %s."
 msgstr ""
 
-#: lib/integrity/integrity.c:272 lib/integrity/integrity.c:355
+#: 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:278
+#: lib/integrity/integrity.c:283
 msgid "Kernel does not support dm-integrity fixed metadata alignment."
 msgstr ""
 
-#: lib/integrity/integrity.c:287
+#: 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:383 lib/luks2/luks2_json_metadata.c:1059
-#: lib/luks2/luks2_json_metadata.c:1339
+#: 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:272
+#: 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:1046 lib/luks2/luks2_json_metadata.c:1184
-#: lib/luks2/luks2_json_metadata.c:1245 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:1262
+#: lib/luks2/luks2_json_metadata.c:1405
 #, c-format
 msgid "Forbidden LUKS2 requirements detected in backup %s."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:1303
+#: lib/luks2/luks2_json_metadata.c:1446
 msgid "Data offset differ on device and backup, restore failed."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:1309
+#: 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:1316
+#: lib/luks2/luks2_json_metadata.c:1459
 #, c-format
 msgid "Device %s %s%s%s%s"
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:1317
+#: 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:1318
+#: 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:1320
+#: 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:1322
+#: 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:1420
+#: lib/luks2/luks2_json_metadata.c:1562
 #, c-format
 msgid "Ignored unknown flag %s."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:2197 lib/luks2/luks2_reencrypt.c:1856
+#: 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:2209 lib/luks2/luks2_reencrypt.c:1874
+#: 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:2215 lib/luks2/luks2_reencrypt.c:1880
+#: 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:2342
+#: lib/luks2/luks2_json_metadata.c:2615
 msgid "Unsupported device integrity configuration."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:2428
+#: lib/luks2/luks2_json_metadata.c:2701
 msgid "Reencryption in-progress. Cannot deactivate device."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:2439 lib/luks2/luks2_reencrypt.c:3416
+#: 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:2519
+#: lib/luks2/luks2_json_metadata.c:2792
 msgid "Failed to read LUKS2 requirements."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:2526
+#: lib/luks2/luks2_json_metadata.c:2799
 msgid "Unmet LUKS2 requirements detected."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:2534
+#: lib/luks2/luks2_json_metadata.c:2807
 msgid ""
 "Operation incompatible with device marked for legacy reencryption. Aborting."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:2536
+#: lib/luks2/luks2_json_metadata.c:2809
 msgid ""
 "Operation incompatible with device marked for LUKS2 reencryption. Aborting."
 msgstr ""
 
-#: lib/luks2/luks2_keyslot.c:556 lib/luks2/luks2_keyslot.c:593
+#: 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:558 lib/luks2/luks2_keyslot.c:595
+#: 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:889
+#: 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:1002
+#: 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:1007
+#: 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:1051
-#, c-format
-msgid "Unsupported resilience mode %s"
-msgstr ""
-
-#: lib/luks2/luks2_reencrypt.c:1268 lib/luks2/luks2_reencrypt.c:1423
-#: lib/luks2/luks2_reencrypt.c:1506 lib/luks2/luks2_reencrypt.c:1540
-#: lib/luks2/luks2_reencrypt.c:3251
+#: 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:1282 lib/luks2/luks2_reencrypt.c:1401
+#: 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:1450
+#: 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:1457 lib/luks2/luks2_reencrypt.c:3259
+#: 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:1476
+#: lib/luks2/luks2_reencrypt.c:1604
 #, c-format
 msgid "Failed to decrypt sector %zu."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:1482
+#: lib/luks2/luks2_reencrypt.c:1610
 #, c-format
 msgid "Failed to recover sector %zu."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:1977
+#: 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:2075
+#: lib/luks2/luks2_reencrypt.c:2272
 #, c-format
 msgid "Failed to activate hotzone device %s."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2092
+#: 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:2099
+#: lib/luks2/luks2_reencrypt.c:2296
 #, c-format
 msgid "Failed to load new mapping for device %s."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2170
+#: lib/luks2/luks2_reencrypt.c:2367
 msgid "Failed to refresh reencryption devices stack."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2326
+#: lib/luks2/luks2_reencrypt.c:2550
 msgid "Failed to set new keyslots area size."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2430
+#: 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: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:2451
+#: 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:2472
+#: 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:3038
 #, c-format
 msgid ""
 "Data shift (%<PRIu64> sectors) is less than future data offset (%<PRIu64> "
 "sectors)."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2478 lib/luks2/luks2_reencrypt.c:2918
-#: lib/luks2/luks2_reencrypt.c:2939
+#: 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:2647
+#: lib/luks2/luks2_reencrypt.c:3234
 msgid "Device not marked for LUKS2 reencryption."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2664 lib/luks2/luks2_reencrypt.c:3536
+#: 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:2744
+#: lib/luks2/luks2_reencrypt.c:3331
 msgid "Failed to get reencryption state."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2748 lib/luks2/luks2_reencrypt.c:3032
+#: lib/luks2/luks2_reencrypt.c:3335 lib/luks2/luks2_reencrypt.c:3649
 msgid "Device is not in reencryption."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2755 lib/luks2/luks2_reencrypt.c:3039
+#: lib/luks2/luks2_reencrypt.c:3342 lib/luks2/luks2_reencrypt.c:3656
 msgid "Reencryption process is already running."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2757 lib/luks2/luks2_reencrypt.c:3041
+#: lib/luks2/luks2_reencrypt.c:3344 lib/luks2/luks2_reencrypt.c:3658
 msgid "Failed to acquire reencryption lock."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2775
+#: lib/luks2/luks2_reencrypt.c:3362
 msgid "Cannot proceed with reencryption. Run reencryption recovery first."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2889
+#: lib/luks2/luks2_reencrypt.c:3497
 msgid "Active device size and requested reencryption size don't match."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2903
+#: lib/luks2/luks2_reencrypt.c:3511
 msgid "Illegal device size requested in reencryption parameters."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2973
+#: lib/luks2/luks2_reencrypt.c:3588
 msgid "Reencryption in-progress. Cannot perform recovery."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3129
+#: lib/luks2/luks2_reencrypt.c:3757
 msgid "LUKS2 reencryption already initialized in metadata."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3136
+#: lib/luks2/luks2_reencrypt.c:3764
 msgid "Failed to initialize LUKS2 reencryption in metadata."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3225
+#: lib/luks2/luks2_reencrypt.c:3859
 msgid "Failed to set device segments for next reencryption hotzone."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3267
+#: lib/luks2/luks2_reencrypt.c:3911
 msgid "Failed to write reencryption resilience metadata."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3274
+#: lib/luks2/luks2_reencrypt.c:3918
 msgid "Decryption failed."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3279
+#: lib/luks2/luks2_reencrypt.c:3923
 #, c-format
 msgid "Failed to write hotzone area starting at %<PRIu64>."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3284
+#: lib/luks2/luks2_reencrypt.c:3928
 msgid "Failed to sync data."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3292
+#: lib/luks2/luks2_reencrypt.c:3936
 msgid "Failed to update metadata after current reencryption hotzone completed."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3359
+#: lib/luks2/luks2_reencrypt.c:4025
 msgid "Failed to write LUKS2 metadata."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3382
-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:3388
+#: lib/luks2/luks2_reencrypt.c:4054
 #, c-format
 msgid "Failed to remove unused (unbound) keyslot %d."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3398
+#: lib/luks2/luks2_reencrypt.c:4064
 msgid "Failed to remove reencryption keyslot."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3408
+#: 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:3417
+#: 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:3467
+#: lib/luks2/luks2_reencrypt.c:4137
 msgid "Cannot proceed with reencryption. Unexpected reencryption status."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3473
+#: lib/luks2/luks2_reencrypt.c:4143
 msgid "Missing or invalid reencrypt context."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3480
+#: lib/luks2/luks2_reencrypt.c:4150
 msgid "Failed to initialize reencryption device stack."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3508 lib/luks2/luks2_reencrypt.c:3549
+#: lib/luks2/luks2_reencrypt.c:4172 lib/luks2/luks2_reencrypt.c:4219
 msgid "Failed to update reencryption context."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt_digest.c:376
+#: lib/luks2/luks2_reencrypt_digest.c:405
 msgid "Reencryption metadata is invalid."
 msgstr ""
 
-#: lib/luks2/luks2_token.c:263
-msgid "No free token slot."
+#: src/cryptsetup.c:85
+msgid "Keyslot encryption parameters can be set only for LUKS2 device."
 msgstr ""
 
-#: lib/luks2/luks2_token.c:270
+#: src/cryptsetup.c:108 src/cryptsetup.c:1901
 #, c-format
-msgid "Failed to create builtin token %s."
-msgstr ""
-
-#: src/cryptsetup.c:198
-msgid "Can't do passphrase verification on non-tty inputs."
+msgid "Enter token PIN: "
 msgstr ""
 
-#: src/cryptsetup.c:261
-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:291 src/cryptsetup.c:1006 src/cryptsetup.c:1389
-#: src/cryptsetup.c:3295 src/cryptsetup_reencrypt.c:741
-#: src/cryptsetup_reencrypt.c:811
+#: 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:299
+#: src/cryptsetup.c:167
 msgid ""
 "WARNING: The --hash parameter is being ignored in plain mode with keyfile "
 "specified.\n"
 msgstr ""
 
-#: src/cryptsetup.c:307
+#: 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:347
+#: src/cryptsetup.c:215
 #, c-format
 msgid ""
 "Detected device signature(s) on %s. Proceeding further may damage existing "
 "data."
 msgstr ""
 
-#: src/cryptsetup.c:353 src/cryptsetup.c:1137 src/cryptsetup.c:1184
-#: src/cryptsetup.c:1246 src/cryptsetup.c:1366 src/cryptsetup.c:1439
-#: src/cryptsetup.c:2086 src/cryptsetup.c:2812 src/cryptsetup.c:2936
-#: src/integritysetup.c:242
+#: 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:421
+#: src/cryptsetup.c:294
 msgid "Option --key-file is required."
 msgstr ""
 
-#: src/cryptsetup.c:474
+#: src/cryptsetup.c:345
 msgid "Enter VeraCrypt PIM: "
 msgstr ""
 
-#: src/cryptsetup.c:483
+#: src/cryptsetup.c:354
 msgid "Invalid PIM value: parse error."
 msgstr ""
 
-#: src/cryptsetup.c:486
+#: src/cryptsetup.c:357
 msgid "Invalid PIM value: 0."
 msgstr ""
 
-#: src/cryptsetup.c:489
+#: src/cryptsetup.c:360
 msgid "Invalid PIM value: outside of range."
 msgstr ""
 
-#: src/cryptsetup.c:512
+#: src/cryptsetup.c:383
 msgid "No device header detected with this passphrase."
 msgstr ""
 
-#: src/cryptsetup.c:582
+#: src/cryptsetup.c:456 src/cryptsetup.c:632
 #, c-format
 msgid "Device %s is not a valid BITLK device."
 msgstr ""
 
-#: src/cryptsetup.c:617
+#: 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:714
+#: 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:742
+#: src/cryptsetup.c:835
 msgid ""
 "Resize of active device requires volume key in keyring but --disable-keyring "
 "option is set."
 msgstr ""
 
-#: src/cryptsetup.c:885
+#: src/cryptsetup.c:982
 msgid "Benchmark interrupted."
 msgstr ""
 
-#: src/cryptsetup.c:906
+#: src/cryptsetup.c:1003
 #, c-format
 msgid "PBKDF2-%-9s     N/A\n"
 msgstr ""
 
-#: src/cryptsetup.c:908
+#: src/cryptsetup.c:1005
 #, c-format
 msgid "PBKDF2-%-9s %7u iterations per second for %zu-bit key\n"
 msgstr ""
 
-#: src/cryptsetup.c:922
+#: src/cryptsetup.c:1019
 #, c-format
 msgid "%-10s N/A\n"
 msgstr ""
 
-#: src/cryptsetup.c:924
+#: 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:948
+#: src/cryptsetup.c:1045
 msgid "Result of benchmark is not reliable."
 msgstr ""
 
-#: src/cryptsetup.c:998
+#: 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:1018
+#: src/cryptsetup.c:1115
 #, c-format
 msgid "#%*s Algorithm |       Key |      Encryption |      Decryption\n"
 msgstr ""
 
-#: src/cryptsetup.c:1022
+#: 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:1041
+#: src/cryptsetup.c:1138
 msgid "#     Algorithm |       Key |      Encryption |      Decryption\n"
 msgstr ""
 
-#: src/cryptsetup.c:1052
+#: src/cryptsetup.c:1149
 msgid "N/A"
 msgstr ""
 
-#: src/cryptsetup.c:1134
+#: src/cryptsetup.c:1174
 msgid ""
 "Unprotected LUKS2 reencryption metadata detected. Please verify the "
 "reencryption operation is desirable (see luksDump output)\n"
@@ -1897,556 +2070,590 @@ msgid ""
 "genuine."
 msgstr ""
 
-#: src/cryptsetup.c:1140
-msgid "Enter passphrase to protect and uppgrade reencryption metadata: "
+#: src/cryptsetup.c:1180
+msgid "Enter passphrase to protect and upgrade reencryption metadata: "
 msgstr ""
 
-#: src/cryptsetup.c:1183
+#: src/cryptsetup.c:1224
 msgid "Really proceed with LUKS2 reencryption recovery?"
 msgstr ""
 
-#: src/cryptsetup.c:1193
+#: src/cryptsetup.c:1233
 msgid "Enter passphrase to verify reencryption metadata digest: "
 msgstr ""
 
-#: src/cryptsetup.c:1195
+#: src/cryptsetup.c:1235
 msgid "Enter passphrase for reencryption recovery: "
 msgstr ""
 
-#: src/cryptsetup.c:1245
+#: src/cryptsetup.c:1290
 msgid "Really try to repair LUKS device header?"
 msgstr ""
 
-#: src/cryptsetup.c:1265 src/integritysetup.c:157
+#: 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:1287 src/integritysetup.c:179
+#: src/cryptsetup.c:1341 src/integritysetup.c:116
 #, c-format
 msgid "Cannot deactivate temporary device %s."
 msgstr ""
 
-#: src/cryptsetup.c:1351
+#: src/cryptsetup.c:1392
 msgid "Integrity option can be used only for LUKS2 format."
 msgstr ""
 
-#: src/cryptsetup.c:1356 src/cryptsetup.c:1416
+#: src/cryptsetup.c:1397 src/cryptsetup.c:1457
 msgid "Unsupported LUKS2 metadata size options."
 msgstr ""
 
-#: src/cryptsetup.c:1365
+#: src/cryptsetup.c:1406
 msgid "Header file does not exist, do you want to create it?"
 msgstr ""
 
-#: src/cryptsetup.c:1373
+#: src/cryptsetup.c:1414
 #, c-format
 msgid "Cannot create header file %s."
 msgstr ""
 
-#: src/cryptsetup.c:1396 src/integritysetup.c:205 src/integritysetup.c:213
-#: src/integritysetup.c:222 src/integritysetup.c:295 src/integritysetup.c:303
-#: src/integritysetup.c:313
+#: 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:1409
+#: src/cryptsetup.c:1450
 #, c-format
 msgid "Cannot use %s as on-disk header."
 msgstr ""
 
-#: src/cryptsetup.c:1433 src/integritysetup.c:236
+#: src/cryptsetup.c:1474 src/integritysetup.c:181
 #, c-format
 msgid "This will overwrite data on %s irrevocably."
 msgstr ""
 
-#: src/cryptsetup.c:1466 src/cryptsetup.c:1800 src/cryptsetup.c:1867
-#: src/cryptsetup.c:1969 src/cryptsetup.c:2035 src/cryptsetup_reencrypt.c:571
+#: 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:1551
+#: src/cryptsetup.c:1593
 msgid "Reduced data offset is allowed only for detached LUKS header."
 msgstr ""
 
-#: src/cryptsetup.c:1562 src/cryptsetup.c:1873
+#: 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:1600
+#: src/cryptsetup.c:1658
 msgid "Device activated but cannot make flags persistent."
 msgstr ""
 
-#: src/cryptsetup.c:1681 src/cryptsetup.c:1751
+#: src/cryptsetup.c:1737 src/cryptsetup.c:1805
 #, c-format
 msgid "Keyslot %d is selected for deletion."
 msgstr ""
 
-#: src/cryptsetup.c:1693 src/cryptsetup.c:1754
+#: 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:1694
+#: src/cryptsetup.c:1750
 msgid "Enter any remaining passphrase: "
 msgstr ""
 
-#: src/cryptsetup.c:1695 src/cryptsetup.c:1756
+#: src/cryptsetup.c:1751 src/cryptsetup.c:1811
 msgid "Operation aborted, the keyslot was NOT wiped.\n"
 msgstr ""
 
-#: src/cryptsetup.c:1733
+#: src/cryptsetup.c:1787
 msgid "Enter passphrase to be deleted: "
 msgstr ""
 
-#: src/cryptsetup.c:1814 src/cryptsetup.c:1888 src/cryptsetup.c:1922
+#: 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:1905 src/cryptsetup_reencrypt.c:1361
+#: 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:1973
+#: src/cryptsetup.c:2152
 msgid "Enter passphrase to be changed: "
 msgstr ""
 
-#: src/cryptsetup.c:1989 src/cryptsetup_reencrypt.c:1347
+#: src/cryptsetup.c:2168 src/utils_reencrypt_luks1.c:1135
 msgid "Enter new passphrase: "
 msgstr ""
 
-#: src/cryptsetup.c:2039
+#: src/cryptsetup.c:2218
 msgid "Enter passphrase for keyslot to be converted: "
 msgstr ""
 
-#: src/cryptsetup.c:2063
+#: src/cryptsetup.c:2242
 msgid "Only one device argument for isLuks operation is supported."
 msgstr ""
 
-#: src/cryptsetup.c:2113
-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:2178
+#: src/cryptsetup.c:2350
 #, c-format
 msgid "Keyslot %d does not contain unbound key."
 msgstr ""
 
-#: src/cryptsetup.c:2184
+#: 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:2273 src/cryptsetup.c:2302
+#: src/cryptsetup.c:2441 src/cryptsetup.c:2470
 #, c-format
 msgid "%s is not active %s device name."
 msgstr ""
 
-#: src/cryptsetup.c:2297
+#: src/cryptsetup.c:2465
 #, c-format
 msgid "%s is not active LUKS device name or header is missing."
 msgstr ""
 
-#: src/cryptsetup.c:2335 src/cryptsetup.c:2356
+#: src/cryptsetup.c:2527 src/cryptsetup.c:2546
 msgid "Option --header-backup-file is required."
 msgstr ""
 
-#: src/cryptsetup.c:2386
+#: src/cryptsetup.c:2577
 #, c-format
 msgid "%s is not cryptsetup managed device."
 msgstr ""
 
-#: src/cryptsetup.c:2397
+#: src/cryptsetup.c:2588
 #, c-format
 msgid "Refresh is not supported for device type %s"
 msgstr ""
 
-#: src/cryptsetup.c:2439
+#: src/cryptsetup.c:2638
 #, c-format
 msgid "Unrecognized metadata device type %s."
 msgstr ""
 
-#: src/cryptsetup.c:2442
+#: src/cryptsetup.c:2640
 msgid "Command requires device and mapped name as arguments."
 msgstr ""
 
-#: src/cryptsetup.c:2464
+#: 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:2471
+#: src/cryptsetup.c:2668
 msgid "Operation aborted, keyslots were NOT wiped.\n"
 msgstr ""
 
-#: src/cryptsetup.c:2510
+#: src/cryptsetup.c:2707
 msgid "Invalid LUKS type, only luks1 and luks2 are supported."
 msgstr ""
 
-#: src/cryptsetup.c:2528
+#: src/cryptsetup.c:2723
 #, c-format
 msgid "Device is already %s type."
 msgstr ""
 
-#: src/cryptsetup.c:2533
+#: src/cryptsetup.c:2730
 #, c-format
 msgid "This operation will convert %s to %s format.\n"
 msgstr ""
 
-#: src/cryptsetup.c:2539
+#: src/cryptsetup.c:2733
 msgid "Operation aborted, device was NOT converted.\n"
 msgstr ""
 
-#: src/cryptsetup.c:2579
+#: src/cryptsetup.c:2773
 msgid "Option --priority, --label or --subsystem is missing."
 msgstr ""
 
-#: src/cryptsetup.c:2613 src/cryptsetup.c:2646 src/cryptsetup.c:2669
+#: src/cryptsetup.c:2807 src/cryptsetup.c:2847 src/cryptsetup.c:2867
 #, c-format
 msgid "Token %d is invalid."
 msgstr ""
 
-#: src/cryptsetup.c:2616 src/cryptsetup.c:2672
+#: src/cryptsetup.c:2810 src/cryptsetup.c:2870
 #, c-format
 msgid "Token %d in use."
 msgstr ""
 
-#: src/cryptsetup.c:2623
+#: src/cryptsetup.c:2822
 #, c-format
 msgid "Failed to add luks2-keyring token %d."
 msgstr ""
 
-#: src/cryptsetup.c:2632 src/cryptsetup.c:2694
+#: src/cryptsetup.c:2833 src/cryptsetup.c:2896
 #, c-format
 msgid "Failed to assign token %d to keyslot %d."
 msgstr ""
 
-#: src/cryptsetup.c:2649
+#: src/cryptsetup.c:2850
 #, c-format
 msgid "Token %d is not in use."
 msgstr ""
 
-#: src/cryptsetup.c:2684
+#: src/cryptsetup.c:2887
 msgid "Failed to import token from file."
 msgstr ""
 
-#: src/cryptsetup.c:2709
+#: src/cryptsetup.c:2912
 #, c-format
 msgid "Failed to get token %d for export."
 msgstr ""
 
-#: src/cryptsetup.c:2724
-msgid "--key-description parameter is mandatory for token add action."
-msgstr ""
-
-#: src/cryptsetup.c:2730 src/cryptsetup.c:2738
-msgid "Action requires specific token. Use --token-id parameter."
-msgstr ""
-
-#: src/cryptsetup.c:2743
-#, c-format
-msgid "Invalid token operation %s."
-msgstr ""
-
-#: src/cryptsetup.c:2798
-#, c-format
-msgid "Auto-detected active dm device '%s' for data device %s.\n"
-msgstr ""
-
-#: src/cryptsetup.c:2802
+#: src/cryptsetup.c:2925
 #, c-format
-msgid "Device %s is not a block device.\n"
+msgid "Token %d is not assigned to keyslot %d."
 msgstr ""
 
-#: src/cryptsetup.c:2804
+#: src/cryptsetup.c:2927 src/cryptsetup.c:2934
 #, c-format
-msgid "Failed to auto-detect device %s holders."
+msgid "Failed to unassign token %d from keyslot %d."
 msgstr ""
 
-#: src/cryptsetup.c:2806
-#, c-format
+#: src/cryptsetup.c:2983
 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 --tcrypt-hidden, --tcrypt-system or --tcrypt-backup is supported only "
+"for TCRYPT device."
 msgstr ""
 
-#: src/cryptsetup.c:2886
-msgid "Invalid LUKS device type."
+#: src/cryptsetup.c:2986
+msgid ""
+"Option --veracrypt or --disable-veracrypt is supported only for TCRYPT "
+"device type."
 msgstr ""
 
-#: src/cryptsetup.c:2891
+#: src/cryptsetup.c:2989
 msgid ""
-"Encryption without detached header (--header) is not possible without data "
-"device size reduction (--reduce-device-size)."
+"Option --veracrypt-pim is supported only for VeraCrypt compatible devices."
 msgstr ""
 
-#: src/cryptsetup.c:2896
+#: src/cryptsetup.c:2993
 msgid ""
-"Requested data offset must be less than or equal to half of --reduce-device-"
-"size parameter."
+"Option --veracrypt-query-pim is supported only for VeraCrypt compatible "
+"devices."
 msgstr ""
 
-#: src/cryptsetup.c:2905
-#, c-format
+#: src/cryptsetup.c:2995
 msgid ""
-"Adjusting --reduce-device-size value to twice the --offset %<PRIu64> "
-"(sectors).\n"
+"The options --veracrypt-pim and --veracrypt-query-pim are mutually exclusive."
 msgstr ""
 
-#: src/cryptsetup.c:2909
-msgid "Encryption is supported only for LUKS2 format."
+#: src/cryptsetup.c:3004
+msgid "Option --persistent is not allowed with --test-passphrase."
 msgstr ""
 
-#: src/cryptsetup.c:2932
-#, c-format
-msgid ""
-"Detected LUKS device on %s. Do you want to encrypt that LUKS device again?"
+#: src/cryptsetup.c:3007
+msgid "Options --refresh and --test-passphrase are mutually exclusive."
 msgstr ""
 
-#: src/cryptsetup.c:2950
-#, c-format
-msgid "Temporary header file %s already exists. Aborting."
+#: src/cryptsetup.c:3010
+msgid "Option --shared is allowed only for open of plain device."
 msgstr ""
 
-#: src/cryptsetup.c:2952 src/cryptsetup.c:2959
-#, c-format
-msgid "Cannot create temporary header file %s."
+#: src/cryptsetup.c:3013
+msgid "Option --skip is supported only for open of plain and loopaes devices."
 msgstr ""
 
-#: src/cryptsetup.c:3026
-#, c-format
-msgid "%s/%s is now active and ready for online encryption.\n"
+#: src/cryptsetup.c:3016
+msgid ""
+"Option --offset with open action is only supported for plain and loopaes "
+"devices."
 msgstr ""
 
-#: src/cryptsetup.c:3063
-msgid "LUKS2 decryption is supported with detached header device only."
+#: src/cryptsetup.c:3019
+msgid "Option --tcrypt-hidden cannot be combined with --allow-discards."
 msgstr ""
 
-#: src/cryptsetup.c:3196 src/cryptsetup.c:3202
-msgid "Not enough free keyslots for reencryption."
+#: src/cryptsetup.c:3023
+msgid ""
+"Sector size option with open action is supported only for plain devices."
 msgstr ""
 
-#: src/cryptsetup.c:3222 src/cryptsetup_reencrypt.c:1312
+#: src/cryptsetup.c:3027
 msgid ""
-"Key file can be used only with --key-slot or with exactly one key slot "
-"active."
+"Large IV sectors option is supported only for opening plain type device with "
+"sector size larger than 512 bytes."
 msgstr ""
 
-#: src/cryptsetup.c:3231 src/cryptsetup_reencrypt.c:1359
-#: src/cryptsetup_reencrypt.c:1370
-#, c-format
-msgid "Enter passphrase for key slot %d: "
+#: src/cryptsetup.c:3032
+msgid ""
+"Option --test-passphrase is allowed only for open of LUKS, TCRYPT, BITLK and "
+"FVAULT2 devices."
 msgstr ""
 
-#: src/cryptsetup.c:3240
-#, c-format
-msgid "Enter passphrase for key slot %u: "
+#: src/cryptsetup.c:3035 src/cryptsetup.c:3058
+msgid "Options --device-size and --size cannot be combined."
 msgstr ""
 
-#: src/cryptsetup.c:3286
-#, c-format
-msgid "Switching data encryption cipher to %s.\n"
+#: src/cryptsetup.c:3038
+msgid "Option --unbound is allowed only for open of luks device."
 msgstr ""
 
-#: src/cryptsetup.c:3419
-msgid "Command requires device as argument."
+#: src/cryptsetup.c:3041
+msgid "Option --unbound cannot be used without --test-passphrase."
 msgstr ""
 
-#: src/cryptsetup.c:3441
+#: src/cryptsetup.c:3050 src/veritysetup.c:668 src/integritysetup.c:755
 msgid ""
-"Only LUKS2 format is currently supported. Please use cryptsetup-reencrypt "
-"tool for LUKS1."
+"Options --cancel-deferred and --deferred cannot be used at the same time."
 msgstr ""
 
-#: src/cryptsetup.c:3453
-msgid ""
-"Legacy offline reencryption already in-progress. Use cryptsetup-reencrypt "
-"utility."
+#: src/cryptsetup.c:3066
+msgid "Options --reduce-device-size and --data-size cannot be combined."
 msgstr ""
 
-#: src/cryptsetup.c:3463 src/cryptsetup_reencrypt.c:196
-msgid "Reencryption of device with integrity profile is not supported."
+#: src/cryptsetup.c:3069
+msgid "Option --active-name can be set only for LUKS2 device."
 msgstr ""
 
-#: src/cryptsetup.c:3471
-msgid "LUKS2 reencryption already initialized. Aborting operation."
+#: src/cryptsetup.c:3072
+msgid "Options --active-name and --force-offline-reencrypt cannot be combined."
 msgstr ""
 
-#: src/cryptsetup.c:3475
-msgid "LUKS2 device is not in 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:3091
+msgid ""
+"Option --integrity-no-wipe can be used only for format action with integrity "
+"extension."
+msgstr ""
+
+#: src/cryptsetup.c:3094
+msgid "Only one of --use-[u]random options is allowed."
+msgstr ""
+
+#: src/cryptsetup.c:3102
+msgid "Key size is required with --unbound option."
+msgstr ""
+
+#: src/cryptsetup.c:3122
+msgid "Invalid token action."
+msgstr ""
+
+#: src/cryptsetup.c:3125
+msgid "--key-description parameter is mandatory for token add action."
+msgstr ""
+
+#: src/cryptsetup.c:3129 src/cryptsetup.c:3142
+msgid "Action requires specific token. Use --token-id parameter."
+msgstr ""
+
+#: src/cryptsetup.c:3133
+msgid "Option --unbound is valid only with token add action."
+msgstr ""
+
+#: src/cryptsetup.c:3135
+msgid "Options --key-slot and --unbound cannot be combined."
+msgstr ""
+
+#: src/cryptsetup.c:3140
+msgid "Action requires specific keyslot. Use --key-slot parameter."
 msgstr ""
 
-#: src/cryptsetup.c:3502
+#: src/cryptsetup.c:3156
 msgid "<device> [--type <type>] [<name>]"
 msgstr ""
 
-#: src/cryptsetup.c:3502 src/veritysetup.c:408 src/integritysetup.c:493
+#: src/cryptsetup.c:3156 src/veritysetup.c:491 src/integritysetup.c:535
 msgid "open device as <name>"
 msgstr ""
 
-#: src/cryptsetup.c:3503 src/cryptsetup.c:3504 src/cryptsetup.c:3505
-#: src/veritysetup.c:409 src/veritysetup.c:410 src/integritysetup.c:494
-#: src/integritysetup.c:495
+#: 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:3503 src/veritysetup.c:409 src/integritysetup.c:494
+#: src/cryptsetup.c:3157 src/veritysetup.c:492 src/integritysetup.c:536
 msgid "close device (remove mapping)"
 msgstr ""
 
-#: src/cryptsetup.c:3504
+#: src/cryptsetup.c:3158 src/integritysetup.c:539
 msgid "resize active device"
 msgstr ""
 
-#: src/cryptsetup.c:3505
+#: src/cryptsetup.c:3159
 msgid "show device status"
 msgstr ""
 
-#: src/cryptsetup.c:3506
+#: src/cryptsetup.c:3160
 msgid "[--cipher <cipher>]"
 msgstr ""
 
-#: src/cryptsetup.c:3506
+#: src/cryptsetup.c:3160
 msgid "benchmark cipher"
 msgstr ""
 
-#: src/cryptsetup.c:3507 src/cryptsetup.c:3508 src/cryptsetup.c:3509
-#: src/cryptsetup.c:3510 src/cryptsetup.c:3511 src/cryptsetup.c:3518
-#: src/cryptsetup.c:3519 src/cryptsetup.c:3520 src/cryptsetup.c:3521
-#: src/cryptsetup.c:3522 src/cryptsetup.c:3523 src/cryptsetup.c:3524
-#: src/cryptsetup.c:3525 src/cryptsetup.c:3526
+#: 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:3507
+#: src/cryptsetup.c:3161
 msgid "try to repair on-disk metadata"
 msgstr ""
 
-#: src/cryptsetup.c:3508
+#: src/cryptsetup.c:3162
 msgid "reencrypt LUKS2 device"
 msgstr ""
 
-#: src/cryptsetup.c:3509
+#: src/cryptsetup.c:3163
 msgid "erase all keyslots (remove encryption key)"
 msgstr ""
 
-#: src/cryptsetup.c:3510
+#: src/cryptsetup.c:3164
 msgid "convert LUKS from/to LUKS2 format"
 msgstr ""
 
-#: src/cryptsetup.c:3511
+#: src/cryptsetup.c:3165
 msgid "set permanent configuration options for LUKS2"
 msgstr ""
 
-#: src/cryptsetup.c:3512 src/cryptsetup.c:3513
+#: src/cryptsetup.c:3166 src/cryptsetup.c:3167
 msgid "<device> [<new key file>]"
 msgstr ""
 
-#: src/cryptsetup.c:3512
+#: src/cryptsetup.c:3166
 msgid "formats a LUKS device"
 msgstr ""
 
-#: src/cryptsetup.c:3513
+#: src/cryptsetup.c:3167
 msgid "add key to LUKS device"
 msgstr ""
 
-#: src/cryptsetup.c:3514 src/cryptsetup.c:3515 src/cryptsetup.c:3516
+#: src/cryptsetup.c:3168 src/cryptsetup.c:3169 src/cryptsetup.c:3170
 msgid "<device> [<key file>]"
 msgstr ""
 
-#: src/cryptsetup.c:3514
+#: src/cryptsetup.c:3168
 msgid "removes supplied key or key file from LUKS device"
 msgstr ""
 
-#: src/cryptsetup.c:3515
+#: src/cryptsetup.c:3169
 msgid "changes supplied key or key file of LUKS device"
 msgstr ""
 
-#: src/cryptsetup.c:3516
+#: src/cryptsetup.c:3170
 msgid "converts a key to new pbkdf parameters"
 msgstr ""
 
-#: src/cryptsetup.c:3517
+#: src/cryptsetup.c:3171
 msgid "<device> <key slot>"
 msgstr ""
 
-#: src/cryptsetup.c:3517
+#: src/cryptsetup.c:3171
 msgid "wipes key with number <key slot> from LUKS device"
 msgstr ""
 
-#: src/cryptsetup.c:3518
+#: src/cryptsetup.c:3172
 msgid "print UUID of LUKS device"
 msgstr ""
 
-#: src/cryptsetup.c:3519
+#: src/cryptsetup.c:3173
 msgid "tests <device> for LUKS partition header"
 msgstr ""
 
-#: src/cryptsetup.c:3520
+#: src/cryptsetup.c:3174
 msgid "dump LUKS partition information"
 msgstr ""
 
-#: src/cryptsetup.c:3521
+#: src/cryptsetup.c:3175
 msgid "dump TCRYPT device information"
 msgstr ""
 
-#: src/cryptsetup.c:3522
+#: src/cryptsetup.c:3176
 msgid "dump BITLK device information"
 msgstr ""
 
-#: src/cryptsetup.c:3523
+#: 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:3524
+#: src/cryptsetup.c:3179
 msgid "Resume suspended LUKS device"
 msgstr ""
 
-#: src/cryptsetup.c:3525
+#: src/cryptsetup.c:3180
 msgid "Backup LUKS device header and keyslots"
 msgstr ""
 
-#: src/cryptsetup.c:3526
+#: src/cryptsetup.c:3181
 msgid "Restore LUKS device header and keyslots"
 msgstr ""
 
-#: src/cryptsetup.c:3527
+#: src/cryptsetup.c:3182
 msgid "<add|remove|import|export> <device>"
 msgstr ""
 
-#: src/cryptsetup.c:3527
+#: src/cryptsetup.c:3182
 msgid "Manipulate LUKS2 tokens"
 msgstr ""
 
-#: src/cryptsetup.c:3545 src/veritysetup.c:426 src/integritysetup.c:511
+#: src/cryptsetup.c:3201 src/veritysetup.c:509 src/integritysetup.c:554
 msgid ""
 "\n"
 "<action> is one of:\n"
 msgstr ""
 
-#: src/cryptsetup.c:3551
+#: 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:3555
+#: src/cryptsetup.c:3211
 #, c-format
 msgid ""
 "\n"
@@ -2456,14 +2663,34 @@ msgid ""
 "<key file> optional key file for the new key for luksAddKey action\n"
 msgstr ""
 
-#: src/cryptsetup.c:3562
+#: src/cryptsetup.c:3218
 #, c-format
 msgid ""
 "\n"
 "Default compiled-in metadata format is %s (for luksFormat action).\n"
 msgstr ""
 
-#: src/cryptsetup.c:3567
+#: 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"
@@ -2475,7 +2702,7 @@ msgid ""
 "\tIteration time: %d, Memory required: %dkB, Parallel threads: %d\n"
 msgstr ""
 
-#: src/cryptsetup.c:3578
+#: src/cryptsetup.c:3241
 #, c-format
 msgid ""
 "\n"
@@ -2485,1530 +2712,1184 @@ msgid ""
 "\tLUKS: %s, Key: %d bits, LUKS header hashing: %s, RNG: %s\n"
 msgstr ""
 
-#: src/cryptsetup.c:3587
+#: src/cryptsetup.c:3250
 msgid ""
 "\tLUKS: Default keysize with XTS mode (two internal keys) will be doubled.\n"
 msgstr ""
 
-#: src/cryptsetup.c:3605 src/veritysetup.c:587 src/integritysetup.c:665
+#: src/cryptsetup.c:3268 src/veritysetup.c:648 src/integritysetup.c:711
 #, c-format
 msgid "%s: requires %s as arguments"
 msgstr ""
 
-#: src/cryptsetup.c:3637 src/veritysetup.c:472 src/integritysetup.c:553
-#: src/cryptsetup_reencrypt.c:1627
-msgid "Show this help message"
-msgstr ""
-
-#: src/cryptsetup.c:3638 src/veritysetup.c:473 src/integritysetup.c:554
-#: src/cryptsetup_reencrypt.c:1628
-msgid "Display brief usage"
-msgstr ""
-
-#: src/cryptsetup.c:3639 src/veritysetup.c:474 src/integritysetup.c:555
-#: src/cryptsetup_reencrypt.c:1629
-msgid "Print package version"
-msgstr ""
-
-#: src/cryptsetup.c:3643 src/veritysetup.c:478 src/integritysetup.c:559
-#: src/cryptsetup_reencrypt.c:1633
-msgid "Help options:"
+#: src/cryptsetup.c:3308 src/utils_reencrypt_luks1.c:1198
+msgid "Key slot is invalid."
 msgstr ""
 
-#: src/cryptsetup.c:3644 src/veritysetup.c:479 src/integritysetup.c:560
-#: src/cryptsetup_reencrypt.c:1634
-msgid "Shows more detailed error messages"
+#: src/cryptsetup.c:3335
+msgid "Device size must be multiple of 512 bytes sector."
 msgstr ""
 
-#: src/cryptsetup.c:3645 src/veritysetup.c:480 src/integritysetup.c:561
-#: src/cryptsetup_reencrypt.c:1635
-msgid "Show debug messages"
+#: src/cryptsetup.c:3340
+msgid "Invalid max reencryption hotzone size specification."
 msgstr ""
 
-#: src/cryptsetup.c:3646
-msgid "Show debug messages including JSON metadata"
+#: src/cryptsetup.c:3354 src/cryptsetup.c:3366
+msgid "Key size must be a multiple of 8 bits"
 msgstr ""
 
-#: src/cryptsetup.c:3647 src/cryptsetup_reencrypt.c:1637
-msgid "The cipher used to encrypt the disk (see /proc/crypto)"
+#: src/cryptsetup.c:3371
+msgid "Maximum device reduce size is 1 GiB."
 msgstr ""
 
-#: src/cryptsetup.c:3648 src/cryptsetup_reencrypt.c:1639
-msgid "The hash used to create the encryption key from the passphrase"
+#: src/cryptsetup.c:3374
+msgid "Reduce size must be multiple of 512 bytes sector."
 msgstr ""
 
-#: src/cryptsetup.c:3649
-msgid "Verifies the passphrase by asking for it twice"
+#: src/cryptsetup.c:3391
+msgid "Option --priority can be only ignore/normal/prefer."
 msgstr ""
 
-#: src/cryptsetup.c:3650 src/cryptsetup_reencrypt.c:1641
-msgid "Read the key from a file"
+#: src/cryptsetup.c:3410 src/veritysetup.c:572 src/integritysetup.c:634
+msgid "Show this help message"
 msgstr ""
 
-#: src/cryptsetup.c:3651
-msgid "Read the volume (master) key from file."
+#: src/cryptsetup.c:3411 src/veritysetup.c:573 src/integritysetup.c:635
+msgid "Display brief usage"
 msgstr ""
 
-#: src/cryptsetup.c:3652
-msgid "Dump volume (master) key instead of keyslots info"
+#: src/cryptsetup.c:3412 src/veritysetup.c:574 src/integritysetup.c:636
+msgid "Print package version"
 msgstr ""
 
-#: src/cryptsetup.c:3653 src/cryptsetup_reencrypt.c:1638
-msgid "The size of the encryption key"
+#: src/cryptsetup.c:3423 src/veritysetup.c:585 src/integritysetup.c:647
+msgid "Help options:"
 msgstr ""
 
-#: src/cryptsetup.c:3653 src/cryptsetup.c:3716 src/integritysetup.c:579
-#: src/integritysetup.c:583 src/integritysetup.c:587
-#: src/cryptsetup_reencrypt.c:1638
-msgid "BITS"
+#: src/cryptsetup.c:3443 src/veritysetup.c:603 src/integritysetup.c:664
+msgid "[OPTION...] <action> <action-specific>"
 msgstr ""
 
-#: src/cryptsetup.c:3654 src/cryptsetup_reencrypt.c:1654
-msgid "Limits the read from keyfile"
+#: src/cryptsetup.c:3452 src/veritysetup.c:612 src/integritysetup.c:675
+msgid "Argument <action> missing."
 msgstr ""
 
-#: src/cryptsetup.c:3654 src/cryptsetup.c:3655 src/cryptsetup.c:3656
-#: src/cryptsetup.c:3657 src/cryptsetup.c:3660 src/cryptsetup.c:3713
-#: src/cryptsetup.c:3714 src/cryptsetup.c:3722 src/cryptsetup.c:3723
-#: src/veritysetup.c:483 src/veritysetup.c:484 src/veritysetup.c:485
-#: src/veritysetup.c:488 src/veritysetup.c:489 src/integritysetup.c:568
-#: src/integritysetup.c:574 src/integritysetup.c:575
-#: src/cryptsetup_reencrypt.c:1653 src/cryptsetup_reencrypt.c:1654
-#: src/cryptsetup_reencrypt.c:1655 src/cryptsetup_reencrypt.c:1656
-msgid "bytes"
+#: src/cryptsetup.c:3528 src/veritysetup.c:643 src/integritysetup.c:706
+msgid "Unknown action."
 msgstr ""
 
-#: src/cryptsetup.c:3655 src/cryptsetup_reencrypt.c:1653
-msgid "Number of bytes to skip in keyfile"
+#: src/cryptsetup.c:3546
+msgid "Option --key-file takes precedence over specified key file argument."
 msgstr ""
 
-#: src/cryptsetup.c:3656
-msgid "Limits the read from newly added keyfile"
+#: src/cryptsetup.c:3552
+msgid "Only one --key-file argument is allowed."
 msgstr ""
 
-#: src/cryptsetup.c:3657
-msgid "Number of bytes to skip in newly added keyfile"
+#: src/cryptsetup.c:3557
+msgid ""
+"Password-based key derivation function (PBKDF) can be only pbkdf2 or argon2i/"
+"argon2id."
 msgstr ""
 
-#: src/cryptsetup.c:3658
-msgid "Slot number for new key (default is first free)"
+#: src/cryptsetup.c:3562
+msgid "PBKDF forced iterations cannot be combined with iteration time option."
 msgstr ""
 
-#: src/cryptsetup.c:3659
-msgid "The size of the device"
+#: src/cryptsetup.c:3573
+msgid "Options --keyslot-cipher and --keyslot-key-size must be used together."
 msgstr ""
 
-#: src/cryptsetup.c:3659 src/cryptsetup.c:3661 src/cryptsetup.c:3662
-#: src/cryptsetup.c:3668 src/integritysetup.c:569 src/integritysetup.c:576
-msgid "SECTORS"
+#: src/cryptsetup.c:3581
+msgid "No action taken. Invoked with --test-args option.\n"
 msgstr ""
 
-#: src/cryptsetup.c:3660 src/cryptsetup_reencrypt.c:1656
-msgid "Use only specified device size (ignore rest of device). DANGEROUS!"
+#: src/cryptsetup.c:3594
+msgid "Cannot disable metadata locking."
 msgstr ""
 
-#: src/cryptsetup.c:3661
-msgid "The start offset in the backend device"
+#: src/veritysetup.c:54
+msgid "Invalid salt string specified."
 msgstr ""
 
-#: src/cryptsetup.c:3662
-msgid "How many sectors of the encrypted data to skip at the beginning"
+#: src/veritysetup.c:87
+#, c-format
+msgid "Cannot create hash image %s for writing."
 msgstr ""
 
-#: src/cryptsetup.c:3663
-msgid "Create a readonly mapping"
+#: src/veritysetup.c:97
+#, c-format
+msgid "Cannot create FEC image %s for writing."
 msgstr ""
 
-#: src/cryptsetup.c:3664 src/integritysetup.c:562
-#: src/cryptsetup_reencrypt.c:1644
-msgid "Do not ask for confirmation"
+#: src/veritysetup.c:136
+#, c-format
+msgid "Cannot create root hash file %s for writing."
 msgstr ""
 
-#: src/cryptsetup.c:3665
-msgid "Timeout for interactive passphrase prompt (in seconds)"
+#: src/veritysetup.c:143
+#, c-format
+msgid "Cannot write to root hash file %s."
 msgstr ""
 
-#: src/cryptsetup.c:3665 src/cryptsetup.c:3666 src/integritysetup.c:563
-#: src/cryptsetup_reencrypt.c:1645
-msgid "secs"
+#: src/veritysetup.c:198 src/veritysetup.c:476
+#, c-format
+msgid "Device %s is not a valid VERITY device."
 msgstr ""
 
-#: src/cryptsetup.c:3666 src/integritysetup.c:563
-#: src/cryptsetup_reencrypt.c:1645
-msgid "Progress line update (in seconds)"
+#: src/veritysetup.c:215 src/veritysetup.c:232
+#, c-format
+msgid "Cannot read root hash file %s."
 msgstr ""
 
-#: src/cryptsetup.c:3667 src/cryptsetup_reencrypt.c:1646
-msgid "How often the input of the passphrase can be retried"
+#: src/veritysetup.c:220
+#, c-format
+msgid "Invalid root hash file %s."
 msgstr ""
 
-#: src/cryptsetup.c:3668
-msgid "Align payload at <n> sector boundaries - for luksFormat"
+#: src/veritysetup.c:241
+msgid "Invalid root hash string specified."
 msgstr ""
 
-#: src/cryptsetup.c:3669
-msgid "File with LUKS header and keyslots backup"
+#: src/veritysetup.c:249
+#, c-format
+msgid "Invalid signature file %s."
 msgstr ""
 
-#: src/cryptsetup.c:3670 src/cryptsetup_reencrypt.c:1647
-msgid "Use /dev/random for generating volume key"
+#: src/veritysetup.c:256
+#, c-format
+msgid "Cannot read signature file %s."
 msgstr ""
 
-#: src/cryptsetup.c:3671 src/cryptsetup_reencrypt.c:1648
-msgid "Use /dev/urandom for generating volume key"
+#: src/veritysetup.c:279 src/veritysetup.c:293
+msgid "Command requires <root_hash> or --root-hash-file option as argument."
 msgstr ""
 
-#: src/cryptsetup.c:3672
-msgid "Share device with another non-overlapping crypt segment"
+#: src/veritysetup.c:489
+msgid "<data_device> <hash_device>"
 msgstr ""
 
-#: src/cryptsetup.c:3673 src/veritysetup.c:492
-msgid "UUID for device to use"
+#: src/veritysetup.c:489 src/integritysetup.c:534
+msgid "format device"
 msgstr ""
 
-#: src/cryptsetup.c:3674 src/integritysetup.c:599
-msgid "Allow discards (aka TRIM) requests for device"
+#: src/veritysetup.c:490
+msgid "<data_device> <hash_device> [<root_hash>]"
 msgstr ""
 
-#: src/cryptsetup.c:3675 src/cryptsetup_reencrypt.c:1665
-msgid "Device or file with separated LUKS header"
+#: src/veritysetup.c:490
+msgid "verify device"
 msgstr ""
 
-#: src/cryptsetup.c:3676
-msgid "Do not activate device, just check passphrase"
+#: src/veritysetup.c:491
+msgid "<data_device> <name> <hash_device> [<root_hash>]"
 msgstr ""
 
-#: src/cryptsetup.c:3677
-msgid "Use hidden header (hidden TCRYPT device)"
+#: src/veritysetup.c:493 src/integritysetup.c:537
+msgid "show active device status"
 msgstr ""
 
-#: src/cryptsetup.c:3678
-msgid "Device is system TCRYPT drive (with bootloader)"
+#: src/veritysetup.c:494
+msgid "<hash_device>"
 msgstr ""
 
-#: src/cryptsetup.c:3679
-msgid "Use backup (secondary) TCRYPT header"
+#: src/veritysetup.c:494 src/integritysetup.c:538
+msgid "show on-disk information"
 msgstr ""
 
-#: src/cryptsetup.c:3680
-msgid "Scan also for VeraCrypt compatible 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:3681
-msgid "Personal Iteration Multiplier for VeraCrypt compatible device"
+#: 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:3682
-msgid "Query Personal Iteration Multiplier for VeraCrypt compatible device"
+#: src/veritysetup.c:658
+msgid ""
+"Option --ignore-corruption and --restart-on-corruption cannot be used "
+"together."
 msgstr ""
 
-#: src/cryptsetup.c:3683
+#: src/veritysetup.c:663
 msgid ""
-"Type of device metadata: luks, luks1, luks2, plain, loopaes, tcrypt, bitlk"
+"Option --panic-on-corruption and --restart-on-corruption cannot be used "
+"together."
 msgstr ""
 
-#: src/cryptsetup.c:3684
-msgid "Disable password quality check (if enabled)"
+#: 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:3685
-msgid "Use dm-crypt same_cpu_crypt performance compatibility option"
+#: src/integritysetup.c:212
+#, c-format
+msgid "Formatted with tag size %u, internal integrity %s.\n"
 msgstr ""
 
-#: src/cryptsetup.c:3686
-msgid "Use dm-crypt submit_from_crypt_cpus performance compatibility option"
+#: src/integritysetup.c:289
+msgid ""
+"Setting recalculate flag is not supported, you may consider using --wipe "
+"instead."
 msgstr ""
 
-#: src/cryptsetup.c:3687
-msgid "Bypass dm-crypt workqueue and process read requests synchronously"
+#: src/integritysetup.c:364 src/integritysetup.c:521
+#, c-format
+msgid "Device %s is not a valid INTEGRITY device."
 msgstr ""
 
-#: src/cryptsetup.c:3688
-msgid "Bypass dm-crypt workqueue and process write requests synchronously"
+#: src/integritysetup.c:534 src/integritysetup.c:538
+msgid "<integrity_device>"
 msgstr ""
 
-#: src/cryptsetup.c:3689
-msgid "Device removal is deferred until the last user closes it"
+#: src/integritysetup.c:535
+msgid "<integrity_device> <name>"
 msgstr ""
 
-#: src/cryptsetup.c:3690
-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:3691
-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:3691 src/cryptsetup_reencrypt.c:1643
-msgid "msecs"
+#: src/integritysetup.c:620
+#, c-format
+msgid "Invalid --%s size. Maximum is %u bytes."
 msgstr ""
 
-#: src/cryptsetup.c:3692 src/cryptsetup_reencrypt.c:1661
-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:3693 src/cryptsetup_reencrypt.c:1662
-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:3693 src/cryptsetup_reencrypt.c:1662
-msgid "kilobytes"
+#: src/integritysetup.c:727
+msgid ""
+"Journal integrity algorithm must be specified if journal integrity key is "
+"used."
 msgstr ""
 
-#: src/cryptsetup.c:3694 src/cryptsetup_reencrypt.c:1663
-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:3694 src/cryptsetup_reencrypt.c:1663
-msgid "threads"
+#: src/integritysetup.c:734
+msgid ""
+"Journal encryption algorithm must be specified if journal encryption key is "
+"used."
 msgstr ""
 
-#: src/cryptsetup.c:3695 src/cryptsetup_reencrypt.c:1664
-msgid "PBKDF iterations cost (forced, disables benchmark)"
+#: src/integritysetup.c:738
+msgid "Recovery and bitmap mode options are mutually exclusive."
 msgstr ""
 
-#: src/cryptsetup.c:3696
-msgid "Keyslot priority: ignore, normal, prefer"
+#: src/integritysetup.c:745
+msgid "Journal options cannot be used in bitmap mode."
 msgstr ""
 
-#: src/cryptsetup.c:3697
-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:3698
-msgid "Disable loading volume keys via kernel keyring"
+#: src/utils_tools.c:118
+msgid ""
+"\n"
+"WARNING!\n"
+"========\n"
 msgstr ""
 
-#: src/cryptsetup.c:3699
-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:3700 src/integritysetup.c:590
-msgid "Disable journal for integrity device"
+#: src/utils_tools.c:126
+msgid "Error reading response from terminal."
 msgstr ""
 
-#: src/cryptsetup.c:3701 src/integritysetup.c:564
-msgid "Do not wipe device after format"
+#: src/utils_tools.c:158
+msgid "Command successful."
 msgstr ""
 
-#: src/cryptsetup.c:3702 src/integritysetup.c:594
-msgid "Use inefficient legacy padding (old kernels)"
+#: src/utils_tools.c:166
+msgid "wrong or missing parameters"
 msgstr ""
 
-#: src/cryptsetup.c:3703
-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:3704
-msgid "Token number (default: any)"
+#: src/utils_tools.c:170
+msgid "out of memory"
 msgstr ""
 
-#: src/cryptsetup.c:3705
-msgid "Key description"
+#: src/utils_tools.c:172
+msgid "wrong device or file specified"
 msgstr ""
 
-#: src/cryptsetup.c:3706
-msgid "Encryption sector size (default: 512 bytes)"
+#: src/utils_tools.c:174
+msgid "device already exists or device is busy"
 msgstr ""
 
-#: src/cryptsetup.c:3707
-msgid "Use IV counted in sector size (not in 512 bytes)"
+#: src/utils_tools.c:176
+msgid "unknown error"
 msgstr ""
 
-#: src/cryptsetup.c:3708
-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:3709
-msgid "Set label for the LUKS2 device"
+#: src/utils_tools.c:256
+#, c-format
+msgid "Key slot %i created."
 msgstr ""
 
-#: src/cryptsetup.c:3710
-msgid "Set subsystem label for the LUKS2 device"
+#: src/utils_tools.c:258
+#, c-format
+msgid "Key slot %i unlocked."
 msgstr ""
 
-#: src/cryptsetup.c:3711
-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:3712
-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:3713
-msgid "LUKS2 header metadata area size"
+#: src/utils_tools.c:271
+#, c-format
+msgid "Token %i removed."
 msgstr ""
 
-#: src/cryptsetup.c:3714
-msgid "LUKS2 header keyslots area size"
+#: src/utils_tools.c:281
+msgid "No token could be unlocked with this PIN."
 msgstr ""
 
-#: src/cryptsetup.c:3715
-msgid "Refresh (reactivate) device with new parameters"
+#: src/utils_tools.c:283
+#, c-format
+msgid "Token %i requires PIN."
 msgstr ""
 
-#: src/cryptsetup.c:3716
-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:3717
-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:3718
-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:3719
-msgid "Decrypt LUKS2 device (remove encryption)."
+#: src/utils_tools.c:293
+#, c-format
+msgid "Token %i requires additional missing resource."
 msgstr ""
 
-#: src/cryptsetup.c:3720
-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:3721
-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:3722 src/cryptsetup_reencrypt.c:1655
-msgid "Reduce data device size (move data offset). DANGEROUS!"
+#: src/utils_tools.c:300
+msgid "No usable token is available."
 msgstr ""
 
-#: src/cryptsetup.c:3723
-msgid "Maximal reencryption hotzone size."
+#: src/utils_tools.c:393
+#, c-format
+msgid "Cannot read keyfile %s."
 msgstr ""
 
-#: src/cryptsetup.c:3724
-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:3725
-msgid "Reencryption hotzone checksums hash"
+#: src/utils_tools.c:423
+#, c-format
+msgid "Cannot open keyfile %s for write."
 msgstr ""
 
-#: src/cryptsetup.c:3726
-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:3742 src/veritysetup.c:515 src/integritysetup.c:615
-msgid "[OPTION...] <action> <action-specific>"
+#: src/utils_progress.c:74
+#, c-format
+msgid "%02<PRIu64>m%02<PRIu64>s"
 msgstr ""
 
-#: src/cryptsetup.c:3797 src/veritysetup.c:551 src/integritysetup.c:626
-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:3867 src/veritysetup.c:582 src/integritysetup.c:660
-msgid "Unknown action."
+#: src/utils_progress.c:78
+#, c-format
+msgid "%02<PRIu64> days"
 msgstr ""
 
-#: src/cryptsetup.c:3877
-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:3882
-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:3887
-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:3892 src/integritysetup.c:677
-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:3897
-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:3902
+#: src/utils_password.c:49
+#, c-format
 msgid ""
-"Option --serialize-memory-hard-pbkdf is allowed only for open operation."
+"Password quality check failed:\n"
+" %s"
 msgstr ""
 
-#: src/cryptsetup.c:3907
-msgid "Option --persistent is not allowed with --test-passphrase."
+#: src/utils_password.c:79
+#, c-format
+msgid "Password quality check failed: Bad passphrase (%s)"
 msgstr ""
 
-#: src/cryptsetup.c:3917
-msgid ""
-"Option --key-size is allowed only for luksFormat, luksAddKey,\n"
-"open and benchmark actions. To limit read from keyfile use --keyfile-"
-"size=(bytes)."
+#: src/utils_password.c:230 src/utils_password.c:244
+msgid "Error reading passphrase from terminal."
 msgstr ""
 
-#: src/cryptsetup.c:3923
-msgid "Option --integrity is allowed only for luksFormat (LUKS2)."
+#: src/utils_password.c:242
+msgid "Verify passphrase: "
 msgstr ""
 
-#: src/cryptsetup.c:3928
-msgid ""
-"Option --integrity-no-wipe can be used only for format action with integrity "
-"extension."
+#: src/utils_password.c:249
+msgid "Passphrases do not match."
 msgstr ""
 
-#: src/cryptsetup.c:3934
-msgid ""
-"Options --label and --subsystem are allowed only for luksFormat and config "
-"LUKS2 operations."
+#: src/utils_password.c:287
+msgid "Cannot use offset with terminal input."
 msgstr ""
 
-#: src/cryptsetup.c:3940
-msgid ""
-"Option --test-passphrase is allowed only for open of LUKS, TCRYPT and BITLK "
-"devices."
+#: src/utils_password.c:291
+#, c-format
+msgid "Enter passphrase: "
 msgstr ""
 
-#: src/cryptsetup.c:3945 src/cryptsetup_reencrypt.c:1728
-msgid "Key size must be a multiple of 8 bits"
+#: src/utils_password.c:294
+#, c-format
+msgid "Enter passphrase for %s: "
 msgstr ""
 
-#: src/cryptsetup.c:3951 src/cryptsetup_reencrypt.c:1412
-#: src/cryptsetup_reencrypt.c:1733
-msgid "Key slot is invalid."
+#: src/utils_password.c:328
+msgid "No key available with this passphrase."
 msgstr ""
 
-#: src/cryptsetup.c:3958
-msgid "Option --key-file takes precedence over specified key file argument."
+#: src/utils_password.c:330
+msgid "No usable keyslot is available."
 msgstr ""
 
-#: src/cryptsetup.c:3965 src/veritysetup.c:594 src/integritysetup.c:686
-#: src/cryptsetup_reencrypt.c:1707
-msgid "Negative number for option not permitted."
+#: src/utils_luks.c:67
+msgid "Can't do passphrase verification on non-tty inputs."
 msgstr ""
 
-#: src/cryptsetup.c:3969
-msgid "Only one --key-file argument is allowed."
+#: src/utils_luks.c:182
+#, c-format
+msgid "Failed to open file %s in read-only mode."
 msgstr ""
 
-#: src/cryptsetup.c:3973 src/cryptsetup_reencrypt.c:1699
-#: src/cryptsetup_reencrypt.c:1737
-msgid "Only one of --use-[u]random options is allowed."
+#: src/utils_luks.c:195
+msgid "Provide valid LUKS2 token JSON:\n"
 msgstr ""
 
-#: src/cryptsetup.c:3977
-msgid "Option --use-[u]random is allowed only for luksFormat."
+#: src/utils_luks.c:202
+msgid "Failed to read JSON file."
 msgstr ""
 
-#: src/cryptsetup.c:3981
-msgid "Option --uuid is allowed only for luksFormat and luksUUID."
+#: src/utils_luks.c:207
+msgid ""
+"\n"
+"Read interrupted."
 msgstr ""
 
-#: src/cryptsetup.c:3985
-msgid "Option --align-payload is allowed only for luksFormat."
+#: src/utils_luks.c:248
+#, c-format
+msgid "Failed to open file %s in write mode."
 msgstr ""
 
-#: src/cryptsetup.c:3989
+#: src/utils_luks.c:257
 msgid ""
-"Options --luks2-metadata-size and --opt-luks2-keyslots-size are allowed only "
-"for luksFormat with LUKS2."
+"\n"
+"Write interrupted."
 msgstr ""
 
-#: src/cryptsetup.c:3994
-msgid "Invalid LUKS2 metadata size specification."
+#: src/utils_luks.c:261
+msgid "Failed to write JSON file."
 msgstr ""
 
-#: src/cryptsetup.c:3998
-msgid "Invalid LUKS2 keyslots size specification."
+#: src/utils_reencrypt.c:120
+#, c-format
+msgid "Auto-detected active dm device '%s' for data device %s.\n"
 msgstr ""
 
-#: src/cryptsetup.c:4002
-msgid "Options --align-payload and --offset cannot be combined."
+#: src/utils_reencrypt.c:124
+#, c-format
+msgid "Failed to auto-detect device %s holders."
 msgstr ""
 
-#: src/cryptsetup.c:4008
-msgid "Option --skip is supported only for open of plain and loopaes devices."
+#: src/utils_reencrypt.c:130
+#, c-format
+msgid "Device %s is not a block device.\n"
 msgstr ""
 
-#: src/cryptsetup.c:4015
+#: src/utils_reencrypt.c:132
+#, c-format
 msgid ""
-"Option --offset is supported only for open of plain and loopaes devices, "
-"luksFormat and device reencryption."
+"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:4021
+#: src/utils_reencrypt.c:141 src/utils_reencrypt.c:274
+#, c-format
 msgid ""
-"Option --tcrypt-hidden, --tcrypt-system or --tcrypt-backup is supported only "
-"for TCRYPT device."
+"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:4026
-msgid "Option --tcrypt-hidden cannot be combined with --allow-discards."
+#: src/utils_reencrypt.c:178 src/utils_reencrypt.c:221
+#: src/utils_reencrypt.c:231
+msgid ""
+"Requested --resilience option cannot be applied to current reencryption "
+"operation."
 msgstr ""
 
-#: src/cryptsetup.c:4031
-msgid "Option --veracrypt is supported only for TCRYPT device type."
+#: src/utils_reencrypt.c:203
+msgid "Device is not in LUKS2 encryption. Conflicting option --encrypt."
 msgstr ""
 
-#: src/cryptsetup.c:4037
-msgid "Invalid argument for parameter --veracrypt-pim supplied."
+#: src/utils_reencrypt.c:208
+msgid "Device is not in LUKS2 decryption. Conflicting option --decrypt."
 msgstr ""
 
-#: src/cryptsetup.c:4041
+#: src/utils_reencrypt.c:215
 msgid ""
-"Option --veracrypt-pim is supported only for VeraCrypt compatible devices."
+"Device is in reencryption using datashift resilience. Requested --resilience "
+"option cannot be applied."
 msgstr ""
 
-#: src/cryptsetup.c:4049
-msgid ""
-"Option --veracrypt-query-pim is supported only for VeraCrypt compatible "
-"devices."
+#: src/utils_reencrypt.c:293
+msgid "Device requires reencryption recovery. Run repair first."
 msgstr ""
 
-#: src/cryptsetup.c:4053
+#: src/utils_reencrypt.c:307
+#, c-format
 msgid ""
-"The options --veracrypt-pim and --veracrypt-query-pim are mutually exclusive."
+"Device %s is already in LUKS2 reencryption. Do you wish to resume previously "
+"initialised operation?"
 msgstr ""
 
-#: src/cryptsetup.c:4060
-msgid "Option --priority can be only ignore/normal/prefer."
+#: src/utils_reencrypt.c:353
+msgid "Legacy LUKS2 reencryption is no longer supported."
 msgstr ""
 
-#: src/cryptsetup.c:4065 src/cryptsetup.c:4103
-msgid "Keyslot specification is required."
+#: src/utils_reencrypt.c:418
+msgid "Reencryption of device with integrity profile is not supported."
 msgstr ""
 
-#: src/cryptsetup.c:4070 src/cryptsetup_reencrypt.c:1713
+#: src/utils_reencrypt.c:449
+#, c-format
 msgid ""
-"Password-based key derivation function (PBKDF) can be only pbkdf2 or argon2i/"
-"argon2id."
-msgstr ""
-
-#: src/cryptsetup.c:4075 src/cryptsetup_reencrypt.c:1718
-msgid "PBKDF forced iterations cannot be combined with iteration time option."
-msgstr ""
-
-#: src/cryptsetup.c:4081
-msgid "Sector size option is not supported for this command."
+"Requested --sector-size %<PRIu32> is incompatible with %s superblock\n"
+"(block size: %<PRIu32> bytes) detected on device %s."
 msgstr ""
 
-#: src/cryptsetup.c:4093
+#: src/utils_reencrypt.c:518 src/utils_reencrypt.c:1391
 msgid ""
-"Large IV sectors option is supported only for opening plain type device with "
-"sector size larger than 512 bytes."
-msgstr ""
-
-#: src/cryptsetup.c:4098
-msgid "Key size is required with --unbound option."
-msgstr ""
-
-#: src/cryptsetup.c:4108
-msgid "Option --unbound may be used only with luksAddKey and luksDump actions."
-msgstr ""
-
-#: src/cryptsetup.c:4113
-msgid "Option --refresh may be used only with open action."
-msgstr ""
-
-#: src/cryptsetup.c:4124
-msgid "Cannot disable metadata locking."
-msgstr ""
-
-#: src/cryptsetup.c:4135
-msgid "Invalid max reencryption hotzone size specification."
-msgstr ""
-
-#: src/cryptsetup.c:4143 src/cryptsetup_reencrypt.c:1742
-#: src/cryptsetup_reencrypt.c:1747
-msgid "Invalid device size specification."
-msgstr ""
-
-#: src/cryptsetup.c:4146
-msgid "Maximum device reduce size is 1 GiB."
-msgstr ""
-
-#: src/cryptsetup.c:4149 src/cryptsetup_reencrypt.c:1753
-msgid "Reduce size must be multiple of 512 bytes sector."
-msgstr ""
-
-#: src/cryptsetup.c:4154
-msgid "Invalid data size specification."
-msgstr ""
-
-#: src/cryptsetup.c:4159
-msgid "Reduce size overflow."
-msgstr ""
-
-#: src/cryptsetup.c:4163
-msgid "LUKS2 decryption requires option --header."
-msgstr ""
-
-#: src/cryptsetup.c:4167
-msgid "Device size must be multiple of 512 bytes sector."
-msgstr ""
-
-#: src/cryptsetup.c:4171
-msgid "Options --reduce-device-size and --data-size cannot be combined."
-msgstr ""
-
-#: src/cryptsetup.c:4175
-msgid "Options --device-size and --size cannot be combined."
+"Encryption without detached header (--header) is not possible without data "
+"device size reduction (--reduce-device-size)."
 msgstr ""
 
-#: src/cryptsetup.c:4179
-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:76
-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:107
+#: 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:117
+#: 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:191
-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:199
+#: 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:206
+#: src/utils_reencrypt.c:646
 #, c-format
-msgid "Cannot read signature file %s."
-msgstr ""
-
-#: src/veritysetup.c:406
-msgid "<data_device> <hash_device>"
-msgstr ""
-
-#: src/veritysetup.c:406 src/integritysetup.c:492
-msgid "format device"
-msgstr ""
-
-#: src/veritysetup.c:407
-msgid "<data_device> <hash_device> <root_hash>"
-msgstr ""
-
-#: src/veritysetup.c:407
-msgid "verify device"
-msgstr ""
-
-#: src/veritysetup.c:408
-msgid "<data_device> <name> <hash_device> <root_hash>"
-msgstr ""
-
-#: src/veritysetup.c:410 src/integritysetup.c:495
-msgid "show active device status"
+msgid "%s/%s is now active and ready for online encryption.\n"
 msgstr ""
 
-#: src/veritysetup.c:411
-msgid "<hash_device>"
+#: src/utils_reencrypt.c:682
+#, c-format
+msgid "Active device %s is not LUKS2."
 msgstr ""
 
-#: src/veritysetup.c:411 src/integritysetup.c:496
-msgid "show on-disk information"
+#: src/utils_reencrypt.c:710
+msgid "Restoring original LUKS2 header."
 msgstr ""
 
-#: src/veritysetup.c:430
-#, 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"
+#: src/utils_reencrypt.c:718
+msgid "Original LUKS2 header restore failed."
 msgstr ""
 
-#: src/veritysetup.c:437
+#: src/utils_reencrypt.c:744
 #, 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:481
-msgid "Do not use verity superblock"
-msgstr ""
-
-#: src/veritysetup.c:482
-msgid "Format type (1 - normal, 0 - original Chrome OS)"
-msgstr ""
-
-#: src/veritysetup.c:482
-msgid "number"
-msgstr ""
-
-#: src/veritysetup.c:483
-msgid "Block size on the data device"
-msgstr ""
-
-#: src/veritysetup.c:484
-msgid "Block size on the hash device"
-msgstr ""
-
-#: src/veritysetup.c:485
-msgid "FEC parity bytes"
-msgstr ""
-
-#: src/veritysetup.c:486
-msgid "The number of blocks in the data file"
-msgstr ""
-
-#: src/veritysetup.c:486
-msgid "blocks"
-msgstr ""
-
-#: src/veritysetup.c:487
-msgid "Path to device with error correction data"
-msgstr ""
-
-#: src/veritysetup.c:487 src/integritysetup.c:566
-msgid "path"
-msgstr ""
-
-#: src/veritysetup.c:488
-msgid "Starting offset on the hash device"
-msgstr ""
-
-#: src/veritysetup.c:489
-msgid "Starting offset on the FEC device"
-msgstr ""
-
-#: src/veritysetup.c:490
-msgid "Hash algorithm"
-msgstr ""
-
-#: src/veritysetup.c:490
-msgid "string"
-msgstr ""
-
-#: src/veritysetup.c:491
-msgid "Salt"
-msgstr ""
-
-#: src/veritysetup.c:491
-msgid "hex string"
-msgstr ""
-
-#: src/veritysetup.c:493
-msgid "Path to root hash signature file"
-msgstr ""
-
-#: src/veritysetup.c:494
-msgid "Restart kernel if corruption is detected"
+"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:495
-msgid "Panic kernel if corruption is detected"
+#: src/utils_reencrypt.c:792
+msgid "Failed to add read/write permissions to exported header file."
 msgstr ""
 
-#: src/veritysetup.c:496
-msgid "Ignore corruption, log it only"
-msgstr ""
-
-#: src/veritysetup.c:497
-msgid "Do not verify zeroed blocks"
-msgstr ""
-
-#: src/veritysetup.c:498
-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:600
+#: src/utils_reencrypt.c:873
 msgid ""
-"Option --ignore-corruption, --restart-on-corruption or --ignore-zero-blocks "
-"is allowed only for open operation."
-msgstr ""
-
-#: src/veritysetup.c:605
-msgid "Option --root-hash-signature can be used only for open operation."
+"LUKS2 decryption is supported with detached header device only (with data "
+"offset set to 0)."
 msgstr ""
 
-#: src/veritysetup.c:610
-msgid ""
-"Option --ignore-corruption and --restart-on-corruption cannot be used "
-"together."
+#: src/utils_reencrypt.c:1008 src/utils_reencrypt.c:1017
+msgid "Not enough free keyslots for reencryption."
 msgstr ""
 
-#: src/veritysetup.c:615
+#: src/utils_reencrypt.c:1038 src/utils_reencrypt_luks1.c:1100
 msgid ""
-"Option --panic-on-corruption and --restart-on-corruption cannot be used "
-"together."
-msgstr ""
-
-#: src/integritysetup.c:85
-#, c-format
-msgid "Invalid key size. Maximum is %u bytes."
+"Key file can be used only with --key-slot or with exactly one key slot "
+"active."
 msgstr ""
 
-#: src/integritysetup.c:95 src/utils_password.c:339
+#: 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:99 src/utils_password.c:344
+#: 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:266
+#: src/utils_reencrypt.c:1111
 #, c-format
-msgid "Formatted with tag size %u, internal integrity %s.\n"
-msgstr ""
-
-#: src/integritysetup.c:492 src/integritysetup.c:496
-msgid "<integrity_device>"
+msgid "Switching data encryption cipher to %s.\n"
 msgstr ""
 
-#: src/integritysetup.c:493
-msgid "<integrity_device> <name>"
+#: src/utils_reencrypt.c:1165
+msgid "No data segment parameters changed. Reencryption aborted."
 msgstr ""
 
-#: src/integritysetup.c:515
-#, 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:520
-#, 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"
-"\tMaximum keyfile size: %dkB\n"
-msgstr ""
-
-#: src/integritysetup.c:566
-msgid "Path to data device (if separated)"
-msgstr ""
-
-#: src/integritysetup.c:568
-msgid "Journal size"
-msgstr ""
-
-#: src/integritysetup.c:569
-msgid "Interleave sectors"
-msgstr ""
-
-#: src/integritysetup.c:570
-msgid "Journal watermark"
-msgstr ""
-
-#: src/integritysetup.c:570
-msgid "percent"
-msgstr ""
-
-#: src/integritysetup.c:571
-msgid "Journal commit time"
-msgstr ""
-
-#: src/integritysetup.c:571 src/integritysetup.c:573
-msgid "ms"
-msgstr ""
-
-#: src/integritysetup.c:572
-msgid "Number of 512-byte sectors per bit (bitmap mode)."
-msgstr ""
-
-#: src/integritysetup.c:573
-msgid "Bitmap mode flush time"
-msgstr ""
-
-#: src/integritysetup.c:574
-msgid "Tag size (per-sector)"
-msgstr ""
-
-#: src/integritysetup.c:575
-msgid "Sector size"
-msgstr ""
-
-#: src/integritysetup.c:576
-msgid "Buffers size"
-msgstr ""
-
-#: src/integritysetup.c:578
-msgid "Data integrity algorithm"
-msgstr ""
-
-#: src/integritysetup.c:579
-msgid "The size of the data integrity key"
-msgstr ""
-
-#: src/integritysetup.c:580
-msgid "Read the integrity key from a file"
-msgstr ""
-
-#: src/integritysetup.c:582
-msgid "Journal integrity algorithm"
-msgstr ""
-
-#: src/integritysetup.c:583
-msgid "The size of the journal integrity key"
-msgstr ""
-
-#: src/integritysetup.c:584
-msgid "Read the journal integrity key from a file"
-msgstr ""
-
-#: src/integritysetup.c:586
-msgid "Journal encryption algorithm"
-msgstr ""
-
-#: src/integritysetup.c:587
-msgid "The size of the journal encryption key"
-msgstr ""
-
-#: src/integritysetup.c:588
-msgid "Read the journal encryption key from a file"
-msgstr ""
-
-#: src/integritysetup.c:591
-msgid "Recovery mode (no journal, no tag checking)"
-msgstr ""
-
-#: src/integritysetup.c:592
-msgid "Use bitmap to track changes and disable journal for integrity device"
-msgstr ""
-
-#: src/integritysetup.c:593
-msgid "Recalculate initial tags automatically."
-msgstr ""
-
-#: src/integritysetup.c:596
-msgid "Do not protect superblock with HMAC (old kernels)"
-msgstr ""
-
-#: src/integritysetup.c:597
-msgid "Allow recalculating of volumes with HMAC keys (old kernels)"
+"Reencryption interrupted."
 msgstr ""
 
-#: src/integritysetup.c:672
-msgid "Option --integrity-recalculate can be used only for open action."
+#: src/utils_reencrypt.c:1312
+msgid "Resuming LUKS reencryption in forced offline mode.\n"
 msgstr ""
 
-#: src/integritysetup.c:692
-msgid ""
-"Options --journal-size, --interleave-sectors, --sector-size, --tag-size and "
-"--no-wipe can be used only for format action."
+#: src/utils_reencrypt.c:1329
+#, c-format
+msgid "Device %s contains broken LUKS metadata. Aborting operation."
 msgstr ""
 
-#: src/integritysetup.c:698
-msgid "Invalid journal size specification."
+#: 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:703
-msgid "Both key file and key size options must be specified."
+#: src/utils_reencrypt.c:1373
+#, c-format
+msgid "Device %s is already in LUKS reencryption. Aborting operation."
 msgstr ""
 
-#: src/integritysetup.c:708
-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:711
-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:716
-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:719
-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:723
-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:727
-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:731
-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:190
-msgid "Reencryption already in-progress."
+#: src/utils_reencrypt.c:1545
+msgid "Device reencryption not in progress."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:226
+#: 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:240 src/cryptsetup_reencrypt.c:1153
+#: src/utils_reencrypt_luks1.c:143 src/utils_reencrypt_luks1.c:945
 msgid "Allocation of aligned memory failed."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:247
+#: src/utils_reencrypt_luks1.c:150
 #, c-format
 msgid "Cannot read device %s."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:258
+#: src/utils_reencrypt_luks1.c:161
 #, c-format
 msgid "Marking LUKS1 device %s unusable."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:262
-#, c-format
-msgid "Setting LUKS2 offline reencrypt flag on device %s."
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:279
+#: src/utils_reencrypt_luks1.c:177
 #, c-format
 msgid "Cannot write device %s."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:327
+#: src/utils_reencrypt_luks1.c:226
 msgid "Cannot write reencryption log file."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:383
+#: src/utils_reencrypt_luks1.c:282
 msgid "Cannot read reencryption log file."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:421
+#: 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:470
+#: src/utils_reencrypt_luks1.c:369
 msgid "Activating temporary device using old LUKS header."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:480
+#: src/utils_reencrypt_luks1.c:379
 msgid "Activating temporary device using new LUKS header."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:490
+#: src/utils_reencrypt_luks1.c:389
 msgid "Activation of temporary devices failed."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:577
+#: src/utils_reencrypt_luks1.c:449
 msgid "Failed to set data offset."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:583
+#: src/utils_reencrypt_luks1.c:455
 msgid "Failed to set metadata size."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:591
+#: src/utils_reencrypt_luks1.c:463
 #, c-format
 msgid "New LUKS header for device %s created."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:651
-#, c-format
-msgid ""
-"This version of cryptsetup-reencrypt can't handle new internal token type %s."
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:673
-msgid "Failed to read activation flags from backup header."
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:677
-msgid "Failed to write activation flags to new header."
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:681 src/cryptsetup_reencrypt.c:685
-msgid "Failed to read requirements from backup header."
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:723
+#: src/utils_reencrypt_luks1.c:500
 #, c-format
 msgid "%s header backup of device %s created."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:786
+#: src/utils_reencrypt_luks1.c:556
 msgid "Creation of LUKS backup headers failed."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:919
+#: src/utils_reencrypt_luks1.c:685
 #, c-format
 msgid "Cannot restore %s header on device %s."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:921
+#: src/utils_reencrypt_luks1.c:687
 #, c-format
 msgid "%s header on device %s restored."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1125 src/cryptsetup_reencrypt.c:1131
+#: src/utils_reencrypt_luks1.c:917 src/utils_reencrypt_luks1.c:923
 msgid "Cannot open temporary LUKS device."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1136 src/cryptsetup_reencrypt.c:1141
+#: src/utils_reencrypt_luks1.c:928 src/utils_reencrypt_luks1.c:933
 msgid "Cannot get device size."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1176
+#: src/utils_reencrypt_luks1.c:968
 msgid "IO error during reencryption."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1207
+#: src/utils_reencrypt_luks1.c:998
 msgid "Provided UUID is invalid."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1441
+#: src/utils_reencrypt_luks1.c:1224
 msgid "Cannot open reencryption log file."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1447
+#: 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:1522
-#, c-format
-msgid "Changed pbkdf parameters in keyslot %i."
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1636
-msgid "Reencryption block size"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1636
-msgid "MiB"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1640
-msgid "Do not change key, no data area reencryption"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1642
-msgid "Read new volume (master) key from file"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1643
-msgid "PBKDF2 iteration time for LUKS (in ms)"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1649
-msgid "Use direct-io when accessing devices"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1650
-msgid "Use fsync after each block"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1651
-msgid "Update log file after every block"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1652
-msgid "Use only this slot (others will be disabled)"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1657
-msgid "Create new header on not encrypted device"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1658
-msgid "Permanently decrypt device (remove encryption)"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1659
-msgid "The UUID used to resume decryption"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1660
-msgid "Type of LUKS metadata: luks1, luks2"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1679
-msgid "[OPTION...] <device>"
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1687
+#: src/utils_reencrypt_luks1.c:1286
 #, c-format
 msgid "Reencryption will change: %s%s%s%s%s%s."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1688
+#: src/utils_reencrypt_luks1.c:1287
 msgid "volume key"
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1690
+#: src/utils_reencrypt_luks1.c:1289
 msgid "set hash to "
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1691
+#: src/utils_reencrypt_luks1.c:1290
 msgid ", set cipher to "
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1695
-msgid "Argument required."
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1723
-msgid ""
-"Only values between 1 MiB and 64 MiB allowed for reencryption block size."
-msgstr ""
-
-#: src/cryptsetup_reencrypt.c:1750
-msgid "Maximum device reduce size is 64 MiB."
+#: src/utils_blockdev.c:189
+#, c-format
+msgid "WARNING: Device %s already contains a '%s' partition signature.\n"
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1757
-msgid ""
-"Option --new must be used together with --reduce-device-size or --header."
+#: src/utils_blockdev.c:197
+#, c-format
+msgid "WARNING: Device %s already contains a '%s' superblock signature.\n"
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1761
-msgid ""
-"Option --keep-key can be used only with --hash, --iter-time or --pbkdf-force-"
-"iterations."
+#: 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:1765
-msgid "Option --new cannot be used together with --decrypt."
+#: src/utils_blockdev.c:274
+#, c-format
+msgid "Failed to stat device %s."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1769
-msgid "Option --decrypt is incompatible with specified parameters."
+#: src/utils_blockdev.c:289
+#, c-format
+msgid "Failed to open file %s in read/write mode."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1773
-msgid "Option --uuid is allowed only together with --decrypt."
+#: src/utils_blockdev.c:307
+#, c-format
+msgid "Existing '%s' partition signature on device %s will be wiped."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:1777
-msgid "Invalid luks type. Use one of these: 'luks', 'luks1' or 'luks2'."
+#: src/utils_blockdev.c:310
+#, c-format
+msgid "Existing '%s' superblock signature on device %s will be wiped."
 msgstr ""
 
-#: src/utils_tools.c:151
-msgid "Error reading response from terminal."
+#: src/utils_blockdev.c:313
+msgid "Failed to wipe device signature."
 msgstr ""
 
-#: src/utils_tools.c:186
-msgid "Command successful.\n"
+#: src/utils_blockdev.c:320
+#, c-format
+msgid "Failed to probe device %s for a signature."
 msgstr ""
 
-#: src/utils_tools.c:194
-msgid "wrong or missing parameters"
+#: src/utils_args.c:65
+#, c-format
+msgid "Invalid size specification in parameter --%s."
 msgstr ""
 
-#: src/utils_tools.c:196
-msgid "no permission or bad passphrase"
+#: src/utils_args.c:125
+#, c-format
+msgid "Option --%s is not allowed with %s action."
 msgstr ""
 
-#: src/utils_tools.c:198
-msgid "out of memory"
+#: tokens/ssh/cryptsetup-ssh.c:110
+msgid "Failed to write ssh token json."
 msgstr ""
 
-#: src/utils_tools.c:200
-msgid "wrong device or file specified"
+#: 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:202
-msgid "device already exists or device is busy"
+#: tokens/ssh/cryptsetup-ssh.c:138
+msgid "<action> <device>"
 msgstr ""
 
-#: src/utils_tools.c:204
-msgid "unknown error"
+#: tokens/ssh/cryptsetup-ssh.c:141
+msgid "Options for the 'add' action:"
 msgstr ""
 
-#: src/utils_tools.c:206
-#, c-format
-msgid "Command failed with code %i (%s).\n"
+#: tokens/ssh/cryptsetup-ssh.c:142
+msgid "IP address/URL of the remote server for this token"
 msgstr ""
 
-#: src/utils_tools.c:284
-#, c-format
-msgid "Key slot %i created."
+#: tokens/ssh/cryptsetup-ssh.c:143
+msgid "Username used for the remote server"
 msgstr ""
 
-#: src/utils_tools.c:286
-#, c-format
-msgid "Key slot %i unlocked."
+#: tokens/ssh/cryptsetup-ssh.c:144
+msgid "Path to the key file on the remote server"
 msgstr ""
 
-#: src/utils_tools.c:288
-#, c-format
-msgid "Key slot %i removed."
+#: tokens/ssh/cryptsetup-ssh.c:145
+msgid "Path to the SSH key for connecting to the remote server"
 msgstr ""
 
-#: src/utils_tools.c:297
-#, c-format
-msgid "Token %i created."
+#: 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:299
-#, c-format
-msgid "Token %i removed."
+#: tokens/ssh/cryptsetup-ssh.c:148
+msgid "Generic options:"
 msgstr ""
 
-#: src/utils_tools.c:465
-msgid ""
-"\n"
-"Wipe interrupted."
+#: tokens/ssh/cryptsetup-ssh.c:149
+msgid "Shows more detailed error messages"
 msgstr ""
 
-#: src/utils_tools.c:476
-#, c-format
-msgid "WARNING: Device %s already contains a '%s' partition signature.\n"
+#: tokens/ssh/cryptsetup-ssh.c:150
+msgid "Show debug messages"
 msgstr ""
 
-#: src/utils_tools.c:484
-#, c-format
-msgid "WARNING: Device %s already contains a '%s' superblock signature.\n"
+#: tokens/ssh/cryptsetup-ssh.c:151
+msgid "Show debug messages including JSON metadata"
 msgstr ""
 
-#: src/utils_tools.c:505 src/utils_tools.c:569
-msgid "Failed to initialize device signature probes."
+#: tokens/ssh/cryptsetup-ssh.c:262
+msgid "Failed to open and import private key:\n"
 msgstr ""
 
-#: src/utils_tools.c:549
-#, c-format
-msgid "Failed to stat device %s."
+#: tokens/ssh/cryptsetup-ssh.c:266
+msgid "Failed to import private key (password protected?).\n"
 msgstr ""
 
-#: src/utils_tools.c:562
+#. TRANSLATORS: SSH credentials prompt, e.g. "user@server's password: "
+#: tokens/ssh/cryptsetup-ssh.c:268
 #, c-format
-msgid "Device %s is in use. Can not proceed with format operation."
+msgid "%s@%s's password: "
 msgstr ""
 
-#: src/utils_tools.c:564
+#: tokens/ssh/cryptsetup-ssh.c:357
 #, c-format
-msgid "Failed to open file %s in read/write mode."
+msgid "Failed to parse arguments.\n"
 msgstr ""
 
-#: src/utils_tools.c:578
+#: tokens/ssh/cryptsetup-ssh.c:368
 #, c-format
-msgid ""
-"Existing '%s' partition signature (offset: %<PRIi64> bytes) on device %s "
-"will be wiped."
+msgid "An action must be specified\n"
 msgstr ""
 
-#: src/utils_tools.c:581
+#: tokens/ssh/cryptsetup-ssh.c:374
 #, c-format
-msgid ""
-"Existing '%s' superblock signature (offset: %<PRIi64> bytes) on device %s "
-"will be wiped."
-msgstr ""
-
-#: src/utils_tools.c:584
-msgid "Failed to wipe device signature."
+msgid "Device must be specified for '%s' action.\n"
 msgstr ""
 
-#: src/utils_tools.c:591
+#: tokens/ssh/cryptsetup-ssh.c:379
 #, c-format
-msgid "Failed to probe device %s for a signature."
+msgid "SSH server must be specified for '%s' action.\n"
 msgstr ""
 
-#: src/utils_tools.c:622
-msgid ""
-"\n"
-"Reencryption interrupted."
-msgstr ""
-
-#: src/utils_password.c:43 src/utils_password.c:76
+#: tokens/ssh/cryptsetup-ssh.c:384
 #, c-format
-msgid "Cannot check password quality: %s"
+msgid "SSH user must be specified for '%s' action.\n"
 msgstr ""
 
-#: src/utils_password.c:51
+#: tokens/ssh/cryptsetup-ssh.c:389
 #, c-format
-msgid ""
-"Password quality check failed:\n"
-" %s"
+msgid "SSH path must be specified for '%s' action.\n"
 msgstr ""
 
-#: src/utils_password.c:83
+#: tokens/ssh/cryptsetup-ssh.c:394
 #, c-format
-msgid "Password quality check failed: Bad passphrase (%s)"
-msgstr ""
-
-#: src/utils_password.c:228 src/utils_password.c:242
-msgid "Error reading passphrase from terminal."
-msgstr ""
-
-#: src/utils_password.c:240
-msgid "Verify passphrase: "
-msgstr ""
-
-#: src/utils_password.c:247
-msgid "Passphrases do not match."
+msgid "SSH key path must be specified for '%s' action.\n"
 msgstr ""
 
-#: src/utils_password.c:284
-msgid "Cannot use offset with terminal input."
-msgstr ""
-
-#: src/utils_password.c:287
+#: tokens/ssh/cryptsetup-ssh.c:401
 #, c-format
-msgid "Enter passphrase: "
+msgid "Failed open %s using provided credentials.\n"
 msgstr ""
 
-#: src/utils_password.c:290
+#: tokens/ssh/cryptsetup-ssh.c:417
 #, c-format
-msgid "Enter passphrase for %s: "
+msgid "Only 'add' action is currently supported by this plugin.\n"
 msgstr ""
 
-#: src/utils_password.c:321
-msgid "No key available with this passphrase."
+#: tokens/ssh/ssh-utils.c:46
+msgid "Cannot create sftp session: "
 msgstr ""
 
-#: src/utils_password.c:323
-msgid "No usable keyslot is available."
+#: tokens/ssh/ssh-utils.c:53
+msgid "Cannot init sftp session: "
 msgstr ""
 
-#: src/utils_password.c:365
-#, c-format
-msgid "Cannot open keyfile %s for write."
+#: tokens/ssh/ssh-utils.c:59
+msgid "Cannot open sftp session: "
 msgstr ""
 
-#: src/utils_password.c:372
-#, c-format
-msgid "Cannot write to keyfile %s."
+#: tokens/ssh/ssh-utils.c:66
+msgid "Cannot stat sftp file: "
 msgstr ""
 
-#: src/utils_luks2.c:47
-#, c-format
-msgid "Failed to open file %s in read-only mode."
+#: tokens/ssh/ssh-utils.c:74
+msgid "Not enough memory.\n"
 msgstr ""
 
-#: src/utils_luks2.c:60
-msgid "Provide valid LUKS2 token JSON:\n"
+#: tokens/ssh/ssh-utils.c:81
+msgid "Cannot read remote key: "
 msgstr ""
 
-#: src/utils_luks2.c:67
-msgid "Failed to read JSON file."
+#: tokens/ssh/ssh-utils.c:122
+msgid "Connection failed: "
 msgstr ""
 
-#: src/utils_luks2.c:72
-msgid ""
-"\n"
-"Read interrupted."
+#: tokens/ssh/ssh-utils.c:132
+msgid "Server not known: "
 msgstr ""
 
-#: src/utils_luks2.c:113
-#, c-format
-msgid "Failed to open file %s in write mode."
+#: tokens/ssh/ssh-utils.c:160
+msgid "Public key auth method not allowed on host.\n"
 msgstr ""
 
-#: src/utils_luks2.c:122
-msgid ""
-"\n"
-"Write interrupted."
-msgstr ""
-
-#: src/utils_luks2.c:126
-msgid "Failed to write JSON file."
+#: tokens/ssh/ssh-utils.c:171
+msgid "Public key authentication error: "
 msgstr ""