Fix deactivation of device when failed underlying node disappeared
[platform/upstream/cryptsetup.git] / po / vi.po
index aee2ef8..afa4ee7 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -1,42 +1,45 @@
 # Vietnamese translation for CryptSetup.
-# Copyright © 2012 Free Software Foundation, Inc.
+# Copyright © 2013 Free Software Foundation, Inc.
 # This file is distributed under the same license as the cryptsetup package.
 # Clytie Siddall <clytie@riverland.net.au>, 2010.
-# Trần Ngọc Quân <vnwildman@gmail.com>, 2012.
+# Trần Ngọc Quân <vnwildman@gmail.com>, 2012-2013.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: cryptsetup-1.4.3\n"
+"Project-Id-Version: cryptsetup-1.6.0\n"
 "Report-Msgid-Bugs-To: dm-crypt@saout.de\n"
-"POT-Creation-Date: 2012-05-22 23:31+0200\n"
-"PO-Revision-Date: 2012-05-26 07:51+0700\n"
+"POT-Creation-Date: 2013-01-07 18:59+0100\n"
+"PO-Revision-Date: 2013-01-12 08:01+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
 "Language: vi\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Team-Website: <http://translationproject.org/team/vi.html>\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: LocFactoryEditor 1.8\n"
-"X-Poedit-Language: Vietnamese\n"
-"X-Poedit-Country: VIET NAM\n"
-"X-Poedit-SourceCharset: utf-8\n"
+"X-Poedit-SourceCharset: UTF-8\n"
 
-#: lib/libdevmapper.c:184
+#: lib/libdevmapper.c:232
+msgid "Cannot initialize device-mapper, running as non-root user.\n"
+msgstr "Không thể khởi tạo ánh-xạ-thiết-bị (device-mapper), do không chạy dưới quyền siêu người dùng.\n"
+
+#: lib/libdevmapper.c:235
 msgid "Cannot initialize device-mapper. Is dm_mod kernel module loaded?\n"
-msgstr "Không thể sơ khởi tiến trình ánh xạ thiết bị. Mô-đun hạt nhân \"dm_mod\" được nạp chưa?\n"
+msgstr "Không thể khởi tạo tiến trình ánh xạ thiết bị. Mô-đun hạt nhân“dm_mod”  được nạp chưa?\n"
 
-#: lib/libdevmapper.c:423
+#: lib/libdevmapper.c:518
 #, c-format
 msgid "DM-UUID for device %s was truncated.\n"
-msgstr "Mã số DM-UUID cho thiết bị %s bị cắt bớt.\n"
+msgstr "Mã số DM-UUID cho thiết bị %s bị cắt ngắn.\n"
 
 #: lib/random.c:75
 msgid ""
 "System is out of entropy while generating volume key.\n"
 "Please move mouse or type some text in another window to gather some random events.\n"
 msgstr ""
-"Hệ thống bị nằm ngoài en-trô-pi trong khi tạo khóa dung lượng.\n"
+"Hệ thống bị nằm ngoài en-trô-pi trong khi tạo khóa vùng chứa.\n"
 "Xin hãy di chuyển con chuột hay gõ vài chữ trong cửa sổ khác để thu thập sự kiện ngẫu nhiên.\n"
 
 #: lib/random.c:79
@@ -55,783 +58,947 @@ msgstr "Không hiểu chất lượng RNG đã yêu cầu.\n"
 #: lib/random.c:210
 #, c-format
 msgid "Error %d reading from RNG: %s\n"
-msgstr "Lỗi %d khi đọc một từ RNG: %s\n"
+msgstr "Lỗi %d khi đọc từ RNG: %s\n"
 
-#: lib/setup.c:162
+#: lib/setup.c:192
 msgid "Cannot initialize crypto RNG backend.\n"
-msgstr "Không khởi tạo ứng dụng chạy ở phía sau (backend) mật mã RNG.\n"
+msgstr "Không thể khởi tạo ứng dụng chạy ở phía sau (backend) mã hóa RNG.\n"
 
-#: lib/setup.c:168
+#: lib/setup.c:198
 msgid "Cannot initialize crypto backend.\n"
-msgstr "Không thể sơ khởi hậu phương mật mã.\n"
+msgstr "Không thể khởi ứng dụng mã hóa chạy ở phía sau (backend).\n"
 
-#: lib/setup.c:190
+#: lib/setup.c:221 lib/setup.c:1112 lib/verity/verity.c:123
 #, c-format
 msgid "Hash algorithm %s not supported.\n"
 msgstr "Thuật toán băm %s không được hỗ trợ.\n"
 
-#: lib/setup.c:193 lib/loopaes/loopaes.c:87
+#: lib/setup.c:224 lib/loopaes/loopaes.c:90
 #, c-format
 msgid "Key processing error (using hash %s).\n"
 msgstr "Lỗi xử lý khoá (dùng mã băm %s).\n"
 
-#: lib/setup.c:229
+#: lib/setup.c:270
 msgid "All key slots full.\n"
 msgstr "Mọi khe khoá đều bị đầy.\n"
 
-#: lib/setup.c:236
+#: lib/setup.c:277
 #, c-format
 msgid "Key slot %d is invalid, please select between 0 and %d.\n"
 msgstr "Khe khoá %d không đúng, hãy chọn một giá trị trong phạm vi 0 đến %d.\n"
 
-#: lib/setup.c:242
+#: lib/setup.c:283
 #, c-format
 msgid "Key slot %d is full, please select another one.\n"
 msgstr "Khe khoá %d bị đầy, hãy chọn một khe khác.\n"
 
-#: lib/setup.c:345
+#: lib/setup.c:397
 #, c-format
 msgid "Enter passphrase for %s: "
-msgstr "Gõ cụm từ mật khẩu cho %s: "
-
-#: lib/setup.c:505
-msgid "Cannot find a free loopback device.\n"
-msgstr "Không tìm thấy thiết bị vòng ngược (loopback ) nào còn rảnh.\n"
+msgstr "Nhập cụm từ mật khẩu cho %s: "
 
-#: lib/setup.c:513
-msgid "Attaching loopback device failed (loop device with autoclear flag is required).\n"
-msgstr "Gặp lỗi khi gắn thiết bị vòng lặp (loopback) (thiết bị lặp với cờ autoclear là bắt buộc).\n"
-
-#: lib/setup.c:569
+#: lib/setup.c:578
 #, c-format
-msgid "LUKS header detected but device %s is too small.\n"
-msgstr "Phát hiện được phần đầu LUKS mà thiết bị %s quá nhỏ.\n"
+msgid "Header detected but device %s is too small.\n"
+msgstr "Phát hiện được phần đầu nhưng mà thiết bị %s quá nhỏ.\n"
 
-#: lib/setup.c:585 lib/setup.c:1073
+#: lib/setup.c:594 lib/setup.c:1339
 msgid "This operation is not supported for this device type.\n"
 msgstr "Thao tác này không được hỗ trợ cho kiểu thiết bị này.\n"
 
-#: lib/setup.c:648 lib/setup.c:1040 lib/setup.c:1810
+#: lib/setup.c:832 lib/setup.c:1300 lib/setup.c:2168
 #, c-format
 msgid "Device %s is not active.\n"
 msgstr "Thiết bị %s không hoạt động.\n"
 
-#: lib/setup.c:666
+#: lib/setup.c:849
 #, c-format
 msgid "Underlying device for crypt device %s disappeared.\n"
 msgstr "Thiết bị nằm dưới cho thiết bị crypt %s đã bị biến mất.\n"
 
-#: lib/setup.c:780
+#: lib/setup.c:914
 msgid "Invalid plain crypt parameters.\n"
-msgstr "Sai lập tham số mật mã bình thường.\n"
+msgstr "Đặt sai tham số mã hóa bình thường.\n"
 
-#: lib/setup.c:785 lib/setup.c:890
+#: lib/setup.c:919 lib/setup.c:1041
 msgid "Invalid key size.\n"
 msgstr "Kích cỡ khoá không đúng.\n"
 
-#: lib/setup.c:826
+#: lib/setup.c:963
 msgid "Can't format LUKS without device.\n"
 msgstr "Không thể định dạng LUKS mà không có thiết bị.\n"
 
-#: lib/setup.c:864
+#: lib/setup.c:1011
 #, c-format
 msgid "Cannot format device %s which is still in use.\n"
 msgstr "Không thể định dạng thiết bị %s mà nó lại vẫn đang được sử dụng.\n"
 
-#: lib/setup.c:867
+#: lib/setup.c:1014
+#, c-format
+msgid "Cannot format device %s, permission denied.\n"
+msgstr "Không thể định dạng thiết bị %s, không đủ thẩm quyền.\n"
+
+#: lib/setup.c:1018
 #, c-format
 msgid "Cannot wipe header on device %s.\n"
 msgstr "Không thể tẩy xoá phần đầu trên thiết bị %s.\n"
 
-#: lib/setup.c:885
+#: lib/setup.c:1036
 msgid "Can't format LOOPAES without device.\n"
 msgstr "Không thể định dạng LOOPAES bên ngoài thiết bị.\n"
 
-#: lib/setup.c:945
+#: lib/setup.c:1072
+msgid "Can't format VERITY without device.\n"
+msgstr "Không thể định dạng VERITY mà không có thiết bị.\n"
+
+#: lib/setup.c:1080 lib/verity/verity.c:106
+#, c-format
+msgid "Unsupported VERITY hash type %d.\n"
+msgstr "Kiểu băm VERITY %d không được hỗ trợ.\n"
+
+#: lib/setup.c:1086 lib/verity/verity.c:114
+msgid "Unsupported VERITY block size.\n"
+msgstr "Kích thước khối VERITY không được hỗ trợ.\n"
+
+#: lib/setup.c:1091 lib/verity/verity.c:76
+msgid "Unsupported VERITY hash offset.\n"
+msgstr "Khoảng bù (offset) mã băm VERITY không được hỗ trợ.\n"
+
+#: lib/setup.c:1203
 #, c-format
 msgid "Unknown crypt device type %s requested.\n"
-msgstr "Không rõ kiểu thiết bị mật mã %s được yêu cầu.\n"
+msgstr "Không rõ kiểu thiết bị mã hóa %s được yêu cầu.\n"
 
-#: lib/setup.c:1088
+#: lib/setup.c:1354
 msgid "Do you really want to change UUID of device?"
 msgstr "Bạn có thực sự muốn thay đổi UUID cho thiết bị?"
 
-#: lib/setup.c:1173 lib/setup.c:1220 lib/setup.c:1269 lib/setup.c:1335
-#: lib/setup.c:1411 lib/setup.c:1492 lib/setup.c:1538 lib/setup.c:1875
-#: lib/setup.c:1980 lib/setup.c:2119
+#: lib/setup.c:1444 lib/setup.c:1489 lib/setup.c:1538 lib/setup.c:1604
+#: lib/setup.c:1677 lib/setup.c:1741 lib/setup.c:1822 lib/setup.c:1868
+#: lib/setup.c:2234 lib/setup.c:2534
 msgid "This operation is supported only for LUKS device.\n"
 msgstr "Thao tác này được hỗ trợ chỉ cho thiết bị LUKS.\n"
 
-#: lib/setup.c:1180
+#: lib/setup.c:1451
 #, c-format
 msgid "Volume %s is not active.\n"
 msgstr "Khối tin %s không hoạt động.\n"
 
-#: lib/setup.c:1192
+#: lib/setup.c:1462
 #, c-format
 msgid "Volume %s is already suspended.\n"
 msgstr "Khối %s đã bị ngưng.\n"
 
-#: lib/setup.c:1230 lib/setup.c:1279
+#: lib/setup.c:1469
+#, c-format
+msgid "Suspend is not supported for device %s.\n"
+msgstr "Tạm dừng không được hỗ trợ cho kiểu thiết bị %s.\n"
+
+#: lib/setup.c:1471
+#, c-format
+msgid "Error during suspending device %s.\n"
+msgstr "Gặp lỗi khi tạm dừng thiết bị %s.\n"
+
+#: lib/setup.c:1499 lib/setup.c:1548
 #, c-format
 msgid "Volume %s is not suspended.\n"
 msgstr "Khối %s không bị ngưng.\n"
 
-#: lib/setup.c:1286 lib/setup.c:1663 lib/setup.c:1677 src/cryptsetup.c:343
+#: lib/setup.c:1513
+#, c-format
+msgid "Resume is not supported for device %s.\n"
+msgstr "Thao tác phục hồi không được hỗ trợ cho kiểu thiết bị %s.\n"
+
+#: lib/setup.c:1515 lib/setup.c:1569
+#, c-format
+msgid "Error during resuming device %s.\n"
+msgstr "Gặp lỗi khi cho hoạt động trở lại thiết bị %s.\n"
+
+#: lib/setup.c:1555 lib/setup.c:1993 lib/setup.c:2007 src/cryptsetup.c:151
+#: src/cryptsetup.c:229 src/cryptsetup.c:316
 msgid "Enter passphrase: "
 msgstr "Gõ cụm từ mật khẩu: "
 
-#: lib/setup.c:1349 lib/setup.c:1425
+#: lib/setup.c:1618 lib/setup.c:1755
 msgid "Cannot add key slot, all slots disabled and no volume key provided.\n"
 msgstr "Không thể thêm khe khoá vì mọi khe đều bị tắt và không cung cấp khoá khối tin.\n"
 
-#: lib/setup.c:1358 lib/setup.c:1431 lib/setup.c:1435
+#: lib/setup.c:1627 lib/setup.c:1761 lib/setup.c:1765 src/cryptsetup.c:928
 msgid "Enter any passphrase: "
-msgstr " bất cứ cụm từ mật khẩu nào: "
+msgstr "Nhập bất cứ cụm từ mật khẩu nào: "
 
