summaryrefslogtreecommitdiffstats
path: root/l10n-vi/dom/chrome
diff options
context:
space:
mode:
Diffstat (limited to 'l10n-vi/dom/chrome')
-rw-r--r--l10n-vi/dom/chrome/accessibility/AccessFu.properties92
-rw-r--r--l10n-vi/dom/chrome/accessibility/mac/accessible.properties69
-rw-r--r--l10n-vi/dom/chrome/accessibility/unix/accessible.properties21
-rw-r--r--l10n-vi/dom/chrome/accessibility/win/accessible.properties21
-rw-r--r--l10n-vi/dom/chrome/appstrings.properties37
-rw-r--r--l10n-vi/dom/chrome/dom/dom.properties429
-rw-r--r--l10n-vi/dom/chrome/global-strres.properties5
-rw-r--r--l10n-vi/dom/chrome/global.dtd5
-rw-r--r--l10n-vi/dom/chrome/layout/HtmlForm.properties43
-rw-r--r--l10n-vi/dom/chrome/layout/MediaDocument.properties22
-rw-r--r--l10n-vi/dom/chrome/layout/css.properties45
-rw-r--r--l10n-vi/dom/chrome/layout/htmlparser.properties129
-rw-r--r--l10n-vi/dom/chrome/layout/layout_errors.properties55
-rw-r--r--l10n-vi/dom/chrome/layout/printing.properties56
-rw-r--r--l10n-vi/dom/chrome/layout/xmlparser.properties48
-rw-r--r--l10n-vi/dom/chrome/layout/xul.properties5
-rw-r--r--l10n-vi/dom/chrome/mathml/mathml.properties15
-rw-r--r--l10n-vi/dom/chrome/netError.dtd93
-rw-r--r--l10n-vi/dom/chrome/nsWebBrowserPersist.properties17
-rw-r--r--l10n-vi/dom/chrome/security/caps.properties9
-rw-r--r--l10n-vi/dom/chrome/security/csp.properties123
-rw-r--r--l10n-vi/dom/chrome/security/security.properties165
-rw-r--r--l10n-vi/dom/chrome/svg/svg.properties5
-rw-r--r--l10n-vi/dom/chrome/xml/prettyprint.dtd5
-rw-r--r--l10n-vi/dom/chrome/xslt/xslt.properties39
25 files changed, 1553 insertions, 0 deletions
diff --git a/l10n-vi/dom/chrome/accessibility/AccessFu.properties b/l10n-vi/dom/chrome/accessibility/AccessFu.properties
new file mode 100644
index 0000000000..14865a07fa
--- /dev/null
+++ b/l10n-vi/dom/chrome/accessibility/AccessFu.properties
@@ -0,0 +1,92 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this file,
+# You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Roles
+menubar = thanh menu
+scrollbar = thanh cuộn
+grip = chỗ bám
+alert = cảnh báo
+menupopup = menu bật lên
+document = tài liệu
+pane = ô nội dung
+dialog = hộp thoại
+separator = dấu ngăn cách
+toolbar = thanh công cụ
+statusbar = thanh trạng thái
+table = bảng
+columnheader = tiêu đề cột
+rowheader = tiêu đề hàng
+column = cột
+row = hàng
+cell = ô trong bảng
+link = liên kết
+list = danh sách
+listitem = mục trong danh sách
+outline = phác thảo
+outlineitem = đề mục phác thảo
+pagetab = thẻ
+propertypage = trang thuộc tính
+graphic = đồ họa
+switch = đổi
+pushbutton = nút bấm
+checkbutton = nút đánh dấu chọn
+radiobutton = nút radio
+combobox = hộp combo
+progressbar = thanh tiến trình
+slider = thanh trượt
+spinbutton = nút quay
+diagram = biểu đồ
+animation = hoạt hình
+equation = phương trình
+buttonmenu = nút mở ra menu
+whitespace = khoảng trắng
+pagetablist = danh sách thẻ
+canvas = khung vẽ
+checkmenuitem = mục đánh dấu
+passwordtext = văn bản mật khẩu
+radiomenuitem = mục radio
+textcontainer = khung chứa văn bản
+togglebutton = nút bật/tắt
+treetable = bảng dạng cây
+header = header
+footer = footer
+paragraph = đoạn văn
+entry = ô nhập
+caption = tựa đề
+heading = đề mục
+section = mục/phần
+form = biểu mẫu
+comboboxlist = danh sách hộp chọn
+comboboxoption = mục trong hộp chọn
+imagemap = bản đồ hình ảnh
+listboxoption = tùy chọn
+listbox = hộp danh sách
+flatequation = phương trình phẳng
+gridcell = ô lưới
+note = ghi chú
+figure = hình
+definitionlist = danh sách định nghĩa
+term = thuật ngữ
+definition = giải nghĩa
+
+mathmlcell = ô
+mathmlroot = gốc
+
+# More sophisticated roles which are not actual numeric roles
+textarea = vùng văn bản
+
+
+# More sophisticated object descriptions
+headingLevel = tiêu đề cấp %S
+
+# Landmark announcements
+banner = biểu ngữ
+complementary = bổ sung
+contentinfo = thông tin nội dung
+main = chính
+navigation = duyệt
+search = tìm kiếm
+
+stateRequired = yêu cầu
+
diff --git a/l10n-vi/dom/chrome/accessibility/mac/accessible.properties b/l10n-vi/dom/chrome/accessibility/mac/accessible.properties
new file mode 100644
index 0000000000..caece35d88
--- /dev/null
+++ b/l10n-vi/dom/chrome/accessibility/mac/accessible.properties
@@ -0,0 +1,69 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+jump = Nhảy
+press = Ấn
+check = Chọn
+uncheck = Bỏ Chọn
+select = Chọn
+open = Mở
+close = Đóng
+switch = Chuyển
+click = Nhấp
+collapse= Thu gọn
+expand = Mở rộng
+activate= Kích hoạt
+cycle = Xoay
+# An action provided to accessibility clients such as screen readers to allow
+# them to click an element when the click will be handled by a container
+# (ancestor) element. This is not normally reported to users.
+click ancestor = Vùng chứa nhấp chuột
+
+# Universal Access API support
+# (Mac Only)
+# The Role Description for AXWebArea (the web widget). Like in Safari.
+htmlContent = Nội dung HTML
+# The Role Description for the Tab button.
+tab = thẻ
+# The Role Description for definition list dl, dt and dd
+term = thuật ngữ
+definition = định nghĩa
+# The Role Description for an input type="search" text field
+searchTextField = trường tìm kiếm văn bản
+# The Role Description for WAI-ARIA Landmarks
+application = ứng dụng
+search = tìm kiếm
+banner = biểu ngữ
+navigation = duyệt
+complementary = bổ sung
+content = nội dung
+main = chính
+# The (spoken) role description for various WAI-ARIA roles
+alert = cảnh báo
+alertDialog = hộp thoại cảnh báo
+dialog = hộp thoại
+article = bài viết
+document = tài liệu
+# The (spoken) role description for the WAI-ARIA figure role
+# https://w3c.github.io/aria/core-aam/core-aam.html#role-map-figure
+figure = hình
+# The (spoken) role description for the WAI-ARIA heading role
+# https://w3c.github.io/aria/core-aam/core-aam.html#role-map-heading
+heading = tiêu đề
+log = bản ghi
+marquee = vùng đánh dấu
+math = toán học
+note = ghi chú
+region = vùng
+status = trạng thái ứng dụng
+timer = hẹn giờ
+tooltip = chú giải
+separator = dấu ngăn cách
+tabPanel = bảng thẻ
+# The roleDescription for the html:mark element
+highlight = tô sáng
+# The roleDescription for the details element
+details = chi tiết
+# The roleDescription for the summary element
+summary = tóm tắt
diff --git a/l10n-vi/dom/chrome/accessibility/unix/accessible.properties b/l10n-vi/dom/chrome/accessibility/unix/accessible.properties
new file mode 100644
index 0000000000..d494a0adcd
--- /dev/null
+++ b/l10n-vi/dom/chrome/accessibility/unix/accessible.properties
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+jump = Nhảy
+press = Ấn
+check = Chọn
+uncheck = Bỏ Chọn
+select = Chọn
+open = Mở
+close = Đóng
+switch = Chuyển
+click = Nhấp
+collapse= Thu gọn
+expand = Mở rộng
+activate= Kích hoạt
+cycle = Xoay
+# An action provided to accessibility clients such as screen readers to allow
+# them to click an element when the click will be handled by a container
+# (ancestor) element. This is not normally reported to users.
+click ancestor = Vùng chứa nhấp chuột
diff --git a/l10n-vi/dom/chrome/accessibility/win/accessible.properties b/l10n-vi/dom/chrome/accessibility/win/accessible.properties
new file mode 100644
index 0000000000..350192bffa
--- /dev/null
+++ b/l10n-vi/dom/chrome/accessibility/win/accessible.properties
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+jump = Nhảy
+press = Nhấp
+check = Chọn
+uncheck = Bỏ chọn
+select = Chọn
+open = Mở
+close = Đóng
+switch = Chuyển
+click = Nhấp
+collapse= Thu gọn
+expand = Mở rộng
+activate= Kích hoạt
+cycle = Xoay
+# An action provided to accessibility clients such as screen readers to allow
+# them to click an element when the click will be handled by a container
+# (ancestor) element. This is not normally reported to users.
+click ancestor = Vùng chứa nhấp chuột
diff --git a/l10n-vi/dom/chrome/appstrings.properties b/l10n-vi/dom/chrome/appstrings.properties
new file mode 100644
index 0000000000..79354a8e78
--- /dev/null
+++ b/l10n-vi/dom/chrome/appstrings.properties
@@ -0,0 +1,37 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+malformedURI2=Vui lòng kiểm tra lại URL đã chính xác hay chưa và thử lại lần nữa.
+fileNotFound=Không tìm thấy tập tin %S. Vui lòng kiểm tra vị trí và thử lại.
+fileAccessDenied=Tập tin %S không thể đọc được.
+dnsNotFound2=Không tìm thấy %S. Vui lòng kiểm tra tên và thử lại.
+unknownProtocolFound=Một trong số các giao thức sau (%S) chưa được đăng ký hoặc không được cho phép trong trường hợp này.
+connectionFailure=Đã thử kết nối tới %S và bị từ chối.
+netInterrupt=Kết nối tới %S đã bị ngắt đột ngột. Tuy nhiên, một số dữ liệu có thể đã được truyền tải xong.
+netTimeout=Kết nối tới %S đã đứt do chờ quá lâu.
+redirectLoop=Vượt quá giới hạn chuyển hướng của URL này. Không thể mở trang được yêu cầu. Điều này có thể do cookie bị chặn.
+confirmRepostPrompt=Để hiển thị trang này, ứng dụng phải gửi đi thông tin lặp lại các hành động đã thực hiện trước đó (như xác nhận tìm kiếm hay xác nhận đặt hàng).
+resendButton.label=Gửi lại
+unknownSocketType=Không thể hiển thị tài liệu này trừ khi bạn cài đặt Personal Security Manager (PSM). Vui lòng tải xuống và cài đặt PSM rồi thử lại, hoặc liên hệ với quản trị hệ thống của bạn.
+netReset=Tài liệu không chứa dữ liệu.
+notCached=Tài liệu này không còn hiện hữu.
+netOffline=Không thể hiển thị tài liệu này khi đang ngoại tuyến. Để kết nối trực tuyến, bỏ chọn Làm việc ngoại tuyến trên menu Tập tin.
+isprinting=Không thể chỉnh sửa tài liệu trong khi đang in hoặc ở chế độ xem trước.
+deniedPortAccess=Truy cập tới cổng này đã bị vô hiệu hóa vì lí do bảo mật.
+proxyResolveFailure=Không thể tìm thấy máy chủ proxy mà bạn đã cấu hình. Vui lòng kiểm tra thiết lập proxy và thử lại.
+proxyConnectFailure=Đã thử kết nối tới máy chủ proxy bạn thiết lập nhưng bị từ chối. Vui lòng kiểm tra thiết lập proxy và thử lại.
+contentEncodingError=Không thể hiển thị trang bạn muốn xem vì nó dùng một dạng thức nén bất hợp lệ hoặc không được hỗ trợ.
+unsafeContentType=Không thể hiển thị trang bạn muốn xem vì nó nằm trong một kiểu tập tin không an toàn. Vui lòng liên hệ người quản lí trang web để báo cho họ vấn đề này.
+malwareBlocked=Trang web tại %S bị báo cáo là trang web ác ý và đã bị chặn dựa trên tùy chỉnh bảo mật của bạn.
+harmfulBlocked=Trang web %S được báo cáo là một trang web có khả năng gây hại và đã bị chặn dựa trên cấu hình bảo mật của bạn.
+unwantedBlocked=Trang web tại %S bị báo cáo là có cài đặt phần mềm không mong muốn và đã bị chặn dựa trên tùy chỉnh bảo mật của bạn.
+deceptiveBlocked=Trang web tại %S bị báo cáo là trang web lừa đảo và đã bị chặn dựa trên tùy chỉnh bảo mật của bạn.
+cspBlocked=Trang này có một chính sách bảo mật nội dung không cho phép nó được tải theo cách này.
+xfoBlocked=Trang này có chính sách X-Frame-Options để ngăn không cho nó được tải trong ngữ cảnh này.
+corruptedContentErrorv2=Trang tại %S đã bị vi phạm giao thức truyền thông mà không cho phép sửa.
+sslv3Used=Không thể đảm bảo an toàn dữ liệu của bạn trên %S vì nó sử dụng SSLv3, một giao thức bảo mật không an toàn.
+weakCryptoUsed=Chủ sở hữu của %S đã cấu hình trang web của họ không đúng. Để bảo vệ thông tin của bạn khỏi không bị trộm cắp, kết nối tới trang web này đã bị ngắt.
+inadequateSecurityError=Trang web đã cố gắng giao tiếp ở mức độ bảo mật thấp.
+blockedByPolicy=Tổ chức của bạn đã chặn quyền truy cập vào trang web này.
+networkProtocolError=Firefox đã phát hiện một vi phạm giao thức mạng mà không thể sửa chữa được.
diff --git a/l10n-vi/dom/chrome/dom/dom.properties b/l10n-vi/dom/chrome/dom/dom.properties
new file mode 100644
index 0000000000..39a63e44a1
--- /dev/null
+++ b/l10n-vi/dom/chrome/dom/dom.properties
@@ -0,0 +1,429 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+KillScriptTitle=Cảnh báo: Tập lệnh không đáp ứng
+KillScriptMessage=Trình duyệt đang bận xử lý một tập lệnh trong trang này, hoặc đã dừng xử lý. Bạn có thể dừng xử lý ngay, hoặc tiếp tục xem nếu có thể hoàn tất xử lý.
+KillScriptWithDebugMessage=Trình duyệt đang bận xử lý một tập lệnh trong trang này, hoặc đã dừng xử lý. Bạn có thể dừng xử lý ngay, mở tập lệnh bằng trình gỡ lỗi, hoặc để tập lệnh tiếp tục chạy.
+KillScriptLocation=Tập lệnh: %S
+
+KillAddonScriptTitle=Cảnh báo: Tập lệnh tiện ích không phản hồi
+# LOCALIZATION NOTE (KillAddonScriptMessage): %1$S is the name of an extension.
+# %2$S is the name of the application (e.g., Firefox).
+KillAddonScriptMessage=Một tập lệnh từ tiện ích mở rộng “%1$S” đang chạy trên trang này và khiến %2$S không phản hồi.\n\nNó có thể đang bận hoặc có thể đã ngừng phản hồi vĩnh viễn. Bạn có thể dừng tập lệnh ngay bây giờ hoặc bạn có thể tiếp tục xem nó có hoàn thành hay không.
+KillAddonScriptGlobalMessage=Ngăn tập lệnh mở rộng chạy trên trang này cho đến khi tải lại lần sau
+
+StopScriptButton=Dừng tập lệnh
+DebugScriptButton=Gỡ lỗi tập lệnh
+WaitForScriptButton=Tiếp tục
+DontAskAgain=Đừng &hỏi lại
+WindowCloseBlockedWarning=Đoạn mã sẽ không đóng cửa sổ mà không phải do nó mở.
+OnBeforeUnloadTitle=Bạn có chắc không?
+OnBeforeUnloadMessage2=Trang này yêu cầu bạn xác nhận rằng bạn muốn rời khỏi — thông tin bạn đã nhập có thể sẽ không được lưu.
+OnBeforeUnloadStayButton=Ở lại trang
+OnBeforeUnloadLeaveButton=Rời khỏi trang
+EmptyGetElementByIdParam=Chuỗi trống đã được đưa sang getElementById().
+SpeculationFailed2=Một cây không cân bằng được viết bằng cách sử dụng document.write() làm cho dữ liệu từ mạng phân tích lại. Thông tin thêm: https://developer.mozilla.org/docs/Glossary/speculative_parsing
+DocumentWriteIgnored=Một lệnh gọi tới document.write() từ một mã script nạp không đồng bộ bên ngoài đã bị bỏ qua.
+# LOCALIZATION NOTE (EditorFileDropFailed): Do not translate contenteditable, %S is the error message explaining why the drop failed.
+EditorFileDropFailed=Lỗi kéo thả tập tin vào phần tử có thuộc tính contenteditable: %S.
+FormValidationTextTooLong=Vui lòng rút ngắn đoạn này xuống còn %S kí tự hoặc ít hơn (bạn hiện đang dùng %S kí tự).
+FormValidationTextTooShort=Vui lòng sử dụng ít nhất %S ký tự (bạn hiện đang sử dụng %S ký tự).
+FormValidationValueMissing=Vui lòng điền vào trường này.
+FormValidationCheckboxMissing=Vui lòng đánh dấu ô này nếu bạn muốn tiến hành.
+FormValidationRadioMissing=Vui lòng chọn một trong các tùy chọn này.
+FormValidationFileMissing=Vui lòng chọn một tập tin.
+FormValidationSelectMissing=Vui lòng chọn một mục trong danh sách.
+FormValidationInvalidEmail=Vui lòng điền một địa chỉ email.
+FormValidationInvalidURL=Vui lòng điền một URL.
+FormValidationInvalidDate=Vui lòng nhập ngày hợp lệ.
+FormValidationInvalidTime=Vui lòng nhập thời gian hợp lệ.
+FormValidationInvalidDateTime=Vui lòng nhập ngày và giờ hợp lệ.
+FormValidationInvalidDateMonth=Vui lòng nhập tháng hợp lệ.
+FormValidationInvalidDateWeek=Vui lòng nhập tuần hợp lệ.
+FormValidationPatternMismatch=Vui lòng khớp định dạng được yêu cầu.
+# LOCALIZATION NOTE (FormValidationPatternMismatchWithTitle): %S is the (possibly truncated) title attribute value.
+FormValidationPatternMismatchWithTitle=Vui lòng khớp định dạng được yêu cầu: %S.
+# LOCALIZATION NOTE (FormValidationNumberRangeOverflow): %S is a number.
+FormValidationNumberRangeOverflow=Vui lòng chọn một giá trị không lớn hơn %S.
+# LOCALIZATION NOTE (FormValidationDateTimeRangeOverflow): %S is a date or a time.
+FormValidationDateTimeRangeOverflow=Vui lòng chọn một ngày không muộn hơn %S.
+# LOCALIZATION NOTE (FormValidationNumberRangeUnderflow): %S is a number.
+FormValidationNumberRangeUnderflow=Vui lòng chọn một giá trị không nhỏ hơn %S.
+# LOCALIZATION NOTE (FormValidationDateTimeRangeUnderflow): %S is a date or a time.
+FormValidationDateTimeRangeUnderflow=Vui lòng chọn một ngày không sớm hơn %S.
+# LOCALIZATION NOTE (FormValidationStepMismatch): both %S can be a number, a date or a time.
+FormValidationStepMismatch=Vui lòng chọn một giá trị hợp lệ. Hai giá trị hợp lệ gần nhất là %S và %S.
+# LOCALIZATION NOTE (FormValidationStepMismatchOneValue): %S can be a number, a date or a time. This is called instead of FormValidationStepMismatch when the second value is the same as the first.
+FormValidationStepMismatchOneValue=Vui lòng chọn một giá trị hợp lệ. Giá trị hợp lệ gần nhất là %S.
+# LOCALIZATION NOTE (FormValidationTimeReversedRangeUnderflowAndOverflow): %1$S,%2$S are time.
+FormValidationTimeReversedRangeUnderflowAndOverflow=Vui lòng chọn giá trị trong khoảng từ %1$S đến %2$S.
+FormValidationBadInputNumber=Vui lòng nhập số.
+FullscreenDeniedDisabled=Yêu cầu toàn màn hình đã bị từ chối vì API toàn màn hình bị tắt theo ưu tiên của người dùng.
+FullscreenDeniedFocusedPlugin=Yêu cầu toàn màn hình đã bị từ chối vì một phần bổ trợ có cửa sổ được chọn.
+FullscreenDeniedHidden=Yêu cầu toàn màn hình đã bị từ chối vì tài liệu không còn hiển thị.
+FullscreenDeniedHTMLDialog=Yêu cầu toàn màn hình đã bị từ chối vì phần tử yêu cầu là phần tử <dialog>.
+FullscreenDeniedContainerNotAllowed=Yêu cầu hiển thị toàn màn hình bị từ chối vì có ít nhất một trang không phải là iframe hoặc không có thuộc tính "allowfullscreen".
+FullscreenDeniedNotInputDriven=Yêu cầu toàn màn hình đã bị từ chối vì Element.requestFullscreen() không được gọi từ bên trong trình xử lý sự kiện do người dùng tạo.
+FullscreenDeniedMouseEventOnlyLeftBtn=Yêu cầu toàn màn hình đã bị từ chối vì hàm Element.requestFullscreen() được gọi từ bên trong một trình xử lý sự kiện chuột mà không được kích hoạt bằng nút chuột trái.
+FullscreenDeniedNotHTMLSVGOrMathML=Yêu cầu chế độ toàn màn hình bị từ chối vì phần tử được yêu cầu không phải là <svg>, <math>, hay một phần tử HTML.
+FullscreenDeniedNotInDocument=Yêu cầu toàn màn hình đã bị từ chối vì không còn yêu cầu yếu tố trong tài liệu của nó.
+FullscreenDeniedMovedDocument=Yêu cầu toàn màn hình đã bị từ chối vì yêu cầu yếu tố đã di chuyển tài liệu.
+FullscreenDeniedLostWindow=Yêu cầu toàn màn hình đã bị từ chối vì chúng tôi không còn một cửa sổ.
+FullscreenDeniedSubDocFullscreen=Yêu cầu toàn màn hình đã bị từ chối vì một tài liệu con của tài liệu yêu cầu toàn màn hình đã ở chế độ toàn màn hình.
+FullscreenDeniedNotDescendant=Yêu cầu toàn màn hình đã bị từ chối vì phần tử yêu cầu không phải là phần tử con của phần tử toàn màn hình hiện tại.
+FullscreenDeniedNotFocusedTab=Yêu cầu toàn màn hình đã bị từ chối vì yếu tố yêu cầu không nằm trong thẻ hiện đang chọn.
+FullscreenDeniedFeaturePolicy=Yêu cầu toàn màn hình đã bị từ chối vì các chỉ thị FeaturePolicy.
+FullscreenExitWindowFocus=Thoát toàn màn hình vì một cửa sổ đã được chọn.
+RemovedFullscreenElement=Đã thoát toàn màn hình vì yếu tố toàn màn hình đã bị xóa khỏi tài liệu.
+FocusedWindowedPluginWhileFullscreen=Thoát toàn màn hình vì cửa sổ của phần bổ trợ đã được chọn.
+PointerLockDeniedDisabled=Yêu cầu khóa con trỏ bị từ chối vì API khóa con trỏ đã bị tắt bởi cấu hình tùy chọn của người dùng.
+PointerLockDeniedInUse=Yêu cầu khóa con trỏ đã bị từ chối vì con trỏ hiện tại đang được điều khiển bởi một document khác.
+PointerLockDeniedNotInDocument=Yêu cầu khóa con trỏ đã bị từ chối vì phần tử yêu cầu không có trong document.
+PointerLockDeniedSandboxed=Yêu cầu khóa con trỏ đã bị từ chối vì API khóa con trỏ bị hạn chế qua sandbox.
+PointerLockDeniedHidden=Yêu cầu khóa con trỏ đã bị từ chối vì document đang không hiển thị.
+PointerLockDeniedNotFocused=Yêu cầu khóa con trỏ đã bị từ chối vì document không được chọn.
+PointerLockDeniedFailedToLock=Yêu cầu khóa con trỏ đã bị từ chối vì trình duyệt không khóa được con trỏ.
+HTMLSyncXHRWarning=Việc phân tích HTML trong XMLHttpRequest không được hỗ trợ ở chế độ đồng bộ.
+# LOCALIZATION NOTE: %S is the name of the header in question
+ForbiddenHeaderWarning=Cố gắng đặt một tiêu đề không được phép đã bị từ chối: %S
+ResponseTypeSyncXHRWarning=Việc dùng thuộc tính responseType của XMLHttpRequest không được hỗ trợ ở chế độ đồng bộ trong phạm vi cửa sổ.
+TimeoutSyncXHRWarning=Việc dùng thuộc tính timeout của XMLHttpRequest không còn được hỗ trợ ở chế độ đồng bộ trong phạm vi cửa sổ.
+# LOCALIZATION NOTE: Do not translate navigator.sendBeacon, unload, pagehide, or XMLHttpRequest.
+UseSendBeaconDuringUnloadAndPagehideWarning=Việc sử dụng navigator.sendBeacon thay vì synchronous XMLHttpRequest trong khi unload và pagehide sẽ cải thiện trải nghiệm người dùng.
+JSONCharsetWarning=Sử dụng mã hóa không phải UTF-8 để nhận JSON bằng XMLHttpRequest là vi phạm. Việc giải mã JSON chỉ hỗ trợ UTF-8.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and createMediaElementSource.
+MediaElementAudioSourceNodeCrossOrigin=HTMLMediaElement được chuyển cho createMediaElementSource có nhiều tài nguyên, node sẽ xuất hiện im lặng.
+# LOCALIZATION NOTE: Do not translate MediaStream and createMediaStreamSource.
+MediaStreamAudioSourceNodeCrossOrigin=MediaStream được chuyển cho createMediaElementSource có nhiều tài nguyên, node sẽ xuất hiện im lặng.
+# LOCALIZATION NOTE : Do not translate MediaStreamTrack and createMediaStreamTrackSource.
+MediaStreamTrackAudioSourceNodeCrossOrigin=MediaStreamTrack được chuyển cho createMediaElementSource có nhiều tài nguyên, node sẽ xuất hiện im lặng.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and MediaStream.
+MediaElementAudioCaptureOfMediaStreamError=HTMLMediaEuity đã chụp đang phát MediaStream. Chỉnh âm lượng hoặc trạng thái tắt tiếng hiện không được hỗ trợ.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and MediaStream.
+MediaLoadExhaustedCandidates=Không thể tải xuống các nguồn tài nguyên. Phương tiện đã tạm dừng tải.
+MediaLoadSourceMissingSrc=Phần tử <source> không có thuộc tính “src”. Nguồn media không tải được.
+MediaStreamAudioSourceNodeDifferentRate=Kết nối AudioNodes từ AudioContexts với tốc độ mẫu khác nhau hiện không được hỗ trợ.
+# LOCALIZATION NOTE: %1$S is the Http error code the server returned (e.g. 404, 500, etc), %2$S is the URL of the media resource which failed to load.
+MediaLoadHttpError=Không tải được HTTP với trạng thái %1$S. Không tải được media từ %2$S.
+# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load.
+MediaLoadInvalidURI=URI không hợp lệ. Việc tải tập tin media từ nguồn %S thất bại.
+# LOCALIZATION NOTE: %1$S is the media resource's format/codec type (basically equivalent to the file type, e.g. MP4,AVI,WMV,MOV etc), %2$S is the URL of the media resource which failed to load.
+MediaLoadUnsupportedTypeAttribute=Định dạng "%1$S" không được hỗ trợ. Việc tải media từ %2$S thất bại.
+MediaLoadUnsupportedTypeAttributeLoadingNextChild=Thuộc tính được chỉ định “type” của “%1$S” không được hỗ trợ. Tải tài nguyên phương tiện %2$S không thành công. Đang thử tải từ phần tử <source> tiếp theo.
+# LOCALIZATION NOTE: %1$S is the MIME type HTTP header being sent by the web server, %2$S is the URL of the media resource which failed to load.
+MediaLoadUnsupportedMimeType=Máy chủ không hỗ trợ HTTP "Content-Type" của "%1$S". Không tải được media từ %2$S.
+# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load because of error in decoding.
+MediaLoadDecodeError=Tài nguyên %S không thể giải mã.
+MediaWidevineNoWMF=Đang thử chạy Widevine mà không có Windows Media Foundation. Xem thêm tại https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaWMFNeeded=Để phát định dạng video %S, bạn cần cài đặt thêm phần mềm Microsoft, xem https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaPlatformDecoderNotFound=Video trên trang này không thể phát. Hệ thống của bạn có thể không có codec video cần thiết cho: %S
+MediaUnsupportedLibavcodec=Video trên trang này có thể được phát. Hệ thống của bạn có phiên bản libavcodec không được hỗ trợ
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeError=Không thể giải mã tài nguyên phương tiện %1$S, lỗi: %2$S
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeWarning=Tài nguyên phương tiện %1$S có thể được giải mã, nhưng có lỗi: %2$S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaCannotPlayNoDecoders=Không thể chạy phương tiện. Không có bộ giải mã cho các định dạng được yêu cầu: %S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaNoDecoders=Không có bộ giải mã cho một số định dạng được yêu cầu: %S
+MediaCannotInitializePulseAudio=Không thể sử dụng PulseAudio
+# LOCALIZATION NOTE: %S is the URL of the web page which is not served on HTTPS and thus is not encrypted and considered insecure.
+# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (either an audioCapabilities or a videoCapabilities) that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
+# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (a "codecs" string in the "contentType") that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
+# LOCALIZATION NOTE: Do not translate "Mutation Event" and "MutationObserver"
+MutationEventWarning=Mutation Events đã dừng phát triển. Sử dụng MutationObserver để thay thế.
+BlockAutoplayError=Tự động phát chỉ được phép khi được người dùng chấp thuận, trang web được kích hoạt bởi người dùng hoặc phương tiện bị tắt tiếng.
+BlockAutoplayWebAudioStartError=Một AudioContext đã bị ngăn bắt đầu tự động. Nó phải được tạo hoặc tiếp tục lại sau một cử chỉ của người dùng trên trang.
+# LOCALIZATION NOTE: Do not translate "Components"
+ComponentsWarning=Components đã dừng phát triển. Nó sẽ sớm bị xóa.
+PluginHangUITitle=Cảnh báo: phần bổ trợ không đáp ứng
+PluginHangUIMessage=%S có thể đang bận, hoặc đã bị treo. Bạn có thể tắt phần bổ trợ ngay bây giờ, hoặc tiếp tục đợi nếu muốn nó hoàn tất việc xử lý.
+PluginHangUIWaitButton=Tiếp tục
+PluginHangUIStopButton=Tắt phần bổ trợ
+# LOCALIZATION NOTE: Do not translate "NodeIterator" or "detach()".
+NodeIteratorDetachWarning=Lời gọi hàm detach() trên NodeIterator không còn có tác dụng.
+# LOCALIZATION NOTE: Do not translate "LenientThis" and "this"
+LenientThisWarning=Bỏ qua nhận hoặc tập hợp các thuộc tính có [LenientThis] bởi vì đối tượng “this” có thể không chính xác.
+# LOCALIZATION NOTE: Do not translate "captureEvents()" or "addEventListener()"
+UseOfCaptureEventsWarning=captureEvents() đã dừng phát triển. Để nâng cấp mã của bạn, hãy dùng phương pháp DOM 2 addEventListener(). Xem thêm trợ giúp ở http://developer.mozilla.org/en/docs/DOM:element.addEventListener
+# LOCALIZATION NOTE: Do not translate "releaseEvents()" or "removeEventListener()"
+UseOfReleaseEventsWarning=releaseEvents() đã dừng phát triển. Để nâng cấp mã của bạn, hãy dùng phương pháp DOM 2 removeEventListener(). Xem thêm trợ giúp ở http://developer.mozilla.org/en/docs/DOM:element.removeEventListener
+# LOCALIZATION NOTE: Do not translate "XMLHttpRequest"
+SyncXMLHttpRequestWarning=Synchronous XMLHttpRequest trên luồng chính đã dừng phát triển vì những tác động bất lợi của nó đối với trải nghiệm của người dùng cuối. Để được trợ giúp thêm, hãy xem tại http://xhr.spec.whatwg.org/
+# LOCALIZATION NOTE: Do not translate "window.controllers/Controllers"
+Window_Cc_ontrollersWarning=window.controllers/Controllers đã dừng phát triển. Không sử dụng nó để phát hiện UA.
+ImportXULIntoContentWarning=Việc nhập các node XUL vào một content document hiện đã dừng phát triển. Tính năng này có thể sẽ sớm bị loại bỏ.
+# LOCALIZATION NOTE: Do not translate "IndexedDB".
+IndexedDBTransactionAbortNavigation=Giao dịch IndexedDB mà nó chưa hoàn tất đã bị hủy bỏ do điều hướng trang.
+# LOCALIZATION NOTE: Do not translate Will-change, %1$S,%2$S are numbers.
+IgnoringWillChangeOverBudgetWarning=Việc tiêu thụ bộ nhớ will-change là rất lớn. Mức giới hạn được tính bằng diện tích bề mặt của document nhân với %1$S (%2$S px). Sự xuất hiện của will-change vượt quá mức giới hạn này sẽ bị loại bỏ.
+# LOCALIZATION NOTE: Do not translate "Worker".
+HittingMaxWorkersPerDomain2=Không thể bắt đầu Worker ngay lập tức vì các tài liệu khác có cùng origin đã sử dụng số lượng worker tối đa. Worker hiện đã được xếp hàng đợi và sẽ được bắt đầu sau khi một số Worker khác đã hoàn thành.
+# LOCALIZATION NOTE: Do not translate "Application Cache API", "AppCache" and "ServiceWorker".
+AppCacheWarning=Application Cache API (AppCache) đã dừng phái triển và sẽ bị xóa trong tương lai. Vui lòng xem xét sử dụng ServiceWorker cho việc hỗ trợ ngoại tuyến.
+# LOCALIZATION NOTE: Do not translate "Worker".
+EmptyWorkerSourceWarning=Đang thử tạo Worker từ một nguồn trống. Đây có vẻ là vô tình.
+WebrtcDeprecatedPrefixWarning=WebRTC có tiền tố “moz” (mozRTCPeerConnection, mozRTCSessionDescription, mozRTCIceCandidate) đã dừng phát triển.
+NavigatorGetUserMediaWarning=navigator.mozGetUserMedia đã được thay thế bằng navigator.mediaDevices.getUserMedia
+# LOCALIZATION NOTE: Do not translate "RTCPeerConnection", "getLocalStreams", "getRemoteStreams", "getSenders" or "getReceivers".
+RTCPeerConnectionGetStreamsWarning=RTCPeerConnection.getLocalStreams/getRemoteStreams đã dừng phát triển. Sử dụng RTCPeerConnection.getSenders/getReceivers để thay thế.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL.
+InterceptionFailedWithURL=Không thể tải ‘%S’. Một ServiceWorker đã chặn yêu cầu và gặp phải lỗi không mong muốn.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "cors", "Response", "same-origin" or "Request". %1$S is a URL, %2$S is a URL.
+CorsResponseForSameOriginRequest=Không thể tải ‘%1$S’ với phản hồi ‘%2$S’. Một ServiceWorker không được phép tổng hợp một Response cors cho một same-origin Request.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "FetchEvent.respondWith()", "FetchEvent", "no-cors", "opaque", "Response", or "RequestMode". %1$S is a URL. %2$S is a RequestMode value.
+BadOpaqueInterceptionRequestModeWithURL=Không thể tải ‘%1$S’. Một ServiceWorker đã chuyển một opaque Response cho FetchEvent.respondWith() trong khi xử lý FetchEvent ‘%2$S’. Đối tượng Opaque Response chỉ hợp lệ khi RequestMode là ‘no-cors’.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Error", "Response", "FetchEvent.respondWith()", or "fetch()". %S is a URL.
+InterceptedErrorResponseWithURL=Không thể tải ‘%S’. Một ServiceWorker đã chuyển một Error Response cho FetchEvent.respondWith(). Điều này thường có nghĩa là ServiceWorker đã thực hiện một lệnh gọi fetch() không hợp lệ.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", or "Response.clone()". %S is a URL.
+InterceptedUsedResponseWithURL=Không thể tải ‘%S’. Một ServiceWorker đã chuyển một Response đã sử dụng tới FetchEvent.respondWith(). Nội dung của Response chỉ có thể được đọc một lần. Sử dụng Response.clone() để truy cập nội dung nhiều lần.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "opaqueredirect", "Response", "FetchEvent.respondWith()", or "FetchEvent". %s is a URL.
+BadOpaqueRedirectInterceptionWithURL=Không thể tải ‘%S’. Một ServiceWorker đã chuyển một opaqueredirect Response tới FetchEvent.respondWith() trong khi xử lý một FetchEvent không điều hướng.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", "RedirectMode" or "follow". %S is a URL.
+BadRedirectModeInterceptionWithURL=Không thể tải ‘%S’. Một ServiceWorker đã chuyển một Response được chuyển hướng tới FetchEvent.respondWith() trong khi RedirectMode không phải là ‘follow’.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker" or "FetchEvent.preventDefault()". %S is a URL.
+InterceptionCanceledWithURL=Không thể tải ‘%S’. ServiceWorker đã hủy tải bằng cách gọi FetchEvent.preventDefault().
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", or "FetchEvent.respondWith()". %1$S is a URL. %2$S is an error string.
+InterceptionRejectedResponseWithURL=Không tải được ‘%1$S’. Một ServiceWorker đã chuyển một promise cho FetchEvent.respondWith() mà nó đã bị từ chối với ‘%2$S’.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", "FetchEvent.respondWith()", or "Response". %1$S is a URL. %2$S is an error string.
+InterceptedNonResponseWithURL=Không thể tải ‘%1$S’. Một ServiceWorker đã chuyển một promise cho FetchEvent.respondWith() mà nó được giải quyết với giá trị Response không phản hồi ‘%2$S’.
+# LOCALIZATION NOTE: Do not translate "mozImageSmoothingEnabled", or "imageSmoothingEnabled"
+PrefixedImageSmoothingEnabledWarning=mozImageSmoothingEnabled đã dừng phát triển. Vui lòng sử dụng thuộc tính imageSmoothingEnabled không định sẵn để thay thế.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Service-Worker-Allowed" or "HTTP". %1$S and %2$S are URLs.
+ServiceWorkerScopePathMismatch=Không thể đăng ký ServiceWorker: Đường dẫn của phạm vi được cung cấp ‘%1$S’ không nằm trong phạm vi tối đa được phép ‘%2$S’. Điều chỉnh phạm vi, di chuyển tập lệnh Service Worker hoặc sử dụng Service-Worker-Allowed HTTP header để cho phép phạm vi.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker, %2$S is a stringified numeric HTTP status code like "404" and %3$S is a URL.
+ServiceWorkerRegisterNetworkError=Không thể đăng ký/cập nhật ServiceWorker cho phạm vi ‘%1$S’: Không tải được với trạng thái %2$S cho tập lệnh ‘%3$S’.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker, %2$S is a MIME Media Type like "text/plain" and %3$S is a URL.
+ServiceWorkerRegisterMimeTypeError2=Không thể đăng ký/cập nhật ServiceWorker cho phạm vi ‘%1$S’: Content-Type nhận được của ‘%2$S’ không hợp lệ cho tập lệnh ‘%3$S’. Phải là kiểu JavaScript MIME.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerRegisterStorageError=Không thể đăng ký/cập nhật ServiceWorker cho phạm vi ‘%S’: Quyền truy cập bộ nhớ bị hạn chế trong bối cảnh này do cài đặt người dùng hoặc chế độ duyệt web riêng tư.
+ServiceWorkerGetRegistrationStorageError=Không nhận được (các) đăng ký của service worker: Quyền truy cập bộ nhớ bị hạn chế trong ngữ cảnh này do cài đặt người dùng hoặc chế độ duyệt web riêng tư.
+ServiceWorkerGetClientStorageError=Không tải được service worker của (các) máy khách: Quyền truy cập bộ nhớ bị hạn chế trong ngữ cảnh này do cài đặt người dùng hoặc chế độ duyệt web riêng tư.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker" and "postMessage". %S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerPostMessageStorageError=ServiceWorker cho phạm vi ‘%S’ không thể thực thi ‘postMessage‘ vì quyền truy cập bộ nhớ bị hạn chế trong ngữ cảnh này do cài đặt người dùng hoặc chế độ duyệt web riêng tư.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerGraceTimeoutTermination=Đang chấm dứt ServiceWorker cho phạm vi ‘%1$S’ với promises đang chờ xử lý waitUntil/respondWith vì hết thời gian gia hạn.
+# LOCALIZATION NOTE (ServiceWorkerNoFetchHandler): Do not translate "Fetch".
+ExecCommandCutCopyDeniedNotInputDriven=document.execCommand(‘cut’/‘copy’) đã bị từ chối vì nó không được gọi từ bên trong một event handler ngắn do người dùng tạo đang chạy.
+ManifestIdIsInvalid=Id member không phân giải thành một URL hợp lệ.
+ManifestIdNotSameOrigin=Id member phải có cùng nguồn gốc với start_url member.
+ManifestShouldBeObject=Manifest nên là một đối tượng.
+ManifestScopeURLInvalid=URL phạm vi không hợp lệ.
+ManifestScopeNotSameOrigin=URL phạm vi phải cùng origin với tài liệu.
+ManifestStartURLOutsideScope=URL bắt đầu nằm ngoài phạm vi, vì vậy phạm vi không hợp lệ.
+ManifestStartURLInvalid=URL bắt đầu không hợp lệ.
+ManifestStartURLShouldBeSameOrigin=URL bắt đầu phải cùng origin với tài liệu.
+# LOCALIZATION NOTE: %1$S is the name of the object whose property is invalid. %2$S is the name of the invalid property. %3$S is the expected type of the property value. E.g. "Expected the manifest's start_url member to be a string."
+# LOCALIZATION NOTE: %1$S is the name of the property whose value is invalid. %2$S is the (invalid) value of the property. E.g. "theme_color: 42 is not a valid CSS color."
+ManifestInvalidCSSColor=%1$S: %2$S không phải là màu CSS hợp lệ.
+# LOCALIZATION NOTE: %1$S is the name of the property whose value is invalid. %2$S is the (invalid) value of the property. E.g. "lang: 42 is not a valid language code."
+ManifestLangIsInvalid=%1$S: %2$S không phải là mã ngôn ngữ hợp lệ.
+# LOCALIZATION NOTE: %1$S is the name of the parent property whose value is invalid (e.g., "icons"). %2$S is the index of the image object that is invalid (from 0). %3$S is the name of actual member that is invalid. %4$S is the invalid value. E.g. "icons item at index 2 is invalid. The src member is an invalid URL http://:Invalid"
+# LOCALIZATION NOTE: %1$S is the name of the parent property that that contains the unusable image object (e.g., "icons"). %2$S is the index of the image object that is unusable (from 0). E.g. "icons item at index 2 lacks a usable purpose. It will be ignored."
+# LOCALIZATION NOTE: %1$S is the name of the parent property that contains the unsupported value (e.g., "icons"). %2$S is the index of the image object that has the unsupported value (from 0). %3$S are the unknown purposes. E.g. "icons item at index 2 includes unsupported purpose(s): a b."
+# LOCALIZATION NOTE: %1$S is the name of the parent property that has a repeated purpose (e.g., "icons"). %2$S is the index of the image object that has the repeated purpose (from 0). %3$S is the repeated purposes. E.g. "icons item at index 2 includes repeated purpose(s): a b."
+PatternAttributeCompileFailure=Không thể kiểm tra <input pattern='%S'> vì pattern không phải là regexp hợp lệ: %S
+# LOCALIZATION NOTE: Do not translate "postMessage" or DOMWindow. %S values are origins, like https://domain.com:port
+TargetPrincipalDoesNotMatch=Không thể thực thi ‘postMessage’ trên ‘DOMWindow’: Origin đích được cung cấp (‘%S’) không khớp với origin của cửa sổ người nhận (‘%S’).
+# LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
+RewriteYouTubeEmbed=Đang viết lại YouTube Flash nhúng (%S) thành iframe nhúng (%S). Vui lòng cập nhật trang để sử dụng iframe thay thế cho embed/object, nếu có thể.
+# LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
+RewriteYouTubeEmbedPathParams=Đang viết lại YouTube Flash nhúng (%S) thành iframe nhúng (%S). Các tham số không được hỗ trợ bởi iframe nhúng và đã chuyển đổi. Vui lòng cập nhật trang để sử dụng iframe thay thế cho embed/object, nếu có thể.
+# LOCALIZATION NOTE: This error is reported when the "Encryption" header for an
+# incoming push message is missing or invalid. Do not translate "ServiceWorker",
+# "Encryption", and "salt". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncryptionHeader=ServiceWorker cho phạm vi ‘%1$S’ không thể giải mã thông báo đẩy. Tiêu đề ‘Encryption’ phải bao gồm một tham số ‘salt‘ duy nhất cho mỗi thông báo. Xem tại https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 để biết thêm thông tin.
+# LOCALIZATION NOTE: This error is reported when the "Crypto-Key" header for an
+# incoming push message is missing or invalid. Do not translate "ServiceWorker",
+# "Crypto-Key", and "dh". %1$S is the ServiceWorker scope URL.
+PushMessageBadCryptoKeyHeader=ServiceWorker cho phạm vi ‘%1$S’ không thể giải mã thông báo đẩy. Tiêu đề ‘Crypto-Key‘ phải bao gồm tham số ‘dh‘ chứa khóa công khai của máy chủ ứng dụng. Xem tại https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 để biết thêm thông tin.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt because the deprecated
+# "Encryption-Key" header for an incoming push message is missing or invalid.
+# Do not translate "ServiceWorker", "Encryption-Key", "dh", "Crypto-Key", and
+# "Content-Encoding: aesgcm". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncryptionKeyHeader=ServiceWorker cho phạm vi ‘%1$S’ không thể giải mã thông báo đẩy. Header ‘Encryption-Key’ phải bao gồm tham số ‘dh‘. Header này đã dừng phát triển và sẽ sớm bị xóa. Vui lòng sử dụng ‘Crypto-Key‘ với ‘Content-Encoding: aesgcm‘ để thay thế. Xem tại https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 để biết thêm thông tin.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "Content-Encoding" header is missing or contains an
+# unsupported encoding. Do not translate "ServiceWorker", "Content-Encoding",
+# "aesgcm", and "aesgcm128". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncodingHeader=ServiceWorker cho phạm vi ‘%1$S’ không giải mã được thông báo đẩy. Header ‘Content-Encoding‘ phải là ‘aesgcm‘. ‘aesgcm128‘ được cho phép, nhưng đã dừng phát triển và sẽ sớm bị xóa. Xem https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-2 để biết thêm thông tin.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "dh" parameter is not valid base64url. Do not translate
+# "ServiceWorker", "dh", "Crypto-Key", and "base64url". %1$S is the
+# ServiceWorker scope URL.
+PushMessageBadSenderKey=ServiceWorker cho phạm vi ‘%1$S’ không giải mã được thông báo đẩy. Tham số ‘dh‘ trong header ‘Crypto-Key‘ phải là khóa công khai Diffie-Hellman của máy chủ ứng dụng, được mã hóa base64url (https://tools.ietf.org/html/rfc7515#appendix-C) và ở dạng “uncompressed” hoặc “raw” (65 byte trước khi mã hóa). Xem https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 để biết thêm thông tin.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "salt" parameter is not valid base64url. Do not translate
+# "ServiceWorker", "salt", "Encryption", and "base64url". %1$S is the
+# ServiceWorker scope URL.
+PushMessageBadSalt=ServiceWorker cho phạm vi ‘%1$S’ không giải mã được thông báo đẩy. Tham số ‘salt’ trong header ‘Encryption’ phải được mã hóa base64url (https://tools.ietf.org/html/rfc7515#appendix-C), và có ít nhất 16 byte trước khi mã hóa. Xem https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 để biết thêm thông tin.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "rs" parameter is not a number, or is less than the pad size.
+# Do not translate "ServiceWorker", "rs", or "Encryption". %1$S is the
+# ServiceWorker scope URL. %2$S is the minimum value (1 for aesgcm128, 2 for
+# aesgcm).
+PushMessageBadRecordSize=ServiceWorker cho phạm vi ‘%1$S’ không giải mã được thông báo đẩy. Tham số ‘rs‘ của header ‘Encryption‘ phải nằm trong khoảng %2$S đến 2^36-31 hoặc bị bỏ qua hoàn toàn. Xem https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 để biết thêm thông tin.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because an encrypted record is shorter than the pad size, the pad is larger
+# than the record, or any of the padding bytes are non-zero. Do not translate
+# "ServiceWorker". %1$S is the ServiceWorker scope URL. %2$S is the pad size
+# (1 for aesgcm128, 2 for aesgcm).
+PushMessageBadPaddingError=ServiceWorker cho phạm vi ‘%1$S’ không giải mã được thông báo đẩy. Bản ghi trong thông báo được mã hóa không được pad chính xác. Xem https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-2 để biết thêm thông tin.
+# LOCALIZATION NOTE: This error is reported when push message decryption fails
+# and no specific error info is available. Do not translate "ServiceWorker".
+# %1$S is the ServiceWorker scope URL.
+PushMessageBadCryptoError=ServiceWorker cho phạm vi ‘%1$S’ không giải mã được thông báo đẩy. Để được trợ giúp về mã hóa, vui lòng xem https://developer.mozilla.org/docs/Web/API/Push_API/Using_the_Push_API#Encryption
+# LOCALIZATION NOTE: %1$S is the type of a DOM event. 'passive' is a literal parameter from the DOM spec.
+PreventDefaultFromPassiveListenerWarning=Đang bỏ qua lệnh gọi ‘preventDefault()’ trong sự kiện của kiểu ‘%1$S’ từ một listener được đăng ký là ‘passive’.
+# LOCALIZATION NOTE: 'ImageBitmapRenderingContext.transferImageBitmap' and 'ImageBitmapRenderingContext.transferFromImageBitmap' should not be translated
+ImageBitmapRenderingContext_TransferImageBitmapWarning=ImageBitmapRenderingContext.transferImageBitmap đã dừng phát triển và sẽ sớm bị xóa. Sử dụng ImageBitmapRenderingContext.transferFromImageBitmap để thay thế.
+IIRFilterChannelCountChangeWarning=Các thay đổi về số lượng kênh IIRFilterNode có thể tạo ra sự cố âm thanh.
+BiquadFilterChannelCountChangeWarning=Các thay đổi về số lượng kênh BiquadFilterNode có thể tạo ra sự cố âm thanh.
+# LOCALIZATION NOTE: Do not translate ".png"
+GenericImageNamePNG=ảnh.png
+GenericFileName=tập tin
+GeolocationInsecureRequestIsForbidden=Yêu cầu về vị trí địa lý chỉ có thể được thực hiện trong ngữ cảnh an toàn.
+NotificationsInsecureRequestIsForbidden=Quyền thông báo chỉ có thể được yêu cầu trong một bối cảnh an toàn.
+NotificationsCrossOriginIframeRequestIsForbidden=Quyền thông báo chỉ có thể được yêu cầu trong tài liệu top-level hoặc same-origin iframe.
+NotificationsRequireUserGestureDeprecationWarning=Yêu cầu quyền thông báo bên ngoài event handler ngắn đang chạy do người dùng tạo đã dừng phát triển và sẽ không được hỗ trợ trong tương lai.
+# LOCALIZATION NOTE: Do not translate "content", "Window", and "window.top"
+WindowContentUntrustedWarning=Thuộc tính ‘content’ của đối tượng Window đã dừng phát triển. Vui lòng sử dụng ‘window.top’ để thay thế.
+# LOCALIZATION NOTE: The first %S is the tag name of the element that starts the loop, the second %S is the element's ID.
+SVGRefLoopWarning=SVG <%S> với ID “%S” có một vòng lặp tham chiếu.
+# LOCALIZATION NOTE: The first %S is the tag name of the element in the chain where the chain was broken, the second %S is the element's ID.
+SVGRefChainLengthExceededWarning=Chuỗi tham chiếu SVG <%S> quá dài đã bị bỏ qua ở phần tử có ID “%S”.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceEmpty=Thuộc tính ‘%S’ của phần tử <script> bị trống.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceInvalidUri=Thuộc tính ‘%S’ của phần tử <script> không phải là URI hợp lệ: “%S”
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceLoadFailed=Không thể tải cho <script> với nguồn “%S”.
+ModuleSourceLoadFailed=Không thể tải module có nguồn “%S”.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceMalformed=URI nguồn <script> không đúng định dạng: “%S”.
+ModuleSourceMalformed=URI nguồn module không đúng định dạng: “%S”.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceNotAllowed=URI nguồn <script> không được phép trong tài liệu này: “%S”.
+ModuleSourceNotAllowed=URI nguồn module không được phép trong tài liệu này: “%S”.
+WebExtContentScriptModuleSourceNotAllowed=Nội dung tập lệnh WebExtension chỉ có thể tải các module với moz-extension URLs hoặc không: “%S”.
+ModuleResolveFailure=Lỗi khi giải quyết thông số module “%S”. Các thông số module tương đối phải bắt đầu bằng “./”, “../” hoặc “/”.
+ModuleResolveFailureNoWarn=Lỗi khi giải quyết thông số module “%S”.
+ModuleResolveFailureWarnRelative=Lỗi khi giải quyết thông số module “%S”. Các thông số module tương đối phải bắt đầu bằng “./”, “../” hoặc “/”.
+ImportMapAddressesNotStrings=Địa chỉ cần phải là chuỗi.
+ImportMapInvalidAddress=Địa chỉ “%S” không hợp lệ.
+# %1$S is the specifier key, %2$S is the URL.
+# LOCALIZATION NOTE: %1$S is the invalid property value and %2$S is the property name.
+# LOCALIZATION NOTE: Do not translate "ReadableStream".
+ReadableStreamReadingFailed=Không thể đọc dữ liệu từ ReadableStream: “%S”.
+# LOCALIZATION NOTE: Do not translate "registerProtocolHandler"
+RegisterProtocolHandlerPrivateBrowsingWarning=Không thể sử dụng registerProtocolHandler trong chế độ duyệt web riêng tư.
+MotionEventWarning=Các cảm biến chuyển động đã dừng phát triển.
+OrientationEventWarning=Các cảm biến định hướng đã dừng phát triển.
+ProximityEventWarning=Các cảm biến tiệm cận đã dừng phát triển.
+AmbientLightEventWarning=Các cảm biến ánh sáng xung quanh đã dừng phát triển.
+# LOCALIZATION NOTE: Do not translate "storage", "indexedDB.open" and "navigator.storage.persist()".
+IDBOpenDBOptions_StorageTypeWarning=Thuộc tính ‘storage’ trong tùy chọn được truyền cho indexedDB.open đã dừng phát triển và sẽ sớm bị xóa. Để có được dung lượng lưu trữ liên tục, vui lòng sử dụng navigator.storage.persist() để thay thế.
+UnsupportedEntryTypesIgnored=Bỏ qua entryTypes không được hỗ trợ: %S.
+AllEntryTypesIgnored=Không có entryTypes hợp lệ; hủy bỏ đăng ký.
+# LOCALIZATION NOTE: do not localize key=“%S” modifiers=“%S” id=“%S”
+# LOCALIZATION NOTE: do not trnaslated "document.domain"
+
+#LOCALIZATION NOTE(DeprecatedTestingInterfaceWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingInterfaceWarning=TestingDeprecatedInterface là giao diện chỉ thử nghiệm và đây là thông báo thử nghiệm đã dừng phát triển.
+#LOCALIZATION NOTE(DeprecatedTestingMethodWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingMethodWarning=TestingDeprecatedInterface.deprecatedMethod() là phương thức chỉ thử nghiệm và đây là thông báo thử nghiệm đã dừng phát triển.
+#LOCALIZATION NOTE(DeprecatedTestingAttributeWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingAttributeWarning=TestingDeprecatedInterface.deprecatedAttribute là thuộc tính chỉ thử nghiệm và đây là thông báo thử nghiệm đã dừng phát triển.
+# LOCALIZATION NOTE (CreateImageBitmapCanvasRenderingContext2DWarning): Do not translate CanvasRenderingContext2D and createImageBitmap.
+CreateImageBitmapCanvasRenderingContext2DWarning=CanvasRenderingContext2D trong createImageBitmap đã dừng phát triển.
+# LOCALIZATION NOTE (DrawWindowCanvasRenderingContext2DWarning): Do not translate CanvasRenderingContext2D, drawWindow and tabs.captureTab.
+DrawWindowCanvasRenderingContext2DWarning=Phương thức drawWindow từ CanvasRenderingContext2D đã dừng phát triển. Sử dụng API tiện ích mở rộng tabs.captureTab để thay thế https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/tabs/captureTab
+# LOCALIZATION NOTE (MozRequestFullScreenDeprecatedPrefixWarning): Do not translate mozRequestFullScreen.
+MozRequestFullScreenDeprecatedPrefixWarning=mozRequestFullScreen() đã dừng phát triển.
+# LOCALIZATION NOTE (MozfullscreenchangeDeprecatedPrefixWarning): Do not translate onmozfullscreenchange.
+MozfullscreenchangeDeprecatedPrefixWarning=onmozfullscreenchange đã dừng phát triển.
+# LOCALIZATION NOTE (MozfullscreenerrorDeprecatedPrefixWarning): Do not translate onmozfullscreenerror.
+MozfullscreenerrorDeprecatedPrefixWarning=onmozfullscreenerror đã dừng phát triển.
+# LOCALIZATION NOTE(External_AddSearchProviderWarning): Do not translate AddSearchProvider.
+External_AddSearchProviderWarning=AddSearchProvider đã dừng phát triển.
+# LOCALIZATION NOTE: Do not translate "MouseEvent.mozPressure" and "PointerEvent.pressure".
+MouseEvent_MozPressureWarning=MouseEvent.mozPressure đã dừng phát triển. Sử dụng PointerEvent.pressure để thay thế.
+# LOCALIZATION NOTE: Do not translate MathML, align, numalign and denomalign.
+MathML_DeprecatedAlignmentAttributesWarning=Các thuộc tính MathML “align”, “numalign” và “denomalign” là các giá trị đã dừng phát triển và sẽ bị xóa trong tương lai.
+# LOCALIZATION NOTE: Do not translate MathML and bevelled.
+MathML_DeprecatedBevelledAttribute=Thuộc tính MathML “bevelled” đã dừng phát triển và sẽ bị xóa trong tương lai.
+# LOCALIZATION NOTE: Do not translate thin, medium, thick and linethickness.
+MathML_DeprecatedLineThicknessValueWarning=“thin”, “medium” và “thick” là các giá trị đã dừng phát triển và sẽ bị xóa trong tương lai.
+# LOCALIZATION NOTE: Do not translate small, normal, big and mathsize.
+MathML_DeprecatedMathSizeValueWarning=“small”, “normal” và “big” là các giá trị đã dừng phát triển và sẽ bị xóa trong tương lai.
+# LOCALIZATION NOTE: Do not translate veryverythinmathspace, verythinmathspace,
+# thinmathspace, mediummathspace, thickmathspace, verythickmathspace, veryverythickmathspace and MathML.
+MathML_DeprecatedMathSpaceValueWarning=“veryverythinmathspace”, “verythinmathspace”, “thinmathspace”, “mediummathspace”, “thickmathspace”, “verythickmathspace” và “veryverythickmathspace” là các giá trị đã dừng phát triển cho MathML lengths và sẽ bị xóa trong tương lai.
+# LOCALIZATION NOTE: Do not translate radical, notation and menclose.
+MathML_DeprecatedMencloseNotationRadical=Giá trị “radical” đã dừng phát triển cho thuộc tính “notation” của phần tử <menclose> và sẽ bị xóa trong tương lai.
+# LOCALIZATION NOTE: Do not translate MathML or mfenced.
+MathML_DeprecatedMfencedElement=Phần tử MathML mfenced đã dừng phát triển và sẽ bị xóa trong tương lai.
+# LOCALIZATION NOTE: Do not translate MathML, subscriptshift and superscriptshift.
+MathML_DeprecatedScriptShiftAttributes=Thuộc tính MathML “subscriptshift” và “superscriptshift” đã dừng phát triên và có thể bị xóa trong tương lai.
+# LOCALIZATION NOTE: Do not translate MathML, background, color, fontfamily, fontsize, fontstyle and fontweight.
+MathML_DeprecatedStyleAttributeWarning=Các thuộc tính MathML “background”, “color”, “fontfamily”, “fontsize”, “fontstyle” và “fontweight” đã dừng phát triển và sẽ bị xóa trong tương lai.
+# LOCALIZATION NOTE: Do not translate MathML and STIXGeneral. %S is a documentation URL.
+MathML_DeprecatedStixgeneralOperatorStretchingWarning=Hỗ trợ hiển thị các toán tử MathML kéo dài với phông chữ STIXGeneral đã dừng phát triển và có thể bị xóa trong tương lai. Để biết chi tiết về các phông chữ mới hơn sẽ tiếp tục được hỗ trợ, hãy xem %S
+# LOCALIZATION NOTE: Do not translate MathML and scriptminsize.
+MathML_DeprecatedScriptminsizeAttributeWarning=Thuộc tính MathML “scriptminsize” không được dùng nữa và sẽ bị xóa trong tương lai.
+# LOCALIZATION NOTE: Do not translate MathML and scriptsizemultiplier.
+MathML_DeprecatedScriptsizemultiplierAttributeWarning=Thuộc tính MathML “scriptsizemultiplier” không được dùng nữa và sẽ bị xóa trong tương lai.
+FormSubmissionUntrustedEventWarning=Gửi biểu mẫu thông qua sự kiện gửi không đáng tin cậy không được dùng nữa và sẽ bị xóa trong tương lai.
+WebShareAPI_Failed=Thao tác chia sẻ thất bại.
+WebShareAPI_Aborted=Hoạt động chia sẻ đã bị hủy bỏ.
+# LOCALIZATION NOTE (UnknownProtocolNavigationPrevented): %1$S is the destination URL.
+UnknownProtocolNavigationPrevented=Điều hướng đến “%1$S” bị chặn do giao thức không xác định.
+# LOCALIZATION NOTE: %S is the URL of the resource in question
+
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), iframe, allow-same-origin and sandbox (though you may translate "sandboxed").
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), iframe, allow-storage-access-by-user-activation and sandbox (though you may translate "sandboxed").
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess() and iframe.
+RequestStorageAccessNested=document.requestStorageAccess() không thể được gọi trong một iframe lồng nhau.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(). In some locales it may be preferable to not translate "event handler", either.
+# LOCALIZATION NOTE: Do not translate "Location" and "History".
+LocChangeFloodingPrevented=Quá nhiều lệnh gọi đến các API vị trí hoặc lịch sử trong một khung thời gian ngắn.
+FolderUploadPrompt.title = Xác nhận tải lên
+# LOCALIZATION NOTE: %S is the name of the folder the user selected in the file picker.
+FolderUploadPrompt.message = Bạn có chắc chắn muốn tải lên tất cả các tệp từ “%S” không? Chỉ làm điều này nếu bạn tin tưởng trang web.
+FolderUploadPrompt.acceptButtonLabel = Tải lên
+InputPickerBlockedNoUserActivation=Bộ chọn <input> đã bị chặn do thiếu người dùng kích hoạt.
+ExternalProtocolFrameBlockedNoUserActivation=Iframe với giao thức bên ngoài đã bị chặn do thiếu người dùng kích hoạt hoặc do chưa đủ thời gian kể từ khi iframe đó được tải lần cuối.
+MultiplePopupsBlockedNoUserActivation=Việc mở nhiều cửa sổ bật lên đã bị chặn do thiếu người dùng kích hoạt.
+# LOCALIZATION NOTE: %S is the URL of the preload that was ignored.
+PreloadIgnoredInvalidAttr=Tải trước của %S đã bị bỏ qua do không rõ giá trị “as” hoặc “type”, hoặc không khớp thuộc tính “media”.
+# LOCALIZATION NOTE: %S is the blob URL. Don't translate "agent cluster".
+BlobDifferentClusterError=Không thể truy cập URL blob “%S” từ một agent cluster khác.
+# LOCALIZATION NOTE: Do not translate "Element.setCapture()" and "Element.setPointerCapture()"".
+ElementSetCaptureWarning=Element.setCapture() đã dừng phát triển. Sử dụng Element.setPointerCapture() để thay thế. Để thêm trợ giúp, hãy xem https://developer.mozilla.org/docs/Web/API/Element/setPointerCapture
+# LOCALIZATION NOTE: Do not translate "Element.releaseCapture()" and "Element.releasePointerCapture()".
+ElementReleaseCaptureWarning=Element.releaseCapture() đã dừng phát triển. Sử dụng Element.releasePointerCapture() để thay thế. Để thêm trợ giúp, hãy xem https://developer.mozilla.org/docs/Web/API/Element/releasePointerCapture
+# LOCALIZATION NOTE: Do not translate "Document.releaseCapture()" and "Element.releasePointerCapture()".
+DocumentReleaseCaptureWarning=Document.releaseCapture() đã dừng phát triển. Sử dụng Element.releasePointerCapture() để thay thế. Để thêm trợ giúp, hãy xem https://developer.mozilla.org/docs/Web/API/Element/releasePointerCapture
+
+# LOCALIZATION NOTE: Don't translate browser.runtime.lastError, %S is the error message from the unchecked value set on browser.runtime.lastError.
+WebExtensionUncheckedLastError=Giá trị browser.runtime.lastError không được check: %S
+
+# LOCALIZATION NOTE: Do not translate "OffscreenCanvas.toBlob()" and "OffscreenCanvas.convertToBlob()".
+OffscreenCanvasToBlobWarning=OffscreenCanvas.toBlob() đã dừng phát triển. Sử dụng OffscreenCanvas.convertToBlob() để thay thế.
+
+# LOCALIZATION NOTE: Do not translate "IDBDatabase.createMutableFile()"
+IDBDatabaseCreateMutableFileWarning=IDBDatabase.createMutableFile() đã dừng phát triển. Nếu API này được chuẩn hóa, nó có thể sẽ làm như vậy dưới Origin Private File System tại https://bugzil.la/1748667.
+# LOCALIZATION NOTE: Do not translate "IDBMutableFile.open()"
+IDBMutableFileOpenWarning=IDBMutableFile.open() đã dừng phát triển. Nếu API này được chuẩn hóa, nó có thể sẽ làm như vậy dưới Origin Private File System tại https://bugzil.la/1748667.
+
+# LOCALIZATION NOTE: Do not translate "InstallTrigger"
+InstallTriggerDeprecatedWarning=InstallTrigger đã dừng phát triển và sẽ bị xóa trong tương lai.
+# LOCALIZATION NOTE: Do not translate "InstallTrigger.install()"
+InstallTriggerInstallDeprecatedWarning=InstallTrigger.install() đã dừng phát triển và sẽ bị xóa trong tương lai. Để được trợ giúp thêm, hãy xem https://extensionworkshop.com/documentation/publish/self-distribution/
+
+# LOCALIZATION NOTE: Do not translate "mozCurrentTransform", "CanvasRenderingContext2D.getTransform()", and "CanvasRenderingContext2D.setTransform()".
+# LOCALIZATION NOTE: Do not translate "mozCurrentTransformInverse", "CanvasRenderingContext2D.getTransform()", and "CanvasRenderingContext2D.setTransform()".
+
diff --git a/l10n-vi/dom/chrome/global-strres.properties b/l10n-vi/dom/chrome/global-strres.properties
new file mode 100644
index 0000000000..2ef36d887e
--- /dev/null
+++ b/l10n-vi/dom/chrome/global-strres.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+16389=Không xác định được lỗi gì đã xảy ra (%1$S)
diff --git a/l10n-vi/dom/chrome/global.dtd b/l10n-vi/dom/chrome/global.dtd
new file mode 100644
index 0000000000..661fb351f4
--- /dev/null
+++ b/l10n-vi/dom/chrome/global.dtd
@@ -0,0 +1,5 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY locale.dir "ltr">
diff --git a/l10n-vi/dom/chrome/layout/HtmlForm.properties b/l10n-vi/dom/chrome/layout/HtmlForm.properties
new file mode 100644
index 0000000000..b334d7b203
--- /dev/null
+++ b/l10n-vi/dom/chrome/layout/HtmlForm.properties
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+Reset=Đặt lại
+Submit=Gửi truy vấn
+Browse=Chọn tập tin…
+FileUpload=Tải lên một tập tin
+DirectoryUpload=Chọn thư mục để tải lên
+DirectoryPickerOkButtonLabel=Tải lên
+ForgotPostWarning=Form có chứa enctype=%S, nhưng không chứa method=post. Chương trình sẽ gửi form với method=GET và không dùng enctype.
+ForgotFileEnctypeWarning=Form có chứa tập tin để gửi lên, nhưng thiếu method=POST và enctype=multipart/form-data trên. Tập tin này sẽ không được gửi đi.
+# LOCALIZATION NOTE (DefaultFormSubject): %S will be replaced with brandShortName
+DefaultFormSubject=Gửi Post từ %S
+CannotEncodeAllUnicode=Một biểu mẫu vừa được gửi với bảng mã %S. Bảng mã này không thể mã hóa được tất cả các ký tự unicode, vì vậy thông tin gửi lên có thể bị lỗi. Để tránh vấn đề này, trang web cần được sửa để biểu mẫu được gửi với bảng mã UTF-8, hoặc làm cho toàn bộ trang dùng UTF-8, hoặc định rõ thuộc tính accept-charset=utf-8 vào phần tử của biểu mẫu.
+AllSupportedTypes=Tất cả các kiểu được hỗ trợ
+# LOCALIZATION NOTE (NoFileSelected): this string is shown on a
+# <input type='file'> when there is no file selected yet.
+NoFileSelected=Chưa chọn tập tin.
+# LOCALIZATION NOTE (NoFilesSelected): this string is shown on a
+# <input type='file' multiple> when there is no file selected yet.
+NoFilesSelected=Chưa chọn tập tin.
+# LOCALIZATION NOTE (NoDirSelected): this string is shown on a
+# <input type='file' directory/webkitdirectory> when there is no directory
+# selected yet.
+NoDirSelected=Không thư mục nào được chọn.
+# LOCALIZATION NOTE (XFilesSelected): this string is shown on a
+# <input type='file' multiple> when there are more than one selected file.
+# %S will be a number greater or equal to 2.
+XFilesSelected=%S tập tin được chọn.
+ColorPicker=Chọn màu
+# LOCALIZATION NOTE (AndNMoreFiles): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This string is shown at the end of the tooltip text for <input type='file'
+# multiple> when there are more than 21 files selected (when we will only list
+# the first 20, plus an "and X more" line). #1 represents the number of files
+# minus 20 and will always be a number equal to or greater than 2. So the
+# singular case will never be used.
+AndNMoreFiles=và #1 cái nữa
+# LOCALIZATION NOTE (DefaultSummary): this string is shown on a <details> when
+# it has no direct <summary> child. Google Chrome should already have this
+# string translated.
+DefaultSummary=Chi tiết
diff --git a/l10n-vi/dom/chrome/layout/MediaDocument.properties b/l10n-vi/dom/chrome/layout/MediaDocument.properties
new file mode 100644
index 0000000000..e94a34126f
--- /dev/null
+++ b/l10n-vi/dom/chrome/layout/MediaDocument.properties
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#LOCALIZATION NOTE (ImageTitleWithDimensions2AndFile): first %S is filename, second %S is type, third %S is width and fourth %S is height
+#LOCALIZATION NOTE (ImageTitleWithoutDimensions): first %S is filename, second %S is type
+#LOCALIZATION NOTE (ImageTitleWithDimensions2): first %S is type, second %S is width and third %S is height
+#LOCALIZATION NOTE (ImageTitleWithNeitherDimensionsNorFile): first %S is type
+#LOCALIZATION NOTE (MediaTitleWithFile): first %S is filename, second %S is type
+#LOCALIZATION NOTE (MediaTitleWithNoInfo): first %S is type
+ImageTitleWithDimensions2AndFile=%S (Ảnh %S, %S × %S pixel)
+ImageTitleWithoutDimensions=%S (Ảnh %S)
+ImageTitleWithDimensions2=(Ảnh %S, %Sx%S pixels)
+ImageTitleWithNeitherDimensionsNorFile=(Ảnh %S)
+MediaTitleWithFile=%S (Đối tượng %S)
+MediaTitleWithNoInfo=(Đối tượng %S)
+
+InvalidImage=Ảnh “%S” không hiển thị được, vì nó chứa lỗi.
+UnsupportedImage=Không thể hiển thị hình ảnh “%S” vì nó yêu cầu các tính năng không được hỗ trợ.
+ScaledImage=Đã chỉnh tỉ lệ (%S%%)
+
+TitleWithStatus=%S - %S
diff --git a/l10n-vi/dom/chrome/layout/css.properties b/l10n-vi/dom/chrome/layout/css.properties
new file mode 100644
index 0000000000..030a86a1c2
--- /dev/null
+++ b/l10n-vi/dom/chrome/layout/css.properties
@@ -0,0 +1,45 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+MimeNotCss=Stylesheet %1$S không tải được vì kiểu MIME của nó, "%2$S", không phải là "text/css".
+MimeNotCssWarn=Stylesheet %1$S vẫn tải được ở dạng CSS mặc dù kiểu MIME, "%2$S", không phải là "text/css".
+
+PEDeclDropped=Khai báo bị bỏ.
+PEDeclSkipped=Nhảy sang khai báo kế tiếp.
+PEUnknownProperty=Không rõ thuộc tính '%1$S'.
+PEValueParsingError=Lỗi trong khi phân tích giá trị cho '%1$S'.
+PEUnknownAtRule=Không nhận dạng at-rule hoặc lỗi phân tích at-rule '%1$S'.
+PEMQUnexpectedOperator=Toán tử lỗi trong danh sách phương tiện.
+PEMQUnexpectedToken=Token lỗi ‘%1$S’ trong danh sách phương tiện.
+PEAtNSUnexpected=Token lỗi trong @namespace: '%1$S'.
+PEKeyframeBadName=Cần định danh cho tên của quy tắc @keyframes.
+PEBadSelectorRSIgnored=Bộ quy tắc bị bỏ qua do bộ chọn tồi.
+PEBadSelectorKeyframeRuleIgnored=Quy tắc Keyframe đã bị bỏ qua do selector không hợp lệ.
+PESelectorGroupNoSelector=Cần selector.
+PESelectorGroupExtraCombinator=Kết hợp Dangling
+PEClassSelNotIdent=Cần định danh cho lớp selector nhưng lại thấy '%1$S'.
+PETypeSelNotType=Cần tên thành phần hoặc '*' nhưng lại thấy '%1$S'.
+PEUnknownNamespacePrefix=Không rõ tiền tố namespace '%1$S'.
+PEAttributeNameExpected=Cần định danh cho tên thuộc tính nhưng lại thấy '%1$S'.
+PEAttributeNameOrNamespaceExpected=Cần tên thuộc tính hoặc namespace nhưng lại thấy '%1$S'.
+PEAttSelNoBar=Cần '|' nhưng lại thấy '%1$S'.
+PEAttSelUnexpected=Dấu thừa trong thuộc tính selector: '%1$S'.
+PEAttSelBadValue=Cần định danh hoặc chuỗi cho giá trị trong attribute selector nhưng lại thấy '%1$S'.
+PEPseudoSelBadName=Cần định danh cho pseudo-class hoặc pseudo-element nhưng lại thấy '%1$S'.
+PEPseudoSelEndOrUserActionPC=Yêu cầu kết thúc bộ chọn hoặc hành động người dùng pseudo-class sau pseudo-element nhưng lại thấy ‘%1$S’.
+PEPseudoSelUnknown=Không rõ pseudo-class hoặc pseudo-element '%1$S'.
+PEPseudoClassArgNotIdent=Cần định danh cho tham số pseudo-class nhưng lại thấy '%1$S'.
+PEColorNotColor=Cần color nhưng lại thấy '%1$S'.
+PEParseDeclarationDeclExpected=Cần declaration nhưng lại thấy '%1$S'.
+PEUnknownFontDesc=Không rõ descriptor '%1$S' trong quy tắc @font-face.
+PEMQExpectedFeatureName=Yêu cầu tên chức năng đa phương tiện nhưng lại thấy '%1$S'.
+PEMQNoMinMaxWithoutValue=Tính năng đa phương tiện với min- hoặc max- phải có một giá trị.
+PEMQExpectedFeatureValue=Đã tìm thấy giá trị không hợp lệ đối với tính năng đa phương tiện.
+PEExpectedNoneOrURL=Yêu cầu ‘none’ hoặc URL nhưng lại thấy ‘%1$S’.
+PEExpectedNoneOrURLOrFilterFunction=Yêu cầu ‘none’, URL, hoặc hàm bộ lọc nhưng lại thấy ‘%1$S’.
+PEDisallowedImportRule=Quy tắc @import hiện chưa hợp lệ trong stylesheets được xây dựng.
+PENeverMatchingHostSelector=Selector :host trong ‘%S’ không hữu dụng và sẽ không bao giờ khớp kết quả. Có thể bạn muốn sử dụng :host()?
+
+TooLargeDashedRadius=Border radius quá lớn với kiểu ‘dashed’ (giới hạn là 100000px). Đang render với kiểu solid.
+TooLargeDottedRadius=Border radius quá lớn với kiểu ‘dotted’ (giới hạn là 100000px). Đang render với kiểu solid.
diff --git a/l10n-vi/dom/chrome/layout/htmlparser.properties b/l10n-vi/dom/chrome/layout/htmlparser.properties
new file mode 100644
index 0000000000..55e15c80f1
--- /dev/null
+++ b/l10n-vi/dom/chrome/layout/htmlparser.properties
@@ -0,0 +1,129 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Encoding warnings and errors
+EncNoDeclarationFrame=Bảng mã của một tài liệu trong khung chưa được định nghĩa. Tài liệu có thể xuất hiện khác nếu xem ngoài khung.
+EncXmlDecl=Mã hóa ký tự của tài liệu HTML được khai báo bằng cú pháp khai báo XML. Điều này là không phù hợp và việc khai báo mã hóa bằng thẻ meta ở phần đầu của thẻ head sẽ hiệu quả hơn.
+EncMetaUnsupported=Mã hóa kí tự không được hỗ trợ được khai báo trong thẻ meta của tài liệu HTML. Sự khai báo này không được chấp nhận.
+EncProtocolUnsupported=Mã hóa kí tự không được hỗ trợ được khai báo ở tầng giao thức truyền dữ liêu. Sự khai báo này không được chấp nhận.
+EncMetaUtf16=Một thẻ meta được dùng để khai báo kiểu mã hóa kí tự UTF-16. Khai báo UTF-8 được sự dụng để thay thế.
+EncMetaUserDefined=Thẻ meta được sử dụng để khai báo ký tự mã hóa x-user-defined. Nó cũng giống như việc khai báo một windows-1252 thay vì sự tương thích với các phông chữ truyền thống sai định dạng. Trang web này phải chuyển sang định dạng Unicode.
+# The audience of the following message isn't the author of the document but other people debugging browser behavior.
+
+# The bulk of the messages below are derived from
+# https://hg.mozilla.org/projects/htmlparser/file/1f633cef7de7/src/nu/validator/htmlparser/impl/ErrorReportingTokenizer.java
+# which is available under the MIT license.
+
+# Tokenizer errors
+errGarbageAfterLtSlash=Có ký tự rác sau “</”.
+errLtSlashGt=Thấy “</>”. Có thể do: unescaped “<” (escape ở dạng “&lt;”) hoặc viết sai thẻ kết thúc.
+errCharRefLacksSemicolon=Character reference không được kết thúc bởi dấu chấm phẩy.
+errNoDigitsInNCR=Không có chữ số nào trong tham chiếu ký tự.
+errGtInSystemId=thuộc về định danh hệ thống.
+errGtInPublicId=">" thuộc về định danh chung.\u0020
+errNamelessDoctype=Doctype không tên.
+errConsecutiveHyphens=Các dấu gạch ngang liên tiếp không kết thúc một ghi chú. “--” không được phép chứa bên trong một ghi chú, nhưng e.g. “- -” được phép.
+errPrematureEndOfComment=Ghi chú chưa được kết thúc. Sử dụng "-->" để kết thúc đúng một ghi chú.
+errBogusComment=Ghi chú giả.
+errUnquotedAttributeLt="<" là một giá trị chưa được quoted; có thể nguyên nhân là do thiếu ">" ngay trước đó.
+errUnquotedAttributeGrave="`" là một giá trị chưa được quoted; có thể nguyên nhân là do sử dụng sai ký tự dùng để quote.
+errUnquotedAttributeQuote=Dấu nháy (quote) xuất hiện trong thuộc tính unquoted. Nguyên nhân có thể: Hai hay nhiều thuộc tính được truyền cùng nhau hoặc một chuỗi truy vấn URL (URL query string) xuất hiện trong giá trị của một thuộc tính unquote.
+errUnquotedAttributeEquals=“=Ký tự " xuất hiện trong thuộc tính unquoted. Nguyên nhân có thể: Hai hay nhiều thuộc tính được truyền cùng nhau hoặc một chuỗi truy vấn URL (URL query string) xuất hiện trong giá trị của một thuộc tính unquote.
+errSlashNotFollowedByGt=A slash was not immediate followed by “>”.
+errNoSpaceBetweenAttributes=Không có khoảng trắng giữa các thuộc tính.
+errUnquotedAttributeStartLt=“<” at the start of an unquoted attribute value. Probable cause: Missing “>” immediately before
+errUnquotedAttributeStartGrave=Ký tự "`" bắt đầu giá trị một thuộc tính unquoted. Nguyên nhân có thể: Sử dụng sai ký tự dùng để quote.
+errUnquotedAttributeStartEquals=“=" xuất hiện ở vị trí bắt đầu của một giá trị thuộc tính không được trích dẫn. Nguyên nhân có thể: Thiếu mất cặp dấu bằng.
+errAttributeValueMissing=Giá trị thuộc tính bị thiếu.
+errBadCharBeforeAttributeNameLt=Dấu "<" xuất hiện thay vì tên thuộc tính. Nguyên nhân có thể: Thiếu mất dấu ">" ở phía trước.
+errEqualsSignBeforeAttributeName=Dấu "=" xuất hiện thay vì tên thuộc tính. Nguyên nhân có thể: Thuộc tính bị thiếu tên.
+errBadCharAfterLt=Ký tự sai sau “<”. Có thể do: Không thoát “<”. Hãy thử kết thúc với “&lt;”.
+errLtGt=Thấy “<>”. Có thể do: “<” không thoát (hãy thoát thành “&lt;”) hoặc viết sai thẻ bắt đầu.
+errProcessingInstruction=Xuất hiện "<?". Nguyên nhân có thể: Chỉ dẫn xử lý XML (XML processing instruction) được đặt trong HTML. (Trong HTML, chỉ dẫn xử lý XML không được hỗ trợ.)
+errUnescapedAmpersandInterpretedAsCharacterReference=Chuỗi sau “&” được hiểu là một ký tự tham chiếu. (“&” nên được thoát là “&amp;”.)
+errNotSemicolonTerminated=Ký tự đặc biệt được định nghĩa không kết thúc với một dấu chấm phẩy. (Hoặc "&" nên được thoát là “&amp;”.)
+errNoNamedCharacterMatch=“&” không bắt đâu một ký tự tham chiếu. (“&” nên được thoát là “&amp;”.)
+errQuoteBeforeAttributeName=Dấu nháy (quote) thay vì tên thuộc tính. Nguyên nhân có thể: Thiếu mất dấu "=" ở phía trước.
+errLtInAttributeName=Dấu "<" nằm trong tên thuộc tính. Nguyên nhân có thể: Thiếu mất đấu ">" ở phía trước.
+errQuoteInAttributeName=Xuất hiện dấu nháy (quote) trong tên thuộc tính. Nguyên nhân có thể: Ở phía trước số lượng dấu nháy không tạo thành đúng cặp.
+errExpectedPublicId=Doctype kết thúc tại vị trí lẽ ra thuộc về một public identifier (định danh công cộng).
+errBogusDoctype=Doctype không tồn tại.
+maybeErrAttributesOnEndTag=Thẻ kết thúc lại có thuộc tính.
+maybeErrSlashInEndTag=Dấu “/” thừa ở cuối thẻ kết thúc.
+errNcrNonCharacter=Character reference (ký tự tham chiếu) sẽ được biến đổi thành một non-character.
+errNcrSurrogate=Character reference (ký tự tham chiếu) sẽ được biến đổi thành một surrogate (đại diện).
+errNcrControlChar=Character reference (ký tự tham chiếu) sẽ được biến đổi thành một control character (ký tự điều khiển).
+errNcrCr=Một numeric character reference (ký tự tham chiếu số) được biến đổi thành dấu xuống dòng.
+errNcrInC1Range=Một numeric character reference (ký tự tham chiếu số) được biến đổi thành C1 controls range (miền điều khiển C1).
+errEofInPublicId=Cuối tập tin bên trong định danh công cộng.
+errEofInComment=Cuối tập tin bên trong lời chú thích.
+errEofInDoctype=Cuối tập tin bên trong doctype.
+errEofInAttributeValue=Kết thúc tập tin khi đang bên trong một giá trị thuộc tính. Loại bỏ thẻ.
+errEofInAttributeName=Kết thúc tập tin xảy ra bên trong một tên thuộc tính. Loại bỏ thẻ.
+errEofWithoutGt=Kết thúc tập tin trong khi thẻ trước đó không được kết thúc bởi ">". Loại bỏ thẻ.
+errEofInTagName=Thấy dấu hiệu kết thúc tập tin khi tìm kiếm tên thẻ. Bỏ qua thẻ.
+errEofInEndTag=Cuối tập tin bên trong thẻ đóng. Bỏ qua thẻ.
+errEofAfterLt=Cuối tập tin sau ký tự “<”.
+errNcrOutOfRange=Character reference (tham chiếu ký tự) nằm ngoài khoảng Unicode cho phép.
+errNcrUnassigned=Character reference (tham chiếu ký tự) biến đổi thành một permanent unassigned code point.
+errDuplicateAttribute=Trùng lặp thuộc tính.
+errEofInSystemId=Cuối tập tin bên trong định danh hệ thống.
+errExpectedSystemId=Thay vì một system identifier (định dang hệ thống) thì doctype lại kết thúc.
+errMissingSpaceBeforeDoctypeName=Thiếu khoảng trắng trước tên doctype.
+errNestedComment=Đã thấy “<!--” trong một bình luận. Nguyên nhân có thể xảy ra: Nhận xét lồng nhau (không được phép).
+errNcrZero=Character reference (tham chiếu ký tự) biến đổi số 0.
+errNoSpaceBetweenDoctypeSystemKeywordAndQuote=Không có khoảng trắng giữa từ khóa doctype "SYSTEM" và dấu nháy.
+errNoSpaceBetweenPublicAndSystemIds=Không có khoảng trắng giữa doctype public và system identifier (định dang hệ thống).
+errNoSpaceBetweenDoctypePublicKeywordAndQuote=Không có khoảng trắng giữa từ khóa doctype "PUBLIC" và dấu nháy.
+
+# Tree builder errors
+errDeepTree=Cây tài liệu quá sâu. Cây được làm phẳng đến độ sâu 513 yếu tố.
+errStrayStartTag2=Thẻ bắt đầu thừa “%1$S”.
+errStrayEndTag=Thẻ kết thúc thừa “%1$S”.
+errUnclosedElements=Tìm thấy thẻ kết thúc “%1$S” nhưng vẫn còn phần tử đang mở.
+errUnclosedElementsImplied=Thẻ kết thúc “%1$S” được hiểu mặc định nhưng vẫn còn phần tử đang mở.
+errUnclosedElementsCell=Ô bảng được ngầm định hiểu là kết thúc nhưng vẫn còn phần tử đang mở.
+errStrayDoctype=doctype thừa.
+errAlmostStandardsDoctype=Doctype gần đặt chuẩn. Lẽ ra nên là “<!DOCTYPE html>”.
+errQuirkyDoctype=Doctype què quặt. Lẽ ra nên là “<!DOCTYPE html>”.
+errAlmostStandardsDoctypeVerbose=Trang này gần như đang ở chế độ tiêu chuẩn. Bố cục trang có thể bị ảnh hưởng. Đối với chế độ tiêu chuẩn, hãy sử dụng “<!DOCTYPE html>”.
+errQuirkyDoctypeVerbose=Trang này đang ở chế độ Quirks. Bố cục trang có thể bị ảnh hưởng. Đối với chế độ tiêu chuẩn, hãy sử dụng “<!DOCTYPE html>”.
+errNonSpaceInTrailer=Phát hiện ký tự không phải là khoảng trắng tại cuối trang.
+errNonSpaceAfterFrameset=Phát hiện ký tự không phải là khoảng trắng sau “frameset”.
+errNonSpaceInFrameset=Phát hiện ký tự không phải là khoảng trắng trong “frameset”.
+errNonSpaceAfterBody=Phát hiện ký tự không phải là khoảng trắng sau body.
+errNonSpaceInColgroupInFragment=Phát hiện ký tự không phải là khoảng trắng trong "colgroup" khi parse fragment.
+errNonSpaceInNoscriptInHead=Phát hiện ký tự không phải là khoảng trắng trong "noscript" trong "head".
+errFooBetweenHeadAndBody=Phát hiện phần tử “%1$S” giữa “head” và “body”.
+errStartTagWithoutDoctype=Phát hiện bắt đầu một thẻ thay vì doctype. Lẽ ra nên là “<!DOCTYPE html>”.
+errNoSelectInTableScope=Không có "select" trong phạm vi bảng.
+errStartSelectWhereEndSelectExpected=Phát hiện bắt đầu thẻ “select” tại vị trí lẽ ra là kết thúc một thẻ.
+errStartTagWithSelectOpen=“%1$S” bắt đầu thẻ với “select” mở.
+errBadStartTagInNoscriptInHead=Thẻ bắt đầu “%1$S” không hợp lệ trong “noscript” ở “head”.
+errImage=Đã có thẻ mở đầu "image".
+errFooSeenWhenFooOpen2=Đã thấy thẻ bắt đầu “%1$S” nhưng một phần tử cùng loại đã được mở.
+errHeadingWhenHeadingOpen=Heading không thể là con của một heading khác.
+errFramesetStart=Tìm thấy thẻ mở đầu “frameset”.
+errNoCellToClose=Không còn ô để đóng.
+errStartTagInTable=Thẻ mở đầu “%1$S” phát hiện trong “table”.
+errFormWhenFormOpen=Tìm thấy một thẻ mở đầu “form”, nhưng đã có một phần tử “form” khác đang được phân tích. Không được phép lồng biểu mẫu. Thẻ được loại bỏ.
+errTableSeenWhileTableOpen=Phát hiện thẻ mở đầu “table” trong khi thẻ “table” đằng trước vẫn đang mở.
+errStartTagInTableBody=Thẻ mở đầu “%1$S” trong thân bảng.
+errEndTagSeenWithoutDoctype=Thẻ kết thúc mà chưa có thẻ doctype ở phía trước. Hãy thêm “<!DOCTYPE html>”.
+errEndTagAfterBody=Tìm thấy thẻ kết thúc phía sau phần "body".
+errEndTagSeenWithSelectOpen=Thẻ kết thúc “%1$S” với "select" đang mở.
+errGarbageInColgroup=Garbage trong mảnh "colgroup"
+errEndTagBr=Thẻ kết thúc “br”.
+errNoElementToCloseButEndTagSeen=Không có phần tử “%1$S” mặc dù tồn tại thẻ kết thúc “%1$S”.
+errHtmlStartTagInForeignContext=Thẻ HTML mở đầu “%1$S” tồn tại ở một namespace khác.
+errNoTableRowToClose=Không có dòng để đóng.
+errNonSpaceInTable=Kí tự không phải dấu cách bị đặt sai trong bảng.
+errUnclosedChildrenInRuby=Thành phần con chưa được đóng trong "ruby".
+errStartTagSeenWithoutRuby=Thẻ bắt đầu “%1$S” không được mở bằng phần tử “ruby”.
+errSelfClosing=Thẻ tự đóng (“/>”) được dùng cho phần tử HTML có nội dung. Bỏ dấu “/” và xem nó như một thẻ mở đầu.
+errNoCheckUnclosedElementsOnStack=Tồn tại phần tử chưa được đóng trong ngăn xếp.
+errEndTagDidNotMatchCurrentOpenElement=Thẻ mở đầu “%1$S” không khớp với tên của phần tử đang mở (“%2$S”).
+errEndTagViolatesNestingRules=Thẻ kết thúc "%1$S" vi phạm luật lồng nhau.
+errEndWithUnclosedElements=Phát hiện thẻ kết thúc “%1$S” nhưng vẫn còn phần tử đang mở.
+errListUnclosedStartTags=Phần tử hoặc các phần tử không được đóng hết.
diff --git a/l10n-vi/dom/chrome/layout/layout_errors.properties b/l10n-vi/dom/chrome/layout/layout_errors.properties
new file mode 100644
index 0000000000..803b2ed207
--- /dev/null
+++ b/l10n-vi/dom/chrome/layout/layout_errors.properties
@@ -0,0 +1,55 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+ImageMapRectBoundsError=Thuộc tính “coords” của tag <area shape="rect"> không ở định dạng “left,top,right,bottom”.
+ImageMapCircleWrongNumberOfCoords=Thuộc tính “coords” của tag <area shape="circle"> không ở định dạng “center-x,center-y,radius”.
+ImageMapCircleNegativeRadius=Thuộc tính “coords” của tag <area shape="circle"> không thể là bán kính âm.
+ImageMapPolyWrongNumberOfCoords=Thuộc tính “coords” của tag <area shape="poly"> không ở định dạng “x1,y1,x2,y2 …”.
+ImageMapPolyOddNumberOfCoords=Thuộc tính “coords” của tag <area shape="poly"> không có tọa độ “y” cuối (dạng đúng là “x1,y1,x2,y2 …”).
+
+TablePartRelPosWarning=Định vị tương đối của các hàng của bảng và các nhóm hàng hiện được hỗ trợ. Trang web này có thể cần được cập nhật vì nó có thể phụ thuộc vào tính năng này không có hiệu lực.
+
+ScrollLinkedEffectFound3=Trang web này dường như sử dụng hiệu ứng định vị scroll-linked. Điều này có thể không hoạt động tốt với tính năng quét không đồng bộ; xem https://firefox-source-docs.mozilla.org/performance/scroll-linked_effects.html để biết thêm chi tiết và tham gia thảo luận về các công cụ và tính năng liên quan!
+
+## LOCALIZATION NOTE(CompositorAnimationWarningContentTooLargeArea):
+## %1$S is an integer value of the area of the frame
+## %2$S is an integer value of the area of a limit based on the viewport size
+CompositorAnimationWarningContentTooLargeArea=Không thể chạy hoạt ảnh trên bộ tổng hợp vì diện tích của khung (%1$S) quá lớn so với khung nhìn (lớn hơn %2$S)
+## LOCALIZATION NOTE(CompositorAnimationWarningContentTooLarge2):
+## (%1$S, %2$S) is a pair of integer values of the frame size
+## (%3$S, %4$S) is a pair of integer values of a limit based on the viewport size
+## (%5$S, %6$S) is a pair of integer values of an absolute limit
+CompositorAnimationWarningContentTooLarge2=Không thể chạy hoạt ảnh trên bộ tổng hợp vì kích thước khung (%1$S, %2$S) quá lớn so với chế độ xem (lớn hơn (%3$S, %4$S)) hoặc lớn hơn mức tối đa giá trị cho phép (%5$S, %6$S)
+## LOCALIZATION NOTE(CompositorAnimationWarningTransformBackfaceVisibilityHidden):
+## 'backface-visibility: hidden' is a CSS property, don't translate it.
+CompositorAnimationWarningTransformBackfaceVisibilityHidden=Hoạt ảnh của thay đổi ‘backface-visibility: hidden’ không thể chạy trên bộ tổng hợp
+## LOCALIZATION NOTE(CompositorAnimationWarningTransformSVG,
+## CompositorAnimationWarningTransformWithGeometricProperties,
+## CompositorAnimationWarningTransformWithSyncGeometricAnimations,
+## CompositorAnimationWarningTransformFrameInactive,
+## CompositorAnimationWarningOpacityFrameInactive):
+## 'transform' and 'opacity' mean CSS property names, don't translate it.
+CompositorAnimationWarningTransformSVG=Hoạt ảnh của ‘transform’ trên các phần tử với biến đổi SVG không thể chạy trên bộ tổng hợp
+CompositorAnimationWarningTransformWithGeometricProperties=Hoạt ảnh của ‘transform’ không thể chạy trên bộ tổng hợp khi các thuộc tính hình học được tạo thành trên cùng một phần tử
+CompositorAnimationWarningTransformWithSyncGeometricAnimations=Hoạt ảnh của ‘transform’ không thể chạy trên bộ tổng hợp vì nó phải được đồng bộ hóa với hoạt ảnh của các thuộc tính hình học bắt đầu cùng một lúc
+CompositorAnimationWarningTransformFrameInactive=Không thể chạy hoạt ảnh trên bộ tổng hợp vì khung không được đánh dấu hoạt động cho hoạt ảnh ‘transform’
+CompositorAnimationWarningTransformIsBlockedByImportantRules=Không thể chạy hoạt ảnh chuyển đổi trên bộ tổng hợp vì các thuộc tính liên quan đến chuyển đổi bị ghi đè bởi quy tắc !important
+CompositorAnimationWarningOpacityFrameInactive=Không thể chạy hoạt ảnh trên bộ tổng hợp vì khung không được đánh dấu hoạt động cho hoạt ảnh ‘opacity’
+CompositorAnimationWarningHasRenderingObserver=Không thể chạy hoạt ảnh trên bộ tổng hợp vì phần tử này có kết xuất trình quan sát (-moz-element hoặc SVG clipping/masking)
+CompositorAnimationWarningHasCurrentColor=Không thể chạy hình động của ‘background-color’ trên bộ tổng hợp với keyframe ‘current-color’.
+
+## LOCALIZATION NOTE: Do not translate zoom, calc(), "transform", "transform-origin: 0 0"
+ZoomPropertyWarning=Trang này sử dụng thuộc tính phi tiêu chuẩn “zoom”. Cân nhắc sử dụng calc() trong các giá trị thuộc tính có liên quan, hoặc sử dụng “transform” cùng với “transform-origin: 0 0”.
+
+## LOCALIZATION NOTE(PrincipalWritingModePropagationWarning):
+## Do not translate <html>, <body>, CSS, "writing-mode", "direction", "text-orientation", :root, and "The Principal Writing Mode" because they are technical terms.
+PrincipalWritingModePropagationWarning=Khi render phần tử <html>, các giá trị được sử dụng của các thuộc tính CSS “writing-mode”, “direction”, và “text-orientation” trong phần tử <html> được lấy từ các giá trị được tính toán của phần tử <body>, không phải các giá trị của phần tử <html>. Xem xét thiết lập các thuộc tính này trên lớp giả CSS :root. Để biết thêm thông tin hãy xem “The Principal Writing Mode” trong https://www.w3.org/TR/css-writing-modes-3/#principal-flow
+
+## LOCALIZATION NOTE(ScrollAnchoringDisabledInContainer):
+## %1$S is an integer value with the total number of adjustments
+## %2$S is a floating point value with the average distance adjusted
+## %3$S is a floating point value with the total adjusted distance
+ScrollAnchoringDisabledInContainer=Scroll anchoring đã bị vô hiệu hóa trong scroll container do có quá nhiều điều chỉnh liên tiếp (%1$S) với tổng khoảng cách quá ít (trung bình %2$S px, tổng %3$S px).
+
+ForcedLayoutStart=Bố cục đã bị buộc trước khi trang được tải đầy đủ. Nếu các bảng định kiểu chưa được tải, điều này có thể gây ra nội dung không được chỉnh sửa.
diff --git a/l10n-vi/dom/chrome/layout/printing.properties b/l10n-vi/dom/chrome/layout/printing.properties
new file mode 100644
index 0000000000..78c538b47f
--- /dev/null
+++ b/l10n-vi/dom/chrome/layout/printing.properties
@@ -0,0 +1,56 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Page number formatting
+## @page_number The current page number
+#LOCALIZATION NOTE (pagenumber): Do not translate %ld in the following line.
+# Place the word %ld where the page number and number of pages should be
+# The first %ld will receive the the page number
+pagenumber=%1$d
+
+# Page number formatting
+## @page_number The current page number
+## @page_total The total number of pages
+#LOCALIZATION NOTE (pageofpages): Do not translate %ld in the following line.
+# Place the word %ld where the page number and number of pages should be
+# The first %ld will receive the the page number
+# the second %ld will receive the total number of pages
+pageofpages=%1$d trong %2$d
+
+PrintToFile=In thành Tập tin
+print_error_dialog_title=Lỗi Máy In
+printpreview_error_dialog_title=Lỗi khi xem trước trang in
+
+# Printing error messages.
+#LOCALIZATION NOTE: Some of these messages come in pairs, one
+# for printing and one for print previewing. You can remove that
+# distinction in your language by removing the entity with the _PP
+# suffix; then the entity without a suffix will be used for both.
+# You can also add that distinction to any of the messages that don't
+# already have it by adding a new entity with a _PP suffix.
+#
+# For instance, if you delete PERR_GFX_PRINTER_DOC_IS_BUSY_PP, then
+# the PERR_GFX_PRINTER_DOC_IS_BUSY message will be used for that error
+# condition when print previewing as well as when printing. If you
+# add PERR_FAILURE_PP, then PERR_FAILURE will only be used when
+# printing, and PERR_FAILURE_PP will be used under the same conditions
+# when print previewing.
+#
+PERR_FAILURE=Đã xảy ra lỗi khi in.
+
+PERR_ABORT=Việc in ấn đã bị hủy bỏ.
+PERR_NOT_AVAILABLE=Một số chức năng in hiện tại chưa có.
+PERR_NOT_IMPLEMENTED=Một vài tính năng in ấn chưa được bổ sung.
+PERR_OUT_OF_MEMORY=Không đủ bộ nhớ để in.
+PERR_UNEXPECTED=Gặp vấn đề đột xuất trong khi in.
+
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE=Không có máy in nào.
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE_PP=Không có máy in nào, không thể xem trước trang in.
+PERR_GFX_PRINTER_NAME_NOT_FOUND=Không tìm thấy máy in đã chọn.
+PERR_GFX_PRINTER_COULD_NOT_OPEN_FILE=Lỗi mở tập tin đầu ra để in ra tập tin.
+PERR_GFX_PRINTER_STARTDOC=Việc in thất bại ngay khi bắt đầu.
+PERR_GFX_PRINTER_ENDDOC=Việc in thất bại khi hoàn tất.
+PERR_GFX_PRINTER_STARTPAGE=Việc in thất bại khi bắt đầu trang mới.
+PERR_GFX_PRINTER_DOC_IS_BUSY=Không thể in tài liệu vào lúc này, vì vẫn chưa nạp xong.
+PERR_GFX_PRINTER_DOC_IS_BUSY_PP=Không thể xem trước trang của tài liệu này, nó vẫn đang tải.
diff --git a/l10n-vi/dom/chrome/layout/xmlparser.properties b/l10n-vi/dom/chrome/layout/xmlparser.properties
new file mode 100644
index 0000000000..7cd7ab1cc1
--- /dev/null
+++ b/l10n-vi/dom/chrome/layout/xmlparser.properties
@@ -0,0 +1,48 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Map Expat error codes to error strings
+1 = tràn bộ nhớ
+2 = lỗi cú pháp
+3 = không tìm thấy phần tử gốc
+4 = không đúng dạng
+5 = dấu chưa đóng
+6 = kí tự bộ phận
+7 = thẻ không khớp
+8 = trùng thuộc tính
+9 = kí tự thừa sau phần tử document
+10 = thông số tham chiếu đối tượng không hợp lệ
+11 = đối tượng chưa được định nghĩa
+12 = đối tượng tham chiếu đệ qui
+13 = đối tượng dị bộ
+14 = tham chiếu tới số kí tự sai
+15 = tham chiếu tới đối tượng nhị phân
+16 = tham chiếu tới đối tượng bên ngoài trong thuộc tính
+17 = khai báo của xml không ở đầu đối tượng bên ngoài
+18 = không rõ bảng mã
+19 = bảng mã được chỉ định trong khai báo của XML không đúng
+20 = phần CDATA chưa đóng
+21 = lỗi khi xử lí tham chiếu tới đối tượng bên ngoài
+22 = tài liệu không đứng một mình
+23 = tình trạng hỏng của trình phân tích
+24 = đối tượng được khai báo trong tham số đối tượng
+27 = tiền tố không qui định giới hạn cho namespace
+28 = phải khai báo tiền tố
+29 = đánh dấu không hoàn tất trong thực thể tham số
+30 = khai báo XML không đúng mẫu
+31 = khai báo văn bản không đúng mẫu
+32 = kí tự sai trong định danh công cộng
+38 = tiền tố qui định kiểu (xml) phải được khai báo hoặc gắn với namespace khác
+39 = tiền tố qui định kiểu (xmlns) không được phép khai báo hoặc không khai báo.
+40 = tiền tố không được gắn với một trong các tên namespace dành riêng.
+
+# %1$S is replaced by the Expat error string, may be followed by Expected (see below)
+# %2$S is replaced by URL
+# %3$u is replaced by line number
+# %4$u is replaced by column number
+XMLParsingError = Lỗi Phân tích XML: %1$S\nĐịa chỉ: %2$S\nDòng số %3$u, Cột %4$u:
+
+# %S is replaced by a tag name.
+# This gets appended to the error string if the error is mismatched tag.
+Expected = . Cần: </%S>.
diff --git a/l10n-vi/dom/chrome/layout/xul.properties b/l10n-vi/dom/chrome/layout/xul.properties
new file mode 100644
index 0000000000..abbb7980d1
--- /dev/null
+++ b/l10n-vi/dom/chrome/layout/xul.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+PINotInProlog=<?%1$S?> hướng dẫn xử lí không còn hiệu quả bên ngoài prolog nữa (xem bug 360119).
diff --git a/l10n-vi/dom/chrome/mathml/mathml.properties b/l10n-vi/dom/chrome/mathml/mathml.properties
new file mode 100644
index 0000000000..6597b5a65d
--- /dev/null
+++ b/l10n-vi/dom/chrome/mathml/mathml.properties
@@ -0,0 +1,15 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+InvalidChild=Đánh dấu không hợp lệ: <%1$S> không phải là con của <%2$S>.
+ChildCountIncorrect=Đánh dấu không hợp lệ: số lượng thẻ con cho thẻ <%1$S/> không chính xác.
+DuplicateMprescripts=Đánh dấu không hợp lệ: có nhiều hơn một thẻ <mprescripts/> trong <mmultiscripts/>.
+# LOCALIZATION NOTE: The first child of <mmultiscript/> is the base, that is the element to which scripts are attached.
+NoBase=Đánh dấu không hợp lệ: Thiếu một phần tử cơ sở trong <mmultiscripts/>. Không tìm thấy.
+SubSupMismatch=Đánh dấu không hợp lệ: Không đủ cặp subscript/superscript trong thẻ <mmultiscripts/>.
+
+# LOCALIZATION NOTE: When localizing the single quotes ('), follow the conventions in css.properties for your target locale.
+AttributeParsingError=Lỗi phân tích giá trị '%1$S' cho thuộc tính '%2$S' của <%3$S/>. Thuộc tính bị bỏ qua.
+AttributeParsingErrorNoTag=Lỗi phân tích giá trị '%1$S' cho thuộc tính '%2$S' . Thuộc tính bị bỏ qua.
+LengthParsingError=Lỗi phân tích '%1$S' giá trị thuộc tính MathML chẳng hạn như lỗi độ dài. Thuộc tính bị bỏ qua.
diff --git a/l10n-vi/dom/chrome/netError.dtd b/l10n-vi/dom/chrome/netError.dtd
new file mode 100644
index 0000000000..b4701933f4
--- /dev/null
+++ b/l10n-vi/dom/chrome/netError.dtd
@@ -0,0 +1,93 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY loadError.label "Lỗi tải trang">
+<!ENTITY retry.label "Thử lại">
+
+<!-- Specific error messages -->
+
+<!ENTITY connectionFailure.title "Không thể kết nối">
+<!ENTITY connectionFailure.longDesc "<p>Mặc dù trang web có vẻ hợp lệ, nhưng trình duyệt không thể thiết lập kết nối.</p><ul><li>Có thể trang này đang tạm thời bị gián đoạn? Hãy thử lại sau.</li><li>Bạn cũng không thể duyệt các trang web khác? Hãy kiểm tra kết nối mạng.</li><li>Máy tính hoặc mạng của bạn có đang được bảo vệ bởi tường lửa hoặc proxy không? Thiết lập sai có thể làm ảnh hưởng tới việc duyệt Web.</li></ul>">
+
+<!ENTITY deniedPortAccess.title "Cổng bị cấm vì lí do bảo mật">
+<!ENTITY deniedPortAccess.longDesc "<p>Địa chỉ này có dùng một cổng (vd. <q>mozilla.org:80</q> là cổng 80 trên mozilla.org) vốn được dùng cho mục đích <em>không phải</em> là duyệt Web. Trình duyệt đã hủy yêu cầu để bảo vệ bạn.</p>">
+
+<!ENTITY dnsNotFound.title "Không tìm thấy địa chỉ">
+<!ENTITY dnsNotFound.longDesc "<p>Trình duyệt không thể tìm thấy máy chủ của địa chỉ được cung cấp.</p><ul><li>Liệu bạn có mắc lỗi khi gõ tên miền không? (vd. <q><strong>ww</strong>.mozilla.org</q> thay vì <q><strong>www</strong>.mozilla.org</q>)</li><li>Bạn có chắc tên miền này tồn tại không? Có thể thời hạn đăng kí của nó đã hết.</li><li>Bạn cũng không thể duyệt các trang web khác? Hãy kiểm tra lại kết nối mạng và thiết lập máy chủ DNS.</li><li>Máy tính hoặc mạng của bạn có được bảo vệ bởi tường lửa hoặc proxy? Thiết lập sai có thể làm ảnh hưởng đến việc duyệt Web.</li></ul>">
+
+<!ENTITY fileNotFound.title "Không tìm thấy tập tin">
+<!ENTITY fileNotFound.longDesc "<ul><li>Có khi nào mục này đã bị đổi tên hoặc di chuyển không?</li><li>Có lỗi chính tả, lỗi HOA-thường, hay lỗi gõ chữ nào khác trong phần địa chỉ không?</li><li>Bạn có đủ quyền hạn để yêu cầu mục này không?</li></ul>">
+
+<!ENTITY fileAccessDenied.title "Truy cập tập tin bị từ chối">
+<!ENTITY fileAccessDenied.longDesc "<ul><li>Nó có thể đã bị xóa, đã chuyển đi, hoặc có thể do quyền truy cập tập tin đã ngăn cản việc truy cập.</li></ul>">
+
+<!ENTITY generic.title "Không thể hoàn tất yêu cầu">
+<!ENTITY generic.longDesc "<p>Thông tin thêm về vấn đề hoặc lỗi này hiện không có.</p>">
+
+<!ENTITY malformedURI.title "Địa chỉ không hợp lệ">
+<!ENTITY malformedURI.longDesc "<p>Địa chỉ bạn cung cấp không phải là một trong các định dạng đã biết. Vui lòng kiểm tra thanh địa chỉ và thử lại.</p>">
+
+<!ENTITY netInterrupt.title "Truyền tải dữ liệu bị ngắt giữa chừng">
+<!ENTITY netInterrupt.longDesc "<p>Trình duyệt đã kết nối thành công, nhưng kết nối đã bị ngắt khi đang trao đổi thông tin. Vui lòng thử lại.</p><ul><li>Bạn cũng không thể duyệt trang khác? Hãy kiểm tra kết nối mạng.</li><li>Vẫn gặp vấn đề? Hỏi ý quản trị mạng hoặc nhà cung cấp Internet của bạn để được trợ giúp.</li></ul>">
+
+<!ENTITY notCached.title "Tài liệu bị hết hạn">
+<!ENTITY notCached.longDesc "<p>Tài liệu được yêu cầu không có sẵn trong bộ đệm của trình duyệt.</p><ul><li>Vì lí do bảo mật, trình duyệt không tự động yêu cầu lại các tài liệu nhạy cảm.</li><li>Nhấn nút Thử Lại để yêu cầu lại tài liệu từ trang web.</li></ul>">
+
+<!ENTITY netOffline.title "Chế độ ngoại tuyến">
+<!ENTITY netOffline.longDesc2 "<p>Trình duyệt đang hoạt động trong chế độ ngoại tuyến và không thể kết nối tới mục được yêu cầu.</p><ul><li>Máy tính có được nối tới một mạng đang hoạt động không?</li><li>Nhấn nút &quot;Thử lại&quot; để chuyển sang chế độ trực tuyến và tải lại trang.</li></ul>">
+
+<!ENTITY contentEncodingError.title "Lỗi encoding">
+<!ENTITY contentEncodingError.longDesc "<p>Không thể hiển thị trang bạn đang muốn xem vì nó dùng một kiểu nén không được hỗ trợ hoặc không hợp lệ.</p><ul><li>Vui lòng liên hệ với chủ trang web để báo họ vấn đề này.</li></ul>">
+
+<!ENTITY unsafeContentType.title "Kiểu tập tin không an toàn">
+<!ENTITY unsafeContentType.longDesc "<ul> <li>Vui lòng liên hệ với chủ trang web để báo với họ về vấn đề này.</li> </ul>">
+
+<!ENTITY netReset.title "Kết nối bị ngắt giữa chừng">
+<!ENTITY netReset.longDesc "<p>Liên kết mạng bị ngắt trong khi đang tiến hành kết nối. Vui lòng thử lại.</p>">
+
+<!ENTITY netTimeout.title "Hết thời gian chờ kết nối">
+<!ENTITY netTimeout.longDesc "<p>Trang không phản hồi yêu cầu và trình duyệt đã ngừng chờ đợi.</p><ul><li>Có thể máy chủ đang bị nhiều truy xuất hoặc mất điện tạm thời? Hãy thử lại sau.</li><li>Bạn cũng không thể duyệt trang khác? Hãy kiểm tra kết nối mạng.</li><li>Máy tính hoặc mạng của bạn có được bảo vệ bởi tường lửa hoặc proxy? Thiết lập sai có thể ảnh hưởng việc duyệt Web.</li><li>Vẫn gặp vấn đề? Liên hệ quản trị mạng hoặc nhà cung cấp Internet của bạn để được trợ giúp.</li></ul>">
+
+<!ENTITY unknownProtocolFound.title "Giao thức không rõ">
+<!ENTITY unknownProtocolFound.longDesc "<p>Địa chỉ có sử dụng một giao thức (vd. <q>wxyz://</q>) mà trình duyệt không nhận ra nên không thể kết nối được.</p><ul><li>Có phải bạn đang muốn truy cập thông tin đa phương tiện hoặc các dịch vụ phi văn bản không? Hãy kiểm tra xem trang web này có yêu cầu tải thêm gì không.</li><li>Một số giao thức có thể yêu cầu phần mềm hay phần bổ trợ của hãng thứ ba trước khi trình duyệt có thể nhận dạng chúng.</li></ul>">
+
+<!ENTITY proxyConnectFailure.title "Máy chủ proxy từ chối kết nối">
+<!ENTITY proxyConnectFailure.longDesc "<p>Trình duyệt được cấu hình để dùng máy chủ proxy, nhưng proxy đã từ chối kết nối.</p><ul><li>Cấu hình proxy cho trình duyệt đã đúng chưa? Hãy kiểm tra thiết lập và thử lại.</li><li>Dịch vụ proxy có cho phép kết nối từ hệ thống mạng này?</li><li>Vẫn gặp vấn đề? Hỏi ý quản trị mạng hoặc nhà cung cấp Internet của bạn để được trợ giúp.</li></ul>">
+
+<!ENTITY proxyResolveFailure.title "Không tìm thấy máy chủ proxy">
+<!ENTITY proxyResolveFailure.longDesc "<p>Trình duyệt được cấu hình để dùng máy chủ proxy, nhưng proxy đã từ chối kết nối.</p><ul><li>Cấu hình proxy cho trình duyệt đã đúng chưa? Hãy kiểm tra thiết lập và thử lại.</li><li>Máy tính có kết nối vào một mạng đang hoạt động không?</li><li>Vẫn gặp vấn đề? Hỏi ý quản trị mạng hoặc nhà cung cấp Internet của bạn để được trợ giúp.</li></ul>">
+
+<!ENTITY redirectLoop.title "Có lặp vô hạn khi chuyển hướng">
+<!ENTITY redirectLoop.longDesc "<p>Trình duyệt đã ngừng tải yêu cầu này. Trang này đang chuyển hướng yêu cầu theo một cách mà sẽ không bao giờ hoàn tất.</p><ul><li>Có phải bạn đã vô hiệu hóa hoặc chặn các cookie mà trang này yêu cầu không?</li><li><em>CHÚ Ý</em>: Nếu việc chấp nhận cookie của trang không giải quyết được vấn đề, có vẻ như đây là vấn đề cấu hình máy chủ chứ không phải do máy bạn</li></ul>">
+
+<!ENTITY unknownSocketType.title "Phản hồi không phù hợp">
+<!ENTITY unknownSocketType.longDesc "<p>Trang phản hồi yêu cầu của mạng theo một cách không mong đợi và trình duyệt không thể tiếp tục.</p>">
+
+<!ENTITY nssFailure2.title "Không thể kết nối an toàn">
+<!ENTITY nssFailure2.longDesc2 "<p>Không thể hiển thị trang bạn muốn xem vì không thể kiểm tra tính xác thực của dữ liệu nhận được.</p><ul><li>Vui lòng liên hệ chủ trang web để báo với họ vấn đề này.</li></ul>">
+
+<!ENTITY nssBadCert.title "Không thể kết nối an toàn">
+<!ENTITY nssBadCert.longDesc2 "<ul> <li>Đây có thể là vấn đề ở phần cấu hình của máy chủ, hoặc có thể do ai đó đang cố mạo nhận là máy chủ.</li> <li>Nếu bạn đã từng kết nối tới máy chủ này thành công trong quá khứ, lỗi này có thể chỉ là tạm thời, và bạn có thể thử lại sau.</li> </ul>">
+
+<!ENTITY securityOverride.linkText "Hoặc bạn có thể thêm một ngoại lệ…">
+<!ENTITY securityOverride.warningContent "<p>Bạn không nên thêm một ngoại lệ nếu như bạn đang sử dụng một kết nối internet không đáng tin cậy hoặc bạn chưa quen với việc nhìn thấy cảnh báo ở máy chủ này.</p> <p>Nếu bạn vẫn muốn thêm một ngoại lệ cho trang web này, bạn có thể làm việc đó ở trong phần cài đặt mã hóa nâng cao.</p>">
+
+<!ENTITY cspBlocked.title "Bị chặn bởi Chính sách bảo mật nội dung">
+<!ENTITY cspBlocked.longDesc "<p>Trình duyệt bảo vệ trang này khỏi việc tải theo cách này bởi vì nó có một chính sách bảo mật nội dung không cho phép việc này.</p>">
+
+<!ENTITY xfoBlocked.title "Bị chặn bởi chính sách X-Frame-Options">
+<!ENTITY xfoBlocked.longDesc "<p>Trình duyệt đã ngăn trang này tải trong ngữ cảnh này vì trang có chính sách X-Frame-Options mà nó không cho phép.</p>">
+
+<!ENTITY corruptedContentErrorv2.title "Lỗi nội dung bị hỏng">
+<!ENTITY corruptedContentErrorv2.longDesc "<p>Không thể hiển thị được trang mà bạn muốn xem vì có lỗi trong truyền tải dữ liệu.</p><ul><li>Vui lòng liên hệ chủ trang web để báo họ về vấn đề này.</li></ul>">
+
+<!ENTITY inadequateSecurityError.title "Kết nối của bạn không an toàn">
+<!-- LOCALIZATION NOTE (inadequateSecurityError.longDesc) - Do not translate
+ "NS_ERROR_NET_INADEQUATE_SECURITY". -->
+<!ENTITY inadequateSecurityError.longDesc "<p><span class='hostname'></span> sử dụng công nghệ bảo mật lỗi thời và dễ bị tấn tông. Một kẻ tấn công có thể dễ dàng tiết lộ thông tin mà bạn nghĩ là an toàn. Người quản trị web sẽ cần phải sửa lỗi hệ thống máy chủ đầu tiên trước khi bạn có thể truy cập vào trang web.</p><p>Mã lỗi: NS_ERROR_NET_INADEQUATE_SECURITY</p>">
+
+<!ENTITY blockedByPolicy.title "Trang bị chặn">
+
+<!ENTITY networkProtocolError.title "Lỗi giao thức mạng">
+<!ENTITY networkProtocolError.longDesc "<p>Không thể hiển thị trang bạn đang cố xem vì lỗi trong giao thức mạng đã được phát hiện.</p><ul><li>Vui lòng liên hệ với chủ sở hữu trang web để thông báo cho họ về sự cố này.</li></ul>">
diff --git a/l10n-vi/dom/chrome/nsWebBrowserPersist.properties b/l10n-vi/dom/chrome/nsWebBrowserPersist.properties
new file mode 100644
index 0000000000..3e368c3c27
--- /dev/null
+++ b/l10n-vi/dom/chrome/nsWebBrowserPersist.properties
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+readError=Không thể lưu %S, vì không thể đọc tập tin nguồn được.\n\nHãy thử lại sau, hoặc liên hệ quản trị máy chủ.
+writeError=Không thể lưu %S, vì một lỗi không rõ lí do đã xảy ra.\n\nHãy thử lưu vào một nơi khác.
+launchError=Không thể mở %S, vì một lỗi không rõ lí do đã xảy ra.\n\nHãy thử lưu vào ổ đĩa trước rồi sau đó mới mở tập tin.
+diskFull=Không đủ dung lượng trống trên ổ đĩa để lưu %S.\n\nXóa bớt những tập tin không cần thiết và thử lại, hoặc lưu vào nơi khác.
+readOnly=Không thể lưu %S, vì ổ đĩa, thư mục, hoặc tập tin đã được bảo vệ chống ghi.\n\nBật tính năng ghi cho đĩa và thử lại, hoặc lưu vào nơi khác.
+accessError=Không thể lưu %S, vì bạn không thể thay đổi nội dung của thư mục đó.\n\nThay đổi thuộc tính của thư mục và thử lại, hoặc lưu vào nơi khác.
+SDAccessErrorCardReadOnly=Không thể tải tập tin vì thẻ SD đang được sử dụng.
+SDAccessErrorCardMissing=Không thể tải tập tin vì không có thẻ SD.
+helperAppNotFound=Không thể mở %S, vì không có ứng dụng trợ giúp nào đi kèm với loại tập tin này. Thay đổi ứng dụng đi kèm trong tùy chọn hệ thống của bạn.
+noMemory=Không đủ bộ nhớ để thực hiện lệnh bạn yêu cầu.\n\nHãy đóng vài ứng dụng khác rồi thử lại.
+title=Đang tải xuống %S
+fileAlreadyExistsError=Không thể lưu %S, vì đã tồn tại một tập tin có cùng tên với thư mục '_files'.\n\nHãy thử lưu vào nơi khác.
+fileNameTooLongError=Không thể lưu %S, vì tên tập tin quá dài.\n\nHãy thử lưu với tên ngắn hơn.
diff --git a/l10n-vi/dom/chrome/security/caps.properties b/l10n-vi/dom/chrome/security/caps.properties
new file mode 100644
index 0000000000..9edc578dd2
--- /dev/null
+++ b/l10n-vi/dom/chrome/security/caps.properties
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+CheckLoadURIError = Lỗi Bảo mật: Nội dung ở %S có thể không tải hoặc liên kết đến %S.
+CheckSameOriginError = Lỗi Bảo mật: Nội dung ở %S có thể không tải dữ liệu từ %S.
+ExternalDataError = Lỗi bảo mật: các nội dung tại %S đã cố gắng để tải %S, nhưng có thể không nạp dữ liệu bên ngoài khi được sử dụng như một hình ảnh.
+
+CreateWrapperDenied = Không được phép tạo bao bọc cho đối tượng hoặc lớp %S
+CreateWrapperDeniedForOrigin = Từ chối quyền hạn đối với việc <%2$S> tạo gói bọc cho đối tượng của class %1$S
diff --git a/l10n-vi/dom/chrome/security/csp.properties b/l10n-vi/dom/chrome/security/csp.properties
new file mode 100644
index 0000000000..e17c514cd5
--- /dev/null
+++ b/l10n-vi/dom/chrome/security/csp.properties
@@ -0,0 +1,123 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# CSP Warnings:
+# LOCALIZATION NOTE (CSPViolation):
+# %1$S is the reason why the resource has not been loaded.
+CSPViolation = Các cài đặt của trang đã chặn tải tài nguyên: %1$S
+# LOCALIZATION NOTE (CSPViolationWithURI):
+# %1$S is the directive that has been violated.
+# %2$S is the URI of the resource which violated the directive.
+CSPViolationWithURI = Các cài đặt trang khác đã chặn tải tài nguyên ở %2$S (“%1$S”).
+# LOCALIZATION NOTE (CSPROViolation):
+# %1$S is the reason why the resource has not been loaded.
+CSPROViolation = Đã xảy ra vi phạm đối với chính sách CSP chỉ báo cáo (“%1$S”). Hành vi đã được cho phép và một báo cáo CSP đã được gửi.
+# LOCALIZATION NOTE (CSPROViolationWithURI):
+# %1$S is the directive that has been violated.
+# %2$S is the URI of the resource which violated the directive.
+CSPROViolationWithURI = Các cài đặt của trang đã quan sát việc tải tài nguyên ở %2$S (“%1$S”). Một báo cáo CSP đang được gửi.
+# LOCALIZATION NOTE (triedToSendReport):
+# %1$S is the URI we attempted to send a report to.
+triedToSendReport = Gửi báo cáo đến URI không hợp lệ: "%1$S"
+# LOCALIZATION NOTE (couldNotParseReportURI):
+# %1$S is the report URI that could not be parsed
+couldNotParseReportURI = không thể phân tích URI của báo cáo: %1$S
+# LOCALIZATION NOTE (couldNotProcessUnknownDirective):
+# %1$S is the unknown directive
+couldNotProcessUnknownDirective = Không thể xử lý directive không rõ '%1$S'
+# LOCALIZATION NOTE (ignoringUnknownOption):
+# %1$S is the option that could not be understood
+ignoringUnknownOption = Bỏ qua tùy chọn không xác định %1$S
+# LOCALIZATION NOTE (ignoringDuplicateSrc):
+# %1$S defines the duplicate src
+ignoringDuplicateSrc = Bỏ qua nguồn trùng lặp %1$S
+# LOCALIZATION NOTE (ignoringNonAsciiToken):
+# %1$S defines the name of the directive
+# %2$S is the token string containing non-ASCII characters.
+ignoringNonAsciiToken = Đang bỏ qua lệnh ‘%1$S’ với token không phải ASCII ‘%2$S’
+# LOCALIZATION NOTE (ignoringSrcFromMetaCSP):
+# %1$S defines the ignored src
+ignoringSrcFromMetaCSP = Bỏ qua nguồn ‘%1$S’, (Không được hỗ trợ khi được gửi qua phần tử meta).
+# LOCALIZATION NOTE (ignoringSrcWithinScriptStyleSrc):
+# %1$S is the ignored src
+# script-src and style-src are directive names and should not be localized
+ignoringSrcWithinScriptStyleSrc = Bỏ qua “%1$S” trong script-src hoặc style-src: nonce-source hoặc hash-source đã được chỉ định
+# LOCALIZATION NOTE (ignoringSrcForStrictDynamic):
+# %1$S is the ignored src
+# script-src, as well as 'strict-dynamic' should not be localized
+ignoringSrcForStrictDynamic = Bỏ qua “%1$S” trong script-src: ‘strict-dynamic’ đã được chỉ định
+# LOCALIZATION NOTE (ignoringSrcWithinNonceOrHashDirective):
+# %1$S is the ignored src (e.g. "unsafe-inline")
+# %2$S is the directive (e.g. "script-src-elem")
+ignoringSrcWithinNonceOrHashDirective = Đang bỏ qua “%1$S” ở trong %2$S: nonce-source hoặc hash-source đã được chỉ định
+# LOCALIZATION NOTE (ignoringScriptSrcForStrictDynamic):
+# %1$S is the ignored src
+# %1$S is the directive src (e.g. "script-src-elem")
+# 'strict-dynamic' should not be localized
+ignoringScriptSrcForStrictDynamic = Đang bỏ qua “%1$S” ở trong %2$S: ‘strict-dynamic’ đã được chỉ định
+# LOCALIZATION NOTE (ignoringStrictDynamic):
+# %1$S is the ignored src
+ignoringStrictDynamic = Bỏ qua nguồn “%1$S” (Chỉ được hỗ trợ trong script-src).
+# LOCALIZATION NOTE (ignoringUnsafeEval):
+# %1$S is the csp directive (e.g. script-src-elem)
+# 'unsafe-eval' and 'wasm-unsafe-eval' should not be localized
+ignoringUnsafeEval = Đang bỏ qua ‘unsafe-eval’ hoặc ‘wasm-unsafe-eval’ ở trong “%1$S”.
+# LOCALIZATION NOTE (strictDynamicButNoHashOrNonce):
+# %1$S is the csp directive that contains 'strict-dynamic'
+# 'strict-dynamic' should not be localized
+strictDynamicButNoHashOrNonce = Từ khóa ‘strict-dynamic’ trong “%1$S” không có mã khai báo hợp lệ hoặc hash có thể chặn tất cả các tập lệnh tải
+# LOCALIZATION NOTE (reportURInotHttpsOrHttp2):
+# %1$S is the ETLD of the report URI that is not HTTP or HTTPS
+reportURInotHttpsOrHttp2 = URI báo cáo (%1$S) phải là URI HTTP hoặc HTTPS.
+# LOCALIZATION NOTE (reportURInotInReportOnlyHeader):
+# %1$S is the ETLD of the page with the policy
+reportURInotInReportOnlyHeader = Trang web này (%1$S) có chính sách Chỉ báo cáo mà không có URI báo cáo. CSP sẽ không chặn và không thể báo cáo vi phạm chính sách này.
+# LOCALIZATION NOTE (failedToParseUnrecognizedSource):
+# %1$S is the CSP Source that could not be parsed
+failedToParseUnrecognizedSource = Lỗi phân tách nguồn chưa xác định %1$S
+# LOCALIZATION NOTE (upgradeInsecureRequest):
+# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+upgradeInsecureRequest = Nâng cấp yêu cầu không an toàn ‘%1$S’ để sử dụng ‘%2$S’
+# LOCALIZATION NOTE (ignoreSrcForDirective):
+ignoreSrcForDirective = Bỏ qua srcs cho chỉ thị ‘%1$S’
+# LOCALIZATION NOTE (hostNameMightBeKeyword):
+# %1$S is the hostname in question and %2$S is the keyword
+hostNameMightBeKeyword = Giải thích %1$S dưới dạng tên máy chủ, không phải từ khóa. Nếu bạn dự định đây là một từ khóa, hãy sử dụng ‘%2$S’ (được gói trong các trích dẫn đơn).
+# LOCALIZATION NOTE (notSupportingDirective):
+# directive is not supported (e.g. 'reflected-xss')
+notSupportingDirective = Không hỗ trợ chỉ thị ‘%1$S’. Chỉ thị và giá trị sẽ bị bỏ qua.
+# LOCALIZATION NOTE (blockAllMixedContent):
+# %1$S is the URL of the blocked resource load.
+blockAllMixedContent = Đang chặn yêu cầu không an toàn ‘%1$S’.
+# LOCALIZATION NOTE (ignoringDirectiveWithNoValues):
+# %1$S is the name of a CSP directive that requires additional values
+ignoringDirectiveWithNoValues = Bỏ qua ‘%1$S’ vì nó không chứa bất kỳ tham số nào.
+# LOCALIZATION NOTE (ignoringReportOnlyDirective):
+# %1$S is the directive that is ignored in report-only mode.
+ignoringReportOnlyDirective = Bỏ qua thuộc tính sandbox khi gửi với chính sách ‘%1$S’
+# LOCALIZATION NOTE (IgnoringSrcBecauseOfDirective):
+# %1$S is the name of the src that is ignored.
+# %2$S is the name of the directive that causes the src to be ignored.
+IgnoringSrcBecauseOfDirective=Đang bỏ qua ‘%1$S’ vì chỉ thị ‘%2$S’.
+# LOCALIZATION NOTE (IgnoringSourceWithinDirective):
+# %1$S is the ignored src
+# %2$S is the directive which supports src
+IgnoringSourceWithinDirective = Bỏ qua nguồn “%1$S” (Không được hỗ trợ trong ‘%2$S’).
+
+# CSP Errors:
+# LOCALIZATION NOTE (couldntParseInvalidSource):
+# %1$S is the source that could not be parsed
+couldntParseInvalidSource = Không thể phân tích nguồn %1$S không hợp lệ
+# LOCALIZATION NOTE (couldntParseInvalidHost):
+# %1$S is the host that's invalid
+couldntParseInvalidHost = Không thể phân tích máy chủ %1$S không hợp lệ
+# LOCALIZATION NOTE (couldntParsePort):
+# %1$S is the string source
+couldntParsePort = Không thể phân tích cổng trong %1$S
+# LOCALIZATION NOTE (duplicateDirective):
+# %1$S is the name of the duplicate directive
+duplicateDirective = Đã xác định chỉ thị %1$S bị trùng. Ngoại trừ trường hợp đầu tiên, tất cả còn lại đều bị bỏ qua.
+# LOCALIZATION NOTE (couldntParseInvalidSandboxFlag):
+# %1$S is the option that could not be understood
+couldntParseInvalidSandboxFlag = Không thể phân tích cú pháp gắn cờ hộp cát không hợp lệ ‘%1$S’
diff --git a/l10n-vi/dom/chrome/security/security.properties b/l10n-vi/dom/chrome/security/security.properties
new file mode 100644
index 0000000000..28d1b6dde7
--- /dev/null
+++ b/l10n-vi/dom/chrome/security/security.properties
@@ -0,0 +1,165 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Mixed Content Blocker
+# LOCALIZATION NOTE: "%1$S" is the URI of the blocked mixed content resource
+BlockMixedDisplayContent = Đã chặn việc tải các nội dung bị trộn lẫn thụ động từ "%1$S"
+BlockMixedActiveContent = Đã chặn việc tải các nội dung bị trộn lẫn chủ động từ "%1$S"
+
+# CORS
+# LOCALIZATION NOTE: Do not translate "Access-Control-Allow-Origin", Access-Control-Allow-Credentials, Access-Control-Allow-Methods, Access-Control-Allow-Headers
+CORSDisabled=Yêu cầu Cross-Origin đã bị chặn: Same Origin Policy không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: CORS bị vô hiệu hóa).
+CORSDidNotSucceed2=Yêu cầu Cross-Origin bị chặn: Chính sách Same Origin không cho phép đọc tài nguyên từ xa tại %1$S. (Lý do: Yêu cầu CORS không thành công). Mã trạng thái: %2$S.
+CORSOriginHeaderNotAdded=Yêu cầu Cross-Origin đã bị chặn: Same Origin Policy không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: Không thể thêm CORS header ‘Origin’).
+CORSExternalRedirectNotAllowed=Yêu cầu Cross-Origin đã bị chặn: Same Origin Policy không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: CORS yêu cầu chuyển hướng bên ngoài không được cho phép).
+CORSRequestNotHttp=Yêu cầu Cross-Origin đã bị chặn: Same Origin Policy không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: CORS yêu cầu không http).
+CORSMissingAllowOrigin2=Yêu cầu Cross-Origin bị chặn: Chính sách Same Origin không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: CORS header thiếu ‘Access-Control-Allow-Origin’). Mã trạng thái: %2$S.
+CORSMultipleAllowOriginNotAllowed=Yêu cầu Cross-Origin đã bị chặn: Same Origin Policy không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: Nhiều CORS header ‘Access-Control-Allow-Origin’ không được cho phép).
+CORSAllowOriginNotMatchingOrigin=Yêu cầu Cross-Origin đã bị chặn: Same Origin Policy không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: CORS header ‘Access-Control-Allow-Origin’ không khớp với ‘%2$S’).
+CORSNotSupportingCredentials=Yêu cầu Cross-Origin đã bị chặn: Same Origin Policy không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: Chứng chỉ không được hỗ trợ nếu CORS header ‘Access-Control-Allow-Origin’ là ‘*’).
+CORSMethodNotFound=Yêu cầu Cross-Origin đã bị chặn: Same Origin Policy không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: Không tìm thấy phương thức trong CORS header ‘Access-Control-Allow-Methods’).
+CORSMissingAllowCredentials=Yêu cầu Cross-Origin đã bị chặn: Same Origin Policy không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: phải là giá trị ‘true’ trong CORS header ‘Access-Control-Allow-Credentials’).
+CORSPreflightDidNotSucceed3=Yêu cầu Cross-Origin bị chặn: Chính sách Same Origin không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: CORS preflight phản hồi không thành công). Mã trạng thái: %2$S.
+CORSInvalidAllowMethod=Yêu cầu Cross-Origin đã bị chặn: Same Origin Policy không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: token ‘%2$S’ không hợp lệ trong CORS header ‘Access-Control-Allow-Methods’).
+CORSInvalidAllowHeader=Yêu cầu Cross-Origin đã bị chặn: Same Origin Policy không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: token ‘%2$S’ không hợp lệ trong CORS header ‘Access-Control-Allow-Headers’).
+CORSMissingAllowHeaderFromPreflight2=Yêu cầu Cross-Origin đã bị chặn: Same Origin Policy không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: header ‘%2$S’ không được phép theo header ‘Access-Control-Allow-Headers’ từ CORS preflight response).
+
+# LOCALIZATION NOTE: Do not translate "Strict-Transport-Security", "HSTS", "max-age" or "includeSubDomains"
+STSUnknownError=Strict-Transport-Security: Xảy ra lỗi không xác định khi xử lý header được chỉ định bởi trang web.
+STSUntrustworthyConnection=Strict-Transport-Security: Kết nối đến trang web không đáng tin cậy, vì vậy header được chỉ định đã bị bỏ qua.
+STSCouldNotParseHeader=Strict-Transport-Security: Trang web đã chỉ định một header không thể được phân tích cú pháp thành công.
+STSNoMaxAge=Strict-Transport-Security: Trang web đã chỉ định một header không bao gồm chỉ thị ‘max-age’.
+STSMultipleMaxAges=Strict-Transport-Security: Trang web đã chỉ định một header bao gồm nhiều chỉ thị ‘max-age’.
+STSInvalidMaxAge=Strict-Transport-Security: Trang web đã chỉ định một header bao gồm chỉ thị ‘max-age’ không hợp lệ.
+STSMultipleIncludeSubdomains=Strict-Transport-Security: Trang web đã chỉ định một header bao gồm nhiều chỉ thị ‘includeSubDomains’.
+STSInvalidIncludeSubdomains=Strict-Transport-Security: Trang web đã chỉ định một header bao gồm một chỉ thị ‘includeSubDomains’ không hợp lệ.
+STSCouldNotSaveState=Strict-Transport-Security: Đã xảy ra lỗi khi lưu ý trang web là máy chủ Strict-Transport-Security.
+
+InsecurePasswordsPresentOnPage=Các trường mật khẩu hiện trên trang (http://) không an toàn. Đây là một rủi ro bảo mật cho phép đánh cắp thông tin đăng nhập của người dùng.
+InsecureFormActionPasswordsPresent=Các trường mật khẩu có trong một biểu mẫu với biểu mẫu hành động (http://) không an toàn. Đây là một rủi ro bảo mật cho phép đánh cắp thông tin đăng nhập của người dùng.
+InsecurePasswordsPresentOnIframe=Các trường mật khẩu hiện trên iframe (http://) không an toàn. Đây là một rủi ro bảo mật cho phép đánh cắp thông tin đăng nhập của người dùng.
+# LOCALIZATION NOTE: "%1$S" is the URI of the insecure mixed content resource
+LoadingMixedActiveContent2=Đang tải nội dung hoạt động hỗn hợp (không an toàn) “%1$S” trên một trang an toàn
+LoadingMixedDisplayContent2=Đang tải nội dung hiển thị hỗn hợp (không an toàn) “%1$S” trên một trang an toàn
+LoadingMixedDisplayObjectSubrequestDeprecation=Tải nội dung hỗn hợp (không an toàn) “%1$S” trong một bổ trợ trên trang bảo mật không được khuyến khích và sẽ bị chặn trong tương lai.
+# LOCALIZATION NOTE: "%S" is the URI of the insecure mixed content download
+MixedContentBlockedDownload = Đã chặn tải xuống nội dung không an toàn “%S”.
+
+# LOCALIZATION NOTE: Do not translate "allow-scripts", "allow-same-origin", "sandbox" or "iframe"
+BothAllowScriptsAndSameOriginPresent=Một iframe có cả allow-scripts và allow-same-origin cho thuộc tính sandbox của nó có thể loại bỏ hộp cát của nó.
+# LOCALIZATION NOTE: Do not translate "allow-top-navigation-by-user-activation", "allow-top-navigation", "sandbox" or "iframe"
+BothAllowTopNavigationAndUserActivationPresent=Một iframe có cả hai allow-top-navigation và allow-top-navigation-by-user-activation cho thuộc tính sandbox của nó sẽ cho phép điều hướng nội dung đến bối cảnh duyệt cấp cao nhất.
+
+# Sub-Resource Integrity
+# LOCALIZATION NOTE: Do not translate "script" or "integrity". "%1$S" is the invalid token found in the attribute.
+MalformedIntegrityHash=Phần tử script có hash không đúng định dạng trong thuộc tính integrity của nó: “%1$S”. Định dạng đúng là “<hash algorithm>-<hash value>”.
+# LOCALIZATION NOTE: Do not translate "integrity"
+InvalidIntegrityLength=Hash chứa trong thuộc tính integrity có độ dài không đúng.
+# LOCALIZATION NOTE: Do not translate "integrity"
+InvalidIntegrityBase64=Không thể giải mã hash chứa trong thuộc tính integrity.
+# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the type of hash algorithm in use (e.g. "sha256").
+IntegrityMismatch=Không có giá trị hash nào của “%1$S” trong thuộc tính integrity khớp với nội dung của nguồn phụ.
+# LOCALIZATION NOTE: "%1$S" is the URI of the sub-resource that cannot be protected using SRI.
+IneligibleResource=“%1$S” không đủ điều kiện để kiểm tra tính toàn vẹn vì nó không là CORS-enabled cũng không là same-origin.
+# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the invalid hash algorithm found in the attribute.
+UnsupportedHashAlg=Thuật toán hash không được hỗ trợ trong thuộc tính integrity: “%1$S”
+# LOCALIZATION NOTE: Do not translate "integrity"
+NoValidMetadata=Thuộc tính integrity không chứa bất kỳ siêu dữ liệu (metadata) hợp lệ.
+
+# LOCALIZATION NOTE: Do not translate "RC4".
+WeakCipherSuiteWarning=Trang web này sử dụng mật mã RC4 để mã hóa, nó không còn dùng nữa và không an toàn.
+
+DeprecatedTLSVersion2=Trang web này sử dụng phiên bản TLS không dùng nữa. Vui lòng nâng cấp lên TLS 1.2 hoặc 1.3.
+
+#XCTO: nosniff
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options: nosniff".
+MimeTypeMismatch2=Tài nguyên từ “%1$S” bị chặn do kiểu MIME (“%2$S”) không khớp (X-Content-Type-Options: nosniff).
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options" and also do not translate "nosniff".
+XCTOHeaderValueMissing=Cảnh báo X-Content-Type-Options header: giá trị là “%1$S”; ý của bạn là gửi “nosniff”?
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options" and also do not translate "nosniff".
+XTCOWithMIMEValueMissing=Tài nguyên từ “%1$S” không được hiển thị do loại MIME không xác định, không chính xác hoặc bị thiếu (X-Content-Type-Options: nosniff).
+
+BlockScriptWithWrongMimeType2=Script từ “%1$S” đã bị chặn vì kiểu MIME (“%2$S”) không được cho phép.
+WarnScriptWithWrongMimeType=Script từ “%1$S” đã được tải ngay cả khi kiểu MIME của nó (“%2$S”) không phải là kiểu MIME JavaScript hợp lệ.
+# LOCALIZATION NOTE: Do not translate "importScripts()"
+BlockImportScriptsWithWrongMimeType=Đã chặn việc tải script từ “%1$S” bằng importScripts() do kiểu MIME (“%2$S”) không được cho phép.
+BlockWorkerWithWrongMimeType=Đã chặn việc tải trình làm việc từ “%1$S” do kiểu MIME (“%2$S”) không được phép.
+BlockModuleWithWrongMimeType=Đã chặn việc tải mô-đun từ “%1$S” do kiểu MIME (“%2$S”) không được cho phép.
+
+# LOCALIZATION NOTE: Do not translate "data: URI".
+BlockTopLevelDataURINavigation=Điều hướng đến toplevel data: URI không được cho phép (Chặn tải của: “%1$S”)
+BlockSubresourceRedirectToData=Chuyển hướng đến data: URI không an toàn không được cho phép (Chặn tải của: “%1$S”)
+
+BlockSubresourceFTP=Không cho phép tải xuống nguồn phụ FTP trong trang http(s) (Chặn tải của: “%1$S”)
+
+# LOCALIZATION NOTE: Do not translate "file: URI". “%1$S” is the whole URI of the loaded file. “%2$S” is the MIME type e.g. "text/plain".
+BlockFileScriptWithWrongMimeType=Đang tải tập lệnh từ tập tin: URI (“%1$S”) đã bị chặn vì kiểu MIME của nó (“%2$S”) không phải là kiểu MIME JavaScript hợp lệ.
+
+RestrictBrowserEvalUsage=eval() và eval-like không được phép sử dụng trong quy trình cha hoặc trong bối cảnh hệ thống (Đã chặn sử dụng trong “%1$S”)
+
+# LOCALIZATION NOTE (MixedContentAutoUpgrade):
+# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+MixedContentAutoUpgrade=Nâng cấp yêu cầu hiển thị không an toàn ‘%1$S’ để sử dụng ‘%2$S’
+# LOCALIZATION NOTE (RunningClearSiteDataValue):
+# %S is the URI of the resource whose data was cleaned up
+RunningClearSiteDataValue=Clear-Site-Data header buộc phải dọn sạch dữ liệu của “%S”.
+UnknownClearSiteDataValue=Clear-Site-Data header được tìm thấy. Giá trị không xác định “%S”.
+
+# Reporting API
+ReportingHeaderInvalidJSON=Header báo cáo: giá trị JSON nhận được không hợp lệ.
+ReportingHeaderInvalidNameItem=Header báo cáo: tên cho nhóm không hợp lệ.
+ReportingHeaderDuplicateGroup=Header báo cáo: bỏ qua nhóm trùng lặp có tên là “%S”.
+ReportingHeaderInvalidItem=Header báo cáo: bỏ qua mục không hợp lệ có tên là “%S”.
+ReportingHeaderInvalidEndpoint=Header báo cáo: bỏ qua điểm cuối không hợp lệ cho mục có tên là “%S”.
+# LOCALIZATION NOTE(ReportingHeaderInvalidURLEndpoint): %1$S is the invalid URL, %2$S is the group name
+ReportingHeaderInvalidURLEndpoint=Header báo cáo: bỏ qua điểm cuối URL không hợp lệ “%1$S” cho mục có tên là “%2$S”.
+
+FeaturePolicyUnsupportedFeatureName=Chính sách tính năng: Bỏ qua tên tính năng không được hỗ trợ “%S”.
+# TODO: would be nice to add a link to the Feature-Policy MDN documentation here. See bug 1449501
+FeaturePolicyInvalidEmptyAllowValue= Chính sách tính năng: Bỏ qua danh sách cho phép tính năng trống: “%S”.
+# TODO: would be nice to add a link to the Feature-Policy MDN documentation here. See bug 1449501
+FeaturePolicyInvalidAllowValue=Chính sách tính năng: Bỏ qua giá trị cho phép không được hỗ trợ “%S”.
+
+# LOCALIZATION NOTE: "%1$S" is the limitation length (bytes) of referrer URI, "%2$S" is the origin of the referrer URI.
+ReferrerLengthOverLimitation=HTTP Referrer header: Độ dài vượt quá giới hạn “%1$S” byte - sẽ tách referrer header làm origin: “%2$S”
+# LOCALIZATION NOTE: "%1$S" is the limitation length (bytes) of referrer URI, "%2$S" is the origin of the referrer URI.
+ReferrerOriginLengthOverLimitation=HTTP Referrer header: Độ dài của origin trong referrer vượt quá giới hạn “%1$S” byte - sẽ loại bỏ referrer với origin “%2$S”.
+
+# LOCALIZATION NOTE: Do not translate "no-referrer-when-downgrade", "origin-when-cross-origin" and "unsafe-url". %S is the URI of the loading channel.
+ReferrerPolicyDisallowRelaxingWarning=Chính sách Referrer: Các chính sách ít bị hạn chế hơn, bao gồm ‘no-referrer-when-downgrade’, ‘origin-when-cross-origin’ và ‘unsafe-url’, sẽ sớm bị bỏ qua đối với yêu cầu cross-site: %S
+# LOCALIZATION NOTE: %1$S is the ignored referrer policy, %2$S is the URI of the loading channel.
+ReferrerPolicyDisallowRelaxingMessage=Chính sách Referrer: Đang bỏ qua chính sách referrer ít bị hạn chế hơn “%1$S” cho yêu cầu cross-site: %2$S
+
+# X-Frame-Options
+# LOCALIZATION NOTE(XFrameOptionsInvalid): %1$S is the header value, %2$S is frame URI. Do not translate "X-Frame-Options".
+XFrameOptionsInvalid = Đã tìm thấy tiêu đề X-Frame-Options không hợp lệ khi tải “%2$S”: “%1$S” không phải là một chỉ thị hợp lệ.
+# LOCALIZATION NOTE(XFrameOptionsDeny): %1$S is the header value, %2$S is frame URI and %3$S is the parent document URI. Do not translate "X-Frame-Options".
+XFrameOptionsDeny=Quá trình tải của “%2$S” vào một frame bị từ chối bởi chỉ thị “X-Frame-Options“ đã được đặt thành “%1$S“.
+
+# HTTPS-Only Mode
+# LOCALIZATION NOTE: %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+HTTPSOnlyUpgradeRequest = Nâng cấp yêu cầu không an toàn “%1$S” để sử dụng “%2$S”.
+# LOCALIZATION NOTE: %1$S is the URL of request.
+HTTPSOnlyNoUpgradeException = Do sự miễn trừ, yêu cầu không an toàn “%1$S” đã không được nâng cấp.
+# LOCALIZATION NOTE: %1$S is the URL of the failed request; %2$S is an error-code.
+HTTPSOnlyFailedRequest = Yêu cầu không an toàn “%1$S” không thể nâng cấp. (%2$S)
+# LOCALIZATION NOTE: %S is the URL of the failed request;
+HTTPSOnlyFailedDowngradeAgain = Nâng cấp yêu cầu không an toàn “%S” không thành công. Đang hạ cấp xuống “http” một lần nữa.
+# LOCALIZATION NOTE: Hints or indicates a new transaction for a URL is likely coming soon. We use
+# a speculative connection to start a TCP connection so that the resource is immediately ready
+# when the transaction is actually submitted. HTTPS-Only and HTTPS-First will upgrade such
+# speculative TCP connections from http to https.
+# %1$S is the URL of the upgraded speculative TCP connection; %2$S is the upgraded scheme.
+HTTPSOnlyUpgradeSpeculativeConnection = Nâng cấp kết nối TCP suy đoán không an toàn “%1$S” để sử dụng “%2$S”.
+
+# LOCALIZATION NOTE: %S is the URL of the blocked request;
+IframeSandboxBlockedDownload = Tải xuống của “%S” đã bị chặn do iframe đang kích hoạt đã đặt cờ thành sandbox.
+
+# LOCALIZATION NOTE: %S is the URL of the blocked request;
+
+# Sanitizer API
+# LOCALIZATION NOTE: Please do not localize "DocumentFragment". It's the name of an API.
+SanitizerRcvdNoInput = Dữ liệu trống hoặc không có đầu vào. Đang trả lại một DocumentFragment trống.
+# LOCALIZATION NOTE: "Sanitizer" is the name of the API. Please do not localize.
+SanitizerOptionsDiscarded = Các tùy chọn cho hàm tạo Sanitizer chưa được hỗ trợ. Xin lưu ý rằng đây là hành vi thử nghiệm.
diff --git a/l10n-vi/dom/chrome/svg/svg.properties b/l10n-vi/dom/chrome/svg/svg.properties
new file mode 100644
index 0000000000..6cdaff7151
--- /dev/null
+++ b/l10n-vi/dom/chrome/svg/svg.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+AttributeParseWarning=Giá trị không mong đợi %2$S đang phân tích thuộc tính %1$S.
diff --git a/l10n-vi/dom/chrome/xml/prettyprint.dtd b/l10n-vi/dom/chrome/xml/prettyprint.dtd
new file mode 100644
index 0000000000..7cb1571c50
--- /dev/null
+++ b/l10n-vi/dom/chrome/xml/prettyprint.dtd
@@ -0,0 +1,5 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY xml.nostylesheet "Tập tin XML có vẻ như không có thông tin kiểu nào đi kèm với nó. Cấu trúc tài liệu được hiển thị bên dưới.">
diff --git a/l10n-vi/dom/chrome/xslt/xslt.properties b/l10n-vi/dom/chrome/xslt/xslt.properties
new file mode 100644
index 0000000000..dcf5a1f46f
--- /dev/null
+++ b/l10n-vi/dom/chrome/xslt/xslt.properties
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+1 = Thất bại khi phân tích một stylesheet XSLT.
+2 = Thất bại khi phân tích một biểu thức XPath.
+3 =
+4 = Thất bại khi chuyển đổi XSLT.
+5 = Sai hàm XSLT/XPath.
+6 = Bảng kiểu XSLT (có thể) chứa đệ qui.
+7 = Giá trị thuộc tính không hợp lệ trong XSLT 1.0.
+8 = Cần một biểu thức XPath để trả lại một NodeSet.
+9 = Chuyển đổi XSLT bị hủy bỏ bởi <xsl:message>.
+10 = Một lỗi mạng đã xảy ra khi tải một bảng kiểu XSLT:
+11 = Một stylesheet XSLT không chứa kiểu mime XML:
+12 = Một stylesheet XSLT nhập trực tiếp hoặc gián tiếp hoặc chứa chính nó:
+13 = Nột hàm XPath được gọi với số đối số sai.
+14 = Một hàm mở rộng XPath được gọi.
+15 = Phân tích XPath thất bại: cần ')':
+16 = Phân tích XPath thất bại: sai trục:
+17 = Phân tích XPath thất bại: cần kiểm tra Tên hoặc Nodetype:
+18 = Phân tích XPath thất bại: cần ']':
+19 = Phân tích XPath thất bại: sai tên biến:
+20 = Phân tích XPath thất bại: bất ngờ kết thúc biểu thức:
+21 = Phân tích XPath thất bại: cần toán tử:
+22 = Phân tích XPath thất bại: chưa đóng kí tự sai:
+23 = Phân tích XPath thất bại: thừa ':':
+24 = Phân tích XPath thất bại: thừa '!', phủ định là not():
+25 = Phân tích XPath thất bại: tìm thấy kí tự không hợp lệ:
+26 = Phân tích XPath thất bại: cần toán tử nhị phân:
+27 = Một stylesheet XSLT đã bị chặn vì lí do bảo mật.
+28 = Định lượng biểu thức bất hợp lệ.
+29 = Dấu ngoặc ôm không cân bằng.
+30 = Đang tạo một phần tử với QName bất hợp lệ.
+31 = Gắn kết biến che đậy gắn kết biến trong cùng khuôn mẫu.
+32 = Không có quyền gọi hàm chính.
+
+LoadingError = Gặp lỗi khi tải stylesheet: %S
+TransformError = Gặp lỗi khi chuyển đổi XSLT: %S