Merge branch 'upstream' into tizen
[platform/upstream/cryptsetup.git] / po / zh_CN.po
index 8ac1d9f..4742538 100644 (file)
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: cryptsetup 2.0.3.1\n"
 "Report-Msgid-Bugs-To: dm-crypt@saout.de\n"
-"POT-Creation-Date: 2020-05-28 11:32+0200\n"
+"POT-Creation-Date: 2022-01-13 10:34+0100\n"
 "PO-Revision-Date: 2018-04-27 22:41+0800\n"
 "Last-Translator: Boyuan Yang <073plan@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -21,65 +21,66 @@ msgstr ""
 "X-Generator: Poedit 2.0.6\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: lib/libdevmapper.c:399
+#: lib/libdevmapper.c:408
 msgid "Cannot initialize device-mapper, running as non-root user."
 msgstr "无法初始化设备映射器,正作为非 root 用户运行。"
 
-#: lib/libdevmapper.c:402
+#: lib/libdevmapper.c:411
 msgid "Cannot initialize device-mapper. Is dm_mod kernel module loaded?"
 msgstr "无法初始化设备映射器。dm_mod 内核模块装载了吗?"
 
-#: lib/libdevmapper.c:1131
+#: lib/libdevmapper.c:1180
 msgid "Requested deferred flag is not supported."
 msgstr "不支持请求的推迟(deferred)标记。"
 
-#: lib/libdevmapper.c:1198
+#: lib/libdevmapper.c:1249
 #, c-format
 msgid "DM-UUID for device %s was truncated."
 msgstr "设备 %s 的 DM-UUID 被截断。"
 
-#: lib/libdevmapper.c:1520
+#: lib/libdevmapper.c:1580
 #, fuzzy
 msgid "Unknown dm target type."
 msgstr "未知的 PBKDF 类型 %s。"
 
-#: lib/libdevmapper.c:1623 lib/libdevmapper.c:1679
+#: lib/libdevmapper.c:1701 lib/libdevmapper.c:1706 lib/libdevmapper.c:1766
+#: lib/libdevmapper.c:1769
 msgid "Requested dm-crypt performance options are not supported."
 msgstr "不支持请求的 dm-crypt 性能选项。"
 
-#: lib/libdevmapper.c:1630
+#: lib/libdevmapper.c:1713 lib/libdevmapper.c:1717
 msgid "Requested dm-verity data corruption handling options are not supported."
 msgstr "不支持请求的 dm-verity 数据损坏处理选项。"
 
-#: lib/libdevmapper.c:1634
+#: lib/libdevmapper.c:1721
 msgid "Requested dm-verity FEC options are not supported."
 msgstr "不支持请求的 dm-verity FEC 选项。"
 
-#: lib/libdevmapper.c:1638
+#: lib/libdevmapper.c:1725
 msgid "Requested data integrity options are not supported."
 msgstr "不支持请求的数据完整性选项。"
 
-#: lib/libdevmapper.c:1640
+#: lib/libdevmapper.c:1727
 msgid "Requested sector_size option is not supported."
 msgstr "不支持请求的 sector_size 选项。"
 
-#: lib/libdevmapper.c:1645
+#: lib/libdevmapper.c:1732
 #, fuzzy
 msgid "Requested automatic recalculation of integrity tags is not supported."
 msgstr "不支持请求的数据完整性选项。"
 
-#: lib/libdevmapper.c:1649 lib/libdevmapper.c:1682 lib/libdevmapper.c:1685
-#: lib/luks2/luks2_json_metadata.c:2160
+#: lib/libdevmapper.c:1736 lib/libdevmapper.c:1772 lib/libdevmapper.c:1775
+#: lib/luks2/luks2_json_metadata.c:2347
 #, fuzzy
 msgid "Discard/TRIM is not supported."
 msgstr "不支持哈希算法 %s。"
 
-#: lib/libdevmapper.c:1653
+#: lib/libdevmapper.c:1740
 #, fuzzy
 msgid "Requested dm-integrity bitmap mode is not supported."
 msgstr "不支持请求的数据完整性选项。"
 
-#: lib/libdevmapper.c:2607
+#: lib/libdevmapper.c:2713
 #, c-format
 msgid "Failed to query dm-%s segment."
 msgstr ""
@@ -121,7 +122,7 @@ msgstr "无法初始化加密随机数生成器后端。"
 msgid "Cannot initialize crypto backend."
 msgstr "无法初始化加密后端。"
 
-#: lib/setup.c:266 lib/setup.c:2046 lib/verity/verity.c:119
+#: lib/setup.c:266 lib/setup.c:2046 lib/verity/verity.c:120
 #, c-format
 msgid "Hash algorithm %s not supported."
 msgstr "不支持哈希算法 %s。"
@@ -135,7 +136,7 @@ msgstr "密钥处理错误(使用散列 %s)。"
 msgid "Cannot determine device type. Incompatible activation of device?"
 msgstr "无法确定设备类型。不兼容的设备激活?"
 
-#: lib/setup.c:341 lib/setup.c:3050
+#: lib/setup.c:341 lib/setup.c:3058
 msgid "This operation is supported only for LUKS device."
 msgstr "此操作只适用 LUKS 设备。"
 
@@ -143,7 +144,7 @@ msgstr "此操作只适用 LUKS 设备。"
 msgid "This operation is supported only for LUKS2 device."
 msgstr "此操作只适用 LUKS2 设备。"
 
-#: lib/setup.c:423 lib/luks2/luks2_reencrypt.c:2345
+#: lib/setup.c:423 lib/luks2/luks2_reencrypt.c:2457
 msgid "All key slots full."
 msgstr "密钥槽全都满了。"
 
@@ -157,7 +158,7 @@ msgstr "密钥槽 %d 无效,请选择 0 到 %d 间的数字。"
 msgid "Key slot %d is full, please select another one."
 msgstr "密钥槽 %d 满了,请选择另一个。"
 
-#: lib/setup.c:525 lib/setup.c:2824
+#: lib/setup.c:525 lib/setup.c:2832
 #, fuzzy
 msgid "Device size is not aligned to device logical block size."
 msgstr "设备 %s 的大小没有和请求的扇区大小对齐(%u 字节)。"
@@ -167,7 +168,8 @@ msgstr "设备 %s 的大小没有和请求的扇区大小对齐(%u 字节)
 msgid "Header detected but device %s is too small."
 msgstr "检测到标头但设备 %s 太小。"
 
-#: lib/setup.c:661
+#: lib/setup.c:661 lib/setup.c:2777 lib/setup.c:4114
+#: lib/luks2/luks2_reencrypt.c:3154 lib/luks2/luks2_reencrypt.c:3520
 msgid "This operation is not supported for this device type."
 msgstr "不支持在这类设备上执行此操作。"
 
@@ -176,18 +178,13 @@ msgstr "不支持在这类设备上执行此操作。"
 msgid "Illegal operation with reencryption in-progress."
 msgstr "正在进行离线重加密。中止。"
 
-#: lib/setup.c:832 lib/luks1/keymanage.c:475
+#: lib/setup.c:832 lib/luks1/keymanage.c:482
 #, c-format
 msgid "Unsupported LUKS version %d."
 msgstr "不支持的 LUKS 版本 %d。"
 
-#: lib/setup.c:849 lib/setup.c:1539 lib/setup.c:1959
-#, fuzzy
-msgid "Detached metadata device is not supported for this crypt type."
-msgstr "此加密类型不支持 UUID。"
-
-#: lib/setup.c:1427 lib/setup.c:2544 lib/setup.c:2616 lib/setup.c:2628
-#: lib/setup.c:2777 lib/setup.c:4512
+#: lib/setup.c:1427 lib/setup.c:2547 lib/setup.c:2619 lib/setup.c:2631
+#: lib/setup.c:2785 lib/setup.c:4570
 #, c-format
 msgid "Device %s is not active."
 msgstr "设备 %s 未激活。"
@@ -201,7 +198,7 @@ msgstr "加密设备 %s 下层的设备消失了。"
 msgid "Invalid plain crypt parameters."
 msgstr "无效的纯加密选项。"
 
-#: lib/setup.c:1529 lib/setup.c:1949 src/integritysetup.c:74
+#: lib/setup.c:1529 lib/setup.c:1949
 msgid "Invalid key size."
 msgstr "无效的密钥大小。"
 
@@ -209,12 +206,17 @@ msgstr "无效的密钥大小。"
 msgid "UUID is not supported for this crypt type."
 msgstr "此加密类型不支持 UUID。"
 
-#: lib/setup.c:1549 lib/setup.c:1739 lib/luks2/luks2_reencrypt.c:2308
-#: src/cryptsetup.c:1226 src/cryptsetup.c:3923
+#: lib/setup.c:1539 lib/setup.c:1959
+#, fuzzy
+msgid "Detached metadata device is not supported for this crypt type."
+msgstr "此加密类型不支持 UUID。"
+
+#: lib/setup.c:1549 lib/setup.c:1739 lib/luks2/luks2_reencrypt.c:2418
+#: src/cryptsetup.c:1346 src/cryptsetup.c:4087
 msgid "Unsupported encryption sector size."
 msgstr "不支持的加密扇区大小。"
 
-#: lib/setup.c:1557 lib/setup.c:1864 lib/setup.c:2818
+#: lib/setup.c:1557 lib/setup.c:1864 lib/setup.c:2826
 #, fuzzy
 msgid "Device size is not aligned to requested sector size."
 msgstr "设备 %s 的大小没有和请求的扇区大小对齐(%u 字节)。"
@@ -259,8 +261,8 @@ msgstr ""
 msgid "WARNING: LUKS2 keyslots area size changed to %<PRIu64> bytes.\n"
 msgstr ""
 
-#: lib/setup.c:1882 lib/utils_device.c:828 lib/luks1/keyencryption.c:255
-#: lib/luks2/luks2_reencrypt.c:2356 lib/luks2/luks2_reencrypt.c:3367
+#: lib/setup.c:1882 lib/utils_device.c:852 lib/luks1/keyencryption.c:255
+#: lib/luks2/luks2_reencrypt.c:2468 lib/luks2/luks2_reencrypt.c:3609
 #, c-format
 msgid "Device %s is too small."
 msgstr "设备 %s 太小。"
@@ -293,16 +295,16 @@ msgstr "无法在没有设备的情况下格式化 LOOPAES。"
 msgid "Can't format VERITY without device."
 msgstr "无法在没有设备的情况下格式化 VERIFY。"
 
-#: lib/setup.c:2000 lib/verity/verity.c:102
+#: lib/setup.c:2000 lib/verity/verity.c:103
 #, c-format
 msgid "Unsupported VERITY hash type %d."
 msgstr "不支持的 VERITY 哈希类型 %d。"
 
-#: lib/setup.c:2006 lib/verity/verity.c:110
+#: lib/setup.c:2006 lib/verity/verity.c:111
 msgid "Unsupported VERITY block size."
 msgstr "不支持的 VERITY 块大小。"
 
-#: lib/setup.c:2011 lib/verity/verity.c:74
+#: lib/setup.c:2011 lib/verity/verity.c:75
 msgid "Unsupported VERITY hash offset."
 msgstr "不支持的 VERITY 哈希偏移量。"
 
@@ -332,244 +334,244 @@ msgstr ""
 msgid "Unknown crypt device type %s requested."
 msgstr "请求了未知的加密设备类型 %s。"
 
-#: lib/setup.c:2550 lib/setup.c:2622 lib/setup.c:2635
+#: lib/setup.c:2553 lib/setup.c:2625 lib/setup.c:2638
 #, fuzzy, c-format
 msgid "Unsupported parameters on device %s."
 msgstr "无法将设备 %s 上的标头擦除。"
 
-#: lib/setup.c:2556 lib/setup.c:2641 lib/luks2/luks2_reencrypt.c:2408
-#: lib/luks2/luks2_reencrypt.c:2737
+#: lib/setup.c:2559 lib/setup.c:2644 lib/luks2/luks2_reencrypt.c:2524
+#: lib/luks2/luks2_reencrypt.c:2876
 #, fuzzy, c-format
 msgid "Mismatching parameters on device %s."
 msgstr "无法将设备 %s 上的标头擦除。"
 
-#: lib/setup.c:2661
+#: lib/setup.c:2664
 msgid "Crypt devices mismatch."
 msgstr ""
 
-#: lib/setup.c:2698 lib/setup.c:2703 lib/luks2/luks2_reencrypt.c:2054
-#: lib/luks2/luks2_reencrypt.c:3145
+#: lib/setup.c:2701 lib/setup.c:2706 lib/luks2/luks2_reencrypt.c:2164
+#: lib/luks2/luks2_reencrypt.c:3366
 #, fuzzy, c-format
 msgid "Failed to reload device %s."
 msgstr "无法获取设备 %s 的读取锁。"
 
-#: lib/setup.c:2708 lib/setup.c:2713 lib/luks2/luks2_reencrypt.c:2025
-#: lib/luks2/luks2_reencrypt.c:2032
+#: lib/setup.c:2711 lib/setup.c:2716 lib/luks2/luks2_reencrypt.c:2135
+#: lib/luks2/luks2_reencrypt.c:2142
 #, fuzzy, c-format
 msgid "Failed to suspend device %s."
 msgstr "无法获取设备 %s 的读取锁。"
 
-#: lib/setup.c:2718 lib/luks2/luks2_reencrypt.c:2039
-#: lib/luks2/luks2_reencrypt.c:3080 lib/luks2/luks2_reencrypt.c:3149
+#: lib/setup.c:2721 lib/luks2/luks2_reencrypt.c:2149
+#: lib/luks2/luks2_reencrypt.c:3301 lib/luks2/luks2_reencrypt.c:3370
 #, fuzzy, c-format
 msgid "Failed to resume device %s."
 msgstr "打开临时密钥存储设备失败。\n"
 
-#: lib/setup.c:2732
+#: lib/setup.c:2735
 #, c-format
 msgid "Fatal error while reloading device %s (on top of device %s)."
 msgstr ""
 
-#: lib/setup.c:2735 lib/setup.c:2737
+#: lib/setup.c:2738 lib/setup.c:2740
 #, fuzzy, c-format
 msgid "Failed to switch device %s to dm-error."
 msgstr "无法获取设备 %s 上的写入锁。"
 
-#: lib/setup.c:2809
+#: lib/setup.c:2817
 msgid "Cannot resize loop device."
 msgstr "无法改变回环设备大小。"
 
-#: lib/setup.c:2882
+#: lib/setup.c:2890
 msgid "Do you really want to change UUID of device?"
 msgstr "你真的想改变设备的 UUID 吗?"
 
-#: lib/setup.c:2958
+#: lib/setup.c:2966
 msgid "Header backup file does not contain compatible LUKS header."
 msgstr "标头备份文件不包含兼容的 LUKS 标头。"
 
-#: lib/setup.c:3058
+#: lib/setup.c:3066
 #, c-format
 msgid "Volume %s is not active."
 msgstr "卷 %s 未激活。"
 
-#: lib/setup.c:3069
+#: lib/setup.c:3077
 #, c-format
 msgid "Volume %s is already suspended."
 msgstr "卷 %s 已挂起。"
 
-#: lib/setup.c:3082
+#: lib/setup.c:3090
 #, c-format
 msgid "Suspend is not supported for device %s."
 msgstr "设备 %s 不支持挂起。"
 
-#: lib/setup.c:3084
+#: lib/setup.c:3092
 #, c-format
 msgid "Error during suspending device %s."
 msgstr "挂起设备 %s 时出错。"
 
-#: lib/setup.c:3117 lib/setup.c:3184 lib/setup.c:3267
-#, c-format
-msgid "Volume %s is not suspended."
-msgstr "卷 %s 未挂起。"
-
-#: lib/setup.c:3146
+#: lib/setup.c:3128
 #, c-format
 msgid "Resume is not supported for device %s."
 msgstr "设备 %s 不支持恢复。"
 
-#: lib/setup.c:3148 lib/setup.c:3216 lib/setup.c:3297
+#: lib/setup.c:3130
 #, c-format
 msgid "Error during resuming device %s."
 msgstr "恢复设备 %s 时出错。"
 
-#: lib/setup.c:3282 lib/setup.c:3648 lib/setup.c:4309 lib/setup.c:4322
-#: lib/setup.c:4330 lib/setup.c:4343 lib/setup.c:4693 lib/setup.c:5839
+#: lib/setup.c:3164 lib/setup.c:3212 lib/setup.c:3282
+#, c-format
+msgid "Volume %s is not suspended."
+msgstr "卷 %s 未挂起。"
+
+#: 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
 msgid "Volume key does not match the volume."
 msgstr "卷密钥与卷不匹配。"
 
-#: lib/setup.c:3343 lib/setup.c:3531
+#: 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:3483
+#: lib/setup.c:3487
 msgid "Failed to swap new key slot."
 msgstr "交换新密钥槽失败。"
 
-#: lib/setup.c:3669
+#: lib/setup.c:3673
 #, c-format
 msgid "Key slot %d is invalid."
 msgstr "密钥槽 %d 无效。"
 
-#: lib/setup.c:3675 src/cryptsetup.c:1572 src/cryptsetup.c:1917
+#: lib/setup.c:3679 src/cryptsetup.c:1684 src/cryptsetup.c:2029
 #, fuzzy, c-format
 msgid "Keyslot %d is not active."
 msgstr "密钥槽 %d 未使用。\n"
 
-#: lib/setup.c:3694
+#: lib/setup.c:3698
 #, fuzzy
 msgid "Device header overlaps with data area."
 msgstr "数据区域重叠覆盖了哈希区域。"
 
-#: lib/setup.c:3981
+#: lib/setup.c:3992
 #, fuzzy
 msgid "Reencryption in-progress. Cannot activate device."
 msgstr "重加密已在进行中。"
 
-#: lib/setup.c:3983 lib/luks2/luks2_json_metadata.c:2243
-#: lib/luks2/luks2_reencrypt.c:2836
+#: lib/setup.c:3994 lib/luks2/luks2_json_metadata.c:2430
+#: lib/luks2/luks2_reencrypt.c:2975
 #, fuzzy
 msgid "Failed to get reencryption lock."
 msgstr "无法获取写入设备锁。"
 
-#: lib/setup.c:3996 lib/luks2/luks2_reencrypt.c:2855
+#: lib/setup.c:4007 lib/luks2/luks2_reencrypt.c:2994
 #, fuzzy
 msgid "LUKS2 reencryption recovery failed."
 msgstr "不支持的加密扇区大小。"
 
-#: lib/setup.c:4127 lib/setup.c:4379
+#: lib/setup.c:4175 lib/setup.c:4437
 #, fuzzy
 msgid "Device type is not properly initialized."
 msgstr "设备类型未正确初始化。"
 
-#: lib/setup.c:4171
-#, c-format
-msgid "Cannot use device %s, name is invalid or still in use."
-msgstr "无法使用设备 %s,名称无效或它正被使用。"
-
-#: lib/setup.c:4174
+#: lib/setup.c:4223
 #, c-format
 msgid "Device %s already exists."
 msgstr "设备 %s 已存在。"
 
-#: lib/setup.c:4296
+#: lib/setup.c:4230
+#, c-format
+msgid "Cannot use device %s, name is invalid or still in use."
+msgstr "无法使用设备 %s,名称无效或它正被使用。"
+
+#: lib/setup.c:4350
 msgid "Incorrect volume key specified for plain device."
 msgstr "为普通设备指定的卷密钥有误。"
 
-#: lib/setup.c:4405
+#: lib/setup.c:4463
 msgid "Incorrect root hash specified for verity device."
 msgstr "为 verity 设备指定的根 hash 不正确。"
 
-#: lib/setup.c:4412
+#: lib/setup.c:4470
 msgid "Root hash signature required."
 msgstr ""
 
-#: lib/setup.c:4421
+#: lib/setup.c:4479
 #, fuzzy
 msgid "Kernel keyring missing: required for passing signature to kernel."
 msgstr "该内核不支持内核密钥环。"
 
-#: lib/setup.c:4438 lib/setup.c:5915
+#: lib/setup.c:4496 lib/setup.c:5976
 msgid "Failed to load key in kernel keyring."
 msgstr "在内核密钥环中加载密钥失败。"
 
-#: lib/setup.c:4491 lib/setup.c:4507 lib/luks2/luks2_json_metadata.c:2296
-#: src/cryptsetup.c:2664
+#: lib/setup.c:4549 lib/setup.c:4565 lib/luks2/luks2_json_metadata.c:2483
+#: src/cryptsetup.c:2794
 #, c-format
 msgid "Device %s is still in use."
 msgstr "设备 %s 仍在使用。"
 
-#: lib/setup.c:4516
+#: lib/setup.c:4574
 #, c-format
 msgid "Invalid device %s."
 msgstr "设备 %s 无效。"
 
-#: lib/setup.c:4632
+#: lib/setup.c:4690
 msgid "Volume key buffer too small."
 msgstr "卷密钥缓冲区太小。"
 
-#: lib/setup.c:4640
+#: lib/setup.c:4698
 msgid "Cannot retrieve volume key for plain device."
 msgstr "无法获取普通设备的卷密钥。"
 
-#: lib/setup.c:4657
+#: lib/setup.c:4715
 #, fuzzy
 msgid "Cannot retrieve root hash for verity device."
 msgstr "为 verity 设备指定的根 hash 不正确。"
 
-#: lib/setup.c:4659
+#: lib/setup.c:4717
 #, c-format
 msgid "This operation is not supported for %s crypt device."
 msgstr "不支持在 %s 加密设备上执行此操作。"
 
-#: lib/setup.c:4865
+#: lib/setup.c:4923
 msgid "Dump operation is not supported for this device type."
 msgstr "不支持在此类设备上执行导出操作。"
 
-#: lib/setup.c:5190
+#: lib/setup.c:5251
 #, c-format
 msgid "Data offset is not multiple of %u bytes."
 msgstr ""
 
-#: lib/setup.c:5475
+#: lib/setup.c:5536
 #, c-format
 msgid "Cannot convert device %s which is still in use."
 msgstr "无法转换正在使用的设备 %s。"
 
-#: lib/setup.c:5772
+#: lib/setup.c:5833
 #, c-format
 msgid "Failed to assign keyslot %u as the new volume key."
 msgstr "将密钥槽 %u 指定为新卷密钥的操作失败。"
 
-#: lib/setup.c:5845
+#: lib/setup.c:5906
 #, fuzzy
 msgid "Failed to initialize default LUKS2 keyslot parameters."
 msgstr "初始化默认 LUKS2 密钥槽参数失败。"
 
-#: lib/setup.c:5851
+#: lib/setup.c:5912
 #, fuzzy, c-format
 msgid "Failed to assign keyslot %d to digest."
 msgstr "交换新密钥槽失败。\n"
 
-#: lib/setup.c:5982
+#: lib/setup.c:6043
 msgid "Kernel keyring is not supported by the kernel."
 msgstr "该内核不支持内核密钥环。"
 