-#: lib/setup.c:1375 lib/setup.c:1448 lib/setup.c:1452 lib/setup.c:1515
+#: lib/setup.c:1644 lib/setup.c:1778 lib/setup.c:1782 lib/setup.c:1845
+#: src/cryptsetup.c:942
 msgid "Enter new passphrase for key slot: "
 msgstr "Gõ cụm từ mật khẩu mới cho khe khoá: "
 
-#: lib/setup.c:1506 lib/setup.c:1767 lib/setup.c:1780 lib/setup.c:1886
+#: lib/setup.c:1709
+#, c-format
+msgid "Key slot %d changed.\n"
+msgstr "Khe khoá %d đã thay đổi.\n"
+
+#: lib/setup.c:1712
+#, c-format
+msgid "Replaced with key slot %d.\n"
+msgstr "Đã thay thế với khe khoá %d.\n"
+
+#: lib/setup.c:1717
+msgid "Failed to swap new key slot.\n"
+msgstr "Gặp lỗi khi hoán đổi khe khoá mới.\n"
+
+#: lib/setup.c:1836 lib/setup.c:2097 lib/setup.c:2110 lib/setup.c:2245
 msgid "Volume key does not match the volume.\n"
 msgstr "Khoá khối tin không tương ứng với khối tin đó.\n"
 
-#: lib/setup.c:1544
+#: lib/setup.c:1874
 #, c-format
 msgid "Key slot %d is invalid.\n"
 msgstr "Khe khoá %d không đúng.\n"
 
-#: lib/setup.c:1549
+#: lib/setup.c:1879
 #, c-format
 msgid "Key slot %d is not used.\n"
 msgstr "Khe khoá %d không được dùng.\n"
 
-#: lib/setup.c:1579 lib/setup.c:1651 lib/setup.c:1743
+#: lib/setup.c:1909 lib/setup.c:1981 lib/setup.c:2073
 #, c-format
 msgid "Device %s already exists.\n"
-msgstr "Thiết bị %s đã có.\n"
+msgstr "Thiết bị %s đã sẵn có.\n"
 
-#: lib/setup.c:1754
+#: lib/setup.c:2084
 msgid "Incorrect volume key specified for plain device.\n"
-msgstr "Khóa dung lượng đã chỉ định không dúng cho thiết bị thường.\n"
+msgstr "Khóa vùng chứa đã chỉ định không đúng cho thiết bị thường.\n"
 
-#: lib/setup.c:1785
+#: lib/setup.c:2117
+msgid "Incorrect root hash specified for verity device.\n"
+msgstr "Mã băm gốc đã chỉ định không đúng cho thiết bị chứng thực (verity).\n"
+
+#: lib/setup.c:2140
 msgid "Device type is not properly initialised.\n"
 msgstr "Kiểu thiết bị gần như chắc chắn là chưa được thiết lập.\n"
 
-#: lib/setup.c:1814
+#: lib/setup.c:2172
 #, c-format
 msgid "Invalid device %s.\n"
 msgstr "Thiết bị không đúng %s.\n"
 
-#: lib/setup.c:1842
+#: lib/setup.c:2194
+msgid "Function not available in FIPS mode.\n"
+msgstr "Chức năng không khả dụng trong chế độ FIPS.\n"
+
+#: lib/setup.c:2200
 msgid "Volume key buffer too small.\n"
 msgstr "Vùng đệm khoá khối tin quá nhỏ.\n"
 
-#: lib/setup.c:1850
+#: lib/setup.c:2208
 msgid "Cannot retrieve volume key for plain device.\n"
 msgstr "Không thể lấy khoá khối tin cho thiết bị bình thường.\n"
 
-#: lib/setup.c:1856
+#: lib/setup.c:2215
 #, c-format
 msgid "This operation is not supported for %s crypt device.\n"
-msgstr "Thao tác này không được hỗ trợ cho thiết bị mật mã %s.\n"
-
-#: lib/utils.c:270
-#, c-format
-msgid "Device %s doesn't exist or access denied.\n"
-msgstr "Thiết bị %s không tồn tại hoặc không đủ quyền truy cập.\n"
-
-#: lib/utils.c:280
-#, c-format
-msgid "Cannot open device %s for %s%s access.\n"
-msgstr "Không thể mở thiết bị %s cho truy cập %s%s.\n"
-
-#: lib/utils.c:281
-msgid "exclusive "
-msgstr "dành riêng"
-
-#: lib/utils.c:282
-msgid "writable"
-msgstr "ghi được"
+msgstr "Thao tác này không được hỗ trợ cho thiết bị mã hóa %s.\n"
 
-#: lib/utils.c:282
-msgid "read-only"
-msgstr "chỉ đọc"
+#: lib/setup.c:2412
+msgid "Dump operation is not supported for this device type.\n"
+msgstr "Thao tác đổ đống (dump) không được hỗ trợ cho kiểu thiết bị này.\n"
 
-#: lib/utils.c:289
-#, c-format
-msgid "Cannot read device %s.\n"
-msgstr "Không thể đọc thiết bị %s.\n"
-
-#: lib/utils.c:386
-#, c-format
-msgid "Cannot use device %s which is in use (already mapped or mounted).\n"
-msgstr "Không thể sử dụng thiết bị %s mà nó lại đang được sử dụng(đang được ánh xạ hoặc gắn).\n"
-
-#: lib/utils.c:390
-#, c-format
-msgid "Cannot get info about device %s.\n"
-msgstr "Không thể lấy thông tin về thiết bị %s.\n"
-
-#: lib/utils.c:396
-#, c-format
-msgid "Requested offset is beyond real size of device %s.\n"
-msgstr "Khoảng bù (offset) yêu cầu nằm ngoài kích thước thật của thiết bị %s.\n"
-
-#: lib/utils.c:404
-#, c-format
-msgid "Device %s has zero size.\n"
-msgstr "Thiết bị %s có kích cỡ số không.\n"
-
-#: lib/utils.c:415 lib/luks1/keymanage.c:532
-#, c-format
-msgid "Device %s is too small.\n"
-msgstr "Thiết bị %s có kích cỡ quá nhỏ.\n"
-
-#: lib/utils.c:439
-msgid "WARNING!!! Possibly insecure memory. Are you root?\n"
-msgstr "CẢNH BÁO ! Có thể là vùng nhớ không an toàn. Bạn đang chạy dưới người chủ (root) không?\n"
-
-#: lib/utils.c:445
+#: lib/utils.c:244
 msgid "Cannot get process priority.\n"
 msgstr "Không thể lấy mức ưu tiên của tiến trình.\n"
 
-#: lib/utils.c:448 lib/utils.c:461
-#, c-format
-msgid "setpriority %d failed: %s\n"
-msgstr "đặt quyền ưu tiên %d gặp lỗi: %s\n"
-
-#: lib/utils.c:459
+#: lib/utils.c:258
 msgid "Cannot unlock memory.\n"
 msgstr "Không thể mở khoá bộ nhớ.\n"
 
-#: lib/utils_crypt.c:221 lib/utils_crypt.c:234 lib/utils_crypt.c:338
-#: lib/utils_crypt.c:354
+#: lib/utils_crypt.c:227 lib/utils_crypt.c:240 lib/utils_crypt.c:387
+#: lib/utils_crypt.c:402
 msgid "Out of memory while reading passphrase.\n"
 msgstr "Tràn bộ nhớ trong khi đọc cụm từ mật khẩu.\n"
 
-#: lib/utils_crypt.c:226 lib/utils_crypt.c:241
+#: lib/utils_crypt.c:232 lib/utils_crypt.c:247
 msgid "Error reading passphrase from terminal.\n"
 msgstr "Gặp lỗi khi đọc cụm từ mật khẩu từ thiết bị cuối.\n"
 
-#: lib/utils_crypt.c:239
+#: lib/utils_crypt.c:245
 msgid "Verify passphrase: "
 msgstr "Thẩm tra cụm từ mật khẩu: "
 
-#: lib/utils_crypt.c:246
+#: lib/utils_crypt.c:252
 msgid "Passphrases do not match.\n"
 msgstr "Hai cụm từ mật khẩu không trùng nhau.\n"
 
-#: lib/utils_crypt.c:287
+#: lib/utils_crypt.c:336
 msgid "Cannot use offset with terminal input.\n"
 msgstr "Không thể sử dụng khoảng bù (offset) với đầu vào thiết bị cuối.\n"
 
-#: lib/utils_crypt.c:306
+#: lib/utils_crypt.c:355 lib/tcrypt/tcrypt.c:443
 msgid "Failed to open key file.\n"
 msgstr "Gặp lỗi khi mở tập tin khoá.\n"
 
-#: lib/utils_crypt.c:315
+#: lib/utils_crypt.c:364
 msgid "Failed to stat key file.\n"
 msgstr "Gặp lỗi khi lấy thông tin tập tin khoá.\n"
 
-#: lib/utils_crypt.c:323 lib/utils_crypt.c:345
+#: lib/utils_crypt.c:372 lib/utils_crypt.c:393
 msgid "Cannot seek to requested keyfile offset.\n"
 msgstr "Không thể tìm (seek) tới vị trí bù (offset) tập tin khóa đã yêu cầu.\n"
 
-#: lib/utils_crypt.c:362
+#: lib/utils_crypt.c:410
 msgid "Error reading passphrase.\n"
 msgstr "Lỗi đọc cụm từ mật khẩu.\n"
 
-#: lib/utils_crypt.c:380
+#: lib/utils_crypt.c:428
 msgid "Maximum keyfile size exceeded.\n"
 msgstr "Đã vượt quá kích thước tập tin khóa tối đa.\n"
 
-#: lib/utils_crypt.c:385
+#: lib/utils_crypt.c:433
 msgid "Cannot read requested amount of data.\n"
 msgstr "Không thể đọc đống dữ liệu đã yêu cầu.\n"
 
-#: lib/utils_fips.c:45
+#: lib/utils_fips.c:47
 msgid "FIPS checksum verification failed.\n"
 msgstr "Thẩm tra mã băm FIPS không đạt.\n"
 
-#: lib/utils_fips.c:49
+#: lib/utils_fips.c:51
 msgid "Running in FIPS mode.\n"
 msgstr "Đang chạy trong chế độ FIPS.\n"
 
-#: lib/luks1/keyencryption.c:79
+#: lib/utils_device.c:52 lib/luks1/keyencryption.c:81
+#, c-format
+msgid "Device %s doesn't exist or access denied.\n"
+msgstr "Thiết bị %s không tồn tại hoặc không đủ quyền truy cập.\n"
+
+#: lib/utils_device.c:346
+msgid "Cannot use a loopback device, running as non-root user.\n"
+msgstr "Không thể sử dụng thiết-bị vòng lặp (loopback), do không chạy dưới quyền siêu người dùng.\n"
+
+#: lib/utils_device.c:349
+msgid "Cannot find a free loopback device.\n"
+msgstr "Không tìm thấy thiết bị vòng ngược (loopback ) nào còn rảnh.\n"
+
+#: lib/utils_device.c:356
+msgid "Attaching loopback device failed (loop device with autoclear flag is required).\n"
+msgstr "Gặp lỗi khi gắn thiết bị vòng lặp (loopback) (thiết bị lặp với cờ autoclear là bắt buộc).\n"
+
+#: lib/utils_device.c:396
 #, c-format
-msgid "Unable to obtain sector size for %s"
-msgstr "Không thể lấy kích cỡ rãnh ghi cho %s"
+msgid "Cannot use device %s which is in use (already mapped or mounted).\n"
+msgstr "Không thể sử dụng thiết bị %s mà nó lại đang được sử dụng(đang được ánh xạ hoặc gắn).\n"
 
-#: lib/luks1/keyencryption.c:106
-msgid "Key size in XTS mode must be 256 or 512 bits.\n"
-msgstr "Kích thước khóa trong chế độ XTS phải là 256 hay 512 bit.\n"
+#: lib/utils_device.c:400
+#, c-format
+msgid "Cannot get info about device %s.\n"
+msgstr "Không thể lấy thông tin về thiết bị %s.\n"
+
+#: lib/utils_device.c:406
+#, c-format
+msgid "Requested offset is beyond real size of device %s.\n"
+msgstr "Khoảng bù (offset) đã yêu cầu nằm ngoài kích thước thật của thiết bị %s.\n"
+
+#: lib/utils_device.c:414
+#, c-format
+msgid "Device %s has zero size.\n"
+msgstr "Thiết bị %s có kích cỡ số không.\n"
 
-#: lib/luks1/keyencryption.c:129
-msgid "Failed to obtain device mapper directory."
-msgstr "Lỗi lấy thư mục trình ánh xạ thiết bị."
+#: lib/utils_device.c:425 lib/luks1/keymanage.c:89
+#, c-format
+msgid "Device %s is too small.\n"
+msgstr "Thiết bị %s có kích cỡ quá nhỏ.\n"
 
-#: lib/luks1/keyencryption.c:145
+#: lib/luks1/keyencryption.c:30
 #, c-format
 msgid ""
 "Failed to setup dm-crypt key mapping for device %s.\n"
 "Check that kernel supports %s cipher (check syslog for more info).\n"
-"%s"
 msgstr ""
-"Lỗi thiết lập chức năng ánh xạ khoá dm-crypt cho thiết bị %s.\n"
-"Kiểm tra lại hạt nhân hỗ trợ mật mã %s\n"
-"(xem sổ theo dõi hệ thống để tìm thêm thông tin.)\n"
-"%s"
+"Gặp lỗi khi cài đặt ánh xạ khoá dm-crypt cho thiết bị %s.\n"
+"Kiểm tra lại hạt nhân hỗ trợ mật mã %s (kiểu tra sổ theo dõi hệ thống để tìm thêm thông tin.)\n"
+
+#: lib/luks1/keyencryption.c:35
+msgid "Key size in XTS mode must be 256 or 512 bits.\n"
+msgstr "Kích thước khóa trong chế độ XTS phải là 256 hay 512 bit.\n"
+
+#: lib/luks1/keyencryption.c:87 lib/luks1/keymanage.c:290
+#: lib/luks1/keymanage.c:559 lib/luks1/keymanage.c:971
+#, c-format
+msgid "Cannot write to device %s, permission denied.\n"
+msgstr "Không thể ghi thiết bị %s, không đủ thẩm quyền.\n"
 
-#: lib/luks1/keyencryption.c:155
+#: lib/luks1/keyencryption.c:102
 msgid "Failed to open temporary keystore device.\n"
 msgstr "Lỗi mở thiết bị lưu trữ khoá tạm thời.\n"
 
-#: lib/luks1/keyencryption.c:162
+#: lib/luks1/keyencryption.c:109
 msgid "Failed to access temporary keystore device.\n"
 msgstr "Lỗi truy cập đến thiết bị lưu trữ khoá tạm thời.\n"
 
-#: lib/luks1/keymanage.c:149
-#, c-format
-msgid "Requested file %s already exist.\n"
-msgstr "Yêu cầu tập tin %s đã có.\n"
-
-#: lib/luks1/keymanage.c:169 lib/luks1/keymanage.c:399
+#: lib/luks1/keymanage.c:175 lib/luks1/keymanage.c:412
+#: src/cryptsetup_reencrypt.c:978
 #, c-format
 msgid "Device %s is not a valid LUKS device.\n"
 msgstr "Thiết bị %s không phải là một thiết bị kiểu LUKS đúng.\n"
 
-#: lib/luks1/keymanage.c:189
+#: lib/luks1/keymanage.c:193
 #, c-format
-msgid "Cannot write header backup file %s.\n"
-msgstr "Không thể ghi nhớ tập tin sao lưu phần đầu %s.\n"
+msgid "Requested header backup file %s already exists.\n"
+msgstr "Phần đầu tập tin sao lưu dự phòng đã yêu cầu %s đã sẵn có.\n"
 
-#: lib/luks1/keymanage.c:216
+#: lib/luks1/keymanage.c:195
 #, c-format
-msgid "Backup file %s doesn't exist.\n"
-msgstr "Tập tin sao lưu %s không tồn tại.\n"
+msgid "Cannot create header backup file %s.\n"
+msgstr "Không thể tạo phần đầu của tập tin sao lưu dự phòng %s.\n"
 
-#: lib/luks1/keymanage.c:224
+#: lib/luks1/keymanage.c:200
+#, c-format
+msgid "Cannot write header backup file %s.\n"
+msgstr "Không thể ghi nhớ tập tin sao lưu phần đầu %s.\n"
+
+#: lib/luks1/keymanage.c:233
 msgid "Backup file doesn't contain valid LUKS header.\n"
 msgstr "Tập tin sao lưu không chứa phần đầu LUKS hợp lệ.\n"
 
-#: lib/luks1/keymanage.c:237
+#: lib/luks1/keymanage.c:246 lib/luks1/keymanage.c:483
 #, c-format
 msgid "Cannot open header backup file %s.\n"
 msgstr "Không mở được tập tin sao lưu phần đầu %s.\n"
 
-#: lib/luks1/keymanage.c:243
+#: lib/luks1/keymanage.c:252
 #, c-format
 msgid "Cannot read header backup file %s.\n"
 msgstr "Không đọc được tập tin sao lưu phần đầu %s.\n"
 
-#: lib/luks1/keymanage.c:254
+#: lib/luks1/keymanage.c:263
 msgid "Data offset or key size differs on device and backup, restore failed.\n"
 msgstr "Khoảng bù dữ liệu hoặc kích cỡ khoá vẫn khác nhau trên thiết bị và bản sao lưu thì chức năng phục hồi bị lỗi.\n"
 
-#: lib/luks1/keymanage.c:262
+#: lib/luks1/keymanage.c:271
 #, c-format
 msgid "Device %s %s%s"
 msgstr "Thiết bị %s %s%s"
 
-#: lib/luks1/keymanage.c:263
+#: lib/luks1/keymanage.c:272
 msgid "does not contain LUKS header. Replacing header can destroy data on that device."
 msgstr "không chứa phần đầu LUKS. Thay thế phần đầu thì cũng có thể hủy dữ liệu trên thiết bị đó."
 
-#: lib/luks1/keymanage.c:264
+#: lib/luks1/keymanage.c:273
 msgid "already contains LUKS header. Replacing header will destroy existing keyslots."
 msgstr "đã chứa phần đầu LUKS. Thay thế phần đầu thì cũng hủy các khe khoá đã có."
 
-#: lib/luks1/keymanage.c:265
+#: lib/luks1/keymanage.c:274
 msgid ""
 "\n"
 "WARNING: real device header has different UUID than backup!"
 msgstr ""
 "\n"
-"CẢNH BÁO: phần đầu thiết bị thật có mã số UUID khác với bản sao lưu !"
+"CẢNH BÁO: phần đầu thiết bị thật có mã số UUID khác với bản sao lưu!"
 
-#: lib/luks1/keymanage.c:280 lib/luks1/keymanage.c:504
-#: lib/luks1/keymanage.c:538
+#: lib/luks1/keymanage.c:293 lib/luks1/keymanage.c:522
+#: lib/luks1/keymanage.c:562 lib/tcrypt/tcrypt.c:575 lib/verity/verity.c:82
+#: lib/verity/verity.c:179 lib/verity/verity_hash.c:294
+#: lib/verity/verity_hash.c:305 lib/verity/verity_hash.c:325
 #, c-format
 msgid "Cannot open device %s.\n"
 msgstr "Không thể mở thiết bị %s.\n"
 
-#: lib/luks1/keymanage.c:310
+#: lib/luks1/keymanage.c:323
 msgid "Non standard key size, manual repair required.\n"
 msgstr "Kích thước khóa không tiêu chuẩn, yêu cầu sửa chữa bằng tay.\n"
 
-#: lib/luks1/keymanage.c:315
+#: lib/luks1/keymanage.c:328
 msgid "Non standard keyslots alignment, manual repair required.\n"
 msgstr "Không thể đồng chỉnh các khe khóa (keyslot) tiêu chuẩn, yêu cầu sửa chữa bằng tay.\n"
 
-#: lib/luks1/keymanage.c:321
+#: lib/luks1/keymanage.c:334
 msgid "Repairing keyslots.\n"
 msgstr "Đang chuẩn bị keyslots.\n"
 
-#: lib/luks1/keymanage.c:332
+#: lib/luks1/keymanage.c:345
 msgid "Repair failed."
 msgstr "Sửa chữa gặp lỗi."
 
-#: lib/luks1/keymanage.c:344
+#: lib/luks1/keymanage.c:357
 #, c-format
 msgid "Keyslot %i: offset repaired (%u -> %u).\n"
 msgstr "Khe-khoá (keyslot) %i: khoảng bù (offset) được sửa chữa (%u -> %u).\n"
 
-#: lib/luks1/keymanage.c:352
+#: lib/luks1/keymanage.c:365
 #, c-format
 msgid "Keyslot %i: stripes repaired (%u -> %u).\n"
 msgstr "Khe-khoá (keyslot) %i: stripes được sửa chữa (%u -> %u).\n"
 
-#: lib/luks1/keymanage.c:361
+#: lib/luks1/keymanage.c:374
 #, c-format
 msgid "Keyslot %i: bogus partition signature.\n"
 msgstr "Khe-khoá (keyslot) %i: chữ ký phân vùng không có thật.\n"
 
-#: lib/luks1/keymanage.c:366
+#: lib/luks1/keymanage.c:379
 #, c-format
 msgid "Keyslot %i: salt wiped.\n"
 msgstr "Khe-khoá (keyslot) %i: salt bị tẩy xóa.\n"
 
-#: lib/luks1/keymanage.c:377
+#: lib/luks1/keymanage.c:390
 msgid "Writing LUKS header to disk.\n"
 msgstr "Đang ghi phần đầu của LUKS lên đĩa.\n"
 
-#: lib/luks1/keymanage.c:402
+#: lib/luks1/keymanage.c:415
 #, c-format
 msgid "Unsupported LUKS version %d.\n"
 msgstr "Phiên bản LUKS không được hỗ trợ %d.\n"
 
-#: lib/luks1/keymanage.c:408 lib/luks1/keymanage.c:610
+#: lib/luks1/keymanage.c:421 lib/luks1/keymanage.c:619
 #, c-format
 msgid "Requested LUKS hash %s is not supported.\n"
 msgstr "Không hỗ trợ chuỗi duy nhất LUKS %s được yêu cầu.\n"
 
-#: lib/luks1/keymanage.c:423
+#: lib/luks1/keymanage.c:436
 #, c-format
 msgid "LUKS keyslot %u is invalid.\n"
 msgstr "khe-khoá LUKS %u là không hợp lệ.\n"
 
-#: lib/luks1/keymanage.c:437 src/cryptsetup.c:535
+#: lib/luks1/keymanage.c:450 src/cryptsetup.c:596
 msgid "No known problems detected for LUKS header.\n"
 msgstr "Không phát hiện thấy vấn đề với phần đầu LUKS.\n"
 
-#: lib/luks1/keymanage.c:471
-#, c-format
-msgid "Cannot open file %s.\n"
-msgstr "Không thể mở tập tin %s.\n"
-
-#: lib/luks1/keymanage.c:559
+#: lib/luks1/keymanage.c:583
 #, c-format
 msgid "Error during update of LUKS header on device %s.\n"
 msgstr "Gặp lỗi trong khi cập nhật phần đầu LUKS trên thiết bị %s.\n"
 
-#: lib/luks1/keymanage.c:566
+#: lib/luks1/keymanage.c:590
 #, c-format
 msgid "Error re-reading LUKS header after update on device %s.\n"
 msgstr "Gặp lỗi trong khi đọc lại phần đầu LUKS sau khi cập nhật trên thiết bị %s.\n"
 
-#: lib/luks1/keymanage.c:578
-#, c-format
-msgid "Not compatible PBKDF2 options (using hash algorithm %s).\n"
-msgstr "Gặp các tuỳ chọn PBKDF2 không tương thích (dùng thuật toán chuỗi duy nhất %s).\n"
-
-#: lib/luks1/keymanage.c:615 lib/luks1/keymanage.c:697
+#: lib/luks1/keymanage.c:624 lib/luks1/keymanage.c:711
 msgid "Wrong LUKS UUID format provided.\n"
 msgstr "Đưa ra định dạng mã số UUID LUKS không đúng.\n"
 
-#: lib/luks1/keymanage.c:640
+#: lib/luks1/keymanage.c:649
 msgid "Cannot create LUKS header: reading random salt failed.\n"
 msgstr "Không thể tạo phần đầu LUKS: lỗi đọc salt ngẫu nhiên.\n"
 
-#: lib/luks1/keymanage.c:657
+#: lib/luks1/keymanage.c:656 lib/luks1/keymanage.c:752
+#, c-format
+msgid "Not compatible PBKDF2 options (using hash algorithm %s).\n"
+msgstr "Gặp các tùy chọn PBKDF2 không tương thích (dùng thuật toán chuỗi duy nhất %s).\n"
+
+#: lib/luks1/keymanage.c:671
 #, c-format
 msgid "Cannot create LUKS header: header digest failed (using hash %s).\n"
 msgstr "Không thể tạo phần đầu LUKS: lỗi tạo bản tóm tắt (dùng chuỗi duy nhất %s).\n"
 
-#: lib/luks1/keymanage.c:722
+#: lib/luks1/keymanage.c:736
 #, c-format
 msgid "Key slot %d active, purge first.\n"
 msgstr "Khe khoá %d vẫn hoạt động: cần tẩy trước.\n"
 
-#: lib/luks1/keymanage.c:727
+#: lib/luks1/keymanage.c:742
 #, c-format
 msgid "Key slot %d material includes too few stripes. Header manipulation?\n"
 msgstr "Nguyên liệu khe khoá %d gồm có quá ít sọc. Có nên thao tác phần đầu không?\n"
 
-#: lib/luks1/keymanage.c:794
-msgid "Failed to write to key storage.\n"
-msgstr "Lỗi ghi khoá vào kho lưu khoá.\n"
-
-#: lib/luks1/keymanage.c:879
-msgid "Failed to read from key storage.\n"
-msgstr "Lỗi đọc từ kho lưu khoá.\n"
-
-#: lib/luks1/keymanage.c:889
+#: lib/luks1/keymanage.c:904
 #, c-format
 msgid "Key slot %d unlocked.\n"
 msgstr "Khe khoá %d được mở khoá.\n"
 
-#: lib/luks1/keymanage.c:925 src/cryptsetup.c:732 src/cryptsetup.c:916
+#: lib/luks1/keymanage.c:939 src/cryptsetup.c:796
+#: src/cryptsetup_reencrypt.c:882 src/cryptsetup_reencrypt.c:916
 msgid "No key available with this passphrase.\n"
 msgstr "Không có khoá sẵn sàng dùng với cụm từ mật khẩu này.\n"
 
-#: lib/luks1/keymanage.c:943
+#: lib/luks1/keymanage.c:957
 #, c-format
 msgid "Key slot %d is invalid, please select keyslot between 0 and %d.\n"
 msgstr "Khe khoá %d không đúng: hãy chọn khe khoá trong phạm vi 0 đến %d.\n"
 
-#: lib/luks1/keymanage.c:957
+#: lib/luks1/keymanage.c:975
 #, c-format
 msgid "Cannot wipe device %s.\n"
 msgstr "Không thể xoá thiết bị %s.\n"
 