-#: lib/setup.c:5992 lib/luks2/luks2_reencrypt.c:2952
+#: lib/setup.c:6053 lib/luks2/luks2_reencrypt.c:3179
 #, c-format
 msgid "Failed to read passphrase from keyring (error %d)."
 msgstr "从密钥环读取口令失败(错误 %d)。"
 
-#: lib/setup.c:6016
+#: lib/setup.c:6077
 msgid "Failed to acquire global memory-hard access serialization lock."
 msgstr ""
 
@@ -598,8 +600,8 @@ msgstr "获取 (stat) 密钥文件信息失败。"
 msgid "Cannot seek to requested keyfile offset."
 msgstr "无法寻找 (seek) 到请求的密钥文件偏移量。"
 
-#: lib/utils.c:213 lib/utils.c:228 src/utils_password.c:188
-#: src/utils_password.c:201
+#: lib/utils.c:213 lib/utils.c:228 src/utils_password.c:223
+#: src/utils_password.c:235
 msgid "Out of memory while reading passphrase."
 msgstr "读取密码时内存耗尽。"
 
@@ -619,51 +621,56 @@ msgstr "超出最大密钥文件大小。"
 msgid "Cannot read requested amount of data."
 msgstr "无法读取请求量的数据。"
 
-#: lib/utils_device.c:187 lib/utils_storage_wrappers.c:110
+#: lib/utils_device.c:190 lib/utils_storage_wrappers.c:110
 #: lib/luks1/keyencryption.c:91
 #, fuzzy, c-format
 msgid "Device %s does not exist or access denied."
 msgstr "设备 %s 不存在或访问被拒绝。"
 
-#: lib/utils_device.c:197
+#: lib/utils_device.c:200
 #, fuzzy, c-format
 msgid "Device %s is not compatible."
 msgstr "设备 %s 未激活。"
 
-#: lib/utils_device.c:642
+#: lib/utils_device.c:544
+#, c-format
+msgid "Ignoring bogus optimal-io size for data device (%u bytes)."
+msgstr ""
+
+#: lib/utils_device.c:666
 #, fuzzy, c-format
 msgid "Device %s is too small. Need at least %<PRIu64> bytes."
 msgstr "设备 %s 过小。(LUKS1 需要至少 %<PRIu64> 字节。)"
 
-#: lib/utils_device.c:723
+#: lib/utils_device.c:747
 #, c-format
 msgid "Cannot use device %s which is in use (already mapped or mounted)."
 msgstr "无法使用正被使用的设备 %s(已被映射或挂载)。"
 
-#: lib/utils_device.c:727
+#: lib/utils_device.c:751
 #, c-format
 msgid "Cannot use device %s, permission denied."
 msgstr "无法使用设备 %s,权限被拒绝。"
 
-#: lib/utils_device.c:730
+#: lib/utils_device.c:754
 #, c-format
 msgid "Cannot get info about device %s."
 msgstr "无法获取有关设备 %s 的信息。"
 
-#: lib/utils_device.c:753
+#: lib/utils_device.c:777
 msgid "Cannot use a loopback device, running as non-root user."
 msgstr "无法使用回环设备,正作为非 root 用户运行。"
 
-#: lib/utils_device.c:763
+#: lib/utils_device.c:787
 msgid "Attaching loopback device failed (loop device with autoclear flag is required)."
 msgstr "连接回环设备失败(需要有 autoclear 旗标的回环设备)。"
 
-#: lib/utils_device.c:809
+#: lib/utils_device.c:833
 #, c-format
 msgid "Requested offset is beyond real size of device %s."
 msgstr "请求的偏移量超出设备 %s 的真实大小。"
 
-#: lib/utils_device.c:817
+#: lib/utils_device.c:841
 #, c-format
 msgid "Device %s has zero size."
 msgstr "设备 %s 大小为零。"
@@ -740,16 +747,16 @@ msgstr "锁定中止。锁定路径 %s/%s 不可用(不是一个目录或缺
 
 #: lib/utils_device_locking.c:109
 #, c-format
-msgid "WARNING: Locking directory %s/%s is missing!\n"
-msgstr "警告:锁定目录 %s/%s 缺失!\n"
+msgid "Locking directory %s/%s will be created with default compiled-in permissions."
+msgstr ""
 
 #: lib/utils_device_locking.c:119
 #, c-format
 msgid "Locking aborted. The locking path %s/%s is unusable (%s is not a directory)."
 msgstr "锁定中止。锁定路径 %s/%s 不可用(%s 不是目录)。"
 
-#: lib/utils_wipe.c:184 src/cryptsetup_reencrypt.c:941
-#: src/cryptsetup_reencrypt.c:1025
+#: lib/utils_wipe.c:184 src/cryptsetup_reencrypt.c:959
+#: src/cryptsetup_reencrypt.c:1043
 msgid "Cannot seek to device offset."
 msgstr "无法寻找到设备偏移位置。"
 
@@ -776,8 +783,8 @@ msgid "Cipher specification should be in [cipher]-[mode]-[iv] format."
 msgstr ""
 
 #: lib/luks1/keyencryption.c:97 lib/luks1/keymanage.c:344
-#: lib/luks1/keymanage.c:635 lib/luks1/keymanage.c:1080
-#: lib/luks2/luks2_json_metadata.c:1252 lib/luks2/luks2_keyslot.c:734
+#: lib/luks1/keymanage.c:642 lib/luks1/keymanage.c:1094
+#: lib/luks2/luks2_json_metadata.c:1347 lib/luks2/luks2_keyslot.c:740
 #, c-format
 msgid "Cannot write to device %s, permission denied."
 msgstr "无法写入到设备 %s,访问被拒绝。"
@@ -796,12 +803,12 @@ msgid "IO error while encrypting keyslot."
 msgstr "加密密钥槽时发生输入输出错误。"
 
 #: lib/luks1/keyencryption.c:246 lib/luks1/keymanage.c:347
-#: lib/luks1/keymanage.c:588 lib/luks1/keymanage.c:638 lib/tcrypt/tcrypt.c:670
-#: lib/verity/verity.c:80 lib/verity/verity.c:178 lib/verity/verity_hash.c:311
-#: lib/verity/verity_hash.c:322 lib/verity/verity_hash.c:342
-#: lib/verity/verity_fec.c:241 lib/verity/verity_fec.c:253
-#: lib/verity/verity_fec.c:258 lib/luks2/luks2_json_metadata.c:1255
-#: src/cryptsetup_reencrypt.c:200 src/cryptsetup_reencrypt.c:212
+#: lib/luks1/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
 #, c-format
 msgid "Cannot open device %s."
 msgstr "无法打开设备 %s。"
@@ -822,44 +829,44 @@ msgstr "设备 %s 过小。(LUKS1 需要至少 %<PRIu64> 字节。)"
 msgid "LUKS keyslot %u is invalid."
 msgstr "LUKS 密钥槽 %u 无效。"
 
-#: lib/luks1/keymanage.c:228 lib/luks1/keymanage.c:472
-#: lib/luks2/luks2_json_metadata.c:1083 src/cryptsetup.c:1433
-#: src/cryptsetup.c:1559 src/cryptsetup.c:1616 src/cryptsetup.c:1672
-#: src/cryptsetup.c:1739 src/cryptsetup.c:1842 src/cryptsetup.c:1906
-#: src/cryptsetup.c:2136 src/cryptsetup.c:2331 src/cryptsetup.c:2391
-#: src/cryptsetup.c:2457 src/cryptsetup.c:2621 src/cryptsetup.c:3271
-#: src/cryptsetup.c:3280 src/cryptsetup_reencrypt.c:1388
+#: 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 "%s 不是有效的 LUKS 设备。"
 
-#: lib/luks1/keymanage.c:246 lib/luks2/luks2_json_metadata.c:1100
+#: lib/luks1/keymanage.c:246 lib/luks2/luks2_json_metadata.c:1210
 #, c-format
 msgid "Requested header backup file %s already exists."
 msgstr "请求的标头备份文件 %s 已存在。"
 
-#: lib/luks1/keymanage.c:248 lib/luks2/luks2_json_metadata.c:1102
+#: lib/luks1/keymanage.c:248 lib/luks2/luks2_json_metadata.c:1212
 #, c-format
 msgid "Cannot create header backup file %s."
 msgstr "无法创建标头备份文件 %s。"
 
-#: lib/luks1/keymanage.c:255 lib/luks2/luks2_json_metadata.c:1109
+#: lib/luks1/keymanage.c:255 lib/luks2/luks2_json_metadata.c:1219
 #, c-format
 msgid "Cannot write header backup file %s."
 msgstr "无法写入标头备份文件 %s。"
 
-#: lib/luks1/keymanage.c:286 lib/luks2/luks2_json_metadata.c:1161
+#: lib/luks1/keymanage.c:286 lib/luks2/luks2_json_metadata.c:1256
 #, fuzzy
 msgid "Backup file does not contain valid LUKS header."
 msgstr "备份文件不包含有效 LUKS 标头。"
 
-#: lib/luks1/keymanage.c:299 lib/luks1/keymanage.c:549
-#: lib/luks2/luks2_json_metadata.c:1182
+#: lib/luks1/keymanage.c:299 lib/luks1/keymanage.c:556
+#: lib/luks2/luks2_json_metadata.c:1277
 #, c-format
 msgid "Cannot open header backup file %s."
 msgstr "无法打开备份标头文件 %s。"
 
-#: lib/luks1/keymanage.c:307 lib/luks2/luks2_json_metadata.c:1190
+#: lib/luks1/keymanage.c:307 lib/luks2/luks2_json_metadata.c:1285
 #, c-format
 msgid "Cannot read header backup file %s."
 msgstr "无法读取标头备份文件 %s。"
@@ -882,7 +889,7 @@ msgstr "不包含 LUKS 标头。替换标头可能损毁设备上的数据。"
 msgid "already contains LUKS header. Replacing header will destroy existing keyslots."
 msgstr "已包含 LUKS 标头。替换标头将损毁已存在的密钥槽。"
 
-#: lib/luks1/keymanage.c:328 lib/luks2/luks2_json_metadata.c:1224
+#: lib/luks1/keymanage.c:328 lib/luks2/luks2_json_metadata.c:1319
 msgid ""
 "\n"
 "WARNING: real device header has different UUID than backup!"
@@ -894,102 +901,102 @@ msgstr ""
 msgid "Non standard key size, manual repair required."
 msgstr "不标准的密钥大小,需要手动修复。"
 
-#: lib/luks1/keymanage.c:380
+#: lib/luks1/keymanage.c:385
 msgid "Non standard keyslots alignment, manual repair required."
 msgstr "不标准的密钥槽对齐,需要手动修复。"
 
-#: lib/luks1/keymanage.c:390
+#: lib/luks1/keymanage.c:397
 msgid "Repairing keyslots."
 msgstr "正在修复密钥槽。"
 
-#: lib/luks1/keymanage.c:409
+#: lib/luks1/keymanage.c:416
 #, c-format
 msgid "Keyslot %i: offset repaired (%u -> %u)."
 msgstr "密钥槽 %i: 偏移已修复 (%u -> %u)。"
 
-#: lib/luks1/keymanage.c:417
+#: lib/luks1/keymanage.c:424
 #, c-format
 msgid "Keyslot %i: stripes repaired (%u -> %u)."
 msgstr "密钥槽 %i:已修复条带(%u -> %u)。"
 
-#: lib/luks1/keymanage.c:426
+#: lib/luks1/keymanage.c:433
 #, c-format
 msgid "Keyslot %i: bogus partition signature."
 msgstr "密钥槽 %i:虚假的分区签名。"
 
-#: lib/luks1/keymanage.c:431
+#: lib/luks1/keymanage.c:438
 #, c-format
 msgid "Keyslot %i: salt wiped."
 msgstr "密钥槽 %i: 已清除盐。"
 
-#: lib/luks1/keymanage.c:448
+#: lib/luks1/keymanage.c:455
 msgid "Writing LUKS header to disk."
 msgstr "正在将 LUKS 标头写入磁盘。"
 
-#: lib/luks1/keymanage.c:453
+#: lib/luks1/keymanage.c:460
 msgid "Repair failed."
 msgstr "修复失败。"
 
-#: lib/luks1/keymanage.c:481 lib/luks1/keymanage.c:750
+#: lib/luks1/keymanage.c:488 lib/luks1/keymanage.c:757
 #, c-format
 msgid "Requested LUKS hash %s is not supported."
 msgstr "不支持请求的 LUKS 哈希 %s。"
 
-#: lib/luks1/keymanage.c:509 src/cryptsetup.c:1133
+#: lib/luks1/keymanage.c:516 src/cryptsetup.c:1237
 msgid "No known problems detected for LUKS header."
 msgstr "未在 LUKS 标头发现已知问题。"
 
-#: lib/luks1/keymanage.c:660
+#: lib/luks1/keymanage.c:667
 #, c-format
 msgid "Error during update of LUKS header on device %s."
 msgstr "更新设备 %s 上的 LUKS 标头时出错。"
 
-#: lib/luks1/keymanage.c:668
+#: lib/luks1/keymanage.c:675
 #, c-format
 msgid "Error re-reading LUKS header after update on device %s."
 msgstr "在更新设备 %s 后重新读取 LUKS 标头失败。"
 
-#: lib/luks1/keymanage.c:744
+#: lib/luks1/keymanage.c:751
 #, fuzzy
 msgid "Data offset for LUKS header must be either 0 or higher than header size."
 msgstr "分离的 LUKS 标头的数据偏移量必须为零或高于标头大小(%d 扇区)。"
 
-#: lib/luks1/keymanage.c:755 lib/luks1/keymanage.c:825
-#: lib/luks2/luks2_json_format.c:283 lib/luks2/luks2_json_metadata.c:1001
-#: src/cryptsetup.c:2784
+#: lib/luks1/keymanage.c:762 lib/luks1/keymanage.c:832
+#: lib/luks2/luks2_json_format.c:284 lib/luks2/luks2_json_metadata.c:1101
+#: src/cryptsetup.c:2914
 msgid "Wrong LUKS UUID format provided."
 msgstr "提供了错误的 LUKS UUID 格式。"
 
-#: lib/luks1/keymanage.c:778
+#: lib/luks1/keymanage.c:785
 msgid "Cannot create LUKS header: reading random salt failed."
 msgstr "无法创建 LUKS 标头:读取随机盐失败。"
 
-#: lib/luks1/keymanage.c:804
+#: lib/luks1/keymanage.c:811
 #, c-format
 msgid "Cannot create LUKS header: header digest failed (using hash %s)."
 msgstr "无法创建 LUKS 标头:标头摘要失败(正在使用哈希 %s)。"
 
-#: lib/luks1/keymanage.c:848
+#: lib/luks1/keymanage.c:855
 #, c-format
 msgid "Key slot %d active, purge first."
 msgstr "密钥槽 %d 已激活,请先清除。"
 
-#: lib/luks1/keymanage.c:854
+#: lib/luks1/keymanage.c:861
 #, fuzzy, c-format
 msgid "Key slot %d material includes too few stripes. Header manipulation?"
 msgstr "密钥槽 %d 条带数过少。标头修改?\n"
 
-#: lib/luks1/keymanage.c:990
+#: lib/luks1/keymanage.c:1002
 #, fuzzy, c-format
 msgid "Cannot open keyslot (using hash %s)."
 msgstr "密钥处理错误(使用散列 %s)。"
 
-#: lib/luks1/keymanage.c:1066
+#: lib/luks1/keymanage.c:1080
 #, fuzzy, c-format
 msgid "Key slot %d is invalid, please select keyslot between 0 and %d."
 msgstr "密钥槽 %d 无效,请选择标号 0 到 %d 间的密钥槽。\n"
 
-#: lib/luks1/keymanage.c:1084 lib/luks2/luks2_keyslot.c:738
+#: lib/luks1/keymanage.c:1098 lib/luks2/luks2_keyslot.c:744
 #, c-format
 msgid "Cannot wipe device %s."
 msgstr "无法擦除设备 %s。"
@@ -1027,11 +1034,11 @@ msgstr "超出 TCRYPT 口令最大长度限制 (%d)。"
 msgid "PBKDF2 hash algorithm %s not available, skipping."
 msgstr "PBKDF2 哈希算法 %s 不可用,将跳过。"
 
-#: lib/tcrypt/tcrypt.c:611 src/cryptsetup.c:1010
+#: lib/tcrypt/tcrypt.c:611 src/cryptsetup.c:1059
 msgid "Required kernel crypto interface not available."
 msgstr "无法找到所需的内核加密接口。"
 
-#: lib/tcrypt/tcrypt.c:613 src/cryptsetup.c:1012
+#: lib/tcrypt/tcrypt.c:613 src/cryptsetup.c:1061
 msgid "Ensure you have algif_skcipher kernel module loaded."
 msgstr "请确定您已载入内核模块 algif_skcipher。"
 
@@ -1045,167 +1052,180 @@ msgstr "扇区大小为 %d 时不支持激活。"
 msgid "Kernel does not support activation for this TCRYPT legacy mode."
 msgstr "内核不支持激活此处的旧 TCRYPT 模式。"
 
-#: lib/tcrypt/tcrypt.c:793
+#: lib/tcrypt/tcrypt.c:790
 #, c-format
 msgid "Activating TCRYPT system encryption for partition %s."
 msgstr "正在为分区 %s 激活 TCRYPT 系统加密。"
 
-#: lib/tcrypt/tcrypt.c:871
+#: lib/tcrypt/tcrypt.c:868
 #, fuzzy
 msgid "Kernel does not support TCRYPT compatible mapping."
 msgstr "内核不支持 TCRYPT 兼容映射。"
 
-#: lib/tcrypt/tcrypt.c:1093
+#: lib/tcrypt/tcrypt.c:1090
 msgid "This function is not supported without TCRYPT header load."
 msgstr "未载入 TCRYPT 标头时不支持此功能。"
 
-#: lib/bitlk/bitlk.c:333
+#: lib/bitlk/bitlk.c:350
 #, c-format
 msgid "Unexpected metadata entry type '%u' found when parsing supported Volume Master Key."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:380
+#: lib/bitlk/bitlk.c:397
 msgid "Invalid string found when parsing Volume Master Key."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:385
+#: lib/bitlk/bitlk.c:402
 #, c-format
 msgid "Unexpected string ('%s') found when parsing supported Volume Master Key."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:399
+#: lib/bitlk/bitlk.c:419
 #, c-format
 msgid "Unexpected metadata entry value '%u' found when parsing supported Volume Master Key."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:479
+#: lib/bitlk/bitlk.c:502
 #, fuzzy, c-format
 msgid "Failed to read BITLK signature from %s."
 msgstr "读取 LUKS2 需求时失败。"
 
-#: lib/bitlk/bitlk.c:485
-msgid "BITLK version 1 is currently not supported."
+#: lib/bitlk/bitlk.c:514
+msgid "Invalid or unknown signature for BITLK device."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:491
-msgid "Invalid or unknown boot signature for BITLK device."
+#: lib/bitlk/bitlk.c:520
+msgid "BITLK version 1 is currently not supported."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:503
-msgid "Invalid or unknown signature for BITLK device."
+#: lib/bitlk/bitlk.c:526
+msgid "Invalid or unknown boot signature for BITLK device."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:510
+#: lib/bitlk/bitlk.c:538
 #, fuzzy, c-format
 msgid "Unsupported sector size %<PRIu16>."
 msgstr "不支持的加密扇区大小。"
 
-#: lib/bitlk/bitlk.c:518
+#: lib/bitlk/bitlk.c:546
 #, fuzzy, c-format
 msgid "Failed to read BITLK header from %s."
 msgstr "读取 LUKS2 需求时失败。"
 
-#: lib/bitlk/bitlk.c:543
+#: lib/bitlk/bitlk.c:571
 #, fuzzy, c-format
 msgid "Failed to read BITLK FVE metadata from %s."
 msgstr "读取 LUKS2 需求时失败。"
 
-#: lib/bitlk/bitlk.c:594
+#: lib/bitlk/bitlk.c:622
 #, fuzzy
 msgid "Unknown or unsupported encryption type."
 msgstr "不支持的加密扇区大小。"
 
-#: lib/bitlk/bitlk.c:627
+#: lib/bitlk/bitlk.c:655
 #, fuzzy, c-format
 msgid "Failed to read BITLK metadata entries from %s."
 msgstr "读取 LUKS2 需求时失败。"
 
-#: lib/bitlk/bitlk.c:921
+#: lib/bitlk/bitlk.c:897
+#, c-format
+msgid "Unexpected metadata entry type '%u' found when parsing external key."
+msgstr ""
+
+#: lib/bitlk/bitlk.c:912
+#, c-format
+msgid "Unexpected metadata entry value '%u' found when parsing external key."
+msgstr ""
+
+#: lib/bitlk/bitlk.c:980
+msgid "Unexpected metadata entry found when parsing startup key."
+msgstr ""
+
+#: lib/bitlk/bitlk.c:1071
 #, fuzzy
 msgid "This operation is not supported."
 msgstr "不支持在 %s 加密设备上执行此操作。"
 
-#: lib/bitlk/bitlk.c:929
-#, fuzzy
-msgid "Wrong key size."
-msgstr "无效的密钥大小。"
+#: lib/bitlk/bitlk.c:1079
+msgid "Unexpected key data size."
+msgstr ""
 
-#: lib/bitlk/bitlk.c:981
+#: lib/bitlk/bitlk.c:1133
 msgid "This BITLK device is in an unsupported state and cannot be activated."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:987
+#: lib/bitlk/bitlk.c:1139
 #, c-format
 msgid "BITLK devices with type '%s' cannot be activated."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:1069
+#: lib/bitlk/bitlk.c:1234
 #, fuzzy
 msgid "Activation of partially decrypted BITLK device is not supported."
 msgstr "激活临时设备失败。"
 
-#: lib/bitlk/bitlk.c:1205
+#: lib/bitlk/bitlk.c:1370
 msgid "Cannot activate device, kernel dm-crypt is missing support for BITLK IV."
 msgstr ""
 
-#: lib/bitlk/bitlk.c:1209
+#: lib/bitlk/bitlk.c:1374
 msgid "Cannot activate device, kernel dm-crypt is missing support for BITLK Elephant diffuser."
 msgstr ""
 
-#: lib/verity/verity.c:68 lib/verity/verity.c:171
+#: lib/verity/verity.c:69 lib/verity/verity.c:180
 #, fuzzy, c-format
 msgid "Verity device %s does not use on-disk header."
 msgstr "Verity 设备 %s 未使用磁盘上的标头。"
 
-#: lib/verity/verity.c:90
+#: lib/verity/verity.c:91
 #, c-format
 msgid "Device %s is not a valid VERITY device."
 msgstr "%s 不是有效的 VERITY 设备。"
 
-#: lib/verity/verity.c:97
+#: lib/verity/verity.c:98
 #, c-format
 msgid "Unsupported VERITY version %d."
 msgstr "不支持的 VERITY 版本 %d。"
 
-#: lib/verity/verity.c:128
+#: lib/verity/verity.c:129
 msgid "VERITY header corrupted."
 msgstr "VERITY 标头损坏。"
 
-#: lib/verity/verity.c:165
+#: lib/verity/verity.c:174
 #, fuzzy, c-format
 msgid "Wrong VERITY UUID format provided on device %s."
 msgstr "为设备 %s 提供的 VERITY UUID 错误。\n"
 
-#: lib/verity/verity.c:198
+#: lib/verity/verity.c:218
 #, fuzzy, c-format
 msgid "Error during update of verity header on device %s."
 msgstr "更新设备 %s 上的 VERITY 标头时出错。\n"
 
-#: lib/verity/verity.c:256
+#: lib/verity/verity.c:276
 #, fuzzy
 msgid "Root hash signature verification is not supported."
 msgstr "不支持请求的 sector_size 选项。"
 
-#: lib/verity/verity.c:267
+#: lib/verity/verity.c:288
 msgid "Errors cannot be repaired with FEC device."
 msgstr ""
 
-#: lib/verity/verity.c:269
+#: lib/verity/verity.c:290
 #, c-format
 msgid "Found %u repairable errors with FEC device."
 msgstr ""
 
-#: lib/verity/verity.c:308
+#: lib/verity/verity.c:333
 #, fuzzy
 msgid "Kernel does not support dm-verity mapping."
 msgstr "内核不支持 dm-verity 映射。"
 
-#: lib/verity/verity.c:312
+#: lib/verity/verity.c:337
 #, fuzzy
 msgid "Kernel does not support dm-verity signature option."
 msgstr "内核不支持 dm-verity 映射。"
 
-#: lib/verity/verity.c:323
+#: lib/verity/verity.c:348
 #, fuzzy
 msgid "Verity device detected corruption after activation."
 msgstr "在 VERITY 设备激活后探测到损坏。\n"
@@ -1215,43 +1235,38 @@ msgstr "在 VERITY 设备激活后探测到损坏。\n"
 msgid "Spare area is not zeroed at position %<PRIu64>."
 msgstr "备用区位置 %<PRIu64> 未清零。\n"
 
-#: lib/verity/verity_hash.c:163 lib/verity/verity_hash.c:290
-#: lib/verity/verity_hash.c:303
+#: lib/verity/verity_hash.c:154 lib/verity/verity_hash.c:266
+#: lib/verity/verity_hash.c:277
 msgid "Device offset overflow."
 msgstr "设备偏移量溢出。"
 
-#: lib/verity/verity_hash.c:203
+#: lib/verity/verity_hash.c:194
 #, fuzzy, c-format
 msgid "Verification failed at position %<PRIu64>."
 msgstr "在 %<PRIu64> 上发生检验错误。\n"
 
-#: lib/verity/verity_hash.c:276
-#, fuzzy
-msgid "Invalid size parameters for verity device."
-msgstr "为 VERITY 设备提供的大小指标无效。\n"
-
-#: lib/verity/verity_hash.c:296
+#: lib/verity/verity_hash.c:273
 msgid "Hash area overflow."
 msgstr "哈希区域溢出。"
 
-#: lib/verity/verity_hash.c:373
+#: lib/verity/verity_hash.c:346
 msgid "Verification of data area failed."
 msgstr "数据区检验失败。"
 
-#: lib/verity/verity_hash.c:378
+#: lib/verity/verity_hash.c:351
 msgid "Verification of root hash failed."
 msgstr "根哈希值检验失败。"
 
-#: lib/verity/verity_hash.c:384
+#: lib/verity/verity_hash.c:357
 #, fuzzy
 msgid "Input/output error while creating hash area."
 msgstr "创建哈希数据区时发生输入/输出错误。\n"
 
-#: lib/verity/verity_hash.c:386
+#: lib/verity/verity_hash.c:359
 msgid "Creation of hash area failed."
 msgstr "创建哈希区失败。"
 
-#: lib/verity/verity_hash.c:433
+#: lib/verity/verity_hash.c:394
 #, fuzzy, c-format
 msgid "WARNING: Kernel cannot activate device if data block size exceeds page size (%u)."
 msgstr "警告:如数据块大小超过内存分页大小,内核将无法激活设备 (%u)。\n"
@@ -1262,56 +1277,64 @@ msgid "Failed to allocate RS context."
 msgstr "打开 (open) 密钥文件失败。\n"
 
 # stat() 主要就是出来一个各种文件信息……
-#: lib/verity/verity_fec.c:146
+#: lib/verity/verity_fec.c:149
 #, fuzzy
 msgid "Failed to allocate buffer."
 msgstr "获取 (stat) 密钥文件统计数据失败。\n"
 
-#: lib/verity/verity_fec.c:156
+#: lib/verity/verity_fec.c:159
 #, fuzzy, c-format
 msgid "Failed to read RS block %<PRIu64> byte %d."
 msgstr "无法访问临时密钥存储设备。\n"
 
-#: lib/verity/verity_fec.c:169
+#: lib/verity/verity_fec.c:172
 #, fuzzy, c-format
 msgid "Failed to read parity for RS block %<PRIu64>."
 msgstr "无法访问临时密钥存储设备。\n"
 
-#: lib/verity/verity_fec.c:177
+#: lib/verity/verity_fec.c:180
 #, fuzzy, c-format
 msgid "Failed to repair parity for block %<PRIu64>."
 msgstr "无法访问临时密钥存储设备。\n"
 
-#: lib/verity/verity_fec.c:188
+#: lib/verity/verity_fec.c:191
 #, fuzzy, c-format
 msgid "Failed to write parity for RS block %<PRIu64>."
 msgstr "无法访问临时密钥存储设备。\n"
 
-#: lib/verity/verity_fec.c:223
+#: lib/verity/verity_fec.c:227
 msgid "Block sizes must match for FEC."
 msgstr ""
 
-#: lib/verity/verity_fec.c:229
+#: lib/verity/verity_fec.c:233
 msgid "Invalid number of parity bytes."
 msgstr ""
 
-#: lib/verity/verity_fec.c:265
+#: lib/verity/verity_fec.c:238
+msgid "Invalid FEC segment length."
+msgstr ""
+
+#: lib/verity/verity_fec.c:302
 #, fuzzy, c-format
 msgid "Failed to determine size for device %s."
 msgstr "打开临时密钥存储设备失败。\n"
 
-#: lib/integrity/integrity.c:271 lib/integrity/integrity.c:343
+#: lib/integrity/integrity.c:272 lib/integrity/integrity.c:355
 #, fuzzy
 msgid "Kernel does not support dm-integrity mapping."
 msgstr "内核不支持 dm-verity 映射。\n"
 
-#: lib/integrity/integrity.c:277
+#: lib/integrity/integrity.c:278
 #, fuzzy
 msgid "Kernel does not support dm-integrity fixed metadata alignment."
 msgstr "内核不支持 dm-verity 映射。\n"
 
-#: lib/luks2/luks2_disk_metadata.c:383 lib/luks2/luks2_json_metadata.c:959
-#: lib/luks2/luks2_json_metadata.c:1244
+#: lib/integrity/integrity.c:287
+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
 #, c-format
 msgid "Failed to acquire write lock on device %s."
 msgstr "无法获取设备 %s 上的写入锁。"
@@ -1331,118 +1354,118 @@ msgstr ""
 msgid "Requested data offset is too small."
 msgstr "设备 %s 太小。"
 
-#: lib/luks2/luks2_json_format.c:271
+#: lib/luks2/luks2_json_format.c:272
 #, c-format
 msgid "WARNING: keyslots area (%<PRIu64> bytes) is very small, available LUKS2 keyslot count is very limited.\n"
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:946 lib/luks2/luks2_json_metadata.c:1074
-#: lib/luks2/luks2_json_metadata.c:1150 lib/luks2/luks2_keyslot_luks2.c:92
+#: lib/luks2/luks2_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
 #, c-format
 msgid "Failed to acquire read lock on device %s."
 msgstr "无法获取设备 %s 的读取锁。"
 
-#: lib/luks2/luks2_json_metadata.c:1167
+#: lib/luks2/luks2_json_metadata.c:1262
 #, c-format
 msgid "Forbidden LUKS2 requirements detected in backup %s."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:1208
+#: lib/luks2/luks2_json_metadata.c:1303
 #, fuzzy
 msgid "Data offset differ on device and backup, restore failed."
 msgstr "源设备和备份上的数据偏移或密钥大小不符,恢复失败。\n"
 
-#: lib/luks2/luks2_json_metadata.c:1214
+#: lib/luks2/luks2_json_metadata.c:1309
 #, fuzzy
 msgid "Binary header with keyslot areas size differ on device and backup, restore failed."
 msgstr "源设备和备份上的数据偏移或密钥大小不符,恢复失败。\n"
 
-#: lib/luks2/luks2_json_metadata.c:1221
+#: lib/luks2/luks2_json_metadata.c:1316
 #, c-format
 msgid "Device %s %s%s%s%s"
 msgstr "设备 %s %s%s%s%s"
 
-#: lib/luks2/luks2_json_metadata.c:1222
+#: lib/luks2/luks2_json_metadata.c:1317
 #, fuzzy
 msgid "does not contain LUKS2 header. Replacing header can destroy data on that device."
 msgstr "不包含 LUKS 标头。替换标头可能损毁设备上的数据。"
 
-#: lib/luks2/luks2_json_metadata.c:1223
+#: lib/luks2/luks2_json_metadata.c:1318
 #, fuzzy
 msgid "already contains LUKS2 header. Replacing header will destroy existing keyslots."
 msgstr "已包含 LUKS 标头。替换标头将损毁已存在的密钥槽。"
 
-#: lib/luks2/luks2_json_metadata.c:1225
+#: lib/luks2/luks2_json_metadata.c:1320
 msgid ""
 "\n"
 "WARNING: unknown LUKS2 requirements detected in real device header!\n"
 "Replacing header with backup may corrupt the data on that device!"
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:1227
+#: lib/luks2/luks2_json_metadata.c:1322
 msgid ""
 "\n"
 "WARNING: Unfinished offline reencryption detected on the device!\n"
 "Replacing header with backup may corrupt data."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:1323
+#: lib/luks2/luks2_json_metadata.c:1420
 #, c-format
 msgid "Ignored unknown flag %s."
 msgstr "已忽略未知旗标 %s。"
 
-#: lib/luks2/luks2_json_metadata.c:2010 lib/luks2/luks2_reencrypt.c:1746
+#: lib/luks2/luks2_json_metadata.c:2197 lib/luks2/luks2_reencrypt.c:1856
 #, c-format
 msgid "Missing key for dm-crypt segment %u"
 msgstr ""
 
 # stat() 主要就是出来一个各种文件信息……
-#: lib/luks2/luks2_json_metadata.c:2022 lib/luks2/luks2_reencrypt.c:1764
+#: lib/luks2/luks2_json_metadata.c:2209 lib/luks2/luks2_reencrypt.c:1874
 #, fuzzy
 msgid "Failed to set dm-crypt segment."
 msgstr "设置 pbkdf 参数失败。"
 
 # stat() 主要就是出来一个各种文件信息……
-#: lib/luks2/luks2_json_metadata.c:2028 lib/luks2/luks2_reencrypt.c:1770
+#: lib/luks2/luks2_json_metadata.c:2215 lib/luks2/luks2_reencrypt.c:1880
 #, fuzzy
 msgid "Failed to set dm-linear segment."
 msgstr "设置 pbkdf 参数失败。"
 
-#: lib/luks2/luks2_json_metadata.c:2155
+#: lib/luks2/luks2_json_metadata.c:2342
 msgid "Unsupported device integrity configuration."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:2241
+#: lib/luks2/luks2_json_metadata.c:2428
 msgid "Reencryption in-progress. Cannot deactivate device."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:2252 lib/luks2/luks2_reencrypt.c:3190
+#: lib/luks2/luks2_json_metadata.c:2439 lib/luks2/luks2_reencrypt.c:3416
 #, c-format
 msgid "Failed to replace suspended device %s with dm-error target."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:2332
+#: lib/luks2/luks2_json_metadata.c:2519
 msgid "Failed to read LUKS2 requirements."
 msgstr "读取 LUKS2 需求时失败。"
 
-#: lib/luks2/luks2_json_metadata.c:2339
+#: lib/luks2/luks2_json_metadata.c:2526
 msgid "Unmet LUKS2 requirements detected."
 msgstr "探测到未满足的 LUKS2 需求。"
 
-#: lib/luks2/luks2_json_metadata.c:2347
+#: lib/luks2/luks2_json_metadata.c:2534
 msgid "Operation incompatible with device marked for legacy reencryption. Aborting."
 msgstr ""
 
-#: lib/luks2/luks2_json_metadata.c:2349
+#: lib/luks2/luks2_json_metadata.c:2536
 msgid "Operation incompatible with device marked for LUKS2 reencryption. Aborting."
 msgstr ""
 
-#: lib/luks2/luks2_keyslot.c:547 lib/luks2/luks2_keyslot.c:584
+#: lib/luks2/luks2_keyslot.c:556 lib/luks2/luks2_keyslot.c:593
 msgid "Not enough available memory to open a keyslot."
 msgstr ""
 
-#: lib/luks2/luks2_keyslot.c:549 lib/luks2/luks2_keyslot.c:586
+#: lib/luks2/luks2_keyslot.c:558 lib/luks2/luks2_keyslot.c:595
 #, fuzzy
 msgid "Keyslot open failed."
 msgstr "密钥槽 %i: 已清除盐。"
@@ -1475,7 +1498,7 @@ msgstr "无法移动密钥槽区域。空间不足。"
 msgid "Unable to move keyslot area. LUKS2 keyslots area too small."
 msgstr "无法移动密钥槽区域。空间不足。"
 
-#: lib/luks2/luks2_luks1_convert.c:605 lib/luks2/luks2_luks1_convert.c:887
+#: lib/luks2/luks2_luks1_convert.c:605 lib/luks2/luks2_luks1_convert.c:889
 msgid "Unable to move keyslot area."
 msgstr "无法移动密钥槽区域。"
 
@@ -1514,551 +1537,586 @@ msgstr "LUKS 密钥槽 %u 无效。\n"
 msgid "Cannot convert to LUKS1 format - keyslot %u is not LUKS1 compatible."
 msgstr "LUKS 密钥槽 %u 无效。\n"
 
-#: lib/luks2/luks2_reencrypt.c:892
+#: lib/luks2/luks2_reencrypt.c:1002
 #, c-format
 msgid "Hotzone size must be multiple of calculated zone alignment (%zu bytes)."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:897
+#: lib/luks2/luks2_reencrypt.c:1007
 #, fuzzy, c-format
 msgid "Device size must be multiple of calculated zone alignment (%zu bytes)."
 msgstr "设备 %s 的大小没有和请求的扇区大小对齐(%u 字节)。"
 
-#: lib/luks2/luks2_reencrypt.c:941
+#: lib/luks2/luks2_reencrypt.c:1051
 #, fuzzy, c-format
 msgid "Unsupported resilience mode %s"
 msgstr "不支持的 LUKS 版本 %d。"
 
-#: lib/luks2/luks2_reencrypt.c:1158 lib/luks2/luks2_reencrypt.c:1313
-#: lib/luks2/luks2_reencrypt.c:1396 lib/luks2/luks2_reencrypt.c:1430
-#: lib/luks2/luks2_reencrypt.c:3030
+#: lib/luks2/luks2_reencrypt.c: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
 #, fuzzy
 msgid "Failed to initialize old segment storage wrapper."
 msgstr "初始化默认 LUKS2 密钥槽参数失败。"
 
-#: lib/luks2/luks2_reencrypt.c:1172 lib/luks2/luks2_reencrypt.c:1291
+#: lib/luks2/luks2_reencrypt.c:1282 lib/luks2/luks2_reencrypt.c:1401
 #, fuzzy
 msgid "Failed to initialize new segment storage wrapper."
 msgstr "初始化默认 LUKS2 密钥槽参数失败。"
 
-#: lib/luks2/luks2_reencrypt.c:1340
+#: lib/luks2/luks2_reencrypt.c:1450
 #, fuzzy
 msgid "Failed to read checksums for current hotzone."
 msgstr "从备份标头读取需求失败。"
 
-#: lib/luks2/luks2_reencrypt.c:1347 lib/luks2/luks2_reencrypt.c:3038
+#: lib/luks2/luks2_reencrypt.c:1457 lib/luks2/luks2_reencrypt.c:3259
 #, fuzzy, c-format
 msgid "Failed to read hotzone area starting at %<PRIu64>."
 msgstr "无法访问临时密钥存储设备。\n"
 
 # stat() 主要就是出来一个各种文件信息……
-#: lib/luks2/luks2_reencrypt.c:1366
+#: lib/luks2/luks2_reencrypt.c:1476
 #, fuzzy, c-format
 msgid "Failed to decrypt sector %zu."
 msgstr "获取 (stat) 密钥文件统计数据失败。\n"
 
-#: lib/luks2/luks2_reencrypt.c:1372
+#: lib/luks2/luks2_reencrypt.c:1482
 #, fuzzy, c-format
 msgid "Failed to recover sector %zu."
 msgstr "打开 (open) 密钥文件失败。\n"
 
-#: lib/luks2/luks2_reencrypt.c:1867
+#: lib/luks2/luks2_reencrypt.c:1977
 #, c-format
 msgid "Source and target device sizes don't match. Source %<PRIu64>, target: %<PRIu64>."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:1965
+#: lib/luks2/luks2_reencrypt.c:2075
 #, fuzzy, c-format
 msgid "Failed to activate hotzone device %s."
 msgstr "无法获取设备 %s 上的写入锁。"
 
-#: lib/luks2/luks2_reencrypt.c:1982
+#: lib/luks2/luks2_reencrypt.c:2092
 #, c-format
 msgid "Failed to activate overlay device %s with actual origin table."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:1989
+#: lib/luks2/luks2_reencrypt.c:2099
 #, fuzzy, c-format
 msgid "Failed to load new mapping for device %s."
 msgstr "打开临时密钥存储设备失败。\n"
 
-#: lib/luks2/luks2_reencrypt.c:2060
+#: lib/luks2/luks2_reencrypt.c:2170
 #, fuzzy
 msgid "Failed to refresh reencryption devices stack."
 msgstr "无法获取设备 %s 的读取锁。"
 
-#: lib/luks2/luks2_reencrypt.c:2216
+#: lib/luks2/luks2_reencrypt.c:2326
 #, fuzzy
 msgid "Failed to set new keyslots area size."
 msgstr "交换新密钥槽失败。"
 
-#: lib/luks2/luks2_reencrypt.c:2318
+#: lib/luks2/luks2_reencrypt.c:2430
 #, fuzzy, c-format
 msgid "Data shift is not aligned to requested encryption sector size (%<PRIu32> bytes)."
 msgstr "设备 %s 的大小没有和请求的扇区大小对齐(%u 字节)。"
 
-#: lib/luks2/luks2_reencrypt.c:2339
+#: lib/luks2/luks2_reencrypt.c:2451
 #, fuzzy, c-format
 msgid "Data device is not aligned to requested encryption sector size (%<PRIu32> bytes)."
 msgstr "设备 %s 的大小没有和请求的扇区大小对齐(%u 字节)。"
 
-#: lib/luks2/luks2_reencrypt.c:2360
+#: lib/luks2/luks2_reencrypt.c:2472
 #, c-format
 msgid "Data shift (%<PRIu64> sectors) is less than future data offset (%<PRIu64> sectors)."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2366 lib/luks2/luks2_reencrypt.c:2779
-#: lib/luks2/luks2_reencrypt.c:2800
+#: lib/luks2/luks2_reencrypt.c:2478 lib/luks2/luks2_reencrypt.c:2918
+#: lib/luks2/luks2_reencrypt.c:2939
 #, fuzzy, c-format
 msgid "Failed to open %s in exclusive mode (already mapped or mounted)."
 msgstr "无法使用正被使用的设备 %s(已被映射或挂载)。"
 
-#: lib/luks2/luks2_reencrypt.c:2534
+#: lib/luks2/luks2_reencrypt.c:2647
 msgid "Device not marked for LUKS2 reencryption."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2540 lib/luks2/luks2_reencrypt.c:3295
+#: lib/luks2/luks2_reencrypt.c:2664 lib/luks2/luks2_reencrypt.c:3536
 #, fuzzy
 msgid "Failed to load LUKS2 reencryption context."
 msgstr "打开 (open) 密钥文件失败。\n"
 
-#: lib/luks2/luks2_reencrypt.c:2619
+#: lib/luks2/luks2_reencrypt.c:2744
 #, fuzzy
 msgid "Failed to get reencryption state."
 msgstr "打开 (open) 密钥文件失败。\n"
 
-#: lib/luks2/luks2_reencrypt.c:2623
+#: lib/luks2/luks2_reencrypt.c:2748 lib/luks2/luks2_reencrypt.c:3032
 #, fuzzy
 msgid "Device is not in reencryption."
 msgstr "设备 %s 未激活。"
 
-#: lib/luks2/luks2_reencrypt.c:2630
+#: lib/luks2/luks2_reencrypt.c:2755 lib/luks2/luks2_reencrypt.c:3039
 #, fuzzy
 msgid "Reencryption process is already running."
 msgstr "重加密已在进行中。"
 
-#: lib/luks2/luks2_reencrypt.c:2632
+#: lib/luks2/luks2_reencrypt.c:2757 lib/luks2/luks2_reencrypt.c:3041
 #, fuzzy
 msgid "Failed to acquire reencryption lock."
 msgstr "无法获取写入设备锁。"
 
-#: lib/luks2/luks2_reencrypt.c:2650
+#: lib/luks2/luks2_reencrypt.c:2775
 msgid "Cannot proceed with reencryption. Run reencryption recovery first."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2750
+#: lib/luks2/luks2_reencrypt.c:2889
 msgid "Active device size and requested reencryption size don't match."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2764
+#: lib/luks2/luks2_reencrypt.c:2903
 msgid "Illegal device size requested in reencryption parameters."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2834
+#: lib/luks2/luks2_reencrypt.c:2973
 #, fuzzy
 msgid "Reencryption in-progress. Cannot perform recovery."
 msgstr "重加密已在进行中。"
 
-#: lib/luks2/luks2_reencrypt.c:2906
+#: lib/luks2/luks2_reencrypt.c:3129
 msgid "LUKS2 reencryption already initialized in metadata."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:2913
+#: lib/luks2/luks2_reencrypt.c:3136
 #, fuzzy
 msgid "Failed to initialize LUKS2 reencryption in metadata."
 msgstr "初始化默认 LUKS2 密钥槽参数失败。"
 
-#: lib/luks2/luks2_reencrypt.c:3004
+#: lib/luks2/luks2_reencrypt.c:3225
 msgid "Failed to set device segments for next reencryption hotzone."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3046
+#: lib/luks2/luks2_reencrypt.c:3267
 #, fuzzy
 msgid "Failed to write reencryption resilience metadata."
 msgstr "向新表头写入活动旗标失败。"
 