-#: lib/loopaes/loopaes.c:142
+#: lib/loopaes/loopaes.c:145
 msgid "Detected not yet supported GPG encrypted keyfile.\n"
 msgstr "Tìm thấy tập tin khóa mã hóa GPG vẫn chưa được hỗ trợ.\n"
 
-#: lib/loopaes/loopaes.c:143
+#: lib/loopaes/loopaes.c:146
 msgid "Please use gpg --decrypt <KEYFILE> | cryptsetup --keyfile=- ...\n"
 msgstr "Hãy sử dụng gpg --decrypt <KEYFILE> | cryptsetup --keyfile=- ...\n"
 
-#: lib/loopaes/loopaes.c:175
+#: lib/loopaes/loopaes.c:178
 msgid "Incompatible loop-AES keyfile detected.\n"
-msgstr "Tập tin khoá (keyfile)  loop-AES không tương thích được tìm thấy.\n"
+msgstr "Tập tin khoá (keyfile) loop-AES không tương thích được tìm thấy.\n"
 
-#: lib/loopaes/loopaes.c:225
+#: lib/loopaes/loopaes.c:232
 msgid "Kernel doesn't support loop-AES compatible mapping.\n"
 msgstr "Nhân không hỗ trợ ánh xạ tương thích loop-AES.\n"
 
-#: src/cryptsetup.c:105
-msgid "<name> <device>"
-msgstr "<tên> <thiết_bị>"
-
-#: src/cryptsetup.c:105
-msgid "create device"
-msgstr "tạo thiết bị"
-
-#: src/cryptsetup.c:106 src/cryptsetup.c:107 src/cryptsetup.c:108
-#: src/cryptsetup.c:118 src/cryptsetup.c:125
-msgid "<name>"
-msgstr "<tên>"
+#: lib/tcrypt/tcrypt.c:451
+#, c-format
+msgid "Error reading keyfile %s.\n"
+msgstr "Gặp lỗi khi đọc tập-tin khóa %s.\n"
 
-#: src/cryptsetup.c:106
-msgid "remove device"
-msgstr "gỡ bỏ thiết bị"
+#: lib/tcrypt/tcrypt.c:512
+#, c-format
+msgid "PBKDF2 hash algorithm %s not available, skipping.\n"
+msgstr "Thuật toán băm PBKDF2 không khả dụng %s, bỏ qua.\n"
 
-#: src/cryptsetup.c:107
-msgid "resize active device"
-msgstr "thay đổi kích cỡ của thiết bị hoạt động"
+#: lib/tcrypt/tcrypt.c:530 src/cryptsetup.c:549
+msgid "Required kernel crypto interface not available.\n"
+msgstr "Giao diện mã hóa từ nhân đã yêu cầu không khả dụng.\n"
 
-#: src/cryptsetup.c:108
-msgid "show device status"
-msgstr "hiển thị trạng thái về thiết bị"
+#: lib/tcrypt/tcrypt.c:532 src/cryptsetup.c:551
+msgid "Ensure you have algif_skcipher kernel module loaded.\n"
+msgstr "Bạn cần chắc chắn là mô-đun nhân algif_skcipher đã được tải.\n"
 
-#: src/cryptsetup.c:109 src/cryptsetup.c:116 src/cryptsetup.c:117
-#: src/cryptsetup.c:119 src/cryptsetup.c:120 src/cryptsetup.c:121
-#: src/cryptsetup.c:122 src/cryptsetup.c:123
-msgid "<device>"
-msgstr "<thiết_bị>"
+#: lib/tcrypt/tcrypt.c:654
+#, c-format
+msgid "Activation is not supported for %d sector size.\n"
+msgstr "Hoạt hóa không được hỗ trợ cho kích thước cung %d.\n"
 
-#: src/cryptsetup.c:109
-msgid "try to repair on-disk metadata"
-msgstr "thử sửa chữa siêu dữ liệu (metadata) on-disk"
+#: lib/tcrypt/tcrypt.c:660
+msgid "Kernel doesn't support activation for this TCRYPT legacy mode.\n"
+msgstr "Nhân không hỗ trợ hoạt hóa cho chế độ cũ của TCRYPT.\n"
 
-#: src/cryptsetup.c:110 src/cryptsetup.c:112
-msgid "<device> [<new key file>]"
-msgstr "<thiết_bị> [<tập_tin_khoá_mới>]"
+#: lib/tcrypt/tcrypt.c:720
+msgid "Kernel doesn't support plain64 IV.\n"
+msgstr "Nhân không hỗ trợ plain64 IV.\n"
 
-#: src/cryptsetup.c:110
-msgid "formats a LUKS device"
-msgstr "định dạng một thiết bị kiểu LUKS"
+#: lib/tcrypt/tcrypt.c:924
+msgid "This function is not supported without TCRYPT header load."
+msgstr "Chức năng này không được hỗ trợ mà không có phần tải đầu TCRYPT."
 
-#: src/cryptsetup.c:111 src/cryptsetup.c:124
-msgid "<device> <name> "
-msgstr "<thiết_bị> <tên> "
+#: lib/verity/verity.c:70 lib/verity/verity.c:172
+msgid "Verity device doesn't use on-disk header.\n"
+msgstr "Thiết bị verity không sử dụng phần đầu on-disk.\n"
 
-#: src/cryptsetup.c:111
-msgid "open LUKS device as mapping <name>"
-msgstr "mở thiết bị LUKS như là bản ánh xạ <tên>"
+#: lib/verity/verity.c:94
+#, c-format
+msgid "Device %s is not a valid VERITY device.\n"
+msgstr "Thiết bị %s không phải là thiết bị VERITY thích hợp.\n"
 
-#: src/cryptsetup.c:112
-msgid "add key to LUKS device"
-msgstr "thêm khoá vào thiết bị LUKS"
+#: lib/verity/verity.c:101
+#, c-format
+msgid "Unsupported VERITY version %d.\n"
+msgstr "Không hỗ trợ phiên bản VERITY %d.\n"
 
-#: src/cryptsetup.c:113 src/cryptsetup.c:114
-msgid "<device> [<key file>]"
-msgstr "<thiết_bị> [<tập_tin_khoá>]"
+#: lib/verity/verity.c:131
+msgid "VERITY header corrupted.\n"
+msgstr "phần đầu VERITY sai hỏng.\n"
 
-#: src/cryptsetup.c:113
-msgid "removes supplied key or key file from LUKS device"
-msgstr "gỡ bỏ khỏi thiết bị LUKS khoá hoặc tập tin khoá đưa ra"
+#: lib/verity/verity.c:166
+msgid "Wrong VERITY UUID format provided.\n"
+msgstr "Đưa ra định dạng mã số UUID VERITY không đúng.\n"
 
-#: src/cryptsetup.c:114
-msgid "changes supplied key or key file of LUKS device"
-msgstr "thay đổi khóa hay tập tin khóa đã áp dụng của thiết bị LUKS"
+#: lib/verity/verity.c:196
+#, c-format
+msgid "Error during update of verity header on device %s.\n"
+msgstr "Gặp lỗi trong khi cập nhật phần đầu verity trên thiết bị %s.\n"
 
-#: src/cryptsetup.c:115
-msgid "<device> <key slot>"
-msgstr "<thiết_bị> <khe_khoá>"
+#: lib/verity/verity.c:276
+msgid "Kernel doesn't support dm-verity mapping.\n"
+msgstr "Nhân không hỗ trợ ánh xạ dm-verity.\n"
 
-#: src/cryptsetup.c:115
-msgid "wipes key with number <key slot> from LUKS device"
-msgstr "xoá khỏi thiết bị LUKS khoá có số <khe_khoá>"
+#: lib/verity/verity.c:287
+msgid "Verity device detected corruption after activation.\n"
+msgstr "Thiết bị verity đã được phát hiện sai hỏng sau khi hoạt hóa.\n"
 
-#: src/cryptsetup.c:116
-msgid "print UUID of LUKS device"
-msgstr "in ra mã số UUID của thiết bị LUKS"
+#: lib/verity/verity_hash.c:59
+#, c-format
+msgid "Spare area is not zeroed at position %<PRIu64>.\n"
+msgstr "Vùng để dành không được điền đầy bằng số không tại vị trí %<PRIu64>.\n"
 
-#: src/cryptsetup.c:117
-msgid "tests <device> for LUKS partition header"
-msgstr "thử <thiết_bị> có phần đầu phân vùng LUKS không"
+#: lib/verity/verity_hash.c:121 lib/verity/verity_hash.c:249
+#: lib/verity/verity_hash.c:279 lib/verity/verity_hash.c:286
+msgid "Device offset overflow.\n"
+msgstr "Khoảng bù (offset) thiết bị bị tràn.\n"
 
-#: src/cryptsetup.c:118
-msgid "remove LUKS mapping"
-msgstr "gỡ bỏ sự ánh xạ LUKS"
+#: lib/verity/verity_hash.c:161
+#, c-format
+msgid "Verification failed at position %<PRIu64>.\n"
+msgstr "Thẩm tra gặp lỗi tại vị trí %<PRIu64>.\n"
 
-#: src/cryptsetup.c:119
-msgid "dump LUKS partition information"
-msgstr "đổ thông tin về phân vùng LUKS"
+#: lib/verity/verity_hash.c:235
+msgid "Invalid size parameters for verity device.\n"
+msgstr "Các tham số kích thước cho thiết bị verity không hợp lệ.\n"
 
-#: src/cryptsetup.c:120
-msgid "Suspend LUKS device and wipe key (all IOs are frozen)."
-msgstr "Ngưng thiết bị LUKS và xoá khoá (thì mọi việc V/R đều đông cứng)."
+#: lib/verity/verity_hash.c:267
+msgid "Too many tree levels for verity volume.\n"
+msgstr "Có quá nhiều mức cây cho mỗi vùng verity.\n"
 
-#: src/cryptsetup.c:121
-msgid "Resume suspended LUKS device."
-msgstr "Tiếp tục lại sử dụng thiết bị LUKS bị ngưng."
+#: lib/verity/verity_hash.c:356
+msgid "Verification of data area failed.\n"
+msgstr "Việc thẩm tra vùng dữ liệu gặp lỗi.\n"
 
-#: src/cryptsetup.c:122
-msgid "Backup LUKS device header and keyslots"
-msgstr "Sao lưu phần đầu và các khe khoá của thiết bị LUKS"
+#: lib/verity/verity_hash.c:361
+msgid "Verification of root hash failed.\n"
+msgstr "Việc thẩm tra mã băm gốc gặp lỗi.\n"
 
-#: src/cryptsetup.c:123
-msgid "Restore LUKS device header and keyslots"
-msgstr "Phục hồi phần đầu và các khe khoá của thiết bị LUKS"
+#: lib/verity/verity_hash.c:367
+msgid "Input/output error while creating hash area.\n"
+msgstr "Lỗi Vào/Ra trong khi đang tạo vùng băm.\n"
 
-#: src/cryptsetup.c:124
-msgid "open loop-AES device as mapping <name>"
-msgstr "mở thiết bị loop-AES như là ánh xạ <tên>"
+#: lib/verity/verity_hash.c:369
+msgid "Creation of hash area failed.\n"
+msgstr "Việc tạo vùng dữ liệu băm gặp lỗi.\n"
 
-#: src/cryptsetup.c:125
-msgid "remove loop-AES mapping"
-msgstr "gỡ bỏ ánh xạ  loop-AES"
+#: lib/verity/verity_hash.c:416
+#, c-format
+msgid "WARNING: Kernel cannot activate device if data block size exceeds page size (%u).\n"
+msgstr "CẢNH BÁO: Nhân (kernel) không thể kích hoạt thiết bị nếu kích thước khối dữ liệu vượt quá kích cỡ trang (%u).\n"
 
-#: src/cryptsetup.c:218
+#: src/cryptsetup.c:79
 msgid "Can't do passphrase verification on non-tty inputs.\n"
 msgstr "Không thể thẩm tra cụm từ mật khẩu trên đầu vào khác TTY.\n"
 
-#: src/cryptsetup.c:233
-msgid "Command successful.\n"
-msgstr "Câu lệnh đã chạy thành công.\n"
+#: src/cryptsetup.c:110
+msgid "Ignoring keyfile offset and size options, keyfile read size is always the same as encryption key size.\n"
+msgstr "Đang bỏ qua các tùy-chọn khảng bù và kích thước tập-tin-khóa, kích thước đọc tập-tin-khóa thì luôn giống với kích thước khóa mã hóa.\n"
 
-#: src/cryptsetup.c:247
-#, c-format
-msgid "Command failed with code %i"
-msgstr "Câu lệnh đã thất bại với mã %i"
+#: src/cryptsetup.c:116 src/cryptsetup.c:495 src/cryptsetup.c:639
+#: src/cryptsetup_reencrypt.c:485 src/cryptsetup_reencrypt.c:520
+msgid "No known cipher specification pattern detected.\n"
+msgstr "Không phát hiện mẫu đặc tả mã hóa đã biết.\n"
 
-#: src/cryptsetup.c:375
+#: src/cryptsetup.c:183
 msgid "Option --key-file is required.\n"