-#: lib/luks2/luks2_reencrypt.c:3053
+#: lib/luks2/luks2_reencrypt.c:3274
 #, fuzzy
 msgid "Decryption failed."
 msgstr "修复失败。"
 
-#: lib/luks2/luks2_reencrypt.c:3058
+#: lib/luks2/luks2_reencrypt.c:3279
 #, fuzzy, c-format
 msgid "Failed to write hotzone area starting at %<PRIu64>."
 msgstr "无法访问临时密钥存储设备。\n"
 
 # stat() 主要就是出来一个各种文件信息……
-#: lib/luks2/luks2_reencrypt.c:3063
+#: lib/luks2/luks2_reencrypt.c:3284
 #, fuzzy
 msgid "Failed to sync data."
 msgstr "获取 (stat) 密钥文件信息失败。"
 
-#: lib/luks2/luks2_reencrypt.c:3071
+#: lib/luks2/luks2_reencrypt.c:3292
 msgid "Failed to update metadata after current reencryption hotzone completed."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3138
+#: lib/luks2/luks2_reencrypt.c:3359
 #, fuzzy
 msgid "Failed to write LUKS2 metadata."
 msgstr "读取 LUKS2 需求时失败。"
 
-#: lib/luks2/luks2_reencrypt.c:3161
+#: lib/luks2/luks2_reencrypt.c:3382
 #, fuzzy
 msgid "Failed to wipe backup segment data."
 msgstr "交换新密钥槽失败。"
 
-#: lib/luks2/luks2_reencrypt.c:3174
+#: lib/luks2/luks2_reencrypt.c:3388
+#, fuzzy, c-format
+msgid "Failed to remove unused (unbound) keyslot %d."
+msgstr "打开 (open) 密钥文件失败。\n"
+
+#: lib/luks2/luks2_reencrypt.c:3398
 #, fuzzy
-msgid "Failed to disable reencryption requirement flag."
-msgstr "读取 LUKS2 需求时失败。"
+msgid "Failed to remove reencryption keyslot."
+msgstr "打开 (open) 密钥文件失败。\n"
 
-#: lib/luks2/luks2_reencrypt.c:3182
+#: lib/luks2/luks2_reencrypt.c:3408
 #, c-format
 msgid "Fatal error while reencrypting chunk starting at %<PRIu64>, %<PRIu64> sectors long."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3191
+#: lib/luks2/luks2_reencrypt.c:3417
 msgid "Do not resume the device unless replaced with error target manually."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3240
+#: lib/luks2/luks2_reencrypt.c:3467
 msgid "Cannot proceed with reencryption. Unexpected reencryption status."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3246
+#: lib/luks2/luks2_reencrypt.c:3473
 msgid "Missing or invalid reencrypt context."
 msgstr ""
 
-#: lib/luks2/luks2_reencrypt.c:3253
+#: lib/luks2/luks2_reencrypt.c:3480
 #, fuzzy
 msgid "Failed to initialize reencryption device stack."
 msgstr "无法获取设备 %s 的读取锁。"
 
-#: lib/luks2/luks2_reencrypt.c:3272 lib/luks2/luks2_reencrypt.c:3308
+#: lib/luks2/luks2_reencrypt.c:3508 lib/luks2/luks2_reencrypt.c:3549
 #, fuzzy
 msgid "Failed to update reencryption context."
 msgstr "打开 (open) 密钥文件失败。\n"
 
-#: lib/luks2/luks2_token.c:262
+#: lib/luks2/luks2_reencrypt_digest.c:376
+#, fuzzy
+msgid "Reencryption metadata is invalid."
+msgstr "密钥槽 %d 无效。"
+
+#: lib/luks2/luks2_token.c:263
 #, fuzzy
 msgid "No free token slot."
 msgstr "交换新密钥槽失败。\n"
 
 # stat() 主要就是出来一个各种文件信息……
-#: lib/luks2/luks2_token.c:269
+#: lib/luks2/luks2_token.c:270
 #, fuzzy, c-format
 msgid "Failed to create builtin token %s."
 msgstr "获取 (stat) 密钥文件统计数据失败。\n"
 
-#: src/cryptsetup.c:164
+#: src/cryptsetup.c:198
 #, fuzzy
 msgid "Can't do passphrase verification on non-tty inputs."
 msgstr "无法从非 TTY 输入验证密码。\n"
 
-#: src/cryptsetup.c:221
+#: src/cryptsetup.c:261
 #, fuzzy
 msgid "Keyslot encryption parameters can be set only for LUKS2 device."
 msgstr "此操作只适用 LUKS2 设备。"
 
-#: src/cryptsetup.c:251 src/cryptsetup.c:959 src/cryptsetup.c:1269
-#: src/cryptsetup.c:3145 src/cryptsetup_reencrypt.c:723
-#: src/cryptsetup_reencrypt.c:793
+#: src/cryptsetup.c:291 src/cryptsetup.c:1006 src/cryptsetup.c:1389
+#: src/cryptsetup.c:3295 src/cryptsetup_reencrypt.c:741
+#: src/cryptsetup_reencrypt.c:811
 #, fuzzy
 msgid "No known cipher specification pattern detected."
 msgstr "未探测到已知的密文特征。\n"
 
-#: src/cryptsetup.c:259
+#: src/cryptsetup.c:299
 msgid "WARNING: The --hash parameter is being ignored in plain mode with keyfile specified.\n"
 msgstr "警告:在纯文本模式下指定密钥文件时将忽略参数 --hash。\n"
 
-#: src/cryptsetup.c:267
+#: src/cryptsetup.c:307
 msgid "WARNING: The --keyfile-size option is being ignored, the read size is the same as the encryption key size.\n"
 msgstr "警告:将忽略参数 --keyfile-size,读取大小应与加密密钥大小一致。\n"
 
-#: src/cryptsetup.c:307
+#: src/cryptsetup.c:347
 #, c-format
 msgid "Detected device signature(s) on %s. Proceeding further may damage existing data."
 msgstr ""
 
-#: src/cryptsetup.c:313 src/cryptsetup.c:1090 src/cryptsetup.c:1142
-#: src/cryptsetup.c:1246 src/cryptsetup.c:1319 src/cryptsetup.c:1974
-#: src/cryptsetup.c:2682 src/cryptsetup.c:2805 src/integritysetup.c:233
+#: src/cryptsetup.c: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
 msgid "Operation aborted.\n"
 msgstr "操作中止。\n"
 
-#: src/cryptsetup.c:381
+#: src/cryptsetup.c:421
 msgid "Option --key-file is required."
 msgstr "需要选项 --key-file。"
 
-#: src/cryptsetup.c:434
+#: src/cryptsetup.c:474
 msgid "Enter VeraCrypt PIM: "
 msgstr "输入 VeraCrypt PIM: "
 
-#: src/cryptsetup.c:443
+#: src/cryptsetup.c:483
 msgid "Invalid PIM value: parse error."
 msgstr "无效的 PIM 值:解析错误。"
 
-#: src/cryptsetup.c:446
+#: src/cryptsetup.c:486
 msgid "Invalid PIM value: 0."
 msgstr "无效的 PIM 值:0。"
 
-#: src/cryptsetup.c:449
+#: src/cryptsetup.c:489
 msgid "Invalid PIM value: outside of range."
 msgstr "无效的 PIM 值:超出范围。"
 
-#: src/cryptsetup.c:472
+#: src/cryptsetup.c:512
 #, fuzzy
 msgid "No device header detected with this passphrase."
 msgstr "未从此密码中探测到设备标头。\n"
 
-#: src/cryptsetup.c:541
+#: src/cryptsetup.c:582
 #, fuzzy, c-format
 msgid "Device %s is not a valid BITLK device."
 msgstr "%s 不是有效的 LUKS 设备。"
 
-#: src/cryptsetup.c:576
+#: src/cryptsetup.c:617
 msgid ""
 "Header dump with volume key is sensitive information\n"
 "which allows access to encrypted partition without passphrase.\n"
 "This dump should be always stored encrypted on safe place."
 msgstr ""
 
-#: src/cryptsetup.c:673
+#: src/cryptsetup.c:714
 #, c-format
 msgid "Device %s is still active and scheduled for deferred removal.\n"
 msgstr ""
 
-#: src/cryptsetup.c:701
+#: src/cryptsetup.c:742
 msgid "Resize of active device requires volume key in keyring but --disable-keyring option is set."
 msgstr ""
 
-#: src/cryptsetup.c:838
+#: src/cryptsetup.c:885
 #, fuzzy
 msgid "Benchmark interrupted."
 msgstr "测试密文"
 
-#: src/cryptsetup.c:859
+#: src/cryptsetup.c:906
 #, c-format
 msgid "PBKDF2-%-9s     N/A\n"
 msgstr ""
 
-#: src/cryptsetup.c:861
+#: src/cryptsetup.c:908
 #, c-format
 msgid "PBKDF2-%-9s %7u iterations per second for %zu-bit key\n"
 msgstr ""
 
-#: src/cryptsetup.c:875
+#: src/cryptsetup.c:922
 #, c-format
 msgid "%-10s N/A\n"
 msgstr ""
 
-#: src/cryptsetup.c:877
+#: src/cryptsetup.c:924
 #, c-format
 msgid "%-10s %4u iterations, %5u memory, %1u parallel threads (CPUs) for %zu-bit key (requested %u ms time)\n"
 msgstr ""
 
-#: src/cryptsetup.c:901
+#: src/cryptsetup.c:948
 #, fuzzy
 msgid "Result of benchmark is not reliable."
 msgstr "测试结果不可靠。\n"
 
-#: src/cryptsetup.c:951
+#: src/cryptsetup.c:998
 msgid "# Tests are approximate using memory only (no storage IO).\n"
 msgstr "# 测试仅使用内存(无存储 IO)。\n"
 
 #. TRANSLATORS: The string is header of a table and must be exactly (right side) aligned.
-#: src/cryptsetup.c:971
+#: src/cryptsetup.c:1018
 #, fuzzy, c-format
 msgid "#%*s Algorithm |       Key |      Encryption |      Decryption\n"
 msgstr "#  算法      | 密钥 | 加密         | 解密\n"
 
-#: src/cryptsetup.c:975
+#: src/cryptsetup.c:1022
 #, fuzzy, c-format
 msgid "Cipher %s (with %i bits key) is not available."
 msgstr "密文 %s 不可用。\n"
 
 #. TRANSLATORS: The string is header of a table and must be exactly (right side) aligned.
-#: src/cryptsetup.c:994
+#: src/cryptsetup.c:1041
 #, fuzzy
 msgid "#     Algorithm |       Key |      Encryption |      Decryption\n"
 msgstr "#  算法      | 密钥 | 加密         | 解密\n"
 
-#: src/cryptsetup.c:1003
+#: src/cryptsetup.c:1052
 msgid "N/A"
 msgstr "不可用"
 
-#: src/cryptsetup.c:1083
+#: src/cryptsetup.c:1134
 msgid ""
-"Seems device does not require reencryption recovery.\n"
-"Do you want to proceed anyway?"
+"Unprotected LUKS2 reencryption metadata detected. Please verify the reencryption operation is desirable (see luksDump output)\n"
+"and continue (upgrade metadata) only if you acknowledge the operation as genuine."
 msgstr ""
 
-#: src/cryptsetup.c:1089
+#: src/cryptsetup.c:1140
+#, fuzzy
+msgid "Enter passphrase to protect and uppgrade reencryption metadata: "
+msgstr "输入要移除的口令: "
+
+#: src/cryptsetup.c:1183
 msgid "Really proceed with LUKS2 reencryption recovery?"
 msgstr ""
 
-#: src/cryptsetup.c:1098
+#: src/cryptsetup.c:1193
+#, fuzzy
+msgid "Enter passphrase to verify reencryption metadata digest: "
+msgstr "输入要移除的口令: "
+
+#: src/cryptsetup.c:1195
 #, fuzzy
 msgid "Enter passphrase for reencryption recovery: "
 msgstr "输入密钥槽 %u 的密码:"
 
-#: src/cryptsetup.c:1141
+#: src/cryptsetup.c:1245
 msgid "Really try to repair LUKS device header?"
 msgstr "确定要尝试修复 LUKS 设备标头吗?"
 
-#: src/cryptsetup.c:1160 src/integritysetup.c:146
+#: src/cryptsetup.c:1265 src/integritysetup.c:157
 msgid ""
 "Wiping device to initialize integrity checksum.\n"
 "You can interrupt this by pressing CTRL+c (rest of not wiped device will contain invalid checksum).\n"
 msgstr ""
 
-#: src/cryptsetup.c:1182 src/integritysetup.c:168
+#: src/cryptsetup.c:1287 src/integritysetup.c:179
 #, fuzzy, c-format
 msgid "Cannot deactivate temporary device %s."
 msgstr "无法打开临时 LUKS 设备。\n"
 
-#: src/cryptsetup.c:1231
+#: src/cryptsetup.c:1351
 msgid "Integrity option can be used only for LUKS2 format."
 msgstr ""
 
-#: src/cryptsetup.c:1236 src/cryptsetup.c:1296
+#: src/cryptsetup.c:1356 src/cryptsetup.c:1416
 #, fuzzy
 msgid "Unsupported LUKS2 metadata size options."
 msgstr "不支持的 LUKS 版本 %d。"
 
-#: src/cryptsetup.c:1253
+#: src/cryptsetup.c:1365
+msgid "Header file does not exist, do you want to create it?"
+msgstr ""
+
+#: src/cryptsetup.c:1373
 #, c-format
 msgid "Cannot create header file %s."
 msgstr "无法创建标头文件 %s。"
 
-#: src/cryptsetup.c:1276 src/integritysetup.c:195 src/integritysetup.c:204
-#: src/integritysetup.c:213 src/integritysetup.c:284 src/integritysetup.c:293
-#: src/integritysetup.c:303
+#: src/cryptsetup.c: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
 #, fuzzy
 msgid "No known integrity specification pattern detected."
 msgstr "未探测到已知的密文特征。\n"
 
-#: src/cryptsetup.c:1289
+#: src/cryptsetup.c:1409
 #, c-format
 msgid "Cannot use %s as on-disk header."
 msgstr "无法将 %s 作为磁盘上的标头使用。"
 
-#: src/cryptsetup.c:1313 src/integritysetup.c:227
+#: src/cryptsetup.c:1433 src/integritysetup.c:236
 #, c-format
 msgid "This will overwrite data on %s irrevocably."
 msgstr "这将覆盖 %s 上的数据,该动作不可取消。"
 
 # stat() 主要就是出来一个各种文件信息……
-#: src/cryptsetup.c:1354 src/cryptsetup.c:1688 src/cryptsetup.c:1755
-#: src/cryptsetup.c:1857 src/cryptsetup.c:1923 src/cryptsetup_reencrypt.c:553
+#: src/cryptsetup.c:1466 src/cryptsetup.c:1800 src/cryptsetup.c:1867
+#: src/cryptsetup.c:1969 src/cryptsetup.c:2035 src/cryptsetup_reencrypt.c:571
 msgid "Failed to set pbkdf parameters."
 msgstr "设置 pbkdf 参数失败。"
 
-#: src/cryptsetup.c:1439
+#: src/cryptsetup.c:1551
 #, fuzzy
 msgid "Reduced data offset is allowed only for detached LUKS header."
 msgstr "仅已脱离的 LUKS 数据头可以使用缩减的数据偏移。\n"
 
-#: src/cryptsetup.c:1450 src/cryptsetup.c:1761
+#: src/cryptsetup.c:1562 src/cryptsetup.c:1873
 msgid "Cannot determine volume key size for LUKS without keyslots, please use --key-size option."
 msgstr ""
 
-#: src/cryptsetup.c:1488
+#: src/cryptsetup.c:1600
 msgid "Device activated but cannot make flags persistent."
 msgstr ""
 
-#: src/cryptsetup.c:1569 src/cryptsetup.c:1639
+#: src/cryptsetup.c:1681 src/cryptsetup.c:1751
 #, fuzzy, c-format
 msgid "Keyslot %d is selected for deletion."
 msgstr "已选中密钥槽 %d 以删除。\n"
 
-#: src/cryptsetup.c:1581 src/cryptsetup.c:1642
+#: src/cryptsetup.c:1693 src/cryptsetup.c:1754
 msgid "This is the last keyslot. Device will become unusable after purging this key."
 msgstr "这是最后一个密钥槽。设备在清空此密钥后将不可用。"
 
-#: src/cryptsetup.c:1582
+#: src/cryptsetup.c:1694
 msgid "Enter any remaining passphrase: "
 msgstr "输入任意剩余的口令: "
 
-#: src/cryptsetup.c:1583 src/cryptsetup.c:1644
+#: src/cryptsetup.c:1695 src/cryptsetup.c:1756
 msgid "Operation aborted, the keyslot was NOT wiped.\n"
 msgstr ""
 
-#: src/cryptsetup.c:1621
+#: src/cryptsetup.c:1733
 msgid "Enter passphrase to be deleted: "
 msgstr "输入要移除的口令: "
 
-#: src/cryptsetup.c:1702 src/cryptsetup.c:1776 src/cryptsetup.c:1810
+#: src/cryptsetup.c:1814 src/cryptsetup.c:1888 src/cryptsetup.c:1922
 msgid "Enter new passphrase for key slot: "
 msgstr "输入密钥槽的新口令: "
 
-#: src/cryptsetup.c:1793 src/cryptsetup_reencrypt.c:1343
+#: src/cryptsetup.c:1905 src/cryptsetup_reencrypt.c:1361
 #, c-format
 msgid "Enter any existing passphrase: "
 msgstr "输入任意已存在的口令: "
 
-#: src/cryptsetup.c:1861
+#: src/cryptsetup.c:1973
 msgid "Enter passphrase to be changed: "
 msgstr "输入要更改的口令: "
 
-#: src/cryptsetup.c:1877 src/cryptsetup_reencrypt.c:1329
+#: src/cryptsetup.c:1989 src/cryptsetup_reencrypt.c:1347
 msgid "Enter new passphrase: "
 msgstr "输入新口令: "
 
-#: src/cryptsetup.c:1927
+#: src/cryptsetup.c:2039
 #, fuzzy
 msgid "Enter passphrase for keyslot to be converted: "
 msgstr "输入密钥槽 %u 的密码:"
 
-#: src/cryptsetup.c:1951
+#: src/cryptsetup.c:2063
 #, fuzzy
 msgid "Only one device argument for isLuks operation is supported."
 msgstr "isLuks 操作仅支持一个设备参数。\n"
 
-#: src/cryptsetup.c:2001
+#: 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:2066
+#: src/cryptsetup.c:2178
 #, fuzzy, c-format
 msgid "Keyslot %d does not contain unbound key."
 msgstr "密钥槽 %d 未使用。\n"
 
-#: src/cryptsetup.c:2072
+#: src/cryptsetup.c:2184
 msgid ""
 "The header dump with unbound key is sensitive information.\n"
 "This dump should be stored encrypted in a safe place."
 msgstr ""
 
-#: src/cryptsetup.c:2207 src/cryptsetup.c:2228
+#: src/cryptsetup.c:2273 src/cryptsetup.c:2302
+#, fuzzy, c-format
+msgid "%s is not active %s device name."
+msgstr "显示已激活的设备信息"
+
+#: src/cryptsetup.c:2297
+#, c-format
+msgid "%s is not active LUKS device name or header is missing."
+msgstr ""
+
+#: src/cryptsetup.c:2335 src/cryptsetup.c:2356
 #, fuzzy
 msgid "Option --header-backup-file is required."
 msgstr "必须指定 --header-backup-file 选项。\n"
 
-#: src/cryptsetup.c:2258
+#: src/cryptsetup.c:2386
 #, c-format
 msgid "%s is not cryptsetup managed device."
 msgstr ""
 
-#: src/cryptsetup.c:2269
+#: src/cryptsetup.c:2397
 #, fuzzy, c-format
 msgid "Refresh is not supported for device type %s"
 msgstr "设备 %s 不支持恢复。"
 
-#: src/cryptsetup.c:2311
+#: src/cryptsetup.c:2439
 #, fuzzy, c-format
 msgid "Unrecognized metadata device type %s."
 msgstr "无法识别的元数据设备类型 %s。\n"
 
-#: src/cryptsetup.c:2314
+#: src/cryptsetup.c:2442
 #, fuzzy
 msgid "Command requires device and mapped name as arguments."
 msgstr "命令需要设备及映射名作为参数。\n"
 
-#: src/cryptsetup.c:2336
+#: src/cryptsetup.c:2464
 #, c-format
 msgid ""
 "This operation will erase all keyslots on device %s.\n"
@@ -2067,97 +2125,97 @@ msgstr ""
 "该操作将清空设备 %s 上所有的密钥槽。\n"
 "设备在此操作后将不可用。"
 
-#: src/cryptsetup.c:2343
+#: src/cryptsetup.c:2471
 msgid "Operation aborted, keyslots were NOT wiped.\n"
 msgstr "操作已中止,密钥槽没有被擦除。\n"
 
-#: src/cryptsetup.c:2380
+#: src/cryptsetup.c:2510
 msgid "Invalid LUKS type, only luks1 and luks2 are supported."
 msgstr ""
 
-#: src/cryptsetup.c:2398
+#: src/cryptsetup.c:2528
 #, c-format
 msgid "Device is already %s type."
 msgstr "设备已为 %s 类型。"
 
-#: src/cryptsetup.c:2403
+#: src/cryptsetup.c:2533
 #, fuzzy, c-format
 msgid "This operation will convert %s to %s format.\n"
 msgstr "不支持在 %s 加密设备上执行此操作。\n"
 
-#: src/cryptsetup.c:2409
+#: src/cryptsetup.c:2539
 msgid "Operation aborted, device was NOT converted.\n"
 msgstr ""
 
-#: src/cryptsetup.c:2449
+#: src/cryptsetup.c:2579
 msgid "Option --priority, --label or --subsystem is missing."
 msgstr "选项 --priority、--label 或 --subsystem 缺失。"
 
-#: src/cryptsetup.c:2483 src/cryptsetup.c:2516 src/cryptsetup.c:2539
+#: src/cryptsetup.c:2613 src/cryptsetup.c:2646 src/cryptsetup.c:2669
 #, fuzzy, c-format
 msgid "Token %d is invalid."
 msgstr "密钥槽 %d 无效。\n"
 
-#: src/cryptsetup.c:2486 src/cryptsetup.c:2542
+#: src/cryptsetup.c:2616 src/cryptsetup.c:2672
 #, fuzzy, c-format
 msgid "Token %d in use."
 msgstr "密钥槽 %d 未使用。\n"
 
 # stat() 主要就是出来一个各种文件信息……
-#: src/cryptsetup.c:2493
+#: src/cryptsetup.c:2623
 #, fuzzy, c-format
 msgid "Failed to add luks2-keyring token %d."
 msgstr "获取 (stat) 密钥文件统计数据失败。\n"
 
-#: src/cryptsetup.c:2502 src/cryptsetup.c:2564
+#: src/cryptsetup.c:2632 src/cryptsetup.c:2694
 #, fuzzy, c-format
 msgid "Failed to assign token %d to keyslot %d."
 msgstr "交换新密钥槽失败。\n"
 
-#: src/cryptsetup.c:2519
+#: src/cryptsetup.c:2649
 #, fuzzy, c-format
 msgid "Token %d is not in use."
 msgstr "密钥槽 %d 未使用。\n"
 
-#: src/cryptsetup.c:2554
+#: src/cryptsetup.c:2684
 #, fuzzy
 msgid "Failed to import token from file."
 msgstr "打开 (open) 密钥文件失败。"
 
-#: src/cryptsetup.c:2579
+#: src/cryptsetup.c:2709
 #, fuzzy, c-format
 msgid "Failed to get token %d for export."
 msgstr "交换新密钥槽失败。\n"
 
-#: src/cryptsetup.c:2594
+#: src/cryptsetup.c:2724
 msgid "--key-description parameter is mandatory for token add action."
 msgstr ""
 
-#: src/cryptsetup.c:2600 src/cryptsetup.c:2608
+#: src/cryptsetup.c:2730 src/cryptsetup.c:2738
 msgid "Action requires specific token. Use --token-id parameter."
 msgstr ""
 
-#: src/cryptsetup.c:2613
+#: src/cryptsetup.c:2743
 #, fuzzy, c-format
 msgid "Invalid token operation %s."
 msgstr "设备 %s 无效。\n"
 
-#: src/cryptsetup.c:2668
+#: src/cryptsetup.c:2798
 #, c-format
 msgid "Auto-detected active dm device '%s' for data device %s.\n"
 msgstr ""
 
-#: src/cryptsetup.c:2672
+#: src/cryptsetup.c:2802
 #, fuzzy, c-format
 msgid "Device %s is not a block device.\n"
 msgstr "%s 不是有效的 LUKS 设备。"
 
-#: src/cryptsetup.c:2674
+#: src/cryptsetup.c:2804
 #, fuzzy, c-format
 msgid "Failed to auto-detect device %s holders."
 msgstr "无法获取设备 %s 上的写入锁。"
 
-#: src/cryptsetup.c:2676
+#: src/cryptsetup.c:2806
 #, c-format
 msgid ""
 "Unable to decide if device %s is activated or not.\n"
@@ -2166,243 +2224,252 @@ msgid ""
 "To run reencryption in online mode, use --active-name parameter instead.\n"
 msgstr ""
 
-#: src/cryptsetup.c:2756
+#: src/cryptsetup.c:2886
 #, fuzzy
 msgid "Invalid LUKS device type."
 msgstr "设备 %s 无效。"
 
-#: src/cryptsetup.c:2761
+#: src/cryptsetup.c:2891
 msgid "Encryption without detached header (--header) is not possible without data device size reduction (--reduce-device-size)."
 msgstr ""
 
-#: src/cryptsetup.c:2766
+#: src/cryptsetup.c:2896
 msgid "Requested data offset must be less than or equal to half of --reduce-device-size parameter."
 msgstr ""
 
-#: src/cryptsetup.c:2775
+#: src/cryptsetup.c:2905
 #, c-format
 msgid "Adjusting --reduce-device-size value to twice the --offset %<PRIu64> (sectors).\n"
 msgstr ""
 
-#: src/cryptsetup.c:2779
+#: src/cryptsetup.c:2909
 #, fuzzy
 msgid "Encryption is supported only for LUKS2 format."
 msgstr "此操作只适用 LUKS2 设备。"
 
-#: src/cryptsetup.c:2801
+#: src/cryptsetup.c:2932
 #, c-format
 msgid "Detected LUKS device on %s. Do you want to encrypt that LUKS device again?"
 msgstr ""
 
-#: src/cryptsetup.c:2816
+#: src/cryptsetup.c:2950
 #, fuzzy, c-format
 msgid "Temporary header file %s already exists. Aborting."
 msgstr "请求的标头备份文件 %s 已存在。"
 
-#: src/cryptsetup.c:2818 src/cryptsetup.c:2825
+#: src/cryptsetup.c:2952 src/cryptsetup.c:2959
 #, fuzzy, c-format
 msgid "Cannot create temporary header file %s."
 msgstr "无法创建标头文件 %s。"
 
-#: src/cryptsetup.c:2889
+#: src/cryptsetup.c:3026
 #, c-format
 msgid "%s/%s is now active and ready for online encryption.\n"
 msgstr ""
 
-#: src/cryptsetup.c:3053 src/cryptsetup.c:3059
+#: src/cryptsetup.c:3063
+msgid "LUKS2 decryption is supported with detached header device only."
+msgstr ""
+
+#: src/cryptsetup.c:3196 src/cryptsetup.c:3202
 #, fuzzy
 msgid "Not enough free keyslots for reencryption."
 msgstr "不要更改密钥,无数据区重加密"
 
-#: src/cryptsetup.c:3079 src/cryptsetup_reencrypt.c:1294
+#: src/cryptsetup.c:3222 src/cryptsetup_reencrypt.c:1312
 msgid "Key file can be used only with --key-slot or with exactly one key slot active."
 msgstr "密钥文件只能在指定 --key-slot 时或有且只有一个槽启用时使用。"
 
-#: src/cryptsetup.c:3088 src/cryptsetup_reencrypt.c:1341
-#: src/cryptsetup_reencrypt.c:1352
+#: src/cryptsetup.c:3231 src/cryptsetup_reencrypt.c:1359
+#: src/cryptsetup_reencrypt.c:1370
 #, fuzzy, c-format
 msgid "Enter passphrase for key slot %d: "
 msgstr "输入密钥槽 %u 的口令: "
 
-#: src/cryptsetup.c:3096
+#: src/cryptsetup.c:3240
 #, c-format
 msgid "Enter passphrase for key slot %u: "
 msgstr "输入密钥槽 %u 的口令: "
 
-#: src/cryptsetup.c:3263
+#: src/cryptsetup.c:3286
+#, c-format
+msgid "Switching data encryption cipher to %s.\n"
+msgstr ""
+
+#: src/cryptsetup.c:3419
 #, fuzzy
 msgid "Command requires device as argument."
 msgstr "命令需要设备及映射名作为参数。\n"
 
-#: src/cryptsetup.c:3285
+#: src/cryptsetup.c:3441
 msgid "Only LUKS2 format is currently supported. Please use cryptsetup-reencrypt tool for LUKS1."
 msgstr ""
 
-#: src/cryptsetup.c:3297
+#: src/cryptsetup.c:3453
 msgid "Legacy offline reencryption already in-progress. Use cryptsetup-reencrypt utility."
 msgstr ""
 
-#: src/cryptsetup.c:3307 src/cryptsetup_reencrypt.c:178
+#: src/cryptsetup.c:3463 src/cryptsetup_reencrypt.c:196
 msgid "Reencryption of device with integrity profile is not supported."
 msgstr "不支持带有完整性 profile 信息的设备的重加密。"
 
-#: src/cryptsetup.c:3315
+#: src/cryptsetup.c:3471
 msgid "LUKS2 reencryption already initialized. Aborting operation."
 msgstr ""
 
-#: src/cryptsetup.c:3319
+#: src/cryptsetup.c:3475
 #, fuzzy
 msgid "LUKS2 device is not in reencryption."
 msgstr "日志文件 %s 存在,继续重加密。\n"
 
-#: src/cryptsetup.c:3346
+#: src/cryptsetup.c:3502
 msgid "<device> [--type <type>] [<name>]"
 msgstr "<设备> [--type <类型>] [<名称>]"
 
-#: src/cryptsetup.c:3346 src/veritysetup.c:394 src/integritysetup.c:480
+#: src/cryptsetup.c:3502 src/veritysetup.c:408 src/integritysetup.c:493
 msgid "open device as <name>"
 msgstr "以 <名称> 打开设备"
 
-#: src/cryptsetup.c:3347 src/cryptsetup.c:3348 src/cryptsetup.c:3349
-#: src/veritysetup.c:395 src/veritysetup.c:396 src/integritysetup.c:481
-#: src/integritysetup.c:482
+#: src/cryptsetup.c: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
 msgid "<name>"
 msgstr "<名称>"
 
-#: src/cryptsetup.c:3347 src/veritysetup.c:395 src/integritysetup.c:481
+#: src/cryptsetup.c:3503 src/veritysetup.c:409 src/integritysetup.c:494
 msgid "close device (remove mapping)"
 msgstr "关闭设备(移除映射)"
 
-#: src/cryptsetup.c:3348
+#: src/cryptsetup.c:3504
 msgid "resize active device"
 msgstr "改变活动设备大小。"
 
-#: src/cryptsetup.c:3349
+#: src/cryptsetup.c:3505
 msgid "show device status"
 msgstr "显示设备状态"
 
-#: src/cryptsetup.c:3350
+#: src/cryptsetup.c:3506
 msgid "[--cipher <cipher>]"
 msgstr ""
 
-#: src/cryptsetup.c:3350
+#: src/cryptsetup.c:3506
 msgid "benchmark cipher"
 msgstr "测试密文"
 
-#: src/cryptsetup.c:3351 src/cryptsetup.c:3352 src/cryptsetup.c:3353
-#: src/cryptsetup.c:3354 src/cryptsetup.c:3355 src/cryptsetup.c:3362
-#: src/cryptsetup.c:3363 src/cryptsetup.c:3364 src/cryptsetup.c:3365
-#: src/cryptsetup.c:3366 src/cryptsetup.c:3367 src/cryptsetup.c:3368
-#: src/cryptsetup.c:3369 src/cryptsetup.c:3370
+#: src/cryptsetup.c: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
 msgid "<device>"
 msgstr "<设备>"
 
-#: src/cryptsetup.c:3351
+#: src/cryptsetup.c:3507
 msgid "try to repair on-disk metadata"
 msgstr "尝试修复磁盘上的元数据"
 
-#: src/cryptsetup.c:3352
+#: src/cryptsetup.c:3508
 #, fuzzy
 msgid "reencrypt LUKS2 device"
 msgstr "向 LUKS 设备添加密钥"
 
-#: src/cryptsetup.c:3353
+#: src/cryptsetup.c:3509
 msgid "erase all keyslots (remove encryption key)"
 msgstr "清空所有密钥槽(移除加密密钥)"
 
-#: src/cryptsetup.c:3354
+#: src/cryptsetup.c:3510
 msgid "convert LUKS from/to LUKS2 format"
 msgstr "在 LUKS 和 LUKS2 格式之间转换"
 
-#: src/cryptsetup.c:3355
+#: src/cryptsetup.c:3511
 msgid "set permanent configuration options for LUKS2"
 msgstr ""
 
-#: src/cryptsetup.c:3356 src/cryptsetup.c:3357
+#: src/cryptsetup.c:3512 src/cryptsetup.c:3513
 msgid "<device> [<new key file>]"
 msgstr "<设备> [<新密钥文件>]"
 
-#: src/cryptsetup.c:3356
+#: src/cryptsetup.c:3512
 msgid "formats a LUKS device"
 msgstr "格式化一个 LUKS 设备"
 
-#: src/cryptsetup.c:3357
+#: src/cryptsetup.c:3513
 msgid "add key to LUKS device"
 msgstr "向 LUKS 设备添加密钥"
 
-#: src/cryptsetup.c:3358 src/cryptsetup.c:3359 src/cryptsetup.c:3360
+#: src/cryptsetup.c:3514 src/cryptsetup.c:3515 src/cryptsetup.c:3516
 msgid "<device> [<key file>]"
 msgstr "<设备> [<密钥文件>]"
 
-#: src/cryptsetup.c:3358
+#: src/cryptsetup.c:3514
 msgid "removes supplied key or key file from LUKS device"
 msgstr "移除 LUKS 设备中指定的密钥或密钥文件"
 
-#: src/cryptsetup.c:3359
+#: src/cryptsetup.c:3515
 msgid "changes supplied key or key file of LUKS device"
 msgstr "更改 LUKS 设备中指定的密钥或密钥文件"
 
 # stat() 主要就是出来一个各种文件信息……
-#: src/cryptsetup.c:3360
+#: src/cryptsetup.c:3516
 #, fuzzy
 msgid "converts a key to new pbkdf parameters"
 msgstr "获取 (stat) 密钥文件统计数据失败。\n"
 
-#: src/cryptsetup.c:3361
+#: src/cryptsetup.c:3517
 msgid "<device> <key slot>"
 msgstr "<设备> <密钥槽>"
 
-#: src/cryptsetup.c:3361
+#: src/cryptsetup.c:3517
 msgid "wipes key with number <key slot> from LUKS device"
 msgstr "从 LUKS 设备清理标号为 <key slot> 的密钥"
 
-#: src/cryptsetup.c:3362
+#: src/cryptsetup.c:3518
 msgid "print UUID of LUKS device"
 msgstr "输出 LUKS 设备的 UUID(唯一标识符)"
 
-#: src/cryptsetup.c:3363
+#: src/cryptsetup.c:3519
 msgid "tests <device> for LUKS partition header"
 msgstr "从 <device> 探测 LUKS 分区标头"
 
-#: src/cryptsetup.c:3364
+#: src/cryptsetup.c:3520
 msgid "dump LUKS partition information"
 msgstr "调出 LUKS 分区信息"
 
-#: src/cryptsetup.c:3365
+#: src/cryptsetup.c:3521
 msgid "dump TCRYPT device information"
 msgstr "调出 TCRYPT 设备信息"
 
-#: src/cryptsetup.c:3366
+#: src/cryptsetup.c:3522
 #, fuzzy
 msgid "dump BITLK device information"
 msgstr "调出 TCRYPT 设备信息"
 
-#: src/cryptsetup.c:3367
+#: src/cryptsetup.c:3523
 #, fuzzy
 msgid "Suspend LUKS device and wipe key (all IOs are frozen)"
 msgstr "挂起 LUKS 设备并清除密钥(冻结所有 IO 操作)。"
 
-#: src/cryptsetup.c:3368
+#: src/cryptsetup.c:3524
 msgid "Resume suspended LUKS device"
 msgstr "恢复已挂起的 LUKS 设备"
 
-#: src/cryptsetup.c:3369
+#: src/cryptsetup.c:3525
 msgid "Backup LUKS device header and keyslots"
 msgstr "备份 LUKS 设备标头和密钥槽"
 
-#: src/cryptsetup.c:3370
+#: src/cryptsetup.c:3526
 msgid "Restore LUKS device header and keyslots"
 msgstr "恢复 LUKS 设备标头和密钥槽"
 
-#: src/cryptsetup.c:3371
+#: src/cryptsetup.c:3527
 msgid "<add|remove|import|export> <device>"
 msgstr ""
 
-#: src/cryptsetup.c:3371
+#: src/cryptsetup.c:3527
 msgid "Manipulate LUKS2 tokens"
 msgstr ""
 
-#: src/cryptsetup.c:3389 src/veritysetup.c:412 src/integritysetup.c:498
+#: src/cryptsetup.c:3545 src/veritysetup.c:426 src/integritysetup.c:511
 msgid ""
 "\n"
 "<action> is one of:\n"
@@ -2410,7 +2477,7 @@ msgstr ""
 "\n"
 "<动作> 为其中之一:\n"
 
-#: src/cryptsetup.c:3395
+#: src/cryptsetup.c:3551
 #, fuzzy
 msgid ""
 "\n"
@@ -2423,7 +2490,7 @@ msgstr ""
 "\topen: create (plainOpen), luksOpen, loopaesOpen, tcryptOpen\n"
 "\tclose: remove (plainClose), luksClose, loopaesClose, tcryptClose\n"
 
-#: src/cryptsetup.c:3399
+#: src/cryptsetup.c:3555
 #, c-format
 msgid ""
 "\n"
@@ -2438,14 +2505,14 @@ msgstr ""
 "<key slot> 为需要更改的 LUKS 密钥槽\n"
 "<key file> 提供给 luksAddKey 动作的密钥文件\n"
 
-#: src/cryptsetup.c:3406
+#: src/cryptsetup.c:3562
 #, c-format
 msgid ""
 "\n"
 "Default compiled-in metadata format is %s (for luksFormat action).\n"
 msgstr ""
 
-#: src/cryptsetup.c:3411
+#: src/cryptsetup.c:3567
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -2460,7 +2527,7 @@ msgstr ""
 "\t密钥文件的最大大小:%dkB, 交互式密码的最大长度:%d (字符)\n"
 "LUKS 的默认 PBKDF2 迭代时间:%d (毫秒)\n"
 
-#: src/cryptsetup.c:3422
+#: src/cryptsetup.c:3578
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -2475,477 +2542,485 @@ msgstr ""
 "\tplain:%s, 密钥:%d 位, 密码哈希:%s\n"
 "\tLUKS1:%s, 密钥:%d bits, LUKS 数据头哈希:%s, RNG:%s\n"
 
-#: src/cryptsetup.c:3431
+#: src/cryptsetup.c:3587
 msgid "\tLUKS: Default keysize with XTS mode (two internal keys) will be doubled.\n"
 msgstr ""
 
-#: src/cryptsetup.c:3447 src/veritysetup.c:569 src/integritysetup.c:642
+#: src/cryptsetup.c:3605 src/veritysetup.c:587 src/integritysetup.c:665
 #, c-format
 msgid "%s: requires %s as arguments"
 msgstr "%s: 需要 %s 作为参数"
 
-#: src/cryptsetup.c:3480 src/veritysetup.c:457 src/integritysetup.c:536
-#: src/cryptsetup_reencrypt.c:1607
+#: 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:3481 src/veritysetup.c:458 src/integritysetup.c:537
-#: src/cryptsetup_reencrypt.c:1608
+#: 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:3482 src/veritysetup.c:459 src/integritysetup.c:538
-#: src/cryptsetup_reencrypt.c:1609
+#: 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:3486 src/veritysetup.c:463 src/integritysetup.c:542
-#: src/cryptsetup_reencrypt.c:1613
+#: src/cryptsetup.c:3643 src/veritysetup.c:478 src/integritysetup.c:559
+#: src/cryptsetup_reencrypt.c:1633
 msgid "Help options:"
 msgstr "帮助选项:"
 
-#: src/cryptsetup.c:3487 src/veritysetup.c:464 src/integritysetup.c:543
-#: src/cryptsetup_reencrypt.c:1614
+#: src/cryptsetup.c:3644 src/veritysetup.c:479 src/integritysetup.c:560
+#: src/cryptsetup_reencrypt.c:1634
 msgid "Shows more detailed error messages"
 msgstr "显示更详细的错误信息"
 
-#: src/cryptsetup.c:3488 src/veritysetup.c:465 src/integritysetup.c:544
-#: src/cryptsetup_reencrypt.c:1615
+#: src/cryptsetup.c:3645 src/veritysetup.c:480 src/integritysetup.c:561
+#: src/cryptsetup_reencrypt.c:1635
 msgid "Show debug messages"
 msgstr "显示调试信息"
 
-#: src/cryptsetup.c:3489
+#: src/cryptsetup.c:3646
 #, fuzzy
 msgid "Show debug messages including JSON metadata"
 msgstr "显示调试信息"
 
-#: src/cryptsetup.c:3490 src/cryptsetup_reencrypt.c:1617
+#: src/cryptsetup.c:3647 src/cryptsetup_reencrypt.c:1637
 msgid "The cipher used to encrypt the disk (see /proc/crypto)"
 msgstr "用于加密磁盘的密文(参见 /proc/crypto)"
 
-#: src/cryptsetup.c:3491 src/cryptsetup_reencrypt.c:1619
+#: src/cryptsetup.c:3648 src/cryptsetup_reencrypt.c:1639
 msgid "The hash used to create the encryption key from the passphrase"
 msgstr "用于从密码创建加密密钥的哈希值"
 
-#: src/cryptsetup.c:3492
+#: src/cryptsetup.c:3649
 msgid "Verifies the passphrase by asking for it twice"
 msgstr "两次询问密码以进行验证"
 
-#: src/cryptsetup.c:3493 src/cryptsetup_reencrypt.c:1621
+#: src/cryptsetup.c:3650 src/cryptsetup_reencrypt.c:1641
 msgid "Read the key from a file"
 msgstr "从文件读取密钥"
 
-#: src/cryptsetup.c:3494
+#: src/cryptsetup.c:3651
 msgid "Read the volume (master) key from file."
 msgstr "从文件读取卷(主)密钥。"
 
-#: src/cryptsetup.c:3495
+#: src/cryptsetup.c:3652
 #, fuzzy
 msgid "Dump volume (master) key instead of keyslots info"
 msgstr "转储卷(主)密钥而不是键槽信息。"
 
-#: src/cryptsetup.c:3496 src/cryptsetup_reencrypt.c:1618
+#: src/cryptsetup.c:3653 src/cryptsetup_reencrypt.c:1638
 msgid "The size of the encryption key"
 msgstr "加密密钥大小"
 
-#: src/cryptsetup.c:3496 src/cryptsetup.c:3557 src/integritysetup.c:562
-#: src/integritysetup.c:566 src/integritysetup.c:570
-#: src/cryptsetup_reencrypt.c:1618
+#: 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"
 msgstr "位"
 
-#: src/cryptsetup.c:3497 src/cryptsetup_reencrypt.c:1634
+#: src/cryptsetup.c:3654 src/cryptsetup_reencrypt.c:1654
 msgid "Limits the read from keyfile"
 msgstr "限制从密钥文件读取"
 
-#: src/cryptsetup.c:3497 src/cryptsetup.c:3498 src/cryptsetup.c:3499
-#: src/cryptsetup.c:3500 src/cryptsetup.c:3503 src/cryptsetup.c:3554
-#: src/cryptsetup.c:3555 src/cryptsetup.c:3563 src/cryptsetup.c:3564
-#: src/veritysetup.c:468 src/veritysetup.c:469 src/veritysetup.c:470
-#: src/veritysetup.c:473 src/veritysetup.c:474 src/integritysetup.c:551
-#: src/integritysetup.c:557 src/integritysetup.c:558
-#: src/cryptsetup_reencrypt.c:1633 src/cryptsetup_reencrypt.c:1634
-#: src/cryptsetup_reencrypt.c:1635 src/cryptsetup_reencrypt.c:1636
+#: 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"
 msgstr "字节"
 
-#: src/cryptsetup.c:3498 src/cryptsetup_reencrypt.c:1633
+#: src/cryptsetup.c:3655 src/cryptsetup_reencrypt.c:1653
 msgid "Number of bytes to skip in keyfile"
 msgstr "要从密钥文件跳过的字节数"
 
-#: src/cryptsetup.c:3499
+#: src/cryptsetup.c:3656
 msgid "Limits the read from newly added keyfile"
 msgstr "限制从新增密钥文件的读取"
 
-#: src/cryptsetup.c:3500
+#: src/cryptsetup.c:3657
 msgid "Number of bytes to skip in newly added keyfile"
 msgstr "要从新增密钥文件跳过的字节数"
 