-msgstr "Tuỳ chọn --key-file là cần thiết.\n"
+msgstr "Cần tùy chọn “--key-file”.\n"
+
+#: src/cryptsetup.c:254 src/cryptsetup.c:340
+msgid "No device header detected with this passphrase.\n"
+msgstr "Không có phần đầu thiết bị cho cụm từ mật khẩu này.\n"
+
+#: src/cryptsetup.c:269 src/cryptsetup.c:1059
+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 ""
+"Đổ đống phần đầu với khóa vùng chứa là thông tin phân biệt hoa thường\n"
+"cái mà cho phép truy cập phân vùng được mã hóa mà không cần mật khẩu.\n"
+"Việc đổ đống này nên luôn được lưu trữ mã hóa tại một nơi an toàn."
+
+#: src/cryptsetup.c:489
+msgid "# Tests are approximate using memory only (no storage IO).\n"
+msgstr "# Các kiểm tra là chỉ ước lượng việc sử dụng bộ nhớ (không tính IO ổ đĩa).\n"
+
+#: src/cryptsetup.c:511 src/cryptsetup.c:533
+msgid "#  Algorithm | Key |  Encryption |  Decryption\n"
+msgstr "#  Thuật toán| Khóa| Mã hóa      | Giải mã\n"
+
+#: src/cryptsetup.c:515
+#, c-format
+msgid "Cipher %s is not available.\n"
+msgstr "Mã hóa kiểu %s không sẵn có.\n"
+
+#: src/cryptsetup.c:542
+msgid "N/A"
+msgstr "N/A"
+
+#: src/cryptsetup.c:567
+#, c-format
+msgid "Cannot read keyfile %s.\n"
+msgstr "Không thể đọc tập-tin khóa %s.\n"
+
+#: src/cryptsetup.c:571
+#, c-format
+msgid "Cannot read %d bytes from keyfile %s.\n"
+msgstr "Không thể đọc %d byte từ tập tin khóa %s.\n"
 
-#: src/cryptsetup.c:539
+#: src/cryptsetup.c:600
 msgid "Really try to repair LUKS device header?"
 msgstr "Bạn có thực sự muốn thử sửa chữa phần đầu thiết bị LUKS không?"
 
-#: src/cryptsetup.c:564
+#: src/cryptsetup.c:625
 #, c-format
 msgid "This will overwrite data on %s irrevocably."
 msgstr "Hành động này sẽ ghi đè lên dữ liệu trên thiết bị %s một cách không phục hồi được."
 
-#: src/cryptsetup.c:566
+#: src/cryptsetup.c:627
 msgid "memory allocation error in action_luksFormat"
-msgstr "gặp lỗi phân cấp vùng nhớ trong \"action_luksFormat\""
+msgstr "gặp lỗi phân cấp vùng nhớ trong“action_luksFormat”"
 
-#: src/cryptsetup.c:578
-msgid "No known cipher specification pattern detected.\n"
-msgstr "Không phát hiện mẫu chỉ thị mật mã đã biết.\n"
-
-#: src/cryptsetup.c:584
+#: src/cryptsetup.c:645
 #, c-format
 msgid "Cannot use %s as on-disk header.\n"
 msgstr "Không thể sử dụng %s như là phần đầu on-disk.\n"
 
-#: src/cryptsetup.c:599 src/cryptsetup.c:1030
+#: src/cryptsetup.c:660 src/cryptsetup.c:1070
 msgid "Enter LUKS passphrase: "
 msgstr "Gõ cụm từ mật khẩu LUKS: "
 
-#: src/cryptsetup.c:654
+#: src/cryptsetup.c:718
 msgid "Reduced data offset is allowed only for detached LUKS header.\n"
 msgstr "Giảm khoảng bù (offset) dữ liệu chỉ cho phép khi phần đầu LUKS được tách rời.\n"
 
-#: src/cryptsetup.c:755 src/cryptsetup.c:810
+#: src/cryptsetup.c:819 src/cryptsetup.c:875
 #, c-format
 msgid "Key slot %d selected for deletion.\n"
 msgstr "Khe khoá %d đã được chọn để xoá.\n"
 
-#: src/cryptsetup.c:758
+#: src/cryptsetup.c:822
 #, c-format
 msgid "Key %d not active. Can't wipe.\n"
 msgstr "Khoá %d không hoạt động thì không xoá được.\n"
 
-#: src/cryptsetup.c:766 src/cryptsetup.c:813
+#: src/cryptsetup.c:830 src/cryptsetup.c:878
 msgid "This is the last keyslot. Device will become unusable after purging this key."
 msgstr "Đây là khe khoá cuối cùng. Sau khi tẩy khoá này thì thiết bị không dùng được."
 
-#: src/cryptsetup.c:767
+#: src/cryptsetup.c:831
 msgid "Enter any remaining LUKS passphrase: "
-msgstr "Gõ cụm từ mật khẩu LUKS nào còn lại:"
+msgstr "Gõ cụm từ mật khẩu LUKS nào còn lại: "
 
-#: src/cryptsetup.c:795
+#: src/cryptsetup.c:859
 msgid "Enter LUKS passphrase to be deleted: "
-msgstr "Gõ cụm từ mật khẩu LUKS cần xoá:"
+msgstr "Gõ cụm từ mật khẩu LUKS cần xoá: "
 
-#: src/cryptsetup.c:898
+#: src/cryptsetup.c:977
 msgid "Enter LUKS passphrase to be changed: "
-msgstr "Gõ cụm từ mật khẩu LUKS được thay đổi:"
+msgstr "Gõ cụm từ mật khẩu LUKS được thay đổi: "
 
-#: src/cryptsetup.c:935
+#: src/cryptsetup.c:991 src/cryptsetup_reencrypt.c:934
 msgid "Enter new LUKS passphrase: "
 msgstr "Gõ cụm từ mật khẩu LUKS:"
 
-#: src/cryptsetup.c:949
-#, c-format
-msgid "Key slot %d changed.\n"
-msgstr "Khe khoá %d đã thay đổi.\n"
+#: src/cryptsetup.c:1165 src/cryptsetup.c:1186
+msgid "Option --header-backup-file is required.\n"
+msgstr "Cần tùy chọn“--header-backup-file”.\n"
 
-#: src/cryptsetup.c:955
+#: src/cryptsetup.c:1223
 #, c-format
-msgid "Replaced with key slot %d.\n"
-msgstr "Đã thay thế với khe khoá %d.\n"
+msgid "Unrecognized metadata device type %s.\n"
+msgstr "Không nhận ra siêu dữ liệu của kiểu thiết bị %s.\n"
 
-#: src/cryptsetup.c:960
-msgid "Failed to swap new key slot.\n"
-msgstr "Gặp lỗi khi hoán đổi khe khoá mới.\n"
+#: src/cryptsetup.c:1226
+msgid "Command requires device and mapped name as arguments.\n"
+msgstr "Lệnh cần thiết bị và tên ánh xạ như là các tham số.\n"
 
-#: src/cryptsetup.c:1019
-msgid ""
-"LUKS 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 ""
-"Đổ đống đầu LUKS với khóa dung lượng là thông tin phân biệt hoa thường\n"
-"cái mà cho phép truy cập phân vùng được mã hóa mà không cần mật khẩu.\n"
-"Việc đổ đống này nên luôn được lưu trữ mã hóa tại một nơi an toàn."
+#: src/cryptsetup.c:1238
+msgid "<device> [--type <type>] [<name>]"
+msgstr "<thiết-bị> [--type <kiểu>] [<tên>]"
 
-#: src/cryptsetup.c:1124 src/cryptsetup.c:1145
-msgid "Option --header-backup-file is required.\n"
-msgstr "Tuỳ chọn \"--header-backup-file\" cũng cần thiết.\n"
+#: src/cryptsetup.c:1238
+msgid "open device as mapping <name>"
+msgstr "mở thiết bị như là ánh xạ <tên>"
+
+#: src/cryptsetup.c:1239 src/cryptsetup.c:1240 src/cryptsetup.c:1241
+#: src/cryptsetup.c:1242 src/veritysetup.c:310 src/veritysetup.c:311
+msgid "<name>"
+msgstr "<tên>"
+
+#: src/cryptsetup.c:1239
+msgid "close device (remove mapping)"
+msgstr "đóng thiết bị (gỡ bỏ ánh xạ)"
+
+#: src/cryptsetup.c:1240
+msgid "resize active device"
+msgstr "thay đổi kích cỡ của thiết bị hoạt động"
+
+#: src/cryptsetup.c:1241
+msgid "show device status"
+msgstr "hiển thị trạng thái về thiết bị"
+
+#: src/cryptsetup.c:1242
+msgid "benchmark cipher"
+msgstr "đo kiểm mật mã"
+
+#: src/cryptsetup.c:1243 src/cryptsetup.c:1249 src/cryptsetup.c:1250
+#: src/cryptsetup.c:1251 src/cryptsetup.c:1252 src/cryptsetup.c:1253
+#: src/cryptsetup.c:1254 src/cryptsetup.c:1255 src/cryptsetup.c:1256
+msgid "<device>"
+msgstr "<thiết_bị>"
+
+#: src/cryptsetup.c:1243
+msgid "try to repair on-disk metadata"
+msgstr "thử sửa chữa siêu dữ liệu (metadata) on-disk"
+
+#: src/cryptsetup.c:1244 src/cryptsetup.c:1245
+msgid "<device> [<new key file>]"
+msgstr "<thiết_bị> [<tập_tin_khoá_mới>]"
+
+#: src/cryptsetup.c:1244
+msgid "formats a LUKS device"
+msgstr "định dạng một thiết bị kiểu LUKS"
 
-#: src/cryptsetup.c:1183
+#: src/cryptsetup.c:1245
+msgid "add key to LUKS device"
+msgstr "thêm khoá vào thiết bị LUKS"
+
+#: src/cryptsetup.c:1246 src/cryptsetup.c:1247
+msgid "<device> [<key file>]"
+msgstr "<thiết_bị> [<tập_tin_khoá>]"
+
+#: src/cryptsetup.c:1246
+msgid "removes supplied key or key file from LUKS device"
+msgstr "gỡ bỏ khỏi thiết bị LUKS khoá hoặc tập tin khoá đưa ra"
+
+#: src/cryptsetup.c:1247
+msgid "changes supplied key or key file of LUKS device"
+msgstr "thay đổi khóa hay tập tin khóa đã áp dụng của thiết bị LUKS"
+
+#: src/cryptsetup.c:1248
+msgid "<device> <key slot>"
+msgstr "<thiết_bị> <khe_khoá>"
+
+#: src/cryptsetup.c:1248
+msgid "wipes key with number <key slot> from LUKS device"
+msgstr "xoá khỏi thiết bị LUKS khoá có số <khe_khoá>"
+
+#: src/cryptsetup.c:1249
+msgid "print UUID of LUKS device"
+msgstr "in ra mã số UUID của thiết bị LUKS"
+
+#: src/cryptsetup.c:1250
+msgid "tests <device> for LUKS partition header"
+msgstr "thử <thiết_bị> có phần đầu phân vùng LUKS không"
+
+#: src/cryptsetup.c:1251
+msgid "dump LUKS partition information"
+msgstr "đổ thông tin về phân vùng LUKS"
+
+#: src/cryptsetup.c:1252
+msgid "dump TCRYPT device information"
+msgstr "dump thông tin thiết bị TCRYPT"
+
+#: src/cryptsetup.c:1253
+msgid "Suspend LUKS device and wipe key (all IOs are frozen)."
+msgstr "Ngưng thiết bị LUKS và xoá khoá (thì mọi việc V/R đều đông cứng)."
+
+#: src/cryptsetup.c:1254
+msgid "Resume suspended LUKS device."
+msgstr "Tiếp tục lại sử dụng thiết bị LUKS bị ngưng."
+
+#: src/cryptsetup.c:1255
+msgid "Backup LUKS device header and keyslots"
+msgstr "Sao lưu phần đầu và các khe khoá của thiết bị LUKS"
+
+#: src/cryptsetup.c:1256
+msgid "Restore LUKS device header and keyslots"
+msgstr "Phục hồi phần đầu và các khe khoá của thiết bị LUKS"
+
+#: src/cryptsetup.c:1273 src/veritysetup.c:327
 msgid ""
 "\n"
 "<action> is one of:\n"
 msgstr ""
 "\n"
-"<hành_vi> là một của những điều dưới đây:\n"
+"<hành_động> là một trong:\n"
 
-#: src/cryptsetup.c:1189
+#: src/cryptsetup.c:1279
+msgid ""
+"\n"
+"You can also use old <action> syntax aliases:\n"
+"\topen: create (plainOpen), luksOpen, loopaesOpen, tcryptOpen\n"
+"\tclose: remove (plainClose), luksClose, loopaesClose, tcryptClose\n"
+msgstr ""
+"\n"
+"Bạn còn có thể sử dụng cú pháp bí danh <action> kiểu cũ:\n"
+"\topen: create (plainOpen), luksOpen, loopaesOpen, tcryptOpen\n"
+"\tclose: remove (plainClose), luksClose, loopaesClose, tcryptClose\n"
+
+#: src/cryptsetup.c:1283
 #, c-format
 msgid ""
 "\n"
@@ -842,22 +1009,24 @@ msgid ""
 msgstr ""
 "\n"
 "<tên> là thiết bị cần tạo dưới %s\n"
-"<thiết_bị> là thiết bị đã mật mã\n"
+"<thiết_bị> là thiết bị đã mã hóa\n"
 "<khe_khoá> là số thứ tự khe khoá LUKS cần sửa đổi\n"
-"<tập_tin_khoá> là tập tin khoá tuỳ chọn cho khoá mới trong hành động luksAddKey\n"
+"<tập_tin_khoá> là tập tin khoá tùy chọn cho khoá mới trong hành động luksAddKey\n"
 
-#: src/cryptsetup.c:1196
+#: src/cryptsetup.c:1290
 #, c-format
 msgid ""
 "\n"
-"Default compiled-in keyfile parameters:\n"
+"Default compiled-in key and passphrase parameters:\n"
 "\tMaximum keyfile size: %dkB, Maximum interactive passphrase length %d (characters)\n"
+"Default PBKDF2 iteration time for LUKS: %d (ms)\n"
 msgstr ""
 "\n"
 "Các tham số khóa tập tin mặc định đã được dịch sẵn:\n"
 "\tKích thước tập tin khóa tối đa: %dkB, Độ dài mật khẩu trao đổi tối đa %d (ký tự)\n"
+"Thời gian tương tác PBKDF2 mặc định cho LUKS: %d (ms)\n"
 