-#: src/cryptsetup.c:3501
+#: src/cryptsetup.c:3658
 msgid "Slot number for new key (default is first free)"
 msgstr "新密钥的槽号(默认为第一个可用的)"
 
-#: src/cryptsetup.c:3502
+#: src/cryptsetup.c:3659
 msgid "The size of the device"
 msgstr "设备大小"
 
-#: src/cryptsetup.c:3502 src/cryptsetup.c:3504 src/cryptsetup.c:3505
-#: src/cryptsetup.c:3511 src/integritysetup.c:552 src/integritysetup.c:559
+#: 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"
 msgstr "扇区"
 
-#: src/cryptsetup.c:3503 src/cryptsetup_reencrypt.c:1636
+#: src/cryptsetup.c:3660 src/cryptsetup_reencrypt.c:1656
 msgid "Use only specified device size (ignore rest of device). DANGEROUS!"
 msgstr "只使用指定的设备大小(忽略设备其余部分)。危险!"
 
-#: src/cryptsetup.c:3504
+#: src/cryptsetup.c:3661
 msgid "The start offset in the backend device"
 msgstr "后端设备的起始偏移量"
 
-#: src/cryptsetup.c:3505
+#: src/cryptsetup.c:3662
 msgid "How many sectors of the encrypted data to skip at the beginning"
 msgstr "从开头要跳过的加密数据扇区数量"
 
-#: src/cryptsetup.c:3506
+#: src/cryptsetup.c:3663
 msgid "Create a readonly mapping"
 msgstr "创建只读映射"
 
-#: src/cryptsetup.c:3507 src/integritysetup.c:545
-#: src/cryptsetup_reencrypt.c:1624
+#: src/cryptsetup.c:3664 src/integritysetup.c:562
+#: src/cryptsetup_reencrypt.c:1644
 msgid "Do not ask for confirmation"
 msgstr "不要请求确认"
 
-#: src/cryptsetup.c:3508
+#: src/cryptsetup.c:3665
 msgid "Timeout for interactive passphrase prompt (in seconds)"
 msgstr "交互式密码提示符超时长度(秒)"
 
-#: src/cryptsetup.c:3508 src/cryptsetup.c:3509 src/integritysetup.c:546
-#: src/cryptsetup_reencrypt.c:1625
+#: src/cryptsetup.c:3665 src/cryptsetup.c:3666 src/integritysetup.c:563
+#: src/cryptsetup_reencrypt.c:1645
 msgid "secs"
 msgstr "秒"
 
-#: src/cryptsetup.c:3509 src/integritysetup.c:546
-#: src/cryptsetup_reencrypt.c:1625
+#: src/cryptsetup.c:3666 src/integritysetup.c:563
+#: src/cryptsetup_reencrypt.c:1645
 msgid "Progress line update (in seconds)"
 msgstr ""
 
-#: src/cryptsetup.c:3510 src/cryptsetup_reencrypt.c:1626
+#: src/cryptsetup.c:3667 src/cryptsetup_reencrypt.c:1646
 msgid "How often the input of the passphrase can be retried"
 msgstr "输入密码的最大重试频率"
 
-#: src/cryptsetup.c:3511
+#: src/cryptsetup.c:3668
 msgid "Align payload at <n> sector boundaries - for luksFormat"
 msgstr "于 <n> 个扇区边界处对其载荷数据 - 供 luks 格式用"
 
-#: src/cryptsetup.c:3512
+#: src/cryptsetup.c:3669
 #, fuzzy
 msgid "File with LUKS header and keyslots backup"
 msgstr "带有 LUKS 数据头和密钥槽备份的文件。"
 
-#: src/cryptsetup.c:3513 src/cryptsetup_reencrypt.c:1627
+#: src/cryptsetup.c:3670 src/cryptsetup_reencrypt.c:1647
 msgid "Use /dev/random for generating volume key"
 msgstr "使用 /dev/random 生成卷密钥"
 
-#: src/cryptsetup.c:3514 src/cryptsetup_reencrypt.c:1628
+#: src/cryptsetup.c:3671 src/cryptsetup_reencrypt.c:1648
 msgid "Use /dev/urandom for generating volume key"
 msgstr "使用 /dev/urandom 生成卷密钥"
 
-#: src/cryptsetup.c:3515
+#: src/cryptsetup.c:3672
 #, fuzzy
 msgid "Share device with another non-overlapping crypt segment"
 msgstr "与另一个不重合的加密段共享设备。"
 
-#: src/cryptsetup.c:3516 src/veritysetup.c:477
+#: src/cryptsetup.c:3673 src/veritysetup.c:492
 #, fuzzy
 msgid "UUID for device to use"
 msgstr "设备使用的 UUID 已占用。"
 
-#: src/cryptsetup.c:3517 src/integritysetup.c:579
+#: src/cryptsetup.c:3674 src/integritysetup.c:599
 #, fuzzy
 msgid "Allow discards (aka TRIM) requests for device"
 msgstr "允许设备的 discard(或称 TRIM)请求。"
 
-#: src/cryptsetup.c:3518 src/cryptsetup_reencrypt.c:1645
+#: src/cryptsetup.c:3675 src/cryptsetup_reencrypt.c:1665
 #, fuzzy
 msgid "Device or file with separated LUKS header"
 msgstr "带有分离 LUKS 数据头的设备或文件。"
 
-#: src/cryptsetup.c:3519
+#: src/cryptsetup.c:3676
 #, fuzzy
 msgid "Do not activate device, just check passphrase"
 msgstr "不要激活设备,仅检查密码。"
 
-#: src/cryptsetup.c:3520
+#: src/cryptsetup.c:3677
 #, fuzzy
 msgid "Use hidden header (hidden TCRYPT device)"
 msgstr "使用隐藏数据头(隐藏 TCRYPT 设备)"
 
-#: src/cryptsetup.c:3521
+#: src/cryptsetup.c:3678
 #, fuzzy
 msgid "Device is system TCRYPT drive (with bootloader)"
 msgstr "设备为系统 TCRYPT 驱动器(带有引导器)。"
 
-#: src/cryptsetup.c:3522
+#: src/cryptsetup.c:3679
 msgid "Use backup (secondary) TCRYPT header"
 msgstr "使用备份(次级)TCRYPT 标头"
 
-#: src/cryptsetup.c:3523
+#: src/cryptsetup.c:3680
 #, fuzzy
 msgid "Scan also for VeraCrypt compatible device"
 msgstr "同时扫描 VeraCrypt 兼容的设备。"
 
-#: src/cryptsetup.c:3524
+#: src/cryptsetup.c:3681
 #, fuzzy
 msgid "Personal Iteration Multiplier for VeraCrypt compatible device"
 msgstr "同时扫描 VeraCrypt 兼容的设备。"
 
-#: src/cryptsetup.c:3525
+#: src/cryptsetup.c:3682
 #, fuzzy
 msgid "Query Personal Iteration Multiplier for VeraCrypt compatible device"
 msgstr "同时扫描 VeraCrypt 兼容的设备。"
 
-#: src/cryptsetup.c:3526
+#: src/cryptsetup.c:3683
 #, fuzzy
 msgid "Type of device metadata: luks, luks1, luks2, plain, loopaes, tcrypt, bitlk"
 msgstr "设备元数据类型:luks, 纯粹 (plain), loopaes, tcrypt."
 
-#: src/cryptsetup.c:3527
+#: src/cryptsetup.c:3684
 #, fuzzy
 msgid "Disable password quality check (if enabled)"
 msgstr "禁用密码质量检查 (如果已启用)。"
 
-#: src/cryptsetup.c:3528
+#: src/cryptsetup.c:3685
 #, fuzzy
 msgid "Use dm-crypt same_cpu_crypt performance compatibility option"
 msgstr "使用 dm-crypt same_cpu_crypt 性能兼容性选项。"
 
-#: src/cryptsetup.c:3529
+#: src/cryptsetup.c:3686
 #, fuzzy
 msgid "Use dm-crypt submit_from_crypt_cpus performance compatibility option"
 msgstr "使用 dm-crypt submit_from_crypt_cpus 性能兼容性选项。"
 
-#: src/cryptsetup.c:3530
+#: src/cryptsetup.c:3687
+msgid "Bypass dm-crypt workqueue and process read requests synchronously"
+msgstr ""
+
+#: src/cryptsetup.c:3688
+msgid "Bypass dm-crypt workqueue and process write requests synchronously"
+msgstr ""
+
+#: src/cryptsetup.c:3689
 msgid "Device removal is deferred until the last user closes it"
 msgstr ""
 
-#: src/cryptsetup.c:3531
+#: src/cryptsetup.c:3690
 msgid "Use global lock to serialize memory hard PBKDF (OOM workaround)"
 msgstr ""
 
-#: src/cryptsetup.c:3532
+#: src/cryptsetup.c:3691
 msgid "PBKDF iteration time for LUKS (in ms)"
 msgstr "LUKS 默认 PBKDF 迭代时间(毫秒)"
 
-#: src/cryptsetup.c:3532 src/cryptsetup_reencrypt.c:1623
+#: src/cryptsetup.c:3691 src/cryptsetup_reencrypt.c:1643
 msgid "msecs"
 msgstr "毫秒"
 
-#: src/cryptsetup.c:3533 src/cryptsetup_reencrypt.c:1641
+#: src/cryptsetup.c:3692 src/cryptsetup_reencrypt.c:1661
 msgid "PBKDF algorithm (for LUKS2): argon2i, argon2id, pbkdf2"
 msgstr ""
 
-#: src/cryptsetup.c:3534 src/cryptsetup_reencrypt.c:1642
+#: src/cryptsetup.c:3693 src/cryptsetup_reencrypt.c:1662
 msgid "PBKDF memory cost limit"
 msgstr "PBKDF 内存开销限制"
 
-#: src/cryptsetup.c:3534 src/cryptsetup_reencrypt.c:1642
+#: src/cryptsetup.c:3693 src/cryptsetup_reencrypt.c:1662
 msgid "kilobytes"
 msgstr "千字节"
 
-#: src/cryptsetup.c:3535 src/cryptsetup_reencrypt.c:1643
+#: src/cryptsetup.c:3694 src/cryptsetup_reencrypt.c:1663
 msgid "PBKDF parallel cost"
 msgstr "PBKDF 并行开销"
 
-#: src/cryptsetup.c:3535 src/cryptsetup_reencrypt.c:1643
+#: src/cryptsetup.c:3694 src/cryptsetup_reencrypt.c:1663
 msgid "threads"
 msgstr "线程"
 
-#: src/cryptsetup.c:3536 src/cryptsetup_reencrypt.c:1644
+#: src/cryptsetup.c:3695 src/cryptsetup_reencrypt.c:1664
 msgid "PBKDF iterations cost (forced, disables benchmark)"
 msgstr ""
 
-#: src/cryptsetup.c:3537
+#: src/cryptsetup.c:3696
 msgid "Keyslot priority: ignore, normal, prefer"
 msgstr ""
 
-#: src/cryptsetup.c:3538
+#: src/cryptsetup.c:3697
 #, fuzzy
 msgid "Disable locking of on-disk metadata"
 msgstr "尝试修复磁盘上的元数据"
 
-#: src/cryptsetup.c:3539
+#: src/cryptsetup.c:3698
 msgid "Disable loading volume keys via kernel keyring"
 msgstr ""
 
-#: src/cryptsetup.c:3540
+#: src/cryptsetup.c:3699
 msgid "Data integrity algorithm (LUKS2 only)"
 msgstr ""
 
-#: src/cryptsetup.c:3541 src/integritysetup.c:573
+#: src/cryptsetup.c:3700 src/integritysetup.c:590
 #, fuzzy
 msgid "Disable journal for integrity device"
 msgstr "为 VERITY 设备提供的大小指标无效。\n"
 
-#: src/cryptsetup.c:3542 src/integritysetup.c:547
+#: src/cryptsetup.c:3701 src/integritysetup.c:564
 msgid "Do not wipe device after format"
 msgstr ""
 
-#: src/cryptsetup.c:3543 src/integritysetup.c:577
+#: src/cryptsetup.c:3702 src/integritysetup.c:594
 msgid "Use inefficient legacy padding (old kernels)"
 msgstr ""
 
-#: src/cryptsetup.c:3544
+#: src/cryptsetup.c:3703
 msgid "Do not ask for passphrase if activation by token fails"
 msgstr ""
 
-#: src/cryptsetup.c:3545
+#: src/cryptsetup.c:3704
 msgid "Token number (default: any)"
 msgstr ""
 
-#: src/cryptsetup.c:3546
+#: src/cryptsetup.c:3705
 msgid "Key description"
 msgstr ""
 
-#: src/cryptsetup.c:3547
+#: src/cryptsetup.c:3706
 msgid "Encryption sector size (default: 512 bytes)"
 msgstr ""
 
-#: src/cryptsetup.c:3548
+#: src/cryptsetup.c:3707
 msgid "Use IV counted in sector size (not in 512 bytes)"
 msgstr ""
 
-#: src/cryptsetup.c:3549
+#: src/cryptsetup.c:3708
 msgid "Set activation flags persistent for device"
 msgstr ""
 
-#: src/cryptsetup.c:3550
+#: src/cryptsetup.c:3709
 #, fuzzy
 msgid "Set label for the LUKS2 device"
 msgstr "格式化一个 LUKS 设备"
 
-#: src/cryptsetup.c:3551
+#: src/cryptsetup.c:3710
 #, fuzzy
 msgid "Set subsystem label for the LUKS2 device"
 msgstr "格式化一个 LUKS 设备"
 
-#: src/cryptsetup.c:3552
+#: src/cryptsetup.c:3711
 msgid "Create or dump unbound (no assigned data segment) LUKS2 keyslot"
 msgstr ""
 
-#: src/cryptsetup.c:3553
+#: src/cryptsetup.c:3712
 #, fuzzy
 msgid "Read or write the json from or to a file"
 msgstr "从文件读取密钥"
 
-#: src/cryptsetup.c:3554
+#: src/cryptsetup.c:3713
 msgid "LUKS2 header metadata area size"
 msgstr ""
 
-#: src/cryptsetup.c:3555
+#: src/cryptsetup.c:3714
 #, fuzzy
 msgid "LUKS2 header keyslots area size"
 msgstr "带有 LUKS 数据头和密钥槽备份的文件。"
 
-#: src/cryptsetup.c:3556
+#: src/cryptsetup.c:3715
 msgid "Refresh (reactivate) device with new parameters"
 msgstr ""
 
-#: src/cryptsetup.c:3557
+#: src/cryptsetup.c:3716
 #, fuzzy
 msgid "LUKS2 keyslot: The size of the encryption key"
 msgstr "加密密钥大小"
 
-#: src/cryptsetup.c:3558
+#: src/cryptsetup.c:3717
 msgid "LUKS2 keyslot: The cipher used for keyslot encryption"
 msgstr ""
 
-#: src/cryptsetup.c:3559
+#: src/cryptsetup.c:3718
 #, fuzzy
 msgid "Encrypt LUKS2 device (in-place encryption)."
 msgstr "永久解密设备(移除加密)"
 
-#: src/cryptsetup.c:3560
+#: src/cryptsetup.c:3719
 #, fuzzy
 msgid "Decrypt LUKS2 device (remove encryption)."
 msgstr "永久解密设备(移除加密)"
 
-#: src/cryptsetup.c:3561
+#: src/cryptsetup.c:3720
 msgid "Initialize LUKS2 reencryption in metadata only."
 msgstr ""
 
-#: src/cryptsetup.c:3562
+#: src/cryptsetup.c:3721
 msgid "Resume initialized LUKS2 reencryption only."
 msgstr ""
 
-#: src/cryptsetup.c:3563 src/cryptsetup_reencrypt.c:1635
+#: src/cryptsetup.c:3722 src/cryptsetup_reencrypt.c:1655
 msgid "Reduce data device size (move data offset). DANGEROUS!"
 msgstr "减少数据设备大小(移动数据偏移量)。危险!"
 
-#: src/cryptsetup.c:3564
+#: src/cryptsetup.c:3723
 #, fuzzy
 msgid "Maximal reencryption hotzone size."
 msgstr "重加密块大小"
 
-#: src/cryptsetup.c:3565
+#: src/cryptsetup.c:3724
 msgid "Reencryption hotzone resilience type (checksum,journal,none)"
 msgstr ""
 
-#: src/cryptsetup.c:3566
+#: src/cryptsetup.c:3725
 #, fuzzy
 msgid "Reencryption hotzone checksums hash"
 msgstr "重加密块大小"
 
-#: src/cryptsetup.c:3567
+#: src/cryptsetup.c:3726
 msgid "Override device autodetection of dm device to be reencrypted"
 msgstr ""
 
-#: src/cryptsetup.c:3583 src/veritysetup.c:499 src/integritysetup.c:595
+#: src/cryptsetup.c:3742 src/veritysetup.c:515 src/integritysetup.c:615
 msgid "[OPTION...] <action> <action-specific>"
 msgstr "[选项…] <动作> <动作特定参数>"
 
-#: src/cryptsetup.c:3634 src/veritysetup.c:533 src/integritysetup.c:606
+#: src/cryptsetup.c:3797 src/veritysetup.c:551 src/integritysetup.c:626
 msgid "Argument <action> missing."
 msgstr "缺失参数 <动作>。"
 
-#: src/cryptsetup.c:3703 src/veritysetup.c:564 src/integritysetup.c:637
+#: src/cryptsetup.c:3867 src/veritysetup.c:582 src/integritysetup.c:660
 msgid "Unknown action."
 msgstr "未知动作。"
 
-#: src/cryptsetup.c:3713
+#: src/cryptsetup.c:3877
 msgid "Options --refresh and --test-passphrase are mutually exclusive."
 msgstr ""
 
-#: src/cryptsetup.c:3718
+#: src/cryptsetup.c:3882
 #, fuzzy
 msgid "Option --deferred is allowed only for close command."
 msgstr "选项 --shared 只适用于打开纯设备。\n"
 
-#: src/cryptsetup.c:3723
+#: src/cryptsetup.c:3887
 #, fuzzy
 msgid "Option --shared is allowed only for open of plain device."
 msgstr "选项 --shared 只适用于打开纯设备。\n"
 
-#: src/cryptsetup.c:3728 src/integritysetup.c:654
+#: src/cryptsetup.c:3892 src/integritysetup.c:677
 #, fuzzy
 msgid "Option --allow-discards is allowed only for open operation."
 msgstr "选项 --allow-discards 只适用于打开操作。\n"
 
-#: src/cryptsetup.c:3733
+#: src/cryptsetup.c:3897
 #, fuzzy
 msgid "Option --persistent is allowed only for open operation."
 msgstr "选项 --allow-discards 只适用于打开操作。\n"
 
-#: src/cryptsetup.c:3738
+#: src/cryptsetup.c:3902
 #, fuzzy
 msgid "Option --serialize-memory-hard-pbkdf is allowed only for open operation."
 msgstr "选项 --allow-discards 只适用于打开操作。\n"
 
-#: src/cryptsetup.c:3743
+#: src/cryptsetup.c:3907
 #, fuzzy
 msgid "Option --persistent is not allowed with --test-passphrase."
 msgstr "选项 --allow-discards 只适用于打开操作。\n"
 
-#: src/cryptsetup.c:3753
+#: src/cryptsetup.c:3917
 #, fuzzy
 msgid ""
 "Option --key-size is allowed only for luksFormat, luksAddKey,\n"
@@ -2954,287 +3029,287 @@ msgstr ""
 "选项 --key-size 只能用于 luksFormat, 打开和性能测试。\n"
 "要限制密钥文件读取请使用 --keyfile-size=(字节数)。"
 
-#: src/cryptsetup.c:3759
+#: src/cryptsetup.c:3923
 #, fuzzy
 msgid "Option --integrity is allowed only for luksFormat (LUKS2)."
 msgstr "选项 --align-payload 只允许用于 luksFormat。"
 
-#: src/cryptsetup.c:3764
+#: src/cryptsetup.c:3928
 msgid "Option --integrity-no-wipe can be used only for format action with integrity extension."
 msgstr ""
 
-#: src/cryptsetup.c:3770
+#: src/cryptsetup.c:3934
 #, fuzzy
 msgid "Options --label and --subsystem are allowed only for luksFormat and config LUKS2 operations."
 msgstr "选项 --uuid 只允许用于 luksFormat 和 luksUUID。"
 
-#: src/cryptsetup.c:3776
+#: src/cryptsetup.c:3940
 #, fuzzy
 msgid "Option --test-passphrase is allowed only for open of LUKS, TCRYPT and BITLK devices."
 msgstr "选项 --test-passphrase 只能用于打开 LUKS 和 TCRYPT 设备。\n"
 
-#: src/cryptsetup.c:3781 src/cryptsetup_reencrypt.c:1708
+#: src/cryptsetup.c:3945 src/cryptsetup_reencrypt.c:1728
 msgid "Key size must be a multiple of 8 bits"
 msgstr "密钥尺寸必须是 8 的倍数"
 
-#: src/cryptsetup.c:3787 src/cryptsetup_reencrypt.c:1394
-#: src/cryptsetup_reencrypt.c:1713
+#: src/cryptsetup.c:3951 src/cryptsetup_reencrypt.c:1412
+#: src/cryptsetup_reencrypt.c:1733
 msgid "Key slot is invalid."
 msgstr "密钥槽无效。"
 
-#: src/cryptsetup.c:3794
+#: src/cryptsetup.c:3958
 #, fuzzy
 msgid "Option --key-file takes precedence over specified key file argument."
 msgstr "选项 --key-file 优先使用指定的密钥文件参数。\n"
 
-#: src/cryptsetup.c:3801 src/veritysetup.c:576 src/integritysetup.c:663
-#: src/cryptsetup_reencrypt.c:1687
+#: src/cryptsetup.c:3965 src/veritysetup.c:594 src/integritysetup.c:686
+#: src/cryptsetup_reencrypt.c:1707
 msgid "Negative number for option not permitted."
 msgstr "不允许在选项中填入负数。"
 
-#: src/cryptsetup.c:3805
+#: src/cryptsetup.c:3969
 msgid "Only one --key-file argument is allowed."
 msgstr "只允许存在一个 --key-file 选项。"
 
-#: src/cryptsetup.c:3809 src/cryptsetup_reencrypt.c:1679
-#: src/cryptsetup_reencrypt.c:1717
+#: src/cryptsetup.c:3973 src/cryptsetup_reencrypt.c:1699
+#: src/cryptsetup_reencrypt.c:1737
 msgid "Only one of --use-[u]random options is allowed."
 msgstr "--use-[u]random 选项只能用一处。"
 
-#: src/cryptsetup.c:3813
+#: src/cryptsetup.c:3977
 msgid "Option --use-[u]random is allowed only for luksFormat."
 msgstr "选项 --use-[u]random 只适用于 luksFormat。"
 
-#: src/cryptsetup.c:3817
+#: src/cryptsetup.c:3981
 msgid "Option --uuid is allowed only for luksFormat and luksUUID."
 msgstr "选项 --uuid 只允许用于 luksFormat 和 luksUUID。"
 
-#: src/cryptsetup.c:3821
+#: src/cryptsetup.c:3985
 msgid "Option --align-payload is allowed only for luksFormat."
 msgstr "选项 --align-payload 只允许用于 luksFormat。"
 
-#: src/cryptsetup.c:3825
+#: src/cryptsetup.c:3989
 #, fuzzy
 msgid "Options --luks2-metadata-size and --opt-luks2-keyslots-size are allowed only for luksFormat with LUKS2."
 msgstr "选项 --uuid 只允许用于 luksFormat 和 luksUUID。"
 
-#: src/cryptsetup.c:3830
+#: src/cryptsetup.c:3994
 #, fuzzy
 msgid "Invalid LUKS2 metadata size specification."
 msgstr "无效的设备大小指标。"
 
-#: src/cryptsetup.c:3834
+#: src/cryptsetup.c:3998
 #, fuzzy
 msgid "Invalid LUKS2 keyslots size specification."
 msgstr "无效的设备大小指标。"
 
-#: src/cryptsetup.c:3838
+#: src/cryptsetup.c:4002
 #, fuzzy
 msgid "Options --align-payload and --offset cannot be combined."
 msgstr "选项 --align-payload 只允许用于 luksFormat。"
 
-#: src/cryptsetup.c:3844
+#: src/cryptsetup.c:4008
 #, fuzzy
 msgid "Option --skip is supported only for open of plain and loopaes devices."
 msgstr "选项 --skip 只适用于打开纯设备和 loopaes 设备。\n"
 
-#: src/cryptsetup.c:3851
+#: src/cryptsetup.c:4015
 #, fuzzy
 msgid "Option --offset is supported only for open of plain and loopaes devices, luksFormat and device reencryption."
 msgstr "选项 --offset 只适用于打开纯设备和 loopaes 设备。\n"
 
-#: src/cryptsetup.c:3857
+#: src/cryptsetup.c:4021
 #, fuzzy
 msgid "Option --tcrypt-hidden, --tcrypt-system or --tcrypt-backup is supported only for TCRYPT device."
 msgstr "选项 --tcrypt-hidden, --tcrypt-system 或 --tcrypt-backup 只支持 TCRYPT 设备。\n"
 
-#: src/cryptsetup.c:3862
+#: src/cryptsetup.c:4026
 #, fuzzy
 msgid "Option --tcrypt-hidden cannot be combined with --allow-discards."
 msgstr "选项 --tcrypt-hidden 不能与 --allow-discards 共用。\n"
 
-#: src/cryptsetup.c:3867
+#: src/cryptsetup.c:4031
 #, fuzzy
 msgid "Option --veracrypt is supported only for TCRYPT device type."
 msgstr "选项 --veracrypt 只支持 TCRYPT 设备类型。\n"
 
-#: src/cryptsetup.c:3873
+#: src/cryptsetup.c:4037
 msgid "Invalid argument for parameter --veracrypt-pim supplied."
 msgstr ""
 
-#: src/cryptsetup.c:3877
+#: src/cryptsetup.c:4041
 #, fuzzy
 msgid "Option --veracrypt-pim is supported only for VeraCrypt compatible devices."
 msgstr "选项 --veracrypt 只支持 TCRYPT 设备类型。\n"
 
-#: src/cryptsetup.c:3885
+#: src/cryptsetup.c:4049
 #, fuzzy
 msgid "Option --veracrypt-query-pim is supported only for VeraCrypt compatible devices."
 msgstr "选项 --veracrypt 只支持 TCRYPT 设备类型。\n"
 
-#: src/cryptsetup.c:3889
+#: src/cryptsetup.c:4053
 msgid "The options --veracrypt-pim and --veracrypt-query-pim are mutually exclusive."
 msgstr ""
 
-#: src/cryptsetup.c:3896
+#: src/cryptsetup.c:4060
 msgid "Option --priority can be only ignore/normal/prefer."
 msgstr ""
 
-#: src/cryptsetup.c:3901 src/cryptsetup.c:3939
+#: src/cryptsetup.c:4065 src/cryptsetup.c:4103
 msgid "Keyslot specification is required."
 msgstr ""
 
-#: src/cryptsetup.c:3906 src/cryptsetup_reencrypt.c:1693
+#: src/cryptsetup.c:4070 src/cryptsetup_reencrypt.c:1713
 msgid "Password-based key derivation function (PBKDF) can be only pbkdf2 or argon2i/argon2id."
 msgstr ""
 
-#: src/cryptsetup.c:3911 src/cryptsetup_reencrypt.c:1698
+#: src/cryptsetup.c:4075 src/cryptsetup_reencrypt.c:1718
 msgid "PBKDF forced iterations cannot be combined with iteration time option."
 msgstr ""
 
-#: src/cryptsetup.c:3917
+#: src/cryptsetup.c:4081
 #, fuzzy
 msgid "Sector size option is not supported for this command."
 msgstr "不支持在这类设备上执行此操作。\n"
 
-#: src/cryptsetup.c:3929
+#: src/cryptsetup.c:4093
 msgid "Large IV sectors option is supported only for opening plain type device with sector size larger than 512 bytes."
 msgstr ""
 
-#: src/cryptsetup.c:3934
+#: src/cryptsetup.c:4098
 msgid "Key size is required with --unbound option."
 msgstr ""
 
-#: src/cryptsetup.c:3944
+#: src/cryptsetup.c:4108
 #, fuzzy
 msgid "Option --unbound may be used only with luksAddKey and luksDump actions."
 msgstr "选项 --new 不可与 --decrypt 共用。"
 
-#: src/cryptsetup.c:3949
+#: src/cryptsetup.c:4113
 #, fuzzy
 msgid "Option --refresh may be used only with open action."
 msgstr "选项 --new 不可与 --decrypt 共用。"
 
-#: src/cryptsetup.c:3960
+#: src/cryptsetup.c:4124
 #, fuzzy
 msgid "Cannot disable metadata locking."
 msgstr "无法禁用元数据锁定。\n"
 
-#: src/cryptsetup.c:3970
+#: src/cryptsetup.c:4135
 #, fuzzy
 msgid "Invalid max reencryption hotzone size specification."
 msgstr "无效的设备大小指标。"
 
-#: src/cryptsetup.c:3978 src/cryptsetup_reencrypt.c:1722
-#: src/cryptsetup_reencrypt.c:1727
+#: src/cryptsetup.c:4143 src/cryptsetup_reencrypt.c:1742
+#: src/cryptsetup_reencrypt.c:1747
 msgid "Invalid device size specification."
 msgstr "无效的设备大小指标。"
 
-#: src/cryptsetup.c:3981
+#: src/cryptsetup.c:4146
 #, fuzzy
 msgid "Maximum device reduce size is 1 GiB."
 msgstr "最大设备缩减大小为 64 MiB。"
 
-#: src/cryptsetup.c:3984 src/cryptsetup_reencrypt.c:1733
+#: src/cryptsetup.c:4149 src/cryptsetup_reencrypt.c:1753
 msgid "Reduce size must be multiple of 512 bytes sector."
 msgstr "缩减大小必须为 512 字节扇区的倍数。"
 
-#: src/cryptsetup.c:3989
+#: src/cryptsetup.c:4154
 #, fuzzy
 msgid "Invalid data size specification."
 msgstr "无效的设备大小指标。"
 
-#: src/cryptsetup.c:3994
+#: src/cryptsetup.c:4159
 #, fuzzy
 msgid "Reduce size overflow."
 msgstr "设备偏移量溢出。"
 
-#: src/cryptsetup.c:3998
+#: src/cryptsetup.c:4163
 msgid "LUKS2 decryption requires option --header."
 msgstr ""
 
-#: src/cryptsetup.c:4002
+#: src/cryptsetup.c:4167
 #, fuzzy
 msgid "Device size must be multiple of 512 bytes sector."
 msgstr "缩减大小必须为 512 字节扇区的倍数。"
 
-#: src/cryptsetup.c:4006
+#: src/cryptsetup.c:4171
 msgid "Options --reduce-device-size and --data-size cannot be combined."
 msgstr ""
 
-#: src/cryptsetup.c:4010
+#: src/cryptsetup.c:4175
 msgid "Options --device-size and --size cannot be combined."
 msgstr ""
 
-#: src/cryptsetup.c:4014
+#: src/cryptsetup.c:4179
 msgid "Options --keyslot-cipher and --keyslot-key-size must be used together."
 msgstr ""
 
-#: src/veritysetup.c:66
+#: src/veritysetup.c:76
 msgid "Invalid salt string specified."
 msgstr "指定了无效的盐字串。"
 
-#: src/veritysetup.c:97
+#: src/veritysetup.c:107
 #, fuzzy, c-format
 msgid "Cannot create hash image %s for writing."
 msgstr "无法为创建哈希映像 %s 以供写入。\n"
 
-#: src/veritysetup.c:107
+#: src/veritysetup.c:117
 #, fuzzy, c-format
 msgid "Cannot create FEC image %s for writing."
 msgstr "无法为创建哈希映像 %s 以供写入。\n"
 
-#: src/veritysetup.c:179
+#: src/veritysetup.c:191
 #, fuzzy
 msgid "Invalid root hash string specified."
 msgstr "指定了无效的根哈希值字串。\n"
 
-#: src/veritysetup.c:187
+#: src/veritysetup.c:199
 #, fuzzy, c-format
 msgid "Invalid signature file %s."
 msgstr "设备 %s 无效。"
 
-#: src/veritysetup.c:194
+#: src/veritysetup.c:206
 #, fuzzy, c-format
 msgid "Cannot read signature file %s."
 msgstr ""
 "无法读取密钥文件 %s。\n"
 "\n"
 
-#: src/veritysetup.c:392
+#: src/veritysetup.c:406
 msgid "<data_device> <hash_device>"
 msgstr "<数据设备> <哈希设备>"
 
-#: src/veritysetup.c:392 src/integritysetup.c:479
+#: src/veritysetup.c:406 src/integritysetup.c:492
 msgid "format device"
 msgstr "格式化设备"
 
-#: src/veritysetup.c:393
+#: src/veritysetup.c:407
 msgid "<data_device> <hash_device> <root_hash>"
 msgstr "<数据设备> <哈希设备> <根哈希值>"
 
-#: src/veritysetup.c:393
+#: src/veritysetup.c:407
 msgid "verify device"
 msgstr "验证设备"
 
-#: src/veritysetup.c:394
+#: src/veritysetup.c:408
 #, fuzzy
 msgid "<data_device> <name> <hash_device> <root_hash>"
 msgstr "<数据设备> <哈希设备> <根哈希值>"
 
-#: src/veritysetup.c:396 src/integritysetup.c:482
+#: src/veritysetup.c:410 src/integritysetup.c:495
 msgid "show active device status"
 msgstr "显示已激活的设备信息"
 
-#: src/veritysetup.c:397
+#: src/veritysetup.c:411
 msgid "<hash_device>"
 msgstr "<哈希设备>"
 
-#: src/veritysetup.c:397 src/integritysetup.c:483
+#: src/veritysetup.c:411 src/integritysetup.c:496
 msgid "show on-disk information"
 msgstr "显示磁盘上的信息"
 
-#: src/veritysetup.c:416
+#: src/veritysetup.c:430
 #, c-format
 msgid ""
 "\n"
@@ -3249,7 +3324,7 @@ msgstr ""
 "<哈希设备> 是含有验证信息的设备\n"
 "<根哈希值> 是 <哈希设备> 根节点的哈希值\n"
 
-#: src/veritysetup.c:423
+#: src/veritysetup.c:437
 #, c-format
 msgid ""
 "\n"
@@ -3260,135 +3335,149 @@ msgstr ""
 "编译时决定的默认 dm-verify 参数:\n"
 "\t哈希: %s, 数据块 (字节): %u, 哈希块 (字节): %u, 盐大小: %u, 哈希格式: %u\n"
 
-#: src/veritysetup.c:466
+#: src/veritysetup.c:481
 msgid "Do not use verity superblock"
 msgstr "不使用真理超级块"
 
-#: src/veritysetup.c:467
+#: src/veritysetup.c:482
 msgid "Format type (1 - normal, 0 - original Chrome OS)"
 msgstr "格式类型 (1 - 正常, 0 - 原版 Chrome OS)"
 
-#: src/veritysetup.c:467
+#: src/veritysetup.c:482
 msgid "number"
 msgstr "数字"
 
-#: src/veritysetup.c:468
+#: src/veritysetup.c:483
 msgid "Block size on the data device"
 msgstr "数据设备的块大小"
 
-#: src/veritysetup.c:469
+#: src/veritysetup.c:484
 msgid "Block size on the hash device"
 msgstr "哈希设备的块大小"
 
-#: src/veritysetup.c:470
+#: src/veritysetup.c:485
 msgid "FEC parity bytes"
 msgstr "FEC 校验字节"
 
-#: src/veritysetup.c:471
+#: src/veritysetup.c:486
 msgid "The number of blocks in the data file"
 msgstr "数据文件的块数量"
 
-#: src/veritysetup.c:471
+#: src/veritysetup.c:486
 msgid "blocks"
 msgstr "块"
 
-#: src/veritysetup.c:472
+#: src/veritysetup.c:487
 msgid "Path to device with error correction data"
 msgstr ""
 
-#: src/veritysetup.c:472 src/integritysetup.c:549
+#: src/veritysetup.c:487 src/integritysetup.c:566
 msgid "path"
 msgstr ""
 
-#: src/veritysetup.c:473
+#: src/veritysetup.c:488
 msgid "Starting offset on the hash device"
 msgstr "哈希设备开始位置偏移量"
 
-#: src/veritysetup.c:474
+#: src/veritysetup.c:489
 #, fuzzy
 msgid "Starting offset on the FEC device"
 msgstr "哈希设备开始位置偏移量"
 
-#: src/veritysetup.c:475
+#: src/veritysetup.c:490
 msgid "Hash algorithm"
 msgstr "哈希算法"
 
-#: src/veritysetup.c:475
+#: src/veritysetup.c:490
 msgid "string"
 msgstr "字符串"
 
-#: src/veritysetup.c:476
+#: src/veritysetup.c:491
 msgid "Salt"
 msgstr "盐"
 
-#: src/veritysetup.c:476
+#: src/veritysetup.c:491
 msgid "hex string"
 msgstr "十六进制字符串"
 
-#: src/veritysetup.c:478
+#: src/veritysetup.c:493
 #, fuzzy
 msgid "Path to root hash signature file"
 msgstr "创建哈希区失败。"
 
-#: src/veritysetup.c:479
+#: src/veritysetup.c:494
 msgid "Restart kernel if corruption is detected"
 msgstr ""
 
-#: src/veritysetup.c:480
+#: src/veritysetup.c:495
+msgid "Panic kernel if corruption is detected"
+msgstr ""
+
+#: src/veritysetup.c:496
 msgid "Ignore corruption, log it only"
 msgstr "忽略数据损坏,仅对其进行日志记录"
 
-#: src/veritysetup.c:481
+#: src/veritysetup.c:497
 #, fuzzy
 msgid "Do not verify zeroed blocks"
 msgstr "不使用真理超级块"
 
-#: src/veritysetup.c:482
+#: src/veritysetup.c:498
 msgid "Verify data block only the first time it is read"
 msgstr ""
 
-#: src/veritysetup.c:582
+#: src/veritysetup.c:600
 #, fuzzy
 msgid "Option --ignore-corruption, --restart-on-corruption or --ignore-zero-blocks is allowed only for open operation."
 msgstr "选项 --allow-discards 只适用于打开操作。\n"
 
-#: src/veritysetup.c:587
+#: src/veritysetup.c:605
 #, fuzzy
 msgid "Option --root-hash-signature can be used only for open operation."
 msgstr "选项 --allow-discards 只适用于打开操作。\n"
 
-#: src/veritysetup.c:592
+#: src/veritysetup.c:610
 #, fuzzy
 msgid "Option --ignore-corruption and --restart-on-corruption cannot be used together."
 msgstr "选项 --allow-discards 只适用于打开操作。\n"
 
-#: src/integritysetup.c:84 src/utils_password.c:305
+#: src/veritysetup.c:615
+#, fuzzy
+msgid "Option --panic-on-corruption and --restart-on-corruption cannot be used together."
+msgstr "选项 --allow-discards 只适用于打开操作。\n"
+
+#: src/integritysetup.c:85
+#, fuzzy, c-format
+msgid "Invalid key size. Maximum is %u bytes."
+msgstr "无效的密钥大小。"
+
+#: src/integritysetup.c:95 src/utils_password.c:339
 #, fuzzy, c-format
 msgid "Cannot read keyfile %s."
 msgstr ""
 "无法读取密钥文件 %s。\n"
 "\n"
 
-#: src/integritysetup.c:88 src/utils_password.c:310
+#: src/integritysetup.c:99 src/utils_password.c:344
 #, fuzzy, c-format
 msgid "Cannot read %d bytes from keyfile %s."
 msgstr "无法从密钥文件 %2$s 读取 %1$d 字节。\n"
 
-#: src/integritysetup.c:254
+#: src/integritysetup.c:266
 #, c-format
 msgid "Formatted with tag size %u, internal integrity %s.\n"
 msgstr ""
 
-#: src/integritysetup.c:479 src/integritysetup.c:483
+#: src/integritysetup.c:492 src/integritysetup.c:496
 #, fuzzy
 msgid "<integrity_device>"
 msgstr "验证设备"
 
-#: src/integritysetup.c:480
+#: src/integritysetup.c:493
 msgid "<integrity_device> <name>"
 msgstr ""
 
-#: src/integritysetup.c:502
+#: src/integritysetup.c:515
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -3401,415 +3490,420 @@ msgstr ""
 "<哈希设备> 是含有验证信息的设备\n"
 "<根哈希值> 是 <哈希设备> 根节点的哈希值\n"
 
-#: src/integritysetup.c:507
+#: src/integritysetup.c:520
 #, fuzzy, c-format
 msgid ""
 "\n"
 "Default compiled-in dm-integrity parameters:\n"
 "\tChecksum algorithm: %s\n"
+"\tMaximum keyfile size: %dkB\n"
 msgstr ""
 "\n"
 "编译时决定的默认 dm-verify 参数:\n"
 "\t哈希: %s, 数据块 (字节): %u, 哈希块 (字节): %u, 盐大小: %u, 哈希格式: %u\n"
 
-#: src/integritysetup.c:549
+#: src/integritysetup.c:566
 msgid "Path to data device (if separated)"
 msgstr ""
 
-#: src/integritysetup.c:551
+#: src/integritysetup.c:568
 msgid "Journal size"
 msgstr "日志大小"
 
-#: src/integritysetup.c:552
+#: src/integritysetup.c:569
 msgid "Interleave sectors"
 msgstr ""
 
-#: src/integritysetup.c:553
+#: src/integritysetup.c:570
 msgid "Journal watermark"
 msgstr ""
 
-#: src/integritysetup.c:553
+#: src/integritysetup.c:570
 msgid "percent"
 msgstr ""
 
-#: src/integritysetup.c:554
+#: src/integritysetup.c:571
 msgid "Journal commit time"
 msgstr "日志提交时间"
 
-#: src/integritysetup.c:554 src/integritysetup.c:556
+#: src/integritysetup.c:571 src/integritysetup.c:573
 msgid "ms"
 msgstr ""
 
-#: src/integritysetup.c:555
+#: src/integritysetup.c:572
 msgid "Number of 512-byte sectors per bit (bitmap mode)."
 msgstr ""
 
-#: src/integritysetup.c:556
+#: src/integritysetup.c:573
 msgid "Bitmap mode flush time"
 msgstr ""
 
-#: src/integritysetup.c:557
+#: src/integritysetup.c:574
 msgid "Tag size (per-sector)"
 msgstr ""
 
-#: src/integritysetup.c:558
+#: src/integritysetup.c:575
 msgid "Sector size"
 msgstr "扇区大小"
 
-#: src/integritysetup.c:559
+#: src/integritysetup.c:576
 msgid "Buffers size"
 msgstr "缓冲大小"
 
-#: src/integritysetup.c:561
+#: src/integritysetup.c:578
 msgid "Data integrity algorithm"
 msgstr "数据完整性校验算法"
 
-#: src/integritysetup.c:562
+#: src/integritysetup.c:579
 #, fuzzy
 msgid "The size of the data integrity key"
 msgstr "加密密钥大小"
 
-#: src/integritysetup.c:563
+#: src/integritysetup.c:580
 #, fuzzy
 msgid "Read the integrity key from a file"
 msgstr "从文件读取密钥。"
 
-#: src/integritysetup.c:565
+#: src/integritysetup.c:582
 msgid "Journal integrity algorithm"
 msgstr ""
 
-#: src/integritysetup.c:566
+#: src/integritysetup.c:583
 #, fuzzy
 msgid "The size of the journal integrity key"
 msgstr "加密密钥大小"
 
-#: src/integritysetup.c:567
+#: src/integritysetup.c:584
 #, fuzzy
 msgid "Read the journal integrity key from a file"
 msgstr "从文件读取密钥。"
 
-#: src/integritysetup.c:569
+#: src/integritysetup.c:586
 msgid "Journal encryption algorithm"
 msgstr "日志加密算法"
 
-#: src/integritysetup.c:570
+#: src/integritysetup.c:587
 #, fuzzy
 msgid "The size of the journal encryption key"
 msgstr "加密密钥大小"
 
-#: src/integritysetup.c:571
+#: src/integritysetup.c:588
 #, fuzzy
 msgid "Read the journal encryption key from a file"
 msgstr "从文件读取密钥。"
 
-#: src/integritysetup.c:574
+#: src/integritysetup.c:591
 msgid "Recovery mode (no journal, no tag checking)"
 msgstr ""
 
-#: src/integritysetup.c:575
+#: src/integritysetup.c:592
 #, fuzzy
 msgid "Use bitmap to track changes and disable journal for integrity device"
 msgstr "为 VERITY 设备提供的大小指标无效。\n"
 
-#: src/integritysetup.c:576
+#: src/integritysetup.c:593
 msgid "Recalculate initial tags automatically."
 msgstr ""
 
-#: src/integritysetup.c:649
+#: 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)"
+msgstr ""
+
+#: src/integritysetup.c:672
 #, fuzzy
 msgid "Option --integrity-recalculate can be used only for open action."
 msgstr "选项 --allow-discards 只适用于打开操作。\n"
 
-#: src/integritysetup.c:669
+#: src/integritysetup.c:692
 msgid "Options --journal-size, --interleave-sectors, --sector-size, --tag-size and --no-wipe can be used only for format action."
 msgstr ""
 
-#: src/integritysetup.c:675
+#: src/integritysetup.c:698
 msgid "Invalid journal size specification."
 msgstr "无效的日志大小指标。"
 
-#: src/integritysetup.c:680
+#: src/integritysetup.c:703
 msgid "Both key file and key size options must be specified."
 msgstr "密钥文件和密钥大小选项均必须指定。"
 