-#: src/cryptsetup.c:1201
+#: src/cryptsetup.c:1297
 #, c-format
 msgid ""
 "\n"
@@ -867,241 +1036,693 @@ msgid ""
 "\tLUKS1: %s, Key: %d bits, LUKS header hashing: %s, RNG: %s\n"
 msgstr ""
 "\n"
-"Các tham số mặc định về mật mã thiết bị biên dịch sẵn:\n"
+"Các tham số mặc định về mã hóa thiết bị biên dịch sẵn:\n"
 "\tloop-AES: %s, Khóa %d bit\n"
 "\tbình thường: %s, Khoá: %d bit, Mã băm mật khẩu: %s\n"
 "\tLUKS1: %s, Khoá: %d bit, Mã băm phần đầu LUKS: %s, RNG: %s\n"
 
-#: src/cryptsetup.c:1269
+#: src/cryptsetup.c:1314 src/veritysetup.c:459
+#, c-format
+msgid "%s: requires %s as arguments"
+msgstr "%s: cần thiết %s làm đối số"
+
+#: src/cryptsetup.c:1347 src/veritysetup.c:367 src/cryptsetup_reencrypt.c:1099
 msgid "Show this help message"
 msgstr "Hiển thị trợ giúp này"
 
-#: src/cryptsetup.c:1270
+#: src/cryptsetup.c:1348 src/veritysetup.c:368 src/cryptsetup_reencrypt.c:1100
 msgid "Display brief usage"
-msgstr " Hiển thị thông điệp ngắn về cách sử dụng"
+msgstr "Hiển thị thông tin ngắn về cách sử dụng"
 
-#: src/cryptsetup.c:1274
+#: src/cryptsetup.c:1352 src/veritysetup.c:372 src/cryptsetup_reencrypt.c:1104
 msgid "Help options:"
 msgstr "Tùy chọn trợ giúp:"
 
-#: src/cryptsetup.c:1275
+#: src/cryptsetup.c:1353 src/veritysetup.c:373 src/cryptsetup_reencrypt.c:1105
 msgid "Print package version"
-msgstr "In ra phiên bản gói"
+msgstr "Hiển thị phiên bản của gói"
 
-#: src/cryptsetup.c:1276
+#: src/cryptsetup.c:1354 src/veritysetup.c:374 src/cryptsetup_reencrypt.c:1106
 msgid "Shows more detailed error messages"
 msgstr "Hiển thị các thông điệp lỗi chi tiết hơn"
 
-#: src/cryptsetup.c:1277
+#: src/cryptsetup.c:1355 src/veritysetup.c:375 src/cryptsetup_reencrypt.c:1107
 msgid "Show debug messages"
 msgstr "Hiển thị thông điệp gỡ lỗi"
 
-#: src/cryptsetup.c:1278
+#: src/cryptsetup.c:1356 src/cryptsetup_reencrypt.c:1109
 msgid "The cipher used to encrypt the disk (see /proc/crypto)"
-msgstr "Mật mã dùng để bảo vệ đĩa (xem \"/proc/crypto\")"
+msgstr "Mật mã dùng để bảo vệ đĩa (xem“/proc/crypto”)"
 
-#: src/cryptsetup.c:1279
+#: src/cryptsetup.c:1357 src/cryptsetup_reencrypt.c:1111
 msgid "The hash used to create the encryption key from the passphrase"
-msgstr "Chuỗi duy nhất dùng để tạo khoá mật mã từ cụm từ mật khẩu"
+msgstr "Chuỗi duy nhất dùng để tạo khoá mã hóa từ cụm từ mật khẩu"
 
-#: src/cryptsetup.c:1280
+#: src/cryptsetup.c:1358
 msgid "Verifies the passphrase by asking for it twice"
 msgstr "Thẩm tra cụm từ mật khẩu bằng cách yêu cầu nó hai lần"
 
-#: src/cryptsetup.c:1281
+#: src/cryptsetup.c:1359 src/cryptsetup_reencrypt.c:1112
 msgid "Read the key from a file."
 msgstr "Đọc khoá từ một tập tin."
 
-#: src/cryptsetup.c:1282
+#: src/cryptsetup.c:1360
 msgid "Read the volume (master) key from file."
 msgstr "Đọc khoá khối tin (chủ) từ tập tin."
 
-#: src/cryptsetup.c:1283
+#: src/cryptsetup.c:1361
 msgid "Dump volume (master) key instead of keyslots info."
-msgstr "Dump (đổ thành đống) khóa dung lượng (master) thay vì thông tin khe-khóa."
+msgstr "Dump (đổ thành đống) khóa vùng chứa (master) thay vì thông tin khe-khóa."
 
-#: src/cryptsetup.c:1284
+#: src/cryptsetup.c:1362 src/cryptsetup_reencrypt.c:1110
 msgid "The size of the encryption key"
-msgstr "Kích cỡ của khoá mật mã"
+msgstr "Kích cỡ của khoá mã hóa"
 
-#: src/cryptsetup.c:1284
+#: src/cryptsetup.c:1362 src/cryptsetup_reencrypt.c:1110
 msgid "BITS"
 msgstr "BIT"
 
-#: src/cryptsetup.c:1285
+#: src/cryptsetup.c:1363 src/cryptsetup_reencrypt.c:1123
 msgid "Limits the read from keyfile"
 msgstr "Giới hạn việc đọc từ tệp-tin-khoá"
 
-#: src/cryptsetup.c:1285 src/cryptsetup.c:1286 src/cryptsetup.c:1287
-#: src/cryptsetup.c:1288
+#: src/cryptsetup.c:1363 src/cryptsetup.c:1364 src/cryptsetup.c:1365
+#: src/cryptsetup.c:1366 src/veritysetup.c:378 src/veritysetup.c:379
+#: src/veritysetup.c:381 src/cryptsetup_reencrypt.c:1122
+#: src/cryptsetup_reencrypt.c:1123 src/cryptsetup_reencrypt.c:1124
+#: src/cryptsetup_reencrypt.c:1125
 msgid "bytes"
 msgstr "byte"
 
-#: src/cryptsetup.c:1286
+#: src/cryptsetup.c:1364 src/cryptsetup_reencrypt.c:1122
 msgid "Number of bytes to skip in keyfile"
 msgstr "Số lượng byte nhảy qua trong tập tin khoá"
 
-#: src/cryptsetup.c:1287
+#: src/cryptsetup.c:1365
 msgid "Limits the read from newly added keyfile"
 msgstr "Giới hạn đọc từ tập tin khóa mới thêm vào"
 
-#: src/cryptsetup.c:1288
+#: src/cryptsetup.c:1366
 msgid "Number of bytes to skip in newly added keyfile"
 msgstr "Số lượng byte để nhảy qua trong tập tin khóa mới thêm"
 
-#: src/cryptsetup.c:1289
+#: src/cryptsetup.c:1367
 msgid "Slot number for new key (default is first free)"
 msgstr "Số thứ tự khe cho khoá mới (mặc định là khe trống thứ nhất)"
 
-#: src/cryptsetup.c:1290
+#: src/cryptsetup.c:1368
 msgid "The size of the device"
 msgstr "Kích cỡ của thiết bị"
 
-#: src/cryptsetup.c:1290 src/cryptsetup.c:1291 src/cryptsetup.c:1292
-#: src/cryptsetup.c:1298
+#: src/cryptsetup.c:1368 src/cryptsetup.c:1369 src/cryptsetup.c:1370
+#: src/cryptsetup.c:1376
 msgid "SECTORS"
 msgstr "RÃNH GHI"
 
-#: src/cryptsetup.c:1291
+#: src/cryptsetup.c:1369
 msgid "The start offset in the backend device"
 msgstr "Khoảng bù đầu tiên trong thiết bị hậu phương"
 
-#: src/cryptsetup.c:1292
+#: src/cryptsetup.c:1370
 msgid "How many sectors of the encrypted data to skip at the beginning"
-msgstr "Bao nhiêu rãnh ghi dữ liệu mật mã cần bỏ qua ở đầu"
+msgstr "Bao nhiêu rãnh ghi dữ liệu mã hóa cần bỏ qua ở đầu"
 
-#: src/cryptsetup.c:1293
+#: src/cryptsetup.c:1371
 msgid "Create a readonly mapping"
 msgstr "Tạo một sự ánh xạ chỉ cho phép đọc"
 
-#: src/cryptsetup.c:1294
+#: src/cryptsetup.c:1372 src/cryptsetup_reencrypt.c:1113
 msgid "PBKDF2 iteration time for LUKS (in ms)"
 msgstr "Thời gian lặp lại PBKDF2 cho LUKS (theo mili-giây)"
 
-#: src/cryptsetup.c:1294
+#: src/cryptsetup.c:1372 src/cryptsetup_reencrypt.c:1113
 msgid "msecs"
 msgstr "mili-giây"
 
-#: src/cryptsetup.c:1295
+#: src/cryptsetup.c:1373 src/cryptsetup_reencrypt.c:1114
 msgid "Do not ask for confirmation"
 msgstr "Đừng yêu cầu xác nhận"
 
-#: src/cryptsetup.c:1296
+#: src/cryptsetup.c:1374
 msgid "Timeout for interactive passphrase prompt (in seconds)"
 msgstr "Thời hạn khi nhắc gõ cụm từ mật khẩu (theo giây)"
 
-#: src/cryptsetup.c:1296
+#: src/cryptsetup.c:1374
 msgid "secs"
 msgstr "giây"
 
-#: src/cryptsetup.c:1297
+#: src/cryptsetup.c:1375 src/cryptsetup_reencrypt.c:1115
 msgid "How often the input of the passphrase can be retried"
 msgstr "Số các lần có thể thử lại gõ cụm từ mật khẩu"
 
-#: src/cryptsetup.c:1298
+#: src/cryptsetup.c:1376
 msgid "Align payload at <n> sector boundaries - for luksFormat"
-msgstr "Sắp hàng trọng tải ở <n> biên giới rãnh ghi — cho định dạng luksFormat"
+msgstr "Sắp hàng trọng tải ở <n> biên giới rãnh ghi — cho định dạng “luksFormat”"
 
-#: src/cryptsetup.c:1299
+#: src/cryptsetup.c:1377
 msgid "File with LUKS header and keyslots backup."
 msgstr "Tập tin chứa bản sao lưu phần đầu và các khe khoá của thiết bị LUKS."
 
-#: src/cryptsetup.c:1300
+#: src/cryptsetup.c:1378 src/cryptsetup_reencrypt.c:1116
 msgid "Use /dev/random for generating volume key."
 msgstr "Sử dụng /dev/random để tạo khoá volume."
 
-#: src/cryptsetup.c:1301
+#: src/cryptsetup.c:1379 src/cryptsetup_reencrypt.c:1117
 msgid "Use /dev/urandom for generating volume key."
 msgstr "Sử dụng /dev/urandom để tạo khoá volume."
 
-#: src/cryptsetup.c:1302
+#: src/cryptsetup.c:1380
 msgid "Share device with another non-overlapping crypt segment."
 msgstr "Thiết bị chia sẻ với đoạn crypt không-chồng-lên-nhau khác."
 
-#: src/cryptsetup.c:1303
+#: src/cryptsetup.c:1381 src/veritysetup.c:384
 msgid "UUID for device to use."
 msgstr "UUID dành cho tập tin sử dụng."
 
-#: src/cryptsetup.c:1304
+#: src/cryptsetup.c:1382
 msgid "Allow discards (aka TRIM) requests for device."
 msgstr "Cho phép huỷ bỏ (được biết đến như là TRIM) các yêu cầu cho thiết bị."
 
-#: src/cryptsetup.c:1305
+#: src/cryptsetup.c:1383
 msgid "Device or file with separated LUKS header."
 msgstr "Thiết bị hay tập tin với phần đầu LUKS tách nhau."
 
-#: src/cryptsetup.c:1324
-msgid "[OPTION...] <action> <action-specific>]"
-msgstr "[TÙY_CHỌN...] <hành_vi> <đặc_trưng_cho_hành_vi>]"
+#: src/cryptsetup.c:1384
+msgid "Do not activate device, just check passphrase."
+msgstr "Không kích hoạt thiết bị, chỉ cần kiểm tra mật khẩu."
+
+#: src/cryptsetup.c:1385
+msgid "Use hidden header (hidden TCRYPT device)."
+msgstr "Dùng phần đầu ẩn (thiết bị TCRYPT ẩn)."
+
+#: src/cryptsetup.c:1386
+msgid "Device is system TCRYPT drive (with bootloader)."
+msgstr "Thiết bị là ổ đĩa TCRYPT hệ thống (có bootloader)."
+
+#: src/cryptsetup.c:1387
+msgid "Type of device metadata: luks, plain, loopaes, tcrypt."
+msgstr "Kiểu của siêu dữ liệu thiết bị: luks, plain, loopaes, tcrypt."
+
+#: src/cryptsetup.c:1388
+msgid "Disable password quality check (if enabled)."
+msgstr "Tắt chức năng kiểm tra chất lượng mật khẩu (nếu nó đang bật)."
 
-#: src/cryptsetup.c:1364
+#: src/cryptsetup.c:1406 src/veritysetup.c:401
+msgid "[OPTION...] <action> <action-specific>"
+msgstr "[TÙY_CHỌN...] <hành_động> <đặc_tả_hành_động>"
+
+#: src/cryptsetup.c:1452 src/veritysetup.c:438
 msgid "Argument <action> missing."
-msgstr "Đối số <hành_vi> còn thiếu."
+msgstr "Đối số <hành_động> còn thiếu."
 
-#: src/cryptsetup.c:1370
+#: src/cryptsetup.c:1500 src/veritysetup.c:444
 msgid "Unknown action."
 msgstr "Hành động không rõ."
 