-#: src/integritysetup.c:683
-msgid "Integrity algorithm must be specified if integrity key is used."
-msgstr ""
-
-#: src/integritysetup.c:688
+#: src/integritysetup.c:708
 msgid "Both journal integrity key file and key size options must be specified."
 msgstr ""
 
-#: src/integritysetup.c:691
+#: src/integritysetup.c:711
 msgid "Journal integrity algorithm must be specified if journal integrity key is used."
 msgstr "如果使用了日志加密密钥,则必须指定日志完整性校验算法。"
 
-#: src/integritysetup.c:696
+#: src/integritysetup.c:716
 msgid "Both journal encryption key file and key size options must be specified."
 msgstr "日志加密密钥文件和密钥大小选项均必须指定。"
 
-#: src/integritysetup.c:699
+#: src/integritysetup.c:719
 msgid "Journal encryption algorithm must be specified if journal encryption key is used."
 msgstr "如果使用了日志加密密钥,则必须指定日志加密算法。"
 
-#: src/integritysetup.c:703
+#: src/integritysetup.c:723
 msgid "Recovery and bitmap mode options are mutually exclusive."
 msgstr ""
 
-#: src/integritysetup.c:707
+#: src/integritysetup.c:727
 msgid "Journal options cannot be used in bitmap mode."
 msgstr ""
 
-#: src/integritysetup.c:711
+#: src/integritysetup.c:731
 msgid "Bitmap options can be used only in bitmap mode."
 msgstr ""
 
-#: src/cryptsetup_reencrypt.c:172
+#: src/cryptsetup_reencrypt.c:190
 msgid "Reencryption already in-progress."
 msgstr "重加密已在进行中。"
 
-#: src/cryptsetup_reencrypt.c:208
+#: src/cryptsetup_reencrypt.c:226
 #, c-format
 msgid "Cannot exclusively open %s, device in use."
 msgstr "无法独占打开 %s,设备正在使用中。"
 
-#: src/cryptsetup_reencrypt.c:222 src/cryptsetup_reencrypt.c:1135
+#: src/cryptsetup_reencrypt.c:240 src/cryptsetup_reencrypt.c:1153
 msgid "Allocation of aligned memory failed."
 msgstr "分配对齐内存失败。"
 
-#: src/cryptsetup_reencrypt.c:229
+#: src/cryptsetup_reencrypt.c:247
 #, c-format
 msgid "Cannot read device %s."
 msgstr "无法读取设备 %s。"
 
-#: src/cryptsetup_reencrypt.c:240
+#: src/cryptsetup_reencrypt.c:258
 #, c-format
 msgid "Marking LUKS1 device %s unusable."
 msgstr "正在标记 LUKS1 设备 %s 为不可用状态。"
 
-#: src/cryptsetup_reencrypt.c:244
+#: src/cryptsetup_reencrypt.c:262
 #, c-format
 msgid "Setting LUKS2 offline reencrypt flag on device %s."
 msgstr "正在设备 %s 上设定 LUKS2 离线重加密旗标。"
 
-#: src/cryptsetup_reencrypt.c:261
+#: src/cryptsetup_reencrypt.c:279
 #, c-format
 msgid "Cannot write device %s."
 msgstr "无法写入设备 %s。"
 
-#: src/cryptsetup_reencrypt.c:309
+#: src/cryptsetup_reencrypt.c:327
 msgid "Cannot write reencryption log file."
 msgstr "无法写入重加密日志文件。"
 
-#: src/cryptsetup_reencrypt.c:365
+#: src/cryptsetup_reencrypt.c:383
 msgid "Cannot read reencryption log file."
 msgstr "无法读取重加密日志文件。"
 
-#: src/cryptsetup_reencrypt.c:403
+#: src/cryptsetup_reencrypt.c:421
 #, c-format
 msgid "Log file %s exists, resuming reencryption.\n"
 msgstr "日志文件 %s 存在,继续重加密。\n"
 
-#: src/cryptsetup_reencrypt.c:452
+#: src/cryptsetup_reencrypt.c:470
 msgid "Activating temporary device using old LUKS header."
 msgstr "正使用旧 LUKS 标头激活临时设备。"
 
-#: src/cryptsetup_reencrypt.c:462
+#: src/cryptsetup_reencrypt.c:480
 msgid "Activating temporary device using new LUKS header."
 msgstr "正使用新 LUKS 标头激活临时设备。"
 
-#: src/cryptsetup_reencrypt.c:472
+#: src/cryptsetup_reencrypt.c:490
 msgid "Activation of temporary devices failed."
 msgstr "激活临时设备失败。"
 
 # stat() 主要就是出来一个各种文件信息……
-#: src/cryptsetup_reencrypt.c:559
+#: src/cryptsetup_reencrypt.c:577
 #, fuzzy
 msgid "Failed to set data offset."
 msgstr "获取 (stat) 密钥文件信息失败。"
 
 # stat() 主要就是出来一个各种文件信息……
-#: src/cryptsetup_reencrypt.c:565
+#: src/cryptsetup_reencrypt.c:583
 #, fuzzy
 msgid "Failed to set metadata size."
 msgstr "获取 (stat) 密钥文件信息失败。"
 
-#: src/cryptsetup_reencrypt.c:573
+#: src/cryptsetup_reencrypt.c:591
 #, c-format
 msgid "New LUKS header for device %s created."
 msgstr "已创建设备 %s 的新 LUKS 标头。"
 
-#: src/cryptsetup_reencrypt.c:633
+#: src/cryptsetup_reencrypt.c:651
 #, c-format
 msgid "This version of cryptsetup-reencrypt can't handle new internal token type %s."
 msgstr "该版本的 cryptsetup-reencrypt 无法处理新的内部 token 类型 %s。"
 
-#: src/cryptsetup_reencrypt.c:655
+#: src/cryptsetup_reencrypt.c:673
 msgid "Failed to read activation flags from backup header."
 msgstr "从备份标头读取活动旗标失败。"
 
-#: src/cryptsetup_reencrypt.c:659
+#: src/cryptsetup_reencrypt.c:677
 msgid "Failed to write activation flags to new header."
 msgstr "向新表头写入活动旗标失败。"
 
-#: src/cryptsetup_reencrypt.c:663 src/cryptsetup_reencrypt.c:667
+#: src/cryptsetup_reencrypt.c:681 src/cryptsetup_reencrypt.c:685
 msgid "Failed to read requirements from backup header."
 msgstr "从备份标头读取需求失败。"
 
-#: src/cryptsetup_reencrypt.c:705
+#: src/cryptsetup_reencrypt.c:723
 #, c-format
 msgid "%s header backup of device %s created."
 msgstr "已创建 %s 标头备份(对应设备 %s)。"
 
-#: src/cryptsetup_reencrypt.c:768
+#: src/cryptsetup_reencrypt.c:786
 msgid "Creation of LUKS backup headers failed."
 msgstr "LUKS 备份标头创建失败。"
 
-#: src/cryptsetup_reencrypt.c:901
+#: src/cryptsetup_reencrypt.c:919
 #, c-format
 msgid "Cannot restore %s header on device %s."
 msgstr "无法恢复 %s 标头(在设备 %s 上)。"
 
-#: src/cryptsetup_reencrypt.c:903
+#: src/cryptsetup_reencrypt.c:921
 #, c-format
 msgid "%s header on device %s restored."
 msgstr "已恢复 %s 标头(在设备 %s 上)。"
 
-#: src/cryptsetup_reencrypt.c:1107 src/cryptsetup_reencrypt.c:1113
+#: src/cryptsetup_reencrypt.c:1125 src/cryptsetup_reencrypt.c:1131
 msgid "Cannot open temporary LUKS device."
 msgstr "无法打开临时 LUKS 设备。"
 
-#: src/cryptsetup_reencrypt.c:1118 src/cryptsetup_reencrypt.c:1123
+#: src/cryptsetup_reencrypt.c:1136 src/cryptsetup_reencrypt.c:1141
 msgid "Cannot get device size."
 msgstr "无法获取设备大小。"
 
-#: src/cryptsetup_reencrypt.c:1158
+#: src/cryptsetup_reencrypt.c:1176
 msgid "IO error during reencryption."
 msgstr "重加密时发生 IO 错误。"
 
-#: src/cryptsetup_reencrypt.c:1189
+#: src/cryptsetup_reencrypt.c:1207
 msgid "Provided UUID is invalid."
 msgstr "提供的 UUID 无效。"
 
-#: src/cryptsetup_reencrypt.c:1423
+#: src/cryptsetup_reencrypt.c:1441
 msgid "Cannot open reencryption log file."
 msgstr "无法打开重加密日志文件。"
 
-#: src/cryptsetup_reencrypt.c:1429
+#: src/cryptsetup_reencrypt.c:1447
 msgid "No decryption in progress, provided UUID can be used only to resume suspended decryption process."
 msgstr "没有正在进行中的解密操作,提供的 UUID 仅能用于继续已挂起的解密操作。"
 
-#: src/cryptsetup_reencrypt.c:1504
+#: src/cryptsetup_reencrypt.c:1522
 #, c-format
 msgid "Changed pbkdf parameters in keyslot %i."
 msgstr "已在密钥槽 %i 更改 pbkdf 参数。"
 
-#: src/cryptsetup_reencrypt.c:1616
+#: src/cryptsetup_reencrypt.c:1636
 msgid "Reencryption block size"
 msgstr "重加密块大小"
 
-#: src/cryptsetup_reencrypt.c:1616
+#: src/cryptsetup_reencrypt.c:1636
 msgid "MiB"
 msgstr "MiB"
 
-#: src/cryptsetup_reencrypt.c:1620
+#: src/cryptsetup_reencrypt.c:1640
 msgid "Do not change key, no data area reencryption"
 msgstr "不要更改密钥,无数据区重加密"
 
-#: src/cryptsetup_reencrypt.c:1622
+#: src/cryptsetup_reencrypt.c:1642
 msgid "Read new volume (master) key from file"
 msgstr "从文件读取卷(主)密钥"
 
-#: src/cryptsetup_reencrypt.c:1623
+#: src/cryptsetup_reencrypt.c:1643
 msgid "PBKDF2 iteration time for LUKS (in ms)"
 msgstr "LUKS 默认 PBKDF2 迭代时间(毫秒)"
 
-#: src/cryptsetup_reencrypt.c:1629
+#: src/cryptsetup_reencrypt.c:1649
 msgid "Use direct-io when accessing devices"
 msgstr "在访问设备时使用 direct-io"
 
-#: src/cryptsetup_reencrypt.c:1630
+#: src/cryptsetup_reencrypt.c:1650
 msgid "Use fsync after each block"
 msgstr "在每个数据块后使用 fsync"
 
-#: src/cryptsetup_reencrypt.c:1631
+#: src/cryptsetup_reencrypt.c:1651
 msgid "Update log file after every block"
 msgstr "在每个数据块后更新日志文件"
 
-#: src/cryptsetup_reencrypt.c:1632
+#: src/cryptsetup_reencrypt.c:1652
 msgid "Use only this slot (others will be disabled)"
 msgstr "仅使用这个密钥槽(其他的密钥槽将被禁用)"
 
-#: src/cryptsetup_reencrypt.c:1637
+#: src/cryptsetup_reencrypt.c:1657
 msgid "Create new header on not encrypted device"
 msgstr "在未加密的设备上创建新的标头"
 
-#: src/cryptsetup_reencrypt.c:1638
+#: src/cryptsetup_reencrypt.c:1658
 msgid "Permanently decrypt device (remove encryption)"
 msgstr "永久解密设备(移除加密)"
 
-#: src/cryptsetup_reencrypt.c:1639
+#: src/cryptsetup_reencrypt.c:1659
 msgid "The UUID used to resume decryption"
 msgstr "用于继续解密的 UUID"
 
-#: src/cryptsetup_reencrypt.c:1640
+#: src/cryptsetup_reencrypt.c:1660
 msgid "Type of LUKS metadata: luks1, luks2"
 msgstr "LUKS 元数据类型:luks1、luks2"
 
-#: src/cryptsetup_reencrypt.c:1659
+#: src/cryptsetup_reencrypt.c:1679
 msgid "[OPTION...] <device>"
 msgstr "[选项...] <设备>"
 
-#: src/cryptsetup_reencrypt.c:1667
+#: src/cryptsetup_reencrypt.c:1687
 #, c-format
 msgid "Reencryption will change: %s%s%s%s%s%s."
 msgstr "重加密会改变:%s%s%s%s%s%s。"
 
-#: src/cryptsetup_reencrypt.c:1668
+#: src/cryptsetup_reencrypt.c:1688
 msgid "volume key"
 msgstr "卷密钥"
 
-#: src/cryptsetup_reencrypt.c:1670
+#: src/cryptsetup_reencrypt.c:1690
 msgid "set hash to "
 msgstr "设置哈希值为 "
 
-#: src/cryptsetup_reencrypt.c:1671
+#: src/cryptsetup_reencrypt.c:1691
 msgid ", set cipher to "
 msgstr ",设定密文为 "
 
-#: src/cryptsetup_reencrypt.c:1675
+#: src/cryptsetup_reencrypt.c:1695
 msgid "Argument required."
 msgstr "需要参数。"
 
-#: src/cryptsetup_reencrypt.c:1703
+#: src/cryptsetup_reencrypt.c:1723
 msgid "Only values between 1 MiB and 64 MiB allowed for reencryption block size."
 msgstr "重加密块大小只能是 1 MiB 到 64 MiB 之间的值。"
 
-#: src/cryptsetup_reencrypt.c:1730
+#: src/cryptsetup_reencrypt.c:1750
 msgid "Maximum device reduce size is 64 MiB."
 msgstr "最大设备缩减大小为 64 MiB。"
 
-#: src/cryptsetup_reencrypt.c:1737
+#: src/cryptsetup_reencrypt.c:1757
 msgid "Option --new must be used together with --reduce-device-size or --header."
 msgstr "选项 --new 必须与 --reduce-device-size 或 --header 共用。"
 
-#: src/cryptsetup_reencrypt.c:1741
+#: src/cryptsetup_reencrypt.c:1761
 msgid "Option --keep-key can be used only with --hash, --iter-time or --pbkdf-force-iterations."
 msgstr "选项 --keep-key 只能与 --hash、--iter-time 或 --pbkdf-force-iterations 共用。"
 
-#: src/cryptsetup_reencrypt.c:1745
+#: src/cryptsetup_reencrypt.c:1765
 msgid "Option --new cannot be used together with --decrypt."
 msgstr "选项 --new 不可与 --decrypt 共用。"
 
-#: src/cryptsetup_reencrypt.c:1749
+#: src/cryptsetup_reencrypt.c:1769
 msgid "Option --decrypt is incompatible with specified parameters."
 msgstr "选项 --decrypt 与选定参数不兼容。"
 
-#: src/cryptsetup_reencrypt.c:1753
+#: src/cryptsetup_reencrypt.c:1773
 msgid "Option --uuid is allowed only together with --decrypt."
 msgstr "选项 --uuid 不可与 --decrypt 共用。"
 
-#: src/cryptsetup_reencrypt.c:1757
+#: src/cryptsetup_reencrypt.c:1777
 msgid "Invalid luks type. Use one of these: 'luks', 'luks1' or 'luks2'."
 msgstr "无效的 luks 类型。请使用下列选项之一:'luks'、'luks1' 或 'luks2'。"
 
@@ -3850,97 +3944,97 @@ msgstr "未知错误"
 msgid "Command failed with code %i (%s).\n"
 msgstr "命令失败,代码 %i(%s)。\n"
 
-#: src/utils_tools.c:283
+#: src/utils_tools.c:284
 #, fuzzy, c-format
 msgid "Key slot %i created."
 msgstr "密钥槽 %d 已改变。"
 
-#: src/utils_tools.c:285
+#: src/utils_tools.c:286
 #, fuzzy, c-format
 msgid "Key slot %i unlocked."
 msgstr "密钥槽 %d 已解锁。"
 
-#: src/utils_tools.c:287
+#: src/utils_tools.c:288
 #, fuzzy, c-format
 msgid "Key slot %i removed."
 msgstr "密钥槽 %d 已解锁。"
 
-#: src/utils_tools.c:296
+#: src/utils_tools.c:297
 #, fuzzy, c-format
 msgid "Token %i created."
 msgstr "密钥槽 %d 未使用。\n"
 
-#: src/utils_tools.c:298
+#: src/utils_tools.c:299
 #, fuzzy, c-format
 msgid "Token %i removed."
 msgstr "密钥槽 %d 未使用。\n"
 
-#: src/utils_tools.c:464
+#: src/utils_tools.c:465
 #, fuzzy
 msgid ""
 "\n"
 "Wipe interrupted."
 msgstr "测试密文"
 
-#: src/utils_tools.c:475
+#: src/utils_tools.c:476
 #, c-format
 msgid "WARNING: Device %s already contains a '%s' partition signature.\n"
 msgstr ""
 
-#: src/utils_tools.c:483
+#: src/utils_tools.c:484
 #, c-format
 msgid "WARNING: Device %s already contains a '%s' superblock signature.\n"
 msgstr ""
 
-#: src/utils_tools.c:504 src/utils_tools.c:568
+#: src/utils_tools.c:505 src/utils_tools.c:569
 #, fuzzy
 msgid "Failed to initialize device signature probes."
 msgstr "初始化默认 LUKS2 密钥槽参数失败。"
 
 # stat() 主要就是出来一个各种文件信息……
-#: src/utils_tools.c:548
+#: src/utils_tools.c:549
 #, fuzzy, c-format
 msgid "Failed to stat device %s."
 msgstr "获取 (stat) 密钥文件信息失败。"
 
-#: src/utils_tools.c:561
+#: src/utils_tools.c:562
 #, c-format
 msgid "Device %s is in use. Can not proceed with format operation."
 msgstr ""
 
-#: src/utils_tools.c:563
+#: src/utils_tools.c:564
 #, fuzzy, c-format
 msgid "Failed to open file %s in read/write mode."
 msgstr "无法打开密钥文件 %s 以供写入。"
 
-#: src/utils_tools.c:577
+#: src/utils_tools.c:578
 #, c-format
 msgid "Existing '%s' partition signature (offset: %<PRIi64> bytes) on device %s will be wiped."
 msgstr ""
 
-#: src/utils_tools.c:580
+#: src/utils_tools.c:581
 #, c-format
 msgid "Existing '%s' superblock signature (offset: %<PRIi64> bytes) on device %s will be wiped."
 msgstr ""
 
-#: src/utils_tools.c:583
+#: src/utils_tools.c:584
 #, fuzzy
 msgid "Failed to wipe device signature."
 msgstr "无法获取写入设备锁。"
 
-#: src/utils_tools.c:590
+#: src/utils_tools.c:591
 #, c-format
 msgid "Failed to probe device %s for a signature."
 msgstr ""
 
-#: src/utils_tools.c:629
+#: src/utils_tools.c:622
 #, fuzzy
 msgid ""
 "\n"
 "Reencryption interrupted."
 msgstr "测试密文"
 
-#: src/utils_password.c:43 src/utils_password.c:75
+#: src/utils_password.c:43 src/utils_password.c:76
 #, c-format
 msgid "Cannot check password quality: %s"
 msgstr "无法检查密码质量:%s"
@@ -3959,46 +4053,46 @@ msgstr ""
 msgid "Password quality check failed: Bad passphrase (%s)"
 msgstr "密码质量检查失败:无效密码 (%s)"
 
-#: src/utils_password.c:193 src/utils_password.c:208
+#: src/utils_password.c:228 src/utils_password.c:242
 msgid "Error reading passphrase from terminal."
 msgstr "从终端读取口令时出错。"
 
-#: src/utils_password.c:206
+#: src/utils_password.c:240
 msgid "Verify passphrase: "
 msgstr "确认密码:"
 
-#: src/utils_password.c:213
+#: src/utils_password.c:247
 msgid "Passphrases do not match."
 msgstr "口令不匹配。"
 
-#: src/utils_password.c:250
+#: src/utils_password.c:284
 msgid "Cannot use offset with terminal input."
 msgstr "不能将偏移量用于终端输入。"
 
-#: src/utils_password.c:253
+#: src/utils_password.c:287
 #, c-format
 msgid "Enter passphrase: "
 msgstr "输入口令:"
 
-#: src/utils_password.c:256
+#: src/utils_password.c:290
 #, c-format
 msgid "Enter passphrase for %s: "
 msgstr "输入 %s 的口令:"
 
-#: src/utils_password.c:287
+#: src/utils_password.c:321
 msgid "No key available with this passphrase."
 msgstr "此口令无可用的密钥。"
 
-#: src/utils_password.c:289
+#: src/utils_password.c:323
 msgid "No usable keyslot is available."
 msgstr ""
 
-#: src/utils_password.c:328
+#: src/utils_password.c:365
 #, c-format
 msgid "Cannot open keyfile %s for write."
 msgstr "无法打开密钥文件 %s 以供写入。"
 
-#: src/utils_password.c:335
+#: src/utils_password.c:372
 #, c-format
 msgid "Cannot write to keyfile %s."
 msgstr "无法写入密钥文件 %s。"
@@ -4041,21 +4135,35 @@ msgstr "测试密文"
 msgid "Failed to write JSON file."
 msgstr "打开 (open) 密钥文件失败。"
 
+#, c-format
 #~ msgid "Cannot format device %s which is still in use."
 #~ msgstr "无法格式化正在使用的设备 %s。"
 
+#, c-format
 #~ msgid "Replaced with key slot %d."
 #~ msgstr "替换为密钥槽 %d。"
 
+#, c-format
 #~ msgid "Key slot %d is not used."
 #~ msgstr "密钥槽 %d 未使用。"
 
 #~ msgid "Function not available in FIPS mode."
 #~ msgstr "功能在 FIPS 模式无效。"
 
+#, c-format
+#~ msgid "WARNING: Locking directory %s/%s is missing!\n"
+#~ msgstr "警告:锁定目录 %s/%s 缺失!\n"
+
+#, fuzzy
+#~| msgid "Invalid size parameters for verity device.\n"
+#~ msgid "Invalid size parameters for verity device."
+#~ msgstr "为 VERITY 设备提供的大小指标无效。\n"
+
+#, c-format
 #~ msgid "Device %s is too small. (LUKS2 requires at least %<PRIu64> bytes.)"
 #~ msgstr "设备 %s 过小。(LUKS2 需要至少 %<PRIu64> 字节。)"
 
+#, c-format
 #~ msgid "Key slot %d selected for deletion."
 #~ msgstr "已选中密钥槽 %d 以供删除。"
 
@@ -4074,6 +4182,7 @@ msgstr "打开 (open) 密钥文件失败。"
 #~ msgid "Failed to set PBKDF parameters."
 #~ msgstr "设置 pbkdf 参数失败。"
 
+#, c-format
 #~ msgid "Activated keyslot %i."
 #~ msgstr "已激活密钥槽 %i。"