-#: src/cryptsetup.c:1385
-#, c-format
-msgid "%s: requires %s as arguments"
-msgstr "%s: cần thiết %s làm đối số"
-
-#: src/cryptsetup.c:1394
-msgid "Option --shared is allowed only for create operation.\n"
-msgstr "Tuỳ chọn --shared chỉ cho phép với thao tác tạo (create).\n"
+#: src/cryptsetup.c:1510
+msgid "Option --shared is allowed only for open of plain device.\n"
+msgstr "Tùy chọn “--shared” chỉ cho phép với thao tác tạo mở của thiết bị thường.\n"
 
-#: src/cryptsetup.c:1403
-msgid "Option --allow-discards is allowed only for luksOpen, loopaesOpen and create operation.\n"
-msgstr "Tuỳ chọn --allow-discards thì chỉ cho phép với thao tác luksOpen, loopaesOpen và tạo (create).\n"
+#: src/cryptsetup.c:1515
+msgid "Option --allow-discards is allowed only for open operation.\n"
+msgstr "Tùy chọn “--allow-discards” chỉ cho phép với thao tác tạo mở.\n"
 
-#: src/cryptsetup.c:1412
+#: src/cryptsetup.c:1523
 msgid ""
-"Option --key-size is allowed only for luksFormat, create and loopaesOpen.\n"
+"Option --key-size is allowed only for luksFormat, open and benchmark.\n"
 "To limit read from keyfile use --keyfile-size=(bytes)."
 msgstr ""
-"Tuỳ chọn --key-size thì chỉ cho phép với các thao tác luksFormat, tạo (create) và loopaesOpen.\n"
+"Tuỳ chọn --key-size thì chỉ cho phép với các thao tác luksFormat, mở và đo kiểm.\n"
 "Để giới hạn đọc từ tệp-tin-khoá sử dụng tuỳ chọn --keyfile-size=(bytes)."
 
-#: src/cryptsetup.c:1419
+#: src/cryptsetup.c:1530
+msgid "Option --test-passphrase is allowed only for open of LUKS and TCRYPT devices.\n"
+msgstr "Tùy chọn “--test-passphrase” chỉ được phép cho lệnh mở thiết bị LUKS và TCRYPT.\n"
+
+#: src/cryptsetup.c:1535 src/cryptsetup_reencrypt.c:1185
 msgid "Key size must be a multiple of 8 bits"
 msgstr "Kích cỡ khoá phải là bội số cho 8 bit"
 
-#: src/cryptsetup.c:1426
+#: src/cryptsetup.c:1542 src/cryptsetup_reencrypt.c:1190
 msgid "Key slot is invalid."
 msgstr "Khe khoá không đúng."
 
-#: src/cryptsetup.c:1433
+#: src/cryptsetup.c:1549
 msgid "Option --key-file takes precedence over specified key file argument.\n"
-msgstr "Tuỳ chọn --key-file giữ quyền ưu tiên cao hơn tham số tập tin khoá đã chỉ định.\n"
+msgstr "Tùy chọn --key-file giữ quyền ưu tiên cao hơn tham số tập tin khoá đã chỉ định.\n"
 
-#: src/cryptsetup.c:1441
+#: src/cryptsetup.c:1557 src/veritysetup.c:466 src/cryptsetup_reencrypt.c:1174
 msgid "Negative number for option not permitted."
-msgstr "Số âm cho tuỳ chọn là không được phép."
+msgstr "Tùy chọn không chấp nhận giá trị là số âm."
 
-#: src/cryptsetup.c:1446
+#: src/cryptsetup.c:1561 src/cryptsetup_reencrypt.c:1168
+#: src/cryptsetup_reencrypt.c:1194
 msgid "Only one of --use-[u]random options is allowed."
-msgstr "Chỉ cho phép một tuỳ chọn --use-[u]random."
+msgstr "Chỉ cho phép một tùy chọn “--use-[u]random”."
 
-#: src/cryptsetup.c:1450
+#: src/cryptsetup.c:1565
 msgid "Option --use-[u]random is allowed only for luksFormat."
-msgstr "Tuỳ chọn --use-[u]random chỉ được phép cho luksFormat."
+msgstr "Tùy chọn “--use-[u]random” chỉ được phép cho “luksFormat”."
 
-#: src/cryptsetup.c:1454
+#: src/cryptsetup.c:1569
 msgid "Option --uuid is allowed only for luksFormat and luksUUID."
-msgstr "Tuỳ chọn --uuid thì chỉ cho phép với luksFormat và luksUUID."
+msgstr "Tùy chọn “--uuid” thì chỉ cho phép với “luksFormat” và “luksUUID”."
 
-#: src/cryptsetup.c:1458
+#: src/cryptsetup.c:1573
 msgid "Option --align-payload is allowed only for luksFormat."
-msgstr "Tuỳ chọn --align-payload chỉ được phép cho luksFormat."
+msgstr "Tùy chọn “--align-payload” chỉ được phép cho “luksFormat”."
+
+#: src/cryptsetup.c:1579
+msgid "Option --skip is supported only for open of plain and loopaes devices.\n"
+msgstr "Tùy chọn “--skip” chỉ hỗ trợ cho lệnh mở (open) của thiết bị thường và “loopaes”.\n"
+
+#: src/cryptsetup.c:1585
+msgid "Option --offset is supported only for open of plain and loopaes devices.\n"
+msgstr "Tùy chọn “--offset” chỉ hỗ trợ cho lệnh mở (open) của thiết bị thường và “loopaes”.\n"
+
+#: src/cryptsetup.c:1591
+msgid "Option --tcrypt-hidden or --tcrypt-system is supported only for TCRYPT device.\n"
+msgstr "Tùy chọn --tcrypt-hidden hay --tcrypt-system chỉ được hỗ trợ trên thiết bị TCRYPT.\n"
+
+#: src/veritysetup.c:57
+msgid "Invalid salt string specified.\n"
+msgstr "Chuỗi salt (muối) đã chỉ ra không hợp lệ.\n"
+
+#: src/veritysetup.c:87
+#, c-format
+msgid "Cannot create hash image %s for writing.\n"
+msgstr "Không thể tạo ảnh băm %s để ghi.\n"
+
+#: src/veritysetup.c:147
+msgid "Invalid root hash string specified.\n"
+msgstr "Chuỗi mã băm gốc (thư mục root) đã chỉ ra không hợp lệ.\n"
+
+#: src/veritysetup.c:307
+msgid "<data_device> <hash_device>"
+msgstr "<thiết-bị-dữ-liệu> <thiết-bị-băm>"
+
+#: src/veritysetup.c:307
+msgid "format device"
+msgstr "định dạng thiết bị"
+
+#: src/veritysetup.c:308
+msgid "<data_device> <hash_device> <root_hash>"
+msgstr "<thiết-bị-dữ-liệu> <thiết-bị-băm> <mã-băm-gốc>"
+
+#: src/veritysetup.c:308
+msgid "verify device"
+msgstr "thẩm tra thiết bị"
+
+#: src/veritysetup.c:309
+msgid "<name> <data_device> <hash_device> <root_hash>"
+msgstr "<tên> <thiết-bị-dữ-liệu> <thiết-bị-băm> <mã-băm-gốc>"
+
+#: src/veritysetup.c:309
+msgid "create active device"
+msgstr "tạo thiết bị hoạt động"
 
-#: src/cryptsetup.c:1463
-msgid "Option --skip is supported only for create and loopaesOpen commands.\n"
-msgstr "Tuỳ chọn --skip chỉ hỗ trợ cho lệnh tạo (create) và loopaesOpen.\n"
+#: src/veritysetup.c:310
+msgid "remove (deactivate) device"
+msgstr "gỡ bỏ (bất hoạt) thiết bị"
 
-#: src/cryptsetup.c:1468
-msgid "Option --offset is supported only for create and loopaesOpen commands.\n"
-msgstr "Tuỳ chọn --offset chỉ hỗ trợ cho lệnh tạo (create) và loopaesOpen.\n"
+#: src/veritysetup.c:311
+msgid "show active device status"
+msgstr "hiển thị trạng thái các thiết bị đang hoạt động"
+
+#: src/veritysetup.c:312
+msgid "<hash_device>"
+msgstr "<thiết_bị_băm>"
+
+#: src/veritysetup.c:312
+msgid "show on-disk information"
+msgstr "hiển thị thông tin trên-đĩa"
+
+#: src/veritysetup.c:331
+#, c-format
+msgid ""
+"\n"
+"<name> is the device to create under %s\n"
+"<data_device> is the data device\n"
+"<hash_device> is the device containing verification data\n"
+"<root_hash> hash of the root node on <hash_device>\n"
+msgstr ""
+"\n"
+"<tên> là thiết bị để tạo dưới %s\n"
+"<thiết-bị-dữ-liệu> là thiết bị dữ liệu\n"
+"<thiết-bị-băm> là thiết bị chứa dữ liệu xác thực\n"
+"<mã-băm-gốc> mã băm của nút root (gốc) trên <thiết-bị-băm>\n"
+
+#: src/veritysetup.c:338
+#, c-format
+msgid ""
+"\n"
+"Default compiled-in dm-verity parameters:\n"
+"\tHash: %s, Data block (bytes): %u, Hash block (bytes): %u, Salt size: %u, Hash format: %u\n"
+msgstr ""
+"\n"
+"Các tham số dm-verity dựng sẵn mặc định:\n"
+"\tBăm: %s, Khối dữ liệu (bytes): %u, Khối băm (bytes): %u, Kích thước salt: %u, Định dạng băm: %u\n"
+
+#: src/veritysetup.c:376
+msgid "Do not use verity superblock"
+msgstr "Không sử dụng siêu khối thẩm định"
+
+#: src/veritysetup.c:377
+msgid "Format type (1 - normal, 0 - original Chrome OS)"
+msgstr "Kiểu định dạng (1 - thông thường, 0 - Chrome OS)"
+
+#: src/veritysetup.c:377
+msgid "number"
+msgstr "số"
+
+#: src/veritysetup.c:378
+msgid "Block size on the data device"
+msgstr "Kích cỡ khối trên thiết bị dữ liệu"
+
+#: src/veritysetup.c:379
+msgid "Block size on the hash device"
+msgstr "Kích cỡ của khối trên thiết bị băm"
+
+#: src/veritysetup.c:380
+msgid "The number of blocks in the data file"
+msgstr "Số lượng khối trong tập tin dữ liệu"
+
+#: src/veritysetup.c:380
+msgid "blocks"
+msgstr "khối"
+
+#: src/veritysetup.c:381
+msgid "Starting offset on the hash device"
+msgstr "Khoảng bù (offset) khởi đầu của thiết bị băm"
+
+#: src/veritysetup.c:382
+msgid "Hash algorithm"
+msgstr "Thuật toán băm dữ liệu"
+
+#: src/veritysetup.c:382
+msgid "string"
+msgstr "chuỗi"
+
+#: src/veritysetup.c:383
+msgid "Salt"
+msgstr "Salt"
+
+#: src/veritysetup.c:383
+msgid "hex string"
+msgstr "chuỗi hex"
+
+#: src/cryptsetup_reencrypt.c:136
+#, c-format
+msgid "Cannot exclusively open %s, device in use.\n"
+msgstr "Không thể mở %s một cách đệ qui, thiết bị vẫn đang được sử dụng.\n"
+
+#: src/cryptsetup_reencrypt.c:140
+#, c-format
+msgid "Cannot open device %s\n"
+msgstr "Không thể mở thiết bị %s\n"
+
+#: src/cryptsetup_reencrypt.c:150 src/cryptsetup_reencrypt.c:367
+#: src/cryptsetup_reencrypt.c:786
+msgid "Allocation of aligned memory failed.\n"
+msgstr "Phân bổ bộ nhớ điều chỉnh gặp lỗi.\n"
+
+#: src/cryptsetup_reencrypt.c:157
+#, c-format
+msgid "Cannot read device %s.\n"
+msgstr "Không thể đọc thiết bị %s.\n"
+
+#: src/cryptsetup_reencrypt.c:168
+#, c-format
+msgid "Marking LUKS device %s unusable.\n"
+msgstr "Đánh dấu thiết bị LUKS %s là không thể dùng.\n"
+
+#: src/cryptsetup_reencrypt.c:173
+#, c-format
+msgid "Marking LUKS device %s usable.\n"
+msgstr "Đánh dấu thiết bị LUKS %s là có thể dùng.\n"
+
+#: src/cryptsetup_reencrypt.c:189
+#, c-format
+msgid "Cannot write device %s.\n"
+msgstr "Không thể ghi thiết bị %s.\n"
+
+#: src/cryptsetup_reencrypt.c:270
+msgid "Cannot write reencryption log file.\n"
+msgstr "Không thể ghi tập tin nhật ký reencryption (mã hóa lại).\n"
+
+#: src/cryptsetup_reencrypt.c:319
+msgid "Cannot read reencryption log file.\n"
+msgstr "Không đọc được tập tin nhật ký reencryption.\n"
+
+#: src/cryptsetup_reencrypt.c:358
+#, c-format
+msgid "Log file %s exists, resuming reencryption.\n"
+msgstr "Tập tin nhật ký %s đã có sẵn rồi, giả định là reencryption (mã hóa thêm lần nữa).\n"
+
+#: src/cryptsetup_reencrypt.c:393
+msgid "Activating temporary device using old LUKS header.\n"
+msgstr "Hoạt hóa thiết bị tạm thời sử dụng phần đầu LUKS kiểu cũ.\n"
+
+#: src/cryptsetup_reencrypt.c:404
+msgid "Activating temporary device using new LUKS header.\n"
+msgstr "Hoạt hóa thiết bị tạm thời sử dụng phần đầu LUKS kiểu mới.\n"
+
+#: src/cryptsetup_reencrypt.c:414
+msgid "Activation of temporary devices failed.\n"
+msgstr "Việc hoạt hóa các thiết bị tạm thời gặp lỗi.\n"
+
+#: src/cryptsetup_reencrypt.c:439
+#, c-format
+msgid "New LUKS header for device %s created.\n"
+msgstr "Phần đầu LUKS mới cho thiết bị %s được tạo.\n"
+
+#: src/cryptsetup_reencrypt.c:447
+#, c-format
+msgid "Activated keyslot %i.\n"
+msgstr "Khe-khoá (keyslot) đã được kích hoạt %i.\n"
+
+#: src/cryptsetup_reencrypt.c:471
+#, c-format
+msgid "LUKS header backup of device %s created.\n"
+msgstr "Phần đầu sao lưu LUKS của thiết bị %s được tạo.\n"
+
+#: src/cryptsetup_reencrypt.c:499
+msgid "Creation of LUKS backup headers failed.\n"
+msgstr "Việc tạo phần đầu LUKS sao lưu dự phòng gặp lỗi.\n"
+
+#: src/cryptsetup_reencrypt.c:594
+#, c-format
+msgid "Cannot restore LUKS header on device %s.\n"
+msgstr "Không thể phục hồi phần đầu LUKS trên thiết bị %s.\n"
+
+#: src/cryptsetup_reencrypt.c:596
+#, c-format
+msgid "LUKS header on device %s restored.\n"
+msgstr "Phần đầu LUKS trên thiết bị %s đã được phục hồi.\n"
+
+#: src/cryptsetup_reencrypt.c:629
+#, c-format
+msgid "Progress: %5.1f%%, ETA %02llu:%02llu, %4llu MiB written, speed %5.1f MiB/s%s"
+msgstr "Tiến trình: %5.1f%%, ETA %02llu:%02llu, %4llu MiB đã ghi, tốc độ %5.1f MiB/s%s"
+
+#: src/cryptsetup_reencrypt.c:645 src/cryptsetup_reencrypt.c:721
+msgid "Cannot seek to device offset.\n"
+msgstr "Không thể di chuyển vị trí tới vị trí tương đối thiết bị.\n"
+
+#: src/cryptsetup_reencrypt.c:767 src/cryptsetup_reencrypt.c:773
+msgid "Cannot open temporary LUKS header file.\n"
+msgstr "Không thể mở tập tin phần đầu LUKS tạm thời.\n"
+
+#: src/cryptsetup_reencrypt.c:779
+msgid "Cannot get device size.\n"
+msgstr "Không thể lấy kích cỡ thiết bị.\n"
+
+#: src/cryptsetup_reencrypt.c:803
+msgid "Interrupted by a signal.\n"
+msgstr "Bị ngắt bởi tín hiệu signal.\n"
+
+#: src/cryptsetup_reencrypt.c:805
+msgid "IO error during reencryption.\n"
+msgstr "Lỗi IO (V/R) trong quá trình reencryption.\n"
+
+#: src/cryptsetup_reencrypt.c:906
+msgid "Key file can be used only with --key-slot or with exactly one key slot active.\n"
+msgstr "Tập tin khóa có thể sử dụng với tùy chọn --key-slot hoặc với chính xác một khe khóa tích cực.\n"
+
+#: src/cryptsetup_reencrypt.c:948
+msgid "Enter any LUKS passphrase: "
+msgstr "Nhập mật khẩu LUKS vào: "
+
+#: src/cryptsetup_reencrypt.c:955
+#, c-format
+msgid "Enter LUKS passphrase for key slot %u: "
+msgstr "Nhập mật khẩu LUKS cho khe khoá %u: "
+
+#: src/cryptsetup_reencrypt.c:1004
+msgid "Cannot open reencryption log file.\n"
+msgstr "Không mở được tập tin nhật trình reencryption.\n"
+
+#: src/cryptsetup_reencrypt.c:1108
+msgid "Reencryption block size"
+msgstr "Kích thước khối Reencryption"
+
+#: src/cryptsetup_reencrypt.c:1108
+msgid "MiB"
+msgstr "MiB"
+
+#: src/cryptsetup_reencrypt.c:1118
+msgid "Use direct-io when accesing devices."
+msgstr "Sử dụng vào ra trực tiếp khi truy cập các thiết bị."
+
+#: src/cryptsetup_reencrypt.c:1119
+msgid "Use fsync after each block."
+msgstr "Sử dụng fsync sau mỗi khối."
+
+#: src/cryptsetup_reencrypt.c:1120
+msgid "Update log file after every block."
+msgstr "Cập nhật tập tin nhật ký sau mỗi khối."
+
+#: src/cryptsetup_reencrypt.c:1121
+msgid "Use only this slot (others will be disabled)."
+msgstr "Chỉ sử dụng khe này (những cái khác sẽ bị tắt đi)."
+
+#: src/cryptsetup_reencrypt.c:1124
+msgid "Reduce data device size (move data offset). DANGEROUS!"
+msgstr "Giảm kích thước dữ liệu thiết bị (di chuyển offset dữ liệu). NGUY HIỂM!"
+
+#: src/cryptsetup_reencrypt.c:1125
+msgid "Use only specified device size (ignore rest of device). DANGEROUS!"
+msgstr "Chỉ sử dụng kích thước dữ liệu thiết bị (bỏ qua phần còn lại của thiết bị). NGUY HIỂM!"
+
+#: src/cryptsetup_reencrypt.c:1126
+msgid "Create new header on not encrypted device."
+msgstr "Tạo phần đầu mới không trên thiết bị được mã hóa."
+
+#: src/cryptsetup_reencrypt.c:1142
+msgid "[OPTION...] <device>"
+msgstr "[TÙY_CHỌN...] <thiết-bị>"
+
+#: src/cryptsetup_reencrypt.c:1156
+msgid "WARNING: this is experimental code, it can completely break your data.\n"
+msgstr "CẢNH BÁO: đây chỉ là mã thử nghiệm, nó có thể phá hoại dữ liệu của bạn.\n"
+
+#: src/cryptsetup_reencrypt.c:1157
+#, c-format
+msgid "Reencryption will change: volume key%s%s%s%s.\n"
+msgstr "Reencryption sẽ thay đổi: khóa dung tích%s%s%s%s.\n"
+
+#: src/cryptsetup_reencrypt.c:1158
+msgid ", set hash to "
+msgstr ", đặt kiểu băm thành "
+
+#: src/cryptsetup_reencrypt.c:1159
+msgid ", set cipher to "
+msgstr ", đặt mã hóa thành "
+
+#: src/cryptsetup_reencrypt.c:1164
+msgid "Argument required."
+msgstr "Cần đối số."
+
+#: src/cryptsetup_reencrypt.c:1180
+msgid "Only values between 1 MiB and 64 MiB allowed for reencryption block size."
+msgstr "Chỉ những giá trị nằm giữa 1MiB và 64 MiB là cho phép đối với kích thước khối reencryption (mã hóa lại)."
+
+#: src/cryptsetup_reencrypt.c:1199 src/cryptsetup_reencrypt.c:1204
+msgid "Invalid device size specification."
+msgstr "Đặc tả kích thước thiết bị không đúng."
+
+#: src/cryptsetup_reencrypt.c:1207
+msgid "Maximum device reduce size is 64 MiB."
+msgstr "Kích thước thu nhỏ thiết bị tối đa là 64 MiB."
+
+#: src/cryptsetup_reencrypt.c:1210
+msgid "Reduce size must be multiple of 512 bytes sector."
+msgstr "Kích cỡ giảm phải là bội số cung từ (sector) 512 byte"
+
+#: src/cryptsetup_reencrypt.c:1214
+msgid "Option --new must be used together with --reduce-device-size."
+msgstr "Tùy chọn “--new” phải được sử dụng cùng với “--reduce-device-size”."
+
+#: src/utils_tools.c:150
+msgid "Error reading response from terminal.\n"
+msgstr "Gặp lỗi khi đọc phản hồi từ thiết bị cuối.\n"
+
+#: src/utils_tools.c:172
+msgid "Command successful.\n"
+msgstr "Câu lệnh đã chạy thành công.\n"
+
+#: src/utils_tools.c:186
+#, c-format
+msgid "Command failed with code %i"
+msgstr "Câu lệnh đã thất bại với mã %i"
+
+#: src/utils_password.c:42
+#, c-format
+msgid "Cannot check password quality: %s\n"
+msgstr "Không thể kiểm tra chất lượng mật khẩu: %s\n"
+
+#: src/utils_password.c:50
+#, c-format
+msgid ""
+"Password quality check failed:\n"
+" %s\n"
+msgstr ""
+"Chất lượng mật khẩu không đạt:\n"
+" %s\n"
+
+#~ msgid "Failed to obtain device mapper directory."
+#~ msgstr "Lỗi lấy thư mục trình ánh xạ thiết bị."
+
+#~ msgid "Backup file %s doesn't exist.\n"
+#~ msgstr "Tập tin sao lưu %s không tồn tại.\n"
+
+#~ msgid "Cannot open file %s.\n"
+#~ msgstr "Không thể mở tập tin %s.\n"
+
+#~ msgid "<name> <device>"
+#~ msgstr "<tên> <thiết_bị>"
+
+#~ msgid "create device"
+#~ msgstr "tạo thiết bị"
+
+#~ msgid "remove device"
+#~ msgstr "gỡ bỏ thiết bị"
+
+#~ msgid "remove LUKS mapping"
+#~ msgstr "gỡ bỏ sự ánh xạ LUKS"
+
+#~ msgid "open loop-AES device as mapping <name>"
+#~ msgstr "mở thiết bị loop-AES như là ánh xạ <tên>"
+
+#~ msgid "remove loop-AES mapping"
+#~ msgstr "gỡ bỏ ánh xạ loop-AES"
+
+#~ msgid "Option --allow-discards is allowed only for luksOpen, loopaesOpen and create operation.\n"
+#~ msgstr "Tùy chọn “--allow-discards” thì chỉ cho phép với thao tác “luksOpen”, “loopaesOpen” và tạo (create).\n"
+
+#~ msgid "Cannot open device %s for %s%s access.\n"
+#~ msgstr "Không thể mở thiết bị %s cho truy cập %s%s.\n"
+
+#~ msgid "exclusive "
+#~ msgstr "dành riêng"
+
+#~ msgid "writable"
+#~ msgstr "ghi được"
+
+#~ msgid "read-only"
+#~ msgstr "chỉ đọc"
+
+#~ msgid "WARNING!!! Possibly insecure memory. Are you root?\n"
+#~ msgstr "CẢNH BÁO!!! Có thể là vùng nhớ không an toàn. Bạn có đang chạy dưới quyền siêu người dùng (root) không?\n"
+
+#~ msgid "Unable to obtain sector size for %s"
+#~ msgstr "Không thể lấy kích cỡ rãnh ghi cho %s"
+
+#~ msgid "Failed to write to key storage.\n"
+#~ msgstr "Lỗi ghi khoá vào kho lưu khoá.\n"
+
+#~ msgid "Failed to read from key storage.\n"
+#~ msgstr "Lỗi đọc từ kho lưu khoá.\n"
 
 #~ msgid "Device %s is busy.\n"
 #~ msgstr "Thiết bị %s đang bận.\n"
@@ -1112,9 +1733,6 @@ msgstr "Tuỳ chọn --offset chỉ hỗ trợ cho lệnh tạo (create) và loo
 #~ msgid "Cannot find compatible device-mapper kernel modules.\n"
 #~ msgstr "Không tìm thấy mô-đun hạt nhân ánh xạ thiết bị tương thích.\n"
 
-#~ msgid "Cannot not read %d bytes from key file %s.\n"
-#~ msgstr "Không thể đọc %d byte từ tập tin khoá %s.\n"
-
 #~ msgid "Key slot %d verified.\n"
 #~ msgstr "Khe khoá %d được thẩm định.\n"
 
@@ -1140,17 +1758,17 @@ msgstr "Tuỳ chọn --offset chỉ hỗ trợ cho lệnh tạo (create) và loo
 #~ msgstr "sửa đổi thiết bị hoạt động - BỊ PHẢN ĐỐI - xem trang hướng dẫn"
 
 #~ msgid ""
-#~ "The reload action is deprecated. Please use \"dmsetup reload\" in case you really need this functionality.\n"
+#~ "The reload action is deprecated. Please use`dmsetup reload' in case you really need this functionality.\n"
 #~ "WARNING: do not use reload to touch LUKS devices. If that is the case, hit Ctrl-C now.\n"
 #~ msgstr ""
-#~ "Hành động nạp lại bị phản đối. Hãy sử dụng \"dmsetup reload\" trong trường hợp bạn thực sự yêu cầu chức năng này.\n"
+#~ "Hành động nạp lại bị phản đối. Hãy sử dụng“dmsetup reload” trong trường hợp bạn thực sự yêu cầu chức năng này.\n"
 #~ "CẢNH BÁO: đừng sử dụng chức năng nạp lại để thao tác thiết bị kiểu LUKS. Trong trường hợp đó, bấm tổ hợp phím Ctrl-C ngay bây giờ.\n"
 
 #~ msgid "Obsolete option --non-exclusive is ignored.\n"
-#~ msgstr "Tuỳ chọn cũ \"--non-exclusive\" bị bỏ qua.\n"
+#~ msgstr "Tùy chọn cũ“--non-exclusive” bị bỏ qua.\n"
 
 #~ msgid "Read the key from a file (can be /dev/random)"
-#~ msgstr "Đọc khoá từ một tập tin nào đó (có thể là \"/dev/random\")"
+#~ msgstr "Đọc khoá từ một tập tin nào đó (có thể là“/dev/random”)"
 
 #~ msgid "(Obsoleted, see man page.)"
 #~ msgstr "(Bị phản đối, xem trang hướng dẫn.)"