summaryrefslogtreecommitdiffstats
path: root/thunderbird-l10n/vi/localization
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
commit6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /thunderbird-l10n/vi/localization
parentInitial commit. (diff)
downloadthunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz
thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'thunderbird-l10n/vi/localization')
-rw-r--r--thunderbird-l10n/vi/localization/vi/branding/brand.ftl22
-rw-r--r--thunderbird-l10n/vi/localization/vi/browser/appExtensionFields.ftl16
-rw-r--r--thunderbird-l10n/vi/localization/vi/browser/branding/brandings.ftl18
-rw-r--r--thunderbird-l10n/vi/localization/vi/browser/components/mozFiveStar.ftl9
-rw-r--r--thunderbird-l10n/vi/localization/vi/browser/components/mozSupportLink.ftl5
-rw-r--r--thunderbird-l10n/vi/localization/vi/calendar/calendar-context-menus.ftl10
-rw-r--r--thunderbird-l10n/vi/localization/vi/calendar/calendar-delete-prompt.ftl29
-rw-r--r--thunderbird-l10n/vi/localization/vi/calendar/calendar-editable-item.ftl30
-rw-r--r--thunderbird-l10n/vi/localization/vi/calendar/calendar-event-dialog-reminder.ftl10
-rw-r--r--thunderbird-l10n/vi/localization/vi/calendar/calendar-event-listing.ftl71
-rw-r--r--thunderbird-l10n/vi/localization/vi/calendar/calendar-ics-file-dialog.ftl44
-rw-r--r--thunderbird-l10n/vi/localization/vi/calendar/calendar-invitation-panel.ftl113
-rw-r--r--thunderbird-l10n/vi/localization/vi/calendar/calendar-invitations-dialog.ftl10
-rw-r--r--thunderbird-l10n/vi/localization/vi/calendar/calendar-itip-identity-dialog.ftl8
-rw-r--r--thunderbird-l10n/vi/localization/vi/calendar/calendar-print.ftl17
-rw-r--r--thunderbird-l10n/vi/localization/vi/calendar/calendar-recurrence-dialog.ftl8
-rw-r--r--thunderbird-l10n/vi/localization/vi/calendar/calendar-summary-dialog.ftl17
-rw-r--r--thunderbird-l10n/vi/localization/vi/calendar/calendar-uri-redirect-dialog.ftl12
-rw-r--r--thunderbird-l10n/vi/localization/vi/calendar/calendar-widgets.ftl111
-rw-r--r--thunderbird-l10n/vi/localization/vi/calendar/category-dialog.ftl7
-rw-r--r--thunderbird-l10n/vi/localization/vi/calendar/preferences.ftl192
-rw-r--r--thunderbird-l10n/vi/localization/vi/chat/matrix.ftl20
-rw-r--r--thunderbird-l10n/vi/localization/vi/crashreporter/aboutcrashes.ftl31
-rw-r--r--thunderbird-l10n/vi/localization/vi/devtools/client/aboutdebugging.ftl400
-rw-r--r--thunderbird-l10n/vi/localization/vi/devtools/client/accessibility.ftl92
-rw-r--r--thunderbird-l10n/vi/localization/vi/devtools/client/application.ftl121
-rw-r--r--thunderbird-l10n/vi/localization/vi/devtools/client/compatibility.ftl53
-rw-r--r--thunderbird-l10n/vi/localization/vi/devtools/client/perftools.ftl124
-rw-r--r--thunderbird-l10n/vi/localization/vi/devtools/client/storage.ftl109
-rw-r--r--thunderbird-l10n/vi/localization/vi/devtools/client/styleeditor.ftl52
-rw-r--r--thunderbird-l10n/vi/localization/vi/devtools/client/toolbox-options.ftl148
-rw-r--r--thunderbird-l10n/vi/localization/vi/devtools/client/toolbox.ftl55
-rw-r--r--thunderbird-l10n/vi/localization/vi/devtools/client/tooltips.ftl97
-rw-r--r--thunderbird-l10n/vi/localization/vi/devtools/shared/debugger-paused-reasons.ftl87
-rw-r--r--thunderbird-l10n/vi/localization/vi/devtools/shared/highlighters.ftl62
-rw-r--r--thunderbird-l10n/vi/localization/vi/devtools/shared/webconsole-commands.ftl24
-rw-r--r--thunderbird-l10n/vi/localization/vi/devtools/startup/key-shortcuts.ftl38
-rw-r--r--thunderbird-l10n/vi/localization/vi/dom/XMLPrettyPrint.ftl5
-rw-r--r--thunderbird-l10n/vi/localization/vi/dom/media.ftl6
-rw-r--r--thunderbird-l10n/vi/localization/vi/locales-preview/aboutTranslations.ftl28
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/about3Pane.ftl405
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/aboutAddonsExtra.ftl12
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/aboutDialog.ftl66
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/aboutImport.ftl282
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/aboutProfilesExtra.ftl5
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/aboutRights.ftl42
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/aboutSupportCalendar.ftl33
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/aboutSupportChat.ftl11
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/aboutSupportMail.ftl31
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/accountCentral.ftl65
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/accountManager.ftl18
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/accountProvisioner.ftl77
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/accountcreation/accountHub.ftl83
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/accountcreation/accountSetup.ftl290
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/addonNotifications.ftl110
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/addressbook/abCardDAVDialog.ftl26
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/addressbook/abCardDAVProperties.ftl31
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/addressbook/aboutAddressBook.ftl297
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/addressbook/fieldMapImport.ftl12
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/addressbook/vcard.ftl138
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/appmenu.ftl210
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/chat-verifySession.ftl17
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/chat.ftl47
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/compactFoldersDialog.ftl20
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/exportDialog.ftl22
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/extensionPermissions.ftl27
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/extensions/popup.ftl14
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/extensionsUI.ftl9
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/firefoxAccounts.ftl32
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/flatpak.ftl24
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/folderprops.ftl10
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/importDialog.ftl30
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/mailWidgets.ftl15
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/menubar.ftl144
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/messageheader/headerFields.ftl67
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/messenger.ftl404
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/messengercompose/messengercompose.ftl397
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/migration.ftl15
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/multimessageview.ftl14
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/openpgp/backupKeyPassword.ftl17
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/openpgp/changeExpiryDlg.ftl22
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/openpgp/composeKeyStatus.ftl23
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/openpgp/keyAssistant.ftl109
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/openpgp/keyWizard.ftl139
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/openpgp/msgReadStatus.ftl81
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/openpgp/oneRecipientStatus.ftl48
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/openpgp/openpgp-frontend.ftl54
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/openpgp/openpgp.ftl724
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/otr/add-finger.ftl16
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/otr/am-im-otr.ftl26
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/otr/auth.ftl60
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/otr/chat.ftl19
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/otr/finger-sync.ftl12
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/otr/finger.ftl20
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/otr/otr.ftl97
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/otr/otrUI.ftl87
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/policies/aboutPolicies.ftl17
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/policies/policies-descriptions.ftl159
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/preferences/am-copies.ftl5
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/preferences/am-im.ftl23
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/preferences/application-manager.ftl10
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/preferences/attachment-reminder.ftl21
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/preferences/colors.ftl36
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/preferences/connection.ftl92
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/preferences/cookies.ftl44
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/preferences/dock-options.ftl23
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/preferences/fonts.ftl134
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/preferences/languages.ftl33
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/preferences/new-tag.ftl13
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/preferences/notifications.ftl29
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/preferences/offline.ftl43
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/preferences/passwordManager.ftl83
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/preferences/permissions.ftl43
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/preferences/preferences.ftl789
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/preferences/receipts.ftl39
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/preferences/sync-dialog.ftl11
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/preferences/system-integration.ftl39
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/shortcuts.ftl113
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/syncAccounts.ftl28
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/treeView.ftl65
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/troubleshootMode.ftl33
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/unifiedToolbar.ftl92
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/unifiedToolbarItems.ftl165
-rw-r--r--thunderbird-l10n/vi/localization/vi/messenger/viewSource.ftl19
-rw-r--r--thunderbird-l10n/vi/localization/vi/security/certificates/certManager.ftl228
-rw-r--r--thunderbird-l10n/vi/localization/vi/security/certificates/deviceManager.ftl133
-rw-r--r--thunderbird-l10n/vi/localization/vi/security/pippki/pippki.ftl106
-rw-r--r--thunderbird-l10n/vi/localization/vi/services/accounts.ftl8
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/aboutAbout.ftl6
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/aboutAddons.ftl497
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/aboutCompat.ftl22
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/aboutGlean.ftl105
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/aboutHttpsOnlyError.ftl30
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/aboutLogging.ftl69
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/aboutMozilla.ftl11
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/aboutNetworking.ftl68
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/aboutPerformance.ftl67
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/aboutPlugins.ftl43
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/aboutProcesses.ftl186
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/aboutProfiles.ftl74
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/aboutReader.ftl48
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/aboutRights.ftl36
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/aboutServiceWorkers.ftl40
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/aboutSupport.ftl398
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/aboutTelemetry.ftl135
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/aboutThirdParty.ftl85
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/aboutWebauthn.ftl104
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/aboutWebrtc.ftl278
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/aboutWindowsMessages.ftl20
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/abuseReports.ftl116
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/certviewer.ftl122
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/config.ftl55
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/about/url-classifier.ftl58
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/branding/accounts.ftl7
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/branding/brandings.ftl45
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/contentanalysis/contentanalysis.ftl31
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/downloads/downloadUI.ftl51
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/downloads/downloadUtils.ftl90
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/featuregates/features.ftl58
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/formautofill/formAutofill.ftl49
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/alert.ftl12
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/appPicker.ftl10
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/browser-utils.ftl11
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/commonDialog.ftl21
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/contextual-identity.ftl29
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/cookieBannerHandling.ftl5
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/createProfileWizard.ftl53
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/cspErrors.ftl32
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/datepicker.ftl50
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/datetimebox.ftl42
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/extensionPermissions.ftl33
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/extensions.ftl104
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/handlerDialog.ftl70
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/htmlForm.ftl10
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/mozCard.ftl3
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/mozFiveStar.ftl9
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/mozMessageBar.ftl15
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/mozSupportLink.ftl5
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/notification.ftl16
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/popupnotification.ftl10
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/processTypes.ftl61
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/profileDowngrade.ftl18
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/profileSelection.ftl38
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/resetProfile.ftl15
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/resistFingerPrinting.ftl6
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/run-from-dmg.ftl28
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/tabprompts.ftl13
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/textActions.ftl64
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/timepicker.ftl3
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/tree.ftl6
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/unknownContentType.ftl42
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/videocontrols.ftl71
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/global/wizard.ftl37
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/intl/languageNames.ftl215
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/intl/regionNames.ftl280
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/main-window/autocomplete.ftl23
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/main-window/findbar.ftl68
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/neterror/certError.ftl141
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/neterror/netError.ftl149
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/neterror/nsserrors.ftl349
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/passwordmgr/passwordmgr.ftl39
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/payments/payments.ftl51
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/pdfviewer/viewer.ftl376
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/pictureinpicture/pictureinpicture.ftl86
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/preferences/preferences.ftl39
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/printing/printDialogs.ftl112
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/printing/printPreview.ftl73
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/printing/printUI.ftl147
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/reportBrokenSite/reportBrokenSite.ftl3
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/updates/backgroundupdate.ftl5
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/updates/elevation.ftl18
-rw-r--r--thunderbird-l10n/vi/localization/vi/toolkit/updates/history.ftl29
212 files changed, 16242 insertions, 0 deletions
diff --git a/thunderbird-l10n/vi/localization/vi/branding/brand.ftl b/thunderbird-l10n/vi/localization/vi/branding/brand.ftl
new file mode 100644
index 0000000000..a188e71b74
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/branding/brand.ftl
@@ -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/.
+
+
+## Thunderbird Brand
+##
+## Thunderbird must be treated as a brand, and kept in English.
+## It cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Reference: https://www.mozilla.org/styleguide/communications/translation/
+
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Daily, Beta, etc.).
+-brand-product-name = Thunderbird
+-vendor-short-name = Mozilla
+trademarkInfo = Mozilla Thunderbird và biểu tượng Thunderbird là thương hiệu của Mozilla Foundation.
diff --git a/thunderbird-l10n/vi/localization/vi/browser/appExtensionFields.ftl b/thunderbird-l10n/vi/localization/vi/browser/appExtensionFields.ftl
new file mode 100644
index 0000000000..59aba0614d
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/browser/appExtensionFields.ftl
@@ -0,0 +1,16 @@
+# 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/.
+
+
+## Theme names and descriptions used in the Themes panel in about:addons
+
+# "Auto" is short for automatic. It can be localized without limitations.
+extension-default-theme-name-auto = Chủ đề hệ thống — tự động
+extension-default-theme-description = Áp dụng theo cài đặt hệ điều hành cho các nút, menu và cửa sổ.
+
+extension-thunderbird-compact-light-name = Sáng
+extension-thunderbird-compact-light-description = Một chủ đề với tông màu sáng.
+
+extension-thunderbird-compact-dark-name = Tối
+extension-thunderbird-compact-dark-description = Một chủ đề với tông màu tối.
diff --git a/thunderbird-l10n/vi/localization/vi/browser/branding/brandings.ftl b/thunderbird-l10n/vi/localization/vi/browser/branding/brandings.ftl
new file mode 100644
index 0000000000..9ada8da73a
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/browser/branding/brandings.ftl
@@ -0,0 +1,18 @@
+# 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/.
+
+
+## The following feature names must be treated as a brand.
+##
+## They cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Declension should be avoided where possible, leaving the original
+## brand unaltered in prominent UI positions.
+##
+## For further details, consult:
+## https://mozilla-l10n.github.io/styleguides/mozilla_general/#brands-copyright-and-trademark
+
+-profiler-brand-name = Firefox Profiler
diff --git a/thunderbird-l10n/vi/localization/vi/browser/components/mozFiveStar.ftl b/thunderbird-l10n/vi/localization/vi/browser/components/mozFiveStar.ftl
new file mode 100644
index 0000000000..1b7927b434
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/browser/components/mozFiveStar.ftl
@@ -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/.
+
+# The rating out of 5 stars.
+# Variables:
+# $rating (number) - A number between 0 and 5. The translation should show at most one digit after the comma.
+moz-five-star-rating =
+ .title = Đã xếp hạng { NUMBER($rating, maximumFractionDigits: 1) } trên 5
diff --git a/thunderbird-l10n/vi/localization/vi/browser/components/mozSupportLink.ftl b/thunderbird-l10n/vi/localization/vi/browser/components/mozSupportLink.ftl
new file mode 100644
index 0000000000..d04cd7e55d
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/browser/components/mozSupportLink.ftl
@@ -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/.
+
+moz-support-link-text = Tìm hiểu thêm
diff --git a/thunderbird-l10n/vi/localization/vi/calendar/calendar-context-menus.ftl b/thunderbird-l10n/vi/localization/vi/calendar/calendar-context-menus.ftl
new file mode 100644
index 0000000000..5a250fe3f5
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/calendar/calendar-context-menus.ftl
@@ -0,0 +1,10 @@
+# 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/.
+
+list-calendar-context-reload-menuitem =
+ .label = Đồng bộ
+ .accesskey = S
+calendar-item-context-menu-modify-menuitem =
+ .label = Chỉnh sửa
+ .accesskey = E
diff --git a/thunderbird-l10n/vi/localization/vi/calendar/calendar-delete-prompt.ftl b/thunderbird-l10n/vi/localization/vi/calendar/calendar-delete-prompt.ftl
new file mode 100644
index 0000000000..bba109f556
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/calendar/calendar-delete-prompt.ftl
@@ -0,0 +1,29 @@
+# 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/.
+
+calendar-delete-event-prompt-title =
+ { $count ->
+ *[other] Xóa sự kiện
+ }
+calendar-delete-event-prompt-message =
+ { $count ->
+ *[other] Bạn có thực sự muốn xóa { $count } sự kiện này không?
+ }
+calendar-delete-task-prompt-title =
+ { $count ->
+ *[other] Xóa tác vụ
+ }
+calendar-delete-task-prompt-message =
+ { $count ->
+ *[other] Bạn có thực sự muốn xóa { $count } tác vụ này không?
+ }
+calendar-delete-item-prompt-title =
+ { $count ->
+ *[other] Xóa mục
+ }
+calendar-delete-item-prompt-message =
+ { $count ->
+ *[other] Bạn có thực sự muốn xóa { $count } mục này không?
+ }
+calendar-delete-prompt-disable-message = Đừng hỏi lại tôi nữa.
diff --git a/thunderbird-l10n/vi/localization/vi/calendar/calendar-editable-item.ftl b/thunderbird-l10n/vi/localization/vi/calendar/calendar-editable-item.ftl
new file mode 100644
index 0000000000..47560356d3
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/calendar/calendar-editable-item.ftl
@@ -0,0 +1,30 @@
+# 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/.
+
+calendar-editable-item-privacy-icon-private =
+ .alt = Quyền riêng tư: Sự kiện riêng tư
+calendar-editable-item-privacy-icon-confidential =
+ .alt = Quyền riêng tư: Chỉ hiển thị ngày và giờ
+calendar-editable-item-recurrence =
+ .alt = Định kỳ
+calendar-editable-item-recurrence-exception =
+ .alt = Ngoại lệ lặp lại
+calendar-editable-item-todo-icon-task =
+ .alt = Tác vụ
+calendar-editable-item-todo-icon-completed-task =
+ .alt = Tác vụ đã hoàn thành
+calendar-editable-item-multiday-event-icon-start =
+ .alt = Sự kiện kéo dài nhiều ngày bắt đầu
+calendar-editable-item-multiday-event-icon-continue =
+ .alt = Sự kiện kéo dài nhiều ngày tiếp tục
+calendar-editable-item-multiday-event-icon-end =
+ .alt = Sự kiện kéo dài nhiều ngày kết thúc
+calendar-editable-item-reminder-icon-alarm =
+ .alt = Một thông báo nhắc nhở đã được lên lịch
+calendar-editable-item-reminder-icon-suppressed-alarm =
+ .alt = Một thông báo nhắc nhở đã được lên lịch nhưng hiện đã bị chặn
+calendar-editable-item-reminder-icon-email =
+ .alt = Một e-mail nhắc nhở đã được lên lịch
+calendar-editable-item-reminder-icon-audio =
+ .alt = Một thông báo nhắc nhở bằng âm thanh đã được lên lịch
diff --git a/thunderbird-l10n/vi/localization/vi/calendar/calendar-event-dialog-reminder.ftl b/thunderbird-l10n/vi/localization/vi/calendar/calendar-event-dialog-reminder.ftl
new file mode 100644
index 0000000000..a0d402a9c2
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/calendar/calendar-event-dialog-reminder.ftl
@@ -0,0 +1,10 @@
+# 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/.
+
+calendar-event-reminder-icon-display =
+ .alt = Hiển thị một thông báo
+calendar-event-reminder-icon-email =
+ .alt = Gửi một e-mail
+calendar-event-reminder-icon-audio =
+ .alt = Phát âm thanh thông báo
diff --git a/thunderbird-l10n/vi/localization/vi/calendar/calendar-event-listing.ftl b/thunderbird-l10n/vi/localization/vi/calendar/calendar-event-listing.ftl
new file mode 100644
index 0000000000..621379b504
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/calendar/calendar-event-listing.ftl
@@ -0,0 +1,71 @@
+# 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/.
+
+calendar-event-listing-close =
+ .tooltiptext = Đóng tìm kiếm và danh sách sự kiện
+
+## Listing columns
+
+calendar-event-listing-column-calendar-name =
+ .label = Tên Lịch
+ .tooltiptext = Sắp xếp theo tên lịch
+calendar-event-listing-column-category =
+ .label = Danh mục
+ .tooltiptext = Sắp xếp theo danh mục
+# This label and tooltip is used for the column with the checkbox in the task
+# tree view, which indicates whether a task has been marked as completed.
+calendar-event-listing-column-completed =
+ .label = Xong
+ .tooltiptext = Sắp xếp theo hoàn thành
+calendar-event-listing-column-completed-date =
+ .label = Hoàn tất
+ .tooltiptext = Sắp xếp theo ngày hoàn tất
+calendar-event-listing-column-due-date =
+ .label = Đến hạn
+ .tooltiptext = Sắp xếp theo ngày đến hạn
+calendar-event-listing-column-end-date =
+ .label = Kết thúc
+ .tooltiptext = Sắp xếp theo ngày kết thúc
+calendar-event-listing-column-location =
+ .label = Địa điểm
+ .tooltiptext = Sắp xếp theo địa chỉ
+calendar-event-listing-column-percent-complete =
+ .label = Hoàn tất %
+ .tooltiptext = Sắp xếp theo hoàn tất %
+calendar-event-listing-column-priority =
+ .label = Ưu tiên
+ .tooltiptext = Sắp xếp theo mức độ ưu tiên
+calendar-event-listing-column-start-date =
+ .label = Bắt đầu
+ .tooltiptext = Sắp xếp theo ngày bắt đầu
+calendar-event-listing-column-status =
+ .label = Trạng thái
+ .tooltiptext = Sắp xếp theo trạng thái
+calendar-event-listing-column-time-until-due =
+ .label = Đến hạn trong
+ .tooltiptext = Sắp xếp theo thời gian cho đến khi đến hạn
+calendar-event-listing-column-title =
+ .label = Tiêu đề
+ .tooltiptext = Sắp xếp theo tiêu đề
+
+## Interval dropdown options
+
+calendar-event-listing-interval-calendar-month =
+ .label = Sự kiện trong tháng này
+calendar-event-listing-interval-current-view =
+ .label = Sự kiện trong chế độ xem hiện tại
+calendar-event-listing-interval-next-7-days =
+ .label = Sự kiện trong 7 ngày tới
+calendar-event-listing-interval-next-14-days =
+ .label = Sự kiện trong 14 ngày tới
+calendar-event-listing-interval-next-31-days =
+ .label = Sự kiện trong 31 ngày tới
+calendar-event-listing-interval-next-6-months =
+ .label = Sự kiện trong 6 tháng tiếp theo
+calendar-event-listing-interval-next-12-months =
+ .label = Sự kiện trong 12 tháng tiếp theo
+calendar-event-listing-interval-selected-day =
+ .label = Ngày được chọn
+calendar-event-listing-interval-today =
+ .label = Sự kiện trong hôm nay
diff --git a/thunderbird-l10n/vi/localization/vi/calendar/calendar-ics-file-dialog.ftl b/thunderbird-l10n/vi/localization/vi/calendar/calendar-ics-file-dialog.ftl
new file mode 100644
index 0000000000..02bed78c13
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/calendar/calendar-ics-file-dialog.ftl
@@ -0,0 +1,44 @@
+# 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/.
+
+calendar-ics-file-window-2 =
+ .title = Nhập sự kiện và tác vụ lịch
+calendar-ics-file-window-title = Nhập sự kiện và tác vụ lịch
+calendar-ics-file-dialog-import-event-button-label = Nhập sự kiện
+calendar-ics-file-dialog-import-task-button-label = Nhập tác vụ
+calendar-ics-file-dialog-2 =
+ .buttonlabelaccept = Nhập tất cả
+calendar-ics-file-accept-button-ok-label = OK
+calendar-ics-file-cancel-button-close-label = Đóng
+calendar-ics-file-dialog-message-2 = Nhập từ tập tin:
+calendar-ics-file-dialog-calendar-menu-label = Nhập vào lịch:
+calendar-ics-file-dialog-items-loading-message =
+ .value = Đang tải các mục…
+calendar-ics-file-dialog-search-input =
+ .placeholder = Lọc các mục…
+calendar-ics-file-dialog-sort-start-ascending =
+ .label = Sắp xếp theo ngày bắt đầu (ngày đầu đến ngày cuối)
+calendar-ics-file-dialog-sort-start-descending =
+ .label = Sắp xếp theo ngày bắt đầu (ngày cuối đến ngày đầu)
+# "A > Z" is used as a concise way to say "alphabetical order".
+# You may replace it with something appropriate to your language.
+calendar-ics-file-dialog-sort-title-ascending =
+ .label = Sắp xếp theo tiêu đề (A > Z)
+# "Z > A" is used as a concise way to say "reverse alphabetical order".
+# You may replace it with something appropriate to your language.
+calendar-ics-file-dialog-sort-title-descending =
+ .label = Sắp xếp theo tiêu đề (Z > A)
+calendar-ics-file-dialog-progress-message = Đang nhập…
+calendar-ics-file-import-success = Nhập thành công!
+calendar-ics-file-import-error = Đã xảy ra lỗi và không thể nhập.
+calendar-ics-file-import-complete = Hoàn thành nhập.
+calendar-ics-file-import-duplicates =
+ { $duplicatesCount ->
+ *[other] { $duplicatesCount } mục đã bị bỏ qua vì chúng đã tồn tại trong lịch đích.
+ }
+calendar-ics-file-import-errors =
+ { $errorsCount ->
+ *[other] Không nhập được { $errorsCount } mục. Kiểm tra bảng điều khiển lỗi để biết chi tiết.
+ }
+calendar-ics-file-dialog-no-calendars = Không có lịch có thể nhập các sự kiện hoặc tác vụ.
diff --git a/thunderbird-l10n/vi/localization/vi/calendar/calendar-invitation-panel.ftl b/thunderbird-l10n/vi/localization/vi/calendar/calendar-invitation-panel.ftl
new file mode 100644
index 0000000000..143b3c234c
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/calendar/calendar-invitation-panel.ftl
@@ -0,0 +1,113 @@
+# 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/.
+
+# Variables:
+# $organizer (String) - The participant that created the original invitation.
+calendar-invitation-panel-intro = { $organizer } đã mời bạn đến:
+calendar-invitation-panel-status-new = Bạn đã được mời đến sự kiện này.
+calendar-invitation-panel-status-processed = Sự kiện này đã được thêm vào lịch của bạn.
+calendar-invitation-panel-status-updateminor = Thư này chứa một bản cập nhật cho sự kiện này.
+calendar-invitation-panel-status-updatemajor = Thư này chứa một bản cập nhật cho sự kiện này. Bạn nên xác nhận lại quyết định tham dự của bạn.
+calendar-invitation-panel-status-cancelled = Thư này chứa yêu cầu hủy bỏ sự kiện này.
+calendar-invitation-panel-status-cancelled-notfound = Thư này chứa thông báo hủy một sự kiện không tìm thấy trên lịch của bạn.
+# Variables:
+# $organizer (String) - The participant that cancelled the invitation.
+calendar-invitation-panel-intro-cancel = { $organizer } đã hủy:
+# Variables:
+# $summary (String) - A short summary or title of the event.
+calendar-invitation-panel-title = { $summary }
+calendar-invitation-panel-action-button = Lưu
+calendar-invitation-panel-view-button = Xem
+calendar-invitation-panel-update-button = Cập nhật
+calendar-invitation-panel-delete-button = Xóa
+calendar-invitation-panel-accept-button = Có
+calendar-invitation-panel-decline-button = Không
+calendar-invitation-panel-tentative-button = Phân vân
+calendar-invitation-panel-reply-status = * Bạn vẫn chưa quyết định hoặc chưa trả lời
+calendar-invitation-panel-more-button = Thêm
+calendar-invitation-panel-menu-item-save-copy =
+ .label = Lưu bản sao
+calendar-invitation-panel-menu-item-toggle-changes =
+ .label = Hiển thị thay đổi
+calendar-invitation-panel-prop-title-when = Lúc:
+calendar-invitation-panel-prop-title-location = Địa chỉ:
+# Variables:
+# $dayOfWeek (String) - The day of the week for a given date.
+# $date (String) - The date example: Tuesday, February 24, 2022.
+calendar-invitation-datetime-date = { $dayOfWeek }, { $date }
+# Variables:
+# $time (String) - The time part of a datetime using the "short" timeStyle.
+# $timezone (String) - The timezone info for the datetime.
+calendar-invitation-datetime-time = { $time } ({ $timezone })
+# Example: Friday, September 16, 2022
+# Variables:
+# $startDate (String) - The date (without time) the event starts on.
+calendar-invitation-interval-all-day = { $startDate }
+# Example: September 16, 2022 – September 16, 2023
+# Variables:
+# $startMonth (String) - The month the interval starts.
+# $startDay (String) - The day of the month the interval starts.
+# $startYear (String) - The year the interval starts.
+# $endMonth (String) - The month the interval ends.
+# $endDay (String) - The day of the month the interval ends.
+# $endYear (String) - The year the interval ends.
+calendar-invitation-interval-all-day-between-years = { $startDay } { $startMonth } { $startYear } – { $endDay } { $endMonth } { $endYear }
+# Example: September 16 – 20, 2022
+# Variables:
+# $month (String) - The month the interval is in.
+# $startDay (String) - The day of the month the interval starts.
+# $endDay (String) - The day of the month the interval ends.
+# $year (String) - The year the interval is in.
+calendar-invitation-interval-all-day-in-month = { $startDay } – { $endDay } { $month } { $year }
+# Example: September 16 – October 20, 2022
+# Variables:
+# $startMonth (String) - The month the interval starts.
+# $startDay (String) - The day of the month the interval starts.
+# $endMonth (String) - The month the interval ends.
+# $endDay (String) - The day of the month the interval ends.
+# $year (String) - The year the interval is in.
+calendar-invitation-interval-all-day-between-months = { $startDay } { $startMonth } – { $endDay } { $endMonth } { $year }
+# Example: Friday, September 16, 2022 15:00 America/Port of Spain
+# Variables:
+# $startDate (String) - The date the interval starts.
+# $startTime (String) - The time the interval starts.
+# $timezone (String) - The timezone the interval is in.
+calendar-invitation-interval-same-date-time = <b>{ $startTime }</b> { $startDate } { $timezone }
+# Example: Friday, September 16, 2022 14:00 – 16:00 America/Port of Spain
+# Variables:
+# $startDate (String) - The date the interval starts.
+# $startTime (String) - The time the interval starts.
+# $endTime (String) - The time the interval ends.
+# $timezone (String) - The timezone the interval is in.
+calendar-invitation-interval-same-day = <b>{ $startTime }</b> – <b>{ $endTime }</b> { $startDate } { $timezone }
+# Example: Friday, September 16, 2022 14:00 – Tuesday, September 20, 2022 16:00 America/Port of Spain
+# Variables:
+# $startDate (String) - The date the interval starts.
+# $startTime (String) - The time the interval starts.
+# $endDate (String) - The date the interval ends.
+# $endTime (String) - The time the interval ends.
+# $timezone (String) - The timezone the interval is in.
+calendar-invitation-interval-several-days = <b>{ $startTime }</b> { $startDate } – <b>{ $endTime }</b> { $endDate } { $timezone }
+calendar-invitation-panel-prop-title-recurrence = Lặp lại:
+calendar-invitation-panel-prop-title-attendees = Người tham dự:
+calendar-invitation-panel-prop-title-description = Mô tả:
+# Variables:
+# $count (Number) - The number of attendees with the "ACCEPTED" participation status.
+calendar-invitation-panel-partstat-accepted = { $count } đồng ý
+# Variables:
+# $count (Number) - The number of attendees with the "DECLINED" participation status.
+calendar-invitation-panel-partstat-declined = { $count } từ chối
+# Variables:
+# $count (Number) - The number of attendees with the "TENTATIVE" participation status.
+calendar-invitation-panel-partstat-tentative = { $count } phân vân
+# Variables:
+# $count (Number) - The number of attendees with the "NEEDS-ACTION" participation status.
+calendar-invitation-panel-partstat-needs-action = { $count } đang chờ xử lý
+# Variables:
+# $count (Number) - The total number of attendees.
+calendar-invitation-panel-partstat-total = { $count } người tham dự
+calendar-invitation-panel-prop-title-attachments = Đính kèm:
+calendar-invitation-change-indicator-removed = Đã xóa
+calendar-invitation-change-indicator-added = Mới
+calendar-invitation-change-indicator-modified = Đã thay đổi
diff --git a/thunderbird-l10n/vi/localization/vi/calendar/calendar-invitations-dialog.ftl b/thunderbird-l10n/vi/localization/vi/calendar/calendar-invitations-dialog.ftl
new file mode 100644
index 0000000000..5e35c0d7d5
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/calendar/calendar-invitations-dialog.ftl
@@ -0,0 +1,10 @@
+# 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/.
+
+calendar-invitation-current-participation-status-icon-accepted =
+ .alt = Hiện tại đã được chấp nhận
+calendar-invitation-current-participation-status-icon-declined =
+ .alt = Hiện tại đã từ chối
+calendar-invitation-current-participation-status-icon-needs-action =
+ .alt = Hiện tại chưa được quyết định
diff --git a/thunderbird-l10n/vi/localization/vi/calendar/calendar-itip-identity-dialog.ftl b/thunderbird-l10n/vi/localization/vi/calendar/calendar-itip-identity-dialog.ftl
new file mode 100644
index 0000000000..34d3b5ea23
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/calendar/calendar-itip-identity-dialog.ftl
@@ -0,0 +1,8 @@
+# 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/.
+
+calendar-itip-identity-dialog-title = Buổi tiệc đã tàn?
+calendar-itip-identity-warning = Bạn hiện chưa ở trong danh sách khách mời.
+calendar-itip-identity-label = Trả lời với tư cách:
+calendar-itip-identity-label-none = Liên kết sự kiện này với:
diff --git a/thunderbird-l10n/vi/localization/vi/calendar/calendar-print.ftl b/thunderbird-l10n/vi/localization/vi/calendar/calendar-print.ftl
new file mode 100644
index 0000000000..3dd66b99c7
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/calendar/calendar-print.ftl
@@ -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/.
+
+calendar-print-layout-label = Bố cục
+calendar-print-layout-list = Danh sách
+calendar-print-layout-month-grid = Lịch trình hàng tháng
+calendar-print-layout-week-planner = Kế hoạch hàng tuần
+calendar-print-filter-label = Những gì để in
+calendar-print-filter-events = Sự kiện
+calendar-print-filter-tasks = Tác vụ
+calendar-print-filter-completedtasks = Tác vụ đã hoàn tất
+calendar-print-filter-taskswithnoduedate = Tác vụ không có ngày đến hạn
+calendar-print-range-from = Từ
+calendar-print-range-to = Đến
+calendar-print-back-button = Quay lại
+calendar-print-next-button = Tiếp theo
diff --git a/thunderbird-l10n/vi/localization/vi/calendar/calendar-recurrence-dialog.ftl b/thunderbird-l10n/vi/localization/vi/calendar/calendar-recurrence-dialog.ftl
new file mode 100644
index 0000000000..2453843229
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/calendar/calendar-recurrence-dialog.ftl
@@ -0,0 +1,8 @@
+# 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/.
+
+calendar-recurrence-preview-label = Xem trước
+calendar-recurrence-next = Tháng sau
+calendar-recurrence-previous = Tháng trước
+calendar-recurrence-today = Hôm nay
diff --git a/thunderbird-l10n/vi/localization/vi/calendar/calendar-summary-dialog.ftl b/thunderbird-l10n/vi/localization/vi/calendar/calendar-summary-dialog.ftl
new file mode 100644
index 0000000000..4645aedd69
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/calendar/calendar-summary-dialog.ftl
@@ -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/.
+
+calendar-summary-dialog-edit-button =
+ .label = Chỉnh sửa
+ .accesskey = E
+calendar-summary-dialog-edit-menu-button =
+ .label = Chỉnh sửa
+edit-button-context-menu-this-occurrence =
+ .label = Chỉ chỉnh sửa lần xuất hiện này
+ .accesskey = t
+edit-button-context-menu-all-occurrences =
+ .label = Chỉnh sửa tất cả các lần xuất hiện
+ .accesskey = a
+description-context-menu-copy-link-text =
+ .label = Sao chép văn bản liên kết
diff --git a/thunderbird-l10n/vi/localization/vi/calendar/calendar-uri-redirect-dialog.ftl b/thunderbird-l10n/vi/localization/vi/calendar/calendar-uri-redirect-dialog.ftl
new file mode 100644
index 0000000000..d676d1a9e4
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/calendar/calendar-uri-redirect-dialog.ftl
@@ -0,0 +1,12 @@
+# 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/.
+
+calendar-uri-redirect-window =
+ .title = Chuyển hướng URI lịch
+calendar-uri-redirect-window-title = Chuyển hướng URI lịch
+calendar-uri-redirect-description =
+ Máy chủ đang chuyển hướng URI cho lịch "{ $calendarName }".
+ Chấp nhận chuyển hướng và bắt đầu sử dụng URI mới cho lịch này?
+calendar-uri-redirect-original-uri-label = URI hiện tại:
+calendar-uri-redirect-target-uri-label = Chuyển hướng đến URI mới:
diff --git a/thunderbird-l10n/vi/localization/vi/calendar/calendar-widgets.ftl b/thunderbird-l10n/vi/localization/vi/calendar/calendar-widgets.ftl
new file mode 100644
index 0000000000..745be1f57b
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/calendar/calendar-widgets.ftl
@@ -0,0 +1,111 @@
+# 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/.
+
+calendar-deactivated-notification-events = Tất cả các lịch hiện đang bị vô hiệu hóa. Bật lịch hiện có hoặc thêm lịch mới để tạo và chỉnh sửa sự kiện.
+calendar-deactivated-notification-tasks = Tất cả các lịch hiện đang bị vô hiệu hóa. Kích hoạt lịch hiện có hoặc thêm lịch mới để tạo và chỉnh sửa tác vụ.
+calendar-notifications-label = Hiển thị thông báo cho các sự kiện sắp tới
+calendar-add-notification-button =
+ .label = Thêm thông báo
+
+## Side panel
+
+calendar-list-header = Lịch
+# Variables:
+# $calendarName (String) - Calendar name as given by the user
+calendar-no-reminders-tooltip =
+ .title = Lịch { $calendarName } đã bị ẩn
+calendar-enable-button = Bật
+# Variables:
+# $calendarName (String) - Calendar name as given by the user
+calendar-list-item-context-button =
+ .title = Tùy chọn lịch { $calendarName }
+calendar-import-new-calendar = Lịch mới…
+ .title = Tạo hoặc đăng ký lịch mới
+calendar-refresh-calendars =
+ .title = Tải lại tất cả các lịch và đồng bộ hóa các thay đổi
+calendar-new-event-primary-button = Sự kiện mới
+calendar-new-task-primary-button = Tác vụ mới
+
+## Calendar navigation
+
+calendar-nav-button-prev-tooltip-day =
+ .title = Ngày trước
+ .accesskey = s
+calendar-nav-button-prev-tooltip-week =
+ .title = Tuần trước
+ .accesskey = s
+calendar-nav-button-prev-tooltip-multiweek =
+ .title = Tuần trước
+ .accesskey = s
+calendar-nav-button-prev-tooltip-month =
+ .title = Tháng trước
+ .accesskey = s
+calendar-nav-button-prev-tooltip-year =
+ .title = Năm trước
+ .accesskey = s
+calendar-nav-button-next-tooltip-day =
+ .title = Ngày tiếp theo
+ .accesskey = x
+calendar-nav-button-next-tooltip-week =
+ .title = Tuần sau
+ .accesskey = x
+calendar-nav-button-next-tooltip-multiweek =
+ .title = Tuần sau
+ .accesskey = x
+calendar-nav-button-next-tooltip-month =
+ .title = Tháng sau
+ .accesskey = x
+calendar-nav-button-next-tooltip-year =
+ .title = Năm sau
+ .accesskey = x
+calendar-today-button-tooltip =
+ .title = Đi đến hôm nay
+calendar-view-toggle-day = Ngày
+ .title = Chuyển sang xem theo ngày
+calendar-view-toggle-week = Tuần
+ .title = Chuyển sang xem theo tuần
+calendar-view-toggle-multiweek = Nhiều tuần
+ .title = Chuyển sang xem theo nhiều tuần
+calendar-view-toggle-month = Tháng
+ .title = Chuyển sang xem theo tháng
+
+## Menu on calendar control bar
+
+calendar-control-bar-menu-button =
+ .title = Tùy chọn bố cục lịch
+calendar-find-events-menu-option =
+ .label = Ngăn tìm sự kiện
+calendar-hide-weekends-option =
+ .label = Chỉ hiện các ngày làm việc
+calendar-define-workweek-option =
+ .label = Xác định ngày làm việc trong tuần
+calendar-show-tasks-calendar-option =
+ .label = Hiển thị nhiệm vụ trong lịch
+
+## Calendar Context Menu
+
+calendar-context-menu-previous-day =
+ .label = Ngày trước
+ .accesskey = s
+calendar-context-menu-previous-week =
+ .label = Tuần trước
+ .accesskey = s
+calendar-context-menu-previous-multiweek =
+ .label = Tuần trước
+ .accesskey = s
+calendar-context-menu-previous-month =
+ .label = Tháng trước
+ .accesskey = s
+calendar-context-menu-next-day =
+ .label = Ngày sau
+ .accesskey = x
+calendar-context-menu-next-week =
+ .label = Tuần sau
+ .accesskey = x
+calendar-context-menu-next-multiweek =
+ .label = Tuần sau
+ .accesskey = x
+calendar-context-menu-next-month =
+ .label = Tháng sau
+ .accesskey = x
diff --git a/thunderbird-l10n/vi/localization/vi/calendar/category-dialog.ftl b/thunderbird-l10n/vi/localization/vi/calendar/category-dialog.ftl
new file mode 100644
index 0000000000..298a327ad8
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/calendar/category-dialog.ftl
@@ -0,0 +1,7 @@
+# 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/.
+
+category-name-label = Tên
+category-color-label =
+ .label = Sử dụng màu
diff --git a/thunderbird-l10n/vi/localization/vi/calendar/preferences.ftl b/thunderbird-l10n/vi/localization/vi/calendar/preferences.ftl
new file mode 100644
index 0000000000..271cc46543
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/calendar/preferences.ftl
@@ -0,0 +1,192 @@
+# 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/.
+
+calendar-title = Lịch
+calendar-title-reminder = Nhắc nhở
+calendar-title-notification = Thông báo
+calendar-title-category = Thể loại
+dateformat-label =
+ .value = Định dạng văn bản ngày:
+ .accesskey = N
+# $date (String) - the formatted example date
+dateformat-long =
+ .label = Dài: { $date }
+# $date (String) - the formatted example date
+dateformat-short =
+ .label = Ngắn: { $date }
+use-system-timezone-radio-button =
+ .label = Sử dụng múi giờ hệ thống
+set-timezone-manually-radio-button =
+ .label = Đặt múi giờ theo cách thủ công
+timezone-label =
+ .value = Múi giờ:
+weekstart-label =
+ .value = Bắt đầu tuần vào:
+ .accesskey = B
+day-1-name =
+ .label = Chủ nhật
+day-2-name =
+ .label = Thứ hai
+day-3-name =
+ .label = Thứ ba
+day-4-name =
+ .label = Thứ tư
+day-5-name =
+ .label = Thứ năm
+day-6-name =
+ .label = Thứ sáu
+day-7-name =
+ .label = Thứ bảy
+show-weeknumber-label =
+ .label = Hiển thị số tuần trong lượt xem và tháng nhỏ
+ .accesskey = n
+workdays-label =
+ .value = Ngày làm việc:
+day-1-checkbox =
+ .label = ChN
+ .accesskey = C
+day-2-checkbox =
+ .label = Th2
+ .accesskey = 2
+day-3-checkbox =
+ .label = Th3
+ .accesskey = 3
+day-4-checkbox =
+ .label = Th4
+ .accesskey = 4
+day-5-checkbox =
+ .label = Th5
+ .accesskey = 5
+day-6-checkbox =
+ .label = Th6
+ .accesskey = 6
+day-7-checkbox =
+ .label = Th7
+ .accesskey = 7
+dayweek-legend = Hiển thị theo ngày và tuần
+visible-hours-label =
+ .value = Hiện:
+ .accesskey = H
+visible-hours-end-label =
+ .value = giờ cùng một lúc
+day-start-label =
+ .value = Ngày bắt đầu lúc:
+ .accesskey = N
+day-end-label =
+ .value = Ngày kết thúc lúc:
+ .accesskey = y
+midnight-label =
+ .label = Nửa đêm
+noon-label =
+ .label = Trưa
+location-checkbox =
+ .label = Hiển thị địa chỉ
+ .accesskey = L
+multiweek-legend = Hiển thị theo nhiều tuần
+number-of-weeks-label =
+ .value = Số lượng tuần mà bạn muốn hiển thị (bao gồm cả các tuần trước đó):
+ .accesskey = l
+week-0-label =
+ .label = không
+week-1-label =
+ .label = 1 tuần
+week-2-label =
+ .label = 2 tuần
+week-3-label =
+ .label = 3 tuần
+week-4-label =
+ .label = 4 tuần
+week-5-label =
+ .label = 5 tuần
+week-6-label =
+ .label = 6 tuần
+previous-weeks-label =
+ .value = Số lượng tuần trước đó mà bạn muốn hiển thị:
+ .accesskey = S
+todaypane-legend = Bảng ngày hôm nay
+agenda-days =
+ .value = Chương trình cho thấy:
+ .accesskey = g
+event-task-legend = Sự kiện và nhiệm vụ
+default-length-label =
+ .value = Độ dài sự kiện và nhiệm vụ mặc định:
+ .accesskey = E
+task-start-label =
+ .value = Ngày bắt đầu:
+task-start-1-label =
+ .label = Không có
+task-start-2-label =
+ .label = Ngày bắt đầu
+task-start-3-label =
+ .label = Ngày kết thúc
+task-start-4-label =
+ .label = Ngày mai
+task-start-5-label =
+ .label = Tuần tới
+task-start-6-label =
+ .label = Liên quan đến thời gian hiện tại
+task-start-7-label =
+ .label = Liên quan đến bắt đầu
+task-start-8-label =
+ .label = Liên quan đến giờ tiếp theo
+task-due-label =
+ .value = Ngày đến hạn:
+edit-intab-label =
+ .label = Chỉnh sửa các sự kiện và tác vụ trong một thẻ thay vì trong cửa sổ hộp thoại.
+ .accesskey = t
+prompt-delete-label =
+ .label = Nhắc trước khi xóa các sự kiện và tác vụ.
+ .accesskey = V
+accessibility-legend = Trợ năng
+accessibility-colors-label =
+ .label = Tối ưu hóa màu sắc cho khả năng tiếp cận
+ .accesskey = c
+reminder-legend = Khi đổ chuông báo:
+reminder-play-checkbox =
+ .label = Phát ra âm thanh
+ .accesskey = s
+reminder-play-alarm-button =
+ .label = Phát
+ .accesskey = P
+reminder-default-sound-label =
+ .label = Sử dụng âm thanh mặc định
+ .accesskey = d
+reminder-custom-sound-label =
+ .label = Sử dụng tập tin âm thanh sau
+ .accesskey = U
+reminder-browse-sound-label =
+ .label = Duyệt…
+ .accesskey = B
+reminder-dialog-label =
+ .label = Hiển thị hộp thoại nhắc nhở
+ .accesskey = x
+missed-reminder-label =
+ .label = Hiển thị lời nhắc nhở cho lịch có thể ghi
+ .accesskey = m
+reminder-default-legend = Mặc định nhắc nhở
+default-snooze-label =
+ .value = Độ dài báo lại mặc định:
+ .accesskey = S
+event-alarm-label =
+ .value = Cài đặt nhắc nhở mặc định cho các sự kiện:
+ .accesskey = e
+alarm-on-label =
+ .label = Bật
+alarm-off-label =
+ .label = Tắt
+task-alarm-label =
+ .value = Cài đặt nhắc nhở mặc định cho các tác vụ:
+ .accesskey = a
+event-alarm-time-label =
+ .value = Thời gian mặc định một lời nhắc được đặt trước một sự kiện:
+ .accesskey = u
+task-alarm-time-label =
+ .value = Thời gian mặc định một lời nhắc được đặt trước một tác vụ:
+ .accesskey = o
+calendar-notifications-customize-label = Thông báo có thể được tùy chỉnh cho từng lịch trong cửa sổ thuộc tính của lịch.
+category-new-label = Phân mục mới
+category-edit-label = Chỉnh sửa phân mục
+category-overwrite-title = Cảnh báo: Trùng tên
+category-overwrite = Đã tồn tại một phân mục có tên đó. Bạn có muốn ghi đè nó không?
+category-blank-warning = Bạn phải nhập một tên phân mục.
diff --git a/thunderbird-l10n/vi/localization/vi/chat/matrix.ftl b/thunderbird-l10n/vi/localization/vi/chat/matrix.ftl
new file mode 100644
index 0000000000..80b7905b93
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/chat/matrix.ftl
@@ -0,0 +1,20 @@
+# 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/.
+
+
+### Matrix Protocol strings
+
+
+## Conversation names when a room has no user readable name.
+
+room-name-empty = Cuộc trò chuyện trống
+# Variables:
+# $oldName (String) - The previous name the conversation had before it was
+# removed.
+room-name-empty-had-name = Cuộc trò chuyện trống (tên mới của { $oldName })
+# Variables:
+# $participant (String) - The name of one participant that isn't the user.
+# $otherParticipantCount (Number) - The count of other participants apart from
+# the user and $participant.
+room-name-others2 = { $participant } và { $otherParticipantCount } người khác
diff --git a/thunderbird-l10n/vi/localization/vi/crashreporter/aboutcrashes.ftl b/thunderbird-l10n/vi/localization/vi/crashreporter/aboutcrashes.ftl
new file mode 100644
index 0000000000..dbb0b066aa
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/crashreporter/aboutcrashes.ftl
@@ -0,0 +1,31 @@
+# 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/-
+
+
+# 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/.
+
+crash-reports-title = Báo cáo lỗi
+
+submit-all-button-label = Gửi tất cả
+delete-button-label = Xóa tất cả
+delete-confirm-title = Bạn có chắc không?
+delete-unsubmitted-description = Hành động này sẽ xóa tất cả báo cáo lỗi chưa gửi và không thể hoàn tác.
+delete-submitted-description = Thao tác này sẽ xóa danh sách các báo cáo sự cố đã gửi nhưng sẽ không xóa dữ liệu đã gửi. Điều này không thể hoàn tác được.
+
+crashes-unsubmitted-label = Các báo cáo lỗi chưa gửi
+id-heading = ID báo cáo
+date-crashed-heading = Ngày xảy ra lỗi
+submit-crash-button-label = Gửi
+# This text is used to replace the label of the crash submit button
+# if the crash submission fails.
+submit-crash-button-failure-label = Thất bại
+
+crashes-submitted-label = Các báo cáo lỗi đã gửi
+date-submitted-heading = Ngày gửi
+view-crash-button-label = Xem
+
+no-reports-label = Chưa có báo cáo lỗi nào được gửi.
+no-config-label = Ứng dụng này không thể hiển thị các báo cáo lỗi. Tùy chỉnh <code>breakpad.reportURL</code> phải được thiết lập.
diff --git a/thunderbird-l10n/vi/localization/vi/devtools/client/aboutdebugging.ftl b/thunderbird-l10n/vi/localization/vi/devtools/client/aboutdebugging.ftl
new file mode 100644
index 0000000000..43a8da1053
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/devtools/client/aboutdebugging.ftl
@@ -0,0 +1,400 @@
+# 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/.
+
+
+### These strings are used inside the about:debugging UI.
+
+
+# Page Title strings
+
+# Page title (ie tab title) for the Setup page
+about-debugging-page-title-setup-page = Trình gỡ lỗi - Cài đặt
+
+# Page title (ie tab title) for the Runtime page
+# { $selectedRuntimeId } is the id of the current runtime, such as "this-firefox", "localhost:6080", ...
+about-debugging-page-title-runtime-page = Trình gỡ lỗi - Runtime / { $selectedRuntimeId }
+
+# Sidebar strings
+
+# Display name of the runtime for the currently running instance of Firefox. Used in the
+# Sidebar and in the Setup page.
+about-debugging-this-firefox-runtime-name = { -brand-shorter-name } này
+
+# Sidebar heading for selecting the currently running instance of Firefox
+about-debugging-sidebar-this-firefox =
+ .name = { about-debugging-this-firefox-runtime-name }
+
+# Sidebar heading for connecting to some remote source
+about-debugging-sidebar-setup =
+ .name = Cài đặt
+
+# Text displayed in the about:debugging sidebar when USB devices discovery is enabled.
+about-debugging-sidebar-usb-enabled = Đã bật USB
+
+# Text displayed in the about:debugging sidebar when USB devices discovery is disabled
+# (for instance because the mandatory ADB extension is not installed).
+about-debugging-sidebar-usb-disabled = Đã tắt USB
+
+# Connection status (connected) for runtime items in the sidebar
+aboutdebugging-sidebar-runtime-connection-status-connected = Đã kết nối
+# Connection status (disconnected) for runtime items in the sidebar
+aboutdebugging-sidebar-runtime-connection-status-disconnected = Đã ngắt kết nối
+
+# Text displayed in the about:debugging sidebar when no device was found.
+about-debugging-sidebar-no-devices = Không có thiết bị nào được phát hiện
+
+# Text displayed in buttons found in sidebar items representing remote runtimes.
+# Clicking on the button will attempt to connect to the runtime.
+about-debugging-sidebar-item-connect-button = Kết nối
+
+# Text displayed in buttons found in sidebar items when the runtime is connecting.
+about-debugging-sidebar-item-connect-button-connecting = Đang kết nối…
+
+# Text displayed in buttons found in sidebar items when the connection failed.
+about-debugging-sidebar-item-connect-button-connection-failed = Kết nối thất bại
+
+# Text displayed in connection warning on sidebar item of the runtime when connecting to
+# the runtime is taking too much time.
+about-debugging-sidebar-item-connect-button-connection-not-responding = Kết nối đang chờ xử lý, kiểm tra tin nhắn trên trình duyệt đích
+
+# Text displayed as connection error in sidebar item when the connection has timed out.
+about-debugging-sidebar-item-connect-button-connection-timeout = Đã hết thời gian kết nối
+
+# Text displayed in sidebar items for remote devices where a compatible browser (eg
+# Firefox) has not been detected yet. Typically, Android phones connected via USB with
+# USB debugging enabled, but where Firefox is not started.
+about-debugging-sidebar-runtime-item-waiting-for-browser = Đang chờ trình duyệt...
+
+# Text displayed in sidebar items for remote devices that have been disconnected from the
+# computer.
+about-debugging-sidebar-runtime-item-unplugged = Đã ngắt kết nối
+
+# Title for runtime sidebar items that are related to a specific device (USB, WiFi).
+about-debugging-sidebar-runtime-item-name =
+ .title = { $displayName } ({ $deviceName })
+# Title for runtime sidebar items where we cannot get device information (network
+# locations).
+about-debugging-sidebar-runtime-item-name-no-device =
+ .title = { $displayName }
+
+# Text to show in the footer of the sidebar that links to a help page
+# (currently: https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/)
+about-debugging-sidebar-support = Hỗ trợ gỡ lỗi
+
+# Text to show as the ALT attribute of a help icon that accompanies the help about
+# debugging link in the footer of the sidebar
+about-debugging-sidebar-support-icon =
+ .alt = Biểu tượng trợ giúp
+
+# Text displayed in a sidebar button to refresh the list of USB devices. Clicking on it
+# will attempt to update the list of devices displayed in the sidebar.
+about-debugging-refresh-usb-devices-button = Làm mới thiết bị
+
+# Setup Page strings
+
+# Title of the Setup page.
+about-debugging-setup-title = Cài đặt
+
+# Introduction text in the Setup page to explain how to configure remote debugging.
+about-debugging-setup-intro = Định cấu hình phương thức kết nối mà bạn muốn gỡ lỗi từ xa cho thiết bị của mình.
+
+# Explanatory text in the Setup page about what the 'This Firefox' page is for
+about-debugging-setup-this-firefox2 = Sử dụng <a>{ about-debugging-this-firefox-runtime-name }</a> để sửa lỗi các phần mở rộng và các trình làm việc dịch vụ trên phiên bản của { -brand-shorter-name }.
+
+# Title of the heading Connect section of the Setup page.
+about-debugging-setup-connect-heading = Kết nối thiết bị
+
+# USB section of the Setup page
+about-debugging-setup-usb-title = USB
+
+# Explanatory text displayed in the Setup page when USB debugging is disabled
+about-debugging-setup-usb-disabled = Bật tính năng này sẽ tải xuống và thêm các thành phần gỡ lỗi USB Android cần thiết vào { -brand-shorter-name }.
+
+# Text of the button displayed in the USB section of the setup page when USB debugging is disabled.
+# Clicking on it will download components needed to debug USB Devices remotely.
+about-debugging-setup-usb-enable-button = Kích hoạt thiết bị USB
+
+# Text of the button displayed in the USB section of the setup page when USB debugging is enabled.
+about-debugging-setup-usb-disable-button = Vô hiệu hóa thiết bị USB
+
+# Text of the button displayed in the USB section of the setup page while USB debugging
+# components are downloaded and installed.
+about-debugging-setup-usb-updating-button = Đang cập nhật...
+
+# USB section of the Setup page (USB status)
+about-debugging-setup-usb-status-enabled = Đã bật
+about-debugging-setup-usb-status-disabled = Đã tắt
+about-debugging-setup-usb-status-updating = Đang cập nhật...
+
+# USB section step by step guide
+about-debugging-setup-usb-step-enable-dev-menu2 = Bật menu Nhà phát triển trên thiết bị Android của bạn.
+
+# USB section step by step guide
+about-debugging-setup-usb-step-enable-debug2 = Bật gỡ lỗi USB trong Menu dành cho nhà phát triển Android.
+
+# USB section step by step guide
+about-debugging-setup-usb-step-enable-debug-firefox2 = Bật gỡ lỗi USB trong Firefox trên thiết bị Android.
+
+# USB section step by step guide
+about-debugging-setup-usb-step-plug-device = Kết nối thiết bị Android với máy tính của bạn.
+
+# Text shown in the USB section of the setup page with a link to troubleshoot connection errors.
+# The link goes to https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/index.html#connecting-to-a-remote-device
+about-debugging-setup-usb-troubleshoot = Sự cố kết nối với thiết bị USB? <a>Khắc phục sự cố</a>
+
+# Network section of the Setup page
+about-debugging-setup-network =
+ .title = Vị trí mạng
+
+# Text shown in the Network section of the setup page with a link to troubleshoot connection errors.
+# The link goes to https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/index.html#connecting-over-the-network
+about-debugging-setup-network-troubleshoot = Sự cố kết nối qua vị trí mạng? <a>Khắc phục sự</a>
+
+# Text of a button displayed after the network locations "Host" input.
+# Clicking on it will add the new network location to the list.
+about-debugging-network-locations-add-button = Thêm
+
+# Text to display when there are no locations to show.
+about-debugging-network-locations-empty-text = Không có vị trí mạng được thêm vào.
+
+# Text of the label for the text input that allows users to add new network locations in
+# the Connect page. A host is a hostname and a port separated by a colon, as suggested by
+# the input's placeholder "localhost:6080".
+about-debugging-network-locations-host-input-label = Máy chủ
+
+# Text of a button displayed next to existing network locations in the Connect page.
+# Clicking on it removes the network location from the list.
+about-debugging-network-locations-remove-button = Xóa
+
+# Text used as error message if the format of the input value was invalid in the network locations form of the Setup page.
+# Variables:
+# $host-value (string) - The input value submitted by the user in the network locations form
+about-debugging-network-location-form-invalid = Máy chủ lưu trữ không hợp lệ khác "{ $host-value }". Định dạng dự kiến là tên máy chủ lưu trữ: portnumber.
+
+# Text used as error message if the input value was already registered in the network locations form of the Setup page.
+# Variables:
+# $host-value (string) - The input value submitted by the user in the network locations form
+about-debugging-network-location-form-duplicate = Máy chủ lưu trữ "{ $host-value }" đã được đăng ký
+
+# Runtime Page strings
+
+# Below are the titles for the various categories of debug targets that can be found
+# on "runtime" pages of about:debugging.
+# Title of the temporary extensions category (only available for "This Firefox" runtime).
+about-debugging-runtime-temporary-extensions =
+ .name = Tiện ích mở rộng tạm thời
+# Title of the extensions category.
+about-debugging-runtime-extensions =
+ .name = Tiện ích mở rộng
+# Title of the tabs category.
+about-debugging-runtime-tabs =
+ .name = Thẻ
+# Title of the service workers category.
+about-debugging-runtime-service-workers =
+ .name = Service Workers
+# Title of the shared workers category.
+about-debugging-runtime-shared-workers =
+ .name = Workers đã chia sẻ
+# Title of the other workers category.
+about-debugging-runtime-other-workers =
+ .name = Workers khác
+# Title of the processes category.
+about-debugging-runtime-processes =
+ .name = Tiến trình
+
+# Label of the button opening the performance profiler panel in runtime pages for remote
+# runtimes.
+about-debugging-runtime-profile-button2 = Hồ sơ hiệu suất
+
+# This string is displayed in the runtime page if the current configuration of the
+# target runtime is incompatible with service workers. "Learn more" points to:
+# https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/index.html#service-workers-not-compatible
+about-debugging-runtime-service-workers-not-compatible = Cấu hình trình duyệt của bạn không tương thích với Service Workers. <a>Tìm hiểu thêm</a>
+
+# This string is displayed in the runtime page if the remote browser version is too old.
+# "Troubleshooting" link points to https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/
+# { $runtimeVersion } is the version of the remote browser (for instance "67.0a1")
+# { $minVersion } is the minimum version that is compatible with the current Firefox instance (same format)
+about-debugging-browser-version-too-old = Trình duyệt được kết nối có phiên bản cũ ({ $runtimeVersion }). Phiên bản được hỗ trợ tối thiểu là ({ $minVersion }). Đây là một thiết lập không được hỗ trợ và có thể khiến DevTools bị lỗi. Vui lòng cập nhật trình duyệt được kết nối. <a>Khắc phục sự cố</a>
+
+# Dedicated message for a backward compatibility issue that occurs when connecting:
+# from Fx 70+ to the old Firefox for Android (aka Fennec) which uses Fx 68.
+about-debugging-browser-version-too-old-fennec = Phiên bản Firefox này không thể gỡ lỗi Firefox dành cho Android (68). Chúng tôi khuyên bạn nên cài đặt Firefox Nightly dành cho Android trên điện thoại để thử nghiệm. <a>Chi tiết khác</a>
+
+# This string is displayed in the runtime page if the remote browser version is too recent.
+# "Troubleshooting" link points to https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/
+# { $runtimeID } is the build ID of the remote browser (for instance "20181231", format is yyyyMMdd)
+# { $localID } is the build ID of the current Firefox instance (same format)
+# { $runtimeVersion } is the version of the remote browser (for instance "67.0a1")
+# { $localVersion } is the version of your current browser (same format)
+about-debugging-browser-version-too-recent = Trình được kết nối gần đây ({ $runtimeVersion }, ID bản dựng { $runtimeID }) so với { -brand-shorter-name } ({ $localVersion }, ID bản dựng { $localID }). Đây là một thiết lập không được hỗ trợ và có thể khiến DevTools bị lỗi. Vui lòng cập nhật Firefox. <a>Khắc phục sự cố</a>
+
+# Displayed for runtime info in runtime pages.
+# { $name } is brand name such as "Firefox Nightly"
+# { $version } is version such as "64.0a1"
+about-debugging-runtime-name = { $name } ({ $version })
+
+# Text of a button displayed in Runtime pages for remote runtimes.
+# Clicking on the button will close the connection to the runtime.
+about-debugging-runtime-disconnect-button = Ngắt kết nối
+
+# Text of the connection prompt button displayed in Runtime pages, when the preference
+# "devtools.debugger.prompt-connection" is false on the target runtime.
+about-debugging-connection-prompt-enable-button = Kích hoạt nhắc nhở kết nối
+
+# Text of the connection prompt button displayed in Runtime pages, when the preference
+# "devtools.debugger.prompt-connection" is true on the target runtime.
+about-debugging-connection-prompt-disable-button = Vô hiệu hóa nhắc nhở kết nối
+
+# Title of a modal dialog displayed on remote runtime pages after clicking on the Profile Runtime button.
+about-debugging-profiler-dialog-title2 = Profiler
+
+# Clicking on the header of a debug target category will expand or collapse the debug
+# target items in the category. This text is used as ’title’ attribute of the header,
+# to describe this feature.
+about-debugging-collapse-expand-debug-targets = Thu gọn / mở rộng
+
+# Debug Targets strings
+
+# Displayed in the categories of "runtime" pages that don't have any debug target to
+# show. Debug targets depend on the category (extensions, tabs, workers...).
+about-debugging-debug-target-list-empty = Chưa có gì cả.
+
+# Text of a button displayed next to debug targets of "runtime" pages. Clicking on this
+# button will open a DevTools toolbox that will allow inspecting the target.
+# A target can be an addon, a tab, a worker...
+about-debugging-debug-target-inspect-button = Kiểm tra
+
+# Text of a button displayed in the "This Firefox" page, in the Temporary Extension
+# section. Clicking on the button will open a file picker to load a temporary extension
+about-debugging-tmp-extension-install-button = Tải tiện ích tạm thời…
+
+# Text displayed when trying to install a temporary extension in the "This Firefox" page.
+about-debugging-tmp-extension-install-error = Có lỗi trong quá trình cài đặt tiện ích tạm thời.
+
+# Text of a button displayed for a temporary extension loaded in the "This Firefox" page.
+# Clicking on the button will reload the extension.
+about-debugging-tmp-extension-reload-button = Tải lại
+
+# Text of a button displayed for a temporary extension loaded in the "This Firefox" page.
+# Clicking on the button will uninstall the extension and remove it from the page.
+about-debugging-tmp-extension-remove-button = Xóa
+
+# Text of a button displayed for a temporary extension loaded in the "This Firefox" page.
+# Clicking on the button will forcefully terminate the extension background script (button
+# only visible in extensions that includes a non-persistent background script, either an
+# event page or a background service worker).
+about-debugging-tmp-extension-terminate-bgscript-button = Chấm dứt tập lệnh nền
+
+# Message displayed in the file picker that opens to select a temporary extension to load
+# (triggered by the button using "about-debugging-tmp-extension-install-button")
+# manifest.json .xpi and .zip should not be localized.
+# Note: this message is only displayed in Windows and Linux platforms.
+about-debugging-tmp-extension-install-message = Chọn tập tin manifest.json hoặc lưu trữ .xpi/.zip
+
+# This string is displayed as a message about the add-on having a temporaryID.
+about-debugging-tmp-extension-temporary-id = WebExtension này có ID tạm thời. <a>Tìm hiểu thêm</a>
+
+# Text displayed for extensions in "runtime" pages, before displaying a link the extension's
+# manifest URL.
+about-debugging-extension-manifest-url =
+ .label = URL manifest
+
+# Text displayed for extensions in "runtime" pages, before displaying the extension's uuid.
+# UUIDs look like b293e463-481e-5148-a487-5aaf7a130429
+about-debugging-extension-uuid =
+ .label = UUID nội bộ
+
+# Text displayed for extensions (temporary extensions only) in "runtime" pages, before
+# displaying the location of the temporary extension.
+about-debugging-extension-location =
+ .label = Vị trí
+
+# Text displayed for extensions in "runtime" pages, before displaying the extension's ID.
+# For instance "geckoprofiler@mozilla.com" or "{ed26ddcb-5611-4512-a89a-51b8db81cfb2}".
+about-debugging-extension-id =
+ .label = ID tiện ích mở rộng
+
+# Text displayed for extensions in "runtime" pages, before displaying the status of the
+# extension background script.
+about-debugging-extension-backgroundscript =
+ .label = Tập lệnh nền
+
+# Displayed for extension using a non-persistent background page (either an event page or
+# background service worker) when the background script is currently running.
+about-debugging-extension-backgroundscript-status-running = Đang chạy
+
+# Displayed for extension using a non-persistent background page when is currently stopped.
+about-debugging-extension-backgroundscript-status-stopped = Đã dừng
+
+# This string is displayed as a label of the button that pushes a test payload
+# to a service worker.
+# Note this relates to the "Push" API, which is normally not localized so it is
+# probably better to not localize it.
+about-debugging-worker-action-push2 = Đẩy
+ .disabledTitle = Dịch vụ đẩy Service Worker hiện đang bị vô hiệu hóa cho đa xử lý { -brand-shorter-name }
+
+# This string is displayed as a label of the button that starts a service worker.
+about-debugging-worker-action-start2 = Bắt đầu
+ .disabledTitle = Dịch vụ bắt đầu Service Worker hiện đang bị vô hiệu hóa cho đa xử lý { -brand-shorter-name }
+
+# This string is displayed as a label of the button that unregisters a service worker.
+about-debugging-worker-action-unregister = Hủy đăng ký
+
+# Displayed for service workers in runtime pages that listen to Fetch events.
+about-debugging-worker-fetch-listening =
+ .label = Fetch
+ .value = Nghe các sự kiện fetch
+
+# Displayed for service workers in runtime pages that do not listen to Fetch events.
+about-debugging-worker-fetch-not-listening =
+ .label = Fetch
+ .value = Không nghe các sự kiện fetch
+
+# Displayed for service workers in runtime pages that are currently running (service
+# worker instance is active).
+about-debugging-worker-status-running = Đang chạy
+
+# Displayed for service workers in runtime pages that are registered but stopped.
+about-debugging-worker-status-stopped = Đã dừng
+
+# Displayed for service workers in runtime pages that are registering.
+about-debugging-worker-status-registering = Đang đăng ký
+
+# Displayed for service workers in runtime pages, to label the scope of a worker
+about-debugging-worker-scope =
+ .label = Phạm vi
+
+# Displayed for service workers in runtime pages, to label the push service endpoint (url)
+# of a worker
+about-debugging-worker-push-service =
+ .label = Dịch vụ đẩy
+
+# Displayed as title of the inspect button when service worker debugging is disabled.
+about-debugging-worker-inspect-action-disabled =
+ .title = Trình kiểm tra Service Worker hiện đang bị vô hiệu hóa cho đa xử lý { -brand-shorter-name }
+
+# Displayed as title of the inspect button for zombie tabs (e.g. tabs loaded via a session restore).
+about-debugging-zombie-tab-inspect-action-disabled =
+ .title = Thẻ không được tải đầy đủ và không thể được kiểm tra
+
+# Displayed instead of the Main Process debug target when the preference
+# `devtools.browsertoolbox.fission` is true.
+about-debugging-multiprocess-toolbox-name = Hộp công cụ đa xử lý
+
+# Description for the Multiprocess Toolbox target.
+about-debugging-multiprocess-toolbox-description = Quy trình chính và quy trình nội dung cho trình duyệt đích
+
+# Alt text used for the close icon of message component (warnings, errors and notifications).
+about-debugging-message-close-icon =
+ .alt = Đóng thông báo
+
+# Label text used for the error details of message component.
+about-debugging-message-details-label-error = Chi tiết lỗi
+
+# Label text used for the warning details of message component.
+about-debugging-message-details-label-warning = Chi tiết cảnh báo
+
+# Label text used for default state of details of message component.
+about-debugging-message-details-label = Chi tiết
diff --git a/thunderbird-l10n/vi/localization/vi/devtools/client/accessibility.ftl b/thunderbird-l10n/vi/localization/vi/devtools/client/accessibility.ftl
new file mode 100644
index 0000000000..df846f7064
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/devtools/client/accessibility.ftl
@@ -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/.
+
+
+### These strings are used inside the Accessibility panel.
+
+accessibility-learn-more = Tìm hiểu thêm
+
+accessibility-text-label-header = Nhãn và tên văn bản
+
+accessibility-keyboard-header = Bàn phím
+
+## Text entries that are used as text alternative for icons that depict accessibility isses.
+
+
+## These strings are used in the overlay displayed when running an audit in the accessibility panel
+
+accessibility-progress-initializing = Đang khởi tạo…
+ .aria-valuetext = Đang khởi tạo…
+
+# This string is displayed in the audit progress bar in the accessibility panel.
+# Variables:
+# $nodeCount (Integer) - The number of nodes for which the audit was run so far.
+accessibility-progress-progressbar = Đang kiểm tra { $nodeCount } node
+
+accessibility-progress-finishing = Kết thúc lên...
+ .aria-valuetext = Kết thúc lên...
+
+## Text entries that are used as text alternative for icons that depict accessibility issues.
+
+accessibility-warning =
+ .alt = Cảnh báo
+
+accessibility-fail =
+ .alt = Lỗi
+
+accessibility-best-practices =
+ .alt = Thực hành tốt nhất
+
+## Text entries for a paragraph used in the accessibility panel sidebar's checks section
+## that describe that currently selected accessible object has an accessibility issue
+## with its text label or accessible name.
+
+accessibility-text-label-issue-area = Sử dụng thuộc tính <code>alt</code> để gắn nhãn các phần tử <div>area</div> có thuộc tính <span>href</span>. <a>Tìm hiểu thêm</a>
+
+accessibility-text-label-issue-dialog = Hộp thoại phải được dán nhãn. <a>Tìm hiểu thêm</a>
+
+accessibility-text-label-issue-document-title = Tài liệu phải có <code>title</code>. <a>Tìm hiểu thêm</a>
+
+accessibility-text-label-issue-embed = Nội dung nhúng phải được dán nhãn. <a>Tìm hiểu thêm</a>
+
+accessibility-text-label-issue-figure = Số liệu với chú thích tùy chọn nên được dán nhãn. <a>Tìm hiểu thêm</a>
+
+accessibility-text-label-issue-fieldset = Các phần tử <code>fieldset</code> phải được dán nhãn. <a>Tìm hiểu thêm</a>
+
+accessibility-text-label-issue-fieldset-legend2 = Sử dụng một phần tử <code>legend</code> để gắn nhãn <span>fieldset</span>. <a>Tìm hiểu thêm</a>
+
+accessibility-text-label-issue-form = Các yếu tố hình thức phải được dán nhãn. <a>Tìm hiểu thêm</a>
+
+accessibility-text-label-issue-form-visible = Các yếu tố hình thức nên có một nhãn văn bản có thể nhìn thấy. <a>Tìm hiểu thêm</a>
+
+accessibility-text-label-issue-frame = Các phần tử <code>frame</code> phải được dán nhãn. <a>Tìm hiểu thêm</a>
+
+accessibility-text-label-issue-glyph = Sử dụng thuộc tính <code>alt</code> để gắn nhãn các phần tử <span>mglyph</span>. <a>Tìm hiểu thêm</a>
+
+accessibility-text-label-issue-heading = Headings phải được dán nhãn. <a>Tìm hiểu thêm</a>
+
+accessibility-text-label-issue-heading-content = Headings nên có nội dung văn bản hiển thị. <a>Tìm hiểu thêm</a>
+
+accessibility-text-label-issue-iframe = Sử dụng thuộc tính <code>title</code> để mô tả nội dung <span>iframe</span>. <a>Tìm hiểu thêm</a>
+
+accessibility-text-label-issue-image = Nội dung với hình ảnh phải được dán nhãn. <a>Tìm hiểu thêm</a>
+
+accessibility-text-label-issue-interactive = Các yếu tố tương tác phải được dán nhãn. <a>Tìm hiểu thêm</a>
+
+accessibility-text-label-issue-optgroup-label2 = Sử dụng một thuộc tính <code>label</code> để gắn nhãn <span>optgroup</span>. <a>Tìm hiểu thêm</a>
+
+accessibility-text-label-issue-toolbar = Thanh công cụ phải được dán nhãn khi có nhiều hơn một thanh công cụ. <a>Tìm hiểu thêm</a>
+
+## Text entries for a paragraph used in the accessibility panel sidebar's checks section
+## that describe that currently selected accessible object has a keyboard accessibility
+## issue.
+
+accessibility-keyboard-issue-semantics = Các phần tử có thuộc tính focus nên có tính tương tác. <a>Tìm hiểu thêm</a>
+
+accessibility-keyboard-issue-tabindex = Tránh sử dụng thuộc tính <code>tabindex</code> lớn hơn 0. <a>Tìm hiểu thêm</a>
+
+accessibility-keyboard-issue-action = Các yếu tố tương tác phải có thể được kích hoạt bằng bàn phím. <a>Tìm hiểu thêm</a>
+
+accessibility-keyboard-issue-focusable = Các phần tử tương tác phải có thuộc tính focus. <a>Tìm hiểu thêm</a>
+
diff --git a/thunderbird-l10n/vi/localization/vi/devtools/client/application.ftl b/thunderbird-l10n/vi/localization/vi/devtools/client/application.ftl
new file mode 100644
index 0000000000..dc655af1b1
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/devtools/client/application.ftl
@@ -0,0 +1,121 @@
+# 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/.
+
+
+### These strings are used inside the Application panel which is available
+### by setting the preference `devtools-application-enabled` to true.
+
+
+### The correct localization of this file might be to keep it in English, or another
+### language commonly spoken among web developers. You want to make that choice consistent
+### across the developer tools. A good criteria is the language in which you'd find the
+### best documentation on web development on the web.
+
+# Header for the list of Service Workers displayed in the application panel for the current page.
+serviceworker-list-header = Service Workers
+# Text displayed next to the list of Service Workers to encourage users to check out
+# about:debugging to see all registered Service Workers.
+serviceworker-list-aboutdebugging = Mở <a>about:debugging</a> cho Service Workers từ các miền khác
+# Text for the button to unregister a Service Worker. Displayed for active Service Workers.
+serviceworker-worker-unregister = Hủy đăng ký
+# Text for the debug link displayed for an already started Service Worker. Clicking on the
+# link opens a new devtools toolbox for this service worker. The title attribute is only
+# displayed when the link is disabled.
+serviceworker-worker-debug = Gỡ lỗi
+ .title = Chỉ dịch vụ đang chạy có thể gỡ lỗi
+# Alt text for the image icon displayed inside a debug link for a service worker.
+serviceworker-worker-inspect-icon =
+ .alt = Kiểm tra
+# Text for the start link displayed for a registered but not running Service Worker.
+# Clicking on the link will attempt to start the service worker.
+serviceworker-worker-start3 = Bắt đầu
+# Text displayed for the updated time of the service worker. The <time> element will
+# display the last update time of the service worker script.
+# Variables:
+# $date (date) - Update date
+serviceworker-worker-updated = Đã cập nhật <time>{ DATETIME($date, month: "long", year: "numeric", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric") }</time>
+
+## Service Worker status strings: all serviceworker-worker-status-* strings are also
+## defined in aboutdebugging.properties and should be synchronized with them.
+
+# Service Worker status. A running service worker is registered, currently executed, can
+# be debugged and stopped.
+serviceworker-worker-status-running = Đang chạy
+# Service Worker status. A stopped service worker is registered but not currently active.
+serviceworker-worker-status-stopped = Đã dừng
+# Text displayed when no service workers are visible for the current page.
+serviceworker-empty-intro2 = Không tìm thấy service workers
+# Link will open https://developer.mozilla.org/docs/Web/API/Service_Worker_API/Using_Service_Workers
+serviceworker-empty-intro-link = Tìm hiểu thêm
+# Text displayed when there are no Service Workers to display for the current page,
+# introducing hints to debug Service Worker issues.
+# <a> and <span> are links that will open the webconsole and the debugger, respectively.
+serviceworker-empty-suggestions2 = Nếu trang hiện tại cần có service worker, bạn có thể tìm lỗi trong <a>Bảng điều khiển</a> hoặc xem qua đăng ký service worker của bạn trong <span>Trình gỡ lỗi</span>.
+# Suggestion to go to about:debugging in order to see Service Workers for all domains.
+# Link will open about:debugging in a new tab.
+serviceworker-empty-suggestions-aboutdebugging2 = Xem service workers từ các tên miền khác
+# Header for the Manifest page when we have an actual manifest
+manifest-view-header = Manifest ứng dụng
+# Header for the Manifest page when there's no manifest to inspect
+manifest-empty-intro2 = Không phát hiện manifest của ứng dụng web
+# The link will open https://developer.mozilla.org/en-US/docs/Web/Manifest
+manifest-empty-intro-link = Tìm hiểu làm thế nào để thêm manifest
+# Header for the Errors and Warnings section of Manifest inspection displayed in the application panel.
+manifest-item-warnings = Lỗi và cảnh báo
+# Header for the Identity section of Manifest inspection displayed in the application panel.
+manifest-item-identity = Nhận dạng
+# Header for the Presentation section of Manifest inspection displayed in the application panel.
+manifest-item-presentation = Trình bày
+# Header for the Icon section of Manifest inspection displayed in the application panel.
+manifest-item-icons = Biểu tượng
+# Text displayed while we are loading the manifest file
+manifest-loading = Đang tải manifest…
+# Text displayed when the manifest has been successfully loaded
+manifest-loaded-ok = Đã tải manifest.
+# Text displayed as a caption when there has been an error while trying to
+# load the manifest
+manifest-loaded-error = Có lỗi trong khi tải manifest:
+# Text displayed as an error when there has been a Firefox DevTools error while
+# trying to load the manifest
+manifest-loaded-devtools-error = Lỗi Firefox DevTools
+# Text displayed when the page has no manifest available
+manifest-non-existing = Không tìm thấy manifest để kiểm tra.
+# Text displayed when the page has a manifest embedded in a Data URL and
+# thus we cannot link to it.
+manifest-json-link-data-url = Manifest được nhúng trong URL dữ liệu.
+# Text displayed at manifest icons to label their purpose, as declared
+# in the manifest.
+# Variables:
+# $purpose (string) - Manifest purpose
+manifest-icon-purpose = Mục đích: <code>{ $purpose }</code>
+# Text displayed as the alt attribute for <img> tags showing the icons in the
+# manifest.
+manifest-icon-img =
+ .alt = Biểu tượng
+# Text displayed as the title attribute for <img> tags showing the icons in the
+# manifest.
+# Variables:
+# $sizes (string) - User-dependent string that has been parsed as a
+# space-separated list of `<width>x<height>` sizes or
+# the keyword `any`.
+manifest-icon-img-title = Biểu tượng kích thước: { $sizes }
+# Text displayed as the title attribute for <img> tags showing the icons in the
+# manifest, in case there's no icon size specified by the user
+manifest-icon-img-title-no-sizes = Không xác định kích thước biểu tượng
+# Sidebar navigation item for Manifest sidebar item section
+sidebar-item-manifest = Manifest
+ .alt = Biểu tượng manifest
+ .title = Manifest
+# Sidebar navigation item for Service Workers sidebar item section
+sidebar-item-service-workers = Service Workers
+ .alt = Biểu tượng Service Workers
+ .title = Service Workers
+# Text for the ALT and TITLE attributes of the warning icon
+icon-warning =
+ .alt = Biểu tượng cảnh báo
+ .title = Cảnh báo
+# Text for the ALT and TITLE attributes of the error icon
+icon-error =
+ .alt = Biểu tượng lỗi
+ .title = Lỗi
diff --git a/thunderbird-l10n/vi/localization/vi/devtools/client/compatibility.ftl b/thunderbird-l10n/vi/localization/vi/devtools/client/compatibility.ftl
new file mode 100644
index 0000000000..04ecfbfd7c
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/devtools/client/compatibility.ftl
@@ -0,0 +1,53 @@
+# 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/.
+
+
+## Messages used as headers in the main pane
+
+compatibility-selected-element-header = Phần tử đã chọn
+compatibility-all-elements-header = Tất cả vấn đề
+
+## Message used as labels for the type of issue
+
+compatibility-issue-deprecated = (ngừng hỗ trợ)
+compatibility-issue-experimental = (thử nghiệm)
+compatibility-issue-prefixneeded = (cần có tiền tố)
+compatibility-issue-deprecated-experimental = (ngừng hỗ trợ, thử nghiệm)
+compatibility-issue-deprecated-prefixneeded = (không còn dùng nữa, cần có tiền tố)
+compatibility-issue-experimental-prefixneeded = (thử nghiệm, cần có tiền tố)
+compatibility-issue-deprecated-experimental-prefixneeded = (không còn dùng nữa, thử nghiệm, cần có tiền tố)
+
+## Messages used as labels and titles for buttons in the footer
+
+compatibility-settings-button-label = Cài đặt
+compatibility-settings-button-title =
+ .title = Cài đặt
+
+## Messages used as headers in settings pane
+
+compatibility-settings-header = Cài đặt
+compatibility-target-browsers-header = Trình duyệt đích
+
+##
+
+# Text used as the label for the number of nodes where the issue occurred
+# Variables:
+# $number (Number) - The number of nodes where the issue occurred
+compatibility-issue-occurrences =
+ { $number ->
+ *[other] { $number } lần xuất hiện
+ }
+
+compatibility-no-issues-found = Không tìm thấy vấn đề tương thích.
+compatibility-close-settings-button =
+ .title = Đóng cài đặt
+
+# Text used in the element containing the browser icons for a given compatibility issue.
+# Line breaks are significant.
+# Variables:
+# $browsers (String) - A line-separated list of browser information (e.g. Firefox 98\nChrome 99).
+compatibility-issue-browsers-list =
+ .title =
+ Vấn đề về khả năng tương thích trong:
+ { $browsers }
diff --git a/thunderbird-l10n/vi/localization/vi/devtools/client/perftools.ftl b/thunderbird-l10n/vi/localization/vi/devtools/client/perftools.ftl
new file mode 100644
index 0000000000..91a9f0bf64
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/devtools/client/perftools.ftl
@@ -0,0 +1,124 @@
+# 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/.
+
+
+### These strings are used in DevTools’ performance-new panel, about:profiling, and
+### the remote profiling panel. There are additional profiler strings in the appmenu.ftl
+### file that are used for the profiler popup.
+
+perftools-intro-title = Cài đặt Profiler
+perftools-intro-description =
+ Bản ghi khởi chạy profiler.firefox.com trong một thẻ mới. Tất cả dữ liệu được lưu trữ
+ cục bộ, nhưng bạn có thể chọn tải lên để chia sẻ.
+
+## All of the headings for the various sections.
+
+perftools-heading-settings = Tất cả cài đặt
+perftools-heading-buffer = Cài đặt bộ đệm
+perftools-heading-features = Tính năng
+perftools-heading-features-default = Tính năng (Được khuyến nghị bật theo mặc định)
+perftools-heading-features-disabled = Tính năng đã tắt
+perftools-heading-features-experimental = Thử nghiệm
+perftools-heading-threads = Luồng
+perftools-heading-threads-jvm = Luồng JVM
+perftools-heading-local-build = Bản dựng cục bộ
+
+##
+
+perftools-description-intro =
+ Bản ghi sẽ khởi chạy <a>profiler.firefox.com</a> trong một thẻ mới. Tất cả dữ liệu được lưu trữ
+ cục bộ, nhưng bạn có thể chọn tải lên để chia sẻ.
+perftools-description-local-build =
+ Nếu bạn đang lược tả một bản dựng do chính bạn biên dịch, trên
+ máy tính này, vui lòng thêm objdir của bản dựng của bạn vào
+ danh sách bên dưới để có thể sử dụng nó để tra cứu thông tin symbol.
+
+## The controls for the interval at which the profiler samples the code.
+
+perftools-range-interval-label = Khoảng thời gian lấy mẫu:
+perftools-range-interval-milliseconds = { NUMBER($interval, maxFractionalUnits: 2) } ms
+
+##
+
+# The size of the memory buffer used to store things in the profiler.
+perftools-range-entries-label = Kích thước đệm:
+perftools-custom-threads-label = Thêm luồng tùy chỉnh theo tên:
+perftools-devtools-interval-label = Khoảng thời gian
+perftools-devtools-threads-label = Luồng:
+perftools-devtools-settings-label = Cài đặt
+
+## Various statuses that affect the current state of profiling, not typically displayed.
+
+perftools-status-recording-stopped-by-another-tool = Việc ghi đã bị dừng bởi một công cụ khác.
+perftools-status-restart-required = Trình duyệt phải được khởi động lại để kích hoạt tính năng này.
+
+## These are shown briefly when the user is waiting for the profiler to respond.
+
+perftools-request-to-stop-profiler = Đang dừng ghi
+perftools-request-to-get-profile-and-stop-profiler = Đang ghi hồ sơ
+
+##
+
+perftools-button-start-recording = Bắt đầu ghi
+perftools-button-capture-recording = Bắt đầu ghi
+perftools-button-cancel-recording = Hủy bỏ ghi
+perftools-button-save-settings = Lưu cài đặt và quay lại
+perftools-button-restart = Khởi động lại
+perftools-button-add-directory = Thêm một thư mục
+perftools-button-remove-directory = Xóa mục đã chọn
+perftools-button-edit-settings = Chỉnh sửa cài đặt…
+
+## These messages are descriptions of the threads that can be enabled for the profiler.
+
+perftools-thread-dom-worker =
+ .title = Chức năng này xử lý cả Web Workers và Service Workers
+perftools-thread-renderer =
+ .title = Khi WebRender được bật, luồng đó sẽ thực thi lệnh gọi OpenGL
+perftools-thread-render-backend =
+ .title = Luồng WebRender RenderBackend
+perftools-thread-img-decoder =
+ .title = Luồng giải mã hình ảnh
+perftools-thread-dns-resolver =
+ .title = Phân giải DNS xảy ra trên luồng này
+perftools-thread-jvm-gecko =
+ .title = Luồng chính Gecko JVM
+perftools-thread-jvm-nimbus =
+ .title = Luồng chính cho Nimbus experiments SDK
+perftools-thread-jvm-glean =
+ .title = Luồng chính cho Glean telemetry SDK
+
+##
+
+
+## Onboarding UI labels. These labels are displayed in the new performance panel UI, when
+## devtools.performance.new-panel-onboarding preference is true.
+
+perftools-onboarding-message = <b>Mới</b>: { -profiler-brand-name } hiện được tích hợp vào Công cụ nhà phát triển. <a>Tìm hiểu thêm</a> về công cụ mới mạnh mẽ này.
+perftools-onboarding-close-button =
+ .aria-label = Đóng thông báo giới thiệu
+
+## Profiler presets
+
+
+# Presets and their l10n IDs are defined in the file
+# devtools/client/performance-new/shared/background.jsm.js
+# The same labels and descriptions are also defined in appmenu.ftl.
+
+perftools-presets-web-developer-label = Nhà phát triển Web
+perftools-presets-web-developer-description = Giá trị đặt trước được đề xuất tải thấp để gỡ lỗi các ứng dụng web phổ biến.
+perftools-presets-firefox-label = { -brand-shorter-name }
+perftools-presets-firefox-description = Giá trị đặt trước được đề xuất để kiểm tra hiệu suất { -brand-shorter-name }.
+perftools-presets-graphics-label = Đồ họa
+perftools-presets-graphics-description = Giá trị đặt trước để điều tra lỗi đồ họa trong { -brand-shorter-name }.
+perftools-presets-media-label = Đa phương tiện
+perftools-presets-media-description2 = Giá trị đặt trước để điều tra lỗi âm thanh và video trong { -brand-shorter-name }.
+perftools-presets-networking-label = Kết nối mạng
+perftools-presets-networking-description = Giá trị đặt trước để điều tra lỗi mạng trong { -brand-shorter-name }.
+# "Power" is used in the sense of energy (electricity used by the computer).
+perftools-presets-power-label = Điện năng
+perftools-presets-power-description = Giá trị đặt trước để điều tra lỗi sử dụng điện năng trong { -brand-shorter-name }, với chi phí thấp.
+perftools-presets-custom-label = Tùy chọn
+
+##
+
diff --git a/thunderbird-l10n/vi/localization/vi/devtools/client/storage.ftl b/thunderbird-l10n/vi/localization/vi/devtools/client/storage.ftl
new file mode 100644
index 0000000000..0d23ee4833
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/devtools/client/storage.ftl
@@ -0,0 +1,109 @@
+# 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/.
+
+
+### These strings are used inside the Storage Inspector.
+
+# Key shortcut used to focus the filter box on top of the data view
+storage-filter-key = CmdOrCtrl+F
+# Hint shown when the selected storage host does not contain any data
+storage-table-empty-text = Không có dữ liệu cho máy chủ được chọn
+# Hint shown when the cookies storage type is selected. Clicking the link will open
+# https://firefox-source-docs.mozilla.org/devtools-user/storage_inspector/cookies/
+storage-table-type-cookies-hint = Xem và chỉnh sửa cookie bằng cách chọn một máy chủ lưu trữ. <a data-l10n-name="learn-more-link">Tìm hiểu thêm</a>
+# Hint shown when the local storage type is selected. Clicking the link will open
+# https://firefox-source-docs.mozilla.org/devtools-user/storage_inspector/local_storage_session_storage/
+storage-table-type-localstorage-hint = Xem và chỉnh sửa bộ nhớ cục bộ bằng cách chọn một máy chủ lưu trữ. <a data-l10n-name="learn-more-link">Tìm hiểu thêm</a>
+# Hint shown when the session storage type is selected. Clicking the link will open
+# https://firefox-source-docs.mozilla.org/devtools-user/storage_inspector/local_storage_session_storage/
+storage-table-type-sessionstorage-hint = Xem và chỉnh sửa bộ nhớ phiên bằng cách chọn máy chủ lưu trữ. <a data-l10n-name="learn-more-link">Tìm hiểu thêm</a>
+# Hint shown when the IndexedDB storage type is selected. Clicking the link will open
+# https://firefox-source-docs.mozilla.org/devtools-user/storage_inspector/indexeddb/
+storage-table-type-indexeddb-hint = Xem và xóa các mục IndexedDB bằng cách chọn cơ sở dữ liệu. <a data-l10n-name="learn-more-link">Tìm hiểu thêm</a>
+# Hint shown when the cache storage type is selected. Clicking the link will open
+# https://firefox-source-docs.mozilla.org/devtools-user/storage_inspector/cache_storage/
+storage-table-type-cache-hint = Xem và xóa các mục lưu trữ bộ nhớ đệm bằng cách chọn một bộ lưu trữ. <a data-l10n-name="learn-more-link">Tìm hiểu thêm</a>
+# Hint shown when the extension storage type is selected. Clicking the link will open
+# https://firefox-source-docs.mozilla.org/devtools-user/storage_inspector/extension_storage/
+storage-table-type-extensionstorage-hint = Xem và chỉnh sửa bộ nhớ tiện ích mở rộng bằng cách chọn máy chủ. <a data-l10n-name="learn-more-link">Tìm hiểu thêm</a>
+# Placeholder for the searchbox that allows you to filter the table items
+storage-search-box =
+ .placeholder = Lọc các mục
+# Placeholder text in the sidebar search box
+storage-variable-view-search-box =
+ .placeholder = Lọc giá trị
+# Add Item button title
+storage-add-button =
+ .title = Thêm mục
+# Refresh button title
+storage-refresh-button =
+ .title = Làm mới mục
+# Context menu action to delete all storage items
+storage-context-menu-delete-all =
+ .label = Xóa tất cả
+# Context menu action to delete all session cookies
+storage-context-menu-delete-all-session-cookies =
+ .label = Xóa tất cả cookie của phiên
+# Context menu action to copy a storage item
+storage-context-menu-copy =
+ .label = Sao chép
+# Context menu action to delete storage item
+# Variables:
+# $itemName (String) - Name of the storage item that will be deleted
+storage-context-menu-delete =
+ .label = Xóa “{ $itemName }”
+# Context menu action to add an item
+storage-context-menu-add-item =
+ .label = Thêm mục
+# Context menu action to delete all storage items from a given host
+# Variables:
+# $host (String) - Host for which we want to delete the items
+storage-context-menu-delete-all-from =
+ .label = Xóa tất cả khỏi “{ $host }”
+
+## Header names of the columns in the Storage Table for each type of storage available
+## through the Storage Tree to the side.
+
+storage-table-headers-cookies-name = Tên
+storage-table-headers-cookies-value = Giá trị
+storage-table-headers-cookies-expires = Expires / Max-Age
+storage-table-headers-cookies-size = Kích cỡ
+storage-table-headers-cookies-last-accessed = Lần truy cập cuối
+storage-table-headers-cookies-creation-time = Được tạo
+storage-table-headers-cache-status = Trạng thái
+storage-table-headers-extension-storage-area = Khu vực lưu trữ
+
+## Labels for Storage type groups present in the Storage Tree, like cookies, local storage etc.
+
+storage-tree-labels-cookies = Cookie
+storage-tree-labels-local-storage = Lưu trữ cục bộ
+storage-tree-labels-session-storage = Lưu trữ phiên
+storage-tree-labels-indexed-db = Indexed DB
+storage-tree-labels-cache = Bộ nhớ đệm
+storage-tree-labels-extension-storage = Lưu trữ tiện ích mở rộng
+
+##
+
+# Tooltip for the button that collapses the right panel in the
+# storage UI when the panel is closed.
+storage-expand-pane =
+ .title = Mở rộng ngăn
+# Tooltip for the button that collapses the right panel in the
+# storage UI when the panel is open.
+storage-collapse-pane =
+ .title = Thu gọn ngăn
+# String displayed in the expires column when the cookie is a Session Cookie
+storage-expires-session = Session
+# Heading displayed over the item value in the sidebar
+storage-data = Dữ liệu
+# Heading displayed over the item parsed value in the sidebar
+storage-parsed-value = Giá trị phân tích
+# Warning notification when IndexedDB database could not be deleted immediately.
+# Variables:
+# $dbName (String) - Name of the database
+storage-idb-delete-blocked = Cơ sở dữ liệu “{ $dbName }” sẽ bị xóa sau khi tất cả các kết nối được đóng lại.
+# Error notification when IndexedDB database could not be deleted.
+# Variables:
+# $dbName (String) - Name of the database
+storage-idb-delete-error = Không thể xóa cơ sở dữ liệu “{ $dbName }”.
diff --git a/thunderbird-l10n/vi/localization/vi/devtools/client/styleeditor.ftl b/thunderbird-l10n/vi/localization/vi/devtools/client/styleeditor.ftl
new file mode 100644
index 0000000000..1e17cccccc
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/devtools/client/styleeditor.ftl
@@ -0,0 +1,52 @@
+# 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/.
+
+styleeditor-new-button =
+ .tooltiptext = Tạo mới và chèn thêm style sheet vào tài liệu
+ .accesskey = N
+styleeditor-import-button =
+ .tooltiptext = Nhập và chèn style sheet vào văn bản
+ .accesskey = I
+styleeditor-filter-input =
+ .placeholder = Lọc style sheet
+styleeditor-visibility-toggle =
+ .tooltiptext = Bật tắt tính năng có thể xem style sheet
+ .accesskey = S
+styleeditor-visibility-toggle-system =
+ .tooltiptext = Không thể vô hiệu hóa style sheet của hệ thống
+styleeditor-save-button = Lưu
+ .tooltiptext = Lưu style sheet thành một tập tin
+ .accesskey = S
+styleeditor-options-button =
+ .tooltiptext = Tùy chọn trình soạn thảo kiểu mẫu
+styleeditor-at-rules = At-rules
+styleeditor-editor-textbox =
+ .data-placeholder = Gõ CSS tại đây.
+styleeditor-no-stylesheet = Trang này không có style sheet.
+styleeditor-no-stylesheet-tip = Có thể bạn sẽ thích<a data-l10n-name="append-new-stylesheet">gắn thêm một style sheet mới</a>?
+styleeditor-open-link-new-tab =
+ .label = Mở liên kết trong thẻ mới
+styleeditor-copy-url =
+ .label = Sao chép URL
+styleeditor-find =
+ .label = Tìm
+ .accesskey = F
+styleeditor-find-again =
+ .label = Tìm tiếp
+ .accesskey = g
+styleeditor-go-to-line =
+ .label = Nhảy đến dòng…
+ .accesskey = J
+# Label displayed when searching a term that is not found in any stylesheet path
+styleeditor-stylesheet-all-filtered = Không tìm thấy style sheet cho từ khóa.
+# This string is shown in the style sheets list
+# Variables:
+# $ruleCount (Integer) - The number of rules in the stylesheet.
+styleeditor-stylesheet-rule-count = { $ruleCount } quy tắc.
+# Title for the pretty print button in the editor footer.
+styleeditor-pretty-print-button =
+ .title = In đẹp style sheet
+# Title for the pretty print button in the editor footer, when it's disabled
+styleeditor-pretty-print-button-disabled =
+ .title = Chỉ có thể in đẹp các tập tin CSS
diff --git a/thunderbird-l10n/vi/localization/vi/devtools/client/toolbox-options.ftl b/thunderbird-l10n/vi/localization/vi/devtools/client/toolbox-options.ftl
new file mode 100644
index 0000000000..8396285fe5
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/devtools/client/toolbox-options.ftl
@@ -0,0 +1,148 @@
+# 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 for Developer Tools options
+
+
+## Default Developer Tools section
+
+# The heading
+options-select-default-tools-label = Công cụ nhà phát triển mặc định
+
+# The label for the explanation of the * marker on a tool which is currently not supported
+# for the target of the toolbox.
+options-tool-not-supported-label = * Không được hỗ trợ cho hộp công cụ đích hiện tại
+
+# The label for the heading of group of checkboxes corresponding to the developer tools
+# added by add-ons. This heading is hidden when there is no developer tool installed by add-ons.
+options-select-additional-tools-label = Công cụ phát triển được cài đặt bởi tiện ích
+
+# The label for the heading of group of checkboxes corresponding to the default developer
+# tool buttons.
+options-select-enabled-toolbox-buttons-label = Các nút trên hộp công cụ có sẵn
+
+# The label for the heading of the radiobox corresponding to the theme
+options-select-dev-tools-theme-label = Chủ đề
+
+## Inspector section
+
+# The heading
+options-context-inspector = Trình kiểm tra
+
+# The label for the checkbox option to show user agent styles
+options-show-user-agent-styles-label = Hiển thị kiểu của trình duyệt
+options-show-user-agent-styles-tooltip =
+ .title = Bật tính năng này sẽ hiển thị các kiểu mặc định được tải bởi trình duyệt.
+
+# The label for the checkbox option to enable collapse attributes
+options-collapse-attrs-label = Cắt bớt các thuộc tính DOM
+options-collapse-attrs-tooltip =
+ .title = Cắt ngắn các thuộc tính dài trong trình kiểm tra
+
+# The label for the checkbox option to enable the "drag to update" feature
+options-inspector-draggable-properties-label = Nhấp và kéo để chỉnh sửa giá trị kích thước
+options-inspector-draggable-properties-tooltip =
+ .title = Nhấp và kéo để chỉnh sửa các giá trị kích thước trong phần Quy tắc của Trình kiểm tra.
+
+## "Default Color Unit" options for the Inspector
+
+options-default-color-unit-label = Đơn vị màu mặc định
+options-default-color-unit-authored = Theo bản gốc
+options-default-color-unit-hex = Thập lục phân
+options-default-color-unit-hsl = HSL(A)
+options-default-color-unit-rgb = RGB(A)
+options-default-color-unit-hwb = HWB
+options-default-color-unit-name = Tên màu
+
+## Style Editor section
+
+# The heading
+options-styleeditor-label = Trình chỉnh sửa kiểu mẫu
+
+# The label for the checkbox that toggles autocompletion of css in the Style Editor
+options-stylesheet-autocompletion-label = Tự động điền CSS
+options-stylesheet-autocompletion-tooltip =
+ .title = Tự động điền các thuộc tính, giá trị và bộ chọn CSS trong trình chỉnh sửa kiểu mẫu khi bạn nhập
+
+## Screenshot section
+
+# The heading
+options-screenshot-label = Hành vi chụp màn hình
+
+# Label for the checkbox that toggles screenshot to clipboard feature
+options-screenshot-clipboard-only-label = Chỉ chụp màn hình vào khay nhớ tạm
+options-screenshot-clipboard-tooltip2 =
+ .title = Lưu ảnh chụp màn hình trực tiếp vào khay nhớ tạm
+
+# Label for the checkbox that toggles the camera shutter audio for screenshot tool
+options-screenshot-audio-label = Bật tiếng chụp ảnh
+options-screenshot-audio-tooltip =
+ .title = Bật âm thanh camera khi chụp ảnh màn hình
+
+## Editor section
+
+# The heading
+options-sourceeditor-label = Tùy chỉnh trình soạn thảo
+
+options-sourceeditor-detectindentation-tooltip =
+ .title = Dự đoán cách thụt lề dựa trên nội dung của mã nguồn
+options-sourceeditor-detectindentation-label = Phát hiện thụt lề
+options-sourceeditor-autoclosebrackets-tooltip =
+ .title = Tự động chèn dấu đóng
+options-sourceeditor-autoclosebrackets-label = Tự đóng dấu ngoặc
+options-sourceeditor-expandtab-tooltip =
+ .title = Sử dụng dấu cách thay cho ký tự tab
+options-sourceeditor-expandtab-label = Căn lề bằng khoảng trắng
+options-sourceeditor-tabsize-label = Kích cỡ phím tab
+options-sourceeditor-keybinding-label = Tổ hợp phím
+options-sourceeditor-keybinding-default-label = Mặc định
+
+## Advanced section
+
+# The heading (this item is also used in perftools.ftl)
+options-context-advanced-settings = Cài đặt nâng cao
+
+# The label for the checkbox that toggles the HTTP cache on or off
+options-disable-http-cache-label = Vô hiệu hóa bộ đệm HTTP (khi hộp công cụ đang mở)
+options-disable-http-cache-tooltip =
+ .title = Bật tùy chọn này sẽ vô hiệu hóa bộ đệm HTTP cho tất cả các thẻ có hộp công cụ mở. Service Worker không bị ảnh hưởng bởi tùy chọn này.
+
+# The label for checkbox that toggles JavaScript on or off
+options-disable-javascript-label = Tắt JavaScript *
+options-disable-javascript-tooltip =
+ .title = Bật tùy chọn này sẽ vô hiệu hóa JavaScript cho thẻ hiện tại. Nếu thẻ hoặc hộp công cụ bị đóng thì sẽ tự động tắt tùy chọn này.
+
+# The label for checkbox that toggles chrome debugging, i.e. the devtools.chrome.enabled preference
+options-enable-chrome-label = Kích hoạt trình duyệt chrome và các hộp công cụ gỡ lỗi tiện ích
+options-enable-chrome-tooltip =
+ .title = Bật tùy chọn này sẽ cho phép bạn sử dụng các công cụ dành cho nhà phát triển khác nhau trong ngữ cảnh trình duyệt (thông qua Công cụ > Nhà phát triển web > Hộp công cụ trình duyệt) và gỡ lỗi các tiện ích từ trình quản lý tiện ích
+
+# The label for checkbox that toggles remote debugging, i.e. the devtools.debugger.remote-enabled preference
+options-enable-remote-label = Cho phép gỡ lỗi từ xa
+options-enable-remote-tooltip2 =
+ .title = Bật tùy chọn này sẽ cho phép gỡ lỗi phiên bản trình duyệt này từ xa
+
+# The label for checkbox that enables F12 as a shortcut to open DevTools
+options-enable-f12-label = Sử dụng phím F12 để mở hoặc đóng DevTools
+options-enable-f12-tooltip =
+ .title = Bật tùy chọn này sẽ liên kết phím F12 để mở hoặc đóng hộp công cụ DevTools
+
+# The label for checkbox that toggles custom formatters for objects
+options-enable-custom-formatters-label = Bật bộ định dạng tùy chỉnh
+options-enable-custom-formatters-tooltip =
+ .title = Bật tùy chọn này sẽ cho phép các trang web xác định bộ định dạng tùy chỉnh cho các đối tượng DOM
+
+# The label for checkbox that toggles the service workers testing over HTTP on or off.
+options-enable-service-workers-http-label = Cho phép Service Worker qua HTTP (khi hộp công cụ mở)
+options-enable-service-workers-http-tooltip =
+ .title = Bật tùy chọn này sẽ cho phép service workers qua HTTP cho tất cả các thẻ đang mở hộp công cụ.
+
+# The label for the checkbox that toggles source maps in all tools.
+options-source-maps-label = Bật bản đồ nguồn
+options-source-maps-tooltip =
+ .title = Nếu bạn bật tùy chọn này, các nguồn sẽ được ánh xạ trong các công cụ.
+
+# The message shown for settings that trigger page reload
+options-context-triggers-page-refresh = * Chỉ phiên hiện tại, tải lại trang
diff --git a/thunderbird-l10n/vi/localization/vi/devtools/client/toolbox.ftl b/thunderbird-l10n/vi/localization/vi/devtools/client/toolbox.ftl
new file mode 100644
index 0000000000..b4e2952ac7
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/devtools/client/toolbox.ftl
@@ -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/.
+
+
+### These messages are used in the DevTools toolbox.
+
+
+## These labels are shown in the "..." menu in the toolbox, and represent different
+## commands such as the docking of DevTools, toggling features, and viewing some
+## external links. Some of the commands have the keyboard shortcut shown next to
+## the label.
+
+toolbox-meatball-menu-dock-bottom-label = Dock bên dưới
+toolbox-meatball-menu-dock-left-label = Dock bên trái
+toolbox-meatball-menu-dock-right-label = Dock bên phải
+toolbox-meatball-menu-dock-separate-window-label = Cửa sổ riêng
+
+toolbox-meatball-menu-splitconsole-label = Hiện bảng điều khiển phân chia
+toolbox-meatball-menu-hideconsole-label = Ẩn bảng điều khiển phân chia
+
+toolbox-meatball-menu-settings-label = Cài đặt
+toolbox-meatball-menu-documentation-label = Tài liệu…
+toolbox-meatball-menu-community-label = Cộng đồng…
+
+# This menu item is only available in the browser toolbox. It forces the popups/panels
+# to stay visible on blur, which is primarily useful for addon developers and Firefox
+# contributors.
+toolbox-meatball-menu-noautohide-label = Vô hiệu hóa tự động ẩn popup
+
+toolbox-meatball-menu-pseudo-locale-accented = Kích hoạt ngôn ngữ “accented”
+toolbox-meatball-menu-pseudo-locale-bidi = Kích hoạt ngôn ngữ “bidi”
+
+##
+
+
+## These labels are shown in the top-toolbar in the Browser Toolbox and Browser Console
+
+toolbox-mode-browser-toolbox-label = Chế độ công cụ trình duyệt
+toolbox-mode-browser-console-label = Chế độ bảng điều khiển trình duyệt
+
+toolbox-mode-everything-label = Đa tiến trình
+toolbox-mode-everything-sub-label = (Chậm hơn)
+toolbox-mode-everything-container =
+ .title = Gỡ lỗi mọi thứ trong tất cả tiến trình
+
+toolbox-mode-parent-process-label = Chỉ tiến trình mẹ
+toolbox-mode-parent-process-sub-label = (Nhanh)
+toolbox-mode-parent-process-container =
+ .title = Chỉ tập trung vào các tài nguyên từ tiến trình mẹ.
+
+toolbox-always-on-top-enabled2 = Tắt luôn ở trên cùng
+ .title = Điều này sẽ khởi động lại Công cụ dành cho nhà phát triển
+toolbox-always-on-top-disabled2 = Bật luôn ở trên cùng
+ .title = Điều này sẽ khởi động lại Công cụ dành cho nhà phát triển
diff --git a/thunderbird-l10n/vi/localization/vi/devtools/client/tooltips.ftl b/thunderbird-l10n/vi/localization/vi/devtools/client/tooltips.ftl
new file mode 100644
index 0000000000..9a8f00f5fd
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/devtools/client/tooltips.ftl
@@ -0,0 +1,97 @@
+# 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 for Developer Tools tooltips.
+
+learn-more = <span data-l10n-name="link">Tìm hiểu thêm</span>
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## Variables:
+## $property (string) - A CSS property name e.g. "color".
+## $display (string) - A CSS display value e.g. "inline-block".
+
+inactive-css-not-grid-or-flex-container = <strong>{ $property }</strong> không có tác dụng đối với phần tử này vì nó không phải là ngăn chứa flex hay ngăn chứa lưới.
+inactive-css-not-grid-or-flex-container-or-multicol-container = <strong>{ $property }</strong> không có tác dụng đối với phần tử này vì nó không phải là ngăn chứa flex, ngăn chứa lưới hoặc ngăn chứa nhiều cột.
+inactive-css-not-multicol-container = <strong>{ $property }</strong> không có tác dụng trên phần tử này vì nó không phải là một ngăn chứa nhiều cột.
+inactive-css-not-grid-or-flex-item = <strong>{ $property }</strong> không có tác dụng đối với phần tử này vì nó không phải là một mục lưới hoặc flex.
+inactive-css-not-grid-item = <strong>{ $property }</strong> không có tác dụng đối với thành phần này vì nó không phải là một mục lưới.
+inactive-css-not-grid-container = <strong>{ $property }</strong> không có tác dụng đối với phần tử này vì nó không phải là ngăn chứa lưới.
+inactive-css-not-flex-item = <strong>{ $property }</strong> không có tác dụng đối với phần tử này vì nó không phải là một mục flex.
+inactive-css-not-flex-container = <strong>{ $property }</strong> không có tác dụng đối với phần tử này vì nó không phải là ngăn chứa flex.
+inactive-css-not-inline-or-tablecell = <strong>{ $property }</strong> không có tác dụng đối với phần tử này vì nó không phải là phần tử nội tuyến hoặc ô bảng.
+inactive-css-first-line-pseudo-element-not-supported = <strong>{ $property }</strong> không được hỗ trợ trên ::first-line pseudo-elements.
+inactive-css-first-letter-pseudo-element-not-supported = <strong>{ $property }</strong> không được hỗ trợ trên ::first-letter pseudo-elements.
+inactive-css-placeholder-pseudo-element-not-supported = <strong>{ $property }</strong> không được hỗ trợ trên ::placeholder pseudo-elements.
+inactive-css-property-because-of-display = <strong>{ $property }</strong> không ảnh hưởng đến yếu tố này vì nó có hiển thị của <strong>{ $display }</strong>.
+inactive-css-not-display-block-on-floated = Giá trị <strong>display</strong> đã được thay đổi bởi máy thành <strong>block</strong> vì phần tử là <strong>floated</strong>.
+inactive-css-property-is-impossible-to-override-in-visited = Nó không thể ghi đè <strong>{ $property }</strong> do hạn chế <strong>:visited</strong>.
+inactive-css-position-property-on-unpositioned-box = <strong>{ $property }</strong> không có tác dụng đối với phần tử này vì nó không phải là phần tử được định vị.
+inactive-text-overflow-when-no-overflow = <strong>{ $property }</strong> không ảnh hưởng đến phần tử này vì <strong>overflow:hidden</strong> không được đặt.
+inactive-css-not-for-internal-table-elements = <strong>{ $property }</strong> không ảnh hưởng đến các phần tử nội bộ của bảng.
+inactive-css-not-for-internal-table-elements-except-table-cells = <strong>{ $property }</strong> không có ảnh hưởng đến các phần tử bên trong bảng ngoại trừ các ô trong bảng.
+inactive-css-not-table = <strong>{ $property }</strong> không ảnh hưởng đến phần tử này vì nó không phải là một bảng.
+inactive-css-not-table-cell = <strong>{ $property }</strong> không có tác dụng trên phần tử này vì nó không phải là ô của bảng.
+inactive-scroll-padding-when-not-scroll-container = <strong>{ $property }</strong> không ảnh hưởng đến phần tử này vì nó không cuộn.
+inactive-css-border-image = <strong>{ $property }</strong> không ảnh hưởng đến phần tử này vì nó không thể được áp dụng cho phần tử bảng nội bộ khi <strong>border-collapse</strong> được đặt thành <strong>collapse</strong> trên bảng phần tử mẹ.
+inactive-css-ruby-element = <strong>{ $property }</strong> không ảnh hưởng đến phần tử này vì nó là phần tử ruby. Kích thước của nó được xác định bởi kích thước phông chữ của văn bản ruby.
+inactive-css-highlight-pseudo-elements-not-supported = <strong>{ $property }</strong> không được hỗ trợ trên pseudo-elements được tô sáng.
+inactive-css-cue-pseudo-element-not-supported = <strong>{ $property }</strong> không được hỗ trợ trên ::cue pseudo-elements.
+# Variables:
+# $lineCount (integer) - The number of lines the element has.
+inactive-css-text-wrap-balance-lines-exceeded = <strong>{ $property }</strong> không có tác dụng lên phần tử này vì nó có nhiều hơn { $lineCount } dòng.
+inactive-css-text-wrap-balance-fragmented = <strong>{ $property }</strong> không có tác dụng gì với phần tử này vì nó bị phân mảnh, tức là nội dung của nó bị chia thành nhiều cột hoặc nhiều trang.
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain how
+## the problem can be solved.
+
+inactive-css-not-grid-or-flex-container-fix = Hãy thử thêm <strong>display:grid</strong> hoặc <strong>display:flex</strong>. { learn-more }
+inactive-css-not-grid-or-flex-container-or-multicol-container-fix = Hãy thử thêm <strong>display:grid</strong>, <strong>display:flex</strong> hoặc <strong>columns:2</strong>. { learn-more }
+inactive-css-not-multicol-container-fix = Hãy thử thêm <strong>column-count</strong> hoặc <strong>column-width</strong>. { learn-more }
+inactive-css-not-grid-or-flex-item-fix-3 = Hãy thử thêm <strong>display:grid</strong>, <strong>display:flex</strong>, <strong>display:inline-grid</strong>, hoặc <strong>display:inline-flex</strong> vào parent của phần tử. { learn-more }
+inactive-css-not-grid-item-fix-2 = Hãy thử thêm <strong>display:grid</strong> hoặc <strong>display:inline-grid</strong> vào phần tử mẹ. { learn-more }
+inactive-css-not-grid-container-fix = Hãy thử thêm <strong>display:grid</strong> hoặc <strong>display:inline-grid</strong>. { learn-more }
+inactive-css-not-flex-item-fix-2 = Hãy thử thêm <strong>display:flex</strong> hoặc <strong>display:inline-flex</strong> vào phần tử mẹ. { learn-more }
+inactive-css-not-flex-container-fix = Hãy thử thêm <strong>display:flex</strong> hoặc <strong>display:inline-flex</strong>. { learn-more }
+inactive-css-not-inline-or-tablecell-fix = Hãy thử thêm <strong>display:inline</strong> hoặc <strong>display:table-cell</strong>. { learn-more }
+inactive-css-non-replaced-inline-or-table-row-or-row-group-fix = Hãy thử thêm <strong>display:inline-block</strong> hoặc <strong>display:block</strong>. { learn-more }
+inactive-css-non-replaced-inline-or-table-column-or-column-group-fix = Hãy thử thêm <strong>display:inline-block</strong>. { learn-more }
+inactive-css-not-display-block-on-floated-fix = Hãy thử xóa <strong>float</strong> hoặc thêm <strong>display:block</strong>. { learn-more }
+inactive-css-position-property-on-unpositioned-box-fix = Hãy thử đặt thuộc tính <strong>position</strong> của nó thành một thứ khác ngoài <strong>static</strong>. { learn-more }
+inactive-text-overflow-when-no-overflow-fix = Hãy thử thêm <strong>overflow:hidden</strong>. { learn-more }
+inactive-css-not-for-internal-table-elements-fix = Hãy thử đặt thuộc tính <strong>display</strong> của nó thành thứ khác ngoài <strong>table-cell</strong>, <strong>table-column</strong>, <strong>table-row</strong>, <strong>table-column-group</strong>, <strong>table-row-group</strong>, hoặc <strong>table-footer-group</strong>. { learn-more }
+inactive-css-not-for-internal-table-elements-except-table-cells-fix = Hãy thử đặt thuộc tính <strong>display</strong> của nó thành thứ khác ngoài <strong>table-column</strong>, <strong>table-row</strong>, <strong>table-column-group</strong>, <strong>table-row-group</strong>, hoặc <strong>table-footer-group</strong>. { learn-more }
+inactive-css-not-table-fix = Hãy thử thêm <strong>display:table</strong> hoặc <strong>display:inline-table</strong>. { learn-more }
+inactive-css-not-table-cell-fix = Hãy thử thêm <strong>display:table-cell</strong>. { learn-more }
+inactive-scroll-padding-when-not-scroll-container-fix = Hãy thử thêm <strong>overflow:auto</strong>, <strong>overflow:scroll</strong>, hoặc <strong>overflow:hidden</strong>. { learn-more }
+inactive-css-border-image-fix = Trên bảng phần tử mẹ, hãy xóa thuộc tính hoặc thay đổi giá trị của <strong>border-collapse</strong> sang một giá trị khác <strong>collapse</strong>. { learn-more }
+inactive-css-ruby-element-fix = Hãy thử thay đổi <strong>font-size</strong> của văn bản ruby. { learn-more }
+inactive-css-text-wrap-balance-lines-exceeded-fix = Hãy thử giảm số lượng dòng. { learn-more }
+inactive-css-text-wrap-balance-fragmented-fix = Tránh phân chia nội dung của phần tử, ví dụ bằng cách xóa các cột hoặc bằng cách sử dụng <strong>page-break-inside:avoid</strong>. { learn-more }
+
+## In the Rule View when a CSS property may have compatibility issues with other browsers
+## we display an icon. When this icon is hovered this message is displayed to explain why
+## the property is incompatible and the platforms it is incompatible on.
+## Variables:
+## $property (string) - A CSS declaration name e.g. "-moz-user-select" that can be a platform specific alias.
+## $rootProperty (string) - A raw CSS property name e.g. "user-select" that is not a platform specific alias.
+
+css-compatibility-default-message = <strong>{ $property }</strong> không được hỗ trợ trong các trình duyệt sau:
+css-compatibility-deprecated-experimental-message = <strong>{ $property }</strong> là thuộc tính thử nghiệm không còn được dùng nữa bởi các tiêu chuẩn W3C. Nó không được hỗ trợ trong các trình duyệt sau:
+css-compatibility-deprecated-experimental-supported-message = <strong>{ $property }</strong> là thuộc tính thử nghiệm không còn được dùng nữa bởi các tiêu chuẩn W3C.
+css-compatibility-deprecated-message = <strong>{ $property }</strong> không còn được dùng nữa bởi các tiêu chuẩn W3C. Nó không được hỗ trợ trong các trình duyệt sau:
+css-compatibility-deprecated-supported-message = <strong>{ $property }</strong> không còn được dùng nữa bởi các tiêu chuẩn W3C.
+css-compatibility-experimental-message = <strong>{ $property }</strong> là thuộc tính thử nghiệm. Nó không được hỗ trợ trong các trình duyệt sau:
+css-compatibility-experimental-supported-message = <strong>{ $property }</strong> là thuộc tính thử nghiệm.
+css-compatibility-learn-more-message = <span data-l10n-name="link">Tìm hiểu thêm</span> về <strong>{ $rootProperty }</strong>
+
+## In the Rule View when a rule selector can causes issues, we display an icon.
+## When this icon is hovered one or more of those messages are displayed to explain what
+## the issue are.
+
+# :has() should not be translated
+css-selector-warning-unconstrained-has = Selector này sử dụng <strong>:has()</strong> không bị ràng buộc, có thể khiến bị chậm
diff --git a/thunderbird-l10n/vi/localization/vi/devtools/shared/debugger-paused-reasons.ftl b/thunderbird-l10n/vi/localization/vi/devtools/shared/debugger-paused-reasons.ftl
new file mode 100644
index 0000000000..d252f6bd7e
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/devtools/shared/debugger-paused-reasons.ftl
@@ -0,0 +1,87 @@
+# 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/.
+
+
+### These strings are used inside the Debugger which is available from the Web
+### Developer sub-menu -> 'Debugger', as well as in the "Paused Debugger
+### Overlay" that is displayed in the content page when it pauses.
+
+
+### The correct localization of this file might be to keep it in
+### English, or another language commonly spoken among web developers.
+### You want to make that choice consistent across the developer tools.
+### A good criteria is the language in which you'd find the best
+### documentation on web development on the web.
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused due to a `debugger` statement in the code
+whypaused-debugger-statement = Đã tạm dừng do câu lệnh trình gỡ lỗi
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a breakpoint
+whypaused-breakpoint = Đã tạm dừng do điểm dừng
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an event breakpoint.
+whypaused-event-breakpoint = Đã tạm dừng trên do điểm dừng của event
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an exception
+whypaused-exception = Đã tạm dừng do ngoại lệ
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a DOM mutation breakpoint
+whypaused-mutation-breakpoint = Đã tạm dừng do DOM mutation
+
+# The text that is displayed to describe an added node which triggers a subtree
+# modification
+whypaused-mutation-breakpoint-added = Đã thêm:
+
+# The text that is displayed to describe a removed node which triggers a subtree
+# modification
+whypaused-mutation-breakpoint-removed = Đã xóa:
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused at a JS execution
+whypaused-interrupted = Đã tạm dừng khi thực thi
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused while stepping in or out of the stack
+whypaused-resume-limit = Đã tạm dừng trong khi step
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a dom event
+whypaused-pause-on-dom-events = Đã tạm dừng do event listener
+
+# The text that is displayed in an info block when evaluating a conditional
+# breakpoint throws an error
+whypaused-breakpoint-condition-thrown = Lỗi với điểm dừng điều kiện
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an xml http request
+whypaused-xhr = Đã tạm dừng do XMLHttpRequest
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a promise rejection
+whypaused-promise-rejection = Đã tạm dừng do từ chối promise
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused at a watchpoint on an object property
+whypaused-get-watchpoint = Đã tạm dừng do thuộc tính get
+
+# The text that is displayed in an info block explaining how the debugger is
+# currently paused at a watchpoint on an object property
+whypaused-set-watchpoint = Đã tạm dừng do thuộc tính set
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an assert
+whypaused-assert = Đã tạm dừng do assertion
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a debugger statement
+whypaused-debug-command = Đã tạm dừng do câu lệnh gỡ lỗi
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an event listener breakpoint set
+whypaused-other = Trình gỡ lỗi đã tạm dừng
diff --git a/thunderbird-l10n/vi/localization/vi/devtools/shared/highlighters.ftl b/thunderbird-l10n/vi/localization/vi/devtools/shared/highlighters.ftl
new file mode 100644
index 0000000000..b5f4634862
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/devtools/shared/highlighters.ftl
@@ -0,0 +1,62 @@
+# 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/.
+
+
+### This file contains strings used in highlighters.
+### Highlighters are visualizations that DevTools draws on top of content to aid
+### in understanding content sizing, etc.
+
+# The row and column position of a grid cell shown in the grid cell infobar when hovering
+# over the CSS grid outline.
+# Variables
+# $row (integer) - The row index
+# $column (integer) - The column index
+grid-row-column-positions = Hàng { $row } / Cột { $column }
+
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is a grid container.
+gridtype-container = Ngăn chứa lưới
+
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is a grid item.
+gridtype-item = Mục lưới
+
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is both a grid container and a grid item.
+gridtype-dual = Ngăn chứa/mục lưới
+
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is a flex container.
+flextype-container = Ngăn chứa Flex
+
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is a flex item.
+flextype-item = Mục Flex
+
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is both a flex container and a flex item.
+flextype-dual = Ngăn chứa/mục Flex
+
+# The message displayed in the content page when the user clicks on the
+# "Pick an element from the page" in about:devtools-toolbox inspector panel, when
+# debugging a remote page.
+# Variables
+# $action (string) - Will either be remote-node-picker-notice-action-desktop or
+# remote-node-picker-notice-action-touch
+remote-node-picker-notice = Đã bật trình chọn Node của DevTools. { $action }
+
+# Text displayed in `remote-node-picker-notice`, when the remote page is on desktop
+remote-node-picker-notice-action-desktop = Nhấp vào một phần tử để chọn nó trong Trình kiểm tra
+
+# Text displayed in `remote-node-picker-notice`, when the remote page is on Android
+remote-node-picker-notice-action-touch = Nhấn vào một phần tử để chọn nó trong Trình kiểm tra
+
+# The text displayed in the button that is in the notice in the content page when the user
+# clicks on the "Pick an element from the page" in about:devtools-toolbox inspector panel,
+# when debugging a remote page.
+remote-node-picker-notice-hide-button = Ẩn
+
+# Text displayed in a button inside the "simple-highlighters-message" toolbox
+# notification. "Settings" here refers to the DevTools settings panel.
+simple-highlighters-settings-button = Mở cài đặt
diff --git a/thunderbird-l10n/vi/localization/vi/devtools/shared/webconsole-commands.ftl b/thunderbird-l10n/vi/localization/vi/devtools/shared/webconsole-commands.ftl
new file mode 100644
index 0000000000..8c44dafa31
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/devtools/shared/webconsole-commands.ftl
@@ -0,0 +1,24 @@
+# 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/.
+
+
+# These strings are used inside the Web Console commands
+# which can be executed in the Developer Tools, available in the
+# Browser Tools sub-menu -> 'Web Developer Tools'
+
+# Usage string for :block command
+webconsole-commands-usage-block =
+ :block URL_STRING
+
+ Bắt đầu chặn các yêu cầu mạng
+
+ Nó chỉ chấp nhận một tham số URLSTRING, một chuỗi không trích dẫn sẽ được sử dụng để chặn tất cả các yêu cầu có URL bao gồm chuỗi này.
+ Sử dụng :unblock hoặc thanh lề request blocking trong Giám sát mạng để hoàn tác việc này.
+# Usage string for :unblock command
+webconsole-commands-usage-unblock =
+ :unblock URL_STRING
+
+ Dừng chặn các yêu cầu mạng
+
+ Nó chỉ chấp nhận một đối số, chính xác là chuỗi được truyền trước đó cho :block.
diff --git a/thunderbird-l10n/vi/localization/vi/devtools/startup/key-shortcuts.ftl b/thunderbird-l10n/vi/localization/vi/devtools/startup/key-shortcuts.ftl
new file mode 100644
index 0000000000..bbc2c7ca1e
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/devtools/startup/key-shortcuts.ftl
@@ -0,0 +1,38 @@
+# 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/.
+
+# Key pressed to open a toolbox with the default panel selected
+devtools-commandkey-toggle-toolbox = I
+# Alternative key pressed to open a toolbox with the default panel selected
+devtools-commandkey-toggle-toolbox-f12 = VK_F12
+# Key pressed to open the Browser Toolbox, used for debugging Firefox itself
+devtools-commandkey-browser-toolbox = I
+# Key pressed to open the Browser Console, used for debugging Firefox itself
+devtools-commandkey-browser-console = J
+# Key pressed to toggle on the Responsive Design Mode
+devtools-commandkey-responsive-design-mode = M
+# Key pressed to open a toolbox with the inspector panel selected
+devtools-commandkey-inspector = C
+# Key pressed to open a toolbox with the web console panel selected
+devtools-commandkey-webconsole = K
+# Key pressed to open a toolbox with the debugger panel selected
+devtools-commandkey-jsdebugger = Z
+# Key pressed to open a toolbox with the network monitor panel selected
+devtools-commandkey-netmonitor = E
+# Key pressed to open a toolbox with the style editor panel selected
+devtools-commandkey-styleeditor = VK_F7
+# Key pressed to open a toolbox with the performance panel selected
+devtools-commandkey-performance = VK_F5
+# Key pressed to open a toolbox with the storage panel selected
+devtools-commandkey-storage = VK_F9
+# Key pressed to open a toolbox with the DOM panel selected
+devtools-commandkey-dom = W
+# Key pressed to open a toolbox with the accessibility panel selected
+devtools-commandkey-accessibility-f12 = VK_F12
+# Key pressed to start or stop the performance profiler
+devtools-commandkey-profiler-start-stop = VK_1
+# Key pressed to capture a recorded performance profile
+devtools-commandkey-profiler-capture = VK_2
+# Key pressed to toggle the JavaScript tracing
+devtools-commandkey-javascript-tracing-toggle = VK_5
diff --git a/thunderbird-l10n/vi/localization/vi/dom/XMLPrettyPrint.ftl b/thunderbird-l10n/vi/localization/vi/dom/XMLPrettyPrint.ftl
new file mode 100644
index 0000000000..a96ead168c
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/dom/XMLPrettyPrint.ftl
@@ -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/.
+
+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/thunderbird-l10n/vi/localization/vi/dom/media.ftl b/thunderbird-l10n/vi/localization/vi/dom/media.ftl
new file mode 100644
index 0000000000..8a3cea8585
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/dom/media.ftl
@@ -0,0 +1,6 @@
+# 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/.
+
+default-audio-output-device-label = Thiết bị xuất âm thanh mặc định
+mediastatus-fallback-title = { -brand-short-name } đang phát đa phương tiện
diff --git a/thunderbird-l10n/vi/localization/vi/locales-preview/aboutTranslations.ftl b/thunderbird-l10n/vi/localization/vi/locales-preview/aboutTranslations.ftl
new file mode 100644
index 0000000000..68e9d8aafd
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/locales-preview/aboutTranslations.ftl
@@ -0,0 +1,28 @@
+# 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/.
+
+# The title of the about:translations page, referencing the translations feature.
+about-translations-title = Translations
+about-translations-header = { -translations-brand-name }
+about-translations-results-placeholder = Translation
+# Text displayed on from-language dropdown when no language is selected
+about-translations-detect = Detect language
+# Text displayed on a language dropdown when the language is in beta
+# Variables:
+# $language (string) - The localized display name of the language
+about-translations-displayname-beta = { $language } BETA
+# Text displayed on from-language dropdown when a language is detected
+# Variables:
+# $language (string) - The localized display name of the detected language
+about-translations-detect-lang = Detect language ({ $language })
+# Text displayed on from-language dropdown when a beta language is detected
+# Variables:
+# $language (string) - The localized display name of the detected language
+about-translations-detect-lang-beta = Detect language ({ $language } BETA)
+# Text displayed on to-language dropdown when no language is selected
+about-translations-select = Select language
+about-translations-textarea =
+ .placeholder = Add text to translate
+about-translations-no-support = Your device does not meet the minimum requirements to use this feature. Try on another device.
+about-translations-engine-error = The translations engine failed to load.
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/about3Pane.ftl b/thunderbird-l10n/vi/localization/vi/messenger/about3Pane.ftl
new file mode 100644
index 0000000000..4d2dc7d73e
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/about3Pane.ftl
@@ -0,0 +1,405 @@
+# 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/.
+
+
+## Message List Header Bar
+
+quick-filter-button =
+ .title = Bật/tắt Thanh bộ lọc nhanh
+quick-filter-button-label = Bộ lọc nhanh
+thread-pane-header-display-button =
+ .title = Tùy chọn hiển thị danh sách thư
+# Variables:
+# $count (Number) - The number of messages in this folder.
+thread-pane-folder-message-count = { $count } thư
+# Variables:
+# $count (Number) - The number of messages currently selected.
+thread-pane-folder-selected-count = { $count } đã chọn
+thread-pane-header-context-table-view =
+ .label = Chế độ xem bảng
+thread-pane-header-context-cards-view =
+ .label = Chế độ xem thẻ
+thread-pane-header-context-hide =
+ .label = Ẩn header danh sách thư
+
+## Quick Filter Bar
+
+# The tooltip to display when the user hovers over the sticky button
+# (currently displayed as a push-pin). When active, the sticky button
+# causes the current filter settings to be retained when the user changes
+# folders or opens new tabs. (When inactive, only the state of the text
+# filters are propagated between folder changes and when opening new tabs.)
+quick-filter-bar-sticky =
+ .title = Giữ các bộ lọc được áp dụng khi chuyển đổi thư mục
+# The tooltip for the filter button that replaces the quick filter buttons with
+# a dropdown menu.
+quick-filter-bar-dropdown =
+ .title = Menu bộ lọc nhanh
+quick-filter-bar-dropdown-unread =
+ .label = Chưa đọc
+quick-filter-bar-dropdown-starred =
+ .label = Đã gắn sao
+quick-filter-bar-dropdown-inaddrbook =
+ .label = Liên hệ
+quick-filter-bar-dropdown-tags =
+ .label = Nhãn
+quick-filter-bar-dropdown-attachment =
+ .label = Đính kèm
+# The tooltip for the filter button that causes us to filter results to only
+# include unread messages.
+quick-filter-bar-unread =
+ .title = Chỉ hiện các thư chưa đọc
+# The label for the filter button that causes us to filter results to only
+# include unread messages.
+quick-filter-bar-unread-label = Chưa đọc
+# The tooltip for the filter button that causes us to filter results to only
+# include messages that have been starred/flagged.
+quick-filter-bar-starred =
+ .title = Chỉ hiện các thư gắn sao
+# The label for the filter button that causes us to filter results to only
+# include messages that have been starred/flagged.
+quick-filter-bar-starred-label = Gắn sao
+# The tooltip for the filter button that causes us to filter results to only
+# include messages from contacts in one of the user's non-remote address
+# books.
+quick-filter-bar-inaddrbook =
+ .title = Chỉ hiện thư tin từ những người trong sổ địa chỉ của bạn
+# The label for the filter button that causes us to filter results to only
+# include messages from contacts in one of the user's non-remote address
+# books.
+quick-filter-bar-inaddrbook-label = Liên hệ
+# The tooltip for the filter button that causes us to filter results to only
+# include messages with at least one tag on them.
+quick-filter-bar-tags =
+ .title = Chỉ hiện các thư có dán nhãn
+# The label for the filter button that causes us to filter results to only
+# include messages with at least one tag on them.
+quick-filter-bar-tags-label = Nhãn
+# The tooltip for the filter button that causes us to filter results to only
+# include messages with attachments.
+quick-filter-bar-attachment =
+ .title = Chỉ hiện các thư có phần đính kèm
+# The label for the filter button that causes us to filter results to only
+# include messages with attachments.
+quick-filter-bar-attachment-label = Đính kèm
+# The contents of the results box when there is a filter active but there
+# are no messages matching the filter.
+quick-filter-bar-no-results = Không có kết quả
+# This is used to populate the results box; it either displays the
+# number of messages found using this string, that there are no messages
+# (using quick-filter-bar-no-results), or the box is hidden.
+# Variables:
+# $count (Number) - The number of messages that match selected filters.
+quick-filter-bar-results = { $count } thư
+# Keyboard shortcut for the text search box.
+# This should match quick-filter-bar-show in messenger.ftl.
+quick-filter-bar-textbox-shortcut =
+ { PLATFORM() ->
+ [macos] ⇧ ⌘ K
+ *[other] Ctrl+Shift+K
+ }
+# This is the empty text for the text search box.
+# The goal is to convey to the user that typing in the box will filter
+# the messages and that there is a hotkey they can press to get to the
+# box faster.
+quick-filter-bar-textbox =
+ .placeholder = Lọc các tin nhắn này <{ quick-filter-bar-textbox-shortcut }>
+quick-filter-bar-search =
+ .label = Lọc thư:
+# Keyboard shortcut for the text search box.
+# This should match quick-filter-bar-show in messenger.ftl.
+quick-filter-bar-search-shortcut =
+ { PLATFORM() ->
+ [macos] <kbd>⇧</kbd> <kbd>⌘</kbd> <kbd>K</kbd>
+ *[other] <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>K</kbd>
+ }
+# This is the empty text for the text search box.
+# The goal is to convey to the user that typing in the box will filter the
+# messages and that there is a hotkey they can press to get to the box faster.
+quick-filter-bar-search-placeholder-with-key = Lọc thư… { quick-filter-bar-search-shortcut }
+# Label of the search button in the quick filter bar text box. Clicking it will
+# launch a global search.
+quick-filter-bar-search-button =
+ .alt = Tìm kiếm mọi nơi
+# Tooltip of the Any-of/All-of tagging mode selector.
+quick-filter-bar-boolean-mode =
+ .title = Chế độ lọc nhãn
+# The Any-of tagging mode.
+quick-filter-bar-boolean-mode-any =
+ .label = Bất kỳ của
+ .title = Ít nhất một trong các tiêu chí nhãn được chọn phải phù hợp
+# The All-of tagging mode.
+quick-filter-bar-boolean-mode-all =
+ .label = Nguyên văn của
+ .title = Tất cả các tiêu chí nhãn được chọn phải phù hợp
+# This label explains what the sender/recipients/subject/body buttons do.
+# This string should ideally be kept short because the label and the text
+# filter buttons share their bar (that appears when there is text in the text
+# filter box) with the list of tags when the tag filter is active, and the
+# tag sub-bar wants as much space as possible. (Overflow is handled by an
+# arrow scroll box.)
+quick-filter-bar-text-filter-explanation = Lọc thư tin theo:
+# The button label that toggles whether the text filter searches the message
+# sender for the string.
+quick-filter-bar-text-filter-sender = Người gửi
+# The button label that toggles whether the text filter searches the message
+# recipients (to, cc) for the string.
+quick-filter-bar-text-filter-recipients = Người nhận
+# The button label that toggles whether the text filter searches the message
+# subject for the string.
+quick-filter-bar-text-filter-subject = Chủ đề
+# The button label that toggles whether the text filter searches the message
+# body for the string.
+quick-filter-bar-text-filter-body = Nội dung
+# The first line of the panel popup that tells the user we found no matches
+# but we can convert to a global search for them.
+quick-filter-bar-gloda-upsell-line1 = Tiếp tục tìm kiếm này trên tất cả các thư mục
+# The second line of the panel popup that tells the user we found no matches.
+# Variables:
+# $text (String) - What the user has typed so far.
+quick-filter-bar-gloda-upsell-line2 = Nhấn ‘Enter’ một lần nữa để tiếp tục tìm kiếm của bạn cho: { $text }
+
+## Folder pane
+
+folder-pane-get-messages-button =
+ .title = Nhận thư
+folder-pane-get-all-messages-menuitem =
+ .label = Nhận tất cả thư mới
+ .accesskey = y
+folder-pane-write-message-button = Thư mới
+ .title = Soạn một thư mới
+folder-pane-more-menu-button =
+ .title = Tùy chọn ngăn thư mục
+# Context menu item to show/hide different folder types in the folder pane
+folder-pane-header-folder-modes =
+ .label = Hiển thị thư mục
+# Context menu item to toggle display of "Get messages" button in folder pane header
+folder-pane-header-context-toggle-get-messages =
+ .label = Hiển thị "Nhận thư"
+# Context menu item to toggle display of "New Message" button in folder pane header
+folder-pane-header-context-toggle-new-message =
+ .label = Hiển thị “Thư mới”
+folder-pane-header-context-hide =
+ .label = Ẩn header ngăn thư mục
+folder-pane-show-total-toggle =
+ .label = Hiển thị tổng số thư
+# Context menu item to show or hide folder sizes
+folder-pane-header-toggle-folder-size =
+ .label = Hiển thị kích cỡ thư mục
+folder-pane-header-hide-local-folders =
+ .label = Ẩn thư mục cục bộ
+folder-pane-mode-context-button =
+ .title = Tùy chọn chế độ thư mục
+folder-pane-mode-context-toggle-compact-mode =
+ .label = Chế độ xem gọn
+ .accesskey = C
+folder-pane-mode-move-up =
+ .label = Di chuyển lên
+folder-pane-mode-move-down =
+ .label = Di chuyển xuống
+# Variables:
+# $count (Number) - Number of unread messages.
+folder-pane-unread-aria-label = { $count } thư chưa đọc
+# Variables:
+# $count (Number) - Number of total messages.
+folder-pane-total-aria-label =
+ { $count ->
+ [one] 1 thư tổng cộng
+ *[other] { $count } thư tổng cộng
+ }
+
+## Message thread pane
+
+threadpane-column-header-select =
+ .title = Chọn/bỏ chọn tất cả thư
+threadpane-column-header-select-all =
+ .title = Chọn tất cả thư
+threadpane-column-header-deselect-all =
+ .title = Bỏ chọn tất cả thư
+threadpane-column-label-select =
+ .label = Chọn thư
+threadpane-cell-select =
+ .aria-label = Chọn thư
+threadpane-column-header-thread =
+ .title = Bật/tắt chủ đề thư
+threadpane-column-label-thread =
+ .label = Chủ đề
+threadpane-cell-thread =
+ .aria-label = Trạng thái chủ đề
+threadpane-column-header-flagged =
+ .title = Sắp xếp theo sao
+threadpane-column-label-flagged =
+ .label = Đã gắn dấu sao
+threadpane-cell-flagged =
+ .aria-label = Được gắn sao
+threadpane-flagged-cell-label = Đã gắn dấu sao
+threadpane-column-header-attachments =
+ .title = Sắp xếp theo đính kèm
+threadpane-column-label-attachments =
+ .label = Đính kèm
+threadpane-cell-attachments =
+ .aria-label = Đính kèm
+threadpane-attachments-cell-label = Đính kèm
+threadpane-column-header-spam =
+ .title = Sắp xếp theo trạng thái thư rác
+threadpane-column-label-spam =
+ .label = Thư rác
+threadpane-cell-spam =
+ .aria-label = Trạng thái thư rác
+threadpane-spam-cell-label = Thư rác
+threadpane-column-header-unread-button =
+ .title = Sắp xếp theo trạng thái đọc
+threadpane-column-label-unread-button =
+ .label = Trạng thái đọc
+threadpane-cell-read-status =
+ .aria-label = Trạng thái đọc
+threadpane-read-cell-label = Đã đọc
+threadpane-unread-cell-label = Chưa đọc
+threadpane-column-header-sender = Từ
+ .title = Sắp xếp theo người gửi
+threadpane-column-label-sender =
+ .label = Từ
+threadpane-cell-sender =
+ .aria-label = Từ
+threadpane-column-header-recipient = Người nhận
+ .title = Sắp xếp theo người nhận
+threadpane-column-label-recipient =
+ .label = Người nhận
+threadpane-cell-recipient =
+ .aria-label = Người nhận
+threadpane-column-header-correspondents = Người viết
+ .title = Sắp xếp theo người viết
+threadpane-column-label-correspondents =
+ .label = Người viết
+threadpane-cell-correspondents =
+ .aria-label = Người viết
+threadpane-column-header-subject = Tiêu đề
+ .title = Sắp xếp theo chủ đề
+threadpane-column-label-subject =
+ .label = Tiêu đề
+threadpane-cell-subject =
+ .aria-label = Tiêu đề
+threadpane-column-header-date = Ngày
+ .title = Sắp xếp theo ngày
+threadpane-column-label-date =
+ .label = Ngày
+threadpane-cell-date =
+ .aria-label = Ngày
+threadpane-column-header-received = Nhận được
+ .title = Sắp xếp theo ngày nhận
+threadpane-column-label-received =
+ .label = Nhận được
+threadpane-cell-received =
+ .aria-label = Ngày nhận
+threadpane-column-header-status = Trạng thái
+ .title = Sắp xếp theo trạng thái
+threadpane-column-label-status =
+ .label = Trạng thái
+threadpane-cell-status =
+ .aria-label = Trạng thái
+threadpane-column-header-size = Dung lượng
+ .title = Sắp xếp theo kích thước
+threadpane-column-label-size =
+ .label = Dung lượng
+threadpane-cell-size =
+ .aria-label = Kích thước
+threadpane-column-header-tags = Nhãn
+ .title = Sắp xếp theo nhãn
+threadpane-column-label-tags =
+ .label = Nhãn
+threadpane-cell-tags =
+ .aria-label = Nhãn
+threadpane-column-header-account = Tài khoản
+ .title = Sắp xếp theo tài khoản
+threadpane-column-label-account =
+ .label = Tài khoản
+threadpane-cell-account =
+ .aria-label = Tài khoản
+threadpane-column-header-priority = Ưu tiên
+ .title = Sắp xếp theo mức độ ưu tiên
+threadpane-column-label-priority =
+ .label = Ưu tiên
+threadpane-cell-priority =
+ .aria-label = Ưu tiên
+threadpane-column-header-unread = Chưa đọc
+ .title = Số lượng tin nhắn chưa đọc trong chủ đề
+threadpane-column-label-unread =
+ .label = Chưa đọc
+threadpane-cell-unread =
+ .aria-label = Số lượng thư chưa đọc
+threadpane-column-header-total = Tổng
+ .title = Tổng số tin nhắn trong chủ đề
+threadpane-column-label-total =
+ .label = Tổng
+threadpane-cell-total =
+ .aria-label = Tổng số thư
+threadpane-column-header-location = Địa chỉ
+ .title = Sắp xếp theo địa chỉ
+threadpane-column-label-location =
+ .label = Địa chỉ
+threadpane-cell-location =
+ .aria-label = Địa chỉ
+threadpane-column-header-id = Thứ tự nhận được
+ .title = Sắp xếp theo thứ tự nhận được
+threadpane-column-label-id =
+ .label = Thứ tự nhận được
+threadpane-cell-id =
+ .aria-label = Đơn hàng đã nhận
+threadpane-column-header-delete =
+ .title = Xóa tin nhắn
+threadpane-column-label-delete =
+ .label = Xóa
+threadpane-cell-delete =
+ .aria-label = Xóa
+
+## Message state variations
+
+threadpane-message-new =
+ .alt = Chỉ báo thư mới
+ .title = Thư mới
+threadpane-message-replied =
+ .alt = Chỉ báo đã trả lời
+ .title = Thư đã trả lời
+threadpane-message-redirected =
+ .alt = Chỉ báo đã chuyển hướng
+ .title = Thư đã chuyển hướng
+threadpane-message-forwarded =
+ .alt = Chỉ báo đã chuyển tiếp
+ .title = Thư đã chuyển tiếp
+threadpane-message-replied-forwarded =
+ .alt = Chỉ báo đã trả lời và chuyển tiếp
+ .title = Thư đã trả lời và chuyển tiếp
+threadpane-message-replied-redirected =
+ .alt = Chỉ báo đã trả lời và chuyển hướng
+ .title = Thư đã trả lời và chuyển hướng
+threadpane-message-forwarded-redirected =
+ .alt = Chỉ báo đã chuyển tiếp và chuyển hướng
+ .title = Thư đã chuyển tiếp và chuyển hướng
+threadpane-message-replied-forwarded-redirected =
+ .alt = Chỉ báo đã trả lời, chuyển tiếp và chuyển hướng
+ .title = Thư đã trả lời, chuyển tiếp và chuyển hướng
+apply-columns-to-menu =
+ .label = Áp dụng cột cho…
+apply-current-view-to-menu =
+ .label = Áp dụng chế độ xem hiện tại cho…
+apply-current-view-to-folder =
+ .label = Thư mục…
+apply-current-view-to-folder-children =
+ .label = Thư mục và thư mục con của nó…
+
+## Apply columns confirmation dialog
+
+apply-changes-to-folder-title = Áp dụng các thay đổi?
+# Variables:
+# $name (String): The name of the folder to apply to.
+apply-current-columns-to-folder-message = Áp dụng các cột của thư mục hiện tại cho { $name }?
+# Variables:
+# $name (String): The name of the folder to apply to.
+apply-current-columns-to-folder-with-children-message = Áp dụng các cột của thư mục hiện tại cho { $name } và thư mục con của nó?
+# Variables:
+# $name (String): The name of the folder to apply to.
+apply-current-view-to-folder-message = Áp dụng chế độ xem của thư mục hiện tại cho { $name }?
+# Variables:
+# $name (String): The name of the folder to apply to.
+apply-current-view-to-folder-with-children-message = Áp dụng chế độ xem của thư mục hiện tại cho { $name } và các thư mục con của nó?
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/aboutAddonsExtra.ftl b/thunderbird-l10n/vi/localization/vi/messenger/aboutAddonsExtra.ftl
new file mode 100644
index 0000000000..d6eefacb5e
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/aboutAddonsExtra.ftl
@@ -0,0 +1,12 @@
+# 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/.
+
+add-on-options-button =
+ .title = Tùy chọn tiện ích
+
+add-on-search-alternative-button-label = Tìm một tiện ích mở rộng thay thế
+
+atn-addons-heading-search-input =
+ .placeholder = Tìm kiếm addons.thunderbird.net
+
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/aboutDialog.ftl b/thunderbird-l10n/vi/localization/vi/messenger/aboutDialog.ftl
new file mode 100644
index 0000000000..b0861a7d96
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/aboutDialog.ftl
@@ -0,0 +1,66 @@
+# 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/.
+
+about-update-whats-new = Có gì mới
+aboutDialog-title =
+ .title = Giới thiệu về { -brand-full-name }
+about-dialog-title = Giới thiệu về { -brand-full-name }
+release-notes-link = Ghi chú phát hành
+update-internal-error = Không thể kiểm tra các bản cập nhật do lỗi nội bộ. Bản cập nhật có sẵn tại <a data-l10n-name="manual-link"/>
+update-check-for-updates-button = Kiểm tra cập nhật
+ .accesskey = C
+update-update-button = Khởi động lại để cập nhật { -brand-shorter-name }
+ .accesskey = R
+update-checking-for-updates = Đang kiểm tra cập nhật…
+update-downloading-message = Đang tải bản cập nhật — <span data-l10n-name="download-status"></span>
+update-applying = Đang cài đặt cập nhật…
+update-downloading = <img data-l10n-name="icon"/>Đang tải bản cập nhật — <span data-l10n-name="download-status"></hspan>
+update-failed = Cập nhật thất bại. <a data-l10n-name="failed-link">Tải xuống phiên bản mới nhất</a>
+update-admin-disabled = Cập nhật bị vô hiệu hóa bởi quản trị hệ thống của bạn
+update-no-updates-found = { -brand-short-name } đã được cập nhật
+update-other-instance-handling-updates = { -brand-short-name } đang được cập nhật bởi tiến trình khác
+update-manual = Bản cập nhật có sẵn tại <a data-l10n-name="manual-link"/>
+update-unsupported = Bạn không thể cập nhật thêm trên hệ thống này nữa. <a data-l10n-name="unsupported-link">Tìm hiểu thêm</a>
+update-restarting = Đang khởi động lại…
+# Variables:
+# $channel (String): description of the update channel (e.g. "release", "beta", "nightly" etc.)
+channel-description = Bạn hiện đang trên kênh cập nhật <span data-l10n-name="current-channel">{ $channel }</span> .
+warning-desc-version = { -brand-short-name } được thiết kế để thử nghiệm và có thể không ổn định.
+warning-desc-telemetry = Thông tin về việc sử dụng, về hiệu suất, phần cứng và các tùy chỉnh sẽ được tự động gửi tới { -vendor-short-name } để giúp { -brand-short-name } hoàn thiện hơn.
+# Example of resulting string: 66.0.1 (64-bit)
+# Variables:
+# $version (String): version of Thunderbird, e.g. 66.0.1
+# $bits (Number): bits of the architecture (32 or 64)
+aboutDialog-version = { $version } ({ $bits }-bit)
+# Example of resulting string: 66.0a1 (2019-01-16) (64-bit)
+# Variables:
+# $version (String): version of Thunderbird for Daily builds, e.g. 66.0a1
+# $isodate (String): date in ISO format, e.g. 2019-01-16
+# $bits (Number): bits of the architecture (32 or 64)
+aboutDialog-version-nightly = { $version } ({ $isodate }) ({ $bits }-bit)
+aboutdialog-update-checking-failed = Không thể kiểm tra bản cập nhật.
+community-exp =
+ <a data-l10n-name="community-exp-mozilla-link">
+ { -vendor-short-name }</a>
+ là một <a data-l10n-name="community-exp-credits-link">
+ cộng đồng toàn cầu</a>
+ cùng chung sức bảo vệ Web mở, công khai, và cho phép ai cũng truy cập được.
+community-2 =
+ { -brand-short-name } được thiết kế bởi <a data-l10n-name="community-mozilla-link">
+ { -vendor-short-name }</a>
+ , một <a data-l10n-name="community-credits-link">
+ cộng đồng toàn cầu</a>
+ cùng chung sức bảo vệ Web mở, công khai, và cho phép ai cũng truy cập được.
+about-helpus =
+ Bạn muốn giúp đỡ? <a data-l10n-name="helpus-donate-link">
+ Quyên góp tài chính</a> or <a data-l10n-name="helpus-get-involved-link">
+ tham gia đóng góp!</a>
+community-experimental = <a data-l10n-name="community-exp-mozilla-link">{ -vendor-short-name }</a> là một <a data-l10n-name="community-exp-credits-link">cộng đồng toàn cầu</a> cùng chung sức bảo vệ Web mở, công khai, và cho phép ai cũng truy cập được.
+community-desc = { -brand-short-name } được thiết kế bởi <a data-l10n-name="community-mozilla-link">{ -vendor-short-name }</a>, một <a data-l10n-name="community-credits-link">cộng đồng toàn cầu</a> cùng chung sức bảo vệ Web mở, công khai, và cho phép ai cũng truy cập được.
+about-donation = Bạn muốn giúp đỡ? <a data-l10n-name="helpus-donate-link">Quyên góp tài chính</a> or <a data-l10n-name="helpus-get-involved-link">tham gia đóng góp!</a>
+bottom-links-license = Thông tin giấy phép
+bottom-links-rights = Quyền hạn người dùng cuối
+bottom-links-privacy = Chính sách riêng tư
+cmd-close-mac-command-key =
+ .key = w
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/aboutImport.ftl b/thunderbird-l10n/vi/localization/vi/messenger/aboutImport.ftl
new file mode 100644
index 0000000000..e25364a31c
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/aboutImport.ftl
@@ -0,0 +1,282 @@
+# 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/.
+
+import-page-title = Nhập
+
+export-page-title = Xuất
+
+## Header
+
+import-start = Công cụ nhập
+
+import-start-title = Nhập cài đặt hoặc dữ liệu từ ứng dụng hoặc tập tin.
+
+import-start-description = Chọn nguồn mà bạn muốn nhập. Sau đó, bạn sẽ được yêu cầu chọn dữ liệu nào cần được nhập.
+
+import-from-app = Nhập từ ứng dụng
+
+import-file = Nhập từ một tập tin
+
+import-file-title = Chọn một tập tin để nhập nội dung của nó.
+
+import-file-description = Chọn để nhập hồ sơ, sổ địa chỉ hoặc lịch đã sao lưu trước đó.
+
+import-address-book-title = Nhập tập tin sổ địa chỉ
+
+import-calendar-title = Nhập tập tin lịch
+
+export-profile = Xuất
+
+## Buttons
+
+button-back = Quay lại
+
+button-continue = Tiếp tục
+
+button-export = Xuất
+
+button-finish = Hoàn thành
+
+## Import from app steps
+
+app-name-thunderbird = Thunderbird
+
+app-name-seamonkey = SeaMonkey
+
+app-name-outlook = Outlook
+
+app-name-becky = Becky! Internet Mail
+
+app-name-apple-mail = Apple Mail
+
+source-thunderbird = Nhập từ cài đặt khác của { app-name-thunderbird }
+
+source-thunderbird-description = Nhập cài đặt, bộ lọc, thư và dữ liệu khác từ hồ sơ { app-name-thunderbird }.
+
+source-seamonkey = Nhập từ cài đặt { app-name-seamonkey }
+
+source-seamonkey-description = Nhập cài đặt, bộ lọc, thư và dữ liệu khác từ hồ sơ { app-name-seamonkey }.
+
+source-outlook = Nhập từ { app-name-outlook }
+
+source-outlook-description = Nhập tài khoản, sổ địa chỉ và thư từ { app-name-outlook }.
+
+source-becky = Nhập từ { app-name-becky }
+
+source-becky-description = Nhập sổ địa chỉ và thư từ { app-name-becky }.
+
+source-apple-mail = Nhập từ { app-name-apple-mail }
+
+source-apple-mail-description = Nhập thư từ { app-name-apple-mail }.
+
+source-file2 = Nhập từ một tập tin
+
+source-file-description = Chọn một tập tin để nhập sổ địa chỉ, lịch hoặc sao lưu hồ sơ (tập tin ZIP).
+
+## Import from file selections
+
+file-profile2 = Nhập hồ sơ sao lưu
+
+file-profile-description = Chọn một hồ sơ Thunderbird đã sao lưu trước đó
+
+file-calendar = Nhập lịch
+
+file-calendar-description = Chọn tập tin chứa lịch hoặc sự kiện đã xuất (.ics)
+
+file-addressbook = Nhập sổ địa chỉ
+
+file-addressbook-description = Chọn một tập tin chứa các sổ địa chỉ và danh sách liên hệ đã xuất
+
+## Import from app profile steps
+
+from-app-thunderbird = Nhập từ hồ sơ { app-name-thunderbird }
+
+from-app-seamonkey = Nhập từ hồ sơ { app-name-seamonkey }
+
+from-app-outlook = Nhập từ { app-name-outlook }
+
+from-app-becky = Nhập từ { app-name-becky }
+
+from-app-apple-mail = Nhập từ { app-name-apple-mail }
+
+profiles-pane-title-thunderbird = Nhập cài đặt và dữ liệu từ hồ sơ { app-name-thunderbird }.
+
+profiles-pane-title-seamonkey = Nhập cài đặt và dữ liệu từ hồ sơ { app-name-seamonkey }.
+
+profiles-pane-title-outlook = Nhập dữ liệu từ { app-name-outlook }.
+
+profiles-pane-title-becky = Nhập dữ liệu từ { app-name-becky }.
+
+profiles-pane-title-apple-mail = Nhập thư từ { app-name-apple-mail }.
+
+profile-source = Nhập từ hồ sơ
+
+# $profileName (string) - name of the profile
+profile-source-named = Nhập từ hồ sơ <strong>"{ $profileName }"</strong>
+
+profile-file-picker-directory = Chọn một thư mục hồ sơ
+
+profile-file-picker-archive = Chọn một tập tin <strong>ZIP</strong>
+
+profile-file-picker-archive-description = Tập tin ZIP phải nhỏ hơn 2GB.
+
+profile-file-picker-archive-title = Chọn một tập tin ZIP (nhỏ hơn 2GB)
+
+items-pane-title2 = Chọn những gì để nhập:
+
+items-pane-directory = Thư mục:
+
+items-pane-profile-name = Tên hồ sơ:
+
+items-pane-checkbox-accounts = Tài khoản và cài đặt
+
+items-pane-checkbox-address-books = Sổ địa chỉ
+
+items-pane-checkbox-calendars = Lịch
+
+items-pane-checkbox-mail-messages = Thư
+
+items-pane-override = Mọi dữ liệu hiện có hoặc giống hệt nhau sẽ không bị ghi đè.
+
+## Import from address book file steps
+
+import-from-addr-book-file-description = Chọn định dạng tập tin chứa dữ liệu sổ địa chỉ của bạn.
+
+addr-book-csv-file = Tệp được phân tách bằng dấu phẩy hoặc tab (.csv, .tsv)
+
+addr-book-ldif-file = Tập tin LDIF (.ldif)
+
+addr-book-vcard-file = Tập tin vCard (.vcf, .vcard)
+
+addr-book-sqlite-file = Tập tin cơ sở dữ liệu SQLite (.sqlite)
+
+addr-book-mab-file = Tập tin cơ sở dữ liệu Mork (.mab)
+
+addr-book-file-picker = Chọn một tập tin sổ địa chỉ
+
+addr-book-csv-field-map-title = Khớp tên trường
+
+addr-book-csv-field-map-desc = Chọn các trường sổ địa chỉ tương ứng với các trường nguồn. Bỏ chọn các trường bạn không muốn nhập.
+
+addr-book-directories-title = Chọn nơi để nhập dữ liệu đã chọn
+
+addr-book-directories-pane-source = Tập tin nguồn:
+
+# $addressBookName (string) - name of the new address book that would be created.
+addr-book-import-into-new-directory2 = Tạo một thư mục mới có tên là <strong>"{ $addressBookName }"</strong>
+
+# $addressBookName (string) - name of the address book to import into
+addr-book-summary-title = Nhập dữ liệu đã chọn vào thư mục "{ $addressBookName }"
+
+# $addressBookName (string) - name of the address book that will be created.
+addr-book-summary-description = Sổ địa chỉ mới có tên "{ $addressBookName }" sẽ được tạo.
+
+## Import from calendar file steps
+
+import-from-calendar-file-desc = Chọn tập tin iCalendar (.ics) bạn muốn nhập.
+
+calendar-items-title = Chọn các mục để nhập.
+
+calendar-items-loading = Đang tải các mục…
+
+calendar-items-filter-input =
+ .placeholder = Lọc các mục…
+
+calendar-select-all-items = Chọn tất cả
+
+calendar-deselect-all-items = Bỏ chọn tất cả
+
+calendar-target-title = Chọn nơi để nhập các mục đã chọn.
+
+# $targetCalendar (string) - name of the new calendar that would be created
+calendar-import-into-new-calendar2 = Tạo lịch mới có tên <strong>"{ $targetCalendar }"</strong>
+
+# $itemCount (number) - count of selected items (tasks, events) that will be imported
+# $targetCalendar (string) - name of the calendar the items will be imported into
+calendar-summary-title =
+ { $itemCount ->
+ *[other] Nhập { $itemCount } mục vào lịch "{ $targetCalendar }"
+ }
+
+# $targetCalendar (string) - name of the calendar that will be created
+calendar-summary-description = Lịch mới có tên "{ $targetCalendar }" sẽ được tạo.
+
+## Import dialog
+
+# $progressPercent (string) - percent formatted progress (for example "10%")
+progress-pane-importing2 = Đang nhập… { $progressPercent }
+
+# $progressPercent (string) - percent formatted progress (for example "10%")
+progress-pane-exporting2 = Đang xuất… { $progressPercent }
+
+progress-pane-finished-desc2 = Hoàn tất.
+
+error-pane-title = Lỗi
+
+error-message-zip-file-too-big2 = Tập tin ZIP đã chọn lớn hơn 2GB. Vui lòng giải nén nó trước, sau đó nhập từ thư mục đã giải nén.
+
+error-message-extract-zip-file-failed2 = Không giải nén được tập tin ZIP. Vui lòng giải nén nó theo cách thủ công, sau đó nhập từ thư mục đã giải nén để thay thế.
+
+error-message-failed = Nhập không thành công đột ngột, có thể xem thêm thông tin trong bảng điều khiển.
+
+error-failed-to-parse-ics-file = Không tìm thấy mục có thể nhập trong tập tin.
+
+error-export-failed = Đã xảy ra lỗi không mong muốn khi xuất, có thể xem thêm thông tin trong bảng điều khiển lỗi.
+
+error-message-no-profile = Không tìm thấy hồ sơ.
+
+## <csv-field-map> element
+
+csv-first-row-contains-headers = Hàng đầu tiên chứa tên trường
+
+csv-source-field = Trường nguồn
+
+csv-source-first-record = Bản ghi đầu tiên
+
+csv-source-second-record = Bản ghi thứ hai
+
+csv-target-field = Trường sổ địa chỉ
+
+## Export tab
+
+export-profile-title = Xuất tài khoản, thư, sổ địa chỉ và cài đặt sang tập tin ZIP.
+
+export-profile-description = Nếu hồ sơ hiện tại của bạn lớn hơn 2GB, chúng tôi khuyên bạn nên tự sao lưu hồ sơ đó.
+
+export-open-profile-folder = Mở thư mục hồ sơ
+
+export-file-picker2 = Xuất sang tập tin ZIP
+
+export-brand-name = { -brand-product-name }
+
+## Summary pane
+
+summary-pane-title = Dữ liệu sẽ được nhập
+
+summary-pane-start = Bắt đầu nhập
+
+summary-pane-warning = { -brand-product-name } sẽ cần được khởi động lại khi quá trình nhập hoàn tất.
+
+summary-pane-start-over = Khởi động lại công cụ nhập
+
+## Footer area
+
+footer-help = Cần trợ giúp?
+
+footer-import-documentation = Nhập tài liệu
+
+footer-export-documentation = Xuất tài liệu
+
+footer-support-forum = Diễn đàn hỗ trợ
+
+## Step navigation on top of the wizard pages
+
+step-list =
+ .aria-label = Các bước nhập
+
+step-confirm = Xác nhận
+
+# Variables:
+# $number (number) - step number
+step-count = { $number }
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/aboutProfilesExtra.ftl b/thunderbird-l10n/vi/localization/vi/messenger/aboutProfilesExtra.ftl
new file mode 100644
index 0000000000..dfb5acd926
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/aboutProfilesExtra.ftl
@@ -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/.
+
+profiles-launch-profile-plain = Khởi chạy hồ sơ
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/aboutRights.ftl b/thunderbird-l10n/vi/localization/vi/messenger/aboutRights.ftl
new file mode 100644
index 0000000000..3d1ee06c0f
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/aboutRights.ftl
@@ -0,0 +1,42 @@
+# 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/.
+
+rights-title = Về quyền lợi của bạn
+rights-intro = { -brand-full-name } là phần mềm tự do mã nguồn mở, được xây dựng bởi một cộng đồng gồm hàng nghìn người trên khắp thế giới. Có vài điều mà bạn nên biết:
+rights-intro-point-1 = { -brand-short-name } cung cấp cho bạn theo điều khoản của <a data-l10n-name="mozilla-public-license-link">giấy phép công cộng Mozilla</a>. Điều này có nghĩa là bạn có thể sử dụng, sao chép và phân phối { -brand-short-name } đến người khác. Bạn cũng được hoan nghênh trong việc chỉnh sửa mã nguồn của { -brand-short-name } cho phù hợp với nhu cầu của mình. Giấy phép công cộng Mozilla cũng cho bạn quyền phân phối phiên bản được chỉnh sửa đó.
+rights-intro-point-2 =
+ Bạn không được cấp bất kỳ quyền hoặc giấy phép thương hiệu nào cho các
+ thương hiệu của Mozilla Foundation hoặc bất kỳ bên nào, bao gồm nhưng không
+ giới hạn tên hoặc logo Thunderbird. Thông tin bổ sung về thương hiệu có thể
+ được tìm thấy <a data-l10n-name="mozilla-trademarks-link">tại đây</a>.
+rights-intro-point-3 = Một số tính năng trong { -brand-short-name }, như Trình Báo Cáo Lỗi, cho bạn tùy chọn cung cấp phản hồi tới { -vendor-short-name }. Bằng việc chọn gửi phản hồi, bạn cho { -vendor-short-name } quyền sử dụng phản hồi đó để cải tiến sản phẩm, công bố phản hồi trên trang web, và phân phối phản hồi.
+rights-intro-point-4 = Cách chúng tôi dùng thông tin cá nhân của bạn và phản hồi được gửi tới { -vendor-short-name } thông qua { -brand-short-name } được mô tả trong <a data-l10n-name="mozilla-privacy-policy-link">chính sách riêng tư { -brand-short-name }</a>.
+rights-intro-point-4-unbranded = Bất kì chính sách riêng tư thích hợp nào cho sản phẩm này sẽ được liệt kê tại đây.
+rights-intro-point-5 = Một số tính năng { -brand-short-name } sử dụng dịch vụ thông tin dựa trên web, tuy nhiên, chúng tôi không thể đảm bảo chúng chính xác 100% hoặc không có lỗi. Chi tiết hơn, bao gồm thông tin về cách vô hiệu hóa tính năng dùng những dịch vụ này, có thể được tìm thấy trong <a data-l10n-name="mozilla-service-terms-link">điều khoản dịch vụ</a>.
+rights-intro-point-5-unbranded = Nếu sản phẩm này kết hợp các dịch vụ web, bất kì điều khoản dịch vụ thích hợp nào cho (các) dịch vụ cần phải được liên kết với <a data-l10n-name="mozilla-website-services-link">Các Dịch Vụ Đối Với Trang Web</a>.
+rights-intro-point-6 = Để có thể phát một số loại nội dung video, { -brand-short-name } cần tải xuống một số mô đun giải mã nội dung từ một bên thứ ba.
+rights-webservices-header = Dịch vụ Thông tin Dựa trên Web { -brand-full-name }
+rights-webservices2 =
+ { -brand-full-name } sử dụng các dịch vụ thông tin dựa trên web (“dịch vụ”) để
+ cung cấp một số tính năng được cung cấp cho bạn sử dụng với phiên bản
+ nhị phân này của { -brand-short-name } theo các điều khoản được mô tả bên
+ dưới. Nếu bạn không muốn sử dụng một hoặc nhiều Dịch vụ hoặc các điều
+ khoản dưới đây không được chấp nhận, bạn có thể vô hiệu hóa tính năng
+ hoặc (các) dịch vụ. Bạn có thể tìm thấy hướng dẫn về cách tắt một tính năng
+ hoặc dịch vụ cụ thể <a data-l10n-name="mozilla-disable-service-link">tại đây</a>.
+ Các tính năng và dịch vụ khác có thể tắt trong cài đặt ứng dụng.
+rights-locationawarebrowsing = <strong>Duyệt web Nhận diện Vị trí: </strong>luôn có sẵn. Không có thông tin địa điểm nào được gửi đi mà không có sự cho phép của bạn. Nếu bạn muốn vô hiệu hóa hoàn toàn tính năng này, làm theo các bước sau:
+rights-locationawarebrowsing-term-1 = Trong thanh URL, gõ <code>about:config</code>
+rights-locationawarebrowsing-term-2 = Gõ geo.enabled
+rights-locationawarebrowsing-term-3 = Nhấp đôi vào tùy chỉnh geo.enabled
+rights-locationawarebrowsing-term-4 = Duyệt web Nhận diện Địa điểm bây giờ đã bị vô hiệu hóa
+rights-webservices-unbranded = Tổng quan về các dịch vụ đối với trang web mà sản phẩm này kết hợp, cùng với các chỉ dẫn về cách vô hiệu hóa chúng, nếu thích hợp, sẽ được bao gồm ở đây.
+rights-webservices-term-unbranded = Bất kì điều khoản dịch vụ nào cho sản phẩm này sẽ được liệt kê tại đây.
+rights-webservices-term-1 = { -vendor-short-name } và những bên đóng góp, những bên cấp phép và những đối tác làm việc để cung cấp Dịch Vụ mới và chính xác nhất. Tuy nhiên, chúng tôi không thể đảm bảo rằng thông tin này là toàn diện và không có lỗi. Ví dụ, Dịch vụ Duyệt web An toàn có thể không nhận diện các trang nguy hiểm và có thể nhận diện nhầm các trang an toàn, và trong Dịch vụ Nhận diện Địa điểm, tất cả địa điểm trả lại bởi nhà cung cấp dịch vụ của chúng tôi chỉ là ước tính và chúng tôi lẫn nhà cung cấp dịch vụ không đảm bảo tính chính xác của các địa điểm đó.
+rights-webservices-term-2 = { -vendor-short-name } có thể ngừng hoặc thay đổi Dịch Vụ theo ý mình.
+rights-webservices-term-3 = Bạn được hoan nghênh sử dụng những dịch vụ này trong phiên bản { -brand-short-name } đi kèm, và { -vendor-short-name } trao cho bạn quyền làm vậy. { -vendor-short-name } và những bên cấp phép của nó bảo lưu tất cả quyền khác trong dịch vụ. Những điều khoản này không nhằm giới hạn bất kì quyền nào được trao theo giấy phép mã nguồn mở áp dụng cho { -brand-short-name } và phiên bản mã nguồn tương ứng của { -brand-short-name }.
+rights-webservices-term-4 = <strong>Dịch Vụ được cung cấp theo "nguyên trạng" { -vendor-short-name }, những người đóng góp, các bên cung cấp giấy phép và các bên phân phối không chịu trách nhiệm (trực tiếp hay gián tiếp), bảo đảm bất kỳ điều gì, bao gồm cả việc kinh doanh Dịch Vụ hay đảm bảo Dịch Vụ phục vụ mục đích của bạn. Bạn chịu hoàn toàn rủi ro về chất lượng và hiệu năng của Dịch Vụ khi sử dụng Dịch Vụ cho bất kỳ mục đích nào. Trong một vài phạm vi pháp lý, việc miễn trừ hoặc giới hạn đối với các trách nhiệm gián tiếp là không được phép, vì vậy văn bản từ chối trách nhiệm này có thể không áp dụng đối với bạn.</strong>
+rights-webservices-term-5 = <strong>Trừ khi được yêu cầu bởi luật pháp, { -vendor-short-name }, những người đóng góp, các bên cung cấp giấy phép và phân phối sẽ không có nghĩa vụ đối với bất kì tổn hại gián tiếp, đặc biệt, vô tình, mang tính hậu quả, mang tính trừng phạt hoặc cảnh cáo nào xảy ra bên ngoài hoặc trong bất kì cách thức nào liên quan đến việc sử dụng { -brand-short-name } và Dịch Vụ. Tổng các nghĩa vụ tập hợp trong các điều khoản này không vượt quá $500 (năm trăm đôla). Một số luật xét xử không cho phép sự miễn trừ hoặc giới hạn đối với những tổn hại nào đó, cho nên sự miễn trừ và giới hạn này có thể không áp dụng đối với bạn.</strong>
+rights-webservices-term-6 = { -vendor-short-name } đôi khi có thể cập nhật các điều khoản này khi cần thiết. Các điều khoản này không được sửa đổi hoặc hủy bỏ nếu không có thỏa thuận viết tay của { -vendor-short-name }.
+rights-webservices-term-7 = Những điều khoản này được chi phối theo luật của tiểu bang California, Hoa Kỳ, không bao gồm sự mâu thuẫn của nó với các điều khoản pháp lí. Nếu có bất kì phần nào trong các điều khoản bị xem là bất hợp lệ và không bắt buộc, các phần còn lại sẽ vẫn có đầy đủ tính hiệu lực và bắt buộc. Khi xảy ra mâu thuẫn giữa phiên bản được chuyển ngữ của các điều khoản này và phiên bản tiếng Anh, phiên bản tiếng Anh sẽ là phiên bản chủ đạo.
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/aboutSupportCalendar.ftl b/thunderbird-l10n/vi/localization/vi/messenger/aboutSupportCalendar.ftl
new file mode 100644
index 0000000000..d6d183a594
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/aboutSupportCalendar.ftl
@@ -0,0 +1,33 @@
+# 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/.
+
+calendars-title = Cài đặt lịch
+calendars-table-heading-property = Tên
+calendars-table-heading-value = Giá trị
+calendars-table-name = Tên
+calendars-table-type = Kiểu
+calendars-table-disabled = Đã tắt
+calendars-table-username = Tên đăng nhập
+calendars-table-uri = URI
+calendars-table-refreshinterval = Khoảng thời gian làm mới
+calendars-table-readonly = Chỉ đọc
+calendars-table-suppressalarms = Hạn chế thông báo
+calendars-table-cache-enabled = Đã bật bộ nhớ đệm
+calendars-table-imip-identity = Danh tính iMIP
+calendars-table-imip-identity-disabled = iMIP bị tắt
+calendars-table-imip-identity-account = Tài khoản iMIP
+calendars-table-organizerid = Id người tổ chức
+calendars-table-forceemailscheduling = Buộc lập lịch email
+calendars-table-capabilities-alarms-popup-supported = Thông báo bật lên được hỗ trợ
+calendars-table-capabilities-alarms-oninviations-supported = Thông báo về lời mời được hỗ trợ
+calendars-table-capabilities-alarms-maxcount = Thông báo tối đa cho mỗi sự kiện
+calendars-table-capabilities-attachments-supported = Tập tin đính kèm được hỗ trợ
+calendars-table-capabilities-categories-maxcount = Danh mục tối đa
+calendars-table-capabilities-privacy-supported = Trạng thái quyền riêng tư được hỗ trợ
+calendars-table-capabilities-priority-supported = Ưu tiên được hỗ trợ
+calendars-table-capabilities-events-supported = Sự kiện được hỗ trợ
+calendars-table-capabilities-tasks-supported = Tác vụ được hỗ trợ
+calendars-table-capabilities-timezones-floating-supported = Giờ địa phương được hỗ trợ
+calendars-table-capabilities-timezones-utc-supported = Giờ UTC/GMT được hỗ trợ
+calendars-table-capabilities-autoschedule-supported = Lập lịch tự động được hỗ trợ
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/aboutSupportChat.ftl b/thunderbird-l10n/vi/localization/vi/messenger/aboutSupportChat.ftl
new file mode 100644
index 0000000000..cfdd52bc24
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/aboutSupportChat.ftl
@@ -0,0 +1,11 @@
+# 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/.
+
+chat-title = Tài khoản trò chuyện
+chat-table-heading-account = ID
+chat-table-heading-protocol = Giao thức
+chat-table-heading-name = Tên
+chat-table-heading-actions = Hành động
+chat-table-copy-debug-log = Sao chép nhật ký gỡ lỗi
+ .title = Sao chép lỗi và nhật ký khác từ tài khoản trò chuyện này vào khay nhớ tạm. Có thể chứa thông tin cá nhân như tin nhắn trò chuyện.
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/aboutSupportMail.ftl b/thunderbird-l10n/vi/localization/vi/messenger/aboutSupportMail.ftl
new file mode 100644
index 0000000000..f19998a389
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/aboutSupportMail.ftl
@@ -0,0 +1,31 @@
+# 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/.
+
+accounts-title = Tài khoản thư và tin tức
+show-private-data-main-text = Bao gồm tên tài khoản
+show-private-data-explanation-text = (thông tin có thể nhận diện cá nhân)
+accounts-ID = ID
+accounts-name = Tên
+accounts-incoming-server = Máy chủ nhận thư
+accounts-outgoing-servers = Máy chủ gửi thư
+accounts-server-name = Tên
+accounts-conn-security = Bảo mật kết nối
+accounts-auth-method = Phương thức xác thực
+accounts-default = Mặc định?
+identity-name = Danh tính
+send-via-email = Gửi qua email
+app-basics-telemetry = Dữ liệu từ xa
+app-basics-cache-use = Sử dụng bộ nhớ đệm
+mail-libs-title = Thư viện
+libs-table-heading-library = Thư viện
+libs-table-heading-expected-version = Phiên bản tối thiểu dự kiến
+libs-table-heading-loaded-version = Phiên bản đang dùng
+libs-table-heading-path = Đường dẫn
+libs-table-heading-status = Trạng thái
+libs-rnp-status-ok = OK
+libs-rnp-status-load-failed = Không thể tải. OpenPGP sẽ không hoạt động.
+libs-rnp-status-incompatible = Phiên bản không tương thích. OpenPGP sẽ không hoạt động.
+libs-rnp-status-unofficial = Phiên bản không chính thức. OpenPGP có thể không hoạt động như mong đợi.
+libs-otr-status-ok = OK
+libs-otr-status-error = Không thể tải. Mã hóa trò chuyện OTR sẽ không hoạt động.
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/accountCentral.ftl b/thunderbird-l10n/vi/localization/vi/messenger/accountCentral.ftl
new file mode 100644
index 0000000000..5f5cb17a3b
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/accountCentral.ftl
@@ -0,0 +1,65 @@
+# 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/.
+
+account-central-title = Chào mừng đến với { -brand-full-name }
+account-settings = Cài đặt tài khoản
+
+# $accounts (Number) - the number of configured accounts
+setup-title = Chọn những gì để thiết lập
+about-title = Về { -brand-full-name }
+resources-title = Tài nguyên
+
+release-notes =
+ .title = Về { -brand-full-name }
+
+email-label = Email
+ .aria-label = Kết nối với tài khoản email hiện tại của bạn
+email-description = { -brand-short-name } cho phép bạn kết nối với tài khoản email hiện tại của mình, để đọc email của bạn một cách thuận tiện và hiệu quả từ trong ứng dụng.
+
+calendar-label = Lịch
+ .aria-label = Tạo một lịch mới
+calendar-description = { -brand-short-name } cho phép bạn xử lý các sự kiện và giúp bạn tổ chức. Kết nối với lịch từ xa sẽ giữ cho tất cả các sự kiện của bạn được đồng bộ hóa trên tất cả các thiết bị của bạn.
+
+chat-label = Trò chuyện
+ .aria-label = Kết nối với tài khoản trò chuyện của bạn
+chat-description = { -brand-short-name } cho phép bạn kết nối với nhiều tài khoản nhắn tin tức thời, cung cấp hỗ trợ cho các nền tảng khác nhau.
+
+filelink-label = Filelink
+ .aria-label = Thiết lập Filelink
+filelink-description = { -brand-short-name } cho phép bạn thiết lập tài khoản đám mây filelink thuận tiện để dễ dàng gửi các tập tin đính kèm lớn.
+
+addressbook-label = Sổ địa chỉ
+ .aria-label = Tạo một sổ địa chỉ mới
+addressbook-description = { -brand-short-name } cho phép bạn sắp xếp tất cả các địa chỉ liên lạc của bạn trong một sổ địa chỉ. Bạn cũng có thể kết nối với sổ địa chỉ từ xa để giữ cho tất cả các địa chỉ liên lạc của bạn được đồng bộ hóa.
+
+feeds-label = Nguồn cấp
+ .aria-label = Kết nối đến nguồn cấp
+feeds-description = { -brand-short-name } cho phép bạn kết nối với nguồn cấp dữ liệu RSS/Atom để nhận tin tức và cập nhật từ khắp nơi.
+
+newsgroups-label = Nhóm tin
+ .aria-label = Kết nối đến một nhóm tin
+newsgroups-description = { -brand-short-name } cho phép bạn kết nối với tất cả các nhóm tin bạn muốn.
+
+import-title = Nhập dữ liệu từ chương trình khác…
+import-paragraph2 = { -brand-short-name } cho phép bạn nhập thư, mục nhập sổ địa chỉ, đăng ký nguồn cấp dữ liệu, cài đặt và/hoặc bộ lọc từ các chương trình thư khác và các định dạng sổ địa chỉ phổ biến.
+
+import-label = Nhập
+ .aria-label = Nhập dữ liệu từ các chương trình khác
+
+about-paragraph = Thunderbird là ứng dụng email và lịch trình đa nền tảng, mã nguồn mở hàng đầu, miễn phí cho doanh nghiệp và sử dụng cá nhân. Chúng tôi muốn nó được an toàn và trở nên tốt hơn. Việc quyên góp sẽ cho phép chúng tôi thuê các nhà phát triển, trả tiền cho cơ sở hạ tầng và tiếp tục cải thiện.
+
+about-paragraph-consider-donation = <b>Thunderbird được tài trợ bởi những người dùng như bạn! Nếu bạn thích Thunderbird, vui lòng xem xét việc quyên góp.</b> Cách tốt nhất để bạn đảm bảo Thunderbird vẫn khả dụng là <a data-l10n-name="donation-link">thực hiện quyên góp</a>.
+
+explore-link = Khám phá các tính năng
+support-link = Hỗ trợ
+involved-link = Tham gia
+developer-link = Tài liệu dành cho nhà phát triển
+
+read = Đọc thư
+compose = Viết thư mới
+search = Tìm kiếm thư
+filter = Quản lí bộ lọc thư
+nntp-subscription = Quản lí đăng kí nhóm tin
+rss-subscription = Quản lý đăng ký theo dõi
+e2e = Mã hóa đầu cuối
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/accountManager.ftl b/thunderbird-l10n/vi/localization/vi/messenger/accountManager.ftl
new file mode 100644
index 0000000000..e1e75dff08
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/accountManager.ftl
@@ -0,0 +1,18 @@
+# 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/.
+
+open-preferences-sidebar-button2 = Cài đặt { -brand-short-name }
+
+open-addons-sidebar-button = Tiện ích mở rộng và chủ đề
+
+account-action-add-newsgroup-account =
+ .label = Thêm tài khoản nhóm tin…
+ .accesskey = N
+
+server-change-restart-required = Khởi động lại là bắt buộc để áp dụng thay đổi tên máy chủ hoặc tên người dùng.
+
+edit-vcard-dialog-accept-button = Lưu
+ .accesskey = S
+edit-vcard-dialog-cancel-button = Hủy bỏ
+ .accesskey = C
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/accountProvisioner.ftl b/thunderbird-l10n/vi/localization/vi/messenger/accountProvisioner.ftl
new file mode 100644
index 0000000000..7e571e4dd3
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/accountProvisioner.ftl
@@ -0,0 +1,77 @@
+# 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/.
+
+account-provisioner-tab-title = Nhận địa chỉ email mới từ nhà cung cấp dịch vụ
+
+provisioner-searching-icon =
+ .alt = Đang tìm kiếm…
+
+account-provisioner-title = Tạo một địa chỉ email mới
+
+account-provisioner-description = Sử dụng các đối tác đáng tin cậy của chúng tôi để có được một địa chỉ email mới riêng tư và an toàn.
+
+account-provisioner-start-help = Các cụm từ tìm kiếm được sử dụng được gửi đến { -vendor-short-name } (<a data-l10n-name="mozilla-privacy-link">Chính sách riêng tư</a>) và các nhà cung cấp email bên thứ 3 <strong>mailfence.com</strong> (<a data-l10n-name="mailfence-privacy-link">Chính sách riêng tư</a>, <a data-l10n-name="mailfence-tou-link">Điều khoản sử dụng</a>) và <strong>gandi.net</strong> (<a data-l10n-name="gandi-privacy-link">Chính sách riêng tư</a>, <a data-l10n-name="gandi-tou-link">Điều khoản sử dụng</a>) để tìm các địa chỉ email có sẵn.
+
+account-provisioner-mail-account-title = Mua một địa chỉ email mới
+
+account-provisioner-mail-account-description = Thunderbird hợp tác với <a data-l10n-name="mailfence-home-link">Mailfence</a> để cung cấp cho bạn một email mới riêng tư và an toàn. Chúng tôi tin rằng mọi người nên có một email an toàn.
+
+account-provisioner-domain-title = Mua một email và miền của riêng bạn
+
+account-provisioner-domain-description = Thunderbird hợp tác với <a data-l10n-name="gandi-home-link">Gandi</a> để cung cấp cho bạn một miền tùy chỉnh. Điều này cho phép bạn sử dụng bất kỳ địa chỉ nào trên miền đó.
+
+## Forms
+
+account-provisioner-mail-input =
+ .placeholder = Tên, nickname hoặc cụm từ tìm kiếm khác của bạn
+
+account-provisioner-domain-input =
+ .placeholder = Tên, nickname hoặc cụm từ tìm kiếm khác của bạn
+
+account-provisioner-search-button = Tìm kiếm
+
+account-provisioner-button-cancel = Hủy bỏ
+
+account-provisioner-button-existing = Sử dụng tài khoản email hiện có
+
+account-provisioner-button-back = Quay lại
+
+## Notifications
+
+account-provisioner-fetching-provisioners = Đang truy xuất từ ​​nhà cung cấp dịch vụ…
+
+account-provisioner-connection-issues = Không thể kết nối với máy chủ đăng ký của chúng tôi. Vui lòng kiểm tra kết nối của bạn.
+
+account-provisioner-searching-email = Đang tìm kiếm các tài khoản email có sẵn…
+
+account-provisioner-searching-domain = Đang tìm kiếm các miền khả dụng…
+
+account-provisioner-searching-error = Không thể tìm thấy bất kỳ địa chỉ nào để đề xuất. Hãy thử thay đổi các cụm từ tìm kiếm.
+
+## Illustrations
+
+account-provisioner-step1-image =
+ .title = Chọn tài khoản để tạo
+
+## Search results
+
+# Variables:
+# $count (Number) - The number of domains found during search.
+account-provisioner-results-title =
+ { $count ->
+ *[other] Đã tìm thấy { $count } địa chỉ khả dụng cho:
+ }
+
+account-provisioner-mail-results-caption = Bạn có thể thử tìm kiếm nickname hoặc bất kỳ thuật ngữ nào khác để tìm thêm email.
+
+account-provisioner-domain-results-caption = Bạn có thể thử tìm kiếm nickname hoặc bất kỳ thuật ngữ nào khác để tìm thêm miền.
+
+account-provisioner-free-account = Miễn phí
+
+account-provision-price-per-year = { $price } mỗi năm
+
+account-provisioner-all-results-button = Hiển thị tất cả kết quả
+
+account-provisioner-open-in-tab-img =
+ .title = Mở trong một thẻ mới
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/vi/localization/vi/messenger/accountcreation/accountHub.ftl
new file mode 100644
index 0000000000..a5a8276bba
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/accountcreation/accountHub.ftl
@@ -0,0 +1,83 @@
+# 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/.
+
+
+### Account Hub
+### Account hub is where user can setup new accounts in Thunderbird.
+
+
+## Header
+
+account-hub-brand = { -brand-full-name }
+account-hub-welcome-line = Chào mừng đến với <span data-l10n-name="brand-name">{ -brand-full-name }</span>
+account-hub-title = Trung tâm tài khoản
+
+## Footer
+
+account-hub-release-notes = Ghi chú phát hành
+account-hub-support = Hỗ trợ
+account-hub-donate = Quyên góp
+
+## Initial setup page
+
+account-hub-email-setup-button = Tài khoản email
+ .title = Thiết lập một tài khoản email
+account-hub-calendar-setup-button = Lịch
+ .title = Thiết lập một lịch cục bộ hoặc từ xa
+account-hub-address-book-setup-button = Sổ địa chỉ
+ .title = Thiết lập một sổ địa chỉ cục bộ hoặc từ xa
+account-hub-chat-setup-button = Trò chuyện
+ .title = Thiết lập một tài khoản trò chuyện
+account-hub-feed-setup-button = Nguồn cấp dữ liệu RSS
+ .title = Thiết lập một nguồn cấp dữ liệu RSS
+account-hub-newsgroup-setup-button = Nhóm tin
+ .title = Thiết lập một tài khoản nhóm tin
+account-hub-import-setup-button = Nhập
+ .title = Nhập từ một hồ sơ đã sao lưu trước đó
+# Note: "Sync" represents the Firefox Sync product so it shouldn't be translated.
+account-hub-sync-button = Đăng nhập để đồng bộ hóa…
+
+## Email page
+
+account-hub-email-title = Thiết lập tài khoản email của bạn
+account-hub-add-email-title = Thêm tài khoản của bạn
+account-hub-manually-configure-email-title = Thiết lập cấu hình tài khoản
+account-hub-email-cancel-button = Huỷ bỏ
+account-hub-email-stop-button = Dừng
+account-hub-email-back-button = Quay lại
+account-hub-email-retest-button = Kiểm tra lại
+account-hub-email-finish-button = Hoàn tất
+account-hub-email-manually-configure-button = Cấu hình thủ công
+account-hub-email-continue-button = Tiếp tục
+account-hub-email-confirm-button = Xác nhận
+account-hub-incoming-server-legend = Máy chủ nhận thư
+account-hub-outgoing-server-legend = Máy chủ gửi thư
+account-hub-protocol-label = Giao thức
+account-hub-hostname-label = Tên máy chủ
+account-hub-port-label = Cổng
+ .title = Đặt cổng thành 0 để tự động phát hiện
+account-hub-auto-description = { -brand-short-name } sẽ thử tự động phát hiện các trường bị bỏ trống.
+account-hub-ssl-label = Bảo mật kết nối
+
+## Incoming/Outgoing SSL Authentication options
+
+account-hub-ssl-autodetect-option =
+ .label = Tự động phát hiện
+account-hub-ssl-no-authentication-option =
+ .label = Không xác thực
+account-hub-ssl-cleartext-password-option =
+ .label = Mật khẩu bình thường
+account-hub-ssl-encrypted-password-option =
+ .label = Mật khẩu được mã hóa
+
+## Incoming/Outgoing SSL options
+
+account-hub-ssl-noencryption-option =
+ .label = Không
+account-hub-auth-label = Phương thức xác thực
+account-hub-username-label = Tên đăng nhập
+account-hub-adding-account-title = Đang thêm tài khoản
+account-hub-adding-account-subheader = Kiểm tra lại cài đặt cấu hình tài khoản
+account-hub-account-added-title = Đã thêm tài khoản
+account-hub-find-settings-failed = { -brand-full-name } không tìm thấy cài đặt cho tài khoản email của bạn.
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/accountcreation/accountSetup.ftl b/thunderbird-l10n/vi/localization/vi/messenger/accountcreation/accountSetup.ftl
new file mode 100644
index 0000000000..ea684eca68
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/accountcreation/accountSetup.ftl
@@ -0,0 +1,290 @@
+# 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/.
+
+account-setup-tab-title = Thiết lập tài khoản
+
+## Header
+
+account-setup-title = Thiết lập địa chỉ email hiện tại của bạn
+account-setup-description =
+ Để sử dụng địa chỉ email hiện tại của bạn, hãy điền thông tin đăng nhập của bạn.<br/>
+ { -brand-product-name } sẽ tự động tìm kiếm cấu hình máy chủ đang hoạt động và được đề xuất.
+account-setup-secondary-description = { -brand-product-name } sẽ tự động tìm kiếm cấu hình máy chủ đang hoạt động và được đề xuất.
+account-setup-success-title = Tạo tài khoản thành công
+account-setup-success-description = Bây giờ bạn có thể sử dụng tài khoản này với { -brand-short-name }.
+account-setup-success-secondary-description = Bạn có thể cải thiện trải nghiệm bằng cách kết nối các dịch vụ liên quan và định cấu hình cài đặt tài khoản nâng cao.
+
+## Form fields
+
+account-setup-name-label = Tên đầy đủ của bạn
+ .accesskey = n
+# Note: "John Doe" is a multiple-use name that is used when the true name of a person is unknown. We use this fake name as an input placeholder. Translators should update this to reflect the placeholder name of their language/country.
+account-setup-name-input =
+ .placeholder = John Doe
+account-setup-name-info-icon =
+ .title = Tên của bạn, như được hiển thị cho những người khác
+account-setup-name-warning-icon =
+ .title = Vui lòng nhập tên của bạn
+account-setup-email-label = Địa chỉ email
+ .accesskey = E
+account-setup-email-input =
+ .placeholder = john.doe@example.com
+account-setup-email-info-icon =
+ .title = Địa chỉ email hiện tại của bạn
+account-setup-email-warning-icon =
+ .title = Địa chỉ email không hợp lệ
+account-setup-password-label = Mật khẩu
+ .accesskey = P
+ .title = Tùy chọn, sẽ chỉ được sử dụng để xác thực tên người dùng
+account-provisioner-button = Tạo một địa chỉ email mới
+ .accesskey = G
+account-setup-password-toggle-show =
+ .title = Hiển thị mật khẩu dưới dạng văn bản rõ ràng
+account-setup-password-toggle-hide =
+ .title = Ẩn mật khẩu
+account-setup-remember-password = Ghi nhớ mật khẩu
+ .accesskey = m
+account-setup-exchange-label = Thông tin đăng nhập của bạn
+ .accesskey = l
+# YOURDOMAIN refers to the Windows domain in ActiveDirectory. yourusername refers to the user's account name in Windows.
+account-setup-exchange-input =
+ .placeholder = TENMIENCUABAN\tennguoidungcuaban
+# Domain refers to the Windows domain in ActiveDirectory. We mean the user's login in Windows at the local corporate network.
+account-setup-exchange-info-icon =
+ .title = Thông tin đăng nhập trong miền
+
+## Action buttons
+
+account-setup-button-cancel = Hủy bỏ
+ .accesskey = a
+account-setup-button-manual-config = Cấu hình thủ công
+ .accesskey = m
+account-setup-button-stop = Dừng
+ .accesskey = S
+account-setup-button-retest = Kiểm tra lại
+ .accesskey = t
+account-setup-button-continue = Tiếp tục
+ .accesskey = C
+account-setup-button-done = Xong
+ .accesskey = D
+
+## Notifications
+
+account-setup-looking-up-settings = Đang tìm cấu hình…
+account-setup-looking-up-settings-guess = Đang tìm cấu hình: Đang thử các tên máy chủ phổ biến…
+account-setup-looking-up-settings-half-manual = Đang tìm cấu hình: Đang dò tìm máy chủ…
+account-setup-looking-up-disk = Đang tìm cấu hình: Bộ cài đặt { -brand-short-name }…
+account-setup-looking-up-isp = Đang tìm cấu hình: Nhà cung cấp dịch vụ email…
+# Note: Do not translate or replace Mozilla. It stands for the public project mozilla.org, not Mozilla Corporation. The database is a generic, public domain facility usable by any client.
+account-setup-looking-up-db = Đang tìm cấu hình: Cơ sở dữ liệu Mozilla ISP…
+account-setup-looking-up-mx = Đang tìm cấu hình: Tên miền thư đến…
+account-setup-looking-up-exchange = Đang tìm cấu hình: Máy chủ Exchange…
+account-setup-checking-password = Đang kiểm tra mật khẩu…
+account-setup-installing-addon = Đang tải xuống và cài đặt tiện ích mở rộng…
+account-setup-success-half-manual = Các cài đặt sau được tìm thấy bằng cách thăm dò máy chủ nhất định:
+account-setup-success-guess = Cấu hình được tìm thấy bằng cách thử các tên máy chủ phổ biến.
+account-setup-success-guess-offline = Bạn hiện đang ngoại tuyến. Chúng tôi đã thử đoán một số cài đặt nhưng bạn sẽ cần nhập đúng cài đặt.
+account-setup-success-password = Mật khẩu OK
+account-setup-success-addon = Đã cài đặt thành công tiện ích mở rộng
+# Note: Do not translate or replace Mozilla. It stands for the public project mozilla.org, not Mozilla Corporation. The database is a generic, public domain facility usable by any client.
+account-setup-success-settings-db = Cấu hình được tìm thấy trong cơ sở dữ liệu Mozilla ISP.
+account-setup-success-settings-disk = Cấu hình được tìm thấy trong bộ cài đặt { -brand-short-name }.
+account-setup-success-settings-isp = Cấu hình được tìm thấy tại nhà cung cấp email.
+# Note: Microsoft Exchange is a product name.
+account-setup-success-settings-exchange = Cấu hình được tìm thấy cho máy chủ Microsoft Exchange.
+
+## Illustrations
+
+account-setup-step1-image =
+ .title = Thiết lập ban đầu
+account-setup-step2-image =
+ .title = Đang tải…
+account-setup-step3-image =
+ .title = Cấu hình được tìm thấy
+account-setup-step4-image =
+ .title = Lỗi kết nối
+account-setup-step5-image =
+ .title = Đã tạo tài khoản
+account-setup-privacy-footnote2 = Thông tin đăng nhập của bạn sẽ chỉ được lưu trữ cục bộ trên máy tính của bạn.
+account-setup-selection-help = Không chắc chắn những gì để chọn?
+account-setup-selection-error = Cần trợ giúp?
+account-setup-success-help = Không chắc chắn về các bước tiếp theo của mình?
+account-setup-documentation-help = Tài liệu thiết lập
+account-setup-forum-help = Diễn đàn hỗ trợ
+account-setup-privacy-help = Chính sách riêng tư
+account-setup-getting-started = Bắt đầu
+
+## Results area
+
+# Variables:
+# $count (Number) - Number of available protocols.
+account-setup-results-area-title =
+ { $count ->
+ *[other] Các cấu hình có sẵn
+ }
+account-setup-result-imap-description = Giữ cho các thư mục và email của bạn được đồng bộ hóa trên máy chủ của bạn
+account-setup-result-pop-description = Giữ các thư mục và email của bạn trên máy tính của bạn
+# Note: Exchange, Office365 are the name of products.
+account-setup-result-exchange2-description = Sử dụng máy chủ Microsoft Exchange hoặc các dịch vụ đám mây Office365
+account-setup-incoming-title = Hộp thư đến
+account-setup-outgoing-title = Hộp thư đi
+account-setup-username-title = Tên người dùng
+account-setup-exchange-title = Máy chủ
+account-setup-result-no-encryption = Không mã hóa
+account-setup-result-ssl = SSL/TLS
+account-setup-result-starttls = STARTTLS
+account-setup-result-outgoing-existing = Sử dụng máy chủ gửi thư SMTP hiện tại
+# Variables:
+# $incoming (String): The email/username used to log into the incoming server
+# $outgoing (String): The email/username used to log into the outgoing server
+account-setup-result-username-different = Nhận thư: { $incoming }, Gửi thư: { $outgoing }
+
+## Error messages
+
+# Note: The reference to "janedoe" (Jane Doe) is the name of an example person. You will want to translate it to whatever example persons would be named in your language. In the example, AD is the name of the Windows domain, and this should usually not be translated.
+account-setup-credentials-incomplete = Quá trình xác thực thất bại. Thông tin đăng nhập đã nhập không chính xác hoặc cần có tên người dùng riêng để đăng nhập. Tên người dùng này thường là thông tin đăng nhập miền Windows của bạn có hoặc không có miền (ví dụ: janedoe hoặc AD\\janedoe)
+account-setup-credentials-wrong = Quá trình xác thực thất bại. Vui lòng kiểm tra tên người dùng và mật khẩu
+account-setup-find-settings-failed = { -brand-short-name } không tìm thấy cài đặt cho tài khoản email của bạn
+account-setup-exchange-config-unverifiable = Không thể xác minh cấu hình. Nếu tên người dùng và mật khẩu của bạn chính xác, có khả năng quản trị viên máy chủ đã vô hiệu hóa cấu hình đã chọn cho tài khoản của bạn. Hãy thử chọn một giao thức khác.
+account-setup-provisioner-error = Đã xảy ra lỗi khi thiết lập tài khoản mới của bạn trong { -brand-short-name }. Vui lòng thử thiết lập tài khoản của bạn theo cách thủ công bằng thông tin đăng nhập của bạn.
+
+## Manual configuration area
+
+account-setup-manual-config-title = Cài đặt máy chủ
+account-setup-incoming-server-legend = Máy chủ nhận thư
+account-setup-protocol-label = Giao thức:
+account-setup-hostname-label = Tên máy chủ:
+account-setup-port-label = Cổng:
+ .title = Đặt cổng thành 0 để tự động phát hiện
+account-setup-auto-description = { -brand-short-name } sẽ thử tự động phát hiện các trường bị bỏ trống.
+account-setup-ssl-label = Bảo mật kết nối:
+account-setup-outgoing-server-legend = Máy chủ gửi thư
+
+## Incoming/Outgoing SSL Authentication options
+
+ssl-autodetect-option = Tự động phát hiện
+ssl-no-authentication-option = Không xác thực
+ssl-cleartext-password-option = Mật khẩu bình thường
+ssl-encrypted-password-option = Mật khẩu được mã hóa
+
+## Incoming/Outgoing SSL options
+
+ssl-noencryption-option = Không
+account-setup-auth-label = Phương thức xác thực:
+account-setup-username-label = Tên đăng nhập:
+account-setup-advanced-setup-button = Cấu hình nâng cao
+ .accesskey = A
+
+## Warning insecure server dialog
+
+account-setup-insecure-title = Cảnh báo!
+account-setup-insecure-incoming-title = Cài đặt nhận thư:
+account-setup-insecure-outgoing-title = Cài đặt gửi thư:
+# Variables:
+# $server (String): The name of the hostname of the server the user was trying to connect to.
+account-setup-warning-cleartext = <b>{ $server }</b> không sử dụng mã hóa.
+account-setup-warning-cleartext-details = Máy chủ thư không an toàn không sử dụng kết nối được mã hóa để bảo vệ mật khẩu và thông tin cá nhân của bạn. Bằng cách kết nối với máy chủ này, bạn có thể bị tiết lộ mật khẩu và thông tin cá nhân của mình.
+account-setup-insecure-server-checkbox = Tôi hiểu các rủi ro
+ .accesskey = u
+account-setup-insecure-description = { -brand-short-name } có thể cho phép bạn truy cập thư của mình bằng cách sử dụng các cấu hình được cung cấp. Tuy nhiên, bạn nên liên hệ với quản trị viên hoặc nhà cung cấp email của mình về những kết nối không đúng này. Xem <a data-l10n-name="thunderbird-faq-link">câu hỏi thường gặp về Thunderbird</a> để biết thêm thông tin.
+insecure-dialog-cancel-button = Thay đổi cài đặt
+ .accesskey = S
+insecure-dialog-confirm-button = Xác nhận
+ .accesskey = C
+
+## Warning Exchange confirmation dialog
+
+# Variables:
+# $domain (String): The name of the server where the configuration was found, e.g. rackspace.com.
+exchange-dialog-question = { -brand-short-name } đã tìm thấy thông tin thiết lập tài khoản của bạn trên { $domain }. Bạn có muốn tiếp tục và gửi thông tin đăng nhập của mình không?
+exchange-dialog-confirm-button = Đăng nhập
+exchange-dialog-cancel-button = Huỷ bỏ
+
+## Dismiss account creation dialog
+
+exit-dialog-title = Không có tài khoản email nào được cấu hình
+exit-dialog-description = Bạn có chắc chắn muốn hủy quá trình thiết lập không? Bạn vẫn có thể sử dụng { -brand-short-name } mà không cần tài khoản email nhưng nhiều tính năng sẽ không khả dụng.
+account-setup-no-account-checkbox = Sử dụng { -brand-short-name } mà không cần tài khoản email
+ .accesskey = U
+exit-dialog-cancel-button = Tiếp tục thiết lập
+ .accesskey = C
+exit-dialog-confirm-button = Thoát thiết lập
+ .accesskey = E
+
+## Alert dialogs
+
+account-setup-creation-error-title = Lỗi khi tạo tài khoản
+account-setup-error-server-exists = Máy chủ nhận thư đã tồn tại.
+account-setup-confirm-advanced-title = Xác nhận cấu hình nâng cao
+account-setup-confirm-advanced-description = Hộp thoại này sẽ bị đóng và một tài khoản với các cài đặt hiện tại sẽ được tạo, ngay cả khi cấu hình không chính xác. Bạn có muốn tiếp tục?
+
+## Addon installation section
+
+account-setup-addon-install-title = Cài đặt
+account-setup-addon-install-intro = Một tiện ích mở rộng của bên thứ ba có thể cho phép bạn truy cập tài khoản email của mình trên máy chủ này:
+account-setup-addon-no-protocol = Máy chủ email này không hỗ trợ các giao thức mở. { account-setup-addon-install-intro }
+
+## Success view
+
+account-setup-settings-button = Cài đặt tài khoản
+account-setup-encryption-button = Mã hóa đầu cuối
+account-setup-signature-button = Thêm chữ ký
+account-setup-dictionaries-button = Tải xuống từ điển
+account-setup-address-book-carddav-button = Kết nối đến sổ địa chỉ CardDAV
+account-setup-address-book-ldap-button = Kết nối đến sổ địa chỉ LDAP
+account-setup-calendar-button = Kết nối đến lịch từ xa
+account-setup-linked-services-title = Kết nối các dịch vụ được liên kết của bạn
+account-setup-linked-services-description = { -brand-short-name } đã phát hiện thấy các dịch vụ khác được liên kết với tài khoản email của bạn.
+account-setup-no-linked-description = Thiết lập các dịch vụ khác để tận dụng tối đa trải nghiệm { -brand-short-name } của bạn.
+# Variables:
+# $count (Number) - The number of address books found during autoconfig.
+account-setup-found-address-books-description =
+ { $count ->
+ *[other] { -brand-short-name } đã tìm thấy { $count } sổ địa chỉ được liên kết với tài khoản email của bạn.
+ }
+# Variables:
+# $count (Number) - The number of calendars found during autoconfig.
+account-setup-found-calendars-description =
+ { $count ->
+ *[other] { -brand-short-name } đã tìm thấy { $count } lịch được liên kết với tài khoản email của bạn.
+ }
+account-setup-button-finish = Hoàn thành
+ .accesskey = F
+account-setup-looking-up-address-books = Đang tra cứu sổ địa chỉ…
+account-setup-looking-up-calendars = Đang tra cứu lịch…
+account-setup-address-books-button = Sổ địa chỉ
+account-setup-calendars-button = Lịch
+account-setup-connect-link = Kết nối
+account-setup-existing-address-book = Đã kết nối
+ .title = Sổ địa chỉ đã được kết nối trước đó
+account-setup-existing-calendar = Đã kết nối
+ .title = Lịch đã được kết nối trước đó
+account-setup-connect-all-calendars = Kết nối tất cả các lịch
+account-setup-connect-all-address-books = Kết nối tất cả các sổ địa chỉ
+
+## Calendar synchronization dialog
+
+calendar-dialog-title = Kết nối lịch
+calendar-dialog-cancel-button = Hủy bỏ
+ .accesskey = C
+calendar-dialog-confirm-button = Kết nối
+ .accesskey = n
+account-setup-calendar-name-label = Tên
+account-setup-calendar-name-input =
+ .placeholder = Lịch của tôi
+account-setup-calendar-color-label = Màu
+account-setup-calendar-refresh-label = Làm mới
+account-setup-calendar-refresh-manual = Thủ công
+# Variables:
+# $count (Number) - Number of minutes in the calendar refresh interval.
+account-setup-calendar-refresh-interval =
+ { $count ->
+ *[other] Mỗi { $count } phút một lần
+ }
+account-setup-calendar-read-only = Chỉ đọc
+ .accesskey = R
+account-setup-calendar-show-reminders = Hiển thị lời nhắc
+ .accesskey = S
+account-setup-calendar-offline-support = Hỗ trợ ngoại tuyến
+ .accesskey = O
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/addonNotifications.ftl b/thunderbird-l10n/vi/localization/vi/messenger/addonNotifications.ftl
new file mode 100644
index 0000000000..a76ffc57e3
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/addonNotifications.ftl
@@ -0,0 +1,110 @@
+# 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/.
+
+xpinstall-prompt = Trang này muốn cài đặt phần mềm lên máy tính của bạn và đã bị { -brand-short-name } chặn lại.
+
+## Variables:
+## $host (String): The hostname of the site the add-on is being installed from.
+
+xpinstall-prompt-header = Cho phép { $host } cài đặt tiện ích mở rộng?
+xpinstall-prompt-message = Bạn đang cố gắng cài đặt tiện ích mở rộng từ { $host }. Hãy chắc chắn rằng bạn tin tưởng trang web này trước khi tiếp tục.
+
+##
+
+xpinstall-prompt-header-unknown = Cho phép một trang không xác định cài đặt một tiện ích?
+xpinstall-prompt-message-unknown = Bạn đang cố gắng cài đặt tiện ích từ một trang không xác định. Hãy chắc chắn rằng bạn tin tưởng trang này trước khi tiếp tục.
+xpinstall-prompt-dont-allow =
+ .label = Từ chối
+ .accesskey = D
+xpinstall-prompt-never-allow =
+ .label = Không bao giờ cho phép
+ .accesskey = N
+# Long text in this context make the dropdown menu extend awkwardly to the left,
+# avoid a localization that's significantly longer than the English version.
+xpinstall-prompt-never-allow-and-report =
+ .label = Báo cáo trang web đáng ngờ
+ .accesskey = R
+# Accessibility Note:
+# Be sure you do not choose an accesskey that is used elsewhere in the active context (e.g. main menu bar, submenu of the warning popup button)
+# See https://website-archive.mozilla.org/www.mozilla.org/access/access/keyboard/ for details
+xpinstall-prompt-install =
+ .label = Tiếp tục cài đặt
+ .accesskey = C
+
+# These messages are shown when a website invokes navigator.requestMIDIAccess.
+
+site-permission-install-first-prompt-midi-header = Trang web này đang yêu cầu quyền truy cập vào các thiết bị MIDI (Giao diện kỹ thuật số dành cho nhạc cụ) của bạn. Có thể bật quyền truy cập thiết bị bằng cách cài đặt tiện ích mở rộng.
+site-permission-install-first-prompt-midi-message = Lần truy cập này không được đảm bảo an toàn. Chỉ tiếp tục nếu bạn tin tưởng trang web này.
+
+##
+
+xpinstall-disabled-locked = Quản trị hệ thống của bạn đã vô hiệu hóa cài đặt phần mềm.
+xpinstall-disabled = Hiện tại việc cài đặt phần mềm đã bị vô hiệu hóa. Hãy nhấn Bật rồi thử lại.
+xpinstall-disabled-button =
+ .label = Bật
+ .accesskey = n
+# This message is shown when the installation of an add-on is blocked by enterprise policy.
+# Variables:
+# $addonName (String): the name of the add-on.
+# $addonId (String): the ID of add-on.
+addon-install-blocked-by-policy = { $addonName } ({ $addonId }) bị chặn bởi quản trị viên hệ thống của bạn.
+# This message is shown when the installation of add-ons from a domain is blocked by enterprise policy.
+addon-domain-blocked-by-policy = Quản trị viên hệ thống của bạn đã ngăn trang web này yêu cầu bạn cài đặt phần mềm trên máy tính của bạn.
+addon-install-full-screen-blocked = Cài đặt tiện ích không được phép trong khi ở hoặc trước khi vào chế độ toàn màn hình.
+# Variables:
+# $addonName (String): the localized name of the sideloaded add-on.
+webext-perms-sideload-menu-item = { $addonName } đã thêm vào { -brand-short-name }
+# Variables:
+# $addonName (String): the localized name of the extension which has been updated.
+webext-perms-update-menu-item = { $addonName } yêu cầu quyền mới
+
+## Add-on removal warning
+
+# Variables:
+# $name (String): The name of the add-on that will be removed.
+addon-removal-title = Xóa { $name }?
+# Variables:
+# $name (String): the name of the extension which is about to be removed.
+addon-removal-message = Xóa { $name } khỏi { -brand-shorter-name }?
+addon-removal-button = Xóa
+addon-removal-abuse-report-checkbox = Báo cáo tiện ích mở rộng này cho { -vendor-short-name }
+# Variables:
+# $addonCount (Number): the number of add-ons being downloaded
+addon-downloading-and-verifying = Đang tải và xác thực { $addonCount } tiện ích…
+addon-download-verifying = Đang xác thực
+addon-install-cancel-button =
+ .label = Hủy bỏ
+ .accesskey = C
+addon-install-accept-button =
+ .label = Thêm
+ .accesskey = A
+
+## Variables:
+## $addonCount (Number): the number of add-ons being installed
+
+addon-confirm-install-message = Trang này muốn cài đặt { $addonCount } tiện ích vào { -brand-short-name }:
+addon-confirm-install-unsigned-message = Chú ý: Trang này muốn cài đặt { $addonCount } tiện ích chưa được xác thực vào { -brand-short-name }. Chúng tôi không chịu trách nhiệm về những vấn đề có thể xảy ra.
+# Variables:
+# $addonCount (Number): the number of add-ons being installed (at least 2)
+addon-confirm-install-some-unsigned-message = Chú ý: Trang này muốn cài đặt { $addonCount } tiện ích vào { -brand-short-name }, một số trong số đó chưa được xác thực. Chúng tôi không chịu trách nhiệm về những vấn đề có thể xảy ra.
+
+## Add-on install errors
+## Variables:
+## $addonName (String): the add-on name.
+
+addon-install-error-network-failure = Không thể tải tiện ích do lỗi kết nối.
+addon-install-error-incorrect-hash = Không thể cài đặt tiện ích này vì nó không khớp với tiện ích { -brand-short-name } được mong đợi.
+addon-install-error-corrupt-file = Không thể cài đặt tiện ích được tải từ trang này vì có vẻ nó đã bị hỏng.
+addon-install-error-file-access = { $addonName } không thể cài đặt vì { -brand-short-name } không thể sửa đổi tập tin cần thiết.
+addon-install-error-not-signed = { -brand-short-name } không cho phép trang này cài đặt một tiện ích chưa được xác thực.
+addon-install-error-invalid-domain = Không thể cài đặt tiện ích { $addonName } từ địa chỉ này.
+addon-local-install-error-network-failure = Không thể cài đặt tiện ích này vì có lỗi hệ thống tập tin.
+addon-local-install-error-incorrect-hash = Không thể cài đặt tiện ích này vì nó không khớp với tiện ích { -brand-short-name } được mong đợi.
+addon-local-install-error-corrupt-file = Không thể cài đặt tiện ích này vì có vẻ như nó đã bị hỏng.
+addon-local-install-error-file-access = { $addonName } không thể cài đặt vì { -brand-short-name } không thể sửa đổi tập tin cần thiết.
+addon-local-install-error-not-signed = Không thể cài đặt tiện ích này vì nó chưa được xác thực.
+# Variables:
+# $appVersion (String): the application version.
+addon-install-error-incompatible = { $addonName } không thể cài đặt được vì nó không tương thích với { -brand-short-name } { $appVersion }.
+addon-install-error-blocklisted = { $addonName } không thể cài đặt được vì nó có khả năng gây ra các vấn đề về bảo mật và tính ổn định.
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/addressbook/abCardDAVDialog.ftl b/thunderbird-l10n/vi/localization/vi/messenger/addressbook/abCardDAVDialog.ftl
new file mode 100644
index 0000000000..c861425be5
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/addressbook/abCardDAVDialog.ftl
@@ -0,0 +1,26 @@
+# 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/.
+
+carddav-window-title = Sổ địa chỉ CardDAV mới
+
+carddav-dialog =
+ .buttonlabelaccept = Tiếp tục
+ .buttonaccesskeyaccept = C
+
+carddav-username-label =
+ .value = Tên đăng nhập:
+ .accesskey = U
+carddav-location-label =
+ .value = Địa chỉ:
+ .accesskey = L
+carddav-location =
+ .default-placeholder = URL hoặc tên máy chủ của máy chủ sổ địa chỉ
+
+carddav-loading = Đang tìm cấu hình…
+carddav-known-incompatible = { $url } được biết là không tương thích với { -brand-short-name }.
+carddav-connection-error = Không thể kết nối.
+carddav-none-found = Không tìm thấy sổ địa chỉ để thêm cho tài khoản được chỉ định.
+carddav-already-added = Tất cả các sổ địa chỉ cho tài khoản được chỉ định đã được thêm vào.
+
+carddav-available-books = Sổ địa chỉ có sẵn:
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/addressbook/abCardDAVProperties.ftl b/thunderbird-l10n/vi/localization/vi/messenger/addressbook/abCardDAVProperties.ftl
new file mode 100644
index 0000000000..18630862dd
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/addressbook/abCardDAVProperties.ftl
@@ -0,0 +1,31 @@
+# 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/.
+
+carddav-url-label =
+ .value = URL CardDAV:
+ .accesskey = V
+
+carddav-refreshinterval-label =
+ .label = Đồng bộ hoá:
+ .accesskey = S
+
+# Variables:
+# $minutes (integer) - Number of minutes between address book synchronizations
+carddav-refreshinterval-minutes-value =
+ .label =
+ { $minutes ->
+ *[other] mỗi { $minutes } phút
+ }
+
+# Variables:
+# $hours (integer) - Number of hours between address book synchronizations
+carddav-refreshinterval-hours-value =
+ .label =
+ { $hours ->
+ *[other] mỗi { $hours } giờ
+ }
+
+carddav-readonly-label =
+ .label = Chỉ đọc
+ .accesskey = R
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/addressbook/aboutAddressBook.ftl b/thunderbird-l10n/vi/localization/vi/messenger/addressbook/aboutAddressBook.ftl
new file mode 100644
index 0000000000..b21ec30e5d
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/addressbook/aboutAddressBook.ftl
@@ -0,0 +1,297 @@
+# 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/.
+
+about-addressbook-title = Sổ địa chỉ
+
+## Toolbar
+
+about-addressbook-toolbar-new-address-book =
+ .label = Sổ địa chỉ mới
+about-addressbook-toolbar-add-carddav-address-book =
+ .label = Thêm sổ địa chỉ CardDAV
+about-addressbook-toolbar-add-ldap-address-book =
+ .label = Thêm sổ địa chỉ LDAP
+about-addressbook-toolbar-new-contact =
+ .label = Liên hệ mới
+about-addressbook-toolbar-new-list =
+ .label = Danh sách mới
+about-addressbook-toolbar-import =
+ .label = Nhập
+
+## Books
+
+all-address-books-row =
+ .title = Tất cả sổ địa chỉ
+all-address-books = Tất cả các sổ địa chỉ
+# Variables:
+# $name (String) - The name of the selected book/list.
+# $count (Number) - The number of contacts in the selected book/list.
+about-addressbook-card-count = Tổng số liên hệ trong { $name }: { $count }
+# Variables:
+# $count (Number) - The number of contacts in all address books.
+about-addressbook-card-count-all = Tổng số liên hệ trong tất cả sổ địa chỉ: { $count }
+about-addressbook-books-context-properties =
+ .label = Thuộc tính
+about-addressbook-books-context-edit-list =
+ .label = Chỉnh sửa danh sách
+about-addressbook-books-context-synchronize =
+ .label = Đồng bộ hoá
+about-addressbook-books-context-edit =
+ .label = Chỉnh sửa
+about-addressbook-books-context-print =
+ .label = In…
+about-addressbook-books-context-export =
+ .label = Xuất…
+about-addressbook-books-context-delete =
+ .label = Xóa
+about-addressbook-books-context-remove =
+ .label = Xóa
+about-addressbook-books-context-startup-default =
+ .label = Thư mục khởi động mặc định
+about-addressbook-confirm-delete-book-title = Xóa sổ địa chỉ
+# Variables:
+# $name (String) - Name of the address book to be deleted.
+about-addressbook-confirm-delete-book = Bạn có chắc chắn muốn xóa { $name } và tất cả các địa chỉ liên hệ của nó không?
+about-addressbook-confirm-remove-remote-book-title = Xóa sổ địa chỉ
+# Variables:
+# $name (String) - Name of the remote address book to be removed.
+about-addressbook-confirm-remove-remote-book = Bạn có chắc chắn muốn xóa { $name } không?
+
+## Cards
+
+# Variables:
+# $name (String) - Name of the address book that will be searched.
+about-addressbook-search =
+ .placeholder = Tìm kiếm { $name }
+about-addressbook-search-all =
+ .placeholder = Tìm kiếm tất cả các sổ địa chỉ
+about-addressbook-sort-button2 =
+ .title = Tùy chọn hiển thị liệt kê
+about-addressbook-name-format-display =
+ .label = Tên hiển thị
+about-addressbook-name-format-firstlast =
+ .label = Tên Họ
+about-addressbook-name-format-lastfirst =
+ .label = Họ, Tên
+about-addressbook-sort-name-ascending =
+ .label = Sắp xếp theo tên (A > Z)
+about-addressbook-sort-name-descending =
+ .label = Sắp xếp theo tên (Z > A)
+about-addressbook-sort-email-ascending =
+ .label = Sắp xếp theo địa chỉ e-mail (A > Z)
+about-addressbook-sort-email-descending =
+ .label = Sắp xếp theo địa chỉ e-mail (Z > A)
+about-addressbook-horizontal-layout =
+ .label = Chuyển sang bố cục ngang
+about-addressbook-vertical-layout =
+ .label = Chuyển sang bố cục dọc
+about-addressbook-table-layout =
+ .label = Bố cục bảng
+
+## Card column headers
+## Each string is listed here twice, and the values should match.
+
+about-addressbook-column-header-generatedname = Tên
+about-addressbook-column-label-generatedname =
+ .label = { about-addressbook-column-header-generatedname }
+about-addressbook-column-header-emailaddresses = Địa chỉ email
+about-addressbook-column-label-emailaddresses =
+ .label = { about-addressbook-column-header-emailaddresses }
+about-addressbook-column-header-phonenumbers = Số điện thoại
+about-addressbook-column-label-phonenumbers =
+ .label = { about-addressbook-column-header-phonenumbers }
+about-addressbook-column-header-addresses = Địa chỉ
+about-addressbook-column-label-addresses =
+ .label = { about-addressbook-column-header-addresses }
+about-addressbook-column-header-title = Chức vụ
+about-addressbook-column-label-title =
+ .label = { about-addressbook-column-header-title }
+about-addressbook-column-header-department = Bộ phận
+about-addressbook-column-label-department =
+ .label = { about-addressbook-column-header-department }
+about-addressbook-column-header-organization = Tổ chức
+about-addressbook-column-label-organization =
+ .label = { about-addressbook-column-header-organization }
+about-addressbook-column-header-addrbook = Sổ địa chỉ
+about-addressbook-column-label-addrbook =
+ .label = { about-addressbook-column-header-addrbook }
+about-addressbook-column-header-generatedname2 = Tên
+ .title = Sắp xếp theo tên
+about-addressbook-column-label-generatedname2 =
+ .label = Tên
+about-addressbook-column-header-emailaddresses2 = Địa chỉ email
+ .title = Sắp xếp theo địa chỉ email
+about-addressbook-column-label-emailaddresses2 =
+ .label = Địa chỉ email
+about-addressbook-column-header-nickname2 = Biệt danh
+ .title = Sắp xếp theo biệt danh
+about-addressbook-column-label-nickname2 =
+ .label = Biệt danh
+about-addressbook-column-header-phonenumbers2 = Số điện thoại
+ .title = Sắp xếp theo số điện thoại
+about-addressbook-column-label-phonenumbers2 =
+ .label = Số điện thoại
+about-addressbook-column-header-addresses2 = Địa chỉ
+ .title = Sắp xếp theo địa chỉ
+about-addressbook-column-label-addresses2 =
+ .label = Địa chỉ
+about-addressbook-column-header-title2 = Chức vụ
+ .title = Sắp xếp theo chức vụ
+about-addressbook-column-label-title2 =
+ .label = Chức vụ
+about-addressbook-column-header-department2 = Bộ phận
+ .title = Sắp xếp theo bộ phận
+about-addressbook-column-label-department2 =
+ .label = Bộ phận
+about-addressbook-column-header-organization2 = Tổ chức
+ .title = Sắp xếp theo tổ chức
+about-addressbook-column-label-organization2 =
+ .label = Tổ chức
+about-addressbook-column-header-addrbook2 = Sổ địa chỉ
+ .title = Sắp xếp theo sổ địa chỉ
+about-addressbook-column-label-addrbook2 =
+ .label = Sổ địa chỉ
+about-addressbook-cards-context-write =
+ .label = Viết
+about-addressbook-confirm-delete-mixed-title = Xóa liên hệ và danh sách
+# Variables:
+# $count (Number) - The number of contacts and lists to be deleted. Always greater than 1.
+about-addressbook-confirm-delete-mixed = Bạn có chắc chắn muốn xóa { $count } liên hệ và danh sách này không?
+# Variables:
+# $count (Number) - The number of lists to be deleted.
+about-addressbook-confirm-delete-lists-title =
+ { $count ->
+ *[other] Xóa các danh sách
+ }
+# Variables:
+# $count (Number) - The number of lists to be deleted.
+# $name (String) - The name of the list to be deleted, if $count is 1.
+about-addressbook-confirm-delete-lists =
+ { $count ->
+ *[other] Bạn có chắc chắn muốn xóa { $count } danh sách này không?
+ }
+# Variables:
+# $count (Number) - The number of contacts to be removed.
+about-addressbook-confirm-remove-contacts-title =
+ { $count ->
+ *[other] Xóa liên hệ
+ }
+# Variables:
+# $count (Number) - The number of contacts to be removed.
+# $name (String) - The name of the contact to be removed, if $count is 1.
+# $list (String) - The name of the list that contacts will be removed from.
+about-addressbook-confirm-remove-contacts =
+ { $count ->
+ *[other] Bạn có chắc chắn muốn xóa { $count } địa chỉ liên hệ này khỏi { $list } không?
+ }
+# Variables:
+# $name (String) - The name of the contact to be removed.
+# $list (String) - The name of the list that contacts will be removed from.
+about-addressbook-confirm-remove-contacts-single = Bạn có chắc chắn muốn xóa { $name } khỏi { $list } không?
+# Variables:
+# $count (Number) - The number of contacts to be removed.
+# $list (String) - The name of the list that contacts will be removed from.
+about-addressbook-confirm-remove-contacts-multi = Bạn có chắc chắn muốn xóa { $count } địa chỉ liên hệ này khỏi { $list } không?
+# Variables:
+# $count (Number) - The number of contacts to be deleted.
+about-addressbook-confirm-delete-contacts-title =
+ { $count ->
+ *[other] Xóa liên hệ
+ }
+# Variables:
+# $count (Number) - The number of contacts to be deleted.
+# $name (String) - The name of the contact to be deleted, if $count is 1.
+about-addressbook-confirm-delete-contacts =
+ { $count ->
+ *[other] Bạn có chắc chắn muốn xóa { $count } địa chỉ liên hệ này không?
+ }
+# Variables:
+# $name (String) - The name of the contact to be deleted.
+about-addressbook-confirm-delete-contacts-single = Bạn có chắc là mình muốn xóa liên hệ { $name }?
+# Variables:
+# $count (Number) - The number of contacts to be deleted.
+about-addressbook-confirm-delete-contacts-multi = Bạn có chắc chắn muốn xóa { $count } liên hệ này không?
+
+## Card list placeholder
+## Shown when there are no cards in the list
+
+about-addressbook-placeholder-empty-book = Không có liên hệ có sẵn
+about-addressbook-placeholder-new-contact = Liên hệ mới
+about-addressbook-placeholder-search-only = Sổ địa chỉ này chỉ hiển thị liên hệ sau khi tìm kiếm
+about-addressbook-placeholder-searching = Đang tìm kiếm…
+about-addressbook-placeholder-no-search-results = Không tìm thấy liên hệ
+
+## Details
+
+# Variables:
+# $count (Number) - The number of selected items (will never be fewer than two)
+about-addressbook-selection-mixed-header = { $count } liên hệ và danh sách đã chọn
+# Variables:
+# $count (Number) - The number of selected contacts
+about-addressbook-selection-contacts-header = { $count } liên hệ đã chọn
+# Variables:
+# $count (Number) - The number of selected lists
+about-addressbook-selection-lists-header = { $count } danh sách đã chọn
+# Variables:
+# $count (Number) - The number of selected items (will never be fewer than 2).
+about-addressbook-selection-mixed-header2 = { $count } mục trong sổ địa chỉ đã chọn
+# Variables:
+# $count (Number) - The number of selected contacts
+about-addressbook-selection-contacts-header2 = { $count } liên hệ đã chọn
+# Variables:
+# $count (Number) - The number of selected lists
+about-addressbook-selection-lists-header2 = { $count } danh sách đã chọn
+about-addressbook-details-edit-photo =
+ .title = Chỉnh sửa ảnh liên hệ
+about-addressbook-new-contact-header = Liên hệ mới
+about-addressbook-prefer-display-name = Ưu tiên tên hiển thị hơn header thư
+about-addressbook-write-action-button = Viết thư
+about-addressbook-event-action-button = Sự kiện
+about-addressbook-search-action-button = Tìm kiếm
+about-addressbook-new-list-action-button = Danh sách mới
+about-addressbook-begin-edit-contact-button = Chỉnh sửa
+about-addressbook-delete-edit-contact-button = Xóa
+about-addressbook-cancel-edit-contact-button = Hủy bỏ
+about-addressbook-save-edit-contact-button = Lưu
+about-addressbook-add-contact-to = Thêm vào:
+about-addressbook-details-email-addresses-header = Địa chỉ e-mail
+about-addressbook-details-phone-numbers-header = Số điện thoại
+about-addressbook-details-addresses-header = Địa chỉ
+about-addressbook-details-notes-header = Ghi chú
+about-addressbook-details-impp-header = Thư nhanh
+about-addressbook-details-websites-header = Trang web
+about-addressbook-details-other-info-header = Thông tin khác
+about-addressbook-entry-type-work = Công việc
+about-addressbook-entry-type-home = Nhà riêng
+about-addressbook-entry-type-fax = Fax
+# Or "Mobile"
+about-addressbook-entry-type-cell = Di động
+about-addressbook-entry-type-pager = Máy nhắn tin
+about-addressbook-entry-name-birthday = Ngày sinh
+about-addressbook-entry-name-anniversary = Ngày kỷ niệm
+about-addressbook-entry-name-title = Chức vụ
+about-addressbook-entry-name-role = Vai trò
+about-addressbook-entry-name-organization = Tổ chức
+about-addressbook-entry-name-website = Trang web
+about-addressbook-entry-name-time-zone = Múi giờ
+about-addressbook-entry-name-custom1 = Tùy chỉnh 1
+about-addressbook-entry-name-custom2 = Tùy chỉnh 2
+about-addressbook-entry-name-custom3 = Tùy chỉnh 3
+about-addressbook-entry-name-custom4 = Tùy chỉnh 4
+about-addressbook-unsaved-changes-prompt-title = Các thay đổi chưa được lưu
+about-addressbook-unsaved-changes-prompt = Bạn có muốn lưu các thay đổi của mình trước khi rời khỏi chế độ chỉnh sửa không?
+
+# Photo dialog
+
+about-addressbook-photo-drop-target = Thả hoặc dán ảnh vào đây hoặc nhấp để chọn tập tin.
+about-addressbook-photo-drop-loading = Đang tải ảnh…
+about-addressbook-photo-drop-error = Không tải được ảnh.
+about-addressbook-photo-filepicker-title = Chọn một tập tin hình ảnh
+about-addressbook-photo-discard = Hủy ảnh hiện có
+about-addressbook-photo-cancel = Hủy bỏ
+about-addressbook-photo-save = Lưu
+
+# Keyboard shortcuts
+
+about-addressbook-new-contact-key = N
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/addressbook/fieldMapImport.ftl b/thunderbird-l10n/vi/localization/vi/messenger/addressbook/fieldMapImport.ftl
new file mode 100644
index 0000000000..5c173e5351
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/addressbook/fieldMapImport.ftl
@@ -0,0 +1,12 @@
+# 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/.
+
+import-ab-csv-dialog-title = Nhập sổ địa chỉ từ tập tin văn bản
+
+# $recordNumber (Number) - The current record number of the preview data.
+import-ab-csv-preview-record-number = Xem trước quá trình nhập dữ liệu cho bản ghi { $recordNumber }
+
+import-ab-csv-dialog =
+ .buttonlabelaccept = Nhập
+ .buttonaccesskeyaccept = I
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/addressbook/vcard.ftl b/thunderbird-l10n/vi/localization/vi/messenger/addressbook/vcard.ftl
new file mode 100644
index 0000000000..59d35f4c2f
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/addressbook/vcard.ftl
@@ -0,0 +1,138 @@
+# 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/.
+
+
+# Display Name
+
+vcard-displayname = Tên hiển thị
+vcard-displayname-placeholder =
+ .placeholder = { vcard-displayname }
+
+# Type selection
+
+vcard-entry-type-label = Kiểu
+vcard-entry-type-home = Nhà riêng
+vcard-entry-type-work = Công việc
+vcard-entry-type-none = Không có
+vcard-entry-type-custom = Tùy chỉnh
+
+# N vCard field
+
+vcard-name-header = Tên
+vcard-n-prefix = Tiền tố
+vcard-n-add-prefix =
+ .title = Thêm tiền tố
+vcard-n-firstname = Tên
+vcard-n-add-firstname =
+ .title = Thêm tên
+vcard-n-middlename = Tên đệm
+vcard-n-add-middlename =
+ .title = Thêm tên đệm
+vcard-n-lastname = Họ
+vcard-n-add-lastname =
+ .title = Thêm họ
+vcard-n-suffix = Hậu tố
+vcard-n-add-suffix =
+ .title = Thêm hậu tố
+
+# Nickname
+
+vcard-nickname = Biệt danh
+
+# Email vCard field
+
+vcard-email-header = Địa chỉ email
+vcard-email-add = Thêm địa chỉ email
+vcard-email-label = Địa chỉ email
+vcard-primary-email-label = Mặc định
+
+# URL vCard field
+
+vcard-url-header = Trang web
+vcard-url-add = Thêm trang web
+vcard-url-label = Trang web
+
+# Tel vCard field
+
+vcard-tel-header = Số điện thoại
+vcard-tel-add = Thêm số điện thoại
+vcard-tel-label = Số điện thoại
+# Or "Mobile"
+vcard-entry-type-cell = Di động
+vcard-entry-type-fax = Fax
+vcard-entry-type-pager = Máy nhắn tin
+
+# TZ vCard field
+
+vcard-tz-header = Múi giờ
+vcard-tz-add = Thêm múi giờ
+
+# IMPP vCard field
+
+vcard-impp2-header = Thư nhanh
+vcard-impp-add = Thêm tài khoản trò chuyện
+vcard-impp-label = Tài khoản trò chuyện
+vcard-impp-select = Giao thức
+vcard-impp-option-other = Khác
+vcard-impp-input-label = URI
+vcard-impp-input-title = URI cho thư nhanh
+
+# BDAY and ANNIVERSARY vCard field
+
+vcard-bday-anniversary-header = Ngày đặc biệt
+vcard-bday-anniversary-add = Thêm ngày đặc biệt
+vcard-bday-label = Ngày sinh
+vcard-anniversary-label = Ngày kỷ niệm
+vcard-date-day = Ngày
+vcard-date-month = Tháng
+vcard-date-year = Năm
+
+# ADR vCard field
+
+vcard-adr-header = Địa chỉ
+vcard-adr-add = Thêm địa chỉ
+vcard-adr-label = Địa chỉ
+vcard-adr-delivery-label = Nhãn giao hàng
+vcard-adr-street = Địa chỉ đường phố
+# Or "Locality"
+vcard-adr-locality = Thành phố
+# Or "Region"
+vcard-adr-region = Bang/Tỉnh
+# The term "ZIP code" only applies in USA. Most locales should use "Postal code" only.
+vcard-adr-code = ZIP/Mã bưu chính
+vcard-adr-country = Quốc gia
+
+# NOTE vCard field
+
+vcard-note-header = Ghi chú
+vcard-note-add = Thêm ghi chú
+
+# TITLE, ROLE and ORGANIZATION vCard fields
+
+vcard-org-header = Thuộc tính tổ chức
+vcard-org-add = Thêm thuộc tính tổ chức
+vcard-org-title = Chức vụ
+vcard-org-title-input =
+ .title = Chức vụ hoặc công việc
+ .placeholder = Chức vụ
+vcard-org-role = Vai trò
+vcard-org-role-input =
+ .title = Chức năng hoặc vai trò trong một tình huống cụ thể
+ .placeholder = Vai trò trong một dự án
+vcard-org-org = Tổ chức
+vcard-org-org-input =
+ .title = Tên tổ chức
+ .placeholder = Tên công ty
+vcard-org-org-unit = Bộ phận
+vcard-org-org-unit-input =
+ .title = Tên đơn vị của tổ chức
+ .placeholder = Phòng
+
+# Custom properties
+
+vcard-custom-header = Tùy chỉnh thuộc tính
+vcard-custom-add = Thêm thuộc tính tùy chỉnh
+vcard-remove-button-title =
+ .title = Xóa
+vcard-remove-button = Xóa
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/appmenu.ftl b/thunderbird-l10n/vi/localization/vi/messenger/appmenu.ftl
new file mode 100644
index 0000000000..d97b158792
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/appmenu.ftl
@@ -0,0 +1,210 @@
+# 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/.
+
+
+## Sync
+
+appmenu-sync-panel-title =
+ .title = Đồng bộ hóa
+appmenu-signin-panel =
+ .label = Đăng nhập để đồng bộ hóa
+ .accesskey = i
+appmenu-sync-sync =
+ .value = Đồng bộ hóa tài khoản
+ .accesskey = A
+appmenu-sync-manage =
+ .value = Quản lý tài khoản
+ .accesskey = M
+appmenu-sync-account =
+ .value = example@example.com
+appmenu-sync-now =
+ .label = Đồng bộ ngay
+ .accesskey = N
+appmenu-sync-settings =
+ .label = Cài đặt đồng bộ hóa
+ .accesskey = S
+appmenu-sync-sign-out =
+ .label = Đăng xuất…
+ .accesskey = O
+
+## New Account
+
+appmenu-new-account-panel-title =
+ .title = Tài khoản mới
+appmenu-new-account-panel =
+ .label = Tài khoản mới
+ .accesskey = N
+appmenu-create-new-mail-account =
+ .label = Tạo một email mới
+ .accesskey = G
+appmenu-new-mail-account =
+ .label = Email hiện có
+ .accesskey = E
+appmenu-new-calendar =
+ .label = Lịch
+ .accesskey = c
+appmenu-new-chat-account =
+ .label = Trò chuyện
+ .accesskey = h
+appmenu-new-feed =
+ .label = Nguồn cấp
+ .accesskey = F
+appmenu-new-newsgroup =
+ .label = Nhóm tin
+ .accesskey = N
+
+## New Account / Address Book
+
+appmenu-newab-panel-title =
+ .title = Sổ địa chỉ mới
+appmenu-newab-panel =
+ .label = Sổ địa chỉ mới
+ .accesskey = a
+appmenu-new-addressbook =
+ .label = Sổ địa chỉ nội bộ
+ .accesskey = a
+appmenu-new-carddav =
+ .label = Sổ địa chỉ CardDav…
+ .accesskey = C
+appmenu-new-ldap =
+ .label = Sổ địa chỉ LDAP
+ .accesskey = L
+
+## Create
+
+appmenu-create-panel-title =
+ .title = Tạo
+appmenu-create-panel =
+ .label = Tạo
+ .accesskey = C
+appmenu-create-message =
+ .label = Thư
+ .accesskey = M
+appmenu-create-event =
+ .label = Sự kiện
+ .accesskey = E
+appmenu-create-task =
+ .label = Nhiệm vụ
+ .accesskey = T
+appmenu-create-contact =
+ .label = Liên hệ
+ .accesskey = C
+
+## Open
+
+appmenu-open-file-panel =
+ .label = Mở từ tập tin
+ .accesskey = O
+appmenu-open-file-panel-title =
+ .title = Mở từ tập tin
+appmenu-open-message =
+ .label = Thư…
+ .accesskey = M
+appmenu-open-calendar =
+ .label = Lịch…
+ .accesskey = C
+
+## View / Layout
+
+appmenu-view-panel-title =
+ .title = Xem
+appmenu-view-panel =
+ .label = Xem
+ .accesskey = V
+appmenuitem-toggle-thread-pane-header =
+ .label = Header danh sách thư
+appmenu-font-size-value = Cỡ chữ
+appmenu-mail-uidensity-value = Mật độ
+appmenu-uidensity-compact =
+ .tooltiptext = Thu gọn
+appmenu-uidensity-default =
+ .tooltiptext = Mặc định
+appmenu-uidensity-relaxed =
+ .tooltiptext = Thoải mái
+appmenuitem-font-size-enlarge =
+ .tooltiptext = Tăng cỡ chữ
+appmenuitem-font-size-reduce =
+ .tooltiptext = Giảm cỡ chữ
+# Variables:
+# $size (String) - The current font size.
+appmenuitem-font-size-reset =
+ .label = { $size }px
+ .tooltiptext = Đặt lại cỡ chữ
+
+## Tools
+
+appmenu-tools-panel-title =
+ .title = Công cụ
+appmenu-tools-panel =
+ .label = Công cụ
+ .accesskey = T
+appmenu-tools-import =
+ .label = Nhập
+ .accesskey = I
+appmenu-tools-export =
+ .label = Xuất
+ .accesskey = E
+appmenu-tools-message-search =
+ .label = Tìm kiếm thư
+ .accesskey = S
+appmenu-tools-message-filters =
+ .label = Bộ lọc thư
+ .accesskey = F
+appmenu-tools-download-manager =
+ .label = Trình quản lý tải xuống
+ .accesskey = D
+appmenu-tools-activity-manager =
+ .label = Trình quản lý hoạt động
+ .accesskey = A
+appmenu-tools-dev-tools =
+ .label = Công cụ phát triển
+ .accesskey = T
+
+## Help
+
+appmenu-help-panel-title =
+ .title = Trợ giúp
+appmenu-help-get-help =
+ .label = Nhận trợ giúp
+ .accesskey = H
+appmenu-help-explore-features =
+ .label = Khám phá tính năng
+ .accesskey = F
+appmenu-help-shortcuts =
+ .label = Phím tắt bàn phím
+ .accesskey = K
+appmenu-help-get-involved =
+ .label = Tham gia
+ .accesskey = G
+appmenu-help-donation =
+ .label = Quyên góp tài chính
+ .accesskey = D
+appmenu-help-share-feedback =
+ .label = Chia sẻ ý tưởng và phản hồi
+ .accesskey = S
+appmenu-help-enter-troubleshoot-mode2 =
+ .label = Chế độ xử lý sự cố…
+ .accesskey = T
+appmenu-help-exit-troubleshoot-mode2 =
+ .label = Tắt chế độ xử lý sự cố
+ .accesskey = D
+appmenu-help-troubleshooting-info =
+ .label = Thông tin xử lý sự cố
+ .accesskey = I
+appmenu-help-about-product =
+ .label = Về { -brand-short-name }
+ .accesskey = A
+
+## Application Update
+
+appmenuitem-banner-update-downloading =
+ .label = Đang tải xuống bản cập nhật { -brand-shorter-name }
+appmenuitem-banner-update-available =
+ .label = Đã có bản cập nhật — tải xuống ngay
+appmenuitem-banner-update-manual =
+ .label = Đã có bản cập nhật — tải xuống ngay
+appmenuitem-banner-update-unsupported =
+ .label = Không thể cập nhật — hệ thống không tương thích
+appmenuitem-banner-update-restart =
+ .label = Đã có bản cập nhật — khởi động lại ngay
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/chat-verifySession.ftl b/thunderbird-l10n/vi/localization/vi/messenger/chat-verifySession.ftl
new file mode 100644
index 0000000000..55d0c13a0e
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/chat-verifySession.ftl
@@ -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/.
+
+verify-window-title = Xác minh danh tính
+
+# Variables:
+# $subject (String) - a human readable identifier for the other side of the verification flow.
+verify-window-subject-title = Xác minh danh tính của { $subject }
+
+verify-dialog =
+ .buttonlabelaccept = Phù hợp
+ .buttonaccesskeyaccept = M
+ .buttonlabelextra2 = Không phù hợp
+ .buttonaccesskeyextra2 = D
+
+challenge-label = Xác minh chuỗi được hiển thị khớp với màn hình ở đầu bên kia.
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/chat.ftl b/thunderbird-l10n/vi/localization/vi/messenger/chat.ftl
new file mode 100644
index 0000000000..322a286444
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/chat.ftl
@@ -0,0 +1,47 @@
+# 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/.
+
+chat-joining-chat-icon2 =
+ .alt = Đang tham gia trò chuyện
+
+chat-left-chat-icon2 =
+ .alt = Đã rời khỏi cuộc trò chuyện
+
+chat-participant-owner-role-icon2 =
+ .alt = Chủ sở hữu
+
+chat-participant-administrator-role-icon2 =
+ .alt = Quản trị viên
+
+chat-participant-moderator-role-icon2 =
+ .alt = Người xét duyệt
+
+chat-participant-voiced-role-icon2 =
+ .alt = Người tham gia có thể gửi tin nhắn
+
+chat-verify-identity =
+ .label = Xác minh danh tính
+ .accesskey = I
+
+chat-identity-verified =
+ .label = Đã xác minh danh tính
+
+chat-buddy-identity-status = Mã hóa tin cậy
+chat-buddy-identity-status-verified = Đã xác minh
+chat-buddy-identity-status-unverified = Chưa xác minh
+
+## Conversation invite notification box
+
+# This string appears in a notification bar at the top of the Contacts window
+# when someone invited the user to a multi user chat conversation, to request
+# the user to confirm they want to join the chat.
+# Variables:
+# $conversation (String) - Name of the conversation the user is invited to.
+chat-conv-invite-label = Bạn đã được mời vào cuộc trò chuyện trong { $conversation }
+chat-conv-invite-accept =
+ .label = Chấp nhận
+ .accesskey = A
+chat-conv-invite-deny =
+ .label = Từ chối
+ .accesskey = R
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/vi/localization/vi/messenger/compactFoldersDialog.ftl
new file mode 100644
index 0000000000..dbfcc99a53
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/compactFoldersDialog.ftl
@@ -0,0 +1,20 @@
+# 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/.
+
+compact-dialog-window-title =
+ .title = Làm gọn thư mục
+compact-folders-dialog-title = Làm gọn thư mục
+compact-dialog =
+ .buttonlabelaccept = Làm gọn ngay
+ .buttonaccesskeyaccept = C
+ .buttonlabelcancel = Nhắc tôi sau
+ .buttonaccesskeycancel = R
+ .buttonlabelextra1 = Tìm hiểu thêm…
+ .buttonaccesskeyextra1 = L
+# Variables:
+# $data (String): The amount of space to be freed, formatted byte, MB, GB, etc., based on the size.
+compact-dialog-message = { -brand-short-name } cần thực hiện bảo trì tập tin thường xuyên để cải thiện hiệu suất của các thư mục thư của bạn. Điều này sẽ phục hồi { $data } dung lượng trống mà không cần thay đổi thư của bạn. Để { -brand-short-name } thực hiện việc này tự động trong tương lai mà không cần hỏi, hãy chọn hộp bên dưới trước khi chọn ‘{ compact-dialog.buttonlabelaccept }’.
+compact-dialog-never-ask-checkbox =
+ .label = Tự động làm gọn các thư mục trong tương lai
+ .accesskey = a
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/exportDialog.ftl b/thunderbird-l10n/vi/localization/vi/messenger/exportDialog.ftl
new file mode 100644
index 0000000000..feea9932f0
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/exportDialog.ftl
@@ -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/.
+
+export-dialog-brand-name = { -brand-product-name }
+
+export-dialog-title = Xuất
+
+export-dialog =
+ .buttonlabelaccept = Tiếp
+
+export-dialog-button-finish = Hoàn thành
+
+export-dialog-file-picker = Xuất sang tập tin zip
+
+export-dialog-description1 = Xuất tài khoản email, tin nhắn email, sổ địa chỉ, cài đặt sang tập tin zip.
+
+export-dialog-desc2 = Khi cần, bạn có thể nhập tập tin zip để khôi phục hồ sơ của mình.
+
+export-dialog-exporting = Đang xuất…
+
+export-dialog-exported = Đã xuất!
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/extensionPermissions.ftl b/thunderbird-l10n/vi/localization/vi/messenger/extensionPermissions.ftl
new file mode 100644
index 0000000000..1b86c14fee
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/extensionPermissions.ftl
@@ -0,0 +1,27 @@
+# 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/.
+
+
+## Extension permission description keys are derived from permission names.
+## Permissions for which the message has been changed and the key updated
+## must have a corresponding entry in the `PERMISSION_L10N_ID_OVERRIDES` map.
+
+webext-perms-description-accountsFolders = Tạo, đổi tên hoặc xóa các thư mục tài khoản thư của bạn
+webext-perms-description-accountsIdentities = Tạo, sửa đổi hoặc xóa danh tính tài khoản thư của bạn
+webext-perms-description-accountsRead = Xem tài khoản thư của bạn, danh tính của họ và thư mục của họ
+webext-perms-description-addressBooks = Đọc và chỉnh sửa các sổ địa chỉ và danh bạ của bạn
+webext-perms-description-compose = Đọc và sửa đổi tin nhắn email của bạn khi bạn soạn và gửi chúng
+webext-perms-description-compose-send = Gửi tin nhắn email đã soạn thay mặt bạn
+webext-perms-description-compose-save = Lưu các email đã soạn dưới dạng bản nháp hoặc mẫu
+webext-perms-description-experiment = Có quyền truy cập đầy đủ, không hạn chế vào { -brand-short-name } và máy tính của bạn
+webext-perms-description-messagesImport = Nhập thư vào Thunderbird
+webext-perms-description-messagesModify = Đọc và sửa đổi thông báo email của bạn khi chúng được hiển thị cho bạn
+webext-perms-description-messagesMove = Sao chép hoặc di chuyển các thư trong email của bạn (bao gồm cả việc chuyển chúng vào thùng rác)
+webext-perms-description-messagesDelete = Xóa vĩnh viễn các thư trong email của bạn
+webext-perms-description-messagesRead = Đọc email của bạn và đánh dấu hoặc gắn nhãn chúng
+webext-perms-description-messagesRead2 = Đọc email của bạn
+webext-perms-description-messagesUpdate = Thay đổi thuộc tính và nhãn của email của bạn
+webext-perms-description-messagesTags = Tạo, sửa đổi và xóa các nhãn thư
+webext-perms-description-messagesTagsList = Liệt kê các nhãn thư
+webext-perms-description-sensitiveDataUpload = Chuyển dữ liệu nhạy cảm của người dùng (nếu quyền truy cập đã được cấp) sang máy chủ từ xa để xử lý thêm
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/extensions/popup.ftl b/thunderbird-l10n/vi/localization/vi/messenger/extensions/popup.ftl
new file mode 100644
index 0000000000..cf521cd8b8
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/extensions/popup.ftl
@@ -0,0 +1,14 @@
+# 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/.
+
+close-shortcut =
+ .key = w
+# Variables:
+# $title (String): the title of the popup window
+extension-popup-title =
+ { PLATFORM() ->
+ [macos] { $title }
+ *[other] { $title } - { -brand-full-name }
+ }
+extension-popup-default-title = { -brand-full-name }
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/extensionsUI.ftl b/thunderbird-l10n/vi/localization/vi/messenger/extensionsUI.ftl
new file mode 100644
index 0000000000..0426606509
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/extensionsUI.ftl
@@ -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/.
+
+webext-experiment-warning = Những tiện ích độc hại có thể lấy cắp thông tin cá nhân hoặc làm tổn hại đến máy tính của bạn. Chỉ cài đặt tiện ích này nếu bạn tin tưởng nguồn cài đặt.
+webext-perms-learn-more = Tìm hiểu thêm
+# Variables:
+# $addonName (String): localized named of the extension that was just installed.
+addon-post-install-message = Đã thêm { $addonName }.
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/firefoxAccounts.ftl b/thunderbird-l10n/vi/localization/vi/messenger/firefoxAccounts.ftl
new file mode 100644
index 0000000000..70d8642997
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/firefoxAccounts.ftl
@@ -0,0 +1,32 @@
+# 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/.
+
+# “Account” can be localized, “Firefox” must be treated as a brand,
+# and kept in English.
+-fxaccount-brand-name =
+ { $capitalization ->
+ [sentence] Tài khoản Firefox
+ *[title] Tài khoản Firefox
+ }
+
+## These strings are shown in a desktop notification after the user requests we resend a verification email.
+
+fxa-verification-sent-title = Đã gửi xác minh
+# Variables:
+# $userEmail (String) - Email address of user's Firefox Account.
+fxa-verification-sent-body = Liên kết xác minh đã được gửi tới { $userEmail }.
+fxa-verification-not-sent-title = Không thể gửi xác minh
+fxa-verification-not-sent-body = Chúng tôi không thể gửi thư xác thực vào thời điểm này, xin thử lại sau.
+
+## These strings are shown in a confirmation dialog when the user chooses to sign out.
+
+fxa-signout-dialog-title = Đăng xuất khỏi { -fxaccount-brand-name(capitalization: "sentence") }?
+fxa-signout-dialog-body = Dữ liệu đã đồng bộ hóa sẽ vẫn còn trong tài khoản của bạn.
+fxa-signout-dialog-button = Đăng xuất
+
+## These strings are shown in a confirmation dialog when the user chooses to stop syncing.
+
+sync-disconnect-dialog-title = Ngắt kết nối?
+sync-disconnect-dialog-body = { -brand-product-name } sẽ ngừng đồng bộ hóa nhưng sẽ không xóa bất kỳ dữ liệu nào của bạn trên thiết bị này.
+sync-disconnect-dialog-button = Ngắt kết nối
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/flatpak.ftl b/thunderbird-l10n/vi/localization/vi/messenger/flatpak.ftl
new file mode 100644
index 0000000000..b3f707be02
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/flatpak.ftl
@@ -0,0 +1,24 @@
+# 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/.
+
+
+### These messages are used by the Thunderbird Linux Flatpak "desktop" file.
+### An end user will see them associated with the application launcher icon
+
+# This is the label on the icon
+flatpak-desktop-name = { -brand-short-name }
+# Appears as a tooltip when hovering over application menu entry
+flatpak-desktop-comment = Gửi và nhận thư với { -brand-product-name }
+# A generic description of Thunderbird
+flatpak-desktop-generic-name = Ứng dụng thư
+
+## Actions Section
+## These are alternative ways of starting Thunderbird, such as open the compose
+## window to write a message. Visible in a context menu after right clicking a
+## Thunderbird taskbar icon, possibly other places depending on the environment.
+
+flatpak-desktop-action-compose = Viết thư mới
+flatpak-desktop-action-addressbook = Mở sổ địa chỉ
+flatpak-desktop-action-calendar = Mở lịch
+flatpak-desktop-action-keymanager = Mở trình quản lý khóa OpenPGP
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/folderprops.ftl b/thunderbird-l10n/vi/localization/vi/messenger/folderprops.ftl
new file mode 100644
index 0000000000..916238dbcb
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/folderprops.ftl
@@ -0,0 +1,10 @@
+# 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/.
+
+
+## Quota tab
+
+# Variables:
+# $percent (Number) - Usage percentage of the assigned IMAP quota.
+quota-percent-used = { $percent }% đã dùng
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/importDialog.ftl b/thunderbird-l10n/vi/localization/vi/messenger/importDialog.ftl
new file mode 100644
index 0000000000..85ea27154a
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/importDialog.ftl
@@ -0,0 +1,30 @@
+# 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/.
+
+# Short name of the import module
+thunderbird-import-name = Thunderbird
+
+# Description of the import module
+thunderbird-import-description = Nhập thư từ thư mục hồ sơ Thunderbird.
+
+import-from-thunderbird-zip =
+ .label = Thunderbird (sao lưu hồ sơ đã xuất; tập tin zip nhỏ hơn 2GB)
+ .accesskey = Z
+
+import-from-thunderbird-dir =
+ .label = Thunderbird (thư mục hồ sơ)
+ .accesskey = T
+
+import-select-profile-zip = Chọn một thư mục hồ sơ đã nén
+
+import-select-profile-dir = Chọn một thư mục hồ sơ
+
+zip-file-too-big-title = Tập tin zip quá lớn
+
+zip-file-too-big-message = Tập tin zip đã chọn lớn hơn 2GB. Vui lòng giải nén nó trước, sau đó nhập từ thư mục đã giải nén.
+
+wizardpage-failed =
+ .label = Nhập không thành công
+
+wizardpage-failed-message = Nhập không thành công đột ngột, thông tin thêm có thể xem trong bảng điều khiển.
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/mailWidgets.ftl b/thunderbird-l10n/vi/localization/vi/messenger/mailWidgets.ftl
new file mode 100644
index 0000000000..8ea9a66550
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/mailWidgets.ftl
@@ -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/.
+
+apply-current-view-to-menu =
+ .label = Áp dụng chế độ xem hiện tại cho…
+
+threadpane-apply-changes-prompt-title = Áp dụng các thay đổi?
+# Variables:
+# $name (String): The name of the folder to apply to.
+threadpane-apply-changes-prompt-no-children-text = Áp dụng chế độ xem của thư mục hiện tại cho { $name }?
+# Variables:
+# $name (String): The name of the folder to apply to.
+threadpane-apply-changes-prompt-with-children-text = Áp dụng chế độ xem của thư mục hiện tại cho { $name } và các thư mục con của nó?
+
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/menubar.ftl b/thunderbird-l10n/vi/localization/vi/messenger/menubar.ftl
new file mode 100644
index 0000000000..3aeab16cb2
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/menubar.ftl
@@ -0,0 +1,144 @@
+# 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/.
+
+toolbar-context-menu-menu-bar =
+ .toolbarname = Thanh menu
+ .accesskey = M
+
+## Tools Menu
+
+menu-tools-settings =
+ .label = Cài đặt
+ .accesskey = e
+menu-addons-and-themes =
+ .label = Tiện ích mở rộng và chủ đề
+ .accesskey = A
+
+## Help Menu
+
+menu-help-help-title =
+ .label = Trợ giúp
+ .accesskey = H
+menu-help-get-help =
+ .label = Nhận trợ giúp
+ .accesskey = H
+menu-help-explore-features =
+ .label = Khám phá tính năng
+ .accesskey = F
+menu-help-shortcuts =
+ .label = Phím tắt bàn phím
+ .accesskey = K
+menu-help-get-involved =
+ .label = Tham gia
+ .accesskey = G
+menu-help-donation =
+ .label = Quyên góp tài chính
+ .accesskey = D
+menu-help-share-feedback =
+ .label = Chia sẻ ý tưởng và phản hồi
+ .accesskey = S
+menu-help-enter-troubleshoot-mode =
+ .label = Chế độ xử lý sự cố…
+ .accesskey = T
+menu-help-exit-troubleshoot-mode =
+ .label = Tắt chế độ xử lý sự cố
+ .accesskey = D
+menu-help-more-troubleshooting-info =
+ .label = Thông tin xử lý sự cố khác
+ .accesskey = M
+menu-help-troubleshooting-info =
+ .label = Thông tin xử lý sự cố
+ .accesskey = I
+menu-help-about-product =
+ .label = Về { -brand-short-name }
+ .accesskey = A
+# These menu-quit strings are only used on Windows and Linux.
+menu-quit =
+ .label =
+ { PLATFORM() ->
+ [windows] Thoát
+ *[other] Thoát
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] x
+ *[other] Q
+ }
+# This menu-quit-mac string is only used on macOS.
+menu-quit-mac =
+ .label = Thoát { -brand-shorter-name }
+quit-app-shortcut =
+ .key = Q
+
+## Mail Toolbar
+
+toolbar-junk-button =
+ .label = Thư rác
+ .tooltiptext = Đánh dấu các thư đã chọn là thư rác
+toolbar-not-junk-button =
+ .label = Không phải thư rác
+ .tooltiptext = Đánh dấu các thư đã chọn là không phải thư rác
+toolbar-delete-button =
+ .label = Xóa
+ .tooltiptext = Xóa thư hoặc thư mục đã chọn
+toolbar-undelete-button =
+ .label = Hoàn tác xóa
+ .tooltiptext = Phục hồi các thư đã chọn
+
+## View
+
+menu-view-repair-text-encoding =
+ .label = Sửa chữa mã hóa văn bản
+ .accesskey = c
+
+## View / Folders
+
+menu-view-folders-toggle-header =
+ .label = Header ngăn thư mục
+ .accesskey = F
+
+## View / Layout
+
+menu-view-toggle-thread-pane-header =
+ .label = Header danh sách thư
+ .accesskey = H
+menu-font-size-label =
+ .label = Cỡ chữ
+ .accesskey = o
+menuitem-font-size-enlarge =
+ .label = Tăng cỡ chữ
+ .accesskey = I
+menuitem-font-size-reduce =
+ .label = Giảm cỡ chữ
+ .accesskey = D
+menuitem-font-size-reset =
+ .label = Đặt lại cỡ chữ
+ .accesskey = R
+mail-uidensity-label =
+ .label = Mật độ
+ .accesskey = D
+mail-uidensity-compact =
+ .label = Thu gọn
+ .accesskey = C
+mail-uidensity-normal =
+ .label = Bình thường
+ .accesskey = N
+mail-uidensity-touch =
+ .label = Chạm
+ .accesskey = T
+mail-uidensity-default =
+ .label = Mặc định
+ .accesskey = D
+mail-uidensity-relaxed =
+ .label = Thoải mái
+ .accesskey = R
+menu-spaces-toolbar-button =
+ .label = Thanh công cụ Spaces
+ .accesskey = S
+
+## File
+
+file-new-newsgroup-account =
+ .label = Tài khoản nhóm tin…
+ .accesskey = N
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/messageheader/headerFields.ftl b/thunderbird-l10n/vi/localization/vi/messenger/messageheader/headerFields.ftl
new file mode 100644
index 0000000000..83abce36f9
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/messageheader/headerFields.ftl
@@ -0,0 +1,67 @@
+# 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/.
+
+
+## Header lists
+
+message-header-to-list-name = Đến
+
+message-header-from-list-name = Từ
+
+message-header-sender-list-name = Người gửi
+
+message-header-reply-to-list-name = Trả lời đến
+
+message-header-cc-list-name = Cc
+
+message-header-bcc-list-name = Bcc
+
+message-header-newsgroups-list-name = Nhóm tin
+
+message-header-tags-list-name = Nhãn
+
+## Other message headers.
+## The field-separator is for screen readers to separate the field name from the field value.
+
+message-header-author-field = Tác giả<span data-l10n-name="field-separator">:</span>
+
+message-header-organization-field = Tổ chức<span data-l10n-name="field-separator">:</span>
+
+message-header-subject-field = Chủ đề<span data-l10n-name="field-separator">:</span>
+
+
+message-header-date-field = Ngày<span data-l10n-name="field-separator">:</span>
+
+message-header-user-agent-field = Chuỗi tác nhân người dùng<span data-l10n-name="field-separator">:</span>
+
+message-header-message-id-field = ID thư<span data-l10n-name="field-separator">:</span>
+
+message-header-in-reply-to-field = Trả lời đến<span data-l10n-name="field-separator">:</span>
+
+message-header-website-field = Trang web<span data-l10n-name="field-separator">:</span>
+
+# An additional email header field that the user has chosen to display. Unlike
+# the other headers, the name of this header is not expected to be localised
+# because it is generated from the raw field name found in the email header.
+# $fieldName (String) - The field name.
+message-header-custom-field = { $fieldName }<span data-l10n-name="field-separator">:</span>
+
+##
+
+message-header-address-in-address-book-icon2 =
+ .alt = Trong sổ địa chỉ
+
+message-header-address-not-in-address-book-icon2 =
+ .alt = Không có trong sổ địa chỉ
+
+message-header-address-not-in-address-book-button =
+ .title = Lưu địa chỉ này vào sổ địa chỉ
+
+message-header-address-in-address-book-button =
+ .title = Chỉnh sửa liên hệ
+
+message-header-field-show-more = Thêm
+ .title = Hiển thị tất cả người nhận
+
+message-ids-field-show-all = Hiện tất cả
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/messenger.ftl b/thunderbird-l10n/vi/localization/vi/messenger/messenger.ftl
new file mode 100644
index 0000000000..906a4aa864
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/messenger.ftl
@@ -0,0 +1,404 @@
+# 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/.
+
+
+## Window controls
+
+messenger-window-minimize-button =
+ .tooltiptext = Cực tiểu hóa
+messenger-window-maximize-button =
+ .tooltiptext = Cực đại hoá
+messenger-window-restore-down-button =
+ .tooltiptext = Khôi phục kích thước
+messenger-window-close-button =
+ .tooltiptext = Đóng
+# Variables:
+# $count (Number) - Number of unread messages.
+unread-messages-os-tooltip =
+ { $count ->
+ *[other] { $count } tin nhắn chưa đọc
+ }
+about-rights-notification-text = { -brand-short-name } là phần mềm nguồn mở và miễn phí, được xây dựng bởi một cộng đồng gồm hàng ngàn người từ khắp nơi trên thế giới.
+
+## Content tabs
+
+content-tab-page-loading-icon =
+ .alt = Đang tải trang
+content-tab-security-high-icon =
+ .alt = Kết nối an toàn
+content-tab-security-broken-icon =
+ .alt = Kết nối không an toàn
+
+# Back
+
+# Variables
+# $shortcut (String) - A keyboard shortcut for the Go Back command.
+content-tab-menu-back =
+ .tooltiptext = Trở lại trang trước ({ $shortcut })
+ .aria-label = Quay lại
+ .accesskey = B
+# This menuitem is only visible on macOS
+content-tab-menu-back-mac =
+ .label = Quay lại
+ .accesskey = B
+
+# Forward
+
+# Variables
+# $shortcut (String) - A keyboard shortcut for the Go Forward command.
+content-tab-menu-forward =
+ .tooltiptext = Tiến đến một trang ({ $shortcut })
+ .aria-label = Tiến
+ .accesskey = F
+# This menuitem is only visible on macOS
+content-tab-menu-forward-mac =
+ .label = Tiến
+ .accesskey = F
+
+# Reload
+
+content-tab-menu-reload =
+ .tooltiptext = Tải lại trang này
+ .aria-label = Tải lại
+ .accesskey = R
+# This menuitem is only visible on macOS
+content-tab-menu-reload-mac =
+ .tooltiptext = Tải lại trang này
+ .label = Tải lại
+ .accesskey = R
+
+# Stop
+
+content-tab-menu-stop =
+ .tooltiptext = Dừng tải trang
+ .aria-label = Dừng
+ .accesskey = S
+# This menuitem is only visible on macOS
+content-tab-menu-stop-mac =
+ .tooltiptext = Dừng tải trang
+ .label = Dừng
+ .accesskey = S
+
+## Toolbar
+
+addons-and-themes-toolbarbutton =
+ .label = Tiện ích mở rộng và chủ đề
+ .tooltiptext = Quản lý tiện ích của bạn
+quick-filter-toolbarbutton =
+ .label = Bộ lọc nhanh
+ .tooltiptext = Lọc thư
+redirect-msg-button =
+ .label = Chuyển hướng
+ .tooltiptext = Chuyển hướng tin nhắn đã chọn
+
+## Folder Pane
+
+folder-pane-toolbar =
+ .toolbarname = Thanh công cụ ngăn thư mục
+ .accesskey = F
+folder-pane-toolbar-options-button =
+ .tooltiptext = Tùy chọn ngăn thư mục
+folder-pane-header-label = Thư mục
+
+## Folder Toolbar Header Popup
+
+folder-toolbar-hide-toolbar-toolbarbutton =
+ .label = Ẩn thanh công cụ
+ .accesskey = H
+show-all-folders-label =
+ .label = Tất cả thư mục
+ .accesskey = A
+show-unread-folders-label =
+ .label = Thư mục chưa đọc
+ .accesskey = n
+show-favorite-folders-label =
+ .label = Thư mục yêu thích
+ .accesskey = F
+show-smart-folders-label =
+ .label = Thư mục hợp nhất
+ .accesskey = U
+show-recent-folders-label =
+ .label = Thư mục gần đây
+ .accesskey = R
+show-tags-folders-label =
+ .label = Nhãn
+ .accesskey = T
+folder-toolbar-toggle-folder-compact-view =
+ .label = Chế độ xem thu gọn
+ .accesskey = C
+
+## File Menu
+
+menu-file-save-as-file =
+ .label = Tập tin…
+ .accesskey = F
+
+## Edit Menu
+
+menu-edit-delete-folder =
+ .label = Xóa thư mục
+ .accesskey = D
+menu-edit-unsubscribe-newsgroup =
+ .label = Hủy đăng ký nhóm tin
+ .accesskey = b
+# Variables:
+# $count (Number) - Number of selected messages.
+menu-edit-delete-messages =
+ .label =
+ { $count ->
+ [one] Xóa thư
+ *[other] Xóa thư đã chọn
+ }
+ .accesskey = D
+# Variables:
+# $count (Number) - Number of selected messages.
+menu-edit-undelete-messages =
+ .label =
+ { $count ->
+ [one] Không xóa thư
+ *[other] Không xóa thư đã chọn
+ }
+ .accesskey = d
+menu-edit-properties =
+ .label = Thuộc tính
+ .accesskey = o
+menu-edit-folder-properties =
+ .label = Thuộc tính thư mục
+ .accesskey = o
+menu-edit-newsgroup-properties =
+ .label = Thuộc tính nhóm tin
+ .accesskey = o
+
+## Message Menu
+
+redirect-msg-menuitem =
+ .label = Chuyển hướng
+ .accesskey = D
+
+## AppMenu
+
+appmenu-save-as-file =
+ .label = Tập tin…
+appmenu-settings =
+ .label = Cài đặt
+appmenu-addons-and-themes =
+ .label = Tiện ích mở rộng và chủ đề
+
+## Context menu
+
+context-menu-redirect-msg =
+ .label = Chuyển hướng
+# This menu item is for canceling an NNTP message
+context-menu-cancel-msg =
+ .label = Hủy thư
+# Variables:
+# $count (Number) - Number of selected messages.
+mail-context-delete-messages =
+ .label =
+ { $count ->
+ *[other] Xóa các thư đã chọn
+ }
+# Variables:
+# $count (Number) - Number of selected messages.
+mail-context-undelete-messages =
+ .label =
+ { $count ->
+ [one] Không xóa thư
+ *[other] Không xóa thư đã chọn
+ }
+context-menu-decrypt-to-folder2 =
+ .label = Tạo bản sao được giải mã trong
+ .accesskey = y
+
+## Message header pane
+
+other-action-redirect-msg =
+ .label = Chuyển hướng
+message-header-msg-flagged =
+ .title = Gắn sao
+ .aria-label = Gắn sao
+# Variables:
+# $address (String) - The email address of the recipient this picture belongs to.
+message-header-recipient-avatar =
+ .alt = Ảnh hồ sơ của { $address }.
+
+## Message header cutomize panel
+
+message-header-customize-panel-title = Cài đặt header thư
+message-header-customize-button-style =
+ .value = Kiểu nút
+ .accesskey = B
+message-header-button-style-default =
+ .label = Biểu tượng và văn bản
+message-header-button-style-text =
+ .label = Văn bản
+message-header-button-style-icons =
+ .label = Biểu tượng
+message-header-show-sender-full-address =
+ .label = Luôn hiển thị địa chỉ đầy đủ của người gửi
+ .accesskey = f
+message-header-show-sender-full-address-description = Địa chỉ email sẽ được hiển thị bên dưới tên hiển thị.
+message-header-show-recipient-avatar =
+ .label = Hiển thị ảnh hồ sơ của người gửi
+ .accesskey = P
+message-header-show-big-avatar =
+ .label = Ảnh hồ sơ lớn hơn
+ .accesskey = g
+message-header-hide-label-column =
+ .label = Ẩn cột nhãn
+ .accesskey = l
+message-header-large-subject =
+ .label = Chủ đề lớn
+ .accesskey = s
+message-header-all-headers =
+ .label = Hiển thị tất cả header
+ .accesskey = a
+
+## Action Button Context Menu
+
+toolbar-context-menu-manage-extension =
+ .label = Quản lí tiện ích
+ .accesskey = E
+toolbar-context-menu-remove-extension =
+ .label = Xóa tiện ích mở rộng
+ .accesskey = v
+
+## Add-on removal warning
+
+# Variables:
+# $name (String): The name of the add-on that will be removed.
+addon-removal-title = Xóa { $name }?
+addon-removal-confirmation-button = Xóa
+# Variables:
+# $name (String): The name of the add-on that will be removed.
+addon-removal-confirmation-message = Xóa { $name } cũng như cài đặt và dữ liệu của nó khỏi { -brand-short-name }?
+caret-browsing-prompt-title = Duyệt với con trỏ
+caret-browsing-prompt-text = Nhấn F7 sẽ bật hoặc tắt duyệt với con trỏ (Caret). Tính năng này đặt một con trỏ có thể di chuyển trong một số nội dung, cho phép bạn chọn văn bản bằng bàn phím. Bạn có muốn bật duyệt với con trỏ không?
+caret-browsing-prompt-check-text = Đừng hỏi lại.
+repair-text-encoding-button =
+ .label = Sửa chữa mã hóa văn bản
+ .tooltiptext = Đoán mã hóa văn bản chính xác từ nội dung tin nhắn
+
+## no-reply handling
+
+no-reply-title = Không hỗ trợ trả lời
+# Variables:
+# $email (String) - Email address the reply will be sent to. Example: "noreply@example.com"
+no-reply-message = Địa chỉ trả lời ({ $email }) dường như không phải là địa chỉ được giám sát. Thư đến địa chỉ này có thể sẽ không được đọc bởi bất kỳ ai.
+no-reply-reply-anyway-button = Vẫn trả lời
+
+## error messages
+
+# Variables:
+# $failures (Number) - Number of messages that could not be decrypted.
+# $total (Number) - Total number of messages that were attempted to be decrypted.
+decrypt-and-copy-failures-multiple = Không thể giải mã và sao chép { $failures } trong tổng số { $total } thư.
+
+## Spaces toolbar
+
+spaces-toolbar-element =
+ .toolbarname = Thanh công cụ Spaces
+ .aria-label = Thanh công cụ Spaces
+ .aria-description = Thanh công cụ dọc để chuyển đổi giữa các không gian khác nhau. Sử dụng các phím mũi tên để điều hướng các nút có sẵn.
+spaces-toolbar-button-mail2 =
+ .title = Thư
+spaces-toolbar-button-address-book2 =
+ .title = Sổ địa chỉ
+spaces-toolbar-button-calendar2 =
+ .title = Lịch
+spaces-toolbar-button-tasks2 =
+ .title = Nhiệm vụ
+spaces-toolbar-button-chat2 =
+ .title = Trò chuyện
+spaces-toolbar-button-overflow =
+ .title = Thêm không gian…
+spaces-toolbar-button-settings2 =
+ .title = Cài đặt
+spaces-toolbar-button-hide =
+ .title = Ẩn thanh công cụ Spaces
+spaces-toolbar-button-show =
+ .title = Hiển thị thanh công cụ Spaces
+spaces-context-new-tab-item =
+ .label = Mở trong thẻ mới
+spaces-context-new-window-item =
+ .label = Mở trong cửa sổ mới
+# Variables:
+# $tabName (String) - The name of the tab this item will switch to.
+spaces-context-switch-tab-item =
+ .label = Chuyển sang { $tabName }
+settings-context-open-settings-item2 =
+ .label = Cài đặt
+settings-context-open-account-settings-item2 =
+ .label = Cài đặt tài khoản
+settings-context-open-addons-item2 =
+ .label = Tiện ích mở rộng và chủ đề
+
+## Spaces toolbar pinned tab menupopup
+
+spaces-toolbar-pinned-tab-button =
+ .tooltiptext = Mở menu Spaces
+spaces-pinned-button-menuitem-mail2 =
+ .label = { spaces-toolbar-button-mail2.title }
+spaces-pinned-button-menuitem-address-book2 =
+ .label = { spaces-toolbar-button-address-book2.title }
+spaces-pinned-button-menuitem-calendar2 =
+ .label = { spaces-toolbar-button-calendar2.title }
+spaces-pinned-button-menuitem-tasks2 =
+ .label = { spaces-toolbar-button-tasks2.title }
+spaces-pinned-button-menuitem-chat2 =
+ .label = { spaces-toolbar-button-chat2.title }
+spaces-pinned-button-menuitem-settings2 =
+ .label = { spaces-toolbar-button-settings2.title }
+spaces-pinned-button-menuitem-show =
+ .label = { spaces-toolbar-button-show.title }
+# Variables:
+# $count (Number) - Number of unread messages.
+chat-button-unread-messages = { $count }
+ .title =
+ { $count ->
+ *[other] { $count } thư chưa đọc
+ }
+
+## Spaces toolbar customize panel
+
+menuitem-customize-label =
+ .label = Tùy biến…
+spaces-customize-panel-title = Cài đặt thanh công cụ Spaces
+spaces-customize-background-color = Màu nền:
+spaces-customize-icon-color = Màu nút
+# The background color used on the buttons of the spaces toolbar when they are
+# `current`, meaning the related space/tab is active and visible.
+spaces-customize-accent-background-color = Màu nền của Nút đã chọn
+# The icon color used on the buttons of the spaces toolbar when they are
+# `current`, meaning the related space/tab is active and visible.
+spaces-customize-accent-text-color = Màu của Nút đã chọn
+spaces-customize-button-restore = Khôi phục về mặc định
+ .accesskey = R
+customize-panel-button-save = Xong
+ .accesskey = D
+
+## Quick Filter Bar
+
+# The label to display for the "View... Toolbars..." menu item that controls
+# whether the quick filter bar is visible.
+quick-filter-bar-toggle =
+ .label = Thanh bộ lọc nhanh
+ .accesskey = Q
+# This is the key used to show the quick filter bar.
+# This should match quick-filter-bar-textbox-shortcut in about3Pane.ftl.
+quick-filter-bar-show =
+ .key = k
+
+## OpenPGP
+
+openpgp-forget = Quên cụm mật khẩu OpenPGP
+
+## Quota panel.
+
+# Variables:
+# $percent (Number) - Usage percentage of the assigned IMAP quota.
+# $usage (String) - Current quota usage (may include unit)
+# $limit (String) - Current quota limit (may include unit)
+quota-panel-percent-used = { $percent }% đã đầy
+ .title = Hạn ngạch IMAP: { $usage } đã sử dụng trong tổng số { $limit }
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/messengercompose/messengercompose.ftl b/thunderbird-l10n/vi/localization/vi/messenger/messengercompose/messengercompose.ftl
new file mode 100644
index 0000000000..35749d90a0
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/messengercompose/messengercompose.ftl
@@ -0,0 +1,397 @@
+# 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/.
+
+
+## Send Format
+
+compose-send-format-menu =
+ .label = Định dạng gửi
+ .accesskey = F
+compose-send-auto-menu-item =
+ .label = Tự động
+ .accesskey = A
+compose-send-both-menu-item =
+ .label = Cả HTML và văn bản thuần túy
+ .accesskey = B
+compose-send-html-menu-item =
+ .label = Chỉ HTML
+ .accesskey = H
+compose-send-plain-menu-item =
+ .label = Chỉ văn bản thuần túy
+ .accesskey = P
+
+## Addressing widget
+
+# $type (String) - the type of the addressing row
+remove-address-row-button =
+ .title = Xóa trường { $type }
+# $type (String) - the type of the addressing row
+# $count (Number) - the number of address pills currently present in the addressing row
+address-input-type-aria-label =
+ { $count ->
+ [0] { $type }
+ *[other] { $type } với { $count } địa chỉ, sử dụng phím mũi tên trái để chọn chúng.
+ }
+# $email (String) - the email address
+# $count (Number) - the number of address pills currently present in the addressing row
+pill-aria-label =
+ { $count ->
+ *[other] { $email }, 1 của { $count }: nhấn Enter để chỉnh sửa, Delete để xóa.
+ }
+# $email (String) - the email address
+pill-tooltip-invalid-address = { $email } không phải là địa chỉ e-mail hợp lệ
+# $email (String) - the email address
+pill-tooltip-not-in-address-book = { $email } không có trong sổ địa chỉ của bạn
+pill-action-edit =
+ .label = Chỉnh sửa địa chỉ
+ .accesskey = e
+# $type (String) - the type of the addressing row, e.g. Cc, Bcc, etc.
+pill-action-select-all-sibling-pills =
+ .label = Chọn tất cả địa chỉ trong { $type }
+ .accesskey = A
+pill-action-select-all-pills =
+ .label = Chọn tất cả địa chỉ
+ .accesskey = S
+pill-action-move-to =
+ .label = Chuyển sang Đến
+ .accesskey = t
+pill-action-move-cc =
+ .label = Chuyển sang Cc
+ .accesskey = c
+pill-action-move-bcc =
+ .label = Chuyển sang Bcc
+ .accesskey = b
+pill-action-expand-list =
+ .label = Mở rộng danh sách
+ .accesskey = x
+
+## Attachment widget
+
+ctrl-cmd-shift-pretty-prefix =
+ { PLATFORM() ->
+ [macos] ⇧ ⌘{ " " }
+ *[other] Ctrl+Shift+
+ }
+trigger-attachment-picker-key = A
+toggle-attachment-pane-key = M
+menuitem-toggle-attachment-pane =
+ .label = Ngăn đính kèm
+ .accesskey = m
+ .acceltext = { ctrl-cmd-shift-pretty-prefix }{ toggle-attachment-pane-key }
+toolbar-button-add-attachment =
+ .label = Đính kèm
+ .tooltiptext = Thêm một đính kèm ({ ctrl-cmd-shift-pretty-prefix }{ trigger-attachment-picker-key })
+add-attachment-notification-reminder2 =
+ .label = Thêm đính kèm…
+ .accesskey = A
+ .tooltiptext = { toolbar-button-add-attachment.tooltiptext }
+menuitem-attach-files =
+ .label = Tập tin…
+ .accesskey = F
+ .acceltext = { ctrl-cmd-shift-pretty-prefix }{ trigger-attachment-picker-key }
+context-menuitem-attach-files =
+ .label = Đính kèm tập tin…
+ .accesskey = F
+ .acceltext = { ctrl-cmd-shift-pretty-prefix }{ trigger-attachment-picker-key }
+# Note: Do not translate the term 'vCard'.
+context-menuitem-attach-vcard =
+ .label = vCard của tôi
+ .accesskey = C
+context-menuitem-attach-openpgp-key =
+ .label = Khóa công khai OpenPGP của tôi
+ .accesskey = K
+# $count (Number) - the number of attachments in the attachment bucket
+attachment-bucket-count-value =
+ { $count ->
+ [1] { $count } đính kèm
+ *[other] { $count } đính kèm
+ }
+attachment-area-show =
+ .title = Hiển thị ngăn đính kèm ({ ctrl-cmd-shift-pretty-prefix }{ toggle-attachment-pane-key })
+attachment-area-hide =
+ .title = Ẩn ngăn đính kèm ({ ctrl-cmd-shift-pretty-prefix }{ toggle-attachment-pane-key })
+
+## Variables:
+## $count (Number) - Number of files being dropped onto the composer.
+
+drop-file-label-attachment =
+ { $count ->
+ *[other] Thêm dưới dạng đính kèm
+ }
+
+## Reorder Attachment Panel
+
+move-attachment-first-panel-button =
+ .label = Di chuyển lên đầu
+move-attachment-left-panel-button =
+ .label = Di chuyển sang trái
+move-attachment-right-panel-button =
+ .label = Di chuyển sang phải
+move-attachment-last-panel-button =
+ .label = Di chuyển xuống cuối
+button-return-receipt =
+ .label = Xác nhận
+ .tooltiptext = Yêu cầu xác nhận đã nhận thư cho thư này
+
+## Encryption
+
+encryption-menu =
+ .label = Bảo mật
+ .accesskey = c
+encryption-toggle =
+ .label = Mã hóa
+ .tooltiptext = Sử dụng mã hóa đầu cuối cho tin nhắn này
+encryption-options-openpgp =
+ .label = OpenPGP
+ .tooltiptext = Xem hoặc thay đổi cài đặt mã hóa OpenPGP
+encryption-options-smime =
+ .label = S/MIME
+ .tooltiptext = Xem hoặc thay đổi cài đặt mã hóa S/MIME
+signing-toggle =
+ .label = Ký
+ .tooltiptext = Sử dụng chữ ký điện tử cho thư này
+menu-openpgp =
+ .label = OpenPGP
+ .accesskey = O
+menu-smime =
+ .label = S/MIME
+ .accesskey = S
+menu-encrypt =
+ .label = Mã hóa
+ .accesskey = E
+menu-encrypt-subject =
+ .label = Mã hóa chủ đề
+ .accesskey = B
+menu-sign =
+ .label = Chữ ký số
+ .accesskey = i
+menu-view-certificates =
+ .label = Xem chứng nhận của người nhận
+ .accesskey = V
+menu-open-key-manager =
+ .label = Quản lý khóa
+ .accesskey = M
+openpgp-key-issue-notification-one = Mã hóa đầu cuối yêu cầu giải quyết các vấn đề của khóa đối với { $addr }
+openpgp-key-issue-notification-many = Mã hóa đầu cuối yêu cầu giải quyết các vấn đề của khóa đối với { $count } người nhận.
+smime-cert-issue-notification-one = Mã hóa đầu cuối yêu cầu giải quyết các vấn đề về chứng chỉ đối với { $addr }.
+smime-cert-issue-notification-many = Mã hóa end-to-end yêu cầu giải quyết các vấn đề về chứng chỉ đối với { $count } người nhận.
+# Variables:
+# $addr (String) - Email address (which related to the currently selected
+# from address) which isn't set up to end-to-end encryption.
+openpgp-key-issue-notification-from = Bạn chưa thiết lập để gửi tin nhắn được mã hóa đầu cuối từ { $addr }.
+# Variables:
+# $addr (String) - Email address with key issues.
+openpgp-key-issue-notification-single = Mã hóa đầu cuối yêu cầu giải quyết các vấn đề của khóa đối với { $addr }.
+# Variables:
+# $count (Number) - Number of recipients with key issues.
+openpgp-key-issue-notification-multi = Mã hóa đầu cuối yêu cầu giải quyết các vấn đề của khóa đối với { $count } người nhận.
+# Variables:
+# $addr (String) - mail address with certificate issues.
+smime-cert-issue-notification-single = Mã hóa đầu cuối yêu cầu giải quyết các vấn đề về chứng chỉ đối với { $addr }.
+# Variables:
+# $count (Number) - Number of recipients with certificate issues.
+smime-cert-issue-notification-multi = Mã hóa đầu cuối yêu cầu giải quyết các vấn đề về chứng chỉ đối với { $count } người nhận.
+key-notification-disable-encryption =
+ .label = Không mã hóa
+ .accesskey = D
+ .tooltiptext = Tắt mã hóa đầu cuối
+key-notification-resolve =
+ .label = Giải quyết…
+ .accesskey = R
+ .tooltiptext = Mở trợ lý khóa OpenPGP
+can-encrypt-smime-notification = Có thể mã hóa đầu cuối S/MIME.
+can-encrypt-openpgp-notification = Có thể mã hóa đầu cuối OpenPGP.
+can-e2e-encrypt-button =
+ .label = Mã hóa
+ .accesskey = E
+
+## Addressing Area
+
+to-address-row-label =
+ .value = Đến
+# $key (String) - the shortcut key for this field
+show-to-row-main-menuitem =
+ .label = Trường Đến
+ .accesskey = T
+ .acceltext = { ctrl-cmd-shift-pretty-prefix }{ $key }
+# No acceltext should be shown.
+# The label should match the show-to-row-button text.
+show-to-row-extra-menuitem =
+ .label = Đến
+ .accesskey = T
+# $key (String) - the shortcut key for this field
+show-to-row-button = Đến
+ .title = Hiện trường Đến ({ ctrl-cmd-shift-pretty-prefix }{ $key })
+cc-address-row-label =
+ .value = Cc
+# $key (String) - the shortcut key for this field
+show-cc-row-main-menuitem =
+ .label = Trường Cc
+ .accesskey = C
+ .acceltext = { ctrl-cmd-shift-pretty-prefix }{ $key }
+# No acceltext should be shown.
+# The label should match the show-cc-row-button text.
+show-cc-row-extra-menuitem =
+ .label = Cc
+ .accesskey = C
+# $key (String) - the shortcut key for this field
+show-cc-row-button = Cc
+ .title = Hiện trường Cc ({ ctrl-cmd-shift-pretty-prefix }{ $key })
+bcc-address-row-label =
+ .value = Bcc
+# $key (String) - the shortcut key for this field
+show-bcc-row-main-menuitem =
+ .label = Trường Bcc
+ .accesskey = B
+ .acceltext = { ctrl-cmd-shift-pretty-prefix }{ $key }
+# No acceltext should be shown.
+# The label should match the show-bcc-row-button text.
+show-bcc-row-extra-menuitem =
+ .label = Bcc
+ .accesskey = B
+# $key (String) - the shortcut key for this field
+show-bcc-row-button = Bcc
+ .title = Hiện trường Bcc ({ ctrl-cmd-shift-pretty-prefix }{ $key })
+extra-address-rows-menu-button =
+ .title = Các trường địa chỉ khác để hiển thị
+# $count (Number) - the count of addresses in the "To" and "Cc" fields.
+many-public-recipients-notice =
+ { $count ->
+ *[other] { $count } người nhận trong Đến và Cc sẽ thấy địa chỉ của nhau. Thay vào đó, bạn có thể tránh tiết lộ người nhận bằng cách sử dụng Bcc.
+ }
+public-recipients-notice-single = Thư của bạn có người nhận công khai. Thay vào đó, bạn có thể tránh tiết lộ người nhận bằng cách sử dụng Bcc.
+# Variables:
+# $count (Number) - the count of addresses in the "To" and "Cc" fields.
+public-recipients-notice-multi = { $count } người nhận trong Đến và Cc sẽ thấy địa chỉ của nhau. Thay vào đó, bạn có thể tránh tiết lộ người nhận bằng cách sử dụng Bcc.
+many-public-recipients-bcc =
+ .label = Sử dụng Bcc thay thế
+ .accesskey = U
+many-public-recipients-ignore =
+ .label = Giữ người nhận ở chế độ công khai
+ .accesskey = K
+many-public-recipients-prompt-title = Quá nhiều người nhận công khai
+# $count (Number) - the count of addresses in the public recipients fields.
+many-public-recipients-prompt-msg =
+ { $count ->
+ *[other] Thư của bạn có { $count } người nhận công khai, những người này sẽ có thể xem địa chỉ của nhau. Đây có thể là một mối quan tâm về quyền riêng tư. Thay vào đó, bạn có thể tránh tiết lộ người nhận bằng cách chuyển người nhận từ To/Cc sang Bcc.
+ }
+many-public-recipients-prompt-cancel = Hủy bỏ gửi
+many-public-recipients-prompt-send = Gửi ngay
+
+## Notifications
+
+# Variables:
+# $identity (string) - The name of the used identity, most likely an email address.
+compose-missing-identity-warning = Không tìm thấy danh tính duy nhất phù hợp với địa chỉ Từ. Thư sẽ được gửi bằng trường Từ hiện tại và cài đặt từ danh tính { $identity }.
+encrypted-bcc-warning = Khi gửi một thư được mã hóa, người nhận trong Bcc không bị ẩn hoàn toàn. Tất cả người nhận có thể xác định được họ.
+encrypted-bcc-ignore-button = Đã hiểu
+auto-disable-e2ee-warning = Mã hóa đầu cuối cho thư này đã tự động bị tắt.
+
+## Editing
+
+
+# Tools
+
+compose-tool-button-remove-text-styling =
+ .tooltiptext = Xóa kiểu định dạng văn bản
+
+## Filelink
+
+# A text used in a tooltip of Filelink attachments, whose account has been
+# removed or is unknown.
+cloud-file-unknown-account-tooltip = Đã tải lên tài khoản Filelink không xác định.
+
+# Placeholder file
+
+# Title for the html placeholder file.
+# $filename - name of the file
+cloud-file-placeholder-title = { $filename } - Đính kèm Filelink
+# A text describing that the file was attached as a Filelink and can be downloaded
+# from the link shown below.
+# $filename - name of the file
+cloud-file-placeholder-intro = Tập tin { $filename } đã được đính kèm dưới dạng Filelink. Nó có thể được tải xuống từ liên kết bên dưới.
+
+# Template
+
+# A line of text describing how many uploaded files have been appended to this
+# message. Emphasis should be on sharing as opposed to attaching. This item is
+# used as a header to a list, hence the colon.
+# Variables:
+# $count (Number) - Number of files.
+cloud-file-count-header =
+ { $count ->
+ *[other] Tôi đã liên kết { $count } tập tin với email này:
+ }
+# A text used in a footer, instructing the reader where to find additional
+# information about the used service provider.
+# $link (string) - html a-tag for a link pointing to the web page of the provider
+cloud-file-service-provider-footer-single = Tìm hiểu thêm về { $link }.
+# A text used in a footer, instructing the reader where to find additional
+# information about the used service providers. Links for the used providers are
+# split into a comma separated list of the first n-1 providers and a single entry
+# at the end.
+# $firstLinks (string) - comma separated list of html a-tags pointing to web pages
+# of the first n-1 used providers
+# $lastLink (string) - html a-tag pointing the web page of the n-th used provider
+cloud-file-service-provider-footer-multiple = Tìm hiểu thêm về { $firstLinks } và { $lastLink }.
+# Tooltip for an icon, indicating that the link is protected by a password.
+cloud-file-tooltip-password-protected-link = Liên kết được bảo vệ bằng mật khẩu
+# Used in a list of stats about a specific file
+# Service - the used service provider to host the file (Filelink Service: BOX.com)
+# Size - the size of the file (Size: 4.2 MB)
+# Link - the link to the file (Link: https://some.provider.com)
+# Expiry Date - stating the date the link will expire (Expiry Date: 12.12.2022)
+# Download Limit - stating the maximum allowed downloads, before the link becomes invalid
+# (Download Limit: 6)
+cloud-file-template-service-name = Dịch vụ Filelink:
+cloud-file-template-size = Kích cỡ:
+cloud-file-template-link = Liên kết:
+cloud-file-template-password-protected-link = Liên kết được bảo vệ bằng mật khẩu:
+cloud-file-template-expiry-date = Ngày hết hạn:
+cloud-file-template-download-limit = Giới hạn tải xuống:
+
+# Messages
+
+cloud-file-connection-error-title = Lỗi kết nối
+# Variables:
+# $provider (string) - name of the online storage service that reported the error
+cloud-file-connection-error = { -brand-short-name } đang ngoại tuyến. Không thể kết nối với { $provider }.
+# Variables:
+# $provider (string) - name of the online storage service that reported the error
+# $filename (string) - name of the file that was uploaded and caused the error
+cloud-file-upload-error-with-custom-message-title = Không thể tải { $filename } lên { $provider }
+cloud-file-rename-error-title = Lỗi đổi tên
+# Variables:
+# $provider (string) - name of the online storage service that reported the error
+# $filename (string) - name of the file that was renamed and caused the error
+cloud-file-rename-error = Đã xảy ra sự cố khi đổi tên { $filename } trên { $provider }.
+# Variables:
+# $provider (string) - name of the online storage service that reported the error
+# $filename (string) - name of the file that was renamed and caused the error
+cloud-file-rename-error-with-custom-message-title = Không thể đổi tên { $filename } trên { $provider }
+# Variables:
+# $provider (string) - name of the online storage service that reported the error
+cloud-file-rename-not-supported = { $provider } không hỗ trợ đổi tên các tập tin đã tải lên.
+cloud-file-attachment-error-title = Lỗi đính kèm Filelink
+# Variables:
+# $filename (string) - name of the file that was renamed and caused the error
+cloud-file-attachment-error = Không cập nhật được đính kèm Filelink { $filename } vì tập tin cục bộ của nó đã bị di chuyển hoặc bị xóa.
+cloud-file-account-error-title = Lỗi tài khoản Filelink
+# Variables:
+# $filename (string) - name of the file that was renamed and caused the error
+cloud-file-account-error = Không cập nhật được đính kèm Filelink { $filename } vì tài khoản Filelink của nó đã bị xóa.
+
+## Link Preview
+
+link-preview-title = Xem trước liên kết
+link-preview-description = { -brand-short-name } có thể thêm bản xem trước được nhúng khi dán các liên kết.
+link-preview-autoadd = Tự động thêm bản xem trước liên kết khi có thể
+link-preview-replace-now = Thêm bản xem trước cho liên kết này?
+link-preview-yes-replace = Đồng ý
+
+## Dictionary selection popup
+
+spell-add-dictionaries =
+ .label = Thêm từ điển…
+ .accesskey = A
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/migration.ftl b/thunderbird-l10n/vi/localization/vi/messenger/migration.ftl
new file mode 100644
index 0000000000..2a933457ba
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/migration.ftl
@@ -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/.
+
+migration-progress-header = Chuẩn bị sẵn sàng { -brand-short-name }…
+
+## Migration tasks
+
+
+# These strings are displayed to the user if a migration is taking a long time.
+# They should be short (no more than a handful of words) and in the present tense.
+
+migration-task-test-fast = Kiểm tra một thay đổi nhanh
+migration-task-test-slow = Kiểm tra một thay đổi chậm
+migration-task-test-progress = Kiểm tra thanh tiến trình
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/multimessageview.ftl b/thunderbird-l10n/vi/localization/vi/messenger/multimessageview.ftl
new file mode 100644
index 0000000000..d36e26e793
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/multimessageview.ftl
@@ -0,0 +1,14 @@
+# 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/.
+
+multi-message-window-title =
+ .title = Tóm tắt Thư
+selected-messages-label =
+ .label = Các thư Đã chọn
+multi-message-archive-button =
+ .label = Lưu trữ
+ .tooltiptext = Lưu trữ
+multi-message-delete-button =
+ .label = Xóa
+ .tooltiptext = Xóa
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/openpgp/backupKeyPassword.ftl b/thunderbird-l10n/vi/localization/vi/messenger/openpgp/backupKeyPassword.ftl
new file mode 100644
index 0000000000..a1fd3cb5c9
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/openpgp/backupKeyPassword.ftl
@@ -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/.
+
+set-password-window =
+ .title = Chọn mật khẩu để sao lưu khóa OpenPGP của bạn
+set-password-window-title = Chọn mật khẩu để sao lưu khóa OpenPGP của bạn
+set-password-legend = Chọn mật khẩu
+set-password-message = Mật khẩu sao lưu chứng chỉ mà bạn đặt ở đây bảo vệ tập tin sao lưu mà bạn sẽ tạo. Bạn phải đặt mật khẩu để tiến hành sao lưu.
+set-password-backup-pw =
+ .value = Mật khẩu sao lưu khóa bí mật:
+set-password-repeat-backup-pw =
+ .value = Mật khẩu sao lưu khóa bí mật (một lần nữa):
+set-password-backup-pw-label = Mật khẩu sao lưu khóa bí mật:
+set-password-backup-pw2-label = Mật khẩu sao lưu khóa bí mật (một lần nữa):
+set-password-reminder = <b>Quan trọng!</b> Nếu bạn quên mật khẩu sao lưu khóa bí mật của mình, bạn sẽ không thể khôi phục bản sao lưu này sau này. Hãy ghi lại nó ở một vị trí an toàn.
+password-quality-meter = Độ an toàn mật khẩu
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/openpgp/changeExpiryDlg.ftl b/thunderbird-l10n/vi/localization/vi/messenger/openpgp/changeExpiryDlg.ftl
new file mode 100644
index 0000000000..7e45d818fb
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/openpgp/changeExpiryDlg.ftl
@@ -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/.
+
+openpgp-change-key-expiry-title =
+ .title = Thay đổi thời hạn sử dụng khóa
+openpgp-change-expiry-title = Thay đổi thời hạn sử dụng khóa
+info-will-expire = Khóa này hiện được định cấu hình để hết hạn vào { $date }.
+info-already-expired = Khóa này đã hết hạn.
+info-does-not-expire = Khóa này hiện được định cấu hình để không bao giờ hết hạn.
+info-explanation-1 = <b>Sau khi khóa hết hạn</b>, bạn không thể sử dụng khóa đó để mã hóa hoặc ký kỹ thuật số nữa.
+info-explanation-2 = Để sử dụng khóa này trong thời gian dài hơn, hãy thay đổi ngày hết hạn của nó, sau đó chia sẻ lại khóa công khai với các đối tác trò chuyện của bạn.
+expire-dont-change =
+ .label = Không thay đổi hạn sử dụng
+expire-never-label =
+ .label = Khóa sẽ không bao giờ hết hạn
+expire-in-label =
+ .label = Khóa sẽ hết hạn sau:
+expire-in-months = Tháng
+expire-no-change-label = Không thay đổi hạn sử dụng
+expire-in-time-label = Khóa sẽ hết hạn sau:
+expire-never-expire-label = Khóa sẽ không bao giờ hết hạn
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/openpgp/composeKeyStatus.ftl b/thunderbird-l10n/vi/localization/vi/messenger/openpgp/composeKeyStatus.ftl
new file mode 100644
index 0000000000..5d146c5574
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/openpgp/composeKeyStatus.ftl
@@ -0,0 +1,23 @@
+# 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/.
+
+openpgp-compose-key-status-intro-need-keys = Để gửi một tin nhắn được mã hóa đầu cuối, bạn phải lấy và chấp nhận một khóa công khai cho mỗi người nhận.
+openpgp-compose-key-status-keys-heading = Tính khả dụng của các khóa OpenPGP:
+openpgp-compose-key-status-title =
+ .title = Thư bảo mật OpenPGP
+openpgp-compose-key-status-recipient =
+ .label = Người nhận
+openpgp-compose-key-status-status =
+ .label = Trạng thái
+openpgp-compose-key-status-open-details = Quản lý khóa cho người nhận đã chọn…
+openpgp-recip-good = ok
+openpgp-recip-missing = không có sẵn khóa
+openpgp-recip-none-accepted = không có khóa được chấp nhận
+openpgp-compose-general-info-alias = { -brand-short-name } thường yêu cầu khóa công khai của người nhận phải chứa ID người dùng có địa chỉ email phù hợp. Điều này có thể được ghi đè bằng cách sử dụng quy tắc bí danh người nhận OpenPGP.
+openpgp-compose-general-info-alias-learn-more = Tìm hiểu thêm
+openpgp-compose-alias-status-direct =
+ { $count ->
+ *[other] được ánh xạ tới { $count } khóa bí danh
+ }
+openpgp-compose-alias-status-error = không thể sử dụng/không khả dụng khóa bí danh
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/openpgp/keyAssistant.ftl b/thunderbird-l10n/vi/localization/vi/messenger/openpgp/keyAssistant.ftl
new file mode 100644
index 0000000000..2876fa4648
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/openpgp/keyAssistant.ftl
@@ -0,0 +1,109 @@
+# 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/.
+
+openpgp-key-assistant-title = Trợ lý khóa OpenPGP
+openpgp-key-assistant-rogue-warning = Tránh chấp nhận một khóa giả mạo. Để đảm bảo bạn đã lấy đúng khóa, bạn nên xác minh nó. <a data-l10n-name="openpgp-link">Tìm hiểu thêm…</a>
+
+## Encryption status
+
+openpgp-key-assistant-recipients-issue-header = Không thể mã hóa
+# Variables:
+# $count (Number) - The number of recipients that need attention.
+openpgp-key-assistant-recipients-issue-description =
+ { $count ->
+ *[other] Để mã hóa, bạn phải lấy và chấp nhận các khóa có thể sử dụng cho { $count } người nhận. <a data-l10n-name="openpgp-link">Tìm hiểu thêm…</a>
+ }
+openpgp-key-assistant-info-alias = { -brand-short-name } thường yêu cầu khóa công khai của người nhận phải chứa ID người dùng có địa chỉ email phù hợp. Điều này có thể được ghi đè bằng cách sử dụng quy tắc bí danh người nhận OpenPGP. <a data-l10n-name="openpgp-link">Tìm hiểu thêm…</a>
+# Variables:
+# $count (Number) - The number of recipients that need attention.
+openpgp-key-assistant-recipients-description =
+ { $count ->
+ *[other] Bạn đã có các khóa có thể sử dụng và được chấp nhận cho { $count } người nhận.
+ }
+openpgp-key-assistant-recipients-description-no-issues = Thư này có thể được mã hóa. Bạn có các khóa có thể sử dụng và được chấp nhận cho tất cả người nhận.
+
+## Resolve section
+
+# Variables:
+# $recipient (String) - The email address of the recipient needing resolution.
+# $numKeys (Number) - The number of keys.
+openpgp-key-assistant-resolve-title =
+ { $numKeys ->
+ *[other] { -brand-short-name } đã tìm thấy các khóa sau cho { $recipient }.
+ }
+openpgp-key-assistant-valid-description = Chọn khóa mà bạn muốn chấp nhận
+# Variables:
+# $numKeys (Number) - The number of available keys.
+openpgp-key-assistant-invalid-title =
+ { $numKeys ->
+ *[other] Không thể sử dụng các khóa sau, trừ khi bạn nhận được bản cập nhật.
+ }
+openpgp-key-assistant-no-key-available = Không có sẵn khóa.
+openpgp-key-assistant-multiple-keys = Nhiều khóa có sẵn.
+# Variables:
+# $count (Number) - The number of unaccepted keys.
+openpgp-key-assistant-key-unaccepted =
+ { $count ->
+ *[other] Nhiều khóa có sẵn, nhưng chưa có khóa nào được chấp nhận.
+ }
+# Variables:
+# $date (String) - The expiration date of the key.
+openpgp-key-assistant-key-accepted-expired = Khóa được chấp nhận đã hết hạn vào { $date }.
+openpgp-key-assistant-keys-accepted-expired = Nhiều khóa được chấp nhận đã hết hạn.
+# Variables:
+# $date (String) - The expiration date of the key.
+openpgp-key-assistant-this-key-accepted-expired = Khóa này trước đây đã được chấp nhận nhưng đã hết hạn vào { $date }.
+# Variables:
+# $date (String) - The expiration date of the key.
+openpgp-key-assistant-key-unaccepted-expired-one = Khóa hết hạn vào { $date }.
+openpgp-key-assistant-key-unaccepted-expired-many = Nhiều khóa đã hết hạn.
+openpgp-key-assistant-key-fingerprint = Vân tay
+openpgp-key-assistant-key-source =
+ { $count ->
+ *[other] Nguồn
+ }
+openpgp-key-assistant-key-collected-attachment = tập tin đính kèm email
+# Autocrypt is the name of a standard.
+openpgp-key-assistant-key-collected-autocrypt = Tiêu đề tự động mã hóa
+# Web Key Directory (WKD) is a concept.
+openpgp-key-assistant-key-collected-wkd = Thư mục khoá Web
+openpgp-key-assistant-keys-has-collected =
+ { $count ->
+ *[other] Nhiều khóa đã được tìm thấy, nhưng chưa có khóa nào được chấp nhận.
+ }
+openpgp-key-assistant-key-rejected = Khóa này đã bị từ chối trước đó.
+openpgp-key-assistant-key-accepted-other = Khóa này trước đây đã được chấp nhận cho một địa chỉ email khác.
+# Variables:
+# $recipient (String) - The email address of the recipient needing resolution.
+openpgp-key-assistant-resolve-discover-info = Khám phá các khóa bổ sung hoặc cập nhật trực tuyến cho { $recipient } hoặc nhập chúng từ tập tin.
+
+## Discovery section
+
+openpgp-key-assistant-discover-title = Đang khám phá trực tuyến.
+# Variables:
+# $recipient (String) - The email address which we're discovering keys.
+openpgp-key-assistant-discover-keys = Đang khám phá các khóa cho { $recipient }…
+# Variables:
+# $recipient (String) - The email address which we're discovering keys.
+openpgp-key-assistant-expired-key-update =
+ Đã tìm thấy bản cập nhật cho một trong các khóa được chấp nhận trước đó cho { $recipient }.
+ Bây giờ nó có thể được sử dụng vì nó không còn hết hạn.
+
+## Dialog buttons
+
+openpgp-key-assistant-discover-online-button = Khám phá khóa công khai trực tuyến…
+openpgp-key-assistant-import-keys-button = Nhập khóa công khai từ tập tin…
+openpgp-key-assistant-issue-resolve-button = Giải quyết…
+openpgp-key-assistant-view-key-button = Xem khóa…
+openpgp-key-assistant-recipients-show-button = Hiển thị
+openpgp-key-assistant-recipients-hide-button = Ẩn
+openpgp-key-assistant-cancel-button = Hủy bỏ
+openpgp-key-assistant-back-button = Quay lại
+openpgp-key-assistant-accept-button = Chấp nhận
+openpgp-key-assistant-close-button = Đóng
+openpgp-key-assistant-disable-button = Tắt mã hóa
+openpgp-key-assistant-confirm-button = Gửi mã hóa
+# Variables:
+# $date (String) - The key creation date.
+openpgp-key-assistant-key-created = được tạo vào { $date }
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/openpgp/keyWizard.ftl b/thunderbird-l10n/vi/localization/vi/messenger/openpgp/keyWizard.ftl
new file mode 100644
index 0000000000..ec573f2f05
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/openpgp/keyWizard.ftl
@@ -0,0 +1,139 @@
+# 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/.
+
+# $identity (String) - the email address of the currently selected identity
+key-wizard-dialog-window =
+ .title = Thêm Khóa OpenPGP Cá nhân cho { $identity }
+key-wizard-button =
+ .buttonlabelaccept = Tiếp tục
+ .buttonlabelhelp = Quay lại
+key-wizard-dialog =
+ .buttonlabelaccept = Tiếp tục
+ .buttonlabelextra1 = Quay lại
+key-wizard-warning = <b>Nếu bạn có khóa cá nhân hiện tại</b> cho địa chỉ email này, bạn nên nhập khóa đó. Nếu không, bạn sẽ không có quyền truy cập vào kho lưu trữ email được mã hóa của mình, cũng như không thể đọc các email được mã hóa đến từ những người vẫn đang sử dụng khóa hiện có của bạn.
+key-wizard-learn-more = Tìm hiểu thêm
+radio-create-key =
+ .label = Tạo khóa OpenPGP mới
+ .accesskey = C
+radio-import-key =
+ .label = Nhập khóa OpenPGP hiện có
+ .accesskey = I
+radio-gnupg-key =
+ .label = Sử dụng khóa ngoài của bạn thông qua GnuPG (ví dụ: từ thẻ thông minh)
+ .accesskey = U
+
+## Generate key section
+
+openpgp-generate-key-title = Tạo khóa OpenPGP
+openpgp-keygen-secret-protection = Khóa bảo vệ bí mật
+radio-keygen-no-protection =
+ .label = Không được bảo vệ
+radio-keygen-protect-primary-pass =
+ .label = Bảo vệ với mật khẩu chính
+radio-keygen-passphrase-protection =
+ .label = Bảo vệ bằng cụm mật khẩu:
+openpgp-passphrase-repeat = Xác nhận cụm mật khẩu:
+openpgp-generate-key-info = <b>Quá trình tạo khóa có thể mất đến vài phút để hoàn tất.</b> Không thoát ứng dụng khi đang tiến hành tạo khóa. Tích cực duyệt hoặc thực hiện các thao tác sử dụng nhiều đĩa trong quá trình tạo khóa sẽ bổ sung 'nhóm ngẫu nhiên' và tăng tốc quá trình. Bạn sẽ được thông báo khi quá trình tạo khóa hoàn tất.
+openpgp-keygen-expiry-title = Khóa hết hạn
+openpgp-keygen-expiry-description = Xác định thời gian hết hạn của khóa mới tạo của bạn. Sau đó, bạn có thể kiểm soát ngày để gia hạn nếu cần.
+radio-keygen-expiry =
+ .label = Khóa hết hạn sau
+ .accesskey = e
+radio-keygen-no-expiry =
+ .label = Khóa không hết hạn
+ .accesskey = d
+openpgp-keygen-days-label =
+ .label = ngày
+openpgp-keygen-months-label =
+ .label = tháng
+openpgp-keygen-years-label =
+ .label = năm
+openpgp-keygen-advanced-title = Cài đặt nâng cao
+openpgp-keygen-advanced-description = Kiểm soát cài đặt nâng cao của khóa OpenPGP của bạn.
+openpgp-keygen-keytype =
+ .value = Loại khóa:
+ .accesskey = t
+openpgp-keygen-keysize =
+ .value = Kích thước khóa:
+ .accesskey = s
+openpgp-keygen-type-rsa =
+ .label = RSA
+openpgp-keygen-type-ecc =
+ .label = ECC (Elliptic Curve)
+openpgp-keygen-button = Tạo khóa
+openpgp-keygen-progress-title = Đang tạo khóa OpenPGP mới của bạn…
+openpgp-keygen-import-progress-title = Nhập khóa OpenPGP của bạn…
+openpgp-import-success = Đã nhập thành công khóa OpenPGP!
+openpgp-import-success-title = Hoàn tất quá trình nhập
+openpgp-import-success-description = Để bắt đầu sử dụng khóa OpenPGP đã nhập của bạn để mã hóa email, hãy đóng hộp thoại này và truy cập Cài đặt tài khoản của bạn để chọn nó.
+openpgp-keygen-confirm =
+ .label = Xác nhận
+openpgp-keygen-dismiss =
+ .label = Hủy bỏ
+openpgp-keygen-cancel =
+ .label = Hủy bỏ quá trình…
+openpgp-keygen-import-complete =
+ .label = Đóng
+ .accesskey = C
+openpgp-keygen-missing-username = Không có tên được chỉ định cho tài khoản hiện tại. Vui lòng nhập giá trị vào trường "Tên của bạn" trong cài đặt tài khoản.
+openpgp-keygen-long-expiry = Bạn không thể tạo khóa hết hạn sau hơn 100 năm.
+openpgp-keygen-short-expiry = Khóa của bạn phải có giá trị trong ít nhất một ngày.
+openpgp-keygen-ongoing = Đã ở trong quá trình tạo khóa!
+openpgp-keygen-error-core = Không thể khởi tạo OpenPGP Core Service
+openpgp-keygen-error-failed = Trình tạo khóa OpenPGP đột ngột không thành công
+# $key (String) - the ID of the newly generated OpenPGP key
+openpgp-keygen-error-revocation = Đã tạo thành công khóa OpenPGP nhưng không thể thu hồi khóa { $key }
+openpgp-keygen-abort-title = Hủy việc tạo khóa?
+openpgp-keygen-abort = Khóa OpenPGP hiện đang được tạo, bạn có chắc chắn muốn hủy nó không?
+# $identity (String) - the name and email address of the currently selected identity
+openpgp-key-confirm = Tạo khóa công khai và khóa bí mật cho { $identity }?
+
+## Import Key section
+
+openpgp-import-key-title = Nhập khóa OpenPGP cá nhân hiện có
+openpgp-import-key-legend = Chọn một tập tin đã sao lưu trước đó.
+openpgp-import-key-description = Bạn có thể nhập các khóa cá nhân đã được tạo bằng phần mềm OpenPGP khác.
+openpgp-import-key-info = Phần mềm khác có thể mô tả khóa cá nhân bằng các thuật ngữ thay thế như khóa riêng, khóa bí mật, khóa cá nhân hoặc cặp khóa.
+# $count (Number) - the number of keys found in the selected files
+openpgp-import-key-list-amount-2 =
+ { $count ->
+ *[other] { -brand-short-name } đã tìm thấy { $count } khóa có thể nhập.
+ }
+openpgp-import-key-list-description = Xác nhận khóa nào có thể được coi là khóa cá nhân của bạn. Chỉ những khóa do bạn tự tạo và thể hiện danh tính của riêng bạn mới được sử dụng làm khóa cá nhân. Bạn có thể thay đổi tùy chọn này sau trong hộp thoại Thuộc tính khóa.
+openpgp-import-key-list-caption = Các khóa được đánh dấu được coi là Khóa cá nhân sẽ được liệt kê trong phần Mã hóa đầu cuối. Những cái khác sẽ có sẵn bên trong Trình quản lý khóa.
+openpgp-import-keep-passphrases =
+ .label = Giữ bảo vệ cụm mật khẩu cho các khóa bí mật đã nhập
+openpgp-passphrase-prompt-title = Yêu cầu cụm mật khẩu
+# $key (String) - the id of the key being imported
+openpgp-passphrase-prompt = Vui lòng nhập cụm mật khẩu để mở khóa sau: { $key }
+openpgp-import-key-button =
+ .label = Chọn tập tin để nhập…
+ .accesskey = S
+import-key-file = Nhập tập tin khóa OpenPGP
+import-key-personal-checkbox =
+ .label = Coi khóa này như một khóa cá nhân
+gnupg-file = Tập tin GnuPG
+import-error-file-size = <b>Lỗi!</b> Các tập tin lớn hơn 5MB không được hỗ trợ.
+# $error (String) - the reported error from the failed key import method
+import-error-failed = <b>Lỗi!</b> Không thể nhập tập tin. { $error }
+# $error (String) - the reported error from the failed key import method
+openpgp-import-keys-failed = <b>Lỗi!</b> Không thể nhập khóa. { $error }
+openpgp-import-identity-label = Danh tính
+openpgp-import-fingerprint-label = Vân tay
+openpgp-import-created-label = Đã tạo
+openpgp-import-bits-label = Bit
+openpgp-import-key-props =
+ .label = Thuộc tính khóa
+ .accesskey = K
+
+## External Key section
+
+openpgp-external-key-title = Khóa GnuPG bên ngoài
+openpgp-external-key-description = Định cấu hình khóa GnuPG bên ngoài bằng cách nhập ID khóa
+openpgp-external-key-info = Ngoài ra, bạn phải sử dụng Trình quản lý khóa để nhập và chấp nhận khóa công khai tương ứng.
+openpgp-external-key-warning = <b>Bạn chỉ có thể định cấu hình một khóa GnuPG bên ngoài.</b> Mục nhập trước đó của bạn sẽ được thay thế.
+openpgp-save-external-button = Lưu ID khóa
+openpgp-external-key-label = ID khóa bí mật:
+openpgp-external-key-input =
+ .placeholder = 123456789341298340
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/openpgp/msgReadStatus.ftl b/thunderbird-l10n/vi/localization/vi/messenger/openpgp/msgReadStatus.ftl
new file mode 100644
index 0000000000..6958ba8887
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/openpgp/msgReadStatus.ftl
@@ -0,0 +1,81 @@
+# 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/.
+
+
+## Message Header Encryption Button
+
+message-header-show-security-info-key = S
+# $type (String) - the shortcut key defined in the message-header-show-security-info-key
+message-security-button =
+ .title =
+ { PLATFORM() ->
+ [macos] Hiển thị bảo mật thư (⌘ ⌥ { message-header-show-security-info-key })
+ *[other] Hiển thị bảo mật thư (Ctrl+Alt+{ message-header-show-security-info-key })
+ }
+openpgp-view-signer-key =
+ .label = Xem khóa của người ký
+openpgp-view-your-encryption-key =
+ .label = Xem khóa giải mã của bạn
+openpgp-openpgp = OpenPGP
+openpgp-no-sig = Không có chữ ký số
+openpgp-no-sig-info = Thư này không có chữ kí điện tử của người gửi. Việc thiếu chữ kí điện tử có nghĩa là lá thư có thể đã được gửi bởi một người giả dạng địa chỉ email này. Cũng có thể lá thư đã bị sửa đổi trong khi truyền tải qua hệ thống mạng.
+openpgp-uncertain-sig = Chữ ký số không chắc chắn
+# Variables:
+# $date (String) - Date with time the signature was made in a short format.
+openpgp-uncertain-sig-with-date = Chữ ký số không chắc chắn - Đã ký vào { $date }
+openpgp-invalid-sig = Chữ ký số không hợp lệ
+# Variables:
+# $date (String) - Date with time the signature was made in a short format.
+openpgp-invalid-sig-with-date = Chữ ký số không hợp lệ - Đã ký vào { $date }
+openpgp-good-sig = Chữ ký số tốt
+# Variables:
+# $date (String) - Date with time the signature was made in a short format.
+openpgp-good-sig-with-date = Chữ ký số tốt - Đã ký vào { $date }
+openpgp-sig-uncertain-no-key = Thư này có chứa chữ ký số, nhưng không chắc liệu nó có đúng hay không. Để xác minh chữ ký, bạn cần lấy bản sao khóa công khai của người gửi.
+openpgp-sig-uncertain-uid-mismatch = Thư này chứa chữ ký số nhưng đã phát hiện thấy không khớp. Thư được gửi từ một địa chỉ email không khớp với khóa công khai của người ký.
+openpgp-sig-uncertain-not-accepted = Thư này chứa chữ ký số, nhưng bạn vẫn chưa quyết định xem khóa của người ký có được bạn chấp nhận hay không.
+openpgp-sig-invalid-rejected = Thư này chứa chữ ký số, nhưng trước đó bạn đã quyết định từ chối khóa người ký.
+openpgp-sig-invalid-technical-problem = Thư này chứa chữ ký số, nhưng đã phát hiện ra lỗi kỹ thuật. Thư đã bị hỏng hoặc đã bị người khác sửa đổi.
+openpgp-sig-valid-unverified = Thư này bao gồm một chữ ký số hợp lệ từ một khóa mà bạn đã chấp nhận. Tuy nhiên, bạn vẫn chưa xác minh được rằng khóa có thực sự thuộc sở hữu của người gửi hay không.
+openpgp-sig-valid-verified = Thư này bao gồm một chữ ký số hợp lệ từ một khóa đã được xác minh.
+openpgp-sig-valid-own-key = Thư này bao gồm một chữ ký số hợp lệ từ khóa cá nhân của bạn.
+# Variables:
+# $key (String) - The ID of the OpenPGP key used to create the signature.
+openpgp-sig-key-id = ID khóa người ký: { $key }
+# Variables:
+# $key (String) - The primary ID of the OpenPGP key used to create the signature.
+# $subkey (String) - A subkey of the primary key was used to create the signature, and this is the ID of that subkey.
+openpgp-sig-key-id-with-subkey-id = ID khóa người ký: { $key } (ID khóa phụ: { $subkey })
+# Variables:
+# $key (String) - The ID of the user's OpenPGP key used to decrypt the message.
+openpgp-enc-key-id = ID khóa giải mã của bạn: { $key }
+# Variables:
+# $key (String) - The primary ID of the user's OpenPGP key used to decrypt the message.
+# $subkey (String) - A subkey of the primary key was used to decrypt the message, and this is the ID of that subkey.
+openpgp-enc-key-with-subkey-id = ID khóa giải mã của bạn: { $key } (ID khóa phụ: { $subkey })
+openpgp-enc-none = Thư không được mã hóa
+openpgp-enc-none-label = Thư này không được mã hóa trước khi gửi. Thông tin gửi qua Internet mà không mã hóa có thể bị thấy bởi người khác trong quá trình truyền tải.
+openpgp-enc-invalid-label = Thư không thể giải mã
+openpgp-enc-invalid = Thư này đã được mã hóa trước khi được gửi đến bạn, nhưng nó không thể giải mã được.
+openpgp-enc-clueless = Có những vấn đề chưa biết đối với thư mã hóa này.
+openpgp-enc-valid-label = Thư được mã hóa
+openpgp-enc-valid = Thư này đã được mã hóa trước khi nó được gửi cho bạn. Mã hóa đảm bảo chỉ những người nhận mới có thể đọc được thư đó.
+openpgp-unknown-key-id = Khóa không xác định
+openpgp-other-enc-additional-key-ids = Ngoài ra, thư đã được mã hóa cho chủ sở hữu của các khóa sau:
+openpgp-other-enc-all-key-ids = Thư đã được mã hóa cho chủ sở hữu của các khóa sau:
+openpgp-message-header-encrypted-ok-icon =
+ .alt = Giải mã thành công
+openpgp-message-header-encrypted-notok-icon =
+ .alt = Giải mã thất bại
+openpgp-message-header-signed-ok-icon =
+ .alt = Chữ ký tốt
+# Mismatch icon is used for notok state as well
+openpgp-message-header-signed-mismatch-icon =
+ .alt = Chữ ký lỗi
+openpgp-message-header-signed-unknown-icon =
+ .alt = Trạng thái chữ ký không xác định
+openpgp-message-header-signed-verified-icon =
+ .alt = Chữ ký đã xác minh
+openpgp-message-header-signed-unverified-icon =
+ .alt = Chữ ký chưa được xác minh
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/openpgp/oneRecipientStatus.ftl b/thunderbird-l10n/vi/localization/vi/messenger/openpgp/oneRecipientStatus.ftl
new file mode 100644
index 0000000000..302219570e
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/openpgp/oneRecipientStatus.ftl
@@ -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/.
+
+openpgp-one-recipient-status-title =
+ .title = Tin nhắn bảo mật OpenPGP
+openpgp-one-recipient-status-status =
+ .label = Trạng thái
+openpgp-one-recipient-status-key-id =
+ .label = ID khóa
+openpgp-one-recipient-status-created-date =
+ .label = Đã tạo lúc
+openpgp-one-recipient-status-expires-date =
+ .label = Hết hạn
+openpgp-one-recipient-status-open-details =
+ .label = Mở chi tiết và chỉnh sửa chấp nhận…
+openpgp-one-recipient-status-discover =
+ .label = Khám phá khóa mới hoặc khóa đã cập nhật
+
+openpgp-one-recipient-status-instruction1 = Để gửi một tin nhắn được mã hóa đầu-cuối đến người nhận, bạn cần lấy khóa công khai OpenPGP của họ và đánh dấu là đã chấp nhận.
+openpgp-one-recipient-status-instruction2 = Để lấy khóa công khai của họ, hãy nhập chúng từ email mà họ đã gửi cho bạn và bao gồm nó. Ngoài ra, bạn có thể thử khám phá khóa công khai của họ trên một thư mục.
+
+openpgp-key-own = Đã chấp nhận (khóa cá nhân)
+openpgp-key-secret-not-personal = Không sử dụng được
+openpgp-key-verified = Đã chấp nhận (đã xác minh)
+openpgp-key-unverified = Đã chấp nhận (chưa xác minh)
+openpgp-key-undecided = Không được chấp nhận (chưa quyết định)
+openpgp-key-rejected = Không được chấp nhận (bị từ chối)
+openpgp-key-expired = Đã hết hạn
+
+openpgp-intro = Các khóa công khai có sẵn cho { $key }
+
+openpgp-pubkey-import-id = ID: { $kid }
+openpgp-pubkey-import-fpr = Vân tay: { $fpr }
+
+openpgp-pubkey-import-intro =
+ { $num ->
+ *[other] Tập tin chứa { $num } khóa công khai như được hiển thị bên dưới:
+ }
+
+openpgp-pubkey-import-accept =
+ { $num ->
+ *[other] Bạn có chấp nhận các khóa này để xác minh chữ ký số và mã hóa thư, cho tất cả các địa chỉ email được hiển thị không?
+ }
+
+pubkey-import-button =
+ .buttonlabelaccept = Nhập
+ .buttonaccesskeyaccept = I
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/openpgp/openpgp-frontend.ftl b/thunderbird-l10n/vi/localization/vi/messenger/openpgp/openpgp-frontend.ftl
new file mode 100644
index 0000000000..ce745a8aba
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/openpgp/openpgp-frontend.ftl
@@ -0,0 +1,54 @@
+# 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/.
+
+openpgp-manage-keys-openpgp-cmd =
+ .label = Trình quản lý khóa OpenPGP
+ .accesskey = O
+openpgp-ctx-decrypt-open =
+ .label = Giải mã và mở
+ .accesskey = D
+openpgp-ctx-decrypt-save =
+ .label = Giải mã và lưu dưới dạng…
+ .accesskey = C
+openpgp-ctx-import-key =
+ .label = Nhập khóa OpenPGP
+ .accesskey = I
+openpgp-ctx-verify-att =
+ .label = Xác minh chữ ký
+ .accesskey = V
+openpgp-has-sender-key = Thư này chứa khóa công khai OpenPGP của người gửi.
+# Variables:
+# $email (String) - Email address with the problematic public key.
+openpgp-be-careful-new-key = Cảnh báo: Khóa công khai OpenPGP mới trong thông báo này khác với các khóa công khai mà trước đây bạn đã chấp nhận cho { $email }.
+openpgp-import-sender-key =
+ .label = Nhập…
+openpgp-search-keys-openpgp =
+ .label = Khám phá khóa OpenPGP
+openpgp-missing-signature-key = Thư này đã được ký bằng một khóa mà bạn chưa có.
+openpgp-search-signature-key =
+ .label = Khám phá…
+# Don't translate the terms "OpenPGP" and "MS-Exchange"
+openpgp-broken-exchange-opened = Đây là thông báo OpenPGP dường như đã bị MS-Exchange làm hỏng và không thể sửa được thông báo này vì được mở từ một tập tin cục bộ. Sao chép thư vào một thư mục thư để thử sửa chữa tự động.
+openpgp-broken-exchange-info = Đây là thông báo OpenPGP dường như đã bị hỏng bởi MS-Exchange. Nếu nội dung thư không được hiển thị như mong đợi, bạn có thể thử sửa chữa tự động.
+openpgp-broken-exchange-repair =
+ .label = Sửa chữa thư
+openpgp-broken-exchange-wait = Vui lòng chờ…
+openpgp-has-nested-encrypted-parts = Thư này bao gồm các phần được mã hóa bổ sung.
+openpgp-show-encrypted-parts = Giải mã và hiển thị
+openpgp-cannot-decrypt-because-mdc =
+ Đây là một thư được mã hóa sử dụng một cơ chế cũ và dễ bị tấn công.
+ Nó có thể đã được sửa đổi khi đang chuyển, với ý định lấy cắp nội dung của nó.
+ Để ngăn ngừa rủi ro này, nội dung không được hiển thị.
+openpgp-cannot-decrypt-because-missing-key = Không có khóa bí mật cần thiết để giải mã thông báo này.
+openpgp-partially-signed =
+ Chỉ một tập hợp con của thông báo này được ký điện tử bằng OpenPGP.
+ Nếu bạn nhấp vào nút xác minh, các phần không được bảo vệ sẽ bị ẩn và trạng thái của chữ ký điện tử sẽ được hiển thị.
+openpgp-partially-encrypted =
+ Chỉ một tập hợp con của thông báo này được mã hóa bằng OpenPGP.
+ Các phần có thể đọc được của thư đã được hiển thị không được mã hóa.
+ Nếu bạn nhấp vào nút giải mã, nội dung của các phần được mã hóa sẽ được hiển thị.
+openpgp-reminder-partial-display = Nhắc nhở: Thông báo hiển thị bên dưới chỉ là một tập hợp con của thông báo gốc.
+openpgp-partial-verify-button = Xác minh
+openpgp-partial-decrypt-button = Giải mã
+openpgp-unexpected-key-for-you = Cảnh báo: Thư này chứa khóa OpenPGP không xác định đề cập đến một trong các địa chỉ email của riêng bạn. Nếu đây không phải là một trong những chìa khóa của riêng bạn, nó có thể là một nỗ lực để lừa những người trao đổi khác.
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/vi/localization/vi/messenger/openpgp/openpgp.ftl
new file mode 100644
index 0000000000..80520ec516
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/openpgp/openpgp.ftl
@@ -0,0 +1,724 @@
+# 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/.
+
+e2e-intro-description = Để gửi thư được mã hóa hoặc được ký điện tử, bạn cần định cấu hình công nghệ mã hóa, OpenPGP hoặc S/MIME.
+e2e-intro-description-more = Chọn khóa cá nhân của bạn để cho phép sử dụng OpenPGP hoặc chứng chỉ cá nhân của bạn để cho phép sử dụng S/MIME. Đối với khóa cá nhân hoặc chứng chỉ, bạn sở hữu khóa bí mật tương ứng.
+e2e-signing-description = Chữ ký điện tử cho phép người nhận xác minh rằng thư đã được bạn gửi và nội dung của nó không bị thay đổi. Các thư được mã hóa luôn được ký theo mặc định.
+e2e-sign-message =
+ .label = Ký các thư không được mã hóa
+ .accesskey = u
+e2e-disable-enc =
+ .label = Tắt mã hóa cho thư mới
+ .accesskey = D
+e2e-enable-enc =
+ .label = Bật mã hóa cho thư mới
+ .accesskey = n
+e2e-enable-description = Bạn sẽ có thể tắt mã hóa cho từng thư.
+e2e-advanced-section = Cài đặt nâng cao
+e2e-attach-key =
+ .label = Đính kèm khóa công khai của tôi khi thêm chữ ký số OpenPGP
+ .accesskey = P
+e2e-encrypt-subject =
+ .label = Mã hóa chủ đề của thư OpenPGP
+ .accesskey = b
+e2e-encrypt-drafts =
+ .label = Lưu trữ thư nháp ở định dạng được mã hóa
+ .accesskey = r
+# Do not translate "Autocrypt", it's the name of a standard.
+e2e-autocrypt-headers =
+ .label = Gửi (các) khóa công khai OpenPGP trong header của email để tương thích với Autocrypt
+ .accesskey = t
+openpgp-key-created-label =
+ .label = Đã tạo
+openpgp-key-expiry-label =
+ .label = Hết hạn
+openpgp-key-id-label =
+ .label = ID khóa
+openpgp-cannot-change-expiry = Đây là khóa có cấu trúc phức tạp, việc thay đổi ngày hết hạn không được hỗ trợ.
+openpgp-key-man-title =
+ .title = Trình quản lý khóa OpenPGP
+openpgp-key-man-dialog-title = Trình quản lý khóa OpenPGP
+openpgp-key-man-generate =
+ .label = Cặp khóa mới
+ .accesskey = K
+openpgp-key-man-gen-revoke =
+ .label = Chứng nhận thu hồi
+ .accesskey = R
+openpgp-key-man-ctx-gen-revoke-label =
+ .label = Tạo & lưu chứng nhận thu hồi
+openpgp-key-man-file-menu =
+ .label = Tập tin
+ .accesskey = F
+openpgp-key-man-edit-menu =
+ .label = Chỉnh sửa
+ .accesskey = E
+openpgp-key-man-view-menu =
+ .label = Xem
+ .accesskey = V
+openpgp-key-man-generate-menu =
+ .label = Tạo
+ .accesskey = G
+openpgp-key-man-keyserver-menu =
+ .label = Keyserver
+ .accesskey = K
+openpgp-key-man-import-public-from-file =
+ .label = Nhập (các) khóa công khai từ tập tin
+ .accesskey = I
+openpgp-key-man-import-secret-from-file =
+ .label = Nhập (các) khóa bí mật từ tập tin
+openpgp-key-man-import-sig-from-file =
+ .label = Nhập (các) chứng nhận thư hồi từ tập tin
+openpgp-key-man-import-from-clipbrd =
+ .label = Nhập (các) khóa từ bộ nhớ tạm
+ .accesskey = I
+openpgp-key-man-import-from-url =
+ .label = Nhập (các) khóa từ URL
+ .accesskey = U
+openpgp-key-man-export-to-file =
+ .label = Xuất (các) khóa công khai vào tập tin
+ .accesskey = E
+openpgp-key-man-send-keys =
+ .label = Gửi (các) khóa công khai qua email
+ .accesskey = S
+openpgp-key-man-backup-secret-keys =
+ .label = Sao lưu (các) khóa bí mật vào tập tin
+ .accesskey = B
+openpgp-key-man-discover-cmd =
+ .label = Khám phá khóa trực tuyến
+ .accesskey = D
+openpgp-key-man-publish-cmd =
+ .label = Xuất bản
+ .accesskey = P
+openpgp-key-publish = Xuất bản
+openpgp-key-man-discover-prompt = Để khám phá các khóa OpenPGP trực tuyến, trên máy chủ hoặc sử dụng giao thức WKD, hãy nhập địa chỉ email hoặc ID khóa.
+openpgp-key-man-discover-progress = Đang tìm kiếm…
+# Variables:
+# $keyserver (String) - The address of a server that contains a directory of OpenPGP public keys
+openpgp-key-publish-ok = Đã gửi khóa công khai tới "{ $keyserver }".
+# Variables:
+# $keyserver (String) - The address of a server that contains a directory of OpenPGP public keys
+openpgp-key-publish-fail = Không thể gửi khóa công khai của bạn tới "{ $keyserver }".
+openpgp-key-copy-key =
+ .label = Sao chép khóa công khai
+ .accesskey = C
+openpgp-key-export-key =
+ .label = Xuất khóa công khai vào tập tin
+ .accesskey = E
+openpgp-key-backup-key =
+ .label = Sao lưu khóa bí mật vào tập tin
+ .accesskey = B
+openpgp-key-send-key =
+ .label = Gửi khóa công khai qua email
+ .accesskey = S
+# Variables:
+# $count (Number) - Number of keys ids to copy.
+openpgp-key-man-copy-key-ids =
+ .label =
+ { $count ->
+ *[other] Sao chép ID khóa vào khay nhớ tạm
+ }
+ .accesskey = K
+# Variables:
+# $count (Number) - Number of fingerprints to copy.
+openpgp-key-man-copy-fprs =
+ .label =
+ { $count ->
+ *[other] Sao chép dấu vân tay vào khay nhớ tạm
+ }
+ .accesskey = F
+# Variables:
+# $count (Number) - Number of public keys to copy.
+openpgp-key-man-copy-to-clipboard =
+ .label =
+ { $count ->
+ *[other] Sao chép khóa công khai vào khay nhớ tạm
+ }
+ .accesskey = P
+openpgp-key-man-ctx-expor-to-file-label =
+ .label = Xuất khóa sang tập tin
+openpgp-key-man-ctx-copy =
+ .label = Sao chép
+ .accesskey = C
+# Variables:
+# $count (Number) - Number of fingerprints.
+openpgp-key-man-ctx-copy-fprs =
+ .label =
+ { $count ->
+ *[other] Dấu vân tay
+ }
+ .accesskey = F
+# Variables:
+# $count (Number) - Number of key ids.
+openpgp-key-man-ctx-copy-key-ids =
+ .label =
+ { $count ->
+ *[other] ID khóa
+ }
+ .accesskey = K
+# Variables:
+# $count (Number) - Number of public keys.
+openpgp-key-man-ctx-copy-public-keys =
+ .label =
+ { $count ->
+ *[other] Khóa công khai
+ }
+ .accesskey = P
+openpgp-key-man-close =
+ .label = Đóng
+openpgp-key-man-reload =
+ .label = Tải lại bộ nhớ đệm khóa
+ .accesskey = R
+openpgp-key-man-change-expiry =
+ .label = Thay đổi ngày hết hạn
+ .accesskey = E
+openpgp-key-man-refresh-online =
+ .label = Làm mới trực tuyến
+ .accesskey = R
+openpgp-key-man-ignored-ids =
+ .label = Địa chỉ email
+openpgp-key-man-del-key =
+ .label = Xóa (các) khóa
+ .accesskey = D
+openpgp-delete-key =
+ .label = Xóa khóa
+ .accesskey = D
+openpgp-key-man-revoke-key =
+ .label = Thu hồi khóa
+ .accesskey = R
+openpgp-key-man-key-props =
+ .label = Thuộc tính khóa
+ .accesskey = K
+openpgp-key-man-key-more =
+ .label = Thêm
+ .accesskey = m
+openpgp-key-man-view-photo =
+ .label = ID ảnh
+ .accesskey = p
+openpgp-key-man-ctx-view-photo-label =
+ .label = Xem ID ảnh
+openpgp-key-man-show-invalid-keys =
+ .label = Hiển thị các khóa không hợp lệ
+ .accesskey = D
+openpgp-key-man-show-others-keys =
+ .label = Hiển thị chìa khóa từ người khác
+ .accesskey = O
+openpgp-key-man-user-id-label =
+ .label = Tên
+openpgp-key-man-fingerprint-label =
+ .label = Vân tay
+openpgp-key-man-select-all =
+ .label = Chọn tất cả các khóa
+ .accesskey = a
+openpgp-key-man-empty-tree-tooltip =
+ .label = Nhập cụm từ tìm kiếm vào ô bên trên
+openpgp-key-man-nothing-found-tooltip =
+ .label = Không có khóa nào phù hợp với cụm từ tìm kiếm của bạn
+openpgp-key-man-please-wait-tooltip =
+ .label = Vui lòng đợi trong khi các khóa đang được tải…
+openpgp-key-man-filter-label =
+ .placeholder = Tìm kiếm khóa
+openpgp-key-man-select-all-key =
+ .key = A
+openpgp-key-man-key-details-key =
+ .key = I
+openpgp-ign-addr-intro = Bạn chấp nhận sử dụng khóa này cho các địa chỉ email đã chọn sau:
+openpgp-key-details-doc-title = Thuộc tính khóa
+openpgp-key-details-signatures-tab =
+ .label = Chứng chỉ
+openpgp-key-details-structure-tab =
+ .label = Cấu trúc
+openpgp-key-details-uid-certified-col =
+ .label = ID người dùng / Được chứng nhận bởi
+openpgp-key-details-key-id-label = ID khóa
+openpgp-key-details-id-label =
+ .label = ID
+openpgp-key-details-key-type-label = Kiểu
+openpgp-key-details-attr-ignored = Cảnh báo: Khóa này có thể không hoạt động như mong đợi vì một số thuộc tính của nó không an toàn và có thể bị bỏ qua.
+openpgp-key-details-attr-upgrade-sec = Bạn nên nâng cấp các thuộc tính không an toàn.
+openpgp-key-details-attr-upgrade-pub = Bạn nên yêu cầu chủ khóa này nâng cấp các thuộc tính không an toàn.
+openpgp-key-details-upgrade-unsafe =
+ .label = Nâng cấp thuộc tính không an toàn
+ .accesskey = P
+openpgp-key-details-upgrade-ok = Đã nâng cấp khóa thành công. Bạn nên chia sẻ khóa công khai đã nâng cấp với các đối tác của mình.
+openpgp-key-details-algorithm-label =
+ .label = Thuật toán
+openpgp-key-details-size-label =
+ .label = Kích thước
+openpgp-key-details-created-label =
+ .label = Được tạo
+openpgp-key-details-created-header = Được tạo
+openpgp-key-details-expiry-label =
+ .label = Hết hạn
+openpgp-key-details-expiry-header = Hết hạn
+openpgp-key-details-usage-label =
+ .label = Sử dụng
+openpgp-key-details-fingerprint-label = Vân tay
+openpgp-key-details-legend-secret-missing = Đối với các khóa được đánh dấu bằng (!), khóa bí mật không khả dụng.
+openpgp-key-details-sel-action =
+ .label = Chọn hành động…
+ .accesskey = S
+openpgp-card-details-close-window-label =
+ .buttonlabelaccept = Đóng
+openpgp-acceptance-rejected-label =
+ .label = Không, từ chối khóa này.
+openpgp-acceptance-undecided-label =
+ .label = Chưa, để sau.
+openpgp-acceptance-unverified-label =
+ .label = Có, nhưng tôi chưa xác minh rằng đó là khóa chính xác.
+openpgp-acceptance-verified-label =
+ .label = Có, tôi đã trực tiếp xác minh chìa khóa này có vân tay chính xác.
+key-accept-personal =
+ Đối với khóa này, bạn có cả phần công khai và phần bí mật. Bạn có thể sử dụng nó như một chìa khóa cá nhân.
+ Nếu khóa này được người khác đưa cho bạn, thì đừng sử dụng nó làm khóa cá nhân.
+openpgp-personal-no-label =
+ .label = Không, đừng sử dụng nó làm khóa cá nhân của tôi.
+openpgp-personal-yes-label =
+ .label = Có, hãy coi khóa này như một khóa cá nhân.
+openpgp-passphrase-protection =
+ .label = Bảo vệ bằng cụm mật khẩu
+openpgp-passphrase-status-unprotected = Không được bảo vệ
+openpgp-passphrase-status-primary-password = Được bảo vệ bằng mật khẩu chính của { -brand-short-name }
+openpgp-passphrase-status-user-passphrase = Được bảo vệ bằng cụm mật khẩu
+openpgp-passphrase-instruction-unprotected = Đặt cụm mật khẩu để bảo vệ khóa này
+openpgp-passphrase-instruction-primary-password = Hoặc bảo vệ khóa này bằng cụm mật khẩu riêng
+openpgp-passphrase-instruction-user-passphrase = Mở khóa khóa này để thay đổi bảo vệ của nó.
+openpgp-passphrase-unlock = Mở khóa
+openpgp-passphrase-unlocked = Khóa đã mở khóa thành công.
+openpgp-remove-protection = Xóa bảo vệ cụm mật khẩu
+openpgp-use-primary-password = Xóa cụm mật khẩu và bảo vệ bằng mật khẩu chính
+openpgp-passphrase-new = Cụm mật khẩu mới
+openpgp-passphrase-new-repeat = Xác nhận cụm mật khẩu mới
+openpgp-passphrase-set = Đặt cụm mật khẩu
+openpgp-passphrase-change = Thay đổi cụm mật khẩu
+openpgp-copy-cmd-label =
+ .label = Sao chép
+
+## e2e encryption settings
+
+# $identity (String) - the email address of the currently selected identity
+openpgp-description-no-key = { -brand-short-name } không có khóa OpenPGP cá nhân cho <b>{ $identity }</b>
+# $count (Number) - the number of configured keys associated with the current identity
+# $identity (String) - the email address of the currently selected identity
+openpgp-description-has-keys =
+ { $count ->
+ *[other] { -brand-short-name } đã tìm thấy { $count } khóa OpenPGP cá nhân được liên kết với <b>{ $identity }</b>
+ }
+# $key (String) - the currently selected OpenPGP key
+openpgp-selection-status-have-key = Cấu hình hiện tại của bạn sử dụng ID khóa <b>{ $key }</b>
+# $key (String) - the currently selected OpenPGP key
+openpgp-selection-status-error = Cấu hình hiện tại của bạn sử dụng khóa <b>{ $key }</b>, khóa này đã hết hạn.
+openpgp-add-key-button =
+ .label = Thêm khóa…
+ .accesskey = A
+e2e-learn-more = Tìm hiểu thêm
+openpgp-keygen-success = Khóa OpenPGP đã được tạo thành công!
+openpgp-keygen-import-success = Đã nhập khóa OpenPGP thành công!
+
+## OpenPGP Key selection area
+
+openpgp-radio-none =
+ .label = Không có
+openpgp-radio-none-desc = Đừng sử dụng OpenPGP cho danh tính này.
+openpgp-radio-key-not-usable = Không thể sử dụng khóa này làm khóa cá nhân vì khóa bí mật bị thiếu!
+openpgp-radio-key-not-accepted = Để sử dụng khóa này, bạn phải phê duyệt nó như một khóa cá nhân!
+openpgp-radio-key-not-found = Không thể tìm thấy khóa này! Nếu bạn muốn sử dụng nó, bạn phải nhập nó vào { -brand-short-name }.
+# $date (String) - the future expiration date of when the OpenPGP key will expire
+openpgp-radio-key-expires = Hết hạn vào: { $date }
+# $date (String) - the past expiration date of when the OpenPGP key expired
+openpgp-radio-key-expired = Đã hết hạn vào: { $date }
+openpgp-key-expires-within-6-months-icon =
+ .title = Khóa sẽ hết hạn sau chưa đầy 6 tháng
+openpgp-key-has-expired-icon =
+ .title = Khóa đã hết hạn
+openpgp-key-expand-section =
+ .tooltiptext = Thêm thông tin
+openpgp-key-revoke-title = Thu hồi khóa
+openpgp-key-edit-title = Thay đổi khóa OpenPGP
+openpgp-key-edit-date-title = Gia hạn ngày hết hạn
+openpgp-manager-description = Sử dụng Trình quản lý khóa OpenPGP để xem và quản lý khóa công khai của các đối tác của bạn và tất cả các khóa khác không được liệt kê ở trên.
+openpgp-manager-button =
+ .label = Trình quản lý khóa OpenPGP
+ .accesskey = K
+
+## Strings in keyDetailsDlg.xhtml
+
+key-type-public = khóa công khai
+key-type-primary = khóa chính
+key-type-subkey = khóa con
+key-type-pair = cặp khóa (khóa bí mật và khóa công khai)
+key-expiry-never = không bao giờ
+key-usage-encrypt = Mã hóa
+key-usage-sign = Ký
+key-usage-authentication = Xác thực
+key-does-not-expire = Khóa không hết hạn
+# Variables:
+# $keyExpiry (String) - Date the key expired on.
+key-expired-date = Khóa hết hạn vào { $keyExpiry }
+key-expired-simple = Khóa đã hết hạn
+key-revoked-simple = Khóa đã bị thu hồi
+key-do-you-accept = Bạn có chấp nhận khóa này để xác minh chữ ký số và mã hóa tin nhắn không?
+# Variables:
+# $addr (String) - Email address the key claims it belongs to.
+key-verification = Xác minh dấu vân tay của khóa bằng kênh liên lạc an toàn không phải email để đảm bảo rằng đó thực sự là khóa của { $addr }.
+
+## Strings enigmailMsgComposeOverlay.js
+
+# Variables:
+# $problem (String) - Error message from key usability check.
+cannot-use-own-key-because = Không thể gửi tin nhắn vì có sự cố với khóa cá nhân của bạn. { $problem }
+window-locked = Cửa sổ soạn thảo bị khóa; đã hủy gửi
+
+## Strings in keyserver.jsm
+
+keyserver-error-aborted = Đã hủy
+keyserver-error-unknown = Đã có lỗi xảy ra
+keyserver-error-import-error = Không thể nhập khóa đã tải xuống.
+
+## Strings in mimeWkdHandler.jsm
+
+wkd-message-body-req =
+ Nhà cung cấp dịch vụ email của bạn đã xử lý yêu cầu tải khóa công khai của bạn lên Thư mục khóa web OpenPGP.
+ Vui lòng xác nhận để hoàn tất việc xuất bản khóa công khai của bạn.
+wkd-message-body-process =
+ Đây là email liên quan đến quá trình xử lý tự động để tải khóa công khai của bạn lên Thư mục khóa web OpenPGP.
+ Bạn không cần phải thực hiện bất kỳ thao tác thủ công nào tại thời điểm này.
+
+## Strings in persistentCrypto.jsm
+
+# Variables:
+# $subject (String) - Subject of the message.
+converter-decrypt-body-failed =
+ Không thể giải mã thư có chủ đề
+ { $subject }.
+ Bạn muốn thử lại bằng một cụm mật khẩu khác hay bạn muốn bỏ qua tin nhắn?
+
+## Strings filters.jsm
+
+filter-folder-required = Bạn phải chọn một thư mục đích.
+filter-decrypt-move-warn-experimental =
+ Cảnh báo - hành động bộ lọc “Giải mã vĩnh viễn” có thể dẫn đến các thư bị phá hủy.
+ Chúng tôi thực sự khuyên bạn trước tiên nên thử bộ lọc “Tạo bản sao được giải mã”, kiểm tra kết quả một cách cẩn thận và chỉ bắt đầu sử dụng bộ lọc này khi bạn hài lòng với kết quả.
+filter-term-pgpencrypted-label = OpenPGP được mã hóa
+filter-key-required = Bạn phải chọn một khóa người nhận.
+# Variables:
+# $desc (String) - Email address to look for a key of.
+filter-key-not-found = Không thể tìm thấy khóa mã hóa cho ‘{ $desc }’.
+# Variables:
+# $desc (String) - The ID of a secret key that is required to read the email after the user executes the current action.
+filter-warn-key-not-secret =
+ Cảnh báo - hành động bộ lọc “Mã hóa thành khóa” thay thế người nhận.
+ Nếu bạn không có khóa bí mật cho ‘{ $desc }’, bạn sẽ không thể đọc email được nữa.
+
+## Strings filtersWrapper.jsm
+
+filter-decrypt-move-label = Giải mã vĩnh viễn (OpenPGP)
+filter-decrypt-copy-label = Tạo bản sao được giải mã (OpenPGP)
+filter-encrypt-label = Mã hóa thành khóa (OpenPGP)
+
+## Strings in enigmailKeyImportInfo.js
+
+import-info-title =
+ .title = Thành công! Các khóa đã được nhập
+import-info-bits = Bit
+import-info-created = Đã tạo
+import-info-fpr = Dấu vân tay
+import-info-no-keys = Không có khóa nào được nhập.
+
+## Strings in enigmailKeyManager.js
+
+import-from-clip = Bạn có muốn nhập (các) khóa từ khay nhớ tạm không?
+import-from-url = Tải xuống khóa công khai từ URL này:
+copy-to-clipbrd-failed = Không thể sao chép (các) khóa đã chọn vào khay nhớ tạm.
+copy-to-clipbrd-ok = Đã sao chép (các) khóa vào khay nhớ tạm
+# Variables:
+# $userId (String) - User id of the key.
+delete-secret-key =
+ CẢNH BÁO: Bạn sắp xóa khóa bí mật!
+
+ Nếu bạn xóa khóa bí mật của mình, bạn sẽ không thể giải mã bất kỳ thông báo nào được mã hóa cho khóa đó nữa, cũng như không thể thu hồi nó.
+
+ Bạn có thực sự muốn xóa CẢ HAI, khóa bí mật và khóa công khai
+ ‘{ $userId }’?
+delete-mix =
+ CẢNH BÁO: Bạn sắp xóa khóa bí mật!
+ Nếu bạn xóa khóa bí mật của mình, bạn sẽ không thể giải mã bất kỳ thư nào được mã hóa cho khóa đó nữa.
+ Bạn có thực sự muốn xóa CẢ HAI, khóa bí mật và khóa công khai đã chọn không?
+# Variables:
+# $userId (String) - User id of the key.
+delete-pub-key =
+ Bạn có muốn xóa khóa công khai không
+ "{ $userId }"?
+delete-selected-pub-key = Bạn có muốn xóa các khóa công khai không?
+refresh-all-question = Bạn đã không chọn bất kỳ khóa nào. Bạn có muốn làm mới TẤT CẢ các khóa không?
+key-man-button-export-sec-key = Xuất &khóa bí mật
+key-man-button-export-pub-key = Chỉ xuất khóa &công khai
+key-man-button-refresh-all = &Làm mới tất cả các khóa
+key-man-loading-keys = Đang tải khóa, vui lòng đợi…
+no-key-selected = Bạn nên chọn ít nhất một khóa để thực hiện thao tác đã chọn
+export-to-file = Xuất khóa công khai vào tập tin
+export-keypair-to-file = Xuất khóa bí mật và khóa công khai thành tập tin
+export-secret-key = Bạn có muốn đưa khóa bí mật vào tập tin khóa OpenPGP đã lưu không?
+save-keys-ok = Khóa đã được lưu thành công
+save-keys-failed = Không thể lưu khóa
+refresh-key-warn = Cảnh báo: tùy thuộc vào số lượng khóa và tốc độ kết nối, việc làm mới tất cả các khóa có thể là một quá trình khá dài!
+preview-failed = Không thể đọc tập tin khóa công khai.
+# Variables:
+# $reason (String) - Error description.
+general-error = Lỗi: { $reason }
+dlg-button-delete = Xóa (&D)
+
+## Account settings export output
+
+openpgp-export-public-success = <b>Đã xuất thành công khóa công khai!</b>
+openpgp-export-public-fail = <b>Không thể xuất khóa công khai đã chọn!</b>
+openpgp-export-secret-success = <b>Đã xuất khóa bí mật!</b>
+openpgp-export-secret-fail = <b>Không thể xuất khóa bí mật đã chọn!</b>
+
+## Strings in keyObj.jsm
+## Variables:
+## $userId (String) - The name and/or email address that is mentioned in the key's information.
+## $keyId (String) - Key id for the key entry.
+
+key-ring-pub-key-revoked = Khóa { $userId } (ID khóa { $keyId }) đã bị thu hồi.
+key-ring-pub-key-expired = Khóa { $userId } (ID khóa { $keyId }) đã hết hạn.
+key-ring-no-secret-key = Dường như bạn không có khóa bí mật cho { $userId } (ID khóa { $keyId }) trên khóa của mình; bạn không thể sử dụng khóa để ký.
+key-ring-pub-key-not-for-signing = Không thể sử dụng khóa { $userId } (ID khóa { $keyId }) để ký.
+key-ring-pub-key-not-for-encryption = Không thể sử dụng khóa { $userId } (ID khóa { $keyId }) để mã hóa.
+key-ring-enc-sub-keys-revoked = Tất cả các khóa mã hóa con của khóa { $userId } (ID khóa { $keyId }) đã bị thu hồi.
+key-ring-enc-sub-keys-expired = Tất cả các khóa mã hóa con của khóa { $userId } (ID khóa { $keyId }) đã hết hạn.
+
+## Strings in gnupg-keylist.jsm
+
+keyring-photo = Hình ảnh
+user-att-photo = Thuộc tính người dùng (hình ảnh JPEG)
+
+## Strings in key.jsm
+
+already-revoked = Khóa này đã bị thu hồi trước đó.
+# $keyId (String) - the id of the key being revoked
+revoke-key-already-revoked = Khóa 0x{ $keyId } đã bị thu hồi trước đó.
+key-man-button-revoke-key = Thu hồi khóa (&R)
+openpgp-key-revoke-success = Đã thu hồi khóa thành công.
+after-revoke-info =
+ Khóa đã bị thu hồi.
+ Chia sẻ lại khóa công khai này bằng cách gửi qua email hoặc tải lên máy chủ để cho người khác biết rằng bạn đã thu hồi khóa của mình.
+ Ngay sau khi phần mềm được người khác sử dụng biết về việc thu hồi, nó sẽ ngừng sử dụng khóa cũ của bạn.
+ Nếu bạn đang sử dụng khóa mới cho cùng một địa chỉ email và bạn đính kèm khóa công khai mới vào các email bạn gửi, thì thông tin về khóa cũ đã thu hồi của bạn sẽ tự động được đưa vào.
+
+## Strings in keyRing.jsm & decryption.jsm
+
+key-man-button-import = Nhập (&I)
+delete-key-title = Xóa khóa OpenPGP
+key-in-use-title = Khóa OpenPGP hiện đang được sử dụng
+delete-key-in-use-description = Không thể tiếp tục! Chìa khóa bạn đã chọn để xóa hiện đang được sử dụng bởi danh tính này. Chọn một khóa khác hoặc chọn không có khóa nào và thử lại.
+revoke-key-in-use-description = Không thể tiếp tục! Chìa khóa bạn đã chọn để thu hồi hiện đang được sử dụng bởi danh tính này. Chọn một khóa khác hoặc chọn không có khóa nào và thử lại.
+
+## Strings used in errorHandling.jsm
+
+# $keySpec (String) - Key id.
+key-error-not-accepted-as-personal = Bạn chưa xác nhận rằng khóa có ID ‘{ $keySpec }’ là khóa cá nhân của bạn.
+
+## Strings used in enigmailKeyManager.js & windows.jsm
+
+need-online = Chức năng bạn đã chọn không khả dụng ở chế độ ngoại tuyến. Vui lòng truy cập trực tuyến và thử lại.
+
+## Strings used in keyRing.jsm & keyLookupHelper.jsm
+
+no-key-found2 = Chúng tôi không thể tìm thấy bất kỳ khóa có thể sử dụng nào phù hợp với tiêu chí tìm kiếm được chỉ định.
+no-update-found = Bạn đã có các khóa được phát hiện trực tuyến.
+
+## Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm
+
+
+## Strings used in keyRing.jsm
+
+import-key-confirm = Nhập (các) khóa công khai được nhúng trong thư?
+fail-key-import = Lỗi - nhập khóa không thành công
+# Variables:
+# $output (String) - File that writing was attempted to.
+file-write-failed = Không thể ghi vào tập tin { $output }
+confirm-permissive-import = Nhập không thành công. Khóa bạn đang cố gắng nhập có thể bị hỏng hoặc sử dụng các thuộc tính không xác định. Bạn có muốn cố gắng nhập các bộ phận chính xác không? Điều này có thể dẫn đến việc nhập các khóa không đầy đủ và không sử dụng được.
+
+## Strings used in trust.jsm
+
+key-valid-unknown = không rõ
+key-valid-invalid = không hợp lệ
+key-valid-disabled = đã vô hiệu hóa
+key-valid-revoked = bị thu hồi
+key-valid-expired = đã hết hạn
+key-trust-untrusted = không đáng tin cậy
+key-trust-full = đáng tin cậy
+key-trust-group = (nhóm)
+
+## Strings used in commonWorkflows.js
+
+import-key-file = Nhập tập tin khóa OpenPGP
+gnupg-file = Tập tin GnuPG
+import-keys-failed = Nhập khóa không thành công
+# Variables:
+# $key (String) - Key id to unlock.
+# $date (String) - The date on which the key was created
+# $username_and_email (String) - The user name, and/or the email address which the key owner has set for the key.
+passphrase-prompt2 = Nhập cụm mật khẩu để mở khóa bí mật có ID { $key }, được tạo { $date }, { $username_and_email }
+# Variables:
+# $subkey (String) - Key id to unlock, which is a subkey.
+# $key (String) - This is the main key, to which the subkey belongs.
+# $date (String) - The date on which the key was created
+# $username_and_email (String) - The user name, and/or the email address which the key owner has set for the key.
+passphrase-prompt2-sub = Nhập cụm mật khẩu để mở khóa bí mật có ID { $subkey }, là khóa con của khóa ID { $key }, được tạo { $date }, { $username_and_email }
+file-to-big-to-import = Tập tin này quá lớn. Vui lòng không nhập một bộ khóa lớn cùng một lúc.
+
+## Strings used in enigmailKeygen.js
+
+gen-going = Đã ở trong quá trình tạo khóa!
+keygen-missing-user-name = Không có tên được chỉ định cho tài khoản/danh tính đã chọn. Vui lòng nhập một giá trị vào trường “Tên của bạn” trong cài đặt tài khoản.
+expiry-too-short = Khóa của bạn phải có giá trị trong ít nhất một ngày.
+expiry-too-long = Bạn không thể tạo khóa hết hạn sau hơn 100 năm.
+# Variables:
+# $id (String) - Name and/or email address to generate keys for.
+key-confirm = Tạo khóa công khai và khóa bí mật cho ‘{ $id }’?
+key-man-button-generate-key = &Tạo khóa
+key-abort = Hủy việc tạo khóa?
+key-man-button-generate-key-abort = &Huỷ bỏ tạo khoá
+key-man-button-generate-key-continue = &Tiếp tục tạo khóa
+
+## Strings used in enigmailMessengerOverlay.js
+
+failed-decrypt = Lỗi - giải mã không thành công
+fix-broken-exchange-msg-failed = Không thể sửa chữa thư này.
+# Variables:
+# $attachment (String) - File name of the signature file.
+attachment-no-match-from-signature = Tập tin chữ ký ‘{ $attachment }’ với tập tin đính kèm không khớp
+# Variables:
+# $attachment (String) - File name of the attachment.
+attachment-no-match-to-signature = Tập tin đính kèm ‘{ $attachment }’ với tập tin chữ ký không khớp
+# Variables:
+# $attachment (String) - File name of the attachment
+signature-verified-ok = Chữ ký cho tập tin đính kèm { $attachment } đã được xác minh thành công
+# Variables:
+# $attachment (String) - File name of the attachment
+signature-verify-failed = Không thể xác minh chữ ký cho tập tin đính kèm { $attachment }
+decrypt-ok-no-sig =
+ Cảnh báo
+ Giải mã thành công nhưng không thể xác minh chính xác chữ ký
+msg-ovl-button-cont-anyway = &Vẫn tiếp tục
+enig-content-note = *Các tập tin đính kèm cho thư này chưa được ký hoặc chưa được mã hóa*
+
+## Strings used in enigmailMsgComposeOverlay.js
+
+msg-compose-button-send = &Gửi thư
+msg-compose-details-button-label = Chi tiết…
+msg-compose-details-button-access-key = D
+send-aborted = Thao tác gửi đã bị hủy bỏ.
+# Variables:
+# $key (String) - Key id.
+key-not-trusted = Không đủ tin cậy cho khóa ‘{ $key }’
+# Variables:
+# $key (String) - Key id.
+key-not-found = Không tìm thấy khóa ‘{ $key }’
+# Variables:
+# $key (String) - Key id.
+key-revoked = Đã thu hồi khóa ‘{ $key }’
+# Variables:
+# $key (String) - Key id.
+key-expired = Khóa ‘{ $key }’ đã hết hạn
+msg-compose-internal-error = Đã xảy ra một lỗi nội bộ.
+keys-to-export = Chọn khóa OpenPGP để chèn
+msg-compose-partially-encrypted-inlinePGP =
+ Thư bạn đang trả lời chứa cả phần không được mã hóa và phần được mã hóa. Nếu ban đầu người gửi không thể giải mã một số phần thư, bạn có thể đang làm rò rỉ thông tin bí mật mà ban đầu người gửi không thể giải mã.
+ Vui lòng xem xét xóa tất cả văn bản được trích dẫn khỏi thư trả lời của bạn cho người gửi này.
+msg-compose-cannot-save-draft = Lỗi khi lưu bản nháp
+msg-compose-partially-encrypted-short = Cẩn thận với việc rò rỉ thông tin nhạy cảm - email được mã hóa một phần.
+quoted-printable-warn =
+ Bạn đã bật mã hóa ‘quoted-printable’ để gửi thư. Điều này có thể dẫn đến việc giải mã và/hoặc xác minh thư của bạn không chính xác.
+ Bạn có muốn tắt gửi thư ‘quoted-printable’ ngay bây giờ?
+# Variables:
+# $width (Number) - Number of characters per line.
+minimal-line-wrapping =
+ Bạn đã đặt số lượng ký tự trong một dòng là { $width } kí tự. Để mã hóa và/hoặc ký chính xác, giá trị này ít nhất phải là 68.
+ Bạn có muốn đặt lại giá trị của nó thành 68 kí tự ngay bây giờ không?
+sending-news =
+ Thao tác gửi được mã hóa đã bị hủy bỏ.
+ Không thể mã hóa thư này vì có người nhận trong nhóm tin. Vui lòng gửi lại tin nhắn mà không mã hóa.
+send-to-news-warning =
+ Cảnh báo: bạn sắp gửi một email được mã hóa đến một nhóm tin.
+ Điều này không được khuyến khích vì nó chỉ có ý nghĩa nếu tất cả các thành viên trong nhóm có thể giải mã thông điệp, tức là tin nhắn cần được mã hóa bằng khóa của tất cả những người tham gia nhóm. Vui lòng chỉ gửi tin nhắn này nếu bạn biết chính xác những gì bạn đang làm.
+ Tiếp tục?
+save-attachment-header = Lưu tập tin đính kèm được giải mã
+possibly-pgp-mime = Có thể thư được mã hóa hoặc ký tên PGP/MIME; sử dụng chức năng 'Giải mã/Xác minh' để xác minh
+# Variables:
+# $key (String) - Sender email address.
+cannot-send-sig-because-no-own-key = Không thể ký điện tử thông báo này vì bạn chưa định cấu hình mã hóa đầu cuối cho <{ $key }>
+# Variables:
+# $key (String) - Sender email address.
+cannot-send-enc-because-no-own-key = Không thể gửi thư đã mã hóa này vì bạn chưa định cấu hình mã hóa đầy cuối cho <{ $key }>
+
+## Strings used in decryption.jsm
+
+# Variables:
+# $key (String) - Newline separated list of a tab character then name and/or email address mentioned in the key followed by the key id in parenthesis.
+do-import-multiple =
+ Nhập các khóa sau?
+ { $key }
+# Variables:
+# $name (String) - Name and/or email address mentioned in the key.
+# $id (String) - Key id of the key.
+do-import-one = Nhập { $name } ({ $id })?
+cant-import = Lỗi khi nhập khóa công khai
+unverified-reply = Phần thư thụt lề (trả lời) có thể đã được sửa đổi
+key-in-message-body = Một khóa đã được tìm thấy trong nội dung thư. Nhấp vào 'Nhập khóa' để nhập khóa
+sig-mismatch = Lỗi - Chữ ký không khớp
+invalid-email = Lỗi - (Các) địa chỉ email không hợp lệ
+# Variables:
+# $name (String) - File name of the attachment.
+attachment-pgp-key =
+ Tập tin đính kèm ‘{ $name }’ mà bạn đang mở có vẻ là một tập tin khóa OpenPGP.
+ Nhấp vào 'Nhập' để nhập các khóa có trong hoặc 'Xem' để xem nội dung tập tin trong cửa sổ trình duyệt
+dlg-button-view = &Xem
+
+## Strings used in enigmailMsgHdrViewOverlay.js
+
+decrypted-msg-with-format-error = Thư đã được giải mã (đã khôi phục định dạng email PGP bị hỏng có thể do máy chủ Exchange cũ gây ra, do đó, kết quả có thể không hoàn hảo để đọc)
+
+## Strings used in encryption.jsm
+
+not-required = Lỗi - không cần mã hóa
+
+## Strings used in windows.jsm
+
+no-photo-available = Không có sẵn ảnh
+# Variables:
+# $photo (String) - Path of the photo in the key.
+error-photo-path-not-readable = Không thể đọc đường dẫn ảnh ‘{ $photo }’
+debug-log-title = Nhật ký gỡ lỗi OpenPGP
+
+## Strings used in dialog.jsm
+
+# This string is followed by either repeat-suffix-singular if $count is 1 or else
+# by repeat-suffix-plural.
+# Variables:
+# $count (Number) - Number of times the alert will repeat.
+repeat-prefix = Cảnh báo này sẽ lặp lại { $count }
+repeat-suffix-singular = lần nữa.
+repeat-suffix-plural = lần nữa.
+no-repeat = Cảnh báo này sẽ không được hiển thị lại.
+dlg-keep-setting = Nhớ câu trả lời của tôi và không hỏi lại tôi
+dlg-button-ok = &OK
+dlg-button-close = Đóng (&C)
+dlg-button-cancel = &Hủy bỏ
+dlg-no-prompt = Không hiện lại hộp thoại này
+enig-prompt = Lời nhắc OpenPGP
+enig-confirm = Xác nhận OpenPGP
+enig-alert = Cảnh báo OpenPGP
+enig-info = Thông tin OpenPGP
+
+## Strings used in persistentCrypto.jsm
+
+dlg-button-retry = &Thử lại
+dlg-button-skip = &Bỏ qua
+
+## Strings used in enigmailMsgBox.js
+
+enig-alert-title =
+ .title = Cảnh báo OpenPGP
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/otr/add-finger.ftl b/thunderbird-l10n/vi/localization/vi/messenger/otr/add-finger.ftl
new file mode 100644
index 0000000000..b9fa37cfa3
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/otr/add-finger.ftl
@@ -0,0 +1,16 @@
+# 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/.
+
+otr-add-finger-title = Thêm dấu vân tay OTR
+
+# Variables:
+# $name (String) - name of a chat contact person
+# Do not translate 'OTR' (name of an encryption protocol)
+otr-add-finger-description = Nhập dấu vân tay khóa OTR cho { $name }.
+
+otr-add-finger-fingerprint = Dấu vân tay:
+otr-add-finger-tooltip-error = Ký tự đã nhập không hợp lệ. Chỉ cho phép chữ cái ABCDEF và số
+
+otr-add-finger-input =
+ .placeholder = Dấu vân tay OTR dài 40 ký tự
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/otr/am-im-otr.ftl b/thunderbird-l10n/vi/localization/vi/messenger/otr/am-im-otr.ftl
new file mode 100644
index 0000000000..7e2824ff66
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/otr/am-im-otr.ftl
@@ -0,0 +1,26 @@
+# 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/.
+
+account-encryption =
+ .label = Mã hóa đầu cuối
+account-otr-label = Nhắn tin ngoài luồng (OTR)
+account-otr-description2 = { -brand-short-name } hỗ trợ mã hóa đầu cuối của các cuộc trò chuyện 1-1 dựa trên OTR. Điều này ngăn các bên thứ ba nghe trộm cuộc trò chuyện. Loại mã hóa đầu cuối này chỉ có thể được sử dụng khi người kia cũng sử dụng phần mềm hỗ trợ OTR.
+otr-encryption-title = Mã hóa đã được xác minh
+otr-encryption-caption = Để cho phép người khác xác minh danh tính của bạn trong các cuộc trò chuyện OTR, hãy chia sẻ dấu vân tay OTR của riêng bạn bằng cách sử dụng kênh liên lạc bên ngoài (ngoài băng tần).
+otr-fingerprint-label = Dấu vân tay của bạn:
+view-fingerprint-button =
+ .label = Quản lý dấu vân tay của liên hệ
+ .accesskey = F
+otr-settings-title = Cài đặt OTR
+otr-require-encryption =
+ .label = Yêu cầu mã hóa đầu cuối cho các cuộc hội thoại một-một
+otr-require-encryption-info =
+ Khi yêu cầu mã hóa đầu cuối, các tin nhắn trong cuộc trò chuyện 1-1
+ sẽ không được gửi trừ khi chúng có thể được mã hóa. Tin nhắn không được mã hóa đã nhận
+ sẽ không được hiển thị như một phần của cuộc trò chuyện thông thường và cũng không được ghi lại.
+otr-verify-nudge =
+ .label = Luôn nhắc tôi xác minh một liên hệ chưa được xác minh
+
+otr-not-yet-available = chưa có sẵn
+
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/otr/auth.ftl b/thunderbird-l10n/vi/localization/vi/messenger/otr/auth.ftl
new file mode 100644
index 0000000000..9b1ac366db
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/otr/auth.ftl
@@ -0,0 +1,60 @@
+# 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/.
+
+otr-auth =
+ .title = Xác minh danh tính liên hệ
+ .buttonlabelaccept = Xác minh
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+auth-title = Xác minh danh tính của { $name }
+
+# Variables:
+# $own_name (String) - the user's own screen name
+auth-your-fp-value = Dấu vân tay cho bạn, { $own_name }:
+
+# Variables:
+# $their_name (String) - the screen name of a chat contact
+auth-their-fp-value = Dấu vân tay cho { $their_name }:
+
+auth-help = Xác minh danh tính của người liên hệ giúp đảm bảo rằng cuộc trò chuyện thực sự riêng tư, khiến cho bên thứ ba rất khó nghe lén hoặc thao túng cuộc trò chuyện.
+
+auth-help-title = Trợ giúp xác minh
+
+auth-question-received = Đây là câu hỏi do người liên hệ của bạn hỏi:
+
+auth-yes =
+ .label = Có
+
+auth-no =
+ .label = Không
+
+auth-verified = Tôi đã xác minh rằng trên thực tế đây là dấu vân tay chính xác.
+
+auth-manual-verification = Xác minh dấu vân tay thủ công
+auth-question-and-answer = Câu hỏi và trả lời
+auth-shared-secret = Đã chia sẻ bí mật
+
+auth-manual-verification-label =
+ .label = { auth-manual-verification }
+
+auth-question-and-answer-label =
+ .label = { auth-question-and-answer }
+
+auth-shared-secret-label =
+ .label = { auth-shared-secret }
+
+auth-manual-instruction = Liên hệ với đối tác trò chuyện dự định của bạn qua một số kênh được xác thực khác, chẳng hạn như email được ký bởi OpenPGP hoặc qua điện thoại. Bạn nên cho nhau biết dấu vân tay của bạn. (Dấu vân tay là một tổng kiểm tra xác định khóa mã hóa.) Nếu dấu vân tay khớp, bạn nên cho biết trong hộp thoại bên dưới rằng bạn đã xác minh dấu vân tay.
+
+auth-how = Bạn muốn xác minh danh tính liên hệ của bạn như thế nào?
+
+auth-qa-instruction = Hãy nghĩ về một câu hỏi mà câu trả lời chỉ được biết cho bạn và liên hệ của bạn. Nhập câu hỏi và câu trả lời, sau đó đợi liên hệ của bạn nhập câu trả lời. Nếu câu trả lời không khớp, kênh liên lạc bạn đang sử dụng có thể bị giám sát.
+
+auth-secret-instruction = Hãy nghĩ về một bí mật chỉ được biết đến với bạn và liên lạc của bạn. Không sử dụng cùng một kết nối Internet để trao đổi bí mật. Nhập bí mật, sau đó chờ liên hệ của bạn để nhập nó. Nếu các bí mật không khớp, kênh liên lạc bạn đang sử dụng có thể bị giám sát.
+
+auth-question = Nhập câu hỏi:
+
+auth-answer = Nhập câu trả lời (phân biệt chữ hoa/thường):
+
+auth-secret = Nhập bí mật:
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/otr/chat.ftl b/thunderbird-l10n/vi/localization/vi/messenger/otr/chat.ftl
new file mode 100644
index 0000000000..a15f7bf51b
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/otr/chat.ftl
@@ -0,0 +1,19 @@
+# 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/.
+
+state-label = Trạng thái mã hóa:
+
+start-text = Bắt đầu một cuộc trò chuyện được mã hóa
+
+start-label =
+ .label = { start-text }
+
+start-tooltip =
+ .tooltiptext = { start-text }
+
+end-label =
+ .label = Kết thúc cuộc trò chuyện được mã hóa
+
+auth-label =
+ .label = Xác minh danh tính liên hệ của bạn
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/otr/finger-sync.ftl b/thunderbird-l10n/vi/localization/vi/messenger/otr/finger-sync.ftl
new file mode 100644
index 0000000000..3d88c9751e
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/otr/finger-sync.ftl
@@ -0,0 +1,12 @@
+# 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/.
+
+finger-yes = Đã xác minh
+finger-no = Chưa được xác minh
+
+finger-subset-title = Xóa dấu vân tay
+finger-subset-message = Ít nhất một dấu vân tay không thể bị xóa, bởi vì khóa tương ứng hiện đang được sử dụng trong một cuộc trò chuyện đang hoạt động.
+
+finger-remove-all-title = Xóa tất cả dấu vân tay
+finger-remove-all-message = Bạn có chắc chắn muốn xóa tất cả dấu vân tay đã thấy trước đó? Tất cả các xác minh danh tính OTR trước đó sẽ bị mất.
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/otr/finger.ftl b/thunderbird-l10n/vi/localization/vi/messenger/otr/finger.ftl
new file mode 100644
index 0000000000..ea60938aa9
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/otr/finger.ftl
@@ -0,0 +1,20 @@
+# 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/.
+
+otr-finger-title = Trước đây đã xem dấu vân tay OTR
+
+finger-intro = Dấu vân tay OTR từ các cuộc hội thoại được mã hóa đầu cuối trước đó.
+
+finger-screen-name =
+ .label = Liên hệ
+finger-verified =
+ .label = Tình trạng xác minh
+finger-fingerprint =
+ .label = Dấu vân tay
+
+finger-remove =
+ .label = Xóa mục đã chọn
+
+finger-remove-all =
+ .label = Xóa tất cả
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/otr/otr.ftl b/thunderbird-l10n/vi/localization/vi/messenger/otr/otr.ftl
new file mode 100644
index 0000000000..5d38fc9859
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/otr/otr.ftl
@@ -0,0 +1,97 @@
+# 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/.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-encryption-required-part1 = Bạn đã cố gửi một tin nhắn không được mã hóa tới { $name }. Là một chính sách, tin nhắn không được mã hóa sẽ không được phép.
+
+msgevent-encryption-required-part2 = Đang thử bắt đầu một cuộc trò chuyện riêng tư. Tin nhắn của bạn sẽ được gửi lại khi cuộc trò chuyện riêng tư bắt đầu.
+msgevent-encryption-error = Đã xảy ra lỗi khi mã hóa thư của bạn. Tin nhắn đã không được gửi.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-connection-ended = { $name } đã đóng kết nối được mã hóa của họ với bạn. Để tránh việc bạn vô tình gửi tin nhắn mà không mã hóa, tin nhắn của bạn đã không được gửi. Vui lòng kết thúc cuộc trò chuyện được mã hóa của bạn hoặc khởi động lại nó.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-setup-error = Đã xảy ra lỗi khi thiết lập cuộc trò chuyện riêng tư với { $name }.
+
+# Do not translate 'OTR' (name of an encryption protocol)
+msgevent-msg-reflected = Bạn đang nhận được tin nhắn OTR của chính mình. Bạn đang nói chuyện với chính mình hoặc ai đó đang lặp lại tin nhắn của bạn.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-msg-resent = Tin nhắn cuối cùng tới { $name } đã được gửi lại.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-not-private = Không thể đọc được tin nhắn mã hóa nhận được từ { $name } vì bạn hiện không liên lạc riêng tư.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-unreadable = Bạn đã nhận được một tin nhắn mã hóa không đọc được từ { $name }
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-malformed = Bạn đã nhận được một thông báo dữ liệu không đúng định dạng từ { $name }.
+
+# A Heartbeat is a technical message used to keep a connection alive.
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-log-heartbeat-rcvd = Đã nhận Heartbeat từ { $name }.
+
+# A Heartbeat is a technical message used to keep a connection alive.
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-log-heartbeat-sent = Đã gửi Heartbeat đến { $name }.
+
+# Do not translate 'OTR' (name of an encryption protocol)
+msgevent-rcvdmsg-general-err = Đã xảy ra lỗi không mong muốn khi cố gắng bảo vệ cuộc trò chuyện của bạn bằng OTR.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+# $msg (string) - the message that was received.
+msgevent-rcvdmsg-unencrypted = Tin nhắn sau nhận được từ { $name } không được mã hóa: { $msg }
+
+# Do not translate 'OTR' (name of an encryption protocol)
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-unrecognized = Bạn đã nhận được một tin nhắn OTR không xác định từ { $name }.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-for-other-instance = { $name } đã gửi một tin nhắn dành cho một phiên khác. Nếu bạn đăng nhập nhiều lần, một phiên khác có thể đã nhận được thông báo.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+context-gone-secure-private = Đã bắt đầu cuộc trò chuyện riêng tư với { $name }.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+context-gone-secure-unverified = Cuộc trò chuyện được mã hóa nhưng chưa được xác thực đã bắt đầu với { $name }.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+context-still-secure = Đã làm mới cuộc trò chuyện được mã hóa với { $name }.
+
+error-enc = Đã xảy ra lỗi khi mã hóa tin nhắn.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+error-not-priv = Bạn đã gửi dữ liệu được mã hóa đến { $name }, nhưng bên kia không nhận được như mong đợi.
+
+error-unreadable = Bạn đã truyền đi một tin nhắn được mã hóa không đọc được.
+error-malformed = Bạn đã truyền một tin nhắn dữ liệu không đúng định dạng.
+
+resent = [đã gửi lại]
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+tlv-disconnected = { $name } đã kết thúc cuộc trò chuyện được mã hóa của họ với bạn; bạn cũng nên làm vậy.
+
+# Do not translate "Off-the-Record" and "OTR" which is the name of an encryption protocol
+# Make sure that this string does NOT contain any numbers, e.g. like "3".
+# Variables:
+# $name (String) - the screen name of a chat contact person
+query-msg = { $name } đã yêu cầu một cuộc trò chuyện được mã hóa Off-the-Record (OTR). Tuy nhiên, bạn không có một plugin để hỗ trợ điều đó. Xem tại https://en.wikipedia.org/wiki/Off-the-Record_Messaging để biết thêm thông tin.
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/otr/otrUI.ftl b/thunderbird-l10n/vi/localization/vi/messenger/otr/otrUI.ftl
new file mode 100644
index 0000000000..efc9efdc28
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/otr/otrUI.ftl
@@ -0,0 +1,87 @@
+# 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/.
+
+start-label = Bắt đầu một cuộc trò chuyện được mã hóa
+refresh-label = Làm mới cuộc hội thoại được mã hóa
+auth-label = Xác minh danh tính liên hệ của bạn
+reauth-label = Xác minh lại danh tính liên hệ của bạn
+
+auth-cancel = Hủy bỏ
+auth-cancel-access-key = C
+
+auth-error = Đã xảy ra lỗi trong khi xác minh danh tính của liên hệ của bạn.
+auth-success = Hoàn tất xác minh danh tính liên hệ của bạn.
+auth-success-them = Liên hệ của bạn đã xác minh thành công danh tính của bạn. Bạn có thể muốn xác minh danh tính của họ bằng cách đặt câu hỏi của riêng bạn.
+auth-fail = Không thể xác minh danh tính của liên hệ của bạn.
+auth-waiting = Đang chờ liên hệ để hoàn tất xác minh…
+
+finger-verify = Xác minh
+finger-verify-access-key = V
+
+finger-ignore = Bỏ qua
+finger-ignore-access-key = I
+
+# Do not translate 'OTR' (name of an encryption protocol)
+buddycontextmenu-label = Thêm dấu vân tay OTR
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+alert-start = Đang thử bắt đầu một cuộc trò chuyện được mã hóa với { $name }.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+alert-refresh = Đang thử làm mới cuộc hội thoại được mã hóa bằng { $name }.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+alert-gone-insecure = Cuộc trò chuyện được mã hóa với { $name } đã kết thúc.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+finger-unseen = Danh tính của { $name } chưa được xác minh. Việc nghe lén thông thường là không thể, nhưng với một số nỗ lực ai đó có thể nghe được. Ngăn chặn sự giám sát bằng cách xác minh danh tính của người liên hệ này.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+finger-seen = { $name } đang liên hệ với bạn từ một máy tính không được nhận dạng. Việc nghe lén thông thường là không thể, nhưng với một số nỗ lực ai đó có thể nghe được. Ngăn chặn sự giám sát bằng cách xác minh danh tính của người liên hệ này.
+
+state-not-private = Cuộc trò chuyện hiện tại không riêng tư.
+state-generic-not-private = Cuộc trò chuyện hiện tại không riêng tư.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+state-unverified = Cuộc hội thoại hiện tại được mã hóa nhưng không riêng tư, vì danh tính của { $name } vẫn chưa được xác minh.
+
+state-generic-unverified = Cuộc trò chuyện hiện tại được mã hóa nhưng không riêng tư, vì một số danh tính vẫn chưa được xác minh.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+state-private = Danh tính của { $name } đã được xác minh. Cuộc trò chuyện hiện tại được mã hóa và riêng tư.
+
+state-generic-private = Cuộc trò chuyện hiện tại đã được mã hóa và riêng tư.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+state-finished = { $name } đã kết thúc cuộc trò chuyện được mã hóa của họ với bạn; bạn nên làm như vậy.
+
+state-not-private-label = Không an toàn
+state-unverified-label = Chưa xác minh
+state-private-label = Riêng tư
+state-finished-label = Hoàn tất
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+verify-request = { $name } đã yêu cầu xác minh danh tính của bạn.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+afterauth-private = Bạn đã xác minh danh tính của { $name }.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+afterauth-unverified = Danh tính của { $name } chưa được xác minh.
+
+# Do not translate 'OTR' (name of an encryption protocol)
+# Variables:
+# $error (String) - contains an error message that describes the cause of the failure
+otr-genkey-failed = Tạo khóa riêng OTR không thành công: { $error }
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/policies/aboutPolicies.ftl b/thunderbird-l10n/vi/localization/vi/messenger/policies/aboutPolicies.ftl
new file mode 100644
index 0000000000..e6d6970138
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/policies/aboutPolicies.ftl
@@ -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/.
+
+about-policies-title = Chính sách doanh nghiệp
+
+# 'Active' is used to describe the policies that are currently active
+active-policies-tab = Hoạt động
+errors-tab = Lỗi
+documentation-tab = Tài liệu
+
+no-specified-policies-message = Dịch vụ chính sách doanh nghiệp đang hoạt động nhưng không có chính sách nào được kích hoạt.
+inactive-message = Dịch vụ chính sách doanh nghiệp không hoạt động.
+
+policy-name = Tên chính sách
+policy-value = Giá trị chính sách
+policy-errors = Lỗi chính sách
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/policies/policies-descriptions.ftl b/thunderbird-l10n/vi/localization/vi/messenger/policies/policies-descriptions.ftl
new file mode 100644
index 0000000000..557c75a86f
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/policies/policies-descriptions.ftl
@@ -0,0 +1,159 @@
+# 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/.
+
+
+## The Enterprise Policies feature is aimed at system administrators
+## who want to deploy these settings across several Thunderbird installations
+## all at once. This is traditionally done through the Windows Group Policy
+## feature, but the system also supports other forms of deployment.
+## These are short descriptions for individual policies, to be displayed
+## in the documentation section in about:policies.
+
+policy-3rdparty = Đặt chính sách mà WebExtensions có thể truy cập thông qua chrome.storage.managed.
+
+policy-AppAutoUpdate = Bật hoặc tắt cập nhật chương trình tự động.
+
+policy-AppUpdatePin = Ngăn không cho cập nhật { -brand-short-name } ngoài phiên bản đã chỉ định.
+
+policy-AppUpdateURL = Đặt URL cập nhật ứng dụng tùy chỉnh.
+
+policy-Authentication = Định cấu hình xác thực tích hợp cho các trang web hỗ trợ nó.
+
+policy-BackgroundAppUpdate2 = Kích hoạt hoặc vô hiệu hóa trình cập nhật dưới nền.
+
+policy-BlockAboutAddons = Chặn quyền truy cập vào trình quản lý tiện ích (about:addons).
+
+policy-BlockAboutConfig = Chặn quyền truy cập vào trang about:config.
+
+policy-BlockAboutProfiles = Chặn quyền truy cập vào trang about:profiles.
+
+policy-BlockAboutSupport = Chặn quyền truy cập vào trang about:support.
+
+policy-CaptivePortal = Kích hoạt hoặc vô hiệu hóa hỗ trợ cổng bị khóa.
+
+policy-CertificatesDescription = Thêm chứng chỉ hoặc sử dụng chứng chỉ tích hợp.
+
+policy-Cookies = Cho phép hoặc từ chối các trang web để đặt cookie.
+
+policy-DisableBuiltinPDFViewer = Vô hiệu hóa PDF.js, trình xem PDF tích hợp trong { -brand-short-name }.
+
+policy-DisabledCiphers = Vô hiệu hóa thuật toán mã hóa.
+
+policy-DefaultDownloadDirectory = Đặt thư mục tải xuống mặc định.
+
+policy-DisableAppUpdate = Ngăn { -brand-short-name } cập nhật.
+
+policy-DisableDefaultClientAgent = Ngăn không cho tác nhân khách mặc định thực hiện bất kỳ hành động nào. Chỉ áp dụng cho Windows; các nền tảng khác không có tác nhân.
+
+policy-DisableDeveloperTools = Chặn quyền truy cập vào các công cụ dành cho nhà phát triển.
+
+policy-DisableFeedbackCommands = Tắt các lệnh để gửi phản hồi từ bảng chọn trợ giúp (gửi phản hồi và báo cáo trang web lừa đảo).
+
+policy-DisableForgetButton = Ngăn chặn truy cập vào nút Quên.
+
+policy-DisableFormHistory = Không lưu lịch sử tìm kiếm và biểu mẫu.
+
+policy-DisableMasterPasswordCreation = Nếu đúng, mật khẩu chính không thể được tạo ra.
+
+policy-DisablePasswordReveal = Không cho phép mật khẩu được tiết lộ trong thông tin đăng nhập đã lưu.
+
+policy-DisableProfileImport = Vô hiệu hóa lệnh menu để nhập dữ liệu từ một ứng dụng khác.
+
+policy-DisableSafeMode = Tắt tính năng này để khởi động lại ở chế độ an toàn. Lưu ý: phím Shift để vào chế độ an toàn chỉ có thể tắt trên Windows bằng Group Policy.
+
+policy-DisableSecurityBypass = Ngăn chặn người dùng bỏ qua các cảnh báo bảo mật nhất định.
+
+policy-DisableSystemAddonUpdate = Ngăn { -brand-short-name } cài đặt và cập nhật các tiện ích hệ thống.
+
+policy-DisableTelemetry = Tắt Telemetry.
+
+policy-DisplayMenuBar = Hiển thị thanh menu theo mặc định.
+
+policy-DNSOverHTTPS = Định cấu hình DNS qua HTTPS.
+
+policy-DontCheckDefaultClient = Vô hiệu hóa kiểm tra cho máy khách mặc định khi khởi động.
+
+policy-DownloadDirectory = Đặt và khóa thư mục tải xuống.
+
+# “lock” means that the user won’t be able to change this setting
+policy-EnableTrackingProtection = Bật hoặc tắt chặn nội dung và tùy chọn khóa nó.
+
+# “lock” means that the user won’t be able to change this setting
+policy-EncryptedMediaExtensions = Bật hoặc tắt tiện ích mở rộng phương tiện được mã hóa và tùy chọn khóa nó.
+
+# A “locked” extension can’t be disabled or removed by the user. This policy
+# takes 3 keys (“Install”, ”Uninstall”, ”Locked”), you can either keep them in
+# English or translate them as verbs.
+policy-Extensions = Cài đặt, gỡ cài đặt hoặc khóa tiện ích mở rộng. Tùy chọn cài đặt lấy URL hoặc đường dẫn làm tham số. Các tùy chọn gỡ cài đặt và khóa có ID tiện ích mở rộng.
+
+policy-ExtensionSettings = Quản lý các cài đặt cài đặt khác nhau cho tiện ích mở rộng.
+
+policy-ExtensionUpdate = Bật hoặc tắt cập nhật tiện ích mở rộng tự động.
+
+policy-Handlers = Cấu hình trình xử lý ứng dụng mặc định.
+
+policy-HardwareAcceleration = Nếu sai, tắt tăng tốc phần cứng.
+
+policy-InstallAddonsPermission = Cho phép các trang web nhất định để cài đặt tiện ích.
+
+policy-LegacyProfiles = Vô hiệu hóa tính năng thực thi một cấu hình riêng cho mỗi cài đặt.
+
+## Do not translate "SameSite", it's the name of a cookie attribute.
+
+policy-LegacySameSiteCookieBehaviorEnabled = Bật cài đặt hành vi cookie SameSite cũ mặc định.
+
+policy-LegacySameSiteCookieBehaviorEnabledForDomainList = Hoàn nguyên hành vi SameSite cũ cho cookie trên các trang web được chỉ định.
+
+##
+
+policy-LocalFileLinks = Cho phép các trang web cụ thể để liên kết đến các tập tin cục bộ.
+
+policy-ManualAppUpdateOnly = Chỉ cho phép cập nhật thủ công và không thông báo cho người dùng về các bản cập nhật.
+
+policy-NetworkPrediction = Kích hoạt hoặc vô hiệu hóa dự đoán mạng (tìm nạp trước DNS).
+
+policy-OfferToSaveLogins = Thực thi cài đặt để cho phép { -brand-short-name } cung cấp và ghi nhớ thông tin đăng nhập và mật khẩu đã lưu. Cả hai giá trị đúng và sai đều được chấp nhận.
+
+policy-OfferToSaveLoginsDefault = Đặt giá trị mặc định để cho phép { -brand-short-name } đề nghị ghi nhớ thông tin đăng nhập và mật khẩu đã lưu. Cả giá trị đúng và sai đều được chấp nhận.
+
+policy-OverrideFirstRunPage = Ghi đè trang chạy đầu tiên. Bỏ trống chính sách này nếu bạn muốn vô hiệu hóa trang chạy đầu tiên.
+
+policy-OverridePostUpdatePage = Ghi đè lên trang cập nhật "Có gì mới". Bỏ trống chính sách này nếu bạn muốn tắt trang cập nhật sau.
+
+policy-PasswordManagerEnabled = Cho phép lưu mật khẩu vào trình quản lý mật khẩu.
+
+# PDF.js and PDF should not be translated
+policy-PDFjs = Vô hiệu hóa hoặc định cấu hình PDF.js, trình xem PDF tích hợp trong { -brand-short-name }.
+
+policy-Permissions2 = Cấu hình quyền truy cập cho máy ảnh, micrô, vị trí, thông báo và tự động phát.
+
+policy-Preferences = Đặt và khóa giá trị cho một tập hợp con ưu tiên.
+
+policy-PrimaryPassword = Yêu cầu hoặc ngăn chặn việc sử dụng mật khẩu chính.
+
+policy-PromptForDownloadLocation = Hỏi nơi lưu tập tin khi tải xuống.
+
+policy-Proxy = Định cấu hình cài đặt proxy.
+
+policy-RequestedLocales = Đặt danh sách các ngôn ngữ được yêu cầu cho ứng dụng theo thứ tự ưu tiên.
+
+policy-SanitizeOnShutdown2 = Xóa dữ liệu điều hướng khi tắt máy.
+
+policy-SearchEngines = Cấu hình cài đặt công cụ tìm kiếm. Chính sách này chỉ có sẵn trên phiên bản phát hành hỗ trợ mở rộng (ESR).
+
+policy-SearchSuggestEnabled = Bật hoặc tắt đề xuất tìm kiếm.
+
+# For more information, see https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/PKCS11/Module_Installation
+policy-SecurityDevices = Cài đặt các mô-đun PKCS #11.
+
+policy-SSLVersionMax = Đặt phiên bản SSL tối đa.
+
+policy-SSLVersionMin = Đặt phiên bản SSL tối thiểu.
+
+policy-SupportMenu = Thêm một mục menu hỗ trợ tùy chỉnh vào menu trợ giúp.
+
+policy-UserMessaging = Không hiển thị một số thông điệp nhất định cho người dùng.
+
+# “format” refers to the format used for the value of this policy.
+policy-WebsiteFilter = Chặn các trang web không được truy cập. Xem tài liệu để biết thêm chi tiết về định dạng.
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/preferences/am-copies.ftl b/thunderbird-l10n/vi/localization/vi/messenger/preferences/am-copies.ftl
new file mode 100644
index 0000000000..11dee6b327
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/preferences/am-copies.ftl
@@ -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/.
+
+account-prefs-show-address-row-description = Để trống trường địa chỉ để luôn hiển thị hàng địa chỉ khi bắt đầu một thư mới.
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/preferences/am-im.ftl b/thunderbird-l10n/vi/localization/vi/messenger/preferences/am-im.ftl
new file mode 100644
index 0000000000..4b327bd121
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/preferences/am-im.ftl
@@ -0,0 +1,23 @@
+# 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/.
+
+account-settings-title = Cài đặt xác thực
+account-channel-title = Kênh mặc định
+
+chat-autologin =
+ .label = Đăng nhập khi khởi động
+
+chat-encryption-generic = Chung
+chat-encryption-log =
+ .label = Bao gồm các thư được mã hóa đầu cuối trong nhật ký hội thoại
+chat-encryption-label = Mã hóa đầu cuối
+chat-encryption-description = { $protocol } cung cấp mã hóa đầu cuối cho các tin nhắn trò chuyện. Điều này ngăn các bên thứ ba nghe trộm cuộc trò chuyện. Có thể yêu cầu thiết lập bổ sung bên dưới để mã hóa hoạt động.
+chat-encryption-status = Trạng thái mã hóa
+chat-encryption-placeholder = Chưa khởi tạo mã hóa.
+chat-encryption-sessions = Phiên
+chat-encryption-sessions-description = Để mã hóa đầu cuối hoạt động chính xác, bạn phải tin tưởng vào các phiên khác hiện đã đăng nhập vào tài khoản của bạn. Tương tác với client khác là cần thiết để xác minh một phiên. Việc xác minh một phiên có thể dẫn đến tất cả các phiên mà phiên đó tin tưởng cũng được { -brand-short-name } tin cậy.
+chat-encryption-session-verify = xác nhận
+ .title = Xác minh danh tính của phiên này
+chat-encryption-session-trusted = đáng tin cậy
+ .title = Danh tính của phiên này đã được xác minh
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/preferences/application-manager.ftl b/thunderbird-l10n/vi/localization/vi/messenger/preferences/application-manager.ftl
new file mode 100644
index 0000000000..c1a5d94044
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/preferences/application-manager.ftl
@@ -0,0 +1,10 @@
+# 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/.
+
+app-manager-window-dialog2 =
+ .title = Chi tiết ứng dụng
+app-manager-dialog-title = Chi tiết ứng dụng
+remove-app-button =
+ .label = Xóa
+ .accesskey = R
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/preferences/attachment-reminder.ftl b/thunderbird-l10n/vi/localization/vi/messenger/preferences/attachment-reminder.ftl
new file mode 100644
index 0000000000..36213b6885
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/preferences/attachment-reminder.ftl
@@ -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/.
+
+attachment-reminder-window =
+ .title = Từ khóa lời nhắc về đính kèm
+attachment-reminder-dialog-title = Từ khóa lời nhắc về đính kèm
+attachment-reminder-label = { -brand-short-name } sẽ cảnh báo bạn về các tập tin đính kèm bị thiếu nếu bạn sắp gửi e-mail chứa một trong những từ khóa này.
+keyword-new-button =
+ .label = Mới…
+ .accesskey = N
+keyword-edit-button =
+ .label = Chỉnh sửa…
+ .accesskey = E
+keyword-remove-button =
+ .label = Xóa
+ .accesskey = D
+new-keyword-title = Từ khóa mới
+new-keyword-label = Từ khóa:
+edit-keyword-title = Chỉnh sửa từ khóa
+edit-keyword-label = Từ khóa:
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/preferences/colors.ftl b/thunderbird-l10n/vi/localization/vi/messenger/preferences/colors.ftl
new file mode 100644
index 0000000000..d886a05b2f
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/preferences/colors.ftl
@@ -0,0 +1,36 @@
+# 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/.
+
+colors-dialog-window2 =
+ .title = Màu
+colors-dialog-title = Màu
+colors-dialog-legend = Văn bản và nền
+text-color-label =
+ .value = Văn bản:
+ .accesskey = T
+background-color-label =
+ .value = Nền:
+ .accesskey = B
+use-system-colors =
+ .label = Dùng màu sắc của hệ thống
+ .accesskey = s
+colors-link-legend = Màu liên kết
+link-color-label =
+ .value = Liên kết chưa truy cập:
+ .accesskey = L
+visited-link-color-label =
+ .value = Liên kết đã truy cập:
+ .accesskey = V
+underline-link-checkbox =
+ .label = Các liên kết được gạch chân
+ .accesskey = U
+override-color-label =
+ .value = Ghi đè các màu được chỉ định bởi nội dung bằng các lựa chọn của tôi ở trên:
+ .accesskey = O
+override-color-always =
+ .label = Luôn luôn
+override-color-auto =
+ .label = Chỉ trong các chủ đề có độ tương phản cao
+override-color-never =
+ .label = Không bao giờ
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/preferences/connection.ftl b/thunderbird-l10n/vi/localization/vi/messenger/preferences/connection.ftl
new file mode 100644
index 0000000000..b99e7280e5
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/preferences/connection.ftl
@@ -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/.
+
+connection-dns-over-https-url-resolver = Sử dụng nhà cung cấp
+ .accesskey = r
+# Variables:
+# $name (String) - Display name or URL for the DNS over HTTPS provider
+connection-dns-over-https-url-item-default =
+ .label = { $name } (Mặc định)
+ .tooltiptext = Sử dụng URL mặc định để xử lý DNS qua HTTPS
+connection-dns-over-https-url-custom =
+ .label = Tùy chỉnh
+ .accesskey = C
+ .tooltiptext =
+ Nhập URL ưa thích của bạn để giải quyết DNS qua HTTPS
+ Nhập URL ưa thích của bạn để giải quyết DNS qua HTTPS
+ Nhập URL ưa thích của bạn để giải quyết DNS qua HTTPS
+ Nhập URL ưa thích của bạn để xử lí DNS qua HTTPS
+connection-dns-over-https-custom-label = Tùy chỉnh
+connection-dialog-window2 =
+ .title = Cài đặt kết nối
+connection-dialog-title = Cài đặt kết nối
+disable-extension-button = Vô hiệu hóa tiện ích mở rộng
+# Variables:
+# $name (String) - The extension that is controlling the proxy settings.
+#
+# The extension-icon is the extension's icon, or a fallback image. It should be
+# purely decoration for the actual extension name, with alt="".
+proxy-settings-controlled-by-extension = Một tiện ích mở rộng, <img data-l10n-name="extension-icon" alt="" /> { $name }, đang kiểm soát cách { -brand-short-name } kết nối internet.
+connection-proxy-legend = Định cấu hình proxy để truy cập Internet
+proxy-type-no =
+ .label = Không dùng proxy
+ .accesskey = y
+proxy-type-wpad =
+ .label = Tự động phát hiện cài đặt proxy cho mạng này
+ .accesskey = w
+proxy-type-system =
+ .label = Sử dụng cài đặt proxy của hệ thống
+ .accesskey = u
+proxy-type-manual =
+ .label = Cấu hình proxy thủ công:
+ .accesskey = m
+proxy-http-label =
+ .value = Proxy HTTP:
+ .accesskey = h
+http-port-label =
+ .value = Cổng:
+ .accesskey = p
+proxy-http-sharing =
+ .label = Đồng thời sử dụng proxy này cho HTTPS
+ .accesskey = x
+proxy-https-label =
+ .value = HTTPS Proxy:
+ .accesskey = S
+ssl-port-label =
+ .value = Cổng:
+ .accesskey = o
+proxy-socks-label =
+ .value = Máy chủ SOCKS:
+ .accesskey = c
+socks-port-label =
+ .value = Cổng:
+ .accesskey = t
+proxy-socks4-label =
+ .label = SOCKS v4
+ .accesskey = k
+proxy-socks5-label =
+ .label = SOCKS v5
+ .accesskey = v
+proxy-type-auto =
+ .label = URL cấu hình proxy tự động:
+ .accesskey = A
+proxy-reload-label =
+ .label = Tải lại
+ .accesskey = l
+no-proxy-label =
+ .value = Không dùng proxy cho:
+ .accesskey = n
+no-proxy-example = Ví dụ: .mozilla.org, .net.nz, 192.168.1.0/24
+# Do not translate "localhost", "127.0.0.1/8" and "::1". (You can translate "and".)
+connection-proxy-noproxy-localhost-desc-2 = Kết nối đến localhost, 127.0.0.1/8, và ::1 không bao giờ dùng proxy.
+proxy-password-prompt =
+ .label = Không yêu cầu xác nhận nếu đã lưu mật khẩu
+ .accesskey = i
+ .tooltiptext = Tùy chọn này âm thầm xác thực bạn với proxy khi bạn đã lưu thông tin đăng nhập cho họ. Bạn sẽ được nhắc nếu xác thực thất bại.
+proxy-remote-dns =
+ .label = DNS của proxy khi dùng SOCKS v5
+ .accesskey = d
+proxy-enable-doh =
+ .label = Kích hoạt DNS qua HTTPS
+ .accesskey = b
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/preferences/cookies.ftl b/thunderbird-l10n/vi/localization/vi/messenger/preferences/cookies.ftl
new file mode 100644
index 0000000000..ded5e099a9
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/preferences/cookies.ftl
@@ -0,0 +1,44 @@
+# 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/.
+
+cookies-window-dialog2 =
+ .title = Cookie
+cookies-dialog-title = Cookie
+window-close-key =
+ .key = w
+window-focus-search-key =
+ .key = f
+window-focus-search-alt-key =
+ .key = k
+filter-search-label =
+ .value = Tìm:
+ .accesskey = S
+cookies-on-system-label = Các cookie sau được lưu trong máy tính của bạn:
+treecol-site-header =
+ .label = Trang
+treecol-name-header =
+ .label = Tên cookie
+props-name-label =
+ .value = Tên:
+props-value-label =
+ .value = Nội dung:
+props-domain-label =
+ .value = Máy chủ:
+props-path-label =
+ .value = Đường dẫn:
+props-secure-label =
+ .value = Gửi cho:
+props-expires-label =
+ .value = Hết hạn:
+props-container-label =
+ .value = Ngăn chứa:
+remove-cookie-button =
+ .label = Xóa cookie
+ .accesskey = R
+remove-all-cookies-button =
+ .label = Xóa tất cả cookie
+ .accesskey = A
+cookie-close-button =
+ .label = Đóng
+ .accesskey = C
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/preferences/dock-options.ftl b/thunderbird-l10n/vi/localization/vi/messenger/preferences/dock-options.ftl
new file mode 100644
index 0000000000..1f9e90838a
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/preferences/dock-options.ftl
@@ -0,0 +1,23 @@
+# 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/.
+
+dock-options-window-dialog2 =
+ .title = Tùy chọn biểu tượng ứng dụng
+dock-options-dialog-title = Tùy chọn biểu tượng ứng dụng
+dock-options-show-badge =
+ .label = Hiển thị biểu tượng huy hiệu
+ .accesskey = b
+bounce-system-dock-icon =
+ .label = Hoạt ảnh biểu tượng ứng dụng khi có thư mới
+ .accesskey = i
+dock-icon-legend = Huy hiệu biểu tượng ứng dụng
+dock-icon-show-label =
+ .value = Biểu tượng ứng dụng huy hiệu với:
+count-unread-messages-radio =
+ .label = Đếm số tin nhắn chưa đọc
+ .accesskey = u
+count-new-messages-radio =
+ .label = Đếm số tin nhắn mới
+ .accesskey = n
+notification-settings-info2 = Bạn có thể tắt huy hiệu trên ngăn thông báo của cài đặt hệ thống.
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/preferences/fonts.ftl b/thunderbird-l10n/vi/localization/vi/messenger/preferences/fonts.ftl
new file mode 100644
index 0000000000..edf7ec208d
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/preferences/fonts.ftl
@@ -0,0 +1,134 @@
+# 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/.
+
+fonts-dialog-title = Phông chữ
+fonts-window-close =
+ .key = w
+# Variables:
+# $name {string, "Arial"} - Name of the default font
+fonts-label-default =
+ .label = Mặc định ({ $name })
+fonts-label-default-unnamed =
+ .label = Mặc định
+fonts-encoding-dialog-title =
+ .title = Phông chữ & bảng mã
+fonts-language-legend =
+ .value = Phông chữ cho:
+ .accesskey = t
+fonts-proportional-label =
+ .value = Tỷ lệ:
+ .accesskey = P
+
+## Languages
+
+# Note: Translate "Latin" as the name of Latin (Roman) script, not as the name of the Latin language.
+font-language-group-latin =
+ .label = Latin
+font-language-group-japanese =
+ .label = Nhật Bản
+font-language-group-trad-chinese =
+ .label = Hoa Phồn Thể (Đài Loan)
+font-language-group-simpl-chinese =
+ .label = Hoa Giản Thể
+font-language-group-trad-chinese-hk =
+ .label = Hoa Phồn Thể (Hồng Kông)
+font-language-group-korean =
+ .label = Hàn Quốc
+font-language-group-cyrillic =
+ .label = Kirin
+font-language-group-el =
+ .label = Hi Lạp
+font-language-group-other =
+ .label = Hệ thống chữ viết khác
+font-language-group-thai =
+ .label = Thái
+font-language-group-hebrew =
+ .label = Do Thái
+font-language-group-arabic =
+ .label = Ả Rập
+font-language-group-devanagari =
+ .label = Devanagari
+font-language-group-tamil =
+ .label = Tamil
+font-language-group-armenian =
+ .label = Armenia
+font-language-group-bengali =
+ .label = Băng-gan
+font-language-group-canadian =
+ .label = Kí hiệu Âm tiết Canađa Thống nhất
+font-language-group-ethiopic =
+ .label = Ethiopic
+font-language-group-georgian =
+ .label = Gruzia
+font-language-group-gujarati =
+ .label = Gujarat
+font-language-group-gurmukhi =
+ .label = Gurmukhi
+font-language-group-khmer =
+ .label = Khơ-me
+font-language-group-malayalam =
+ .label = Malayalam
+font-language-group-math =
+ .label = Mathematics
+font-language-group-odia =
+ .label = Tiếng Odia
+font-language-group-telugu =
+ .label = Tiếng Telugu
+font-language-group-kannada =
+ .label = Tiếng Kannada
+font-language-group-sinhala =
+ .label = Tiếng Sinhala
+font-language-group-tibetan =
+ .label = Tiếng Tibetan
+
+## Default font type
+
+default-font-serif =
+ .label = Serif
+default-font-sans-serif =
+ .label = Sans Serif
+font-size-proportional-label =
+ .value = Kích cỡ:
+ .accesskey = e
+font-size-monospace-label =
+ .value = Kích cỡ:
+ .accesskey = i
+font-serif-label =
+ .value = Serif:
+ .accesskey = S
+font-sans-serif-label =
+ .value = Sans-serif:
+ .accesskey = n
+font-monospace-label =
+ .value = Monospace:
+ .accesskey = M
+font-min-size-label =
+ .value = Cỡ phông tối thiểu:
+ .accesskey = z
+min-size-none =
+ .label = Không
+
+## Fonts in message
+
+font-control-legend = Điều chỉnh phông chữ
+use-document-fonts-checkbox =
+ .label = Cho phép thư sử dụng phông chữ khác
+ .accesskey = o
+use-fixed-width-plain-checkbox =
+ .label = Sử dụng phông chữ có chiều rộng cố định cho thư văn bản thuần túy
+ .accesskey = x
+
+## Language settings
+
+text-encoding-legend = Bảng mã văn bản
+text-encoding-description = Đặt mã hóa văn bản mặc định để gửi và nhận thư
+font-outgoing-email-label =
+ .value = Thư gửi đi:
+ .accesskey = u
+font-incoming-email-label =
+ .value = Thư đến:
+ .accesskey = I
+default-font-reply-checkbox =
+ .label = Khi có thể, sử dụng mã hóa văn bản mặc định trong trả lời
+ .accesskey = h
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/preferences/languages.ftl b/thunderbird-l10n/vi/localization/vi/messenger/preferences/languages.ftl
new file mode 100644
index 0000000000..d38249c63c
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/preferences/languages.ftl
@@ -0,0 +1,33 @@
+# 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/.
+
+languages-customize-moveup =
+ .label = Di chuyển lên
+ .accesskey = U
+languages-customize-movedown =
+ .label = Di chuyển xuống
+ .accesskey = D
+languages-customize-remove =
+ .label = Xóa
+ .accesskey = R
+languages-customize-select-language =
+ .placeholder = Chọn một ngôn ngữ để thêm...
+languages-customize-add =
+ .label = Thêm
+ .accesskey = A
+messenger-languages-window2 =
+ .title = Cài đặt ngôn ngữ { -brand-short-name }
+messenger-languages-dialog-title = Cài đặt ngôn ngữ { -brand-short-name }
+messenger-languages-description = { -brand-short-name } sẽ hiển thị ngôn ngữ mà bạn đã chọn làm mặc định và sẽ hiển thị ngôn ngữ khác nếu cần thiết được sắp xếp theo thứ tự mà chúng xuất hiện.
+messenger-languages-search = Tìm kiếm thêm ngôn ngữ...
+messenger-languages-searching =
+ .label = Đang tìm kiếm ngôn ngữ...
+messenger-languages-downloading =
+ .label = Đang tải xuống…
+messenger-languages-select-language =
+ .label = Chọn một ngôn ngữ để thêm...
+ .placeholder = Chọn một ngôn ngữ để thêm...
+messenger-languages-installed-label = Ngôn ngữ đã cài đặt
+messenger-languages-available-label = Ngôn ngữ có sẵn
+messenger-languages-error = { -brand-short-name } không thể cập nhật ngôn ngữ của bạn ngay bây giờ. Kiểm tra kết nối internet và thử lại.
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/preferences/new-tag.ftl b/thunderbird-l10n/vi/localization/vi/messenger/preferences/new-tag.ftl
new file mode 100644
index 0000000000..c42907ead0
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/preferences/new-tag.ftl
@@ -0,0 +1,13 @@
+# 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/.
+
+tag-dialog-window =
+ .title = Nhãn mới
+tag-dialog-title = Nhãn mới
+tag-name-label =
+ .value = Tên nhãn:
+ .accesskey = T
+tag-color-label =
+ .value = Màu:
+ .accesskey = C
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/preferences/notifications.ftl b/thunderbird-l10n/vi/localization/vi/messenger/preferences/notifications.ftl
new file mode 100644
index 0000000000..8be8917682
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/preferences/notifications.ftl
@@ -0,0 +1,29 @@
+# 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/.
+
+notifications-dialog-window =
+ .title = Tùy chỉnh thông báo thư mới
+notifications-dialog-title = Tùy chỉnh thông báo thư mới
+customize-alert-description = Chọn các trường muốn hiện trong thông báo:
+preview-text-checkbox =
+ .label = Xem trước thư văn bản
+ .accesskey = M
+subject-checkbox =
+ .label = Tiêu đề
+ .accesskey = S
+sender-checkbox =
+ .label = Người gửi
+ .accesskey = e
+
+## Note: open-time-label-before is displayed first, then there's a field where
+## the user can enter a number, and open-time-label-after is displayed at the end
+## of the line. The translations of the open-time-label-before and open-time-label-after
+## parts don't have to mean the exact same thing as in English; please try instead
+## to translate the whole sentence.
+
+open-time-label-before =
+ .value = Hiển thị thông báo thư mới trong
+ .accesskey = N
+open-time-label-after =
+ .value = giây
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/preferences/offline.ftl b/thunderbird-l10n/vi/localization/vi/messenger/preferences/offline.ftl
new file mode 100644
index 0000000000..03972fddda
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/preferences/offline.ftl
@@ -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/.
+
+offline-dialog-window =
+ .title = Cài đặt ngoại tuyến
+offline-dialog-title = Cài đặt ngoại tuyến
+autodetect-online-label =
+ .label = Tự động theo dõi trạng thái trực tuyến được phát hiện
+ .accesskey = d
+offline-preference-startup-label = Trạng thái thủ công khi khởi động:
+status-radio-remember =
+ .label = Ghi nhớ tình trạng trực tuyến trước đó
+ .accesskey = R
+status-radio-ask =
+ .label = Hỏi tôi về trạng thái trực tuyến
+ .accesskey = k
+status-radio-always-online =
+ .label = Trực tuyến
+ .accesskey = l
+status-radio-always-offline =
+ .label = Ngoại tuyến
+ .accesskey = f
+going-online-label = Gửi những thư chưa gửi khi trực tuyến?
+going-online-auto =
+ .label = Có
+ .accesskey = Y
+going-online-not =
+ .label = Không
+ .accesskey = N
+going-online-ask =
+ .label = Hỏi tôi
+ .accesskey = s
+going-offline-label = Tải thư để sử dụng ngoại tuyến khi rời mạng?
+going-offline-auto =
+ .label = Có
+ .accesskey = e
+going-offline-not =
+ .label = Không
+ .accesskey = o
+going-offline-ask =
+ .label = Hỏi tôi
+ .accesskey = a
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/preferences/passwordManager.ftl b/thunderbird-l10n/vi/localization/vi/messenger/preferences/passwordManager.ftl
new file mode 100644
index 0000000000..f283a1aea2
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/preferences/passwordManager.ftl
@@ -0,0 +1,83 @@
+# 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/.
+
+saved-logins =
+ .title = Đăng nhập đã lưu
+saved-logins-title = Thông tin đăng nhập đã lưu
+window-close =
+ .key = w
+focus-search-primary-shortcut =
+ .key = f
+focus-search-alt-shortcut =
+ .key = k
+copy-provider-url-cmd =
+ .label = Sao chép URL
+ .accesskey = y
+copy-username-cmd =
+ .label = Sao chép tên đăng nhập
+ .accesskey = U
+edit-username-cmd =
+ .label = Chỉnh sửa tên đăng nhập
+ .accesskey = d
+copy-password-cmd =
+ .label = Sao chép mật khẩu
+ .accesskey = C
+edit-password-cmd =
+ .label = Chỉnh sửa mật khẩu
+ .accesskey = E
+search-filter =
+ .accesskey = S
+ .placeholder = Tìm kiếm
+column-heading-provider =
+ .label = Nhà cung cấp
+column-heading-username =
+ .label = Tên đăng nhập
+column-heading-password =
+ .label = Mật khẩu
+column-heading-time-created =
+ .label = Sử dụng lần đầu
+column-heading-time-last-used =
+ .label = Sử dụng lần cuối
+column-heading-time-password-changed =
+ .label = Thay đổi lần cuối
+column-heading-times-used =
+ .label = Số lần sử dụng
+remove =
+ .label = Xóa
+ .accesskey = R
+import =
+ .label = Nhập…
+ .accesskey = I
+password-close-button =
+ .label = Đóng
+ .accesskey = C
+show-passwords =
+ .label = Hiện mật khẩu
+ .accesskey = P
+hide-passwords =
+ .label = Ẩn mật khẩu
+ .accesskey = P
+logins-description-all = Thông tin đăng nhập cho các nhà cung cấp sau được lưu trữ trên máy tính của bạn
+logins-description-filtered = Các thông tin đăng nhập sau phù hợp với tìm kiếm của bạn:
+remove-all =
+ .label = Xóa tất cả
+ .accesskey = A
+remove-all-shown =
+ .label = Xóa tất cả được hiển thị
+ .accesskey = A
+remove-all-passwords-prompt = Bạn có chắc bạn muốn xóa tất cả mật khẩu?
+remove-all-passwords-title = Xóa tất cả mật khẩu
+no-master-password-prompt = Bạn có chắc bạn muốn hiện các mật khẩu của mình?
+
+## OS Authentication dialog
+
+# This message can be seen by trying to show or copy the passwords.
+password-os-auth-dialog-message = Xác nhận danh tính của bạn để hiển thị mật khẩu đã lưu.
+# This message can be seen by trying to show or copy the passwords.
+# The macOS strings are preceded by the operating system with "Thunderbird is trying to "
+# and includes subtitle of "Enter password for the user "xxx" to allow this." These
+# notes are only valid for English. Please test in your locale.
+password-os-auth-dialog-message-macosx = hiển thị mật khẩu đã lưu
+# Don't change this label.
+password-os-auth-dialog-caption = { -brand-full-name }
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/preferences/permissions.ftl b/thunderbird-l10n/vi/localization/vi/messenger/preferences/permissions.ftl
new file mode 100644
index 0000000000..d023353e5a
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/preferences/permissions.ftl
@@ -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/.
+
+permissions-reminder-window2 =
+ .title = Ngoại trừ
+permissions-dialog-title = Ngoại trừ
+permission-preferences-close-window =
+ .key = w
+website-address-label =
+ .value = Địa chỉ của trang web:
+ .accesskey = d
+block-button =
+ .label = Chặn
+ .accesskey = B
+allow-session-button =
+ .label = Cho phép theo phiên
+ .accesskey = n
+allow-button =
+ .label = Cho phép
+ .accesskey = A
+treehead-sitename-label =
+ .label = Trang
+treehead-status-label =
+ .label = Trạng thái
+remove-site-button =
+ .label = Xóa trang
+ .accesskey = R
+remove-all-site-button =
+ .label = Xóa hết các trang này
+ .accesskey = e
+cancel-button =
+ .label = Hủy bỏ
+ .accesskey = C
+save-button =
+ .label = Lưu thay đổi
+ .accesskey = S
+permission-can-label = Cho phép
+permission-can-access-first-party-label = Chỉ chấp nhận bên thứ nhất
+permission-can-session-label = Cho phép theo phiên
+permission-cannot-label = Chặn
+invalid-uri-message = Vui lòng nhập tên máy chủ hợp lệ
+invalid-uri-title = Tên máy chủ không hợp lệ
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/preferences/preferences.ftl b/thunderbird-l10n/vi/localization/vi/messenger/preferences/preferences.ftl
new file mode 100644
index 0000000000..213d16b3f0
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/preferences/preferences.ftl
@@ -0,0 +1,789 @@
+# 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/.
+
+close-button =
+ .aria-label = Đóng
+preferences-doc-title2 = Cài đặt
+category-list =
+ .aria-label = Thể loại
+pane-general-title = Tổng quát
+category-general =
+ .tooltiptext = { pane-general-title }
+pane-compose-title = Soạn thảo
+category-compose =
+ .tooltiptext = Soạn thảo
+pane-privacy-title = Riêng tư & Bảo mật
+category-privacy =
+ .tooltiptext = Riêng tư & Bảo mật
+pane-chat-title = Trò chuyện
+category-chat =
+ .tooltiptext = Trò chuyện
+pane-calendar-title = Lịch
+category-calendar =
+ .tooltiptext = Lịch
+pane-sync-title = Đồng bộ hóa
+category-sync =
+ .tooltiptext = Đồng bộ hóa
+general-language-and-appearance-header = Ngôn ngữ & giao diện
+general-incoming-mail-header = Thư đến:
+general-files-and-attachment-header = Tập tin & đính kèm
+general-tags-header = Nhãn
+general-reading-and-display-header = Đọc & hiển thị
+general-updates-header = Cập nhật
+general-network-and-diskspace-header = Mạng & dung lượng trống
+general-indexing-label = Chỉ mục
+composition-category-header = Soạn thảo
+composition-attachments-header = Đính kèm
+composition-spelling-title = Chính tả
+compose-html-style-title = Phong cách HTML
+composition-addressing-header = Địa chỉ
+privacy-main-header = Riêng tư
+privacy-passwords-header = Mật khẩu
+privacy-junk-header = Thư rác
+collection-header = Thu thập và sử dụng dữ liệu { -brand-short-name }
+collection-description = Chúng tôi cố gắng cung cấp cho bạn sự lựa chọn và chỉ thu thập những gì chúng tôi cần để cung cấp và cải thiện { -brand-short-name } cho tất cả mọi người. Chúng tôi luôn xin phép trước khi thu thập thông tin cá nhân.
+collection-privacy-notice = Chính sách riêng tư
+collection-health-report-telemetry-disabled = Bạn không còn cho phép { -vendor-short-name } thu thập dữ liệu kỹ thuật và tương tác. Tất cả dữ liệu trong quá khứ sẽ bị xóa trong vòng 30 ngày.
+collection-health-report-telemetry-disabled-link = Tìm hiểu thêm
+collection-health-report =
+ .label = Cho phép { -brand-short-name } gửi dữ liệu kỹ thuật và tương tác tới { -vendor-short-name }
+ .accesskey = r
+collection-health-report-link = Tìm hiểu thêm
+# This message is displayed above disabled data sharing options in developer builds
+# or builds with no Telemetry support available.
+collection-health-report-disabled = Dữ liệu báo cáo bị vô hiệu hóa với cấu hình này
+collection-backlogged-crash-reports =
+ .label = Cho phép { -brand-short-name } thay bạn gửi các báo cáo sự cố còn tồn đọng
+ .accesskey = c
+collection-backlogged-crash-reports-link = Tìm hiểu thêm
+privacy-security-header = Bảo mật
+privacy-scam-detection-title = Phát hiện lừa đảo
+privacy-anti-virus-title = Trình chống vi-rút
+privacy-certificates-title = Chứng nhận
+chat-pane-header = Trò chuyện
+chat-status-title = Trạng thái
+chat-notifications-title = Thông báo
+chat-pane-styling-header = Kiểu dáng
+choose-messenger-language-description = Chọn ngôn ngữ được sử dụng để hiển thị menu, tin nhắn và thông báo từ { -brand-short-name }.
+manage-messenger-languages-button =
+ .label = Tùy chỉnh…
+ .accesskey = l
+confirm-messenger-language-change-description = Khởi động lại { -brand-short-name } để áp dụng những thay đổi này
+confirm-messenger-language-change-button = Áp dụng và khởi động lại
+update-setting-write-failure-title = Lỗi khi lưu tùy chọn cập nhật
+# Variables:
+# $path (String) - Path to the configuration file
+# The newlines between the main text and the line containing the path is
+# intentional so the path is easier to identify.
+update-setting-write-failure-message =
+ { -brand-short-name } đã gặp lỗi và đã không lưu thay đổi này. Lưu ý rằng thiết lập tùy chọn cập nhật này yêu cầu quyền ghi vào tập tin bên dưới. Bạn hoặc quản trị viên hệ thống có thể giải quyết lỗi bằng cách cấp cho nhóm người dùng toàn quyền kiểm soát tập tin này.
+
+ Không thể ghi vào tập tin: { $path }
+update-in-progress-title = Đang cập nhật
+update-in-progress-message = Bạn có muốn { -brand-short-name } tiếp tục với bản cập nhật này không?
+update-in-progress-ok-button = &Loại bỏ
+# Continue is the cancel button so pressing escape or using a platform standard
+# method of closing the UI will not discard the update.
+update-in-progress-cancel-button = &Tiếp tục
+account-button = Cài đặt tài khoản
+open-addons-sidebar-button = Tiện ích mở rộng và chủ đề
+
+## OS Authentication dialog
+
+# This message can be seen by trying to add a Primary Password.
+primary-password-os-auth-dialog-message-win = Để tạo mật khẩu chính, hãy nhập thông tin đăng nhập Windows của bạn. Điều này giúp bảo vệ tính bảo mật của tài khoản của bạn.
+# This message can be seen by trying to add a Primary Password.
+# The macOS strings are preceded by the operating system with "Thunderbird is trying to "
+# and includes subtitle of "Enter password for the user "xxx" to allow this." These
+# notes are only valid for English. Please test in your locale.
+primary-password-os-auth-dialog-message-macosx = tạo một mật khẩu chính
+# Don't change this label.
+master-password-os-auth-dialog-caption = { -brand-full-name }
+
+## General Tab
+
+focus-search-shortcut =
+ .key = f
+focus-search-shortcut-alt =
+ .key = k
+general-legend = Trang khởi động { -brand-short-name }
+start-page-label =
+ .label = Khi { -brand-short-name } khởi động, hiển thị trang bắt đầu trong vùng hiển thị thư
+ .accesskey = W
+location-label =
+ .value = Địa chỉ:
+ .accesskey = o
+restore-default-label =
+ .label = Khôi phục về mặc định
+ .accesskey = R
+default-search-engine = Công cụ tìm kiếm mặc định
+add-web-search-engine =
+ .label = Thêm…
+ .accesskey = a
+remove-search-engine =
+ .label = Xóa
+ .accesskey = v
+add-opensearch-provider-title = Thêm nhà cung cấp OpenSearch
+add-opensearch-provider-text = Nhập URL của nhà cung cấp OpenSearch để thêm. Sử dụng URL trực tiếp của dập tin mô tả OpenSearch, hoặc một URL mànó có thể được tự động phát hiện.
+adding-opensearch-provider-failed-title = Thêm nhà cung cấp OpenSearch không thành công
+# Variables:
+# $url (String) - URL an OpenSearch provider was requested for.
+adding-opensearch-provider-failed-text = Không thể thêm nhà cung cấp OpenSearch cho { $url }.
+minimize-to-tray-label =
+ .label = Khi { -brand-short-name } đã thu nhỏ, di chuyển nó vào khay
+ .accesskey = m
+new-message-arrival = Khi có thư mới:
+mail-play-sound-label =
+ .label =
+ { PLATFORM() ->
+ [macos] Phát tập tin âm thanh sau:
+ *[other] Phát ra âm thanh
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] d
+ *[other] d
+ }
+mail-play-button =
+ .label = Phát
+ .accesskey = P
+change-dock-icon = Thay đổi tùy chọn cho biểu tượng ứng dụng
+app-icon-options =
+ .label = Tùy chọn biểu tượng ứng dụng…
+ .accesskey = n
+notification-settings2 = Có thể tắt cảnh báo và âm thanh mặc định trên ngăn thông báo của cài đặt hệ thống.
+animated-alert-label =
+ .label = Hiển thị thông báo
+ .accesskey = S
+customize-alert-label =
+ .label = Tùy biến…
+ .accesskey = C
+biff-use-system-alert =
+ .label = Sử dụng thông báo hệ thống
+tray-icon-unread-label =
+ .label = Hiển thị biểu tượng khay cho các tin nhắn chưa đọc
+ .accesskey = t
+tray-icon-unread-description = Được đề xuất khi sử dụng các nút trên thanh tác vụ nhỏ
+mail-system-sound-label =
+ .label = Âm thanh mặc định của hệ thống khi có thư mới
+ .accesskey = D
+mail-custom-sound-label =
+ .label = Sử dụng tập tin âm thanh sau
+ .accesskey = U
+mail-browse-sound-button =
+ .label = Duyệt…
+ .accesskey = B
+enable-gloda-search-label =
+ .label = Cho phép tìm kiếm và lập chỉ mục đầy đủ
+ .accesskey = G
+datetime-formatting-legend = Định dạng ngày và giờ
+language-selector-legend = Ngôn ngữ
+allow-hw-accel =
+ .label = Sử dụng chế độ tăng tốc phần cứng khi khả dụng
+ .accesskey = h
+store-type-label =
+ .value = Kiểu lưu trữ thư cho tài khoản mới:
+ .accesskey = T
+mbox-store-label =
+ .label = Tập tin trên mỗi thư mục (mbox)
+maildir-store-label =
+ .label = Tập tin trên mỗi thư (maildir)
+scrolling-legend = Cuộn
+autoscroll-label =
+ .label = Sử dụng tự động cuộn
+ .accesskey = U
+smooth-scrolling-label =
+ .label = Cuộn uyển chuyển
+ .accesskey = m
+browsing-gtk-use-non-overlay-scrollbars =
+ .label = Luôn hiển thị thanh cuộn
+ .accesskey = c
+window-layout-legend = Bố trí cửa sổ
+draw-in-titlebar-label =
+ .label = Ẩn thanh tiêu đề cửa sổ hệ thống
+ .accesskey = H
+auto-hide-tabbar-label =
+ .label = Tự động ẩn thanh thẻ
+ .accesskey = A
+auto-hide-tabbar-description = Ẩn thanh thẻ khi chỉ mở một thẻ
+system-integration-legend = Hệ thống tích hợp
+always-check-default =
+ .label = Luôn kiểm tra xem { -brand-short-name } có phải là ứng dụng thư mặc định khi khởi động
+ .accesskey = A
+check-default-button =
+ .label = Kiểm tra ngay…
+ .accesskey = N
+# Note: This is the search engine name for all the different platforms.
+# Platforms that don't support it should be left blank.
+search-engine-name =
+ { PLATFORM() ->
+ [macos] Spotlight
+ [windows] Tìm kiếm Windows
+ *[other] { "" }
+ }
+search-integration-label =
+ .label = Cho phép { search-engine-name } tìm kiếm thư
+ .accesskey = S
+config-editor-button =
+ .label = Trình chỉnh sửa cấu hình…
+ .accesskey = C
+return-receipts-description = Xác định cách { -brand-short-name } xử lý xác nhận đã nhận thư
+return-receipts-button =
+ .label = Xác nhận đã nhận thư…
+ .accesskey = R
+update-app-legend = Cập nhật { -brand-short-name }
+# Variables:
+# $version (String): version of Thunderbird, e.g. 68.0.1
+update-app-version = Phiên bản { $version }
+allow-description = Cho phép { -brand-short-name }
+automatic-updates-label =
+ .label = Tự động cài đặt các cập nhật (nên làm vì tăng tính bảo mật)
+ .accesskey = A
+check-updates-label =
+ .label = Kiểm tra cập nhật, nhưng hãy để tôi chọn có cài đặt chúng không
+ .accesskey = C
+update-history-button =
+ .label = Hiển thị lịch sử cập nhật
+ .accesskey = p
+use-service =
+ .label = Sử dụng dịch vụ chạy nền để cài đặt các cập nhật
+ .accesskey = b
+cross-user-udpate-warning = Cài đặt này sẽ áp dụng cho tất cả các tài khoản Windows và các cấu hình của { -brand-short-name } sử dụng cài đặt này của { -brand-short-name }.
+networking-legend = Kết nối
+proxy-config-description = Định cấu hình cách { -brand-short-name } kết nối Internet
+network-settings-button =
+ .label = Cài đặt…
+ .accesskey = S
+offline-legend = Ngoại tuyến
+offline-settings = Cấu hình thiết lập ngoại tuyến
+offline-settings-button =
+ .label = Ngoại tuyến…
+ .accesskey = O
+diskspace-legend = Dung lượng đĩa
+offline-compact-folder =
+ .label = Nén tất cả các thư mục khi nó sẽ lưu lại
+ .accesskey = a
+offline-compact-folder-automatically =
+ .label = Hỏi mọi lúc trước khi thu gọn
+ .accesskey = b
+compact-folder-size =
+ .value = MB tổng cộng
+
+## Note: The entities use-cache-before and use-cache-after appear on a single
+## line in preferences as follows:
+## use-cache-before [ textbox for cache size in MB ] use-cache-after
+
+use-cache-before =
+ .value = Sử dụng tối đa
+ .accesskey = U
+use-cache-after = MB dung lượng đĩa cho bộ đệm
+
+##
+
+smart-cache-label =
+ .label = Ghi đè quản lý bộ đệm tự động
+ .accesskey = v
+clear-cache-button =
+ .label = Xóa ngay
+ .accesskey = C
+clear-cache-shutdown-label =
+ .label = Xóa bộ nhớ đệm khi thoát
+ .accesskey = s
+fonts-legend = Phông chữ & màu sắc
+default-font-label =
+ .value = Phông chữ mặc định:
+ .accesskey = D
+default-size-label =
+ .value = Kích cỡ:
+ .accesskey = S
+font-options-button =
+ .label = Nâng cao…
+ .accesskey = A
+color-options-button =
+ .label = Màu sắc…
+ .accesskey = C
+display-width-legend = Thư văn bản thuần túy
+# Note : convert-emoticons-label 'Emoticons' are also known as 'Smileys', e.g. :-)
+convert-emoticons-label =
+ .label = Hiển thị biểu tượng cảm xúc dưới dạng đồ họa
+ .accesskey = e
+display-text-label = Khi hiển thị các thư văn bản thuần túy được trích dẫn:
+style-label =
+ .value = Kiểu:
+ .accesskey = y
+regular-style-item =
+ .label = Thông thường
+bold-style-item =
+ .label = Đậm
+italic-style-item =
+ .label = Nghiêng
+bold-italic-style-item =
+ .label = Nghiêng đậm
+size-label =
+ .value = Kích thước:
+ .accesskey = z
+regular-size-item =
+ .label = Thông thường
+bigger-size-item =
+ .label = Lớn hơn
+smaller-size-item =
+ .label = Nhỏ hơn
+quoted-text-color =
+ .label = Màu sắc:
+ .accesskey = o
+search-handler-table =
+ .placeholder = Lọc các loại nội dung và hành động
+type-column-header = Kiểu dữ liệu
+action-column-header = Thao tác
+save-to-label =
+ .label = Lưu các tập tin vào
+ .accesskey = S
+choose-folder-label =
+ .label =
+ { PLATFORM() ->
+ [macos] Chọn…
+ *[other] Duyệt…
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] C
+ *[other] B
+ }
+always-ask-label =
+ .label = Luôn hỏi tôi nơi lưu tập tin
+ .accesskey = A
+display-tags-text = Nhãn có thể được sử dụng để phân loại và ưu tiên thư của bạn.
+new-tag-button =
+ .label = Mới…
+ .accesskey = N
+edit-tag-button =
+ .label = Chỉnh sửa…
+ .accesskey = E
+delete-tag-button =
+ .label = Xóa
+ .accesskey = D
+auto-mark-as-read =
+ .label = Tự động đánh dấu thư là đã đọc
+ .accesskey = A
+mark-read-no-delay =
+ .label = Ngay lập tức trên màn hình
+ .accesskey = o
+view-attachments-inline =
+ .label = Xem tập tin đính kèm nội tuyến
+ .accesskey = V
+
+## Note: This will concatenate to "After displaying for [___] seconds",
+## using (mark-read-delay) and a number (seconds-label).
+
+mark-read-delay =
+ .label = Sau khi hiển thị
+ .accesskey = d
+seconds-label = giây
+
+##
+
+open-msg-label =
+ .value = Mở thư trong:
+open-msg-tab =
+ .label = Một thẻ mới
+ .accesskey = t
+open-msg-window =
+ .label = Một cửa sổ thư mới
+ .accesskey = n
+open-msg-ex-window =
+ .label = Một cửa sổ thư hiện có
+ .accesskey = e
+close-move-delete =
+ .label = Đóng cửa sổ thư/thẻ khi di chuyển hoặc xóa
+ .accesskey = C
+display-name-label =
+ .value = Tên hiển thị:
+condensed-addresses-label =
+ .label = Chỉ hiển thị tên cho những người trong sổ địa chỉ của tôi
+ .accesskey = S
+
+## Compose Tab
+
+forward-label =
+ .value = Chuyển tiếp thư:
+ .accesskey = y
+inline-label =
+ .label = Ngay trong thư
+as-attachment-label =
+ .label = Dưới dạng đính kèm
+extension-label =
+ .label = thêm phần mở rộng cho tên tập tin
+ .accesskey = e
+
+## Note: This will concatenate to "Auto Save every [___] minutes",
+## using (auto-save-label) and a number (auto-save-end).
+
+auto-save-label =
+ .label = Tự động lưu mỗi
+ .accesskey = A
+auto-save-end = phút
+
+##
+
+warn-on-send-accel-key =
+ .label = Xác nhận khi sử dụng phím tắt để gửi thư
+ .accesskey = C
+add-link-previews =
+ .label = Thêm bản xem trước liên kết khi dán URL
+ .accesskey = i
+spellcheck-label =
+ .label = Kiểm tra chính tả trước khi gửi
+ .accesskey = C
+spellcheck-inline-label =
+ .label = Kiểm tra chính tả ngay khi đang gõ
+ .accesskey = E
+language-popup-label =
+ .value = Ngôn ngữ:
+ .accesskey = L
+download-dictionaries-link = Tải thêm từ điển
+font-label =
+ .value = Phông chữ:
+ .accesskey = n
+font-size-label =
+ .value = Cỡ chữ:
+ .accesskey = z
+default-colors-label =
+ .label = Sử dụng màu mặc định của trình đọc
+ .accesskey = d
+font-color-label =
+ .value = Màu chữ:
+ .accesskey = T
+bg-color-label =
+ .value = Màu nền:
+ .accesskey = B
+restore-html-label =
+ .label = Khôi phục về mặc định
+ .accesskey = R
+default-format-label =
+ .label = Sử dụng định dạng của đoạn thay vì phần thân văn bản theo mặc định
+ .accesskey = P
+compose-send-format-title = Định dạng gửi
+compose-send-automatic-option =
+ .label = Tự động
+compose-send-automatic-description = Nếu không có kiểu nào được sử dụng trong tin nhắn, hãy gửi văn bản thuần túy. Nếu không, hãy gửi HTML có dự phòng văn bản thuần túy.
+compose-send-both-option =
+ .label = Cả HTML và văn bản thuần túy
+compose-send-both-description = Ứng dụng email của người nhận sẽ xác định phiên bản nào sẽ hiển thị.
+compose-send-html-option =
+ .label = Chỉ HTML
+compose-send-html-description = Một số người nhận có thể không đọc được thư nếu không có văn bản thuần túy dự phòng.
+compose-send-plain-option =
+ .label = Chỉ văn bản thuần túy
+compose-send-plain-description = Một số kiểu sẽ được chuyển đổi thành một kiểu thay thế đơn giản, trong khi các tính năng thành phần khác sẽ bị tắt.
+autocomplete-description = Khi tìm địa chỉ trong thư, tra cứu các mục khớp nhau trong:
+ab-label =
+ .label = Sổ địa chỉ nội bộ
+ .accesskey = L
+directories-label =
+ .label = Máy chủ thư mục:
+ .accesskey = D
+directories-none-label =
+ .none = Không có
+edit-directories-label =
+ .label = Chỉnh sửa thư mục…
+ .accesskey = E
+email-picker-label =
+ .label = Tự động thêm địa chỉ email gửi đi vào:
+ .accesskey = A
+default-directory-label =
+ .value = Thư mục khởi động mặc định trong cửa sổ của sổ địa chỉ:
+ .accesskey = S
+default-last-label =
+ .none = Thư mục được sử dụng lần cuối
+attachment-label =
+ .label = Kiểm tra các tập tin đính kèm bị thiếu
+ .accesskey = m
+attachment-options-label =
+ .label = Từ khóa…
+ .accesskey = K
+enable-cloud-share =
+ .label = Đề nghị chia sẻ cho các tập tin lớn hơn
+cloud-share-size =
+ .value = MB
+add-cloud-account =
+ .label = Thêm…
+ .accesskey = A
+ .defaultlabel = Thêm…
+remove-cloud-account =
+ .label = Xóa
+ .accesskey = R
+find-cloud-providers =
+ .value = Tìm thêm nhà cung cấp…
+cloud-account-description = Thêm dịch vụ lưu trữ Filelink mới
+
+## Privacy Tab
+
+mail-content = Nội dung thư
+remote-content-label =
+ .label = Cho phép nội dung từ xa trong thư
+ .accesskey = m
+exceptions-button =
+ .label = Ngoại lệ…
+ .accesskey = E
+remote-content-info =
+ .value = Tìm hiểu thêm về các vấn đề riêng tư của nội dung từ xa
+web-content = Nội dung web
+history-label =
+ .label = Ghi nhớ các trang web và liên kết tôi đã truy cập
+ .accesskey = R
+cookies-label =
+ .label = Cho phép cookie từ các trang
+ .accesskey = A
+third-party-label =
+ .value = Cho phép cookie từ bên thứ ba:
+ .accesskey = c
+third-party-always =
+ .label = Luôn luôn
+third-party-never =
+ .label = Không bao giờ
+third-party-visited =
+ .label = Từ các trang đã truy cập
+keep-label =
+ .value = Lưu cho tới khi:
+ .accesskey = K
+keep-expire =
+ .label = chúng hết hạn
+keep-close =
+ .label = Tôi đóng { -brand-short-name }
+keep-ask =
+ .label = hỏi tôi mọi lúc
+cookies-button =
+ .label = Hiện cookie…
+ .accesskey = S
+do-not-track-label =
+ .label = Gửi tín hiệu “Không theo dõi” tới trang web để cho biết bạn không muốn bị theo dõi
+ .accesskey = n
+learn-button =
+ .label = Tìm hiểu thêm
+dnt-learn-more-button =
+ .value = Tìm hiểu thêm
+passwords-description = { -brand-short-name } có thể ghi nhớ mật khẩu cho tất cả tài khoản của bạn.
+passwords-button =
+ .label = Mật khẩu đã lưu…
+ .accesskey = S
+primary-password-description = Mật khẩu chính bảo vệ tất cả mật khẩu của bạn, nhưng bạn phải nhập mật khẩu một lần mỗi phiên.
+primary-password-label =
+ .label = Sử dụng mật khẩu chính
+ .accesskey = U
+primary-password-button =
+ .label = Thay đổi mật khẩu chính…
+ .accesskey = C
+forms-primary-pw-fips-title = Bạn hiện đang ở chế độ FIPS. FIPS yêu cầu tính năng mật khẩu chính.
+forms-master-pw-fips-desc = Thay đổi mật khẩu không thành công
+junk-description = Đặt cài đặt thư rác mặc định của bạn. Cài đặt thư rác dành riêng cho tài khoản có thể được định cấu hình trong cài đặt tài khoản.
+junk-label =
+ .label = Khi tôi đánh dấu thư là thư rác:
+ .accesskey = W
+junk-move-label =
+ .label = Di chuyển chúng vào thư mục "Thư rác" của tài khoản
+ .accesskey = o
+junk-delete-label =
+ .label = Xóa chúng
+ .accesskey = D
+junk-read-label =
+ .label = Đánh dấu thư được xác định là thư rác khi đọc
+ .accesskey = M
+junk-log-label =
+ .label = Cho phép ghi nhật ký bộ lọc thư rác thích ứng
+ .accesskey = E
+junk-log-button =
+ .label = Hiển thị nhật ký
+ .accesskey = S
+reset-junk-button =
+ .label = Đặt lại dữ liệu đào tạo
+ .accesskey = R
+phishing-description = { -brand-short-name } có thể phân tích tin nhắn cho các vụ lừa đảo email đáng ngờ bằng cách tìm kiếm các kỹ thuật phổ biến được sử dụng để đánh lừa bạn.
+phishing-label =
+ .label = Hãy cho tôi biết nếu thư tôi đang đọc là một email lừa đảo đáng ngờ
+ .accesskey = T
+antivirus-description = { -brand-short-name } có thể giúp phần mềm chống vi-rút dễ dàng phân tích thư đến của vi-rút trước khi chúng được lưu trữ cục bộ.
+antivirus-label =
+ .label = Cho phép máy khách chống vi-rút cách ly các thư đến riêng lẻ
+ .accesskey = A
+certificate-description = Khi một máy chủ yêu cầu chứng chỉ cá nhân của tôi:
+certificate-auto =
+ .label = Tự động chọn một cái
+ .accesskey = S
+certificate-ask =
+ .label = Hỏi tôi mọi lúc
+ .accesskey = A
+ocsp-label =
+ .label = Truy vấn máy chủ đáp ứng giao thức OCSP để xác minh hiệu lực của các chứng chỉ
+ .accesskey = Q
+certificate-button =
+ .label = Quản lý chứng chỉ…
+ .accesskey = M
+security-devices-button =
+ .label = Thiết bị bảo mật…
+ .accesskey = D
+email-e2ee-header = Mã hóa đầu cuối email
+account-settings = Cài đặt tài khoản
+email-e2ee-enable-info = Thiết lập tài khoản email và danh tính cho mã hóa đầu cuối trong cài đặt tài khoản.
+email-e2ee-automatism = Tự động sử dụng mã hóa
+email-e2ee-automatism-pre =
+ { -brand-short-name } có thể hỗ trợ bằng cách tự động bật hoặc tắt mã hóa trong khi soạn email.
+ Bật/tắt tự động dựa trên tính khả dụng của các khóa hoặc chứng chỉ đối tác hợp lệ và được chấp nhận.
+email-e2ee-auto-on =
+ .label = Tự động kích hoạt mã hóa khi có thể
+email-e2ee-auto-off =
+ .label = Tự động tắt mã hóa khi người nhận thay đổi và không thể mã hóa nữa
+email-e2ee-auto-off-notify =
+ .label = Hiển thị thông báo bất cứ khi nào mã hóa tự động bị tắt
+email-e2ee-automatism-post =
+ Các quyết định tự động có thể bị ghi đè bằng cách bật hoặc tắt mã hóa theo cách thủ công khi soạn thư.
+ Lưu ý: mã hóa luôn được bật tự động khi trả lời thư được mã hóa.
+
+## Chat Tab
+
+startup-label =
+ .value = Khi { -brand-short-name } khởi động:
+ .accesskey = s
+offline-label =
+ .label = Giữ tài khoản trò chuyện của tôi ngoại tuyến
+auto-connect-label =
+ .label = Tự động kết nối tài khoản trò chuyện của tôi
+
+## Note: idle-label is displayed first, then there's a field where the user
+## can enter a number, and itemTime is displayed at the end of the line.
+## The translations of the idle-label and idle-time-label parts don't have
+## to mean the exact same thing as in English; please try instead to
+## translate the whole sentence.
+
+idle-label =
+ .label = Hãy để những người liên hệ của tôi biết rằng tôi đang nhàn rỗi sau
+ .accesskey = I
+idle-time-label = phút không hoạt động
+
+##
+
+away-message-label =
+ .label = và đặt trạng thái của tôi thành vắng với thông báo trạng thái này:
+ .accesskey = A
+send-typing-label =
+ .label = Gửi thông báo về việc gõ trong các cuộc hội thoại
+ .accesskey = t
+notification-label = Khi có tin nhắn đến:
+show-notification-label =
+ .label = Hiển thị thông báo:
+ .accesskey = c
+notification-all =
+ .label = với tên người xem và tin nhắn xem trước
+notification-name =
+ .label = chỉ với tên người gửi
+notification-empty =
+ .label = không có bất kỳ thông tin nào
+notification-type-label =
+ .label =
+ { PLATFORM() ->
+ [macos] Hoạt ảnh biểu tượng trên dock
+ *[other] Nhấp nháy mục trên thanh tác vụ
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] o
+ *[other] F
+ }
+chat-play-sound-label =
+ .label = Phát một âm thanh
+ .accesskey = d
+chat-play-button =
+ .label = Phát
+ .accesskey = P
+chat-system-sound-label =
+ .label = Âm thanh mặc định của hệ thống khi có thư mới
+ .accesskey = D
+chat-custom-sound-label =
+ .label = Sử dụng tập tin âm thanh sau
+ .accesskey = U
+chat-browse-sound-button =
+ .label = Duyệt…
+ .accesskey = B
+theme-label =
+ .value = Chủ đề:
+ .accesskey = T
+style-mail =
+ .label = { -brand-short-name }
+style-bubbles =
+ .label = Bong bóng
+style-dark =
+ .label = Tối
+style-paper =
+ .label = Những trang giấy
+style-simple =
+ .label = Đơn giản
+preview-label = Xem trước:
+no-preview-label = Không có bản xem trước
+no-preview-description = Chủ đề này không hợp lệ hoặc hiện không khả dụng (tiện ích bị tắt, chế độ an toàn, …).
+chat-variant-label =
+ .value = Biến thể:
+ .accesskey = V
+# This is used to determine the width of the search field in about:preferences,
+# in order to make the entire placeholder string visible
+#
+# Please keep the placeholder string short to avoid truncation.
+#
+# Notice: The value of the `.style` attribute is a CSS string, and the `width`
+# is the name of the CSS property. It is intended only to adjust the element's width.
+# Do not translate.
+search-preferences-input2 =
+ .style = width: 15.4em
+ .placeholder = Tìm trong Cài đặt
+
+## Settings UI Search Results
+
+search-results-header = Kết quả tìm kiếm
+# `<span data-l10n-name="query"></span>` will be replaced by the search term.
+search-results-empty-message2 =
+ { PLATFORM() ->
+ [windows] Xin lỗi! Không có kết quả nào trong Tùy chọn cho “<span data-l10n-name="query"></span>”.
+ *[other] Xin lỗi! Không có kết quả nào trong Cài đặt cho “<span data-l10n-name="query"></span>”.
+ }
+search-results-help-link = Cần trợ giúp? Đi đến <a data-l10n-name="url">Hỗ trợ { -brand-short-name }</a>
+
+## Sync Tab
+
+sync-signedout-caption = Mang trang web theo bạn
+sync-signedout-description = Đồng bộ hóa tài khoản, sổ địa chỉ, lịch, tiện ích mở rộng và cài đặt trên tất cả các thiết bị của bạn.
+# Note: "Sync" represents the Firefox Sync product so it shouldn't be translated.
+sync-signedout-account-signin-btn = Đăng nhập để đồng bộ hóa…
+sync-pane-header = Đồng bộ hóa
+# Variables:
+# $userEmail (String) - The email logged into Sync.
+sync-pane-email-not-verified = “{ $userEmail }” chưa được xác minh.
+# Variables:
+# $userEmail (String) - The email logged into Sync.
+sync-signedin-login-failure = Vui lòng đăng nhập để kết nối lại “{ $userEmail }”
+sync-pane-resend-verification = Gửi lại xác minh
+sync-pane-sign-in = Đăng nhập
+sync-pane-remove-account = Xóa tài khoản
+sync-pane-edit-photo =
+ .title = Đổi hình hồ sơ
+sync-pane-manage-account = Quản lý tài khoản
+sync-pane-sign-out = Đăng xuất…
+sync-pane-device-name-title = Tên thiết bị
+sync-pane-change-device-name = Thay đổi tên thiết bị
+sync-pane-cancel = Hủy bỏ
+sync-pane-save = Lưu
+sync-pane-show-synced-header-on = Đồng bộ hóa đang bật
+sync-pane-show-synced-header-off = Đồng bộ hóa đang tắt
+sync-pane-sync-now = Đồng bộ ngay
+sync-panel-sync-now-syncing = Đang đồng bộ hóa…
+show-synced-list-heading = Bạn hiện đang đồng bộ hóa các mục này:
+show-synced-learn-more = Tìm hiểu thêm…
+show-synced-item-account = Tài khoản email
+show-synced-item-address = Sổ địa chỉ
+show-synced-item-calendar = Lịch
+show-synced-item-identity = Danh tính
+show-synced-item-passwords = Mật khẩu
+show-synced-change = Thay đổi…
+synced-acount-item-server-config = Cấu hình máy chủ
+synced-acount-item-filters = Bộ lọc
+synced-acount-item-keys = OpenPGP - S/MIME
+sync-disconnected-text = Đồng bộ hóa tài khoản email, sổ địa chỉ, lịch và danh tính trên tất cả các thiết bị của bạn.
+sync-disconnected-turn-on-sync = Bật Đồng bộ hóa…
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/preferences/receipts.ftl b/thunderbird-l10n/vi/localization/vi/messenger/preferences/receipts.ftl
new file mode 100644
index 0000000000..433ef34665
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/preferences/receipts.ftl
@@ -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/.
+
+receipts-dialog-window =
+ .title = Xác nhận đã nhận thư
+receipts-dialog-title = Xác nhận đã nhận thư
+return-receipt-checkbox-control =
+ .label = Khi gửi thư, luôn luôn yêu cầu xác nhận đã nhận thư
+ .accesskey = W
+receipt-arrive-label = Khi một chứng nhận đến:
+receipt-leave-radio-control =
+ .label = Để nó trong hộp thư đến của tôi
+ .accesskey = i
+receipt-move-radio-control =
+ .label = Chuyển nó vào thư mục “Đã gửi” của tôi
+ .accesskey = m
+receipt-request-label = Khi tôi nhận được một yêu cầu xác nhận đã nhận thư:
+receipt-return-never-radio-control =
+ .label = Không bao giờ gửi xác nhận đã nhận thư
+ .accesskey = n
+receipt-return-some-radio-control =
+ .label = Cho phép xác nhận đã nhận thư cho một số thư
+ .accesskey = r
+receipt-not-to-cc-label =
+ .value = Nếu tôi không ở mục Tới hoặc Cc của thư:
+ .accesskey = f
+receipt-send-never-label =
+ .label = Không bao giờ gửi
+receipt-send-always-label =
+ .label = Luôn luôn gửi
+receipt-send-ask-label =
+ .label = Hỏi tôi
+sender-outside-domain-label =
+ .value = Nếu người gửi nằm ngoài tên miền của tôi:
+ .accesskey = t
+other-cases-text-label =
+ .value = Trong mọi trường hợp khác:
+ .accesskey = a
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/preferences/sync-dialog.ftl b/thunderbird-l10n/vi/localization/vi/messenger/preferences/sync-dialog.ftl
new file mode 100644
index 0000000000..e6b11ad8e8
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/preferences/sync-dialog.ftl
@@ -0,0 +1,11 @@
+# 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/.
+
+config-sync-dailog-title =
+ .title = Chọn những gì để đồng bộ hóa
+sync-dialog =
+ .buttonlabelaccept = Lưu thay đổi
+ .buttonaccesskeyaccept = S
+ .buttonlabelextra2 = Ngắt kết nối…
+ .buttonaccesskeyextra2 = D
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/preferences/system-integration.ftl b/thunderbird-l10n/vi/localization/vi/messenger/preferences/system-integration.ftl
new file mode 100644
index 0000000000..b2f0e06768
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/preferences/system-integration.ftl
@@ -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/.
+
+system-integration-title =
+ .title = Tích hợp Hệ thống
+system-integration-dialog-title = Tích hợp Hệ thống
+system-integration-dialog =
+ .buttonlabelaccept = Đặt làm mặc định
+ .buttonlabelcancel = Bỏ qua tích hợp
+ .buttonlabelcancel2 = Hủy bỏ
+default-client-intro = Dùng { -brand-short-name } làm chương trình mặc định cho:
+unset-default-tooltip = Không thể bỏ đặt { -brand-short-name } là ứng dụng khách mặc định trong { -brand-short-name }. Để đặt ứng dụng khác thành mặc định, bạn phải sử dụng hộp thoại 'Đặt làm mặc định'.
+checkbox-email-label =
+ .label = Thư điện tử (E-Mail)
+ .tooltiptext = { unset-default-tooltip }
+checkbox-newsgroups-label =
+ .label = Nhóm tin
+ .tooltiptext = { unset-default-tooltip }
+checkbox-feeds-label =
+ .label = Nguồn cấp
+ .tooltiptext = { unset-default-tooltip }
+checkbox-calendar-label =
+ .label = Lịch
+ .tooltiptext = { unset-default-tooltip }
+# Note: This is the search engine name for all the different platforms.
+# Platforms that don't support it should be left blank.
+system-search-engine-name =
+ { PLATFORM() ->
+ [macos] Spotlight
+ [windows] Tìm kiếm Windows
+ *[other] { "" }
+ }
+system-search-integration-label =
+ .label = Cho phép { system-search-engine-name } tìm kiếm thư
+ .accesskey = t
+check-on-startup-label =
+ .label = Luôn thực hiện việc kiểm tra này mỗi khi khởi động { -brand-short-name }
+ .accesskey = L
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/shortcuts.ftl b/thunderbird-l10n/vi/localization/vi/messenger/shortcuts.ftl
new file mode 100644
index 0000000000..672a161a05
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/shortcuts.ftl
@@ -0,0 +1,113 @@
+# 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/.
+
+
+## Shortcuts
+
+# Variables:
+# $key (String) - The shortcut key.
+shortcut-key = { $key }
+
+meta-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌘ { $key }
+ *[other] Meta+{ $key }
+ }
+
+ctrl-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌃ { $key }
+ *[other] Ctrl+{ $key }
+ }
+
+shift-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⇧ { $key }
+ *[other] Shift+{ $key }
+ }
+
+alt-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌥ { $key }
+ *[other] Alt+{ $key }
+ }
+
+meta-ctrl-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌃ ⌘ { $key }
+ *[other] Meta+Ctrl+{ $key }
+ }
+
+meta-alt-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌥ ⌘ { $key }
+ *[other] Meta+Alt+{ $key }
+ }
+
+ctrl-alt-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌃ ⌥ { $key }
+ *[other] Ctrl+Alt+{ $key }
+ }
+
+meta-ctrl-alt-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌃ ⌥ ⌘ { $key }
+ *[other] Meta+Ctrl+Alt+{ $key }
+ }
+
+meta-shift-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⇧ ⌘ { $key }
+ *[other] Meta+Shift+{ $key }
+ }
+
+ctrl-shift-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌃ ⇧ { $key }
+ *[other] Ctrl+Shift+{ $key }
+ }
+
+meta-ctrl-shift-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌃ ⇧ ⌘ { $key }
+ *[other] Meta+Ctrl+Shift+{ $key }
+ }
+
+alt-shift-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌥ ⇧ { $key }
+ *[other] Alt+Shift+{ $key }
+ }
+
+meta-shift-alt-shortcut-key2 =
+ { PLATFORM() ->
+ [macos] ⌥ ⇧ ⌘ { $key }
+ *[other] Meta+Alt+Shift+{ $key }
+ }
+
+ctrl-shift-alt-shortcut-key2 =
+ { PLATFORM() ->
+ [macos] ⌃ ⌥ ⇧ { $key }
+ *[other] Ctrl+Alt+Shift+{ $key }
+ }
+
+meta-ctrl-shift-alt-shortcut-key2 =
+ { PLATFORM() ->
+ [macos] ⌃ ⌥ ⇧ ⌘ { $key }
+ *[other] Meta+Ctrl+Alt+Shift+{ $key }
+ }
+
+# Variables:
+# $title (String): The title coming from the original element.
+# $shortcut (String): The shortcut generated from the keystroke combination.
+button-shortcut-string =
+ .title = { $title } ({ $shortcut })
+
+# Variables:
+# $label (String): The text label coming from the original element.
+# $shortcut (String): The shortcut generated from the keystroke combination.
+menuitem-shortcut-string =
+ .label = { $label }
+ .acceltext = { $shortcut }
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/syncAccounts.ftl b/thunderbird-l10n/vi/localization/vi/messenger/syncAccounts.ftl
new file mode 100644
index 0000000000..495eb2906e
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/syncAccounts.ftl
@@ -0,0 +1,28 @@
+# 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/.
+
+
+# The strings in this file relate to the configuration of Mozilla accounts for sync.
+
+
+## These strings are shown in a desktop notification after the user requests we resend a verification email.
+
+sync-verification-sent-title = Đã gửi xác minh
+# Variables:
+# $userEmail (String) - Email address of the account used for sync.
+sync-verification-sent-body = Liên kết xác minh đã được gửi tới { $userEmail }.
+sync-verification-not-sent-title = Không thể gửi xác minh
+sync-verification-not-sent-body = Chúng tôi không thể gửi thư xác thực vào thời điểm này, xin thử lại sau.
+
+## These strings are shown in a confirmation dialog when the user chooses to sign out.
+
+sync-signout-dialog-title = Đăng xuất tài khoản?
+sync-signout-dialog-body = Dữ liệu đã đồng bộ hóa sẽ vẫn còn trong tài khoản của bạn.
+sync-signout-dialog-button = Đăng xuất
+
+## These strings are shown in a confirmation dialog when the user chooses to stop syncing.
+
+sync-disconnect-dialog-title = Ngắt kết nối?
+sync-disconnect-dialog-body = { -brand-product-name } sẽ ngừng đồng bộ hóa nhưng sẽ không xóa bất kỳ dữ liệu nào của bạn trên thiết bị này.
+sync-disconnect-dialog-button = Ngắt kết nối
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/treeView.ftl b/thunderbird-l10n/vi/localization/vi/messenger/treeView.ftl
new file mode 100644
index 0000000000..707b193c6e
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/treeView.ftl
@@ -0,0 +1,65 @@
+# 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/.
+
+
+## Table
+
+tree-list-view-row-select =
+ .alt = Hộp kiểm để chọn/bỏ chọn hàng hiện tại
+ .title = Chọn hàng hiện tại
+tree-list-view-row-deselect =
+ .alt = Hộp kiểm để chọn/bỏ chọn hàng hiện tại
+ .title = Bỏ chọn hàng hiện tại
+tree-list-view-row-delete =
+ .title = Xóa hàng hiện tại
+tree-list-view-row-restore =
+ .title = Khôi phục hàng hiện tại
+tree-list-view-column-picker =
+ .title = Chọn các cột để hiển thị
+tree-list-view-column-picker-restore =
+ .label = Khôi phục thứ tự cột
+tree-list-view-row-thread-icon =
+ .alt = Chỉ báo chủ đề thư
+ .title = Đây là một thư có chủ đề
+tree-list-view-row-thread-button =
+ .title = Đây là một thư có chủ đề
+tree-list-view-row-ignored-thread = Chủ đề bị bỏ qua
+tree-list-view-row-ignored-thread-icon =
+ .alt = Chỉ báo chủ đề thư
+ .title = Chủ đề thư này đã bị bỏ qua
+tree-list-view-row-ignored-thread-button =
+ .title = Chủ đề thư này đã bị bỏ qua
+tree-list-view-row-ignored-subthread = Chủ đề phụ bị bỏ qua
+tree-list-view-row-ignored-subthread-icon =
+ .alt = Chỉ báo chủ đề thư
+ .title = Chủ đề phụ này đã bị bỏ qua
+tree-list-view-row-ignored-subthread-button =
+ .title = Chủ đề phụ này đã bị bỏ qua
+tree-list-view-row-watched-thread = Chủ đề đã theo dõi
+tree-list-view-row-watched-thread-icon =
+ .alt = Chỉ báo chủ đề thư
+ .title = Chủ đề thư này đã được theo dõi
+tree-list-view-row-watched-thread-button =
+ .title = Chủ đề thư này đã được theo dõi
+tree-list-view-row-flagged =
+ .alt = Chỉ báo thư được gắn sao
+ .title = Thư được gắn sao
+tree-list-view-row-flag =
+ .alt = Chỉ báo thư được gắn sao
+ .title = Thư không được gắn sao
+tree-list-view-row-attach =
+ .alt = Chỉ báo đính kèm
+ .title = Thư có chứa đính kèm
+tree-list-view-row-spam =
+ .alt = Chỉ báo thư rác
+ .title = Thư được đánh dấu là thư rác
+tree-list-view-row-not-spam =
+ .alt = Chỉ báo thư rác
+ .title = Thư không được đánh dấu là thư rác
+tree-list-view-row-read =
+ .alt = Chỉ báo trạng thái đọc
+ .title = Trạng thái đã đọc thư
+tree-list-view-row-not-read =
+ .alt = Chỉ báo trạng thái chưa đọc
+ .title = Trạng thái thư chưa đọc
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/troubleshootMode.ftl b/thunderbird-l10n/vi/localization/vi/messenger/troubleshootMode.ftl
new file mode 100644
index 0000000000..95763eaae0
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/troubleshootMode.ftl
@@ -0,0 +1,33 @@
+# 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/.
+
+troubleshoot-mode-window =
+ .title = Chế độ xử lý sự cố của { -brand-short-name }
+ .style = width: 37em;
+troubleshoot-mode-dialog-title = Chế độ xử lý sự cố của { -brand-short-name }
+troubleshoot-mode-description = Sử dụng chế độ xử lý sự cố { -brand-short-name } để chẩn đoán sự cố. Các tiện ích mở rộng và tùy chỉnh của bạn sẽ tạm thời bị vô hiệu hóa.
+troubleshoot-mode-description2 = Bạn có thể chuyển một số hoặc tất cả các thiết lập sau đây thành những thay đổi vĩnh viễn:
+troubleshoot-mode-disable-addons =
+ .label = Vô hiệu hóa tất cả tiện ích
+ .accesskey = D
+troubleshoot-mode-reset-toolbars =
+ .label = Đặt lại các thanh công cụ và điều khiển về mặc định
+ .accesskey = R
+troubleshoot-mode-change-and-restart =
+ .label = Lưu thay đổi và khởi động lại
+ .accesskey = M
+troubleshoot-mode-continue =
+ .label = Tiếp tục ở chế độ xử lý sự cố
+ .accesskey = C
+troubleshoot-mode-quit =
+ .label =
+ { PLATFORM() ->
+ [windows] Thoát
+ *[other] Thoát
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] x
+ *[other] Q
+ }
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/unifiedToolbar.ftl b/thunderbird-l10n/vi/localization/vi/messenger/unifiedToolbar.ftl
new file mode 100644
index 0000000000..0ba3dd4b16
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/unifiedToolbar.ftl
@@ -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/.
+
+
+### Unified Toolbar strings
+
+
+## Search bar
+
+search-bar-button =
+ .alt = Tìm kiếm
+search-bar-item =
+ .label = Tìm kiếm:
+search-bar-placeholder = Tìm kiếm…
+# Search bar placeholder with formatted key shortcut hint (platform dependent).
+# The key after the control modifier should match the key from quickSearchCmd.key
+# in messenger.dtd.
+search-bar-placeholder-with-key2 =
+ { PLATFORM() ->
+ [macos] { search-bar-placeholder } <kbd>⌘</kbd> <kbd>K</kbd>
+ *[other] { search-bar-placeholder } <kbd>Ctrl</kbd> + <kbd>K</kbd>
+ }
+
+## Unified toolbar context menu
+
+customize-menu-customize =
+ .label = Tùy biến…
+
+# Unified toolbar get messages button context menu
+
+toolbar-get-all-messages-menuitem =
+ .label = Nhận tất cả thư mới
+ .accesskey = y
+
+## Unified Toolbar customization
+
+customize-title = Tùy biến thanh công cụ
+customize-space-tab-mail = Thư
+ .title = Thư
+customize-space-tab-addressbook = Sổ địa chỉ
+ .title = Sổ địa chỉ
+customize-space-tab-calendar = Lịch
+ .title = Lịch
+customize-space-tab-tasks = Nhiệm vụ
+ .title = Nhiệm vụ
+customize-space-tab-chat = Trò chuyện
+ .title = Trò chuyện
+customize-space-tab-settings = Cài đặt
+ .title = Cài đặt
+customize-restore-default = Khôi phục về mặc định
+customize-change-appearance = Thay đổi giao diện…
+customize-button-style-label = Kiểu nút:
+customize-button-style-icons-beside-text-option = Biểu tượng bên cạnh văn bản
+customize-button-style-icons-above-text-option = Biểu tượng trên văn bản
+customize-button-style-icons-only-option = Chỉ biểu tượng
+customize-button-style-text-only-option = Chỉ văn bản
+customize-cancel = Hủy bỏ
+customize-save = Lưu
+customize-unsaved-changes = Các thay đổi chưa được lưu trong các không gian khác
+customize-search-bar =
+ .label = Các nút trên thanh công cụ tìm kiếm…
+customize-spaces-tabs =
+ .aria-label = Spaces
+customize-main-toolbar-target =
+ .aria-label = Thanh công cụ chính
+
+## Unified toolbar customization palette context menu
+
+# Variables:
+# $target (String) - Name of the target the item should be added to.
+customize-palette-add-to =
+ .label = Thêm vào { $target }
+customize-palette-add-everywhere =
+ .label = Thêm vào tất cả thanh công cụ
+
+## Unified toolbar customization target context menu
+
+customize-target-forward =
+ .label = Tiến về phía trước
+customize-target-backward =
+ .label = Lùi về phía sau
+customize-target-remove =
+ .label = Xóa
+customize-target-remove-everywhere =
+ .label = Xóa khỏi tất cả thanh công cụ
+customize-target-add-everywhere =
+ .label = Thêm vào tất cả thanh công cụ
+customize-target-start =
+ .label = Di chuyển lên đầu tiên
+customize-target-end =
+ .label = Di chuyển xuống cuối cùng
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/unifiedToolbarItems.ftl b/thunderbird-l10n/vi/localization/vi/messenger/unifiedToolbarItems.ftl
new file mode 100644
index 0000000000..e3a77fc1a3
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/unifiedToolbarItems.ftl
@@ -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/.
+
+
+### Unified Toolbar Item Label strings
+
+spacer-label = Khoảng cách linh động
+search-bar-label = Tìm kiếm
+toolbar-write-message-label = Viết thư
+toolbar-write-message =
+ .title = Tạo một thư mới
+toolbar-move-to-label = Di chuyển tới
+toolbar-move-to =
+ .title = Di chuyển thư đã chọn
+toolbar-unifinder-label = Tìm sự kiện
+toolbar-unifinder =
+ .title = Chuyển đến khung tìm sự kiện
+toolbar-folder-location-label = Địa chỉ thư mục
+toolbar-folder-location =
+ .title = Chuyển sang thư mục
+toolbar-edit-event-label = Chỉnh sửa
+toolbar-edit-event =
+ .title = Chỉnh sửa sự kiện hoặc nhiệm vụ được chọn
+toolbar-get-messages-label = Nhận thư
+toolbar-get-messages =
+ .title = Tìm thư mới cho tất cả các tài khoản
+toolbar-reply-label = Trả lời
+toolbar-reply =
+ .title = Trả lời thư
+toolbar-reply-all-label = Trả lời tất cả
+toolbar-reply-all =
+ .title = Trả lời người gửi và tất cả người nhận
+toolbar-reply-to-list-label = Trả lời danh sách
+toolbar-reply-to-list =
+ .title = Trả lời danh sách thư
+toolbar-redirect-label = Chuyển hướng
+toolbar-redirect =
+ .title = Chuyển hướng tin nhắn đã chọn
+toolbar-archive-label = Lưu trữ
+toolbar-archive =
+ .title = Lưu trữ các thư đã chọn
+toolbar-conversation-label = Hội thoại
+toolbar-conversation =
+ .title = Hiển thị cuộc hội thoại của thư đã chọn
+toolbar-previous-unread-label = Thư chưa đọc trước đó
+toolbar-previous-unread =
+ .title = Chuyển sang thư chưa đọc phía trước
+toolbar-previous-label = Trước
+toolbar-previous =
+ .title = Di chuyển đến thư trước
+toolbar-next-unread-label = Thư chưa đọc tiếp theo
+toolbar-next-unread =
+ .title = Chuyển sang thư chưa đọc tiếp theo
+toolbar-next-label = Tiếp theo
+toolbar-next =
+ .title = Di chuyển đến thư kế tiếp
+toolbar-junk-label = Thư rác
+toolbar-junk =
+ .title = Đánh dấu các thư đã chọn là thư rác
+toolbar-delete-label = Xóa
+toolbar-delete-title =
+ .title = Xóa thư đã chọn
+toolbar-undelete-label = Hoàn tác xóa
+toolbar-undelete =
+ .title = Hoàn tác xóa các thư đã chọn
+toolbar-compact-label = Làm gọn
+toolbar-compact =
+ .title = Dọn các thư bị xóa ra khỏi thư mục đã chọn
+toolbar-add-as-event-label = Thêm dưới dạng sự kiện
+toolbar-add-as-event =
+ .title = Trích xuất thông tin lịch từ tin nhắn và thêm nó vào lịch của bạn như một sự kiện
+toolbar-add-as-task-label = Thêm dưới dạng nhiệm vụ
+toolbar-add-as-task =
+ .title = Trích xuất thông tin lịch từ tin nhắn và thêm nó vào lịch của bạn như là một nhiệm vụ
+toolbar-tag-message-label = Nhãn
+toolbar-tag-message =
+ .title = Dán nhãn cho thư
+toolbar-forward-inline-label = Chuyển tiếp
+toolbar-forward-inline =
+ .title = Chuyển tiếp thư được chọn dưới dạng văn bản ngay trong thư
+toolbar-forward-attachment-label = Chuyển tiếp dưới dạng đính kèm
+toolbar-forward-attachment =
+ .title = Chuyển tiếp thư được chọn dưới dạng đính kèm
+toolbar-mark-as-label = Đánh dấu
+toolbar-mark-as =
+ .title = Đánh dấu thư
+toolbar-view-picker-label = Xem
+toolbar-view-picker =
+ .title = Tùy chỉnh chế độ xem thư mục hiện tại
+toolbar-address-book-label = Sổ địa chỉ
+toolbar-address-book =
+ .title = Vào sổ địa chỉ
+toolbar-chat-label = Trò chuyện
+toolbar-chat =
+ .title = Hiển thị thẻ trò chuyện
+toolbar-add-ons-and-themes-label = Tiện ích mở rộng và chủ đề
+toolbar-add-ons-and-themes =
+ .title = Quản lý tiện ích của bạn
+toolbar-calendar-label = Lịch
+toolbar-calendar =
+ .title = Chuyển sang thẻ lịch
+toolbar-tasks-label = Nhiệm vụ
+toolbar-tasks =
+ .title = Chuyển sang thẻ nhiệm vụ
+toolbar-mail-label = Thư
+toolbar-mail =
+ .title = Chuyển sang thẻ thư
+toolbar-print-label = In
+toolbar-print =
+ .title = In thư này
+toolbar-quick-filter-bar-label = Bộ lọc nhanh
+toolbar-quick-filter-bar =
+ .title = Lọc thư
+toolbar-synchronize-label = Đồng bộ hoá
+toolbar-synchronize =
+ .title = Tải lại lịch và đồng bộ hóa các thay đổi
+toolbar-delete-event-label = Xóa
+toolbar-delete-event =
+ .title = Xóa các sự kiện hoặc nhiệm vụ được chọn
+toolbar-go-to-today-label = Đi đến hôm nay
+toolbar-go-to-today =
+ .title = Đi đến hôm nay
+toolbar-print-event-label = In
+toolbar-print-event =
+ .title = In sự kiện hoặc nhiệm vụ
+toolbar-new-event-label = Sự kiện
+toolbar-new-event =
+ .title = Tạo một sự kiện mới
+toolbar-new-task-label = Nhiệm vụ
+toolbar-new-task =
+ .title = Tạo một nhiệm vụ mới
+toolbar-go-back-label = Quay lại
+toolbar-go-back =
+ .title = Trở lại một thư
+toolbar-go-forward-label = Tiến
+toolbar-go-forward =
+ .title = Đi tới một thư
+toolbar-stop-label = Dừng
+toolbar-stop =
+ .title = Dừng việc truyền tải hiện tại
+toolbar-throbber-label = Chỉ báo hoạt động
+toolbar-throbber =
+ .title = Chỉ báo hoạt động
+toolbar-create-contact-label = Liên hệ mới
+toolbar-create-contact =
+ .title = Tạo một liên hệ mới
+toolbar-create-address-book-label = Sổ địa chỉ mới
+toolbar-create-address-book =
+ .title = Tạo một sổ địa chỉ mới
+toolbar-create-list-label = Danh sách mới
+toolbar-create-list =
+ .title = Tạo một danh sách gửi thư mới
+toolbar-import-contacts-label = Nhập
+toolbar-import-contacts =
+ .title = Nhập liên hệ từ tập tin
+
+## New Address Book popup items
+
+toolbar-new-address-book-popup-add-js-address-book =
+ .label = Thêm sổ địa chỉ cục bộ
+toolbar-new-address-book-popup-add-carddav-address-book =
+ .label = Thêm sổ địa chỉ CardDAV
+toolbar-new-address-book-popup-add-ldap-address-book =
+ .label = Thêm sổ địa chỉ LDAP
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/viewSource.ftl b/thunderbird-l10n/vi/localization/vi/messenger/viewSource.ftl
new file mode 100644
index 0000000000..2e993c2ceb
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/messenger/viewSource.ftl
@@ -0,0 +1,19 @@
+# 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/.
+
+context-text-action-find =
+ .label = Tìm
+ .accesskey = F
+
+context-text-action-find-again =
+ .label = Tìm lại
+ .accesskey = g
+
+text-action-find =
+ .label = Tìm
+ .accesskey = F
+
+text-action-find-again =
+ .label = Tìm lại
+ .accesskey = g
diff --git a/thunderbird-l10n/vi/localization/vi/security/certificates/certManager.ftl b/thunderbird-l10n/vi/localization/vi/security/certificates/certManager.ftl
new file mode 100644
index 0000000000..05e0dac490
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/security/certificates/certManager.ftl
@@ -0,0 +1,228 @@
+# 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/.
+
+certmgr-title =
+ .title = Trình quản lí chứng chỉ
+
+certmgr-tab-mine =
+ .label = Chứng chỉ của bạn
+
+certmgr-tab-remembered =
+ .label = Quyết định chứng thực
+
+certmgr-tab-people =
+ .label = Người khác
+
+certmgr-tab-servers =
+ .label = Máy chủ
+
+certmgr-tab-ca =
+ .label = Nhà thẩm định
+
+certmgr-mine = Bạn có các chứng thực từ các tổ chức để nhận biết bạn
+certmgr-remembered = Những chứng nhận này được sử dụng để nhận dạng bạn với các trang web
+certmgr-people = Bạn có các tập tin chứng thực để nhận biết những người này
+certmgr-server = Các mục này xác định các ngoại lệ lỗi chứng chỉ máy chủ
+certmgr-ca = Bạn có những tập tin chứng thực để nhận biết các nhà thẩm định chứng thực này
+
+certmgr-edit-ca-cert2 =
+ .title = Chỉnh thiết lập độ tin cậy chứng chỉ CA
+ .style = min-width: 48em;
+
+certmgr-edit-cert-edit-trust = Chỉnh thiết lập tin cậy:
+
+certmgr-edit-cert-trust-ssl =
+ .label = Chứng chỉ này có thể nhận diện trang web.
+
+certmgr-edit-cert-trust-email =
+ .label = Chứng chỉ này có thể nhận diện người dùng email.
+
+certmgr-delete-cert2 =
+ .title = Xóa chứng nhận
+ .style = min-width: 48em; min-height: 24em;
+
+certmgr-cert-host =
+ .label = Máy chủ
+
+certmgr-cert-name =
+ .label = Tên chứng nhận
+
+certmgr-cert-server =
+ .label = Máy chủ
+
+certmgr-token-name =
+ .label = Thiết bị bảo mật
+
+certmgr-begins-label =
+ .label = Bắt đầu
+
+certmgr-expires-label =
+ .label = Hết hạn vào
+
+certmgr-email =
+ .label = Địa chỉ email
+
+certmgr-serial =
+ .label = Số sê-ri
+
+certmgr-fingerprint-sha-256 =
+ .label = Vân tay SHA-256
+
+certmgr-view =
+ .label = Xem…
+ .accesskey = e
+
+certmgr-edit =
+ .label = Chỉnh sửa tin tưởng…
+ .accesskey = E
+
+certmgr-export =
+ .label = Xuất…
+ .accesskey = u
+
+certmgr-delete =
+ .label = Xóa…
+ .accesskey = X
+
+certmgr-delete-builtin =
+ .label = Xóa hoặc không tin tưởng…
+ .accesskey = D
+
+certmgr-backup =
+ .label = Sao lưu…
+ .accesskey = l
+
+certmgr-backup-all =
+ .label = Sao lưu toàn bộ…
+ .accesskey = k
+
+certmgr-restore =
+ .label = Nhập…
+ .accesskey = N
+
+certmgr-add-exception =
+ .label = Thêm ngoại lệ…
+ .accesskey = x
+
+exception-mgr =
+ .title = Thêm ngoại lệ bảo mật
+
+exception-mgr-extra-button =
+ .label = Xác nhận ngoại lệ bảo mật
+ .accesskey = C
+
+exception-mgr-supplemental-warning = Ngân hàng, cửa hiệu và trang công cộng hợp pháp khác sẽ không yêu cầu bạn làm việc này.
+
+exception-mgr-cert-location-url =
+ .value = Địa chỉ:
+
+exception-mgr-cert-location-download =
+ .label = Nhận chứng nhận
+ .accesskey = G
+
+exception-mgr-cert-status-view-cert =
+ .label = Xem…
+ .accesskey = V
+
+exception-mgr-permanent =
+ .label = Lưu trữ ngoại lệ này vĩnh viễn
+ .accesskey = L
+
+pk11-bad-password = Mật khẩu nhập vào không đúng.
+pkcs12-decode-err = Không giải mã tập tin được. Do nó không ở định dạng PKCS #12, bị hỏng, hoặc mật khẩu đã nhập sai.
+pkcs12-unknown-err-restore = Thất bại trong khi khôi phục tập tin PKCS #12 vì những lí do chưa rõ ràng.
+pkcs12-unknown-err-backup = Thất bại trong khi tạo tập tin sao lưu PKCS #12 vì những lí do chưa rõ ràng.
+pkcs12-unknown-err = Thao tác với PKCS #12 thất bại nhưng không rõ lí do.
+pkcs12-info-no-smartcard-backup = Không thể sao lưu các chứng chỉ từ một phần cứng bảo mật, ví dụ như thẻ thông minh.
+pkcs12-dup-data = Chứng chỉ và khóa cá nhân đã có sẵn trên thiết bị bảo mật.
+
+## PKCS#12 file dialogs
+
+choose-p12-backup-file-dialog = Tên tập tin để sao lưu
+file-browse-pkcs12-spec = Tập tin PKCS12
+choose-p12-restore-file-dialog = Chứng chỉ tập tin để nhập
+
+## Import certificate(s) file dialog
+
+file-browse-certificate-spec = Tập tin chứng chỉ
+import-ca-certs-prompt = Chọn tập tin chứa (các) chứng chỉ CA để nhập
+import-email-cert-prompt = Chọn Tập Tin chứa chứng chỉ Email của ai đó để nhập
+
+## For editing certificates trust
+
+# Variables:
+# $certName: the name of certificate
+edit-trust-ca = Chứng chỉ "{ $certName }" đại diện cho một nhà thẩm định chứng chỉ.
+
+## For Deleting Certificates
+
+delete-user-cert-title =
+ .title = Xóa chứng chỉ của bạn
+delete-user-cert-confirm = Bạn có chắc muốn xóa các chứng chỉ này không?
+delete-user-cert-impact = Nếu bạn xóa một trong các chứng chỉ của riêng bạn, bạn không thể dùng nó để nhận diện chính mình được nữa.
+
+
+delete-ssl-override-title =
+ .title = Xóa ngoại lệ chứng chỉ máy chủ
+delete-ssl-override-confirm = Bạn có chắc bạn muốn xóa ngoại lệ máy chủ này không?
+delete-ssl-override-impact = Nếu bạn xóa một ngoại lệ máy chủ, bạn khôi phục việc kiểm tra bảo mật thông thường cho máy chủ đó và yêu cầu nó dùng một chứng thư hợp lệ.
+
+delete-ca-cert-title =
+ .title = Xóa hoặc không tin cậy chứng chỉ CA
+delete-ca-cert-confirm = Bạn đã yêu cầu xóa các chứng chỉ CA này. Đối với chứng chỉ có sẵn, tất cả tin tưởng sẽ bị xóa, gây ra cùng hiệu ứng. Bạn có chắc bạn muốn xóa hoặc không tin tưởng?
+delete-ca-cert-impact = Nếu bạn xóa hoặc không tin tưởng một chứng chỉ của nhà thẩm định chứng chỉ (CA), ứng dụng này sẽ không còn tin bất kì chứng chỉ nào được cấp phát bởi CA đó.
+
+
+delete-email-cert-title =
+ .title = Xóa các chứng chỉ email
+delete-email-cert-confirm = Bạn có muốn xóa các chứng chỉ email của những người này không?
+delete-email-cert-impact = Nếu bạn xóa chứng chỉ email của một người, bạn sẽ không thể gửi e-mail mật hóa tới người đó được nữa.
+
+# Used for semi-uniquely representing a cert.
+#
+# Variables:
+# $serialNumber : the serial number of the cert in AA:BB:CC hex format.
+cert-with-serial =
+ .value = Chứng chỉ có số sê-ri: { $serialNumber }
+
+# Used to indicate that the user chose not to send a client authentication certificate to a server that requested one in a TLS handshake.
+send-no-client-certificate = Không gửi chứng chỉ máy khách
+
+# Used when no cert is stored for an override
+no-cert-stored-for-override = (Không được lưu trữ)
+
+# When a certificate is unavailable (for example, it has been deleted or the token it exists on has been removed).
+certificate-not-available = (Không có sẵn)
+
+## Used to show whether an override is temporary or permanent
+
+permanent-override = Vĩnh viễn
+temporary-override = Tạm thời
+
+## Add Security Exception dialog
+
+add-exception-branded-warning = Bạn đang chuẩn bị thay thế cách { -brand-short-name } định danh trang này.
+add-exception-invalid-header = Trang này đang cố định danh chính nó bằng thông tin bất hợp lệ.
+add-exception-domain-mismatch-short = Trang web sai
+add-exception-domain-mismatch-long = Chứng chỉ thuộc về một trang web khác, điều đó có thể có nghĩa là ai đó đang cố gắng mạo danh trang web này.
+add-exception-expired-short = Thông tin lỗi thời
+add-exception-expired-long = Chứng chỉ hiện không hợp lệ. Nó có thể đã bị đánh cắp hoặc bị mất và có thể được sử dụng bởi ai đó để mạo danh trang web này.
+add-exception-unverified-or-bad-signature-short = Không xác định nhận dạng
+add-exception-unverified-or-bad-signature-long = Chứng chỉ không đáng tin vì không được chứng thực bằng chữ kí bảo mật bởi một hãng đã biết.
+add-exception-valid-short = Chứng chỉ hợp lệ
+add-exception-valid-long = Trang này cung cấp định danh hợp lệ, đã được xác minh. Không cần phải thêm ngoại lệ.
+add-exception-checking-short = Đang kiểm tra thông tin
+add-exception-checking-long = Đang cố gắng nhận dạng trang web này…
+add-exception-no-cert-short = Không có thông tin
+add-exception-no-cert-long = Không thể có được trạng thái nhận dạng cho trang web này.
+
+## Certificate export "Save as" and error dialogs
+
+save-cert-as = Lưu chứng chỉ vào tập tin
+cert-format-base64 = Chứng chỉ X.509 (PEM)
+cert-format-base64-chain = Chứng chỉ có mạch chuỗi X.509 (PEM)
+cert-format-der = Chứng chỉ X.509 (DER)
+cert-format-pkcs7 = Chứng chỉ X.509 (PKCS#7)
+cert-format-pkcs7-chain = Chứng chỉ có mạch chuỗi X.509 (PKCS#7)
+write-file-failure = Lỗi tập tin
diff --git a/thunderbird-l10n/vi/localization/vi/security/certificates/deviceManager.ftl b/thunderbird-l10n/vi/localization/vi/security/certificates/deviceManager.ftl
new file mode 100644
index 0000000000..a374af6f7e
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/security/certificates/deviceManager.ftl
@@ -0,0 +1,133 @@
+# 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/.
+
+
+## Strings used for device manager
+
+devmgr-window =
+ .title = Quản lí thiết bị
+ .style = min-width: 67em; min-height: 32em;
+
+devmgr-devlist =
+ .label = Mô-đun và thiết bị bảo mật
+
+devmgr-header-details =
+ .label = Chi tiết
+
+devmgr-header-value =
+ .label = Giá trị
+
+devmgr-button-login =
+ .label = Đăng nhập
+ .accesskey = n
+
+devmgr-button-logout =
+ .label = Đăng xuất
+ .accesskey = O
+
+devmgr-button-changepw =
+ .label = Thay đổi mật khẩu
+ .accesskey = P
+
+devmgr-button-load =
+ .label = Nạp
+ .accesskey = p
+
+devmgr-button-unload =
+ .label = Không Nạp
+ .accesskey = K
+
+devmgr-button-enable-fips =
+ .label = Bật FIPS
+ .accesskey = F
+
+devmgr-button-disable-fips =
+ .label = Tắt FIPS
+ .accesskey = F
+
+## Strings used for load device
+
+load-device =
+ .title = Tải trình điều khiển thiết bị PKCS#11
+
+load-device-info = Nhập thông tin cho module bạn muốn thêm.
+
+load-device-modname =
+ .value = Tên mô-đun
+ .accesskey = M
+
+load-device-modname-default =
+ .value = Module PKCS#11 Mới
+
+load-device-filename =
+ .value = Tên tập tin mô-đun
+ .accesskey = f
+
+load-device-browse =
+ .label = Duyệt…
+ .accesskey = B
+
+## Token Manager
+
+devinfo-status =
+ .label = Trạng thái
+
+devinfo-status-disabled =
+ .label = Bị Vô Hiệu
+
+devinfo-status-not-present =
+ .label = Không Có
+
+devinfo-status-uninitialized =
+ .label = Chưa được Nhận diện
+
+devinfo-status-not-logged-in =
+ .label = Chưa đăng nhập
+
+devinfo-status-logged-in =
+ .label = Đã đăng nhập
+
+devinfo-status-ready =
+ .label = Sẵn sàng
+
+devinfo-desc =
+ .label = Mô tả
+
+devinfo-man-id =
+ .label = Nhà sản xuất
+
+devinfo-hwversion =
+ .label = Phiên bản HW
+devinfo-fwversion =
+ .label = Phiên bản FW
+
+devinfo-modname =
+ .label = Mô-đun
+
+devinfo-modpath =
+ .label = Đường dẫn
+
+login-failed = Đăng nhập thất bại
+
+devinfo-label =
+ .label = Nhãn
+
+devinfo-serialnum =
+ .label = Số sê-ri
+
+fips-nonempty-primary-password-required = Chế độ FIPS yêu cầu bạn phải đặt mật khẩu chính cho từng thiết bị bảo mật. Vui lòng đặt mật khẩu trước khi thử bật chế độ FIPS.
+unable-to-toggle-fips = Không thể thay đổi chế độ FIPS cho thiết bị bảo mật. Bạn nên thoát và khởi động lại ứng dụng này.
+load-pk11-module-file-picker-title = Chọn trình điều khiển thiết bị PKCS#11 để tải
+
+# Load Module Dialog
+load-module-help-empty-module-name =
+ .value = Tên mô-đun không thể để trống.
+
+# Do not translate 'Root Certs'
+load-module-help-root-certs-module-name =
+ .value = ‘Root Certs' được dành riêng và không thể được sử dụng làm tên mô-đun.
+
+add-module-failure = Không thể thêm module
+del-module-warning = Bạn có chắc muốn xóa module bảo mật này không?
+del-module-error = Không thể xóa module
diff --git a/thunderbird-l10n/vi/localization/vi/security/pippki/pippki.ftl b/thunderbird-l10n/vi/localization/vi/security/pippki/pippki.ftl
new file mode 100644
index 0000000000..9f8aa91b7f
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/security/pippki/pippki.ftl
@@ -0,0 +1,106 @@
+# 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/.
+
+password-quality-meter = Độ an toàn mật khẩu
+
+## Change Password dialog
+
+change-device-password-window =
+ .title = Thay đổi mật khẩu
+# Variables:
+# $tokenName (String) - Security device of the change password dialog
+change-password-token = Thiết bị bảo mật: { $tokenName }
+change-password-old = Mật khẩu hiện tại:
+change-password-new = Mật khẩu mới:
+change-password-reenter = Mật khẩu mới (nhập lại):
+pippki-failed-pw-change = Không thể thay đổi mật khẩu.
+pippki-incorrect-pw = Bạn đã không nhập đúng mật khẩu hiện tại. Vui lòng thử lại.
+pippki-pw-change-ok = Đã thay đổi mật khẩu.
+pippki-pw-empty-warning = Mật khẩu được lưu trữ và khóa riêng của bạn sẽ không được bảo vệ.
+pippki-pw-erased-ok = Bạn đã xóa mật khẩu của bạn. { pippki-pw-empty-warning }
+pippki-pw-not-wanted = Cảnh báo! Bạn đã quyết định không sử dụng mật khẩu. { pippki-pw-empty-warning }
+pippki-pw-change2empty-in-fips-mode = Bạn hiện đang ở chế độ FIPS. FIPS yêu cầu không bỏ trống mật khẩu.
+
+## Reset Primary Password dialog
+
+reset-primary-password-window2 =
+ .title = Đặt lại mật khẩu chính
+ .style = min-width: 40em
+reset-password-button-label =
+ .label = Đặt lại
+reset-primary-password-text = Nếu bạn đặt lại mật khẩu chính, toàn bộ các mật khẩu web, email, dữ liệu biểu mẫu, chứng chỉ và khóa cá nhân đã lưu sẽ bị xóa. Bạn có chắc muốn đặt lại mật khẩu chính của mình không?
+pippki-reset-password-confirmation-title = Đặt lại mật khẩu chính
+pippki-reset-password-confirmation-message = Đã đặt lại mật khẩu chính của bạn.
+
+## Downloading cert dialog
+
+download-cert-window2 =
+ .title = Đang tải Chứng chỉ
+ .style = min-width: 46em
+download-cert-message = Bạn được hỏi có tin tưởng một CA (Bên thẩm định Chứng chỉ) mới hay không.
+download-cert-trust-ssl =
+ .label = Tin CA này để nhận diện các trang web.
+download-cert-trust-email =
+ .label = Tin CA này để nhận diện những người dùng email.
+download-cert-message-desc = Trước khi tin vào CA này với bất kì mục đích nào, bạn nên kiểm định chứng chỉ, điều khoản và thủ tục của nó (nếu có).
+download-cert-view-cert =
+ .label = Xem
+download-cert-view-text = Kiểm định chứng chỉ của CA
+
+## Client Authorization Ask dialog
+
+
+## Client Authentication Ask dialog
+
+client-auth-window =
+ .title = Yêu cầu Nhận diện Người dùng
+client-auth-site-description = Trang này yêu cầu bạn tự nhận diện chính mình với một chứng chỉ:
+client-auth-choose-cert = Chọn một chứng chỉ để thực hiện việc nhận diện này:
+client-auth-send-no-certificate =
+ .label = Không gửi chứng chỉ
+# Variables:
+# $hostname (String) - The domain name of the site requesting the client authentication certificate
+client-auth-site-identification = “{ $hostname }” đã yêu cầu bạn xác minh chính mình bằng chứng chỉ:
+client-auth-cert-details = Thông tin chi tiết của chứng chỉ được chọn:
+# Variables:
+# $issuedTo (String) - The subject common name of the currently-selected client authentication certificate
+client-auth-cert-details-issued-to = Cấp cho: { $issuedTo }
+# Variables:
+# $serialNumber (String) - The serial number of the certificate (hexadecimal of the form "AA:BB:...")
+client-auth-cert-details-serial-number = Số sê-ri: { $serialNumber }
+# Variables:
+# $notBefore (String) - The date before which the certificate is not valid (e.g. Apr 21, 2023, 1:47:53 PM UTC)
+# $notAfter (String) - The date after which the certificate is not valid
+client-auth-cert-details-validity-period = Hợp lệ từ { $notBefore } đến { $notAfter }
+# Variables:
+# $keyUsages (String) - A list of already-localized key usages for which the certificate may be used
+client-auth-cert-details-key-usages = Sử dụng khóa: { $keyUsages }
+# Variables:
+# $emailAddresses (String) - A list of email addresses present in the certificate
+client-auth-cert-details-email-addresses = Địa chỉ email: { $emailAddresses }
+# Variables:
+# $issuedBy (String) - The issuer common name of the certificate
+client-auth-cert-details-issued-by = Cấp bởi: { $issuedBy }
+# Variables:
+# $storedOn (String) - The name of the token holding the certificate (for example, "OS Client Cert Token (Modern)")
+client-auth-cert-details-stored-on = Lưu trữ trên: { $storedOn }
+client-auth-cert-remember-box =
+ .label = Ghi nhớ quyết định này
+
+## Set password (p12) dialog
+
+set-password-window =
+ .title = Chọn một Mật khẩu Sao lưu Chứng chỉ
+set-password-message = Mật khẩu sao lưu chứng chỉ mà bạn đặt ở đây bảo vệ tập tin sao lưu mà bạn sẽ tạo. Bạn phải đặt mật khẩu để tiến hành sao lưu.
+set-password-backup-pw =
+ .value = Mật khẩu sao lưu chứng chỉ:
+set-password-repeat-backup-pw =
+ .value = Mật khẩu sao lưu chứng chỉ (nhập lại):
+set-password-reminder = Quan trọng: Nếu bạn quên mật khẩu sao lưu chứng chỉ, sau này bạn sẽ không thể phục hồi bản sao lưu này. Hãy lưu vào một nơi an toàn.
+
+## Protected authentication alert
+
+# Variables:
+# $tokenName (String) - The name of the token to authenticate to (for example, "OS Client Cert Token (Modern)")
+protected-auth-alert = Vui lòng xác thực với token “{ $tokenName }”. Cách thực hiện tùy thuộc vào token (ví dụ: sử dụng đầu đọc dấu vân tay hoặc nhập mã bằng bàn phím).
diff --git a/thunderbird-l10n/vi/localization/vi/services/accounts.ftl b/thunderbird-l10n/vi/localization/vi/services/accounts.ftl
new file mode 100644
index 0000000000..771ee626f1
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/services/accounts.ftl
@@ -0,0 +1,8 @@
+# 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/.
+
+# Variables:
+# $user (String): the user name (e.g. "Ed")
+# $system (String): the operating system (e.g. "Android")
+account-client-name = { -brand-short-name } của { $user } trên { $system }
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutAbout.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutAbout.ftl
new file mode 100644
index 0000000000..da9acef660
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutAbout.ftl
@@ -0,0 +1,6 @@
+# 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/.
+
+about-about-title = about:about
+about-about-note = Đây là một danh sách các trang “about” giúp bạn thuận tiện điều hướng chúng hơn.<br/> Một số trong số chúng có thể gây nhầm lẫn. Một số chỉ dành cho mục đích chẩn đoán.<br/> Và một số bị bỏ qua vì chúng yêu cầu chuỗi truy vấn.
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutAddons.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutAddons.ftl
new file mode 100644
index 0000000000..3ff5e5903a
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutAddons.ftl
@@ -0,0 +1,497 @@
+# 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/.
+
+addons-page-title = Quản lí tiện ích
+search-header =
+ .placeholder = Tìm kiếm addons.mozilla.org
+ .searchbuttonlabel = Tìm kiếm
+
+## Variables
+## $domain - Domain name where add-ons are available (e.g. addons.mozilla.org)
+
+list-empty-get-extensions-message = Tải tiện ích mở rộng và chủ đề trên <a data-l10n-name="get-extensions">{ $domain }</a>
+list-empty-get-dictionaries-message = Tải từ điển trên <a data-l10n-name="get-extensions">{ $domain }</a>
+list-empty-get-language-packs-message = Tải gói ngôn ngữ trên <a data-l10n-name="get-extensions">{ $domain }</a>
+
+##
+
+list-empty-installed =
+ .value = Bạn không có tiện ích nào thuộc kiểu này được cài đặt
+list-empty-available-updates =
+ .value = Không tìm thấy cập nhật
+list-empty-recent-updates =
+ .value = Bạn chưa cập nhật tiện ích nào gần đây
+list-empty-find-updates =
+ .label = Kiểm tra cập nhật
+list-empty-button =
+ .label = Tìm hiểu thêm về tiện ích
+help-button = Hỗ trợ tiện ích
+sidebar-help-button-title =
+ .title = Hỗ trợ tiện ích
+addons-settings-button = Cài đặt { -brand-short-name }
+sidebar-settings-button-title =
+ .title = Cài đặt { -brand-short-name }
+show-unsigned-extensions-button =
+ .label = Không thể xác thực một số tiện ích
+show-all-extensions-button =
+ .label = Hiện tất cả các tiện ích
+detail-version =
+ .label = Phiên bản
+detail-last-updated =
+ .label = Cập nhật lần cuối
+addon-detail-description-expand = Hiện nhiều hơn
+addon-detail-description-collapse = Hiện ít hơn
+detail-contributions-description = Nhà phát triển tiện ích này đề nghị bạn hỗ trợ một khoản tài chính nhỏ cho việc phát triển.
+detail-contributions-button = Đóng góp
+ .title = Đóng góp cho sự phát triển của tiện ích mở rộng này
+ .accesskey = C
+detail-update-type =
+ .value = Cập nhật tự động
+detail-update-default =
+ .label = Mặc định
+ .tooltiptext = Chỉ tự động cài đặt cập nhật khi đó là mặc định
+detail-update-automatic =
+ .label = Bật
+ .tooltiptext = Tự động cài đặt cập nhật
+detail-update-manual =
+ .label = Tắt
+ .tooltiptext = Không tự động cài đặt cập nhật
+# Used as a description for the option to allow or block an add-on in private windows.
+detail-private-browsing-label = Chạy trong cửa sổ riêng tư
+# Some add-ons may elect to not run in private windows by setting incognito: not_allowed in the manifest. This
+# cannot be overridden by the user.
+detail-private-disallowed-label = Không được phép trong cửa sổ riêng tư
+detail-private-disallowed-description2 = Tiện ích mở rộng này không chạy trong khi duyệt web riêng tư. <a data-l10n-name="learn-more">Tìm hiểu thêm</a>
+# Some special add-ons are privileged, run in private windows automatically, and this permission can't be revoked
+detail-private-required-label = Yêu cầu quyền truy cập vào cửa sổ riêng tư
+detail-private-required-description2 = Tiện ích mở rộng này có quyền truy cập vào các hoạt động trực tuyến của bạn trong khi duyệt web riêng tư. <a data-l10n-name="learn-more">Tìm hiểu thêm</a>
+detail-private-browsing-on =
+ .label = Cho phép
+ .tooltiptext = Kích hoạt trong duyệt web riêng tư
+detail-private-browsing-off =
+ .label = Không cho phép
+ .tooltiptext = Vô hiệu hóa trong duyệt web riêng tư
+detail-home =
+ .label = Trang chủ
+detail-home-value =
+ .value = { detail-home.label }
+detail-repository =
+ .label = Hồ sơ tiện ích
+detail-repository-value =
+ .value = { detail-repository.label }
+detail-check-for-updates =
+ .label = Kiểm tra cập nhật
+ .accesskey = U
+ .tooltiptext = Kiểm tra cập nhật cho tiện ích này
+detail-show-preferences =
+ .label =
+ { PLATFORM() ->
+ [windows] Tùy chọn
+ *[other] Tùy chỉnh
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] O
+ *[other] P
+ }
+ .tooltiptext =
+ { PLATFORM() ->
+ [windows] Thay đổi tùy chọn của tiện ích này
+ *[other] Thay đổi tùy chỉnh của tiện ích này
+ }
+detail-rating =
+ .value = Xếp hạng
+addon-restart-now =
+ .label = Khởi động lại ngay
+disabled-unsigned-heading =
+ .value = Một số tiện ích đã bị vô hiệu hóa
+disabled-unsigned-description = Những tiện ích sau chưa được kiểm tra tương thích với { -brand-short-name }. Bạn có thể <label data-l10n-name="find-addons">tìm tiện ích thay thế</label> hoặc chờ nhà phát triển cập nhật bản mới.
+disabled-unsigned-learn-more = Tìm hiểu về nỗ lực đảm bảo an toàn trên mạng cho bạn của chúng tôi.
+disabled-unsigned-devinfo = Nếu bạn là lập trình viên và muốn tiện ích của mình được kiểm tra thì có thể đọc <label data-l10n-name="learn-more">tài liệu hướng dẫn</label> của chúng tôi.
+plugin-deprecation-description = Bạn đang thấy thiếu gì đó? Một số phần bổ trợ không còn được hỗ trợ bởi { -brand-short-name }. <label data-l10n-name="learn-more">Tìm hiểu thêm.</label>
+legacy-warning-show-legacy = Hiển thị các tiện ích mở rộng kế thừa
+legacy-extensions =
+ .value = Tiện ích mở rộng kế thừa
+legacy-extensions-description = Các tiện ích mở rộng này không đáp ứng tiêu chuẩn hiện tại của { -brand-short-name } do đó chúng đã bị ngừng hoạt động. <label data-l10n-name="legacy-learn-more">Tìm hiểu về các thay đổi tiện ích</label>
+private-browsing-description2 =
+ { -brand-short-name } đang thay đổi cách các tiện ích mở rộng hoạt động trong trình duyệt riêng tư. Bất kỳ tiện ích mở rộng mới nào bạn thêm vào
+ { -brand-short-name } sẽ không chạy theo mặc định trong cửa sổ riêng tư. Trừ khi bạn cho phép nó trong cài đặt,
+ tiện ích mở rộng sẽ không chạy trong khi duyệt web riêng tư và sẽ không có quyền truy cập vào các hoạt động trực tuyến của bạn.
+ Chúng tôi đã thực hiện thay đổi này để giữ trình duyệt của bạn riêng tư.
+ <label data-l10n-name="private-browsing-learn-more">Tìm hiểu cách quản lý cài đặt tiện ích mở rộng.</label>
+addon-category-discover = Đề xuất
+addon-category-discover-title =
+ .title = Đề xuất
+addon-category-extension = Tiện ích mở rộng
+addon-category-extension-title =
+ .title = Tiện ích mở rộng
+addon-category-theme = Chủ đề
+addon-category-theme-title =
+ .title = Chủ đề
+addon-category-plugin = Phần bổ trợ
+addon-category-plugin-title =
+ .title = Phần bổ trợ
+addon-category-dictionary = Từ điển
+addon-category-dictionary-title =
+ .title = Từ điển
+addon-category-locale = Ngôn ngữ
+addon-category-locale-title =
+ .title = Ngôn ngữ
+addon-category-available-updates = Cập nhật có sẵn
+addon-category-available-updates-title =
+ .title = Cập nhật có sẵn
+addon-category-recent-updates = Cập nhật gần đây
+addon-category-recent-updates-title =
+ .title = Cập nhật gần đây
+addon-category-sitepermission = Quyền hạn trang web
+addon-category-sitepermission-title =
+ .title = Quyền hạn trang web
+# String displayed in about:addons in the Site Permissions section
+# Variables:
+# $host (string) - DNS host name for which the webextension enables permissions
+addon-sitepermission-host = Quyền hạn trang web cho { $host }
+
+## These are global warnings
+
+extensions-warning-safe-mode = Tất cả tiện ích đã bị vô hiệu hóa bởi chế độ an toàn.
+extensions-warning-check-compatibility = Việc kiểm tra tính tương thích của tiện ích đã bị vô hiệu hóa. Có thể bạn đang dùng các tiện ích không còn tương thích nữa.
+extensions-warning-safe-mode2 =
+ .message = Tất cả tiện ích đã bị vô hiệu hóa bởi chế độ an toàn.
+extensions-warning-check-compatibility2 =
+ .message = Việc kiểm tra tính tương thích của tiện ích đã bị vô hiệu hóa. Có thể bạn đang dùng các tiện ích không còn tương thích nữa.
+extensions-warning-check-compatibility-button = Bật
+ .title = Kích hoạt kiểm tra tính tương thích của tiện ích
+extensions-warning-update-security = Việc kiểm tra tính an toàn của các cập nhật tiện ích đã bị vô hiệu hóa. Bạn có thể bị tổn hại nếu cập nhật.
+extensions-warning-update-security2 =
+ .message = Việc kiểm tra tính an toàn của các cập nhật tiện ích đã bị vô hiệu hóa. Bạn có thể bị tổn hại nếu cập nhật.
+extensions-warning-update-security-button = Bật
+ .title = Kích hoạt kiểm tra tính bảo mật của cập nhật cho tiện ích
+extensions-warning-imported-addons2 =
+ .message = Vui lòng hoàn tất việc cài đặt các tiện ích mở rộng đã được nhập vào { -brand-short-name }.
+extensions-warning-imported-addons-button = Cài đặt tiện ích mở rộng
+
+## Strings connected to add-on updates
+
+addon-updates-check-for-updates = Kiểm tra cập nhật
+ .accesskey = C
+addon-updates-view-updates = Xem các cập nhật gần đây
+ .accesskey = V
+
+# This menu item is a checkbox that toggles the default global behavior for
+# add-on update checking.
+
+addon-updates-update-addons-automatically = Tự động cập nhật tiện ích
+ .accesskey = A
+
+## Specific add-ons can have custom update checking behaviors ("Manually",
+## "Automatically", "Use default global behavior"). These menu items reset the
+## update checking behavior for all add-ons to the default global behavior
+## (which itself is either "Automatically" or "Manually", controlled by the
+## extensions-updates-update-addons-automatically.label menu item).
+
+addon-updates-reset-updates-to-automatic = Thiết lập cập nhật tự động tất cả các tiện ích
+ .accesskey = R
+addon-updates-reset-updates-to-manual = Thiết lập cập nhật thủ công tất cả các tiện ích
+ .accesskey = R
+
+## Status messages displayed when updating add-ons
+
+addon-updates-updating = Đang cập nhật tiện ích
+addon-updates-installed = Các tiện ích của bạn đã được cập nhật.
+addon-updates-none-found = Không tìm thấy cập nhật
+addon-updates-manual-updates-found = Xem các cập nhật hiện có
+
+## Add-on install/debug strings for page options menu
+
+addon-install-from-file = Cài đặt tiện ích từ tập tin…
+ .accesskey = I
+addon-install-from-file-dialog-title = Chọn tiện ích để cài đặt
+addon-install-from-file-filter-name = Tiện ích
+addon-open-about-debugging = Gỡ lỗi tiện ích
+ .accesskey = b
+
+## Extension shortcut management
+
+# This is displayed in the page options menu
+addon-manage-extensions-shortcuts = Quản lý phím tắt tiện ích mở rộng
+ .accesskey = s
+shortcuts-no-addons = Bạn không có bất kỳ tiện ích mở rộng nào được kích hoạt.
+shortcuts-no-commands = Các tiện ích mở rộng sau không có phím tắt:
+shortcuts-input =
+ .placeholder = Nhập một phím tắt
+shortcuts-browserAction2 = Kích hoạt nút thanh công cụ
+shortcuts-pageAction = Kích hoạt hành động trang
+shortcuts-sidebarAction = Chuyển đến thanh lề
+shortcuts-modifier-mac = Bao gồmCtrl, Alt, hoặc ⌘
+shortcuts-modifier-other = Bao gồm Ctrl hoặc Alt
+shortcuts-invalid = Kết hợp không hợp lệ
+shortcuts-letter = Nhập một kí tự
+shortcuts-system = Không thể ghi đè một phím tắt { -brand-short-name }
+# String displayed in warning label when there is a duplicate shortcut
+shortcuts-duplicate = Phím tắt trùng lặp
+# String displayed when a keyboard shortcut is already assigned to more than one add-on
+# Variables:
+# $shortcut (string) - Shortcut string for the add-on
+shortcuts-duplicate-warning-message = { $shortcut } đang được sử dụng làm phím tắt trong nhiều trường hợp. Phím tắt trùng lặp có thể gây ra hành vi bất ngờ.
+# String displayed when a keyboard shortcut is already assigned to more than one add-on
+# Variables:
+# $shortcut (string) - Shortcut string for the add-on
+shortcuts-duplicate-warning-message2 =
+ .message = { $shortcut } đang được sử dụng làm phím tắt trong nhiều trường hợp. Phím tắt trùng lặp có thể gây ra hành vi bất ngờ.
+# String displayed when a keyboard shortcut is already used by another add-on
+# Variables:
+# $addon (string) - Name of the add-on
+shortcuts-exists = Đã được sử dụng bởi { $addon }
+# Variables:
+# $numberToShow (number) - Number of other elements available to show
+shortcuts-card-expand-button =
+ { $numberToShow ->
+ *[other] Hiển thị { $numberToShow } khác
+ }
+shortcuts-card-collapse-button = Hiện ít hơn
+header-back-button =
+ .title = Quay lại
+
+## Recommended add-ons page
+
+# Explanatory introduction to the list of recommended add-ons. The action word
+# ("recommends") in the final sentence is a link to external documentation.
+discopane-intro =
+ Tiện ích mở rộng và chủ đề giống như các ứng dụng cho trình duyệt của bạn và chúng cho phép
+ bạn bảo vệ mật khẩu, tải video, tìm giao dịch, chặn quảng cáo gây phiền nhiễu, thay đổi
+ trình duyệt của bạn trông như thế nào, và nhiều hơn nữa. Những chương trình phần mềm
+ nhỏ này là thường được phát triển bởi một bên thứ ba. Ở đây, một lựa chọn
+ <a data-l10n-name="learn-more-trigger">đề xuất</a> { -brand-product-name } cho trường hợp
+ bảo mật, hiệu suất và chức năng đặc biệt.
+# Notice to make user aware that the recommendations are personalized.
+discopane-notice-recommendations =
+ Một số trong những khuyến nghị được cá nhân hóa. Nó dựa trên khác
+ tiện ích mở rộng mà bạn đã cài đặt, tùy chọn hồ sơ và thống kê sử dụng.
+# Notice to make user aware that the recommendations are personalized.
+discopane-notice-recommendations2 =
+ .message =
+ Một số trong những khuyến nghị được cá nhân hóa. Nó dựa trên khác
+ tiện ích mở rộng mà bạn đã cài đặt, tùy chọn hồ sơ và thống kê sử dụng.
+discopane-notice-learn-more = Tìm hiểu thêm
+privacy-policy = Chính sách riêng tư
+# Refers to the author of an add-on, shown below the name of the add-on.
+# Variables:
+# $author (string) - The name of the add-on developer.
+created-by-author = bởi <a data-l10n-name="author">{ $author }</a>
+# Shows the number of daily users of the add-on.
+# Variables:
+# $dailyUsers (number) - The number of daily users.
+user-count = Người dùng: { $dailyUsers }
+install-extension-button = Thêm vào { -brand-product-name }
+install-theme-button = Cài đặt chủ đề
+# The label of the button that appears after installing an add-on. Upon click,
+# the detailed add-on view is opened, from where the add-on can be managed.
+manage-addon-button = Quản lý
+find-more-addons = Tìm thêm tiện ích
+find-more-themes = Tìm thêm chủ đề
+# This is a label for the button to open the "more options" menu, it is only
+# used for screen readers.
+addon-options-button =
+ .aria-label = Tùy chọn khác
+
+## Add-on actions
+
+report-addon-button = Báo cáo
+remove-addon-button = Xóa
+# The link will always be shown after the other text.
+remove-addon-disabled-button = Không thể xóa bỏ dữ liệu <a data-l10n-name="link">Tại sao?</a>
+disable-addon-button = Tắt
+enable-addon-button = Bật
+# This is used for the toggle on the extension card, it's a checkbox and this
+# is always its label.
+extension-enable-addon-button-label =
+ .aria-label = Bật
+preferences-addon-button =
+ { PLATFORM() ->
+ [windows] Tùy chọn
+ *[other] Tùy chỉnh
+ }
+details-addon-button = Chi tiết
+release-notes-addon-button = Ghi chú phát hành
+permissions-addon-button = Quyền hạn
+extension-enabled-heading = Đã bật
+extension-disabled-heading = Đã vô hiệu hóa
+theme-enabled-heading = Đã bật
+theme-disabled-heading2 = Chủ đề đã lưu
+plugin-enabled-heading = Đã bật
+plugin-disabled-heading = Đã tắt
+dictionary-enabled-heading = Đã bật
+dictionary-disabled-heading = Đã tắt
+locale-enabled-heading = Đã bật
+locale-disabled-heading = Đã tắt
+sitepermission-enabled-heading = Đã bật
+sitepermission-disabled-heading = Đã tắt
+always-activate-button = Luôn kích hoạt
+never-activate-button = Không bao giờ kích hoạt
+addon-detail-author-label = Tác giả
+addon-detail-version-label = Phiên bản
+addon-detail-last-updated-label = Cập nhật cuối
+addon-detail-homepage-label = Trang chủ
+addon-detail-rating-label = Xêp hạng
+# Message for add-ons with a staged pending update.
+install-postponed-message = Tiện ích mở rộng này sẽ được cập nhật khi { -brand-short-name } khởi động lại.
+# Message for add-ons with a staged pending update.
+install-postponed-message2 =
+ .message = Tiện ích mở rộng này sẽ được cập nhật khi { -brand-short-name } khởi động lại.
+install-postponed-button = Cập nhật ngay
+# The average rating that the add-on has received.
+# Variables:
+# $rating (number) - A number between 0 and 5. The translation should show at most one digit after the comma.
+five-star-rating =
+ .title = Xếp hạng { NUMBER($rating, maximumFractionDigits: 1) } trên 5
+# This string is used to show that an add-on is disabled.
+# Variables:
+# $name (string) - The name of the add-on
+addon-name-disabled = { $name } (đã vô hiệu hóa)
+# The number of reviews that an add-on has received on AMO.
+# Variables:
+# $numberOfReviews (number) - The number of reviews received
+addon-detail-reviews-link =
+ { $numberOfReviews ->
+ *[other] { $numberOfReviews } đánh giá
+ }
+
+## Pending uninstall message bar
+
+# Variables:
+# $addon (string) - Name of the add-on
+pending-uninstall-description = <span data-l10n-name="addon-name">{ $addon }</span> đã bị xóa.
+# Variables:
+# $addon (string) - Name of the add-on
+pending-uninstall-description2 =
+ .message = { $addon } đã bị xóa.
+pending-uninstall-undo-button = Hoàn tác
+addon-detail-updates-label = Cho phép cập nhật tự động
+addon-detail-updates-radio-default = Mặc định
+addon-detail-updates-radio-on = Bật
+addon-detail-updates-radio-off = Tắt
+addon-detail-update-check-label = Kiểm tra cập nhật
+install-update-button = Cập nhật
+# aria-label associated to the updates row to help screen readers to announce the group
+# of input controls being entered.
+addon-detail-group-label-updates =
+ .aria-label = { addon-detail-updates-label }
+# This is the tooltip text for the private browsing badge in about:addons. The
+# badge is the private browsing icon included next to the extension's name.
+addon-badge-private-browsing-allowed2 =
+ .title = Được phép trong cửa sổ riêng tư
+ .aria-label = { addon-badge-private-browsing-allowed2.title }
+addon-detail-private-browsing-help = Khi được cho phép, tiện ích mở rộng sẽ có quyền truy cập vào các hoạt động trực tuyến của bạn trong khi duyệt web riêng tư. <a data-l10n-name="learn-more">Tìm hiểu thêm</a>
+addon-detail-private-browsing-allow = Cho phép
+addon-detail-private-browsing-disallow = Không cho phép
+# aria-label associated to the private browsing row to help screen readers to announce the group
+# of input controls being entered.
+addon-detail-group-label-private-browsing =
+ .aria-label = { detail-private-browsing-label }
+
+## "sites with restrictions" (internally called "quarantined") are special domains
+## where add-ons are normally blocked for security reasons.
+
+# Used as a description for the option to allow or block an add-on on quarantined domains.
+addon-detail-quarantined-domains-label = Chạy trên trang web bị hạn chế
+# Used as help text part of the quarantined domains UI controls row.
+addon-detail-quarantined-domains-help = Khi được phép, tiện ích mở rộng sẽ có quyền truy cập vào các trang web bị hạn chế bởi { -vendor-short-name }. Chỉ cho phép nếu bạn tin tưởng tiện ích mở rộng này.
+# Used as label and tooltip text on the radio inputs associated to the quarantined domains UI controls.
+addon-detail-quarantined-domains-allow = Cho phép
+addon-detail-quarantined-domains-disallow = Không cho phép
+# aria-label associated to the quarantined domains exempt row to help screen readers to announce the group.
+addon-detail-group-label-quarantined-domains =
+ .aria-label = { addon-detail-quarantined-domains-label }
+
+## This is the tooltip text for the recommended badges for an extension in about:addons. The
+## badge is a small icon displayed next to an extension when it is recommended on AMO.
+
+addon-badge-recommended2 =
+ .title = { -brand-product-name } chỉ đề xuất các tiện ích mở rộng đáp ứng các tiêu chuẩn của chúng tôi về bảo mật và hiệu suất
+ .aria-label = { addon-badge-recommended2.title }
+# We hard code "Mozilla" in the string below because the extensions are built
+# by Mozilla and we don't want forks to display "by Fork".
+addon-badge-line3 =
+ .title = Tiện ích mở rộng chính thức do Mozilla xây dựng. Đáp ứng các tiêu chuẩn về bảo mật và hiệu suất.
+ .aria-label = { addon-badge-line3.title }
+addon-badge-verified2 =
+ .title = Tiện ích mở rộng này đã được xem xét để đáp ứng các tiêu chuẩn của chúng tôi về bảo mật và hiệu suất
+ .aria-label = { addon-badge-verified2.title }
+
+##
+
+available-updates-heading = Cập nhật có sẵn
+recent-updates-heading = Cập nhật gần đây
+release-notes-loading = Đang tải…
+release-notes-error = Xin lỗi, nhưng có lỗi xảy ra khi mở ghi chú phát hành.
+addon-permissions-empty = Tiện ích mở rộng này không yêu cầu bất kỳ quyền nào
+addon-permissions-required = Các quyền cần thiết cho chức năng cốt lõi:
+addon-permissions-optional = Các quyền tùy chọn cho chức năng được bổ sung:
+addon-permissions-learnmore = Tìm hiểu thêm về quyền hạn
+recommended-extensions-heading = Tiện ích mở rộng được đề xuất
+recommended-themes-heading = Chủ đề được đề xuất
+# Variables:
+# $hostname (string) - Host where the permissions are granted
+addon-sitepermissions-required = Cấp các khả năng sau cho <span data-l10n-name="hostname">{ $hostname }</span>:
+# A recommendation for the Firefox Color theme shown at the bottom of the theme
+# list view. The "Firefox Color" name itself should not be translated.
+recommended-theme-1 = Cảm thấy muốn sáng tạo? <a data-l10n-name="link">Xây dựng chủ đề của riêng bạn với Firefox Color.</a>
+
+## Page headings
+
+extension-heading = Quản lí tiện ích của bạn
+theme-heading = Quản lí chủ đề của bạn
+plugin-heading = Quản lí phần bổ trợ của bạn
+dictionary-heading = Quản lí từ điển của bạn
+locale-heading = Quản lí ngôn ngữ của bạn
+updates-heading = Quản lý cập nhật của bạn
+sitepermission-heading = Quản lý quyền hạn trang web của bạn
+discover-heading = Cá nhân hóa { -brand-short-name } của bạn
+shortcuts-heading = Quản lý phím tắt tiện ích mở rộng
+default-heading-search-label = Tìm thêm tiện ích
+addons-heading-search-input =
+ .placeholder = Tìm kiếm addons.mozilla.org
+addon-page-options-button =
+ .title = Công cụ cho tất cả tiện ích
+
+## Detail notifications
+## Variables:
+## $name (string) - Name of the add-on.
+
+# Variables:
+# $version (string) - Application version.
+details-notification-incompatible = { $name } không tương thích với { -brand-short-name } { $version }.
+# Variables:
+# $version (string) - Application version.
+details-notification-incompatible2 =
+ .message = { $name } không tương thích với { -brand-short-name } { $version }.
+details-notification-incompatible-link = Thông tin chi tiết
+details-notification-unsigned-and-disabled = Không thể kiểm tra tính tương thích của { $name } với { -brand-short-name } nên nó đã bị vô hiệu hóa.
+details-notification-unsigned-and-disabled2 =
+ .message = Không thể kiểm tra tính tương thích của { $name } với { -brand-short-name } nên nó đã bị vô hiệu hóa.
+details-notification-unsigned-and-disabled-link = Thông tin chi tiết
+details-notification-unsigned = Không thể kiểm tra tính tương thích của { $name } với { -brand-short-name }. Bạn nên cẩn thận.
+details-notification-unsigned2 =
+ .message = Không thể kiểm tra tính tương thích của { $name } với { -brand-short-name }. Bạn nên cẩn thận.
+details-notification-unsigned-link = Thông tin chi tiết
+details-notification-blocked = { $name } đã bị vô hiệu hóa vì vấn đề bảo mật hoặc tính ổn định.
+details-notification-blocked2 =
+ .message = { $name } đã bị vô hiệu hóa vì vấn đề bảo mật hoặc tính ổn định.
+details-notification-blocked-link = Thông tin Chi tiết
+details-notification-softblocked = { $name } được cho là gây ra các vấn đề về bảo mật hoặc tính ổn định.
+details-notification-softblocked2 =
+ .message = { $name } được cho là gây ra các vấn đề về bảo mật hoặc tính ổn định.
+details-notification-softblocked-link = Thông tin Chi tiết
+details-notification-gmp-pending = { $name } sắp được cài.
+details-notification-gmp-pending2 =
+ .message = { $name } sắp được cài.
+
+## Gecko Media Plugins (GMPs)
+
+plugins-gmp-license-info = Thông tin giấy phép
+plugins-gmp-privacy-info = Thông tin bảo mật
+plugins-openh264-name = Bộ giải mã OpenH264 được cung cấp bởi Cisco Systems, Inc.
+plugins-openh264-description = Phần bổ trợ này được Mozilla cài đặt tự động để tương thích với quy chuẩn WebRTC và để cho phép tạo cuộc gọi WebRTC với các thiết bị yêu cầu sử dụng mã hóa H.264. Xin hãy truy cập http://www.openh264.org/ để xem mã nguồn của bộ giải mã và tìm hiểu thêm.
+plugins-widevine-name = Mô-đun giải mã nội dung Widevine được cung cấp bởi Google Inc.
+plugins-widevine-description = Phần bổ trợ này cho phép phát lại phương tiện được mã hóa tuân thủ theo thông số kỹ thuật của phần mở rộng phương tiện được mã hóa. Phương tiện được mã hóa thường được sử dụng bởi các trang web để bảo vệ chống sao chép nội dung phương tiện cao cấp. Truy cập https://www.w3.org/TR/encrypted-media/ để biết thêm thông tin về tiện ích mở rộng phương tiện được mã hóa.
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutCompat.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutCompat.ftl
new file mode 100644
index 0000000000..58678d7c97
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutCompat.ftl
@@ -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/.
+
+label-disable = Vô hiệu hóa
+label-enable = Kích hoạt
+label-interventions = Can thiệp
+label-more-information = Thông tin chi tiết: Lỗi { $bug }
+label-overrides = Ghi đè chuỗi đại diện người dùng
+text-disabled-in-about-config = Tính năng này đã bị vô hiệu hóa trong about:config
+text-no-interventions = Không có can thiệp nào đang được sử dụng
+text-no-overrides = Không có ghi đè chuỗi đại diện người dùng nào đang được sử dụng
+text-title = about:compat
+
+## Do not translate "SmartBlock". For reference, SmartBlock is a feature
+## of Firefox anti-tracking which fixes website breakage caused when
+## trackers are blocked, by acting just enough like those trackers to fix the
+## breakage. SmartBlock also contains special fixes for sites broken by
+## Firefox's Total Cookie Protection feature.
+
+label-smartblock = Các bản sửa lỗi SmartBlock
+text-no-smartblock = Không có bản sửa lỗi SmartBlock nào đang được sử dụng
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutGlean.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutGlean.ftl
new file mode 100644
index 0000000000..5043de6793
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutGlean.ftl
@@ -0,0 +1,105 @@
+# 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/.
+
+
+### "FOG", "Glean", and "Glean SDK" should remain in English.
+
+-fog-brand-name = FOG
+-glean-brand-name = Glean
+glean-sdk-brand-name = { -glean-brand-name } SDK
+glean-debug-ping-viewer-brand-name = Trình xem gỡ lỗi ping { -glean-brand-name }
+about-glean-page-title2 = Về { -glean-brand-name }
+about-glean-header = Về { -glean-brand-name }
+about-glean-interface-description =
+ <a data-l10n-name="glean-sdk-doc-link">{ glean-sdk-brand-name }</a>
+ là một thư viện thu thập dữ liệu được sử dụng trong các dự án { -vendor-short-name }.
+ Giao diện này được thiết kế để các nhà phát triển và người thử nghiệm sử dụng
+ <a data-l10n-name="fog-link">thiết bị đo đạc kiểm tra</a> theo cách thủ công.
+about-glean-upload-enabled = Tải lên dữ liệu được bật.
+about-glean-upload-disabled = Tải lên dữ liệu bị tắt.
+about-glean-upload-enabled-local = Tải lên dữ liệu chỉ được bật để gửi đến máy chủ cục bộ.
+about-glean-upload-fake-enabled =
+ Tải lên dữ liệu bị tắt,
+ nhưng chúng tôi đang nói dối với { glean-sdk-brand-name } nó đang bật
+ để dữ liệu vẫn được ghi cục bộ.
+ Lưu ý: Nếu bạn đặt thẻ gỡ lỗi, ping sẽ được tải lên
+ bất kể cài đặt nào của <a data-l10n-name="glean-debug-ping-viewer">{ glean-debug-ping-viewer-brand-name }</a>.
+# This message is followed by a bulleted list.
+about-glean-prefs-and-defines = <a data-l10n-name="fog-prefs-and-defines-doc-link">Các tùy chọn và định nghĩa</a> có liên quan bao gồm:
+# Variables:
+# $data-upload-pref-value (String): the value of the datareporting.healthreport.uploadEnabled pref. Typically "true", sometimes "false"
+# Do not translate strings between <code> </code> tags.
+about-glean-data-upload = <code>datareporting.healthreport.uploadEnabled</code>: { $data-upload-pref-value }
+# Variables:
+# $local-port-pref-value (Integer): the value of the telemetry.fog.test.localhost_port pref. Typically 0. Can be negative.
+# Do not translate strings between <code> </code> tags.
+about-glean-local-port = <code>telemetry.fog.test.localhost_port</code>: { $local-port-pref-value }
+# Variables:
+# $glean-android-define-value (Boolean): the value of the MOZ_GLEAN_ANDROID define. Typically "false", sometimes "true".
+# Do not translate strings between <code> </code> tags.
+about-glean-glean-android = <code>MOZ_GLEAN_ANDROID</code>: { $glean-android-define-value }
+# Variables:
+# $moz-official-define-value (Boolean): the value of the MOZILLA_OFFICIAL define.
+# Do not translate strings between <code> </code> tags.
+about-glean-moz-official = <code>MOZILLA_OFFICIAL</code>: { $moz-official-define-value }
+about-glean-about-testing-header = Về thử nghiệm
+# This message is followed by a numbered list.
+about-glean-manual-testing =
+ Hướng dẫn đầy đủ được ghi lại trong
+ <a data-l10n-name="fog-instrumentation-test-doc-link">tài liệu thí nghiệm thiết bị { -fog-brand-name }</a>
+ và trong <a data-l10n-name="glean-sdk-doc-link">tài liệu { glean-sdk-brand-name }</a>,
+ nhưng tóm lại, để kiểm tra thủ công xem thiết bị của bạn có hoạt động hay không, bạn nên:
+# This message is an option in a dropdown filled with untranslated names of pings.
+about-glean-no-ping-label = (không gửi bất kỳ ping nào)
+# An in-line text input field precedes this string.
+about-glean-label-for-tag-pings = Trong trường văn bản, hãy đảm bảo có một thẻ gỡ lỗi đáng nhớ để bạn có thể nhận ra các lần ping của mình sau này.
+# An in-line drop down list precedes this string.
+# Do not translate strings between <code> </code> tags.
+about-glean-label-for-ping-names =
+ Chọn từ danh sách ping mà thiết bị của bạn đang ở.
+ Nếu nó ở trong một <a data-l10n-name="custom-ping-link">ping tùy chỉnh</a>, chọn cái đó.
+ Mặt khác, mặc định cho chỉ số <code>event</code> là
+ ping <code>events</code>
+ và mặc định cho tất cả các chỉ số khác là
+ ping <code>metrics</code>.
+# An in-line check box precedes this string.
+about-glean-label-for-log-pings =
+ (Không bắt buộc. Chọn hộp kiểm nếu bạn muốn ping cũng được ghi lại khi chúng được gửi.
+ Bạn sẽ cần phải cần <a data-l10n-name="enable-logging-link">bật nhật ký</a> bổ sung.)
+# Variables
+# $debug-tag (String): The user-set value of the debug tag input on this page. Like "about-glean-kV"
+# An in-line button labeled "Apply settings and submit ping" precedes this string.
+about-glean-label-for-controls-submit =
+ Nhấn nút để gắn thẻ tất cả các ping { -glean-brand-name } với thẻ của bạn và gửi ping đã chọn.
+ (Tất cả các ping được gửi từ đó cho đến khi bạn khởi động lại ứng dụng sẽ được gắn thẻ
+ <code>{ $debug-tag }</code>.)
+about-glean-li-for-visit-gdpv =
+ <a data-l10n-name="gdpv-tagged-pings-link">Truy cập trang { glean-debug-ping-viewer-brand-name } cho ping với thẻ của bạn</a>.
+ Sẽ không mất quá vài giây từ khi nhấn nút đến khi ping của bạn đến.
+ Đôi khi có thể mất vài phút.
+# Do not translate strings between <code> </code> tags.
+about-glean-adhoc-explanation =
+ Để biết thêm về kiểm thử <i>đặc biệt</i>,
+ bạn cũng có thể xác định giá trị hiện tại của một thiết bị cụ thể
+ bằng cách mở bảng điều khiển devtools tại đây trên <code>about:glean</code>
+ và sử dụng API <code>testGetValue()</code> như
+ <code>Glean.metricCategory.metricName.testGetValue()</code>.
+# Do not translate strings between <code> </code> tags.
+about-glean-adhoc-explanation2 =
+ Để biết thêm về kiểm thử <i>đặc biệt</i>,
+ bạn cũng có thể xác định giá trị hiện tại của một thiết bị cụ thể
+ bằng cách mở bảng điều khiển devtools tại đây trên <code>about:glean</code>
+ và sử dụng API <code>testGetValue()</code> như
+ <code>Glean.metricCategory.metricName.testGetValue()</code>
+ cho một số liệu có tên <code>metric.category.metric_name</code>.
+# Do not translate strings between <code> </code> tags.
+about-glean-adhoc-note =
+ Xin lưu ý rằng bạn đang sử dụng API Glean JS bằng cách sử dụng bảng điều khiển devtools.
+ Điều này có nghĩa là danh mục chỉ số và tên chỉ số được định dạng trong
+ <code>camelCase</code> sẽ không giống như ở Rust và C++ API.
+controls-button-label-verbose = Áp dụng cài đặt và gửi ping
+about-glean-about-data-header = Về dữ liệu
+about-glean-about-data-explanation =
+ Để duyệt danh sách dữ liệu đã thu thập, vui lòng tham khảo
+ <a data-l10n-name="glean-dictionary-link">{ -glean-brand-name } Dictionary</a>.
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutHttpsOnlyError.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutHttpsOnlyError.ftl
new file mode 100644
index 0000000000..113a79c640
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutHttpsOnlyError.ftl
@@ -0,0 +1,30 @@
+# 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/.
+
+about-httpsonly-title-alert = Cảnh báo Chế độ chỉ HTTPS
+about-httpsonly-title-site-not-available = Trang web an toàn không khả dụng
+
+# Variables:
+# $websiteUrl (String) - Url of the website that failed to load. Example: www.example.com
+about-httpsonly-explanation-unavailable2 = Bạn đã bật Chế độ chỉ HTTPS để tăng cường bảo mật, và phiên bản HTTPS của <em>{ $websiteUrl }</em> không khả dụng.
+about-httpsonly-explanation-question = Điều gì có thể gây ra điều này?
+about-httpsonly-explanation-nosupport = Rất có thể, trang web chỉ đơn giản là không hỗ trợ HTTPS.
+about-httpsonly-explanation-risk = Nó cũng có thể là một kẻ tấn công có liên quan. Nếu bạn quyết định truy cập trang web, bạn không nên nhập bất kỳ thông tin nhạy cảm nào như mật khẩu, email hoặc chi tiết thẻ tín dụng.
+about-httpsonly-explanation-continue = Nếu bạn tiếp tục, Chế độ chỉ HTTPS sẽ tạm thời bị tắt cho trang web này.
+
+about-httpsonly-button-continue-to-site = Tiếp tục đến trang web HTTP
+about-httpsonly-button-go-back = Quay lại
+about-httpsonly-link-learn-more = Tìm hiểu thêm…
+
+## Suggestion Box that only shows up if a secure connection to www can be established
+## Variables:
+## $websiteUrl (String) - Url of the website that can be securely loded with these alternatives. Example: example.com
+
+## Suggestion Box that only shows up if a secure connection to www can be established
+## Variables:
+## $websiteUrl (String) - Url of the website that can be securely loaded with these alternatives. Example: example.com
+
+about-httpsonly-suggestion-box-header = Có thể thay thế
+about-httpsonly-suggestion-box-www-text = Có một phiên bản an toàn của <em>www.{ $websiteUrl }</em>. Bạn có thể truy cập trang này thay vì <em>{ $websiteUrl }</em>.
+about-httpsonly-suggestion-box-www-button = Truy cập www.{ $websiteUrl }
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutLogging.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutLogging.ftl
new file mode 100644
index 0000000000..1f7e300183
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutLogging.ftl
@@ -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/.
+
+# This is the title of the page
+about-logging-title = Về ghi nhật ký
+about-logging-page-title = Trình quản lý ghi nhật ký
+about-logging-current-log-file = Tập tin nhật ký hiện tại:
+about-logging-new-log-file = Tập tin nhật ký mới:
+about-logging-currently-enabled-log-modules = Các module nhật ký hiện được bật:
+about-logging-log-tutorial = Xem <a data-l10n-name="logging">nhật ký HTTP</a> để biết hướng dẫn về cách sử dụng công cụ này.
+# This message is used as a button label, "Open" indicates an action.
+about-logging-open-log-file-dir = Mở thư mục
+about-logging-set-log-file = Đặt tập tin nhật ký
+about-logging-set-log-modules = Đặt module nhật ký
+about-logging-start-logging = Bắt đầu ghi
+about-logging-stop-logging = Dừng ghi
+about-logging-buttons-disabled = Ghi nhật ký được định cấu hình thông qua các biến môi trường, cấu hình động không khả dụng.
+about-logging-some-elements-disabled = Ghi nhật ký được định cấu hình qua URL, một số tùy chọn cấu hình hiện không khả dụng
+about-logging-info = Thông tin:
+about-logging-log-modules-selection = Lựa chọn nhật ký module
+about-logging-new-log-modules = Module nhật ký mới:
+about-logging-logging-output-selection = Nơi xuất ghi nhật ký
+about-logging-logging-to-file = Ghi vào một tập tin
+about-logging-logging-to-profiler = Ghi vào { -profiler-brand-name }
+about-logging-no-log-modules = Không
+about-logging-no-log-file = Không
+about-logging-logging-preset-selector-text = Ghi nhật ký đặt trước:
+about-logging-with-profiler-stacks-checkbox = Bật dấu vết ngăn xếp (stack trace) cho tin nhắn nhật ký
+
+## Logging presets
+
+about-logging-preset-networking-label = Kết nối mạng
+about-logging-preset-networking-description = Ghi nhật ký các module để chẩn đoán các sự cố mạng
+about-logging-preset-networking-cookie-label = Cookie
+about-logging-preset-networking-cookie-description = Ghi nhật ký các module để chẩn đoán các vấn đề về cookie
+about-logging-preset-networking-websocket-label = WebSockets
+about-logging-preset-networking-websocket-description = Ghi nhật ký các module để chẩn đoán các sự cố WebSocket
+about-logging-preset-networking-http3-label = HTTP/3
+about-logging-preset-networking-http3-description = Ghi nhật ký các module để chẩn đoán các sự cố HTTP/3 và QUIC
+about-logging-preset-networking-http3-upload-speed-label = Tốc độ tải lên HTTP/3
+about-logging-preset-networking-http3-upload-speed-description = Ghi lại module để chẩn đoán các vấn đề về tốc độ tải lên HTTP/3
+about-logging-preset-media-playback-label = Trình phát phương tiện
+about-logging-preset-media-playback-description = Ghi nhật ký các module để chẩn đoán sự cố trình phát phương tiện (không phải sự cố về cuộc gọi trực tuyến)
+about-logging-preset-webrtc-label = WebRTC
+about-logging-preset-webrtc-description = Ghi nhật ký các module để chẩn đoán cuộc gọi WebRTC
+about-logging-preset-webgpu-label = WebGPU
+about-logging-preset-webgpu-description = Ghi lại các module để chẩn đoán sự cố WebGPU
+about-logging-preset-gfx-label = Đồ họa
+about-logging-preset-gfx-description = Ghi nhật ký các module để chẩn đoán sự cố về đồ họa
+# This is specifically "Microsoft Windows". Microsoft normally doesn't localize it, and we should follow their convention here.
+about-logging-preset-windows-label = Windows
+about-logging-preset-windows-description = Ghi lại các module để chẩn đoán các sự cố cụ thể đối với Microsoft Windows
+about-logging-preset-custom-label = Tùy chọn
+about-logging-preset-custom-description = Ghi nhật ký các module được chọn theo cách thủ công
+# Error handling
+about-logging-error = Lỗi:
+
+## Variables:
+## $k (String) - Variable name
+## $v (String) - Variable value
+
+about-logging-invalid-output = Giá trị không hợp lệ “{ $v }“ cho khóa “{ $k }“
+about-logging-unknown-logging-preset = Cài đặt trước ghi nhật ký không xác định “{ $v }“
+about-logging-unknown-profiler-preset = Giá trị đặt trước của profiler không xác định “{ $v }“
+about-logging-unknown-option = Tùy chọn about:logging không xác định “{ $k }“
+about-logging-configuration-url-ignored = URL cấu hình bị bỏ qua
+about-logging-file-and-profiler-override = Không thể buộc nơi xuất tập tin và ghi đè các tùy chọn profiler cùng một lúc
+about-logging-configured-via-url = Tùy chọn được định cấu hình qua URL
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutMozilla.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutMozilla.ftl
new file mode 100644
index 0000000000..e299462e27
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutMozilla.ftl
@@ -0,0 +1,11 @@
+# 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/.
+
+about-mozilla-title-6-27 = Cuốn sách của Mozilla, 6:27
+about-mozilla-quote-6-27 =
+ The Beast tiếp tục nghiên cứu của mình với <em>Tiêu điểm</em> mới, xây dựng các tác phẩm <em>Tham khảo</em>
+ tuyệt vời và suy ngẫm về <em>Thực tế</em> mới. The Beast đã đưa ra những người theo dõi và người giúp đỡ
+ của mình để tạo ra một hình thức nhỏ hơn của chính nó và, thông qua các phương tiện <em>Tinh nghịch</em>,
+ đã gửi nó ra khắp thế giới.
+about-mozilla-from-6-27 = từ <strong>Cuốn sách của Mozilla,</strong> 6:27
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutNetworking.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutNetworking.ftl
new file mode 100644
index 0000000000..4d5b99b754
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutNetworking.ftl
@@ -0,0 +1,68 @@
+# 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/.
+
+about-networking-title = Về thông tin mạng
+about-networking-http = HTTP
+about-networking-sockets = Socket
+about-networking-dns = DNS
+about-networking-dns-clear-cache-button = Xóa bộ nhớ đệm DNS
+about-networking-dns-trr-url = URL DoH
+about-networking-dns-trr-mode = Chế độ DoH
+about-networking-dns-suffix = Hậu tố DNS
+about-networking-websockets = WebSocket
+about-networking-refresh = Cập nhật
+about-networking-auto-refresh = Tự tải lại sau 3 giây
+about-networking-hostname = Tên máy chủ
+about-networking-port = Cổng
+about-networking-http-version = Phiên bản HTTP
+about-networking-ssl = SSL
+about-networking-active = Đang hoạt động
+about-networking-idle = Đang nghỉ
+about-networking-host = Máy chủ
+about-networking-type = Kiểu
+about-networking-sent = Đã gửi
+about-networking-received = Đã nhận
+about-networking-family = Nhóm
+about-networking-trr = TRR
+about-networking-addresses = Địa chỉ
+about-networking-expires = Hết hạn (Giây)
+about-networking-originAttributesSuffix = Khóa cách ly
+about-networking-flags = Flag phụ
+about-networking-messages-sent = Tin nhắn đã gửi
+about-networking-messages-received = Tin nhắn đã nhận
+about-networking-bytes-sent = Byte đã gửi
+about-networking-bytes-received = Byte đã nhận
+about-networking-logging = Nhật ký
+about-networking-dns-lookup = Tra cứu DNS
+about-networking-dns-lookup-button = Xem
+about-networking-dns-domain = Tên miền:
+about-networking-dns-lookup-table-column = IP
+about-networking-dns-https-rr-lookup-table-column = HTTP RRs
+about-networking-rcwn = Chỉ số RCWN
+about-networking-rcwn-status = Trạng thái RCWN
+about-networking-rcwn-cache-won-count = Số lượng sử dụng bộ nhớ đệm
+about-networking-rcwn-net-won-count = Số lượng sử dụng mạng
+about-networking-total-network-requests = Tổng số yêu cầu mạng
+about-networking-rcwn-operation = Hoạt động bộ nhớ đệm
+about-networking-rcwn-perf-open = Mở
+about-networking-rcwn-perf-read = Đọc
+about-networking-rcwn-perf-write = Ghi
+about-networking-rcwn-perf-entry-open = Mở mục
+about-networking-rcwn-avg-short = Trung bình ngắn
+about-networking-rcwn-avg-long = Trung bình dài
+about-networking-rcwn-std-dev-long = Độ lệch chuẩn dài
+about-networking-rcwn-cache-slow = Bộ đếm bộ nhớ đệm chậm
+about-networking-rcwn-cache-not-slow = Bộ đếm bộ nhớ đệm không chậm
+about-networking-networkid = ID mạng
+about-networking-networkid-id = ID mạng
+# Note: do not translate about:logging, as it is a URL.
+about-networking-moved-about-logging = Trang này đã được chuyển đến <a data-l10n-name="about-logging-url">about:logging</a>.
+
+## Link is intended as "network link"
+
+about-networking-networkid-is-up = Liên kết hoạt động
+about-networking-networkid-status-known = Tình trạng liên kết đã biết
+
+##
+
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutPerformance.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutPerformance.ftl
new file mode 100644
index 0000000000..6d15c9ca1d
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutPerformance.ftl
@@ -0,0 +1,67 @@
+# 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 title
+about-performance-title = Trình quản lý tác vụ
+
+## Column headers
+
+column-name = Tên
+column-type = Kiểu
+column-energy-impact = Mức độ tác động
+column-memory = Bộ nhớ
+
+## Special values for the Name column
+
+ghost-windows = Các thẻ đã đóng gần đây
+# Variables:
+# $title (String) - the title of the preloaded page, typically 'New Tab'
+preloaded-tab = Đã tải sẵn: { $title }
+
+## Values for the Type column
+
+type-tab = Thẻ
+type-subframe = Khung phụ
+type-tracker = Trình theo dõi
+type-addon = Tiện ích
+type-browser = Trình duyệt
+type-worker = Worker
+type-other = Khác
+
+## Values for the Energy Impact column
+##
+## Variables:
+## $value (Number) - Value of the energy impact, eg. 0.25 (low),
+## 5.38 (medium), 105.38 (high)
+
+energy-impact-high = Cao ({ $value })
+energy-impact-medium = Trung bình ({ $value })
+energy-impact-low = Thấp ({ $value })
+
+## Values for the Memory column
+##
+## Variables:
+## $value (Number) - How much memory is used
+
+size-KB = { $value } KB
+size-MB = { $value } MB
+size-GB = { $value } GB
+
+## Tooltips for the action buttons
+
+close-tab =
+ .title = Đóng thẻ
+show-addon =
+ .title = Hiển thị trong Trình quản lý tiện ích
+
+# Tooltip when hovering an item of the about:performance table
+# Variables:
+# $totalDispatches (Number) - how many dispatches occured for this page since it loaded
+# $totalDuration (Number) - how much CPU time was used by this page since it loaded
+# $dispatchesSincePrevious (Number) - how many dispatches occured in the last 2 seconds
+# $durationSincePrevious (Number) - how much CPU time was used in the last 2 seconds
+item =
+ .title =
+ Công văn sau khi tải: { $totalDispatches } ({ $totalDuration } ms)
+ Công văn sau giây cuối cùng: { $dispatchesSincePrevious } ({ $durationSincePrevious } ms)
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutPlugins.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutPlugins.ftl
new file mode 100644
index 0000000000..cd0f2671d6
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutPlugins.ftl
@@ -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/.
+
+title-label = Thông tin về các phần bổ trợ
+installed-plugins-label = Các phần bổ trợ đã cài đặt
+no-plugins-are-installed-label = Không tìm thấy phần bổ trợ nào được cài đặt
+deprecation-description = Bạn đang thấy thiếu gì đó? Một số phần bổ trợ không còn được hỗ trợ. <a data-l10n-name="deprecation-link">Tìm hiểu thêm.</a>
+deprecation-description2 =
+ .message = Bạn đang thấy thiếu gì đó? Một số phần bổ trợ không còn được hỗ trợ.
+
+## The information of plugins
+##
+## Variables:
+## $pluginLibraries: the plugin library
+## $pluginFullPath: path of the plugin
+## $version: version of the plugin
+
+file-dd = <span data-l10n-name="file">Tập tin:</span> { $pluginLibraries }
+path-dd = <span data-l10n-name="path">Đường dẫn:</span> { $pluginFullPath }
+version-dd = <span data-l10n-name="version">Phiên bản:</span> { $version }
+
+## These strings describe the state of plugins
+##
+## Variables:
+## $blockListState: show some special state of the plugin, such as blocked, outdated
+
+state-dd-enabled = <span data-l10n-name="state">Tình trạng:</span> Đã bật
+state-dd-enabled-block-list-state = <span data-l10n-name="state">Tình trạng:</span> Đã bật ({ $blockListState })
+state-dd-Disabled = <span data-l10n-name="state">Tình trạng:</span> Đã vô hiệu hóa
+state-dd-Disabled-block-list-state = <span data-l10n-name="state">Tình trạng:</span> Đã vô hiệu hóa ({ $blockListState })
+mime-type-label = Kiểu MIME
+description-label = Mô tả
+suffixes-label = Phần mở rộng
+
+## Gecko Media Plugins (GMPs)
+
+plugins-gmp-license-info = Thông tin giấy phép
+plugins-gmp-privacy-info = Thông tin bảo mật
+plugins-openh264-name = Bộ giải mã OpenH264 được cung cấp bởi Cisco Systems, Inc.
+plugins-openh264-description = Phần bổ trợ này được Mozilla cài đặt tự động để tương thích với quy chuẩn WebRTC và để cho phép tạo cuộc gọi WebRTC với các thiết bị yêu cầu sử dụng mã hóa H.264. Xin hãy truy cập http://www.openh264.org/ để xem mã nguồn của bộ giải mã và tìm hiểu thêm.
+plugins-widevine-name = Mô-đun giải mã nội dung Widevine được cung cấp bởi Google Inc.
+plugins-widevine-description = Phần bổ trợ này cho phép phát lại phương tiện được mã hóa tuân thủ theo thông số kỹ thuật của phần mở rộng phương tiện được mã hóa. Phương tiện được mã hóa thường được sử dụng bởi các trang web để bảo vệ chống sao chép nội dung phương tiện cao cấp. Truy cập https://www.w3.org/TR/encrypted-media/ để biết thêm thông tin về tiện ích mở rộng phương tiện được mã hóa.
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutProcesses.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutProcesses.ftl
new file mode 100644
index 0000000000..d96e2492ea
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutProcesses.ftl
@@ -0,0 +1,186 @@
+# 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 title
+about-processes-title = Quản lý tiến trình
+# The Actions column
+about-processes-column-action =
+ .title = Hành động
+
+## Tooltips
+
+about-processes-shutdown-process =
+ .title = Đóng các thẻ và buộc dừng tiến trình
+about-processes-shutdown-tab =
+ .title = Đóng thẻ
+# Profiler icons
+# Variables:
+# $duration (Number) The time in seconds during which the profiler will be running.
+# The value will be an integer, typically less than 10.
+about-processes-profile-process =
+ .title =
+ { $duration ->
+ *[other] Phân tích tất cả các luồng của tiến trình này trong { $duration } giây
+ }
+
+## Column headers
+
+about-processes-column-name = Tên
+about-processes-column-memory-resident = Bộ nhớ
+about-processes-column-cpu-total = CPU
+
+## Process names
+## Variables:
+## $pid (String) The process id of this process, assigned by the OS.
+
+about-processes-browser-process = { -brand-short-name } ({ $pid })
+about-processes-web-process = Tiến trình web được chia sẻ ({ $pid })
+about-processes-file-process = Tập tin ({ $pid })
+about-processes-extension-process = Tiện ích mở rộng ({ $pid })
+about-processes-privilegedabout-process = Trang about ({ $pid })
+about-processes-plugin-process = Phần bổ trợ ({ $pid })
+about-processes-privilegedmozilla-process = Trang web { -vendor-short-name } ({ $pid })
+about-processes-gmp-plugin-process = Phần bổ trợ phương tiện Gecko ({ $pid })
+about-processes-gpu-process = GPU ({ $pid })
+about-processes-vr-process = VR ({ $pid })
+about-processes-rdd-process = Bộ giải mã dữ liệu ({ $pid })
+about-processes-socket-process = Mạng ({ $pid })
+about-processes-remote-sandbox-broker-process = Remote Sandbox Broker ({ $pid })
+about-processes-fork-server-process = Máy chủ Fork ({ $pid })
+about-processes-preallocated-process = Được tải trước ({ $pid })
+about-processes-utility-process = Tiện ích ({ $pid })
+# Unknown process names
+# Variables:
+# $pid (String) The process id of this process, assigned by the OS.
+# $type (String) The raw type for this process.
+about-processes-unknown-process = Khác: { $type } ({ $pid })
+
+## Isolated process names
+## Variables:
+## $pid (String) The process id of this process, assigned by the OS.
+## $origin (String) The domain name for this process.
+
+about-processes-web-isolated-process = { $origin } ({ $pid })
+about-processes-web-serviceworker = { $origin } ({ $pid }, serviceworker)
+about-processes-with-coop-coep-process = { $origin } ({ $pid }, đã cô lập cross-origin)
+about-processes-web-isolated-process-private = { $origin } — Riêng tư ({ $pid })
+about-processes-with-coop-coep-process-private = { $origin } — Riêng tư ({ $pid }, đã cô lập cross-origin)
+
+## Details within processes
+
+# Single-line summary of threads (non-idle process)
+# Variables:
+# $number (Number) The number of threads in the process. Typically larger
+# than 30. We don't expect to ever have processes with less
+# than 5 threads.
+# $active (Number) The number of active threads in the process.
+# The value will be greater than 0 and will never be
+# greater than $number.
+# $list (String) Comma separated list of active threads.
+# Can be an empty string if the process is idle.
+about-processes-active-threads =
+ { $active ->
+ *[other] { $active } luồng hoạt động trong số { $number }: { $list }
+ }
+# Single-line summary of threads (idle process)
+# Variables:
+# $number (Number) The number of threads in the process. Typically larger
+# than 30. We don't expect to ever have processes with less
+# than 5 threads.
+# The process is idle so all threads are inactive.
+about-processes-inactive-threads =
+ { $number ->
+ *[other] { $number } luồng không hoạt động
+ }
+# Thread details
+# Variables:
+# $name (String) The name assigned to the thread.
+# $tid (String) The thread id of this thread, assigned by the OS.
+about-processes-thread-name-and-id = { $name }
+ .title = ID luồng: { $tid }
+# Tab
+# Variables:
+# $name (String) The name of the tab (typically the title of the page, might be the url while the page is loading).
+about-processes-tab-name = Thẻ: { $name }
+about-processes-preloaded-tab = Thẻ mới được tải trước
+# Single subframe
+# Variables:
+# $url (String) The full url of this subframe.
+about-processes-frame-name-one = Khung phụ: { $url }
+# Group of subframes
+# Variables:
+# $number (Number) The number of subframes in this group. Always ≥ 1.
+# $shortUrl (String) The shared prefix for the subframes in the group.
+about-processes-frame-name-many = Khung phụ ({ $number }): { $shortUrl }
+
+## Utility process actor names
+
+about-processes-utility-actor-unknown = Tác nhân không xác định
+about-processes-utility-actor-audio-decoder-generic = Bộ giải mã âm thanh chung
+about-processes-utility-actor-audio-decoder-applemedia = Bộ giải mã âm thanh Apple Media
+about-processes-utility-actor-audio-decoder-wmf = Bộ giải mã âm thanh Windows Media Framework
+about-processes-utility-actor-mf-media-engine = Windows Media Foundation Media Engine CDM
+# "Oracle" refers to an internal Firefox process and should be kept in English
+about-processes-utility-actor-js-oracle = JavaScript Oracle
+about-processes-utility-actor-windows-utils = Tiện ích Windows
+about-processes-utility-actor-windows-file-dialog = Hộp thoại tập tin Windows
+
+## Displaying CPU (percentage and total)
+## Variables:
+## $percent (Number) The percentage of CPU used by the process or thread.
+## Always > 0, generally <= 200.
+## $total (Number) The amount of time used by the process or thread since
+## its start.
+## $unit (String) The unit in which to display $total. See the definitions
+## of `duration-unit-*`.
+
+# Common case.
+about-processes-cpu = { NUMBER($percent, maximumSignificantDigits: 2, style: "percent") }
+ .title = Tổng thời gian CPU: { NUMBER($total, maximumFractionDigits: 0) }{ $unit }
+# Special case: data is not available yet.
+about-processes-cpu-user-and-kernel-not-ready = (đang đo)
+# Special case: process or thread is almost idle (using less than 0.1% of a CPU core).
+# This case only occurs on Windows where the precision of the CPU times is low.
+about-processes-cpu-almost-idle = < 0.1%
+ .title = Tổng thời gian CPU: { NUMBER($total, maximumFractionDigits: 0) }{ $unit }
+# Special case: process or thread is currently idle.
+about-processes-cpu-fully-idle = rảnh
+ .title = Tổng thời gian CPU: { NUMBER($total, maximumFractionDigits: 0) }{ $unit }
+
+## Displaying Memory (total and delta)
+## Variables:
+## $total (Number) The amount of memory currently used by the process.
+## $totalUnit (String) The unit in which to display $total. See the definitions
+## of `memory-unit-*`.
+## $delta (Number) The absolute value of the amount of memory added recently.
+## $deltaSign (String) Either "+" if the amount of memory has increased
+## or "-" if it has decreased.
+## $deltaUnit (String) The unit in which to display $delta. See the definitions
+## of `memory-unit-*`.
+
+# Common case.
+about-processes-total-memory-size-changed = { NUMBER($total, maximumFractionDigits: 0) }{ $totalUnit }
+ .title = Thay đổi: { $deltaSign }{ NUMBER($delta, maximumFractionDigits: 0) }{ $deltaUnit }
+# Special case: no change.
+about-processes-total-memory-size-no-change = { NUMBER($total, maximumFractionDigits: 0) }{ $totalUnit }
+
+## Duration units
+
+duration-unit-ns = ns
+duration-unit-us = µs
+duration-unit-ms = ms
+duration-unit-s = s
+duration-unit-m = m
+duration-unit-h = h
+duration-unit-d = d
+
+## Memory units
+
+memory-unit-B = B
+memory-unit-KB = KB
+memory-unit-MB = MB
+memory-unit-GB = GB
+memory-unit-TB = TB
+memory-unit-PB = PB
+memory-unit-EB = EB
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutProfiles.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutProfiles.ftl
new file mode 100644
index 0000000000..6be24b871a
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutProfiles.ftl
@@ -0,0 +1,74 @@
+# 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/.
+
+
+profiles-title = Thông tin về hồ sơ
+profiles-subtitle = Trang này giúp bạn quản lý hồ sơ của bạn. Mỗi hồ sơ là một thế giới riêng biệt chứa lịch sử, dấu trang, cài đặt và tiện ích.
+profiles-create = Tạo hồ sơ mới
+profiles-restart-title = Khởi động lại
+profiles-restart-in-safe-mode = Khởi động lại và vô hiệu hóa các Tiện ích…
+profiles-restart-normal = Khởi động lại bình thường…
+profiles-conflict = Một bản sao khác của { -brand-product-name } đã thực hiện các thay đổi đối với hồ sơ. Bạn phải khởi động lại { -brand-short-name } trước khi thực hiện nhiều thay đổi.
+profiles-flush-fail-title = Các thay đổi chưa được lưu
+profiles-flush-conflict = { profiles-conflict }
+profiles-flush-failed = Một lỗi không mong muốn đã khiến các thay đổi của bạn không được lưu.
+profiles-flush-restart-button = Khởi động lại { -brand-short-name }
+
+# Variables:
+# $name (String) - Name of the profile
+profiles-name = Hồ sơ: { $name }
+profiles-is-default = Hồ sơ mặc định
+profiles-rootdir = Thư mục gốc
+
+# localDir is used to show the directory corresponding to
+# the main profile directory that exists for the purpose of storing data on the
+# local filesystem, including cache files or other data files that may not
+# represent critical user data. (e.g., this directory may not be included as
+# part of a backup scheme.)
+# In case localDir and rootDir are equal, localDir is not shown.
+profiles-localdir = Thư mục nội bộ
+profiles-current-profile = Hồ sơ này đang được sử dụng nên nó không thể bị xóa.
+profiles-in-use-profile = Hồ sơ này đang được sử dụng trong một ứng dụng khác và nó không thể bị xóa.
+
+profiles-rename = Đổi tên
+profiles-remove = Xóa
+profiles-set-as-default = Đặt làm hồ sơ mặc định
+profiles-launch-profile = Bắt đầu hồ sơ ở trình duyệt mới
+
+profiles-cannot-set-as-default-title = Không thể đặt mặc định
+profiles-cannot-set-as-default-message = Không thể thay đổi hồ sơ mặc định cho { -brand-short-name }.
+
+profiles-yes = có
+profiles-no = không
+
+profiles-rename-profile-title = Đổi tên hồ sơ
+# Variables:
+# $name (String) - Name of the profile
+profiles-rename-profile = Đổi tên hồ sơ { $name }
+
+profiles-invalid-profile-name-title = Tên hồ sơ không hợp lệ
+# Variables:
+# $name (String) - Name of the profile
+profiles-invalid-profile-name = Không được phép đặt tên hồ sơ là “{ $name }”.
+
+profiles-delete-profile-title = Xóa hồ sơ
+# Variables:
+# $dir (String) - Path to be displayed
+profiles-delete-profile-confirm =
+ Xóa một hồ sơ cũng sẽ gỡ bỏ nó ra khỏi danh sách các hồ sơ hiện tại và không thể hoàn tác được.
+ Bạn có thể chọn xóa các tập tin dữ liệu của hồ sơ, bao gồm thiết lập, chứng chỉ và các dữ liệu người dùng khác. Tùy chọn này sẽ xóa thư mục “{ $dir }” và không thể hoàn tác được.
+ Bạn có muốn xóa các tập tin dữ liệu của hồ sơ không?
+profiles-delete-files = Xóa các tập tin
+profiles-dont-delete-files = Không xóa các tập tin
+
+profiles-delete-profile-failed-title = Lỗi
+profiles-delete-profile-failed-message = Đã xảy ra lỗi khi cố gắng xóa hồ sơ này.
+
+
+profiles-opendir =
+ { PLATFORM() ->
+ [macos] Hiển thị trong Finder
+ [windows] Mở thư mục
+ *[other] Mở thư mục
+ }
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutReader.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutReader.ftl
new file mode 100644
index 0000000000..4d14179f9a
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutReader.ftl
@@ -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/.
+
+about-reader-loading = Đang tải…
+about-reader-load-error = Thất bại khi tải bài viết từ trang
+
+about-reader-color-scheme-light = Sáng
+ .title = Phối màu sáng
+about-reader-color-scheme-dark = Tối
+ .title = Phối màu tối
+about-reader-color-scheme-sepia = Nâu đen
+ .title = Phối màu nâu đen
+about-reader-color-scheme-auto = Tự động
+ .title = Phối màu tự động
+
+# An estimate for how long it takes to read an article,
+# expressed as a range covering both slow and fast readers.
+# Variables:
+# $rangePlural (String): The plural category of the range, using the same set as for numbers.
+# $range (String): The range of minutes as a localised string. Examples: "3-7", "~1".
+about-reader-estimated-read-time = { $range } phút
+
+## These are used as tooltips in Type Control
+
+about-reader-toolbar-minus =
+ .title = Giảm cỡ chữ
+about-reader-toolbar-plus =
+ .title = Tăng cỡ chữ
+about-reader-toolbar-contentwidthminus =
+ .title = Giảm chiều rộng nội dung
+about-reader-toolbar-contentwidthplus =
+ .title = Tăng chiều rộng nội dung
+about-reader-toolbar-lineheightminus =
+ .title = Giảm độ rộng các hàng
+about-reader-toolbar-lineheightplus =
+ .title = Tăng độ rộng các hàng
+
+## These are the styles of typeface that are options in the reader view controls.
+
+about-reader-font-type-serif = Serif
+about-reader-font-type-sans-serif = Sans-serif
+
+## Reader View toolbar buttons
+
+about-reader-toolbar-close = Đóng chế độ đọc sách
+about-reader-toolbar-type-controls = Kiểu hiển thị
+about-reader-toolbar-savetopocket = Lưu vào { -pocket-brand-name }
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutRights.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutRights.ftl
new file mode 100644
index 0000000000..ceeb87902b
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutRights.ftl
@@ -0,0 +1,36 @@
+# 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/.
+
+rights-title = Về quyền lợi của bạn
+rights-intro = { -brand-full-name } là phần mềm tự do mã nguồn mở, được xây dựng bởi một cộng đồng gồm hàng nghìn người trên khắp thế giới. Có vài điều mà bạn nên biết:
+rights-intro-point-1 = { -brand-short-name } cung cấp cho bạn theo điều khoản của <a data-l10n-name="mozilla-public-license-link">giấy phép công cộng Mozilla</a>. Điều này có nghĩa là bạn có thể sử dụng, sao chép và phân phối { -brand-short-name } đến người khác. Bạn cũng được hoan nghênh trong việc chỉnh sửa mã nguồn của { -brand-short-name } cho phù hợp với nhu cầu của mình. Giấy phép công cộng Mozilla cũng cho bạn quyền phân phối phiên bản được chỉnh sửa đó.
+rights-intro-point-2 = Bạn không được trao bất kì giấy phép hay quyền thương hiệu nào đối với thương hiệu của Mozilla Foundation hay tổ chức bất kì, bao gồm và không giới hạn tên hoặc logo Firefox. Thông tin thêm về thương hiệu có thể được tìm thấy <a data-l10n-name="mozilla-trademarks-link">tại đây</a>.
+rights-intro-point-3 = Một số tính năng trong { -brand-short-name }, như Trình Báo Cáo Lỗi, cho bạn tùy chọn cung cấp phản hồi tới { -vendor-short-name }. Bằng việc chọn gửi phản hồi, bạn cho { -vendor-short-name } quyền sử dụng phản hồi đó để cải tiến sản phẩm, công bố phản hồi trên trang web, và phân phối phản hồi.
+rights-intro-point-4 = Cách chúng tôi dùng thông tin cá nhân của bạn và phản hồi được gửi tới { -vendor-short-name } thông qua { -brand-short-name } được mô tả trong <a data-l10n-name="mozilla-privacy-policy-link">chính sách riêng tư { -brand-short-name }</a>.
+rights-intro-point-4-unbranded = Bất kì chính sách riêng tư thích hợp nào cho sản phẩm này sẽ được liệt kê tại đây.
+rights-intro-point-5 = Một số tính năng { -brand-short-name } sử dụng dịch vụ thông tin dựa trên web, tuy nhiên, chúng tôi không thể đảm bảo chúng chính xác 100% hoặc không có lỗi. Chi tiết hơn, bao gồm thông tin về cách vô hiệu hóa tính năng dùng những dịch vụ này, có thể được tìm thấy trong <a data-l10n-name="mozilla-service-terms-link">điều khoản dịch vụ</a>.
+rights-intro-point-5-unbranded = Nếu sản phẩm này kết hợp các dịch vụ web, bất kì điều khoản dịch vụ thích hợp nào cho (các) dịch vụ cần phải được liên kết với <a data-l10n-name="mozilla-website-services-link">Các Dịch Vụ Đối Với Trang Web</a>.
+rights-intro-point-6 = Để có thể phát một số loại nội dung video, { -brand-short-name } cần tải xuống một số mô đun giải mã nội dung từ một bên thứ ba.
+rights-webservices-header = Dịch vụ Thông tin Dựa trên Web { -brand-full-name }
+rights-webservices = { -brand-full-name } dùng dịch vụ thông tin dựa trên web ("Dịch Vụ") để cung cấp một số tính năng mà bạn dùng trong phiên bản { -brand-short-name } theo điều khoản được mô tả bên dưới. Nếu bạn không muốn dùng một hoặc nhiều Dịch Vụ hoặc điều khoản bên dưới không chấp nhận được, bạn có thể vô hiệu hóa tính năng hoặc Dịch Vụ. Chỉ dẫn cho cách vô hiệu hóa một tính năng hay Dịch Vụ đặc thù có thể được tìm <a data-l10n-name="mozilla-disable-service-link">tại đây</a>. Các tính năng và dịch vụ khác có thể bị tắt trong phần tùy chỉnh ứng dụng.
+rights-safebrowsing = <strong>Duyệt web An toàn: </strong>Vô hiệu hóa tính năng Duyệt web An toàn là không nên vì nó có thể làm bạn đi vào các trang không an toàn. Nếu bạn muốn vô hiệu hóa hoàn toàn tính năng, hãy theo các bước sau:
+rights-safebrowsing-term-1 = Mở tùy chỉnh ứng dụng
+rights-safebrowsing-term-2 = Chọn lựa chọn Bảo mật
+rights-safebrowsing-term-3 = Bỏ chọn tùy chọn "{ enableSafeBrowsing-label }"
+enableSafeBrowsing-label = Chặn nội dung lừa đảo và không an toàn
+rights-safebrowsing-term-4 = Duyệt web An toàn bây giờ đã bị vô hiệu hóa
+rights-locationawarebrowsing = <strong>Duyệt web Nhận diện Vị trí: </strong>luôn có sẵn. Không có thông tin địa điểm nào được gửi đi mà không có sự cho phép của bạn. Nếu bạn muốn vô hiệu hóa hoàn toàn tính năng này, làm theo các bước sau:
+rights-locationawarebrowsing-term-1 = Trong thanh URL, gõ <code>about:config</code>
+rights-locationawarebrowsing-term-2 = Gõ geo.enabled
+rights-locationawarebrowsing-term-3 = Nhấp đôi vào tùy chỉnh geo.enabled
+rights-locationawarebrowsing-term-4 = Duyệt web Nhận diện Địa điểm bây giờ đã bị vô hiệu hóa
+rights-webservices-unbranded = Tổng quan về các dịch vụ đối với trang web mà sản phẩm này kết hợp, cùng với các chỉ dẫn về cách vô hiệu hóa chúng, nếu thích hợp, sẽ được bao gồm ở đây.
+rights-webservices-term-unbranded = Bất kì điều khoản dịch vụ nào cho sản phẩm này sẽ được liệt kê tại đây.
+rights-webservices-term-1 = { -vendor-short-name } và những bên đóng góp, những bên cấp phép và những đối tác làm việc để cung cấp Dịch Vụ mới và chính xác nhất. Tuy nhiên, chúng tôi không thể đảm bảo rằng thông tin này là toàn diện và không có lỗi. Ví dụ, Dịch vụ Duyệt web An toàn có thể không nhận diện các trang nguy hiểm và có thể nhận diện nhầm các trang an toàn, và trong Dịch vụ Nhận diện Địa điểm, tất cả địa điểm trả lại bởi nhà cung cấp dịch vụ của chúng tôi chỉ là ước tính và chúng tôi lẫn nhà cung cấp dịch vụ không đảm bảo tính chính xác của các địa điểm đó.
+rights-webservices-term-2 = { -vendor-short-name } có thể ngừng hoặc thay đổi Dịch Vụ theo ý mình.
+rights-webservices-term-3 = Bạn được hoan nghênh sử dụng những dịch vụ này trong phiên bản { -brand-short-name } đi kèm, và { -vendor-short-name } trao cho bạn quyền làm vậy. { -vendor-short-name } và những bên cấp phép của nó bảo lưu tất cả quyền khác trong dịch vụ. Những điều khoản này không nhằm giới hạn bất kì quyền nào được trao theo giấy phép mã nguồn mở áp dụng cho { -brand-short-name } và phiên bản mã nguồn tương ứng của { -brand-short-name }.
+rights-webservices-term-4 = <strong>Dịch Vụ được cung cấp theo "nguyên trạng" { -vendor-short-name }, những người đóng góp, các bên cung cấp giấy phép và các bên phân phối không chịu trách nhiệm (trực tiếp hay gián tiếp), bảo đảm bất kỳ điều gì, bao gồm cả việc kinh doanh Dịch Vụ hay đảm bảo Dịch Vụ phục vụ mục đích của bạn. Bạn chịu hoàn toàn rủi ro về chất lượng và hiệu năng của Dịch Vụ khi sử dụng Dịch Vụ cho bất kỳ mục đích nào. Trong một vài phạm vi pháp lý, việc miễn trừ hoặc giới hạn đối với các trách nhiệm gián tiếp là không được phép, vì vậy văn bản từ chối trách nhiệm này có thể không áp dụng đối với bạn.</strong>
+rights-webservices-term-5 = <strong>Trừ khi được yêu cầu bởi luật pháp, { -vendor-short-name }, những người đóng góp, các bên cung cấp giấy phép và phân phối sẽ không có nghĩa vụ đối với bất kì tổn hại gián tiếp, đặc biệt, vô tình, mang tính hậu quả, mang tính trừng phạt hoặc cảnh cáo nào xảy ra bên ngoài hoặc trong bất kì cách thức nào liên quan đến việc sử dụng { -brand-short-name } và Dịch Vụ. Tổng các nghĩa vụ tập hợp trong các điều khoản này không vượt quá $500 (năm trăm đôla). Một số luật xét xử không cho phép sự miễn trừ hoặc giới hạn đối với những tổn hại nào đó, cho nên sự miễn trừ và giới hạn này có thể không áp dụng đối với bạn.</strong>
+rights-webservices-term-6 = { -vendor-short-name } đôi khi có thể cập nhật các điều khoản này khi cần thiết. Các điều khoản này không được sửa đổi hoặc hủy bỏ nếu không có thỏa thuận viết tay của { -vendor-short-name }.
+rights-webservices-term-7 = Những điều khoản này được chi phối theo luật của tiểu bang California, Hoa Kỳ, không bao gồm sự mâu thuẫn của nó với các điều khoản pháp lí. Nếu có bất kì phần nào trong các điều khoản bị xem là bất hợp lệ và không bắt buộc, các phần còn lại sẽ vẫn có đầy đủ tính hiệu lực và bắt buộc. Khi xảy ra mâu thuẫn giữa phiên bản được chuyển ngữ của các điều khoản này và phiên bản tiếng Anh, phiên bản tiếng Anh sẽ là phiên bản chủ đạo.
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutServiceWorkers.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutServiceWorkers.ftl
new file mode 100644
index 0000000000..182a82a300
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutServiceWorkers.ftl
@@ -0,0 +1,40 @@
+# 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/.
+
+
+### The term "Service Workers" and "Workers" should not be translated
+
+about-service-workers-title = Về Service Worker
+about-service-workers-main-title = Các Service Worker đã đăng ký
+about-service-workers-warning-not-enabled = Service Worker không được bật.
+about-service-workers-warning-no-service-workers = Không có Service Worker đã đăng ký.
+
+# The original title of service workers' information
+#
+# Variables:
+# $originTitle: original title
+origin-title = Origin: { $originTitle }
+
+## These strings are for showing the information of workers.
+##
+## Variables:
+## $name: the name of scope, active cache, waiting cache and the push end point.
+## $url: the url of script specification and current worker.
+
+scope = <strong>Phạm vi:</strong> { $name }
+script-spec = <strong>Tập lệnh Spec:</strong> <a data-l10n-name="link">{ $url }</a>
+current-worker-url = <strong>URL Worker hiện tại:</strong> <a data-l10n-name="link">{ $url }</a>
+active-cache-name = <strong>Tên bộ đệm đang hoạt động:</strong> { $name }
+waiting-cache-name = <strong>Tên bộ đệm đang chờ:</strong> { $name }
+push-end-point-waiting = <strong>Điểm cuối:</strong> { waiting }
+push-end-point-result = <strong>Điểm cuối:</strong> { $name }
+
+# This term is used as a button label (verb, not noun).
+update-button = Cập nhật
+
+unregister-button = Hủy đăng ký
+
+unregister-error = Không thể hủy đăng ký Service Worker này.
+
+waiting = Đang chờ…
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutSupport.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutSupport.ftl
new file mode 100644
index 0000000000..c0b42d7bd9
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutSupport.ftl
@@ -0,0 +1,398 @@
+# 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-title = Thông tin xử lý sự cố
+page-subtitle = Trang này chứa thông tin kĩ thuật có thể có ích khi bạn đang cố giải quyết một vấn đề. Nếu bạn đang tìm câu trả lời cho các câu hỏi thông thường về { -brand-short-name }, hãy xem <a data-l10n-name="support-link">trang web hỗ trợ</a> của chúng tôi.
+crashes-title = Trình báo cáo lỗi
+crashes-id = ID báo cáo
+crashes-send-date = Đã gửi
+crashes-all-reports = Tất cả các báo cáo lỗi
+crashes-no-config = Ứng dụng này chưa được thiết lập để hiển thị các báo cáo lỗi.
+support-addons-title = Tiện ích
+support-addons-name = Tên
+support-addons-type = Kiểu
+support-addons-enabled = Đã bật
+support-addons-version = Phiên bản
+support-addons-id = ID
+legacy-user-stylesheets-title = Stylesheet của người dùng (cũ)
+legacy-user-stylesheets-enabled = Hoạt động
+legacy-user-stylesheets-stylesheet-types = Stylesheet
+legacy-user-stylesheets-no-stylesheets-found = Không phát hiện stylesheet nào
+security-software-title = Phần mềm bảo mật
+security-software-type = Kiểu
+security-software-name = Tên
+security-software-antivirus = Trình chống vi-rút
+security-software-antispyware = Trình chống phần mềm do thám
+security-software-firewall = Tường lửa
+features-title = Tính năng { -brand-short-name }
+features-name = Tên
+features-version = Phiên bản
+features-id = ID
+processes-title = Tiến trình từ xa
+processes-type = Kiểu
+processes-count = Tổng số
+app-basics-title = Cơ bản về ứng dụng
+app-basics-name = Tên
+app-basics-version = Phiên bản
+app-basics-build-id = ID bản dựng
+app-basics-distribution-id = ID phát hành
+app-basics-update-channel = Kênh cập nhật
+# This message refers to the folder used to store updates on the device,
+# as in "Folder for updates". "Update" is a noun, not a verb.
+app-basics-update-dir =
+ { PLATFORM() ->
+ [linux] Thư mục chứa bản cập nhật
+ *[other] Thư mục chứa bản cập nhật
+ }
+app-basics-update-history = Lịch sử cập nhật
+app-basics-show-update-history = Hiển thị lịch sử cập nhật
+# Represents the path to the binary used to start the application.
+app-basics-binary = Ứng dụng nhị phân
+app-basics-profile-dir =
+ { PLATFORM() ->
+ [linux] Thư mục hồ sơ
+ *[other] Thư mục hồ sơ
+ }
+app-basics-enabled-plugins = Phần bổ trợ đã bật
+app-basics-build-config = Cấu hình bản dựng
+app-basics-user-agent = Chuỗi đại diện người dùng (User Agent)
+app-basics-os = Hệ điều hành
+app-basics-os-theme = Chủ đề hệ điều hành
+# Rosetta is Apple's translation process to run apps containing x86_64
+# instructions on Apple Silicon. This should remain in English.
+app-basics-rosetta = Rosetta Translated
+app-basics-memory-use = Sử dụng bộ nhớ
+app-basics-performance = Hiệu suất
+app-basics-service-workers = Các Service Worker đã đăng ký
+app-basics-third-party = Module của bên thứ ba
+app-basics-profiles = Hồ sơ
+app-basics-launcher-process-status = Quá trình khởi chạy
+app-basics-multi-process-support = Các cửa sổ đa tiến trình
+app-basics-fission-support = Fission Windows
+app-basics-remote-processes-count = Tiến trình từ xa
+app-basics-enterprise-policies = Chính sách doanh nghiệp
+app-basics-location-service-key-google = Khóa dịch vụ định vị Google
+app-basics-safebrowsing-key-google = Khóa Google Safebrowsing
+app-basics-key-mozilla = Khóa dịch vụ định vị Mozilla
+app-basics-safe-mode = Chế độ an toàn
+app-basics-memory-size = Dung lượng bộ nhớ (RAM)
+app-basics-disk-available = Không gian đĩa có sẵn
+app-basics-pointing-devices = Thiết bị điều khiển con trỏ
+# Variables:
+# $value (number) - Amount of data being stored
+# $unit (string) - The unit of data being stored (e.g. MB)
+app-basics-data-size = { $value } { $unit }
+show-dir-label =
+ { PLATFORM() ->
+ [macos] Hiển thị trong Finder
+ [windows] Mở thư mục
+ *[other] Mở thư mục
+ }
+environment-variables-title = Biến môi trường
+environment-variables-name = Tên
+environment-variables-value = Giá trị
+experimental-features-title = Các tính năng thử nghiệm
+experimental-features-name = Tên
+experimental-features-value = Giá trị
+modified-key-prefs-title = Các tùy chọn quan trọng đã được sửa đổi
+modified-prefs-name = Tên
+modified-prefs-value = Giá trị
+user-js-title = Tinh chỉnh user.js
+user-js-description = Thư mục hồ sơ của bạn chứa một tập tin <a data-l10n-name="user-js-link">user.js</a>, bao gồm các tùy chỉnh không được tạo bởi { -brand-short-name }.
+locked-key-prefs-title = Các tùy chọn quan trọng đã khóa
+locked-prefs-name = Tên
+locked-prefs-value = Giá trị
+graphics-title = Đồ họa
+graphics-features-title = Tính năng
+graphics-diagnostics-title = Chẩn đoán
+graphics-failure-log-title = Nhật ký lỗi
+graphics-gpu1-title = GPU #1
+graphics-gpu2-title = GPU #2
+graphics-decision-log-title = Nhật ký quyết định
+graphics-crash-guards-title = Vô hiệu hóa tính năng bảo vệ sự cố
+graphics-workarounds-title = Cách giải quyết
+graphics-device-pixel-ratios = Tỉ lệ Pixel của cửa sổ thiết bị
+# Windowing system in use on Linux (e.g. X11, Wayland).
+graphics-window-protocol = Giao thức cửa sổ
+# Desktop environment in use on Linux (e.g. GNOME, KDE, XFCE, etc).
+graphics-desktop-environment = Môi trường máy tính để bàn
+place-database-title = Cơ sở dữ liệu địa điểm
+place-database-stats = Thống kê
+place-database-stats-show = Hiển thị thống kê
+place-database-stats-hide = Ẩn thống kê
+place-database-stats-entity = Thực thể
+place-database-stats-count = Tổng số
+place-database-stats-size-kib = Kích thước (KiB)
+place-database-stats-size-perc = Kích thước (%)
+place-database-stats-efficiency-perc = Hiệu quả (%)
+place-database-stats-sequentiality-perc = Tuần tự (%)
+place-database-integrity = Tính toàn vẹn
+place-database-verify-integrity = Xác nhận tính toàn vẹn
+a11y-title = Trợ năng
+a11y-activated = Được kích hoạt
+a11y-force-disabled = Ngăn các tùy chọn về trợ năng
+a11y-handler-used = Xử lý truy cập được sử dụng
+a11y-instantiator = Trợ năng truy cập
+library-version-title = Phiên bản thư viện
+copy-text-to-clipboard-label = Sao chép văn bản vào bộ nhớ tạm
+copy-raw-data-to-clipboard-label = Sao chép dữ liệu thô vào bộ nhớ tạm
+sandbox-title = Hộp cát
+sandbox-sys-call-log-title = System Call bị từ chối
+sandbox-sys-call-index = #
+sandbox-sys-call-age = Cách đây vài giây
+sandbox-sys-call-pid = PID
+sandbox-sys-call-tid = TID
+sandbox-sys-call-proc-type = Kiểu quy trình
+sandbox-sys-call-number = Syscall
+sandbox-sys-call-args = Tham số
+troubleshoot-mode-title = Chẩn đoán sự cố
+restart-in-troubleshoot-mode-label = Chế độ xử lý sự cố…
+clear-startup-cache-title = Hãy thử xóa bộ nhớ đệm khởi động
+clear-startup-cache-label = Xóa bộ nhớ đệm khởi động…
+startup-cache-dialog-title2 = Khởi động lại { -brand-short-name } để xóa bộ nhớ đệm khởi động?
+startup-cache-dialog-body2 = Điều này sẽ không thay đổi cài đặt của bạn hoặc xóa tiện ích mở rộng.
+restart-button-label = Khởi động lại
+
+## Media titles
+
+audio-backend = Âm thanh đầu cuối
+max-audio-channels = Kênh tối đa
+sample-rate = Tỷ lệ mẫu ưu tiên
+roundtrip-latency = Thời gian trễ trọn vòng (độ lệch chuẩn)
+media-title = Đa phương tiện
+media-output-devices-title = Các thiết bị đầu ra
+media-input-devices-title = Thiết bị đầu vào
+media-device-name = Tên
+media-device-group = Nhóm
+media-device-vendor = Nhà cung cấp
+media-device-state = Tình trạng
+media-device-preferred = Ưu tiên
+media-device-format = Định dạng
+media-device-channels = Kênh
+media-device-rate = Tỉ lệ
+media-device-latency = Độ trễ
+media-capabilities-title = Khả năng truyền thông
+media-codec-support-info = Thông tin hỗ trợ Codec
+# List all the entries of the database.
+media-capabilities-enumerate = Liệt kê cơ sở dữ liệu
+
+## Codec support table
+
+media-codec-support-sw-decoding = Giải mã phần mềm
+media-codec-support-hw-decoding = Giải mã phần cứng
+media-codec-support-codec-name = Tên codec
+media-codec-support-supported = Được hỗ trợ
+media-codec-support-unsupported = Không hỗ trợ
+media-codec-support-error = Không có thông tin Codec được hỗ trợ. Hãy thử lại sau khi phát tập tin phương tiện.
+media-codec-support-lack-of-extension = Cài đặt tiện ích mở rộng
+
+## Media Content Decryption Modules (CDM)
+## See EME Spec for more explanation for following technical terms
+## https://w3c.github.io/encrypted-media/
+
+media-content-decryption-modules-title = Thông tin module giải mã nội dung
+
+##
+
+intl-title = Quốc tế hóa & bản địa hóa
+intl-app-title = Cài đặt ứng dụng
+intl-locales-requested = Yêu cầu ngôn ngữ
+intl-locales-available = Ngôn ngữ có sẵn
+intl-locales-supported = Ngôn ngữ ứng dụng
+intl-locales-default = Ngôn ngữ mặc định
+intl-os-title = Hệ điều hành
+intl-os-prefs-system-locales = Ngôn ngữ hệ thống
+intl-regional-prefs = Cài đặt khu vực
+
+## Remote Debugging
+##
+## The Firefox remote protocol provides low-level debugging interfaces
+## used to inspect state and control execution of documents,
+## browser instrumentation, user interaction simulation,
+## and for subscribing to browser-internal events.
+##
+## See also https://firefox-source-docs.mozilla.org/remote/
+
+remote-debugging-title = Gỡ lỗi từ xa (Giao thức Chromium)
+remote-debugging-accepting-connections = Cho phép kết nối
+remote-debugging-url = URL
+
+##
+
+# Variables
+# $days (Integer) - Number of days of crashes to log
+report-crash-for-days = Báo cáo lỗi trong { $days } ngày gần đây
+# Variables
+# $minutes (integer) - Number of minutes since crash
+crashes-time-minutes = { $minutes } phút trước
+# Variables
+# $hours (integer) - Number of hours since crash
+crashes-time-hours = { $hours } giờ trước
+# Variables
+# $days (integer) - Number of days since crash
+crashes-time-days = { $days } ngày trước
+# Variables
+# $reports (integer) - Number of pending reports
+pending-reports = Tất cả các báo cáo lỗi (bao gồm cả { $reports } báo cáo chưa gửi trong khoảng thời gian đã cho)
+raw-data-copied = Đã sao chép dữ liệu thô vào bộ nhớ tạm
+text-copied = Đã sao chép văn bản vào bộ nhớ tạm
+
+## The verb "blocked" here refers to a graphics feature such as "Direct2D" or "OpenGL layers".
+
+blocked-driver = Bị chặn đối với phiên bản trình điều khiển đồ họa của bạn.
+blocked-gfx-card = Bị chặn đối với card đồ họa của bạn vì vấn đề trình điều khiển chưa giải quyết được.
+blocked-os-version = Bị chặn đối với phiên bản hệ điều hành của bạn.
+blocked-mismatched-version = Bị chặn đối với phiên bản trình điều khiển đồ họa của bạn không khớp giữa registry và DLL.
+# Variables
+# $driverVersion - The graphics driver version string
+try-newer-driver = Bị chặn đối với phiên bản trình điều khiển đồ họa của bạn. Hãy thử cập nhật trình điều khiển đồ họa lên phiên bản { $driverVersion } hoặc mới hơn.
+# "ClearType" is a proper noun and should not be translated. Feel free to leave English strings if
+# there are no good translations, these are only used in about:support
+clear-type-parameters = Tham số ClearType
+compositing = Cách tổng hợp
+hardware-h264 = Giải mã phần cứng H264
+main-thread-no-omtc = chủ đề chính, không có OMTC
+yes = Có
+no = Không
+unknown = Không rõ
+virtual-monitor-disp = Màn hình ảo
+
+## The following strings indicate if an API key has been found.
+## In some development versions, it's expected for some API keys that they are
+## not found.
+
+found = Đã tìm thấy
+missing = Còn thiếu
+gpu-process-pid = GPUProcessPid
+gpu-process = GPUProcess
+gpu-description = Mô tả
+gpu-vendor-id = ID Nhà cung cấp
+gpu-device-id = ID Thiết bị
+gpu-subsys-id = ID hệ thống con
+gpu-drivers = Trình điều khiển
+gpu-ram = RAM
+gpu-driver-vendor = Nhà cung cấp trình điều khiển
+gpu-driver-version = Phiên bản trình điều khiển
+gpu-driver-date = Ngày ra mắt trình điều khiển
+gpu-active = Hoạt động
+webgl1-wsiinfo = Thông tin WSI Trình điều khiển WebGL 1
+webgl1-renderer = Trình kết xuất trình điều khiển WebGL 1
+webgl1-version = Phiên bản trình điều khiển WebGL 1
+webgl1-driver-extensions = Tiện ích mở rộng trình điều khiển WebGL 1
+webgl1-extensions = Tiện ích mở rộng WebGL 1
+webgl2-wsiinfo = Thông tin WSI Trình điều khiển WebGL 2
+webgl2-renderer = Trình kết xuất trình điều khiển WebGL 2
+webgl2-version = Phiên bản trình điều khiển WebGL 2
+webgl2-driver-extensions = Tiện ích mở rộng trình điều khiển WebGL 2
+webgl2-extensions = Tiện ích mở rộng WebGL 2
+webgpu-default-adapter = Adapter WebGPU mặc định
+webgpu-fallback-adapter = Adapter WebGPU dự phòng
+# Variables
+# $bugNumber (string) - Bug number on Bugzilla
+support-blocklisted-bug = Bị chặn trong danh sách do các sự cố đã biết: <a data-l10n-name="bug-link">mã lỗi { $bugNumber }</a>
+# Variables
+# $failureCode (string) - String that can be searched in the source tree.
+unknown-failure = Danh sách chặn; mã lỗi { $failureCode }
+d3d11layers-crash-guard = Bộ soạn nhạc D3D11
+glcontext-crash-guard = OpenGL
+wmfvpxvideo-crash-guard = Bộ giải mã video WMF VPX
+reset-on-next-restart = Đặt lại vào lần khởi động lại tiếp theo
+gpu-process-kill-button = Buộc dừng quá trình GPU
+gpu-device-reset = Đặt lại thiết bị
+gpu-device-reset-button = Bắt đầu thiết lập lại phần cứng
+uses-tiling = Sử dụng ốp lát
+content-uses-tiling = Sử dụng ốp lát (Nội dung)
+off-main-thread-paint-enabled = Off Main Thread Painting được kích hoạt
+off-main-thread-paint-worker-count = Bộ đếm Off Main Thread Painting Worker
+target-frame-rate = Tỷ lệ khung mục tiêu
+min-lib-versions = Phiên bản tối thiểu dự kiến
+loaded-lib-versions = Phiên bản đang dùng
+has-seccomp-bpf = Seccomp-BPF (Lọc cuộc gọi hệ thống)
+has-seccomp-tsync = Đồng bộ hóa chủ đề Seccomp
+has-user-namespaces = User Namespaces
+has-privileged-user-namespaces = User Namespaces với các tiến trình ưu tiên
+can-sandbox-content = Nội dung tiến trình Sandboxing
+can-sandbox-media = Media Plugin Sandboxing
+content-sandbox-level = Cấp độ quy trình nội dung hộp cát
+effective-content-sandbox-level = Cấp độ hiệu quả nội dung hộp cát
+content-win32k-lockdown-state = Trạng thái Win32k Lockdown cho tiến trình nội dung
+support-sandbox-gpu-level = Mức độ tiến trình GPU hộp cát
+sandbox-proc-type-content = nội dung
+sandbox-proc-type-file = nội dung tập tin
+sandbox-proc-type-media-plugin = phần bổ trợ phương tiện
+sandbox-proc-type-data-decoder = bộ giải mã dữ liệu
+startup-cache-title = Bộ nhớ đệm khởi động
+startup-cache-disk-cache-path = Đường dẫn bộ nhớ đệm trên đĩa
+startup-cache-ignore-disk-cache = Bỏ qua bộ nhớ đệm trên đĩa
+startup-cache-found-disk-cache-on-init = Tìm thấy bộ nhớ đệm trên đĩa khi khởi tạo
+startup-cache-wrote-to-disk-cache = Ghi vào bộ nhớ đệm trên đĩa
+launcher-process-status-0 = Đã bật
+launcher-process-status-1 = Vô hiệu hóa do thất bại
+launcher-process-status-2 = Bắt buộc vô hiệu hóa
+launcher-process-status-unknown = Tình trạng không xác định
+# Variables
+# $remoteWindows (integer) - Number of remote windows
+# $totalWindows (integer) - Number of total windows
+multi-process-windows = { $remoteWindows }/{ $totalWindows }
+# Variables
+# $fissionWindows (integer) - Number of remote windows
+# $totalWindows (integer) - Number of total windows
+fission-windows = { $fissionWindows }/{ $totalWindows }
+fission-status-experiment-control = Đã tắt bởi thử nghiệm
+fission-status-experiment-treatment = Đã bật bởi thử nghiệm
+fission-status-disabled-by-e10s-env = Đã tắt bởi môi trường
+fission-status-enabled-by-env = Đã bật bởi môi trường
+fission-status-disabled-by-env = Đã tắt bởi môi trường
+fission-status-enabled-by-default = Đã bật theo mặc định
+fission-status-disabled-by-default = Đã tắt theo mặc định
+fission-status-enabled-by-user-pref = Đã bật bởi người dùng
+fission-status-disabled-by-user-pref = Đã tắt bởi người dùng
+fission-status-disabled-by-e10s-other = E10s bị vô hiệu hóa
+fission-status-enabled-by-rollout = Được kích hoạt bằng cách phát hành theo từng giai đoạn
+async-pan-zoom = Pan/Zoom không đồng bộ
+apz-none = không có
+wheel-enabled = con lăn được bật
+touch-enabled = cảm ứng được bật
+drag-enabled = thanh cuộn kéo được bật
+keyboard-enabled = bàn phím được bật
+autoscroll-enabled = tự động cuộn được bật
+zooming-enabled = pinch-zoom mượt được bật
+
+## Variables
+## $preferenceKey (string) - String ID of preference
+
+wheel-warning = đầu vào con lăn bất đối xứng đã tắt vì có thiết lập không được hỗ trợ: { $preferenceKey }
+touch-warning = đầu vào cảm ứng không đồng bộ đã tắt vì có thiết lập không được hỗ trợ: { $preferenceKey }
+
+## Strings representing the status of the Enterprise Policies engine.
+
+policies-inactive = Không hoạt động
+policies-active = Hoạt động
+policies-error = Lỗi
+
+## Printing section
+
+support-printing-title = Đang In
+support-printing-troubleshoot = Khắc phục sự cố
+support-printing-clear-settings-button = Xóa cài đặt in đã lưu
+support-printing-modified-settings = Đã sửa đổi cài đặt in
+support-printing-prefs-name = Tên
+support-printing-prefs-value = Giá trị
+
+## Normandy sections
+
+support-remote-experiments-title = Thử nghiệm từ xa
+support-remote-experiments-name = Tên
+support-remote-experiments-branch = Nhánh thử nghiệm
+support-remote-experiments-see-about-studies = Xem trang <a data-l10n-name="support-about-studies-link">about:studies</a> để biết thêm thông tin, bao gồm cách tắt các thử nghiệm riêng lẻ hoặc tắt { -brand-short-name } từ việc chạy loại thử nghiệm này trong tương lai.
+support-remote-features-title = Tính năng từ xa
+support-remote-features-name = Tên
+support-remote-features-status = Trạng thái
+
+## Pointing devices
+
+pointing-device-mouse = Chuột
+pointing-device-touchscreen = Màn hình cảm ứng
+pointing-device-pen-digitizer = Bút kỹ thuật số
+pointing-device-none = Không có thiết bị điều khiển con trỏ
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutTelemetry.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutTelemetry.ftl
new file mode 100644
index 0000000000..580a3b092d
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutTelemetry.ftl
@@ -0,0 +1,135 @@
+# 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/.
+
+about-telemetry-ping-data-source = Nguồn dữ liệu ping:
+about-telemetry-show-current-data = Dữ liệu hiện tại
+about-telemetry-show-archived-ping-data = Dữ liệu ping đă lưu trữ
+about-telemetry-show-subsession-data = Hiển thị dữ liệu phụ
+about-telemetry-choose-ping = Chọn ping:
+about-telemetry-archive-ping-type = Kiểu ping
+about-telemetry-archive-ping-header = Ping
+about-telemetry-option-group-today = Hôm nay
+about-telemetry-option-group-yesterday = Hôm qua
+about-telemetry-option-group-older = Cũ hơn
+about-telemetry-previous-ping = <<
+about-telemetry-next-ping = >>
+about-telemetry-page-title = Dữ liệu từ xa
+about-telemetry-current-store = Cửa hàng hiện tại:
+about-telemetry-more-information = Tìm kiếm thêm thông tin?
+about-telemetry-firefox-data-doc = <a data-l10n-name="data-doc-link">Tài liệu dữ liệu Firefox</a> chứa các hướng dẫn về cách làm việc với các công cụ dữ liệu của chúng tôi.
+about-telemetry-telemetry-client-doc = <a data-l10n-name="client-doc-link">Tài liệu ứng dụng khách từ xa của Firefox</a> bao gồm các định nghĩa cho các khái niệm, tài liệu API và tham chiếu dữ liệu.
+about-telemetry-telemetry-dashboard = <a data-l10n-name="dashboard-link">Bảng điều khiển từ xa</a> cho phép bạn trực quan hóa dữ liệu Mozilla nhận được thông qua từ xa.
+about-telemetry-telemetry-probe-dictionary = <a data-l10n-name="probe-dictionary-link">Từ điển thăm dò</a> cung cấp chi tiết và mô tả cho các thăm dò được thu thập bởi Telemetry.
+about-telemetry-show-in-Firefox-json-viewer = Mở trong trình xem JSON
+about-telemetry-home-section = Trang chủ
+about-telemetry-general-data-section = Dữ liệu chung
+about-telemetry-environment-data-section = Dữ liệu môi trường
+about-telemetry-session-info-section = Thông tin phiên
+about-telemetry-scalar-section = Scalars
+about-telemetry-keyed-scalar-section = Keyed Scalars
+about-telemetry-histograms-section = Biểu đồ
+about-telemetry-keyed-histogram-section = Keyed Histograms
+about-telemetry-events-section = Sự kiện
+about-telemetry-simple-measurements-section = Các phép đo đơn giản
+about-telemetry-slow-sql-section = Lệnh SQL Chậm
+about-telemetry-addon-details-section = Chi tiết về các tiện ích
+about-telemetry-late-writes-section = Ghi trễ
+about-telemetry-raw-payload-section = Raw Payload
+about-telemetry-raw = JSON thô
+about-telemetry-full-sql-warning =    GHI CHÚ: Trình gỡ rối SQL chậm đã bật. Chuỗi SQL Đầy đủ có thể hiện ở dưới nhưng chúng không được gửi cho Telemetry. 
+about-telemetry-fetch-stack-symbols = Lấy tên hàm cho ngăn xếp
+about-telemetry-hide-stack-symbols = Hiển thị dữ liệu ngăn xếp thô
+# Selects the correct release version
+# Variables:
+# $channel (String): represents the corresponding release data string
+about-telemetry-data-type =
+ { $channel ->
+ [release] dữ liệu phát hành
+ *[prerelease] dữ liệu tiền phát hành
+ }
+# Selects the correct upload string
+# Variables:
+# $uploadcase (String): represents a corresponding upload string
+about-telemetry-upload-type =
+ { $uploadcase ->
+ [enabled] đã bật
+ *[disabled] đã tắt
+ }
+# Example Output: 1 sample, average = 0, sum = 0
+# Variables:
+# $sampleCount (Integer): amount of histogram samples
+# $prettyAverage (Integer): average of histogram samples
+# $sum (Integer): sum of histogram samples
+about-telemetry-histogram-stats =
+ { $sampleCount ->
+ *[other] { $sampleCount } mẫu, trung bình = { $prettyAverage }, tổng = { $sum }
+ }
+# Variables:
+# $telemetryServerOwner (String): the value of the toolkit.telemetry.server_owner preference. Typically "Mozilla"
+about-telemetry-page-subtitle = Trang này hiển thị thông tin về hiệu năng, phần cứng, việc sử dụng và các tùy chỉnh, được thu thập bởi Telemetry. Các thông tin này được gửi tới { $telemetryServerOwner } để giúp hoàn thiện { -brand-full-name }.
+about-telemetry-settings-explanation = Telemetry đang thu thập { about-telemetry-data-type } và tải lên là <a data-l10n-name="upload-link">{ about-telemetry-upload-type }</a>.
+# Variables:
+# $name (String): ping name, e.g. “saved-session”
+# $timeStamp (String): ping localized timestamp, e.g. “2017/07/08 10:40:46”
+about-telemetry-ping-details = Mỗi thông tin được gửi kèm theo vào “<a data-l10n-name="ping-link">ping</a>”. Bạn đang xem ping { $name }, { $timestamp }.
+about-telemetry-data-details-current = Mỗi thông tin được gửi kèm theo vào “<a data-l10n-name="ping-link">ping</a>”. Bạn đang xem dữ liệu hiện tại.
+# string used as a placeholder for the search field
+# More info about it can be found here:
+# https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/data/main-ping.html
+# Variables:
+# $selectedTitle (String): the section name from the structure of the ping.
+about-telemetry-filter-placeholder =
+ .placeholder = Tìm trong { $selectedTitle }
+about-telemetry-filter-all-placeholder =
+ .placeholder = Tìm trong tất cả các phần
+# Variables:
+# $searchTerms (String): the searched terms
+about-telemetry-results-for-search = Kết quả cho “{ $searchTerms }”
+# More info about it can be found here: https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/data/main-ping.html
+# Variables:
+# $sectionName (String): the section name from the structure of the ping.
+# $currentSearchText (String): the current text in the search input
+about-telemetry-no-search-results = Xin lỗi! Không có kết quả trong phần { $sectionName } cho “{ $currentSearchText }”
+# Variables:
+# $searchTerms (String): the searched terms
+about-telemetry-no-search-results-all = Xin lỗi! Không có kết quả trong bất kì phần nào cho “{ $searchTerms }”
+# This message is displayed when a section is empty.
+# Variables:
+# $sectionName (String): is replaced by the section name.
+about-telemetry-no-data-to-display = Xin lỗi! Hiện tại không có dữ liệu có sẵn trong “{ $sectionName }”
+# used as a tooltip for the “current” ping title in the sidebar
+about-telemetry-current-data-sidebar = dữ liệu hiện tại
+# used in the “Ping Type” select
+about-telemetry-telemetry-ping-type-all = tất cả
+# button label to copy the histogram
+about-telemetry-histogram-copy = Sao chép
+# these strings are used in the “Slow SQL Statements” section
+about-telemetry-slow-sql-main = Lệnh SQL chậm trên luồng chính
+about-telemetry-slow-sql-other = Lệnh SQL chậm trên luồng bổ trợ
+about-telemetry-slow-sql-hits = Lượt truy cập
+about-telemetry-slow-sql-average = Thời gian trung bình (ms)
+about-telemetry-slow-sql-statement = Câu lệnh
+# these strings are used in the “Add-on Details” section
+about-telemetry-addon-table-id = ID tiện ích
+about-telemetry-addon-table-details = Chi tiết
+# Variables:
+# $addonProvider (String): the name of an Add-on Provider (e.g. “XPI”, “Plugin”)
+about-telemetry-addon-provider = Nhà cung cấp { $addonProvider }
+about-telemetry-keys-header = Thuộc tính
+about-telemetry-names-header = Tên
+about-telemetry-values-header = Giá trị
+# Variables:
+# $lateWriteCount (Integer): the number of the late writes
+about-telemetry-late-writes-title = Ghi trễ #{ $lateWriteCount } lần
+about-telemetry-stack-title = Ngăn xếp:
+about-telemetry-memory-map-title = Bản đồ bộ nhớ:
+about-telemetry-error-fetching-symbols = Xuất hiện một lỗi khi nạp các ký hiệu. Kiểm tra lại kết nối Internet và thử lại.
+about-telemetry-time-stamp-header = dấu thời gian
+about-telemetry-category-header = thể loại
+about-telemetry-method-header = phương thức
+about-telemetry-object-header = đối tượng
+about-telemetry-extra-header = thêm
+# Variables:
+# $process (String): type of process in subsection headers ( e.g. "content", "parent" )
+about-telemetry-process = { $process } tiến trình
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutThirdParty.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutThirdParty.ftl
new file mode 100644
index 0000000000..110f41bd6f
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutThirdParty.ftl
@@ -0,0 +1,85 @@
+# 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/.
+
+third-party-page-title = Thông tin module của bên thứ ba
+third-party-section-title = Danh sách các moudle của bên thứ ba trong { -brand-short-name }
+third-party-intro =
+ Trang này hiển thị các moudle của bên thứ ba đã được đưa vào
+ { -brand-short-name } của bạn. Bất kỳ moudle nào không được Microsoft hoặc
+ { -vendor-short-name } ký được coi là một moudle của bên thứ ba.
+third-party-message-empty = Không có moudle của bên thứ ba nào được phát hiện.
+third-party-message-no-duration = Không được ghi lại
+third-party-detail-version = Phiên bản tập tin
+third-party-detail-vendor = Thông tin nhà cung cấp
+third-party-detail-occurrences = Số lần xuất hiện
+ .title = Module này đã được tải bao nhiêu lần
+third-party-detail-duration = Thời gian chặn trung bình (mili giây)
+ .title = Module này đã chặn ứng dụng trong bao lâu.
+third-party-detail-app = Ứng dụng
+third-party-detail-publisher = Nhà phát hành
+third-party-th-process = Tiến trình
+third-party-th-duration = Thời lượng tải (mili giây)
+third-party-th-status = Trạng thái
+third-party-tag-ime = IME
+ .title = Loại module này được tải khi bạn sử dụng IME của bên thứ ba.
+third-party-tag-shellex = Phần mở rộng Shell
+ .title = Loại module này được tải khi bạn mở hộp thoại tập tin hệ thống.
+third-party-tag-background = Nền
+ .title =
+ Module này không chặn ứng dụng vì nó đã được tải
+ trong nền.
+third-party-icon-unsigned =
+ .title = Module này chưa được ký
+ .alt = Module này chưa được ký
+third-party-icon-warning =
+ .title = { -brand-short-name } bị lỗi trong đoạn mã từ module này
+ .alt = { -brand-short-name } bị lỗi trong đoạn mã từ module này
+third-party-status-loaded = Đã tải
+third-party-status-blocked = Đã chặn
+third-party-status-redirected = Đã chuyển hướng
+third-party-button-copy-to-clipboard = Chép dữ liệu thô vào bảng tạm
+third-party-loading-data =
+ .alt = Đang tải thông tin hệ thống…
+ .title = Đang tải thông tin hệ thống…
+third-party-button-reload = Tải lại với thông tin hệ thống
+ .title = Tải lại với thông tin hệ thống
+third-party-button-open =
+ .title = Mở vị trí tập tin…
+third-party-button-to-block =
+ .title = Chặn module này
+ .aria-label = Chặn module này
+third-party-button-to-unblock =
+ .title = Hiện đang bị chặn. Nhấp để bỏ chặn nó.
+ .aria-label = Hiện đang bị chặn. Nhấp để bỏ chặn nó.
+third-party-button-to-unblock-disabled =
+ .title =
+ Hiện được đánh dấu là bị chặn, mặc dù danh sách chặn bị vô hiệu hóa cho lần chạy này
+ của { -brand-short-name }. Nhấp để bỏ chặn nó.
+ .aria-label =
+ Hiện được đánh dấu là bị chặn, mặc dù danh sách chặn bị vô hiệu hóa cho lần chạy này
+ của { -brand-short-name }. Nhấp để bỏ chặn nó.
+third-party-button-to-block-module = Chặn module này
+ .title = Chặn module này
+ .aria-label = Chặn module này
+third-party-button-to-unblock-module = Bỏ chặn module này
+ .title = Hiện tại bị chặn. Nhấp để bỏ chặn nó.
+ .aria-label = Hiện tại bị chặn. Nhấp để bỏ chặn nó.
+third-party-button-to-unblock-module-disabled = Bỏ chặn module này (danh sách chặn hiện đang bị vô hiệu hóa)
+ .title =
+ Hiện được đánh dấu là bị chặn, mặc dù danh sách chặn bị vô hiệu hóa
+ cho lần chạy này của { -brand-short-name }. Nhấp để bỏ chặn nó.
+ .aria-label =
+ Hiện được đánh dấu là bị chặn, mặc dù danh sách chặn bị vô hiệu hóa
+ cho lần chạy này của { -brand-short-name }. Nhấp để bỏ chặn nó.
+third-party-button-expand =
+ .title = Hiển thị thông tin chi tiết
+third-party-button-collapse =
+ .title = Thu gọn thông tin chi tiết
+third-party-blocking-requires-restart = Để chặn module từ bên thứ ba, { -brand-short-name } cần phải khởi động lại.
+third-party-should-restart-title = Khởi động lại { -brand-short-name }
+third-party-restart-now = Khởi động lại ngay
+third-party-restart-later = Khởi động lại sau
+third-party-blocked-by-builtin =
+ .title = Bị chặn bởi { -brand-short-name }
+ .alt = Bị chặn bởi { -brand-short-name }
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutWebauthn.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutWebauthn.ftl
new file mode 100644
index 0000000000..33bbcd2a89
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutWebauthn.ftl
@@ -0,0 +1,104 @@
+# 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 for about:webauthn, a security token management page
+
+# Page title
+# 'WebAuthn' is a protocol name and should not be translated
+about-webauthn-page-title = Về WebAuthn
+
+## Section titles
+
+about-webauthn-info-section-title = Thông tin thiết bị
+about-webauthn-info-subsection-title = Thông tin xác thực
+about-webauthn-options-subsection-title = Tùy chọn xác thực
+about-webauthn-pin-section-title = Quản lý mã PIN
+about-webauthn-credential-management-section-title = Quản lý thông tin xác thực
+about-webauthn-pin-required-section-title = Yêu cầu mã PIN
+about-webauthn-confirm-deletion-section-title = Xác nhận xóa
+
+## Info field texts
+
+about-webauthn-text-connect-device = Vui lòng kết nối token bảo mật.
+# If multiple devices are plugged in, they will blink and we are asking the user to select one by touching the device they want.
+about-webauthn-text-select-device = Vui lòng chọn token bảo mật mong muốn của bạn bằng cách chạm vào thiết bị.
+# CTAP2 refers to Client to Authenticator Protocol version 2
+about-webauthn-text-non-ctap2-device = Không thể quản lý các tùy chọn vì token bảo mật của bạn không hỗ trợ CTAP2.
+about-webauthn-text-not-available = Không có sẵn trên nền tảng này.
+
+## Results label
+
+about-webauthn-results-success = Thành công!
+about-webauthn-results-general-error = Lỗi!
+# Variables:
+# $retriesLeft (Number): number of tries left
+about-webauthn-results-pin-invalid-error =
+ { $retriesLeft ->
+ [0] Lỗi: Mã PIN không chính xác. Hãy thử lại.
+ *[other] Lỗi: Mã PIN không chính xác. Hãy thử lại. Bạn còn { $retriesLeft } lần thử.
+ }
+about-webauthn-results-pin-blocked-error = Lỗi: Không còn lần thử nào nữa và thiết bị của bạn đã bị khóa do nhập sai mã PIN quá nhiều lần. Thiết bị cần được đặt lại.
+about-webauthn-results-pin-too-short-error = Lỗi: Mã PIN đã nhập quá ngắn.
+about-webauthn-results-pin-too-long-error = Lỗi: Mã PIN đã nhập quá dài.
+about-webauthn-results-pin-auth-blocked-error = Lỗi: Có quá nhiều lần thử không thành công liên tiếp và xác thực bằng mã PIN đã tạm thời bị chặn. Thiết bị của bạn cần được khởi động lại (rút phích cắm và cắm lại).
+about-webauthn-results-cancelled-by-user-error = Lỗi: Người dùng đã hủy thao tác.
+
+## Labels
+
+about-webauthn-new-pin-label = PIN mới:
+about-webauthn-repeat-pin-label = Nhập lại PIN mới:
+about-webauthn-current-pin-label = PIN hiện tại:
+about-webauthn-pin-required-label = Vui lòng nhập PIN của bạn:
+about-webauthn-credential-list-subsection-title = Thông tin xác thực:
+about-webauthn-credential-list-empty = Không tìm thấy thông tin xác thực trên thiết bị.
+
+## Buttons
+
+about-webauthn-current-set-pin-button = Đặt PIN
+about-webauthn-current-change-pin-button = Thay đổi PIN
+# List is a verb, as in "Show list of credentials"
+about-webauthn-list-credentials-button = Danh sách thông tin xác thực
+about-webauthn-cancel-button = Hủy bỏ
+about-webauthn-send-pin-button = OK
+about-webauthn-delete-button = Xóa
+
+## Authenticator options fields
+## Option fields correspond to the CTAP2 option IDs and definitions found in https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#option-id
+
+about-webauthn-auth-option-clientpin = PIN máy khách
+about-webauthn-auth-option-plat = Nền tảng thiết bị
+about-webauthn-auth-option-largeblobs = Blob lớn
+about-webauthn-auth-option-authnrcfg = Cấu hình xác thực
+about-webauthn-auth-option-uvacfg = Quyền hạn cấu hình xác thực
+about-webauthn-auth-option-credmgmt = Quản lý thông tin xác thực
+about-webauthn-auth-option-setminpinlength = Đặt độ dài tối thiểu của PIN
+# Shows when boolean value for an option is True. True should not be translated.
+about-webauthn-auth-option-true = Đúng
+# Shows when boolean value of an option is False. False should not be translated.
+about-webauthn-auth-option-false = Sai
+# If the value is missing (null), it means a certain feature is not supported.
+about-webauthn-auth-option-null = Không hỗ trợ
+
+## Authenticator info fields
+## Info fields correspond to the CTAP2 authenticatorGetInfo field member name and definitions found in https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#authenticatorGetInfo
+
+about-webauthn-auth-info-max-cred-blob-length = Độ dài tối đa của blob thông tin xác thực
+about-webauthn-auth-info-firmware-version = Phiên bản phần mềm
+about-webauthn-auth-info-min-pin-length = Độ dài tối thiểu của PIN
+about-webauthn-auth-info-force-pin-change = Buộc thay đổi PIN
+about-webauthn-auth-info-max-ser-large-blob-array = Kích thước tối đa của mảng blob lớn
+about-webauthn-auth-info-algorithms = Thuật toán
+about-webauthn-auth-info-max-credential-id-length = Độ dài tối đa của ID thông tin xác thực
+about-webauthn-auth-info-max-credential-count-in-list = Số lượng thông tin xác thực tối đa trong danh sách
+about-webauthn-auth-info-pin-protocols = Giao thức PIN
+# AAGUID should not be translated.
+about-webauthn-auth-info-aaguid = AAGUID
+about-webauthn-auth-info-extensions = Phần mở rộng
+about-webauthn-auth-info-versions = Phiên bản
+# Shows when boolean value for an info field is True. True should not be translated.
+about-webauthn-auth-info-true = Đúng
+# Shows when boolean value for an info field is False. False should not be translated.
+about-webauthn-auth-info-false = Sai
+about-webauthn-auth-info-null = Không hỗ trợ
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutWebrtc.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutWebrtc.ftl
new file mode 100644
index 0000000000..34b3f8fd80
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutWebrtc.ftl
@@ -0,0 +1,278 @@
+# 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 for about:webrtc, a troubleshooting and diagnostic page
+### for WebRTC calls. See https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API.
+
+# The text "WebRTC" is a proper noun and should not be translated.
+about-webrtc-document-title = WebRTC nội bộ
+# "about:webrtc" is a internal browser URL and should not be
+# translated. This string is used as a title for a file save dialog box.
+about-webrtc-save-page-dialog-title = lưu about:webrtc thành
+
+## These labels are for a disclosure which contains the information for closed PeerConnection sections
+
+about-webrtc-closed-peerconnection-disclosure-show-msg = Hiện PeerConnections đã đóng
+about-webrtc-closed-peerconnection-disclosure-hide-msg = Ẩn PeerConnections đã đóng
+
+## AEC is an abbreviation for Acoustic Echo Cancellation.
+
+about-webrtc-aec-logging-msg-label = Ghi nhật ký AEC
+about-webrtc-aec-logging-off-state-label = Bắt đầu ghi nhật ký AEC
+about-webrtc-aec-logging-on-state-label = Dừng ghi nhật ký AEC
+about-webrtc-aec-logging-on-state-msg = Bản ghi AEC đang hoạt động (nói chuyện với người gọi trong vài phút và sau đó dừng chụp)
+about-webrtc-aec-logging-toggled-on-state-msg = Bản ghi AEC đang hoạt động (nói chuyện với người gọi trong vài phút và sau đó dừng chụp)
+about-webrtc-aec-logging-unavailable-sandbox = Biến môi trường MOZ_DISABLE_CONTENT_SANDBOX=1 được yêu cầu để xuất nhật ký AEC. Chỉ đặt biến này nếu bạn hiểu những rủi ro có thể xảy ra.
+# Variables:
+# $path (String) - The path to which the aec log file is saved.
+about-webrtc-aec-logging-toggled-off-state-msg = Các tập tin nhật ký đã chụp có thể được tìm thấy trong: { $path }
+
+##
+
+# The autorefresh checkbox causes a stats section to autorefresh its content when checked
+about-webrtc-auto-refresh-label = Tự động làm mới
+# Determines the default state of the Auto Refresh check boxes
+about-webrtc-auto-refresh-default-label = Tự động làm mới theo mặc định
+# A button which forces a refresh of displayed statistics
+about-webrtc-force-refresh-button = Làm mới
+# "PeerConnection" is a proper noun associated with the WebRTC module. "ID" is
+# an abbreviation for Identifier. This string should not normally be translated
+# and is used as a data label.
+about-webrtc-peerconnection-id-label = PeerConnection ID:
+
+## "SDP" is an abbreviation for Session Description Protocol, an IETF standard.
+## See http://wikipedia.org/wiki/Session_Description_Protocol
+
+about-webrtc-sdp-heading = SDP
+about-webrtc-local-sdp-heading = SDP nội bộ
+about-webrtc-local-sdp-heading-offer = SDP nội bộ (Cung cấp)
+about-webrtc-local-sdp-heading-answer = SDP nội bộ (Trả lời)
+about-webrtc-remote-sdp-heading = SDP từ xa
+about-webrtc-remote-sdp-heading-offer = SDP từ xa (Cung cấp)
+about-webrtc-remote-sdp-heading-answer = SDP từ xa (Trả lời)
+about-webrtc-sdp-history-heading = Lịch sử SDP
+about-webrtc-sdp-parsing-errors-heading = Lỗi phân tích SDP
+
+##
+
+# "RTP" is an abbreviation for the Real-time Transport Protocol, an IETF
+# specification, and should not normally be translated. "Stats" is an
+# abbreviation for Statistics.
+about-webrtc-rtp-stats-heading = Thống kê RTP
+
+## "ICE" is an abbreviation for Interactive Connectivity Establishment, which
+## is an IETF protocol, and should not normally be translated.
+
+about-webrtc-ice-state = Trạng thái ICE
+# "Stats" is an abbreviation for Statistics.
+about-webrtc-ice-stats-heading = Thống kê ICE
+about-webrtc-ice-pair-bytes-sent = Byte đã gửi:
+about-webrtc-ice-pair-bytes-received = Byte đã nhận:
+about-webrtc-ice-component-id = ID thành phần
+
+## These adjectives are used to label a line of statistics collected for a peer
+## connection. The data represents either the local or remote end of the
+## connection.
+
+about-webrtc-type-local = Cục bộ
+about-webrtc-type-remote = Từ xa
+
+##
+
+# This adjective is used to label a table column. Cells in this column contain
+# the localized javascript string representation of "true" or are left blank.
+about-webrtc-nominated = Đề cử
+# This adjective is used to label a table column. Cells in this column contain
+# the localized javascript string representation of "true" or are left blank.
+# This represents an attribute of an ICE candidate.
+about-webrtc-selected = Chọn
+about-webrtc-save-page-label = Lưu trang
+about-webrtc-debug-mode-msg-label = Chế độ gỡ lỗi
+about-webrtc-debug-mode-off-state-label = Bắt đầu chế độ gỡ lỗi
+about-webrtc-debug-mode-on-state-label = Dừng chế độ gỡ lỗi
+about-webrtc-enable-logging-label = Bật cài đặt nhật ký WebRTC được định trước
+about-webrtc-stats-heading = Thống kê phiên
+about-webrtc-stats-clear = Xóa lịch sử
+about-webrtc-log-heading = Nhật ký kết nối
+about-webrtc-log-clear = Xóa nhật ký
+about-webrtc-log-show-msg = hiển thị nhật ký
+ .title = nhấn chuột để mở rộng mục này
+about-webrtc-log-hide-msg = ẩn nhật ký
+ .title = nhấn chuột để thu gọn mục này
+about-webrtc-log-section-show-msg = Hiển thị nhật ký
+ .title = Nhấn chuột để mở rộng mục này
+about-webrtc-log-section-hide-msg = Ẩn nhật ký
+ .title = Nhấn chuột để thu gọn mục này
+about-webrtc-copy-report-button = Sao chép báo cáo
+about-webrtc-copy-report-history-button = Sao chép lịch sử báo cáo
+
+## These are used to display a header for a PeerConnection.
+## Variables:
+## $browser-id (Number) - A numeric id identifying the browser tab for the PeerConnection.
+## $id (String) - A globally unique identifier for the PeerConnection.
+## $url (String) - The url of the site which opened the PeerConnection.
+## $now (Date) - The JavaScript timestamp at the time the report was generated.
+
+about-webrtc-connection-open = [ { $browser-id } | { $id } ] { $url } { $now }
+about-webrtc-connection-closed = [ { $browser-id } | { $id } ] { $url } (đã đóng) { $now }
+
+## These are used to indicate what direction media is flowing.
+## Variables:
+## $codecs - a list of media codecs
+
+about-webrtc-short-send-receive-direction = Gửi / nhận: { $codecs }
+about-webrtc-short-send-direction = Gửi: { $codecs }
+about-webrtc-short-receive-direction = Nhận: { $codecs }
+
+##
+
+about-webrtc-priority = Ưu tiên
+about-webrtc-fold-show-msg = hiện chi tiết
+ .title = nhấn chuột để mở rộng mục này
+about-webrtc-fold-hide-msg = ẩn chi tiết
+ .title = nhấn chuột để thu gọn mục này
+about-webrtc-fold-default-show-msg = Hiện chi tiết
+ .title = Nhấn chuột để mở rộng mục này
+about-webrtc-fold-default-hide-msg = Ẩn chi tiết
+ .title = Nhấn chuột để thu gọn mục này
+about-webrtc-dropped-frames-label = Khung hình bị rơi:
+about-webrtc-discarded-packets-label = Các gói bị loại bỏ:
+about-webrtc-decoder-label = Bộ giải mã
+about-webrtc-encoder-label = Bộ mã hóa
+about-webrtc-show-tab-label = Hiển thị thẻ
+about-webrtc-current-framerate-label = Tỷ lệ khung hình
+about-webrtc-width-px = Chiều rộng (px)
+about-webrtc-height-px = Chiều cao (px)
+about-webrtc-time-elapsed = Thời gian đã trôi qua (giây)
+about-webrtc-estimated-framerate = Tốc độ khung hình ước tính
+about-webrtc-rotation-degrees = Xoay (độ)
+
+## SSRCs are identifiers that represent endpoints in an RTP stream
+
+
+## These are displayed on the button that shows or hides the
+## PeerConnection configuration disclosure
+
+about-webrtc-pc-configuration-show-msg = Hiển thị cấu hình
+about-webrtc-pc-configuration-hide-msg = Ẩn cấu hình
+
+##
+
+# An option whose value will not be displayed but instead noted as having been
+# provided
+about-webrtc-configuration-element-provided = Cung cấp
+# An option whose value will not be displayed but instead noted as having not
+# been provided
+about-webrtc-configuration-element-not-provided = Không cung cấp
+# The options set by the user in about:config that could impact a WebRTC call
+about-webrtc-custom-webrtc-configuration-heading = Người dùng thiết lập tùy chọn WebRTC
+# Section header for estimated bandwidths of WebRTC media flows
+about-webrtc-bandwidth-stats-heading = Băng thông ước tính
+# The estimated bandwidth available for sending WebRTC media in bytes per second
+about-webrtc-send-bandwidth-bytes-sec = Băng thông gửi (byte/giây)
+# The estimated bandwidth available for receiving WebRTC media in bytes per second
+about-webrtc-receive-bandwidth-bytes-sec = Băng thông nhận (byte/giây)
+# Maximum number of bytes per second that will be padding zeros at the ends of packets
+about-webrtc-max-padding-bytes-sec = Khoảng đệm tối đa (byte/giây)
+# The amount of time inserted between packets to keep them spaced out
+about-webrtc-pacer-delay-ms = Độ trễ pacer trong ms
+# The amount of time it takes for a packet to travel from the local machine to the remote machine,
+# and then have a packet return
+about-webrtc-round-trip-time-ms = RTT ms
+# This is a section heading for video frame statistics for a MediaStreamTrack.
+# see https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.
+# Variables:
+# $track-identifier (String) - The unique identifier for the MediaStreamTrack.
+about-webrtc-frame-stats-heading = Thống kê khung hình video - ID MediaStreamTrack: { $track-identifier }
+
+## These are paths used for saving the about:webrtc page or log files so
+## they can be attached to bug reports.
+## Variables:
+## $path (String) - The path to which the file is saved.
+
+about-webrtc-save-page-msg = đã lưu trang vào: { $path }
+about-webrtc-debug-mode-off-state-msg = nhật ký theo dõi có thể được tìm thấy tại: { $path }
+about-webrtc-debug-mode-on-state-msg = chế độ gỡ lỗi hoạt động, theo dõi nhật ký tại: { $path }
+about-webrtc-aec-logging-off-state-msg = các tập tin nhật ký đã chụp có thể được tìm thấy trong: { $path }
+# This path is used for saving the about:webrtc page so it can be attached to
+# bug reports.
+# Variables:
+# $path (String) - The path to which the file is saved.
+about-webrtc-save-page-complete-msg = Đã lưu trang vào: { $path }
+# This is the total number of frames encoded or decoded over an RTP stream.
+# Variables:
+# $frames (Number) - The number of frames encoded or decoded.
+about-webrtc-frames =
+ { $frames ->
+ *[other] { $frames } frame
+ }
+# This is the number of audio channels encoded or decoded over an RTP stream.
+# Variables:
+# $channels (Number) - The number of channels encoded or decoded.
+about-webrtc-channels =
+ { $channels ->
+ *[other] { $channels } kênh
+ }
+# This is the total number of packets received on the PeerConnection.
+# Variables:
+# $packets (Number) - The number of packets received.
+about-webrtc-received-label =
+ { $packets ->
+ *[other] Đã nhận { $packets } gói
+ }
+# This is the total number of packets lost by the PeerConnection.
+# Variables:
+# $packets (Number) - The number of packets lost.
+about-webrtc-lost-label =
+ { $packets ->
+ *[other] Đã mất { $packets } gói
+ }
+# This is the total number of packets sent by the PeerConnection.
+# Variables:
+# $packets (Number) - The number of packets sent.
+about-webrtc-sent-label =
+ { $packets ->
+ *[other] Đã gửi { $packets } gói
+ }
+# Jitter is the variance in the arrival time of packets.
+# See: https://w3c.github.io/webrtc-stats/#dom-rtcreceivedrtpstreamstats-jitter
+# Variables:
+# $jitter (Number) - The jitter.
+about-webrtc-jitter-label = Độ rung { $jitter }
+# ICE candidates arriving after the remote answer arrives are considered trickled
+# (an attribute of an ICE candidate). These are highlighted in the ICE stats
+# table with light blue background.
+about-webrtc-trickle-caption-msg = Các ứng cử viên bị mắc kẹt (đến sau khi trả lời) được tô sáng bằng màu xanh lam
+
+## "SDP" is an abbreviation for Session Description Protocol, an IETF standard.
+## See http://wikipedia.org/wiki/Session_Description_Protocol
+
+# This is used as a header for local SDP.
+# Variables:
+# $timestamp (Number) - The Unix Epoch time at which the SDP was set.
+about-webrtc-sdp-set-at-timestamp-local = Đặt SDP nội bộ tại timestamp { NUMBER($timestamp, useGrouping: "false") }
+# This is used as a header for remote SDP.
+# Variables:
+# $timestamp (Number) - The Unix Epoch time at which the SDP was set.
+about-webrtc-sdp-set-at-timestamp-remote = Đặt SDP từ xa tại timestamp { NUMBER($timestamp, useGrouping: "false") }
+# This is used as a header for an SDP section contained in two columns allowing for side-by-side comparisons.
+# Variables:
+# $timestamp (Number) - The Unix Epoch time at which the SDP was set.
+# $relative-timestamp (Number) - The timestamp relative to the timestamp of the earliest received SDP.
+about-webrtc-sdp-set-timestamp = Timestamp { NUMBER($timestamp, useGrouping: "false") } (+ { $relative-timestamp } ms)
+
+## These are displayed on the button that shows or hides the SDP information disclosure
+
+
+##
+
+
+## These are displayed on the button that shows or hides the Media Context information disclosure.
+## The Media Context is the set of preferences and detected capabilities that informs
+## the negotiated CODEC settings.
+
+
+##
+
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutWindowsMessages.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutWindowsMessages.ftl
new file mode 100644
index 0000000000..9ae43300ad
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/aboutWindowsMessages.ftl
@@ -0,0 +1,20 @@
+# 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 for the about:windows-messages page, which is only available
+### on the Windows operating system.
+### This page records and shows messages sent from the operating system to
+### individual browser windows. These messages can be useful in debugging
+### hard-to-reproduce issues with window sizing and position.
+
+# Windows refers to the operating system
+windows-messages-page-title = Thông tin Windows Messages
+windows-messages-intro =
+ Trang này hiển thị các message gần đây nhất được gửi bởi Windows
+ đến cửa sổ trình duyệt { -brand-short-name }. Các mục
+ in đậm đại diện cho cửa sổ này. Lưu ý rằng trang này hiển thị
+ các message gần đây nhất tại thời điểm trang được tải;
+ để xem những cái hiện tại, bạn sẽ cần làm mới trang.
+windows-messages-copy-to-clipboard = Sao chép vào khay nhớ tạm
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/abuseReports.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/abuseReports.ftl
new file mode 100644
index 0000000000..c738920feb
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/abuseReports.ftl
@@ -0,0 +1,116 @@
+# 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/.
+
+# Localized string used as the dialog window title.
+# "Report" is a noun in this case, "Report for AddonName".
+#
+# Variables:
+# $addon-name (string) - Name of the add-on being reported
+abuse-report-dialog-title = Báo cáo về { $addon-name }
+abuse-report-title-extension = Báo cáo tiện ích mở rộng này cho { -vendor-short-name }
+abuse-report-title-sitepermission = Báo cáo chủ đề này cho { -vendor-short-name }
+abuse-report-title-theme = Báo cáo chủ đề này cho { -vendor-short-name }
+abuse-report-subtitle = Vấn đề là gì?
+# Variables:
+# $author-name (string) - Name of the add-on author
+abuse-report-addon-authored-by = bởi <a data-l10n-name="author-name">{ $author-name }</a>
+abuse-report-learnmore =
+ Không chắc chắn vấn đề cần chọn?
+ <a data-l10n-name="learnmore-link">Tìm hiểu thêm về việc báo cáo tiện ích mở rộng và chủ đề</a>
+abuse-report-learnmore-intro = Không chắc chắn vấn đề cần chọn?
+abuse-report-learnmore-link = Tìm hiểu thêm về việc báo cáo tiện ích mở rộng và chủ đề
+abuse-report-submit-description = Mô tả vấn đề (tùy chọn)
+abuse-report-textarea =
+ .placeholder = Chúng tôi dễ dàng giải quyết vấn đề hơn nếu chúng tôi có thông tin cụ thể. Hãy mô tả những gì bạn đã trải qua. Cảm ơn bạn đã giúp chúng tôi giữ cho web lành mạnh.
+abuse-report-submit-note =
+ Lưu ý: Không bao gồm thông tin cá nhân (như tên, địa chỉ thư điện tử, số điện thoại, địa chỉ nhà).
+ { -vendor-short-name } giữ một bản ghi vĩnh viễn của các báo cáo này.
+
+## Panel buttons.
+
+abuse-report-cancel-button = Hủy
+abuse-report-next-button = Tiếp
+abuse-report-goback-button = Quay lại
+abuse-report-submit-button = Gửi
+
+## Message bars descriptions.
+##
+## Variables:
+## $addon-name (string) - Name of the add-on
+
+abuse-report-messagebar-aborted = Báo cáo về <span data-l10n-name="addon-name">{ $addon-name }</span> đã bị hủy.
+abuse-report-messagebar-submitting = Đang gửi báo cáo về <span data-l10n-name="addon-name">{ $addon-name }</span>.
+abuse-report-messagebar-submitted = Cám ơn bạn đã gửi báo cáo. Bạn có muốn xóa <span data-l10n-name="addon-name">{ $addon-name }</span> không?
+abuse-report-messagebar-submitted-noremove = Cảm ơn bạn đã gửi báo cáo.
+abuse-report-messagebar-removed-extension = Cảm ơn bạn đã gửi báo cáo. Bạn đã xóa tiện ích mở rộng <span data-l10n-name="addon-name">{ $addon-name }</span>.
+abuse-report-messagebar-removed-sitepermission = Cảm ơn bạn đã gửi báo cáo. Bạn đã xóa tiện ích mở rộng Quyền hạn trang web <span data-l10n-name="addon-name">{ $addon-name }</span>.
+abuse-report-messagebar-removed-theme = Cảm ơn bạn đã gửi báo cáo. Bạn đã xóa chủ đề <span data-l10n-name="addon-name">{ $addon-name }</span>.
+abuse-report-messagebar-error = Đã xảy ra lỗi khi gửi báo cáo về <span data-l10n-name="addon-name">{ $addon-name }</span>.
+abuse-report-messagebar-error-recent-submit = Báo cáo về <span data-l10n-name="addon-name">{ $addon-name }</span> không thể gửi do đã có một báo cáo khác đã được gửi gần đây.
+abuse-report-messagebar-aborted2 =
+ .message = Báo cáo về { $addon-name } đã bị hủy.
+abuse-report-messagebar-submitting2 =
+ .message = Đang gửi báo cáo về { $addon-name }.
+abuse-report-messagebar-submitted2 =
+ .message = Cám ơn bạn đã gửi báo cáo. Bạn có muốn xóa { $addon-name } không?
+abuse-report-messagebar-submitted-noremove2 =
+ .message = Cảm ơn bạn đã gửi báo cáo.
+abuse-report-messagebar-removed-extension2 =
+ .message = Cảm ơn bạn đã gửi báo cáo. Bạn đã xóa tiện ích mở rộng { $addon-name }.
+abuse-report-messagebar-removed-sitepermission2 =
+ .message = Cảm ơn bạn đã gửi báo cáo. Bạn đã xóa tiện ích mở rộng Quyền hạn trang web { $addon-name }.
+abuse-report-messagebar-removed-theme2 =
+ .message = Cảm ơn bạn đã gửi báo cáo. Bạn đã xóa chủ đề { $addon-name }.
+abuse-report-messagebar-error2 =
+ .message = Đã xảy ra lỗi khi gửi báo cáo về { $addon-name }.
+abuse-report-messagebar-error-recent-submit2 =
+ .message = Báo cáo về { $addon-name } không thể gửi do đã có một báo cáo khác đã được gửi gần đây.
+
+## Message bars actions.
+
+abuse-report-messagebar-action-remove-extension = Vâng, loại bỏ nó
+abuse-report-messagebar-action-keep-extension = Không, tôi sẽ giữ nó
+abuse-report-messagebar-action-remove-sitepermission = Có, loại bỏ nó
+abuse-report-messagebar-action-keep-sitepermission = Không, tôi sẽ giữ nó
+abuse-report-messagebar-action-remove-theme = Vâng, loại bỏ nó
+abuse-report-messagebar-action-keep-theme = Không, tôi sẽ giữ nó
+abuse-report-messagebar-action-retry = Thử lại
+abuse-report-messagebar-action-cancel = Hủy
+
+## Abuse report reasons (optionally paired with related examples and/or suggestions)
+
+abuse-report-damage-reason-v2 = Nó làm hỏng máy tính của tôi hoặc làm hỏng dữ liệu của tôi
+abuse-report-damage-example = Ví dụ: bị nhiễm phần mềm độc hại hay đánh cắp dữ liệu
+abuse-report-spam-reason-v2 = Nó chứa thư rác hoặc chèn quảng cáo không mong muốn
+abuse-report-spam-example = Ví dụ: chèn quảng cáo trên các trang web
+abuse-report-settings-reason-v2 = Nó đã thay đổi công cụ tìm kiếm, trang chủ hoặc thẻ mới của tôi mà không thông báo hoặc hỏi tôi
+abuse-report-settings-suggestions = Trước khi báo cáo tiện ích mở rộng, bạn có thể thử thay đổi cài đặt của mình:
+abuse-report-settings-suggestions-search = Thay đổi cài đặt tìm kiếm mặc định của bạn
+abuse-report-settings-suggestions-homepage = Thay đổi trang chủ và thẻ mới của bạn
+abuse-report-deceptive-reason-v2 = Nó tuyên bố là một cái gì đó mà nó không làm
+abuse-report-deceptive-example = Ví dụ: phần mô tả hoặc hình ảnh gây hiểu lầm
+abuse-report-broken-reason-extension-v2 = Nó không hoạt động, phá vỡ các trang web hoặc làm chậm { -brand-product-name }
+abuse-report-broken-reason-sitepermission-v2 = Nó không hoạt động, phá vỡ các trang web hoặc làm chậm { -brand-product-name }
+abuse-report-broken-reason-theme-v2 = Nó không hoạt động hoặc phá vỡ cách trình duyệt hiển thị
+abuse-report-broken-example = Ví dụ: tính năng chậm, khó sử dụng hoặc không hoạt động; các phần của trang web không tải được hoặc trông khác thường
+abuse-report-broken-suggestions-extension =
+ Có vẻ như bạn đã xác định được một lỗi. Ngoài việc gửi báo cáo ở đây, cách tốt nhất
+ để giải quyết vấn đề là liên hệ với nhà phát triển tiện ích mở rộng.
+ <a data-l10n-name="support-link">Truy cập trang web tiện ích mở rộng</a> để nhận thông tin về nhà phát triển.
+abuse-report-broken-suggestions-sitepermission =
+ Có vẻ như bạn đã xác định được một lỗi. Ngoài việc gửi báo cáo ở đây, cách tốt nhất
+ để giải quyết vấn đề là liên hệ với nhà phát triển trang web.
+ <a data-l10n-name="support-link">Truy cập trang web</a> để lấy thông tin nhà phát triển.
+abuse-report-broken-suggestions-theme =
+ Có vẻ như bạn đã xác định được một lỗi. Ngoài việc gửi báo cáo ở đây, cách tốt nhất
+ để giải quyết vấn đề là liên hệ với nhà phát triển chủ đề.
+ <a data-l10n-name="support-link">Truy cập trang web chủ đề của</a> để lấy thông tin nhà phát triển.
+abuse-report-policy-reason-v2 = Nó chứa nội dung thù địch, bạo lực hoặc bất hợp pháp
+abuse-report-policy-suggestions =
+ Lưu ý: Các vấn đề về bản quyền và nhãn hiệu phải được báo cáo trong một quy trình riêng.
+ <a data-l10n-name="report-infringement-link">Sử dụng các hướng dẫn này</a> để
+ báo cáo vấn đề.
+abuse-report-unwanted-reason-v2 = Tôi không bao giờ muốn nó và không biết làm thế nào để thoát khỏi nó
+abuse-report-unwanted-example = Ví dụ: Một ứng dụng đã cài đặt nó mà không có sự cho phép của tôi
+abuse-report-other-reason = Điều gì đó khác
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/certviewer.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/certviewer.ftl
new file mode 100644
index 0000000000..4f42747bdc
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/certviewer.ftl
@@ -0,0 +1,122 @@
+# 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/.
+
+certificate-viewer-certificate-section-title = Chứng chỉ
+
+## Error messages
+
+certificate-viewer-error-message = Chúng tôi không thể tìm thấy thông tin chứng chỉ, hoặc chứng chỉ bị hỏng. Vui lòng thử lại.
+certificate-viewer-error-title = Có gì đó không ổn.
+
+## Certificate information labels
+
+certificate-viewer-algorithm = Thuật toán
+certificate-viewer-certificate-authority = Cơ quan cấp chứng chỉ
+certificate-viewer-cipher-suite = Bộ mật mã
+certificate-viewer-common-name = Tên gọi chung
+certificate-viewer-email-address = Địa chỉ email
+# Variables:
+# $firstCertName (String) - Common Name for the displayed certificate
+certificate-viewer-tab-title = Chứng nhận cho { $firstCertName }
+# Inc. means Incorporated, e.g GitHub is incorporated in Delaware
+certificate-viewer-inc-country = Quốc gia hợp nhất
+certificate-viewer-country = Quốc gia
+certificate-viewer-curve = Đường cong
+certificate-viewer-distribution-point = Điểm phát hành
+certificate-viewer-dns-name = Tên DNS
+certificate-viewer-ip-address = Địa chỉ IP
+certificate-viewer-other-name = Tên khác
+certificate-viewer-exponent = Chỉ số
+certificate-viewer-id = ID
+certificate-viewer-key-exchange-group = Nhóm trao đổi khóa
+certificate-viewer-key-id = ID khóa
+certificate-viewer-key-size = Kích thước khóa
+# Inc. means Incorporated, e.g GitHub is incorporated in Delaware
+certificate-viewer-inc-locality = Địa phương hợp nhất
+certificate-viewer-locality = Thành phố
+certificate-viewer-location = Địa chỉ
+certificate-viewer-logid = ID bản ghi
+certificate-viewer-method = Phương thức
+certificate-viewer-modulus = Mô-đun
+certificate-viewer-name = Tên
+certificate-viewer-not-after = Hiệu lực đến
+certificate-viewer-not-before = Hiệu lực từ
+certificate-viewer-organization = Tổ chức
+certificate-viewer-organizational-unit = Đơn vị tổ chức
+certificate-viewer-policy = Chính sách
+certificate-viewer-protocol = Giao thức
+certificate-viewer-public-value = Giá trị công khai
+certificate-viewer-purposes = Mục đích
+certificate-viewer-qualifier = Hạn định
+certificate-viewer-qualifiers = Hạn định
+certificate-viewer-required = Bắt buộc
+certificate-viewer-unsupported = &lt;không được hỗ trợ&gt;
+# Inc. means Incorporated, e.g GitHub is incorporated in Delaware
+certificate-viewer-inc-state-province = Nhà nước/tỉnh hợp nhất
+certificate-viewer-state-province = Tỉnh
+certificate-viewer-sha-1 = SHA-1
+certificate-viewer-sha-256 = SHA-256
+certificate-viewer-serial-number = Số sê-ri
+certificate-viewer-signature-algorithm = Thuật toán chữ ký
+certificate-viewer-signature-scheme = Sơ đồ chữ ký
+certificate-viewer-timestamp = Dấu thời gian
+certificate-viewer-value = Giá trị
+certificate-viewer-version = Phiên bản
+certificate-viewer-business-category = Hạng mục kinh doanh
+certificate-viewer-subject-name = Tên chủ đề
+certificate-viewer-issuer-name = Tên nhà cung cấp
+certificate-viewer-validity = Tính hiệu lực
+certificate-viewer-subject-alt-names = Tên chủ đề thay thế
+certificate-viewer-public-key-info = Thông tin khóa công khai
+certificate-viewer-miscellaneous = Thông tin khác
+certificate-viewer-fingerprints = Dấu vân tay
+certificate-viewer-basic-constraints = Những ràng buộc cơ bản
+certificate-viewer-key-usages = Công dụng chính
+certificate-viewer-extended-key-usages = Công dụng mở rộng
+certificate-viewer-ocsp-stapling = OCSP Stapling
+certificate-viewer-subject-key-id = ID khóa chủ đề
+certificate-viewer-authority-key-id = ID khóa thẩm quyền
+certificate-viewer-authority-info-aia = Thông tin thẩm quyền (AIA)
+certificate-viewer-certificate-policies = Chính sách chứng chỉ
+certificate-viewer-embedded-scts = SCT tích hợp
+certificate-viewer-crl-endpoints = Điểm cuối CRL
+
+# This message is used as a row header in the Miscellaneous section.
+# The associated data cell contains links to download the certificate.
+certificate-viewer-download = Nội dung
+# This message is used to replace boolean values (true/false) in several certificate fields, e.g. Certificate Authority
+# Variables:
+# $boolean (String) - true/false value for the specific field
+certificate-viewer-boolean =
+ { $boolean ->
+ [true] Có
+ *[false] Không
+ }
+
+## Variables:
+## $fileName (String) - The file name to save the PEM data in, derived from the common name from the certificate being displayed.
+
+certificate-viewer-download-pem = PEM (chứng chỉ)
+ .download = { $fileName }.pem
+certificate-viewer-download-pem-chain = PEM (chain)
+ .download = { $fileName }-chain.pem
+
+# The title attribute for Critical Extension icon
+certificate-viewer-critical-extension =
+ .title = Tiện ích mở rộng này đã được đánh dấu là nghiêm trọng, có nghĩa là khách hàng phải từ chối chứng chỉ nếu họ không hiểu nó.
+certificate-viewer-export = Xuất
+ .download = { $fileName }.pem
+
+##
+
+# Label for a tab where we haven't found a better label:
+certificate-viewer-unknown-group-label = (không xác định)
+
+## Labels for tabs displayed in stand-alone about:certificate page
+
+certificate-viewer-tab-mine = Chứng nhận của bạn
+certificate-viewer-tab-people = Mọi người
+certificate-viewer-tab-servers = Máy chủ
+certificate-viewer-tab-ca = Nhà thẩm định
+certificate-viewer-tab-unkonwn = Không rõ
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/config.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/config.ftl
new file mode 100644
index 0000000000..c545dad1ab
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/config.ftl
@@ -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/.
+
+
+## These strings appear on the warning you see when first visiting about:config.
+
+about-config-intro-warning-title = Tiến hành thận trọng
+about-config-intro-warning-text = Thay đổi tùy chọn cấu hình nâng cao có thể ảnh hưởng đến hiệu suất hoặc bảo mật { -brand-short-name }.
+about-config-intro-warning-checkbox = Cảnh báo khi tôi cố gắng truy cập các tùy chọn này
+about-config-intro-warning-button = Chấp nhận rủi ro và tiếp tục
+
+##
+
+# This is shown on the page before searching but after the warning is accepted.
+about-config-caution-text = Thay đổi các tùy chọn này có thể ảnh hưởng đến hiệu suất hoặc bảo mật { -brand-short-name }.
+
+about-config-page-title = Tùy chọn nâng cao
+
+about-config-search-input1 =
+ .placeholder = Tìm kiếm tên tùy chỉnh
+about-config-show-all = Hiển thị tất cả
+
+about-config-show-only-modified = Chỉ hiển thị các tùy chọn đã sửa đổi
+
+about-config-pref-add-button =
+ .title = Thêm
+about-config-pref-toggle-button =
+ .title = Bật/Tắt
+about-config-pref-edit-button =
+ .title = Chỉnh sửa
+about-config-pref-save-button =
+ .title = Lưu
+about-config-pref-reset-button =
+ .title = Đặt lại
+about-config-pref-delete-button =
+ .title = Xóa
+
+## Labels for the type selection radio buttons shown when adding preferences.
+
+about-config-pref-add-type-boolean = Logic
+about-config-pref-add-type-number = Số
+about-config-pref-add-type-string = Chuỗi
+
+## Preferences with a non-default value are differentiated visually, and at the
+## same time the state is made accessible to screen readers using an aria-label
+## that won't be visible or copied to the clipboard.
+##
+## Variables:
+## $value (String): The full value of the preference.
+
+about-config-pref-accessible-value-default =
+ .aria-label = { $value } (mặc định)
+about-config-pref-accessible-value-custom =
+ .aria-label = { $value } (tùy chỉnh)
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/about/url-classifier.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/about/url-classifier.ftl
new file mode 100644
index 0000000000..3b2f572f55
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/about/url-classifier.ftl
@@ -0,0 +1,58 @@
+# 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/.
+
+url-classifier-title = Thông tin về trình phân loại URL
+url-classifier-search-title = Tìm kiếm
+url-classifier-search-result-title = Kết quả
+url-classifier-search-result-uri = URI: { $uri }
+url-classifier-search-result-list = Danh sách các bảng: { $list }
+url-classifier-search-input = URL
+url-classifier-search-error-invalid-url = URL không hợp lệ
+url-classifier-search-error-no-features = Không có tính năng được chọn
+url-classifier-search-btn = Bắt đầu tìm kiếm
+url-classifier-search-features = Tính năng
+url-classifier-search-listType = Kiểu danh sách
+url-classifier-provider-title = Nhà cung cấp
+url-classifier-provider = Nhà cung cấp
+url-classifier-provider-last-update-time = Thời gian cập nhật lần cuối
+url-classifier-provider-next-update-time = Thời gian cập nhật tiếp theo
+url-classifier-provider-back-off-time = Độ trễ
+url-classifier-provider-last-update-status = Trạng thái cập nhật cuối
+url-classifier-provider-update-btn = Cập nhật
+url-classifier-cache-title = Bộ nhớ đệm
+url-classifier-cache-refresh-btn = Tải lại
+url-classifier-cache-clear-btn = Xóa
+url-classifier-cache-table-name = Tên bảng
+url-classifier-cache-ncache-entries = Số lượng bộ nhớ đệm âm
+url-classifier-cache-pcache-entries = Số lượng bộ nhớ đệm tích cực
+url-classifier-cache-show-entries = Hiển thị mục
+url-classifier-cache-entries = Bộ nhớ đệm của mục
+url-classifier-cache-prefix = Tiền tố
+url-classifier-cache-ncache-expiry = Hết hạn bộ nhớ đệm âm
+url-classifier-cache-fullhash = Hash đầy đủ
+url-classifier-cache-pcache-expiry = Hết hạn bộ nhớ đệm tích cực
+url-classifier-debug-title = Gỡ lỗi
+url-classifier-debug-module-btn = Đặt mô-đun nhật ký
+url-classifier-debug-file-btn = Đặt tập tin nhật ký
+url-classifier-debug-js-log-chk = Đặt nhật ký JS
+url-classifier-debug-sb-modules = Mô-đun nhật ký duyệt web an toàn
+url-classifier-debug-modules = Mô-đun nhật ký hiện tại
+url-classifier-debug-sbjs-modules = Nhật ký JS duyệt web an toàn
+url-classifier-debug-file = Tập tin nhật ký hiện tại
+
+url-classifier-trigger-update = Cập nhật
+url-classifier-not-available = Không có
+url-classifier-disable-sbjs-log = Tắt nhật ký JS duyệt web an toàn
+url-classifier-enable-sbjs-log = Bật nhật ký JS duyệt web an toàn
+url-classifier-enabled = Đã bật
+url-classifier-disabled = Đã tắt
+url-classifier-updating = đang cập nhật
+url-classifier-cannot-update = không thể cập nhật
+url-classifier-success = thành công
+
+## Variables
+## $error (string) - Error message
+
+url-classifier-update-error = lỗi cập nhật ({ $error })
+url-classifier-download-error = lỗi tải xuống ({ $error })
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/branding/accounts.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/branding/accounts.ftl
new file mode 100644
index 0000000000..f42ef6095a
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/branding/accounts.ftl
@@ -0,0 +1,7 @@
+# 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/.
+
+# “Account” can be localized, “Firefox” must be treated as a brand,
+# and kept in English.
+-fxaccount-brand-name = Tài khoản Firefox
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/branding/brandings.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/branding/brandings.ftl
new file mode 100644
index 0000000000..7cc00cf018
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/branding/brandings.ftl
@@ -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/.
+
+
+## The following feature names must be treated as a brand.
+##
+## They cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Declension should be avoided where possible, leaving the original
+## brand unaltered in prominent UI positions.
+##
+## For further details, consult:
+## https://mozilla-l10n.github.io/styleguides/mozilla_general/#brands-copyright-and-trademark
+
+-facebook-container-brand-name = Facebook Container
+-lockwise-brand-name = Firefox Lockwise
+-lockwise-brand-short-name = Lockwise
+-monitor-brand-name = Firefox Monitor
+-monitor-brand-short-name = Monitor
+-pocket-brand-name = Pocket
+-send-brand-name = Firefox Send
+-screenshots-brand-name = Firefox Screenshots
+-mozilla-vpn-brand-name = Mozilla VPN
+-profiler-brand-name = Firefox Profiler
+-translations-brand-name = Firefox Translations
+-focus-brand-name = Firefox Focus
+-relay-brand-name = Firefox Relay
+-relay-brand-short-name = Relay
+-fakespot-brand-name = Fakespot
+# Note the name of the website is capitalized.
+-fakespot-website-name = Fakespot.com
+# The particle "by" can be localized, "Fakespot" and "Mozilla" should not be localized or transliterated.
+-fakespot-brand-full-name = Fakespot bởi Mozilla
+# “Suggest” can be localized, “Firefox” must be treated as a brand
+# and kept in English.
+-firefox-suggest-brand-name = Đề xuất của Firefox
+# ”Home" can be localized, “Firefox” must be treated as a brand
+# and kept in English.
+-firefox-home-brand-name = Trang chủ Firefox
+# View" can be localized, “Firefox” must be treated as a brand
+# and kept in English.
+-firefoxview-brand-name = Firefox View
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/contentanalysis/contentanalysis.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/contentanalysis/contentanalysis.ftl
new file mode 100644
index 0000000000..3a579ef48e
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/contentanalysis/contentanalysis.ftl
@@ -0,0 +1,31 @@
+# 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/.
+
+contentanalysis-alert-title = Trình phân tích nội dung
+# Variables:
+# $content - Description of the content being warned about, such as "clipboard" or "aFile.txt"
+contentanalysis-slow-agent-notification = Công cụ Phân tích nội dung mất nhiều thời gian để phản hồi đối với tài nguyên “{ $content }”
+contentanalysis-slow-agent-dialog-title = Đang phân tích nội dung
+# Variables:
+# $content - Description of the content being warned about, such as "clipboard" or "aFile.txt"
+contentanalysis-slow-agent-dialog-body = Trình phân tích nội dung đang phân tích tài nguyên “{ $content }”
+contentanalysis-operationtype-clipboard = khay nhớ tạm
+contentanalysis-operationtype-dropped-text = văn bản đã kéo thả
+contentanalysis-warndialogtitle = Nội dung này có thể không an toàn
+# Variables:
+# $content - Description of the content being warned about, such as "clipboard" or "aFile.txt"
+contentanalysis-warndialogtext = Tổ chức của bạn sử dụng phần mềm ngăn ngừa mất dữ liệu đã gắn cờ nội dung này là không an toàn: { $content }. Tiếp tục sử dụng nó?
+contentanalysis-warndialog-response-allow = Sử dụng nội dung
+contentanalysis-warndialog-response-deny = Hủy bỏ
+contentanalysis-notification-title = Trình phân tích nội dung
+# Variables:
+# $content - Description of the content being reported, such as "clipboard" or "aFile.txt"
+# $response - The response received from the content analysis agent, such as "REPORT_ONLY"
+contentanalysis-genericresponse-message = Trình phân tích nội dung đã phản hồi bằng { $response } cho tài nguyên: { $content }
+# Variables:
+# $content - Description of the content being blocked, such as "clipboard" or "aFile.txt"
+contentanalysis-block-message = Tổ chức của bạn sử dụng phần mềm ngăn ngừa mất dữ liệu đã chặn nội dung này: { $content }.
+# Variables:
+# $content - Description of the content being blocked, such as "clipboard" or "aFile.txt"
+contentanalysis-error-message = Đã xảy ra lỗi khi giao tiếp với phần mềm ngăn ngừa mất dữ liệu. Việc chuyển tiếp tài nguyên bị từ chối: { $content }.
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/downloads/downloadUI.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/downloads/downloadUI.ftl
new file mode 100644
index 0000000000..23d8a69e80
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/downloads/downloadUI.ftl
@@ -0,0 +1,51 @@
+# 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/.
+
+download-ui-confirm-title = Hủy tất cả các phiên tải xuống?
+
+## Variables:
+## $downloadsCount (Number): The current downloads count.
+
+download-ui-confirm-quit-cancel-downloads =
+ { $downloadsCount ->
+ [1] Nếu bạn thoát ngay lúc này, 1 phiên tải xuống sẽ bị hủy. Bạn có chắc muốn thoát ngay không?
+ *[other] Nếu bạn thoát ngay lúc này, { $downloadsCount } phiên tải xuống sẽ bị hủy. Bạn có chắc muốn thoát ngay không?
+ }
+download-ui-confirm-quit-cancel-downloads-mac =
+ { $downloadsCount ->
+ [1] Nếu bạn thoát ngay lúc này, 1 phiên tải xuống sẽ bị hủy. Bạn có chắc muốn thoát ngay không?
+ *[other] Nếu bạn thoát ngay lúc này, { $downloadsCount } phiên tải xuống sẽ bị hủy. Bạn có chắc muốn thoát ngay không?
+ }
+download-ui-dont-quit-button =
+ { PLATFORM() ->
+ [mac] Đừng Thoát
+ *[other] Đừng Thoát
+ }
+
+download-ui-confirm-offline-cancel-downloads =
+ { $downloadsCount ->
+ [1] Nếu bạn ngắt kết nối ngay lúc này, 1 phiên tải xuống sẽ bị hủy. Bạn có chắc muốn ngắt kết nối không?
+ *[other] Nếu bạn ngắt kết nối ngay lúc này, { $downloadsCount } phiên tải xuống sẽ bị hủy. Bạn có chắc muốn ngắt kết nối không?
+ }
+download-ui-dont-go-offline-button = Vẫn Kết Nối
+
+download-ui-confirm-leave-private-browsing-windows-cancel-downloads =
+ { $downloadsCount ->
+ [1] Nếu bây giờ bạn đóng tất cả các cửa sổ riêng tư thì một tập tin đang tải xuống sẽ bị hủy. Bạn có chắc chắn muốn rời chế độ duyệt web riêng tư không?
+ *[other] Nếu bây giờ bạn đóng tất cả các cửa sổ riêng tư thì { $downloadsCount } tập tin đang tải xuống sẽ bị hủy. Bạn có chắc bạn muốn rời chế độ duyệt web riêng tư không?
+ }
+download-ui-dont-leave-private-browsing-button = Vẫn ở lại chế độ duyệt web riêng tư
+
+download-ui-cancel-downloads-ok =
+ { $downloadsCount ->
+ [1] Hủy 1 phiên tải xuống
+ *[other] Hủy { $downloadsCount } phiên tải xuống
+ }
+
+##
+
+download-ui-file-executable-security-warning-title = Mở Tập Tin Thực Thi?
+# Variables:
+# $executable (String): The executable file to be opened.
+download-ui-file-executable-security-warning = "{ $executable }" là một tập tin thực thi. Các tập tin thực thi có khả năng chứa virus hoặc mã độc và có thể làm tổn hại máy tính của bạn. Hãy thận trọng khi mở tập tin này. Bạn có chắc là mình muốn chạy "{ $executable }" không?
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/downloads/downloadUtils.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/downloads/downloadUtils.ftl
new file mode 100644
index 0000000000..f5718dfae6
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/downloads/downloadUtils.ftl
@@ -0,0 +1,90 @@
+# 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/.
+
+## Variables:
+## $timeValue (number) - Number of units of time
+
+# Short form for seconds
+download-utils-short-seconds = s
+# Short form for minutes
+download-utils-short-minutes = m
+# Short form for hours
+download-utils-short-hours = h
+# Short form for days
+download-utils-short-days = d
+
+##
+
+# — is the "em dash" (long dash)
+# example: 4 minutes left — 1.1 of 11.1 GB (2.2 MB/sec)
+# Variables:
+# $timeLeft (String): time left.
+# $transfer (String): transfer progress.
+# $rate (String): rate number.
+# $unit (String): rate unit.
+download-utils-status = { $timeLeft } — { $transfer } ({ $rate } { $unit }/giây)
+# If download speed is a JavaScript Infinity value, this phrase is used
+# — is the "em dash" (long dash)
+# example: 4 minutes left — 1.1 of 11.1 GB (Really fast)
+# Variables:
+# $timeLeft (String): time left.
+# $transfer (String): transfer progress.
+download-utils-status-infinite-rate = { $timeLeft } — { $transfer } (Rất nhanh)
+# — is the "em dash" (long dash)
+# example: 4 minutes left — 1.1 of 11.1 GB
+# Variables:
+# $timeLeft (String): time left.
+# $transfer (String): transfer progress.
+download-utils-status-no-rate = { $timeLeft } — { $transfer }
+
+download-utils-bytes = byte
+download-utils-kilobyte = KB
+download-utils-megabyte = MB
+download-utils-gigabyte = GB
+
+# example: 1.1 of 333 MB
+# Variables:
+# $progress (String): progress number.
+# $total (String): total number.
+# $totalUnits (String): total unit.
+download-utils-transfer-same-units = { $progress } trong { $total } { $totalUnits }
+# example: 11.1 MB of 3.3 GB
+# Variables:
+# $progress (String): progress number.
+# $progressUnits (String): progress unit.
+# $total (String): total number.
+# $totalUnits (String): total unit.
+download-utils-transfer-diff-units = { $progress } { $progressUnits } trong { $total } { $totalUnits }
+# example: 111 KB
+# Variables:
+# $progress (String): progress number.
+# $progressUnits (String): unit.
+download-utils-transfer-no-total = { $progress } { $progressUnits }
+
+# examples: 1m; 11h
+# Variables:
+# $time (String): time number.
+# $unit (String): time unit.
+download-utils-time-pair = { $time }{ $unit }
+# examples: 1m left; 11h left
+# Variables:
+# $time (String): time left, including a unit
+download-utils-time-left-single = Còn { $time }
+# examples: 11h 2m left; 1d 22h left
+# Variables:
+# $time1 (String): time left, including a unit
+# $time2 (String): smaller measure of time left, including a unit
+download-utils-time-left-double = Còn { $time1 } { $time2 }
+download-utils-time-few-seconds = Còn vài giây
+download-utils-time-unknown = Không rõ thời gian còn lại
+
+# Variables:
+# $scheme (String): URI scheme like data: jar: about:
+download-utils-done-scheme = { $scheme } tài nguyên
+# Special case of done-scheme for file:
+# This is used as an eTLD replacement for local files, so make it lower case
+download-utils-done-file-scheme = tập tin trên máy
+
+# Displayed time for files finished yesterday
+download-utils-yesterday = Hôm qua
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/featuregates/features.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/featuregates/features.ftl
new file mode 100644
index 0000000000..ef04371def
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/featuregates/features.ftl
@@ -0,0 +1,58 @@
+# 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/.
+
+# The title of the experiment should be kept in English as it may be referenced
+# by various online articles and is technical in nature.
+experimental-features-css-masonry2 =
+ .label = CSS: Masonry Layout
+experimental-features-css-masonry-description = Cho phép hỗ trợ cho tính năng thử nghiệm CSS Masonry Layout. Xem <a data-l10n-name="explainer">giải thích</a> để biết mô tả cấp cao về tính năng. Để cung cấp phản hồi, vui lòng nhận xét trong <a data-l10n-name="w3c-issue">GitHub issue này</a> hoặc <a data-l10n-name="bug">báo cáo lỗi này</a>.
+
+# The title of the experiment should be kept in English as it may be referenced
+# by various online articles and is technical in nature.
+experimental-features-web-gpu2 =
+ .label = Web API: WebGPU
+experimental-features-web-gpu-description3 = <a data-l10n-name="wikipedia-webgpu">WebGPU API</a> cung cấp hỗ trợ cấp thấp để thực hiện tính toán và hiển thị đồ họa bằng cách sử dụng <a data-l10n-name="wikipedia-gpu">bộ xử lý đồ họa (GPU)</a> của thiết bị hoặc máy tính của người dùng. Phiên bản đầu tiên của <a data-l10n-name="spec">thông số</a> sắp hoàn thiện. Xem <a data-l10n-name="bugzilla">bug 1616739</a> để biết thêm chi tiết.
+
+# The title of the experiment should be kept in English as it may be referenced
+# by various online articles and is technical in nature.
+experimental-features-media-jxl =
+ .label = Phương tiện: JPEG XL
+experimental-features-media-jxl-description = Với tính năng này được bật, { -brand-short-name } hỗ trợ định dạng JPEG XL (JXL). Đây là định dạng tập tin hình ảnh nâng cao hỗ trợ chuyển tiếp chất lượng cao từ các tập tin JPEG truyền thống. Xem <a data-l10n-name="bugzilla"> bug 1539075</a> để biết thêm chi tiết.
+
+experimental-features-devtools-compatibility-panel =
+ .label = Công cụ dành cho nhà phát triển: Bảng tương thích
+experimental-features-devtools-compatibility-panel-description = Một bảng điều khiển bên lề trong thẻ Trình kiểm tra cho bạn thông tin chi tiết về trạng thái tương thích đa trình duyệt của ứng dụng của bạn. Xem <a data-l10n-name="bugzilla">bug 1584464</a> để biết thêm chi tiết.
+
+
+# Do not translate 'SameSite', 'Lax' and 'None'.
+experimental-features-cookie-samesite-none-requires-secure2 =
+ .label = Cookie: SameSite=None yêu cầu thuộc tính bảo mật
+experimental-features-cookie-samesite-none-requires-secure2-description = Cookie với thuộc tính “SameSite=None” yêu cầu thuộc tính bảo mật. Tính năng này yêu cầu “Cookie: SameSite=Lax theo mặc định”.
+
+# about:home should be kept in English, as it refers to the the URI for
+# the internal default home page.
+experimental-features-abouthome-startup-cache =
+ .label = Bộ nhớ đệm tự chạy của about:home
+experimental-features-abouthome-startup-cache-description = Một bộ nhớ đệm cho trang web about:home được tải theo mặc định khi khởi động. Mục đích của bộ nhớ đệm là cải thiện hiệu suất khởi động.
+
+# "Service Worker" is an API name and is usually not translated.
+experimental-features-devtools-serviceworker-debugger-support =
+ .label = Công cụ dành cho nhà phát triển: Gỡ lỗi Service Worker
+# "Service Worker" is an API name and is usually not translated.
+experimental-features-devtools-serviceworker-debugger-support-description = Cho phép hỗ trợ thử nghiệm Service Workers trong thẻ Trình gỡ lỗi. Tính năng này có thể làm chậm Công cụ dành cho nhà phát triển và tăng mức tiêu thụ bộ nhớ.
+
+# WebRTC global mute toggle controls
+experimental-features-webrtc-global-mute-toggles =
+ .label = Công tắc tắt tiếng toàn bộ WebRTC
+experimental-features-webrtc-global-mute-toggles-description = Thêm điều khiển cho WebRTC global sharing indicator để cho phép người dùng tắt tiếng micrô và máy ảnh của họ.
+
+# JS JIT Warp project
+experimental-features-js-warp =
+ .label = JavaScript JIT: Warp
+experimental-features-js-warp-description = Kích hoạt Warp, một dự án để cải thiện hiệu suất JavaScript và sử dụng bộ nhớ.
+
+# Search during IME
+experimental-features-ime-search =
+ .label = Thanh địa chỉ: hiển thị kết quả trong quá trình thành phần IME
+experimental-features-ime-search-description = IME (Trình chỉnh sửa phương thức nhập) là một công cụ cho phép bạn nhập các ký hiệu phức tạp, chẳng hạn như các ký hiệu được sử dụng trong các ngôn ngữ viết Đông Á hoặc Ấn Độ, bằng bàn phím tiêu chuẩn. Bật thử nghiệm này sẽ giữ cho bảng thanh địa chỉ luôn mở, hiển thị kết quả tìm kiếm và đề xuất, trong khi sử dụng IME để nhập văn bản. Lưu ý rằng IME có thể hiển thị một bảng che các kết quả trên thanh địa chỉ, do đó tùy chọn này chỉ được đề xuất cho IME không sử dụng loại bảng này.
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/formautofill/formAutofill.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/formautofill/formAutofill.ftl
new file mode 100644
index 0000000000..309daaa9b9
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/formautofill/formAutofill.ftl
@@ -0,0 +1,49 @@
+# 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/.
+
+
+## OS Prompt Dialog
+
+# The macos string is preceded by the operating system (macOS) with "Firefox is trying to ",
+# and has a period added to its end. Make sure to test in your locale.
+autofill-use-payment-method-os-prompt-macos = sử dụng thông tin phương thức thanh toán được lưu trữ
+autofill-use-payment-method-os-prompt-windows = { -brand-short-name } đang muốn sử dụng thông tin phương thức thanh toán được lưu trữ. Xác nhận quyền truy cập vào tài khoản Windows này bên dưới.
+autofill-use-payment-method-os-prompt-other = { -brand-short-name } đang muốn sử dụng thông tin phương thức thanh toán được lưu trữ.
+# In macOS, this string is preceded by the operating system with "Firefox is trying to ",
+# and has a period added to its end. Make sure to test in your locale.
+autofill-edit-payment-method-os-prompt-macos = hiển thị thông tin phương thức thanh toán được lưu trữ
+autofill-edit-payment-method-os-prompt-windows = { -brand-short-name } đang muốn hiển thị thông tin phương thức thanh toán được lưu trữ. Xác nhận quyền truy cập vào tài khoản Windows này bên dưới.
+autofill-edit-payment-method-os-prompt-other = { -brand-short-name } đang muốn hiển thị thông tin phương thức thanh toán được lưu trữ.
+# The links lead users to Form Autofill browser preferences.
+autofill-options-link = Tùy chọn tự động điền mẫu
+autofill-options-link-osx = Tùy chỉnh tự động điền mẫu
+
+## The credit card capture doorhanger
+
+# If Sync is enabled and credit card sync is available,
+# this checkbox is displayed on the doorhanger shown when saving credit card.
+credit-card-doorhanger-credit-cards-sync-checkbox = Đồng bộ hóa tất cả các thẻ đã lưu trên các thiết bị của tôi
+# Used on the doorhanger when users submit payment with credit card.
+credit-card-save-doorhanger-header = Lưu thẻ này một cách an toàn?
+credit-card-save-doorhanger-description = { -brand-short-name } mã hóa số thẻ của bạn. Mã bảo mật trên thẻ của bạn sẽ không được lưu.
+credit-card-capture-save-button =
+ .label = Lưu
+ .accessKey = S
+credit-card-capture-cancel-button =
+ .label = Không phải bây giờ
+ .accessKey = W
+credit-card-capture-never-save-button =
+ .label = Không bao giờ lưu thẻ
+ .accessKey = N
+
+# Used on the doorhanger when an credit card change is detected.
+
+credit-card-update-doorhanger-header = Cập nhật thẻ?
+credit-card-update-doorhanger-description = Thẻ sẽ được cập nhật:
+credit-card-capture-save-new-button =
+ .label = Lưu thành thẻ mới
+ .accessKey = C
+credit-card-capture-update-button =
+ .label = Cập nhật thẻ hiện tại
+ .accessKey = U
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/alert.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/alert.ftl
new file mode 100644
index 0000000000..10a0db0aa1
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/alert.ftl
@@ -0,0 +1,12 @@
+# 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/.
+
+alert-close =
+ .tooltiptext = Đóng thông báo này
+alert-settings-title =
+ .tooltiptext = Thiết lập
+
+## Reminder Notifications
+
+notification-default-dismiss = Bỏ qua
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/appPicker.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/appPicker.ftl
new file mode 100644
index 0000000000..8422321a6f
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/appPicker.ftl
@@ -0,0 +1,10 @@
+# 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/.
+
+app-picker-browse-button =
+ .buttonlabelextra2 = Chọn ứng dụng…
+app-picker-send-msg =
+ .value = Đưa tập tin này qua:
+app-picker-no-app-found =
+ .value = Không có ứng dụng nào để mở kiểu tập tin này.
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/browser-utils.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/browser-utils.ftl
new file mode 100644
index 0000000000..33effd1fe7
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/browser-utils.ftl
@@ -0,0 +1,11 @@
+# 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/.
+
+# Used for data: URLs where we don't have any useful origin information
+browser-utils-url-data = (dữ liệu)
+
+# Used for extension URLs
+# Variables:
+# $extension (string) - Name of the extension that generated the URL
+browser-utils-url-extension = Tiện ích mở rộng ({ $extension })
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/commonDialog.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/commonDialog.ftl
new file mode 100644
index 0000000000..824bf7dd9c
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/commonDialog.ftl
@@ -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/.
+
+common-dialog-title-null = Trang này nói
+common-dialog-title-system = { -brand-short-name }
+# Title displayed when the origin of a web dialog is unknown.
+common-dialog-title-unknown = Không rõ
+# An indicator showing that Firefox is waiting for an operation to finish
+common-dialog-spinner =
+ .alt = Bận
+common-dialog-username =
+ .value = Tên đăng nhập
+common-dialog-password =
+ .value = Mật khẩu
+common-dialog-copy-cmd =
+ .label = Sao chép
+ .accesskey = C
+common-dialog-select-all-cmd =
+ .label = Chọn tất cả
+ .accesskey = B
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/contextual-identity.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/contextual-identity.ftl
new file mode 100644
index 0000000000..f263c35d82
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/contextual-identity.ftl
@@ -0,0 +1,29 @@
+# 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/.
+
+
+## Names of the default containers in Firefox.
+## See https://support.mozilla.org/kb/how-use-firefox-containers
+
+user-context-personal =
+ .label = Cá nhân
+ .accesskey = P
+user-context-work =
+ .label = Công việc
+ .accesskey = W
+user-context-banking =
+ .label = Ngân hàng
+ .accesskey = B
+user-context-shopping =
+ .label = Mua sắm
+ .accesskey = S
+
+##
+
+user-context-none =
+ .label = Không ngăn chứa
+ .accesskey = N
+user-context-manage-containers =
+ .label = Quản lý ngăn chứa
+ .accesskey = O
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/cookieBannerHandling.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/cookieBannerHandling.ftl
new file mode 100644
index 0000000000..e0da2f0e04
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/cookieBannerHandling.ftl
@@ -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/.
+
+cookie-banner-handled-webconsole = { -brand-shorter-name } xử lý biểu ngữ cookie thay mặt cho người dùng.
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/createProfileWizard.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/createProfileWizard.ftl
new file mode 100644
index 0000000000..3a72771640
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/createProfileWizard.ftl
@@ -0,0 +1,53 @@
+# 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/.
+
+create-profile-window2 =
+ .title = Trình tạo mới hồ sơ
+ .style = min-width: 45em; min-height: 32em;
+
+## First wizard page
+
+create-profile-first-page-header2 =
+ { PLATFORM() ->
+ [macos] Giới thiệu
+ *[other] Chào mừng đến với { create-profile-window2.title }
+ }
+
+profile-creation-explanation-1 = { -brand-short-name } lưu các thông tin thiết lập và tùy chọn của bạn trong hồ sơ cá nhân.
+
+profile-creation-explanation-2 = Nếu dùng chung { -brand-short-name } với người khác, bạn có thể dùng hồ sơ để lưu các thông tin riêng cho từng người. Để làm việc này, mỗi người nên tạo một hồ sơ riêng cho mình.
+
+profile-creation-explanation-3 = Nếu là người duy nhất dùng { -brand-short-name }, bạn phải có ít nhất một hồ sơ. Nếu muốn, bạn có thể tạo nhiều hồ sơ cho chính mình để lưu các thiết lập và tùy chọn khác nhau. Ví dụ, có thể bạn muốn có các hồ sơ riêng rẽ cho công việc và cá nhân.
+
+profile-creation-explanation-4 =
+ { PLATFORM() ->
+ [macos] Để bắt đầu tạo hồ sơ, nhấn Tiếp tục.
+ *[other] Để bắt đầu tạo hồ sơ, nhấn Tiến.
+ }
+
+## Second wizard page
+
+create-profile-last-page-header2 =
+ { PLATFORM() ->
+ [macos] Kết thúc
+ *[other] Đang hoàn tất { create-profile-window2.title }
+ }
+
+profile-creation-intro = Nếu tạo vài hồ sơ, bạn có thể tách biệt chúng bằng cách đặt tên. Có thể dùng tên được cung cấp ở đây hoặc tự đặt theo ý bạn.
+
+profile-prompt = Nhập tên hồ sơ mới:
+ .accesskey = N
+
+profile-default-name =
+ .value = Default User
+
+profile-directory-explanation = Thiết lập, tùy chọn và những dữ liệu liên quan đến người dùng sẽ được lưu tại:
+
+create-profile-choose-folder =
+ .label = Chọn thư mục…
+ .accesskey = C
+
+create-profile-use-default =
+ .label = Sử dụng thư mục mặc định
+ .accesskey = S
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/cspErrors.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/cspErrors.ftl
new file mode 100644
index 0000000000..8a443bd674
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/cspErrors.ftl
@@ -0,0 +1,32 @@
+# 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/.
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+csp-error-missing-directive = Không có chính sách nào yêu cầu chỉ thị '{ $directive }'
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $keyword (String): the name of a CSP keyword, usually 'unsafe-inline'.
+csp-error-illegal-keyword = Chỉ thị ‘{ $directive }’ chứa từ khóa { $keyword } bị cấm
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $scheme (String): a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp-error-illegal-protocol = Chỉ thị ‘{ $directive }’ chứa một thứ bị cấm { $scheme }: nguồn giao thức
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $scheme (String): a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp-error-missing-host = { $scheme }: giao thức yêu cầu máy chủ lưu trữ trong các chỉ thị ‘{ $directive }’
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $source (String): the name of a CSP source, usually 'self'.
+csp-error-missing-source = ‘{ $directive }’ phải được bao gồm trong nguồn { $source }
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $scheme (String): a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp-error-illegal-host-wildcard = { $scheme }: nguồn ký tự đại diện trong chỉ thị ‘{ $directive }’ phải bao gồm ít nhất một tên miền phụ không chung chung (ví dụ: *.example.com thay vì *.com)
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/datepicker.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/datepicker.ftl
new file mode 100644
index 0000000000..a4a2cfa7b8
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/datepicker.ftl
@@ -0,0 +1,50 @@
+# 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/.
+
+
+### Datepicker - Dialog for default HTML's <input type="date">
+
+
+## These labels are used by screenreaders and other assistive technology
+## to indicate the purpose of a date picker calendar and a month-year selection
+## spinner dialogs for HTML's <input type="date">
+
+date-picker-label =
+ .aria-label = Chọn một ngày
+date-spinner-label =
+ .aria-label = Chọn một tháng và một năm
+
+## Text of the clear button
+
+date-picker-clear-button = Xóa
+
+## These labels are used by screenreaders and other assistive technology
+## to indicate the purpose of buttons that leaf through months of a calendar
+
+date-picker-previous =
+ .aria-label = Tháng trước
+date-picker-next =
+ .aria-label = Tháng sau
+
+## These labels are used by screenreaders and other assistive technology
+## to indicate the type of a value/unit that is being selected within a
+## Month/Year date spinner dialogs on a datepicker calendar dialog
+
+date-spinner-month =
+ .aria-label = Tháng
+date-spinner-year =
+ .aria-label = Năm
+
+## These labels are used by screenreaders and other assistive technology
+## to indicate the purpose of buttons that leaf through either months
+## or years of a Month/Year date spinner on a datepicker calendar dialog
+
+date-spinner-month-previous =
+ .aria-label = Tháng trước
+date-spinner-month-next =
+ .aria-label = Tháng sau
+date-spinner-year-previous =
+ .aria-label = Năm trước
+date-spinner-year-next =
+ .aria-label = Năm sau
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/datetimebox.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/datetimebox.ftl
new file mode 100644
index 0000000000..fa0b7ab266
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/datetimebox.ftl
@@ -0,0 +1,42 @@
+# 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/.
+
+## Placeholders for date and time inputs
+
+datetime-year-placeholder = yyyy
+datetime-month-placeholder = mm
+datetime-day-placeholder = dd
+datetime-time-placeholder = --
+
+## Field labels for input type=date
+
+datetime-year =
+ .aria-label = Năm
+datetime-month =
+ .aria-label = Tháng
+datetime-day =
+ .aria-label = Ngày
+
+## Field labels for input type=time
+
+datetime-hour =
+ .aria-label = Giờ
+datetime-minute =
+ .aria-label = Phút
+datetime-second =
+ .aria-label = Giây
+datetime-millisecond =
+ .aria-label = Mili giây
+datetime-dayperiod =
+ .aria-label = SA/CH
+
+## Calendar button for input type=date
+
+
+# This label is used by screenreaders and other assistive technology
+# to indicate the purpose of a toggle button inside of the <input type="date">
+# field that opens/closes a date picker calendar dialog
+
+datetime-calendar =
+ .aria-label = Lịch
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/extensionPermissions.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/extensionPermissions.ftl
new file mode 100644
index 0000000000..7203d417b4
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/extensionPermissions.ftl
@@ -0,0 +1,33 @@
+# 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/.
+
+
+## Extension permission description keys are derived from permission names.
+## Permissions for which the message has been changed and the key updated
+## must have a corresponding entry in the `PERMISSION_L10N_ID_OVERRIDES` map.
+
+webext-perms-description-bookmarks = Xem và chỉnh sửa dấu trang
+webext-perms-description-browserSettings = Đọc và chỉnh sửa cài đặt trình duyệt
+webext-perms-description-browsingData = Xóa lịch sử duyệt web, cookie và dữ liệu liên quan
+webext-perms-description-clipboardRead = Nhận dữ liệu từ bộ nhớ tạm
+webext-perms-description-clipboardWrite = Nhập dữ liệu vào bộ nhớ tạm
+webext-perms-description-declarativeNetRequest = Chặn nội dung trên bất kỳ trang nào
+webext-perms-description-declarativeNetRequestFeedback = Đọc lịch sử duyệt web của bạn
+webext-perms-description-devtools = Mở rộng công cụ nhà phát triển để truy cập dữ liệu của bạn trong các thẻ đang mở
+webext-perms-description-downloads = Tải xuống các tập tin và chỉnh sửa lịch sử tải về của trình duyệt
+webext-perms-description-downloads-open = Mở tập tin đã tải xuống máy tính của bạn
+webext-perms-description-find = Đọc văn bản của tất cả các thẻ đang mở
+webext-perms-description-geolocation = Truy cập vị trí của bạn
+webext-perms-description-history = Truy cập lịch sử duyệt web
+webext-perms-description-management = Theo dõi việc sử dụng tiện ích mở rộng và quản lý các chủ đề
+webext-perms-description-nativeMessaging = Trao đổi thông báo với các chương trình khác với { -brand-short-name }
+webext-perms-description-notifications = Hiển thị thông báo cho bạn
+webext-perms-description-pkcs11 = Cung cấp dịch vụ mật mã xác thực
+webext-perms-description-privacy = Đọc và chỉnh sửa các cài đặt riêng tư
+webext-perms-description-proxy = Kiểm soát cài đặt proxy của trình duyệt
+webext-perms-description-sessions = Truy cập các thẻ đã đóng gần đây
+webext-perms-description-tabs = Truy cập các thẻ trên trình duyệt
+webext-perms-description-tabHide = Ẩn và hiển thỉ các thẻ trình duyệt
+webext-perms-description-topSites = Truy cập lịch sử duyệt web
+webext-perms-description-webNavigation = Truy cập hoạt động của trình duyệt trong khi điều hướng
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/extensions.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/extensions.ftl
new file mode 100644
index 0000000000..cb03e6fed0
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/extensions.ftl
@@ -0,0 +1,104 @@
+# 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/.
+
+
+## Headers used in the webextension permissions dialog,
+## See https://bug1308309.bmoattachments.org/attachment.cgi?id=8814612
+## for an example of the full dialog.
+## Note: This string will be used as raw markup. Avoid characters like <, >, &
+## Variables:
+## $extension (String): replaced with the localized name of the extension.
+
+webext-perms-header = Thêm { $extension }?
+webext-perms-header-with-perms = Thêm { $extension }? Tiện ích mở rộng này sẽ có quyền:
+webext-perms-header-unsigned = Thêm { $extension }? Tiện ích mở rộng này chưa được xác minh. Các tiện ích mở rộng độc hại có thể lấy cắp thông tin cá nhân của bạn hoặc xâm phạm máy tính của bạn. Chỉ thêm nó nếu bạn tin tưởng.
+webext-perms-header-unsigned-with-perms = Thêm { $extension }? Tiện ích mở rộng này chưa được xác minh. Các tiện ích mở rộng độc hại có thể lấy cắp thông tin cá nhân của bạn hoặc xâm phạm máy tính của bạn. Chỉ thêm nó nếu bạn tin tưởng. Tiện ích mở rộng này sẽ có quyền:
+webext-perms-sideload-header = { $extension } được thêm vào
+webext-perms-optional-perms-header = { $extension } yêu cầu thêm các quyền.
+
+##
+
+webext-perms-add =
+ .label = Thêm
+ .accesskey = A
+webext-perms-cancel =
+ .label = Hủy bỏ
+ .accesskey = C
+
+webext-perms-sideload-text = Một chương trình khác trong máy tính của bạn đã cài đặt một tiện ích mà có thể gây ảnh hưởng đến trình duyệt của bạn. Vui lòng xem lại những quyền hạn mà tiện ích này yêu cầu và chọn kích hoạt hoặc hủy bỏ (để nó bị vô hiệu hóa).
+webext-perms-sideload-text-no-perms = Một chương trình khác trong máy tính của bạn đã cài đặt một tiện ích mà có thể gây ảnh hưởng đến trình duyệt của bạn. Vui lòng chọn kích hoạt hoặc hủy bỏ (để nó bị vô hiệu hóa).
+webext-perms-sideload-enable =
+ .label = Kích hoạt
+ .accesskey = E
+webext-perms-sideload-cancel =
+ .label = Hủy bỏ
+ .accesskey = C
+
+# Variables:
+# $extension (String): replaced with the localized name of the extension.
+webext-perms-update-text = { $extension } đã được cập nhật. Bạn phải phê duyệt các quyền mới trước khi phiên bản cập nhật sẽ cài đặt. Chọn “Hủy bỏ” sẽ duy trì phiên bản tiện ích mở rộng hiện tại của bạn. Tiện ích mở rộng này sẽ có quyền:
+webext-perms-update-accept =
+ .label = Cập nhật
+ .accesskey = U
+
+webext-perms-optional-perms-list-intro = Tiện ích này muốn:
+webext-perms-optional-perms-allow =
+ .label = Cho phép
+ .accesskey = A
+webext-perms-optional-perms-deny =
+ .label = Từ chối
+ .accesskey = D
+
+webext-perms-host-description-all-urls = Truy cập dữ liệu của bạn trên mọi trang web
+
+# Variables:
+# $domain (String): will be replaced by the DNS domain for which a webextension is requesting access (e.g., mozilla.org)
+webext-perms-host-description-wildcard = Truy cập dữ liệu của bạn trên trang { $domain }
+
+# Variables:
+# $domainCount (Number): Integer indicating the number of additional
+# hosts for which this webextension is requesting permission.
+webext-perms-host-description-too-many-wildcards = Truy cập dữ liệu của bạn trong { $domainCount } tên miền khác
+# Variables:
+# $domain (String): will be replaced by the DNS host name for which a webextension is requesting access (e.g., www.mozilla.org)
+webext-perms-host-description-one-site = Truy cập dữ liệu của bạn từ { $domain }
+
+# Variables:
+# $domainCount (Number): Integer indicating the number of additional
+# hosts for which this webextension is requesting permission.
+webext-perms-host-description-too-many-sites = Truy cập dữ liệu của bạn trên { $domainCount } trang khác
+
+## Headers used in the webextension permissions dialog for synthetic add-ons.
+## The part of the string describing what privileges the extension gives should be consistent
+## with the value of webext-site-perms-description-gated-perms-{sitePermission}.
+## Note, this string will be used as raw markup. Avoid characters like <, >, &
+## Variables:
+## $hostname (String): the hostname of the site the add-on is being installed from.
+
+webext-site-perms-header-with-gated-perms-midi = Tiện ích mở rộng này cung cấp { $hostname } quyền truy cập vào các thiết bị MIDI của bạn.
+webext-site-perms-header-with-gated-perms-midi-sysex = Tiện ích mở rộng này cung cấp { $hostname } quyền truy cập vào các thiết bị MIDI của bạn (với hỗ trợ SysEx).
+
+##
+
+# This string is used as description in the webextension permissions dialog for synthetic add-ons.
+# Note, the empty line is used to create a line break between the two sections.
+# Note, this string will be used as raw markup. Avoid characters like <, >, &
+webext-site-perms-description-gated-perms-midi =
+ Đây thường là các thiết bị bổ trợ như bộ tổng hợp âm thanh, nhưng cũng có thể được tích hợp vào máy tính của bạn.
+
+ Các trang web thường không được phép truy cập vào thiết bị MIDI. Việc sử dụng không đúng cách có thể gây hư hỏng hoặc ảnh hưởng đến bảo mật.
+
+## Headers used in the webextension permissions dialog.
+## Note: This string will be used as raw markup. Avoid characters like <, >, &
+## Variables:
+## $extension (String): replaced with the localized name of the extension being installed.
+## $hostname (String): will be replaced by the DNS host name for which a webextension enables permissions.
+
+webext-site-perms-header-with-perms = Thêm { $extension }? Tiện ích mở rộng này cấp các khả năng sau cho { $hostname }:
+webext-site-perms-header-unsigned-with-perms = Thêm { $extension }? Tiện ích mở rộng này chưa được xác minh. Tiện ích mở rộng độc hại có thể lấy cắp thông tin cá nhân của bạn hoặc xâm phạm máy tính của bạn. Chỉ thêm nó nếu bạn tin tưởng. Tiện ích mở rộng này cấp các khả năng sau cho { $hostname }:
+
+## These should remain in sync with permissions.NAME.label in sitePermissions.properties
+
+webext-site-perms-midi = Truy cập thiết bị MIDI
+webext-site-perms-midi-sysex = Truy cập thiết bị MIDI với hỗ trợ SysEx
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/handlerDialog.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/handlerDialog.ftl
new file mode 100644
index 0000000000..9a9b505c17
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/handlerDialog.ftl
@@ -0,0 +1,70 @@
+# 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/.
+
+
+## Permission Dialog
+## Variables:
+## $host (string) - The hostname that is initiating the request
+## $scheme (string) - The type of link that's being opened.
+## $appName (string) - Name of the application that will be opened.
+## $extension (string) - Name of extension that initiated the request
+
+permission-dialog-description = Cho phép trang web này mở liên kết { $scheme }?
+permission-dialog-description-file = Cho phép tập tin này mở liên kết { $scheme }?
+permission-dialog-description-host = Cho phép { $host } mở liên kết { $scheme }?
+permission-dialog-description-extension = Cho phép tiện ích mở rộng { $extension } mở liên kết { $scheme }?
+permission-dialog-description-app = Cho phép trang web này mở liên kết { $scheme } bằng { $appName }?
+permission-dialog-description-host-app = Cho phép { $host } mở liên kết { $scheme } bằng { $appName }?
+permission-dialog-description-file-app = Cho phép tập tin này mở liên kết { $scheme } bằng { $appName }?
+permission-dialog-description-extension-app = Cho phép tiện ích mở rộng { $extension } mở liên kết { $scheme } với { $appName }?
+permission-dialog-description-system-app = Mở liên kết { $scheme } với { $appName }?
+permission-dialog-description-system-noapp = Mở liên kết { $scheme }?
+
+## Please keep the emphasis around the hostname and scheme (ie the
+## `<strong>` HTML tags). Please also keep the hostname as close to the start
+## of the sentence as your language's grammar allows.
+## Variables:
+## $host (string) - The hostname that is initiating the request
+## $scheme (string) - The type of link that's being opened.
+
+permission-dialog-remember = Luôn cho phép <strong>{ $host }</strong> mở các liên kết <strong>{ $scheme }</strong>
+permission-dialog-remember-file = Luôn cho phép tập tin này mở các liên kết <strong>{ $scheme }</strong>
+permission-dialog-remember-extension = Luôn cho phép tiện ích mở rộng này mở các liên kết <strong>{ $scheme }</strong>
+
+##
+
+permission-dialog-btn-open-link =
+ .label = Mở liên kết
+ .accessKey = O
+permission-dialog-btn-choose-app =
+ .label = Chọn ứng dụng
+ .accessKey = A
+permission-dialog-unset-description = Bạn sẽ cần phải chọn một ứng dụng.
+permission-dialog-set-change-app-link = Chọn một ứng dụng khác.
+
+## Chooser dialog
+## Variables:
+## $scheme (string) - The type of link that's being opened.
+
+chooser-window =
+ .title = Chọn ứng dụng
+ .style = min-width: 26em; min-height: 26em;
+chooser-dialog =
+ .buttonlabelaccept = Mở liên kết
+ .buttonaccesskeyaccept = O
+chooser-dialog-description = Chọn một ứng dụng để mở liên kết { $scheme }.
+# Please keep the emphasis around the scheme (ie the `<strong>` HTML tags).
+chooser-dialog-remember = Luôn sử dụng ứng dụng này để mở các liên kết <strong>{ $scheme }</strong>
+chooser-dialog-remember-extra =
+ { PLATFORM() ->
+ [windows] Lựa chọn này có thể thay đổi trong Tùy chọn { -brand-short-name }.
+ *[other] Lựa chọn này có thể thay đổi trong Tùy chỉnh { -brand-short-name }.
+ }
+choose-other-app-description = Chọn ứng dụng khác
+choose-app-btn =
+ .label = Chọn…
+ .accessKey = C
+choose-other-app-window-title = Ứng dụng khác…
+# Displayed under the name of a protocol handler in the Launch Application dialog.
+choose-dialog-privatebrowsing-disabled = Vô hiệu hóa trong cửa sổ riêng tư
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/htmlForm.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/htmlForm.ftl
new file mode 100644
index 0000000000..ccaaa6006a
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/htmlForm.ftl
@@ -0,0 +1,10 @@
+# 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/.
+
+# 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).
+# Variables:
+# $fileCount (Number): The number of remaining files.
+input-file-and-more-files = và { $fileCount } cái nữa
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/mozCard.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/mozCard.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/mozCard.ftl
@@ -0,0 +1,3 @@
+# 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/.
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/mozFiveStar.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/mozFiveStar.ftl
new file mode 100644
index 0000000000..726870fd72
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/mozFiveStar.ftl
@@ -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/.
+
+# The rating out of 5 stars.
+# Variables:
+# $rating (number) - A number between 0 and 5. The translation should show at most one digit after the comma.
+moz-five-star-rating =
+ .title = Xếp hạng { NUMBER($rating, maximumFractionDigits: 1) } trên 5
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/mozMessageBar.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/mozMessageBar.ftl
new file mode 100644
index 0000000000..9d5e92e0b8
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/mozMessageBar.ftl
@@ -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/.
+
+moz-message-bar-icon-info =
+ .alt = Thông tin
+moz-message-bar-icon-warning =
+ .alt = Cảnh báo
+moz-message-bar-icon-success =
+ .alt = Thành công
+moz-message-bar-icon-error =
+ .alt = Lỗi
+moz-message-bar-close-button =
+ .aria-label = Đóng
+ .title = Đóng
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/mozSupportLink.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/mozSupportLink.ftl
new file mode 100644
index 0000000000..d04cd7e55d
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/mozSupportLink.ftl
@@ -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/.
+
+moz-support-link-text = Tìm hiểu thêm
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/notification.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/notification.ftl
new file mode 100644
index 0000000000..d5963537e3
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/notification.ftl
@@ -0,0 +1,16 @@
+# 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/.
+
+notification-learnmore-default-label =
+ .value = Tìm hiểu thêm
+
+# This label is read by screen readers when focusing the close button for an
+# "infobar" (message shown when for example a popup is blocked),
+# and shown when hovering over the button
+notification-close-button =
+ .aria-label = Đóng
+ .title = Đóng
+
+close-notification-message =
+ .tooltiptext = Đóng thông báo này
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/popupnotification.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/popupnotification.ftl
new file mode 100644
index 0000000000..8ebc6f98ee
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/popupnotification.ftl
@@ -0,0 +1,10 @@
+# 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/.
+
+popup-notification-learn-more = Tìm hiểu thêm
+popup-notification-more-actions-button =
+ .aria-label = Nhiều hành động hơn
+popup-notification-default-button =
+ .label = OK!
+ .accesskey = O
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/processTypes.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/processTypes.ftl
new file mode 100644
index 0000000000..5d55ed21a4
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/processTypes.ftl
@@ -0,0 +1,61 @@
+# 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 for remote types defined in RemoteType.h
+##
+
+process-type-web = Nội dung web
+
+# process used to run privileged about pages,
+# such as about:home
+process-type-privilegedabout = Trang about đặc quyền
+
+# process used to run privileged mozilla pages,
+# such as accounts.firefox.com
+process-type-privilegedmozilla = Nội dung Mozilla đặc quyền
+
+process-type-extension = Tiện ích mở rộng
+
+# process used to open file:// URLs
+process-type-file = Tập tin cục bộ
+
+# process used to isolate a webpage from other web pages
+# to improve security
+process-type-webisolated = Nội dung web bị cô lập
+
+# process used to isolate a ServiceWorker to improve
+# performance
+process-type-webserviceworker = Service Worker đã cô lập
+
+# process preallocated; may change to other types
+process-type-prealloc = Phân bổ trước
+
+##
+## Localization for Gecko process types defined in GeckoProcessTypes.h
+##
+
+process-type-default = Chính
+process-type-tab = Thẻ
+
+# process used to communicate with the GPU for
+# graphics acceleration
+process-type-gpu = GPU
+
+# process used to perform network operations
+process-type-socket = Socket
+
+# process used to decode media
+process-type-rdd = RDD
+
+# process used to run some IPC actor in their own sandbox
+process-type-utility = Tác nhân IPC hộp cát
+
+##
+## Other
+##
+
+# fallback
+process-type-unknown = Không rõ
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/profileDowngrade.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/profileDowngrade.ftl
new file mode 100644
index 0000000000..ab9819cadf
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/profileDowngrade.ftl
@@ -0,0 +1,18 @@
+# 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/.
+
+profiledowngrade-window2 =
+ .title = Bạn vừa chạy phiên bản cũ của { -brand-product-name }
+ .style = min-width: 490px;
+profiledowngrade-window-create =
+ .label = Tạo hồ sơ mới
+profiledowngrade-sync = Sử dụng phiên bản { -brand-product-name } cũ hơn có thể làm hỏng dấu trang và lịch sử duyệt web đã được lưu vào cấu hình { -brand-product-name } hiện có. Để bảo vệ thông tin của bạn, hãy tạo một hồ sơ mới cho bản cài đặt này của { -brand-short-name }. Bạn luôn có thể đăng nhập bằng { -fxaccount-brand-name } để đồng bộ hóa dấu trang và lịch sử duyệt giữa các hồ sơ.
+profiledowngrade-sync2 = Sử dụng phiên bản cũ hơn của { -brand-product-name } có thể làm hỏng dấu trang và lịch sử duyệt web đã được lưu vào một hồ sơ { -brand-product-name } hiện tại. Để bảo vệ thông tin của bạn, hãy tạo một hồ sơ mới cho quá trình cài đặt này của { -brand-short-name }. Bạn luôn có thể đăng nhập bằng tài khoản để đồng bộ hóa dấu trang và lịch sử duyệt web giữa các hồ sơ.
+profiledowngrade-nosync = Sử dụng phiên bản { -brand-product-name } cũ hơn có thể làm hỏng dấu trang và lịch sử duyệt web đã được lưu vào cấu hình { -brand-product-name } hiện có. Để bảo vệ thông tin của bạn, hãy tạo một hồ sơ mới cho bản cài đặt này của { -brand-short-name }.
+profiledowngrade-quit =
+ .label =
+ { PLATFORM() ->
+ [windows] Thoát
+ *[other] Thoát
+ }
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/profileSelection.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/profileSelection.ftl
new file mode 100644
index 0000000000..7eecdd8358
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/profileSelection.ftl
@@ -0,0 +1,38 @@
+# 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/.
+
+profile-selection-window =
+ .title = { -brand-short-name } - Chọn hồ sơ người dùng
+
+profile-selection-button-accept =
+ .label = Khởi động { -brand-short-name }
+
+profile-selection-button-cancel =
+ .label = Thoát
+
+profile-selection-new-button =
+ .label = Tạo hồ sơ…
+ .accesskey = T
+
+profile-selection-rename-button =
+ .label = Đổi tên hồ sơ…
+ .accesskey = n
+
+profile-selection-delete-button =
+ .label = Xóa hồ sơ…
+ .accesskey = X
+
+profile-selection-conflict-message = Một bản sao khác của { -brand-product-name } đã thực hiện các thay đổi đối với hồ sơ. Bạn phải khởi động lại { -brand-short-name } trước khi thực hiện nhiều thay đổi.
+
+## Messages used in the profile manager
+
+profile-manager-description = { -brand-short-name } lưu thông tin về các thiết lập, tùy chọn, và các danh mục khác trong hồ sơ người dùng của bạn.
+
+profile-manager-work-offline =
+ .label = Làm việc ngoại tuyến
+ .accesskey = v
+
+profile-manager-use-selected =
+ .label = Sử dụng cấu hình đã chọn mà không hỏi lại khi khởi động
+ .accesskey = s
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/resetProfile.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/resetProfile.ftl
new file mode 100644
index 0000000000..2ea72c8675
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/resetProfile.ftl
@@ -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/.
+
+refresh-profile-dialog-title = Làm mới { -brand-short-name } về cài đặt mặc định?
+refresh-profile-dialog-button =
+ .label = Khôi phục { -brand-short-name }
+refresh-profile-dialog-description = Bắt đầu làm mới để khắc phục các vấn đề về hiệu suất. Điều này sẽ xóa các tiện ích mở rộng và tùy chỉnh của bạn. Bạn sẽ không mất thông tin cần thiết như dấu trang và mật khẩu.
+refresh-profile = Làm mới { -brand-short-name } như khi mới cài đặt
+refresh-profile-button = Khôi phục { -brand-short-name }…
+refresh-profile-learn-more = Tìm hiểu thêm
+
+refresh-profile-progress =
+ .title = Làm mới { -brand-short-name }
+refresh-profile-progress-description = Sắp xong rồi…
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/resistFingerPrinting.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/resistFingerPrinting.ftl
new file mode 100644
index 0000000000..4348e442c4
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/resistFingerPrinting.ftl
@@ -0,0 +1,6 @@
+# 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/.
+
+# Spoof Accept-Language prompt
+privacy-spoof-english = Thay đổi cài đặt ngôn ngữ sang tiếng Anh sẽ gây khó khăn trong việc xác định và tăng cường sự riêng tư của bạn. Bạn có muốn yêu cầu phiên bản ngôn ngữ tiếng Anh của các trang web?
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/run-from-dmg.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/run-from-dmg.ftl
new file mode 100644
index 0000000000..b875de52a0
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/run-from-dmg.ftl
@@ -0,0 +1,28 @@
+# 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/.
+
+
+## Strings for a dialog that may open on macOS before the app's main window
+## opens. The dialog prompts the user to allow the app to install itself in an
+## appropriate location before relaunching itself from that location if the
+## user accepts.
+
+prompt-to-install-title = Hoàn tất cài đặt { -brand-short-name }?
+prompt-to-install-message = Hoàn tất cài đặt một bước này để giúp luôn cập nhật { -brand-short-name } và tránh mất dữ liệu. { -brand-short-name } sẽ được thêm vào thư mục Ứng dụng và thanh Dock của bạn.
+prompt-to-install-yes-button = Cài đặt
+prompt-to-install-no-button = Không cài đặt
+
+## Strings for a dialog that opens if the installation failed.
+
+install-failed-title = Cài đặt { -brand-short-name } không thành công.
+install-failed-message = Không thể cài đặt { -brand-short-name } nhưng sẽ tiếp tục chạy.
+
+## Strings for a dialog that recommends to the user to start an existing
+## installation of the app in the Applications directory if one is detected,
+## rather than the app that was double-clicked in a .dmg.
+
+prompt-to-launch-existing-app-title = Mở ứng dụng { -brand-short-name } hiện có?
+prompt-to-launch-existing-app-message = Bạn đã cài đặt { -brand-short-name }. Sử dụng ứng dụng đã cài đặt để luôn cập nhật và tránh mất dữ liệu.
+prompt-to-launch-existing-app-yes-button = Mở hiện có
+prompt-to-launch-existing-app-no-button = Không, cảm ơn
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/tabprompts.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/tabprompts.ftl
new file mode 100644
index 0000000000..9d00b9d5a4
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/tabprompts.ftl
@@ -0,0 +1,13 @@
+# 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/.
+
+tabmodalprompt-username =
+ .value = Tên đăng nhập:
+tabmodalprompt-password =
+ .value = Mật khẩu:
+
+tabmodalprompt-ok-button =
+ .label = OK
+tabmodalprompt-cancel-button =
+ .label = Hủy bỏ
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/textActions.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/textActions.ftl
new file mode 100644
index 0000000000..f983d5003a
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/textActions.ftl
@@ -0,0 +1,64 @@
+# 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/.
+
+text-action-undo =
+ .label = Hoàn tác
+ .accesskey = U
+text-action-undo-shortcut =
+ .key = Z
+text-action-redo =
+ .label = Làm lại
+ .accesskey = R
+text-action-redo-shortcut =
+ .key = Y
+text-action-cut =
+ .label = Cắt
+ .accesskey = t
+text-action-cut-shortcut =
+ .key = X
+text-action-copy =
+ .label = Sao chép
+ .accesskey = C
+text-action-copy-shortcut =
+ .key = C
+# This command copies the link, removing additional
+# query parameters used to track users across sites.
+text-action-strip-on-share =
+ .label = Sao chép (không tham số theo dõi)
+ .accesskey = n
+text-action-paste =
+ .label = Dán
+ .accesskey = P
+text-action-paste-no-formatting =
+ .label = Dán không định dạng
+ .accesskey = m
+text-action-paste-shortcut =
+ .key = V
+text-action-delete =
+ .label = Xóa
+ .accesskey = D
+text-action-select-all =
+ .label = Chọn tất cả
+ .accesskey = A
+text-action-select-all-shortcut =
+ .key = A
+text-action-spell-no-suggestions =
+ .label = Không có gợi ý sửa chính tả
+text-action-spell-add-to-dictionary =
+ .label = Thêm vào từ điển
+ .accesskey = o
+text-action-spell-undo-add-to-dictionary =
+ .label = Hoàn tác thêm vào từ điển
+ .accesskey = n
+text-action-spell-check-toggle =
+ .label = Kiểm tra chính tả
+ .accesskey = g
+text-action-spell-add-dictionaries =
+ .label = Thêm từ điển…
+ .accesskey = A
+text-action-spell-dictionaries =
+ .label = Ngôn ngữ
+ .accesskey = L
+text-action-search-text-box-clear =
+ .title = Xóa trắng
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/timepicker.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/timepicker.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/timepicker.ftl
@@ -0,0 +1,3 @@
+# 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/.
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/tree.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/tree.ftl
new file mode 100644
index 0000000000..051916ee2a
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/tree.ftl
@@ -0,0 +1,6 @@
+# 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/.
+
+tree-columnpicker-restore-order =
+ .label = Khôi phục thứ tự cột
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/unknownContentType.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/unknownContentType.ftl
new file mode 100644
index 0000000000..c39437ee9d
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/unknownContentType.ftl
@@ -0,0 +1,42 @@
+# 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/.
+
+unknowncontenttype-handleinternally =
+ .label = Mở bằng { -brand-short-name }
+ .accesskey = e
+
+unknowncontenttype-settingschange =
+ .value =
+ { PLATFORM() ->
+ [windows] Thiết lập có thể được thay đổi trong tùy chọn của { -brand-short-name }.
+ *[other] Thiết lập có thể được thay đổi trong Tùy chỉnh của { -brand-short-name }.
+ }
+
+unknowncontenttype-intro = Bạn cần chọn để mở:
+unknowncontenttype-which-is = là:
+unknowncontenttype-from = từ:
+unknowncontenttype-prompt = Bạn có muốn lưu tập tin này không?
+unknowncontenttype-action-question = { -brand-short-name } nên làm gì với tập tin này?
+unknowncontenttype-open-with =
+ .label = Mở bằng
+ .accesskey = O
+unknowncontenttype-other =
+ .label = Khác…
+unknowncontenttype-choose-handler =
+ .label =
+ { PLATFORM() ->
+ [macos] Chọn…
+ *[other] Duyệt…
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] C
+ *[other] B
+ }
+unknowncontenttype-save-file =
+ .label = Lưu tập tin
+ .accesskey = S
+unknowncontenttype-remember-choice =
+ .label = Ghi nhớ cách xử lý cho các tập tin như thế này.
+ .accesskey = a
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/videocontrols.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/videocontrols.ftl
new file mode 100644
index 0000000000..36caef83b7
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/videocontrols.ftl
@@ -0,0 +1,71 @@
+# 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/.
+
+# This label is used by screenreaders and other assistive technology to indicate
+# to users how much of the video has been loaded from the network. It will be
+# followed by the percentage of the video that has loaded (e.g. "Loading: 13%").
+videocontrols-buffer-bar-label = Đang tải:
+videocontrols-volume-control =
+ .aria-label = Âm lượng
+videocontrols-closed-caption-button =
+ .aria-label = Closed Captions
+
+videocontrols-play-button =
+ .aria-label = Phát
+videocontrols-pause-button =
+ .aria-label = Tạm dừng
+videocontrols-mute-button =
+ .aria-label = Tắt tiếng
+videocontrols-unmute-button =
+ .aria-label = Bật tiếng
+videocontrols-enterfullscreen-button =
+ .aria-label = Toàn màn hình
+videocontrols-exitfullscreen-button =
+ .aria-label = Thoát chế độ toàn màn hình
+videocontrols-casting-button-label =
+ .aria-label = Chiếu ra màn hình
+videocontrols-closed-caption-off =
+ .offlabel = Tắt
+
+# This string is used as part of the Picture-in-Picture video toggle button when
+# the mouse is hovering it.
+videocontrols-picture-in-picture-label = Hình trong hình
+
+# This string is used as the label for a variation of the Picture-in-Picture video
+# toggle button when the mouse is hovering over the video.
+videocontrols-picture-in-picture-toggle-label2 = Mở video này ở cửa sổ bật lên
+
+videocontrols-picture-in-picture-explainer3 = Nhiều màn hình, vui hơn. Phát video này trong khi bạn làm những việc khác.
+
+videocontrols-error-aborted = Đã dừng nạp video.
+videocontrols-error-network = Không thể xem video vì lỗi kết nối.
+videocontrols-error-decode = Không thể xem video vì tập tin bị hỏng.
+videocontrols-error-src-not-supported = Định dạng video hoặc kiểu MIME không được hỗ trợ.
+videocontrols-error-no-source = Không có video với định đạng được hỗ trợ.
+videocontrols-error-generic = Không thể xem video vì một lỗi chưa biết.
+videocontrols-status-picture-in-picture = Video này đang phát ở chế độ hình trong hình.
+
+# This message shows the current position and total video duration
+#
+# Variables:
+# $position (String): The current media position
+# $duration (String): The total video duration
+#
+# For example, when at the 5 minute mark in a 6 hour long video,
+# $position would be "5:00" and $duration would be "6:00:00", result
+# string would be "5:00 / 6:00:00". Note that $duration is not always
+# available. For example, when at the 5 minute mark in an unknown
+# duration video, $position would be "5:00" and the string which is
+# surrounded by <span> would be deleted, result string would be "5:00".
+videocontrols-position-and-duration-labels = { $position }<span data-l10n-name="position-duration-format"> / { $duration }</span>
+
+# This is a plain text version of the videocontrols-position-and-duration-labels
+# string, used by screenreaders.
+#
+# Variables:
+# $position (String): The current media position
+# $duration (String): The total video duration
+videocontrols-scrubber-position-and-duration =
+ .aria-label = Vị trí
+ .aria-valuetext = { $position } / { $duration }
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/global/wizard.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/global/wizard.ftl
new file mode 100644
index 0000000000..8a70912f0e
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/global/wizard.ftl
@@ -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/.
+
+wizard-macos-button-back =
+ .label = Quay lại
+ .accesskey = L
+wizard-linux-button-back =
+ .label = Quay lại
+ .accesskey = L
+wizard-win-button-back =
+ .label = < Quay lại
+ .accesskey = L
+
+wizard-macos-button-next =
+ .label = Tiếp tục
+ .accesskey = i
+wizard-linux-button-next =
+ .label = Tiến
+ .accesskey = T
+wizard-win-button-next =
+ .label = Tiến >
+ .accesskey = T
+
+wizard-macos-button-finish =
+ .label = Xong
+wizard-linux-button-finish =
+ .label = Hoàn thành
+wizard-win-button-finish =
+ .label = Hoàn thành
+
+wizard-macos-button-cancel =
+ .label = Hủy bỏ
+wizard-linux-button-cancel =
+ .label = Hủy bỏ
+wizard-win-button-cancel =
+ .label = Hủy bỏ
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/intl/languageNames.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/intl/languageNames.ftl
new file mode 100644
index 0000000000..8488869ba1
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/intl/languageNames.ftl
@@ -0,0 +1,215 @@
+# 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/.
+
+language-name-aa = Afar
+language-name-ab = Abkhazia
+language-name-ach = Acholi
+language-name-ae = Avesta
+language-name-af = Afrikaans
+language-name-ak = Akan
+language-name-am = Amhara
+language-name-an = Aragon
+language-name-ar = Ả Rập
+language-name-as = Assam
+language-name-ast = Asturia
+language-name-av = Avar
+language-name-ay = Aymara
+language-name-az = Azerbaijan
+language-name-ba = Bashkir
+language-name-be = Belarut
+language-name-bg = Bungari
+language-name-bh = Bihar
+language-name-bi = Bislama
+language-name-bm = Bambara
+language-name-bn = Bengal
+language-name-bo = Tây Tạng
+language-name-br = Breton
+language-name-bs = Bosnia
+language-name-ca = Catalan
+language-name-cak = Kaqchikel
+language-name-ce = Chechnya
+language-name-ch = Chamorro
+language-name-co = Corsica
+language-name-cr = Cree
+language-name-crh = Thổ Nhĩ Kỳ
+language-name-cs = Séc
+language-name-csb = Kashubia
+language-name-cu = Xlavơ Cũ
+language-name-cv = Chuvash
+language-name-cy = Wales
+language-name-da = Đan Mạch
+language-name-de = Đức
+language-name-dsb = Hạ Sorbia
+language-name-dv = Divehi
+language-name-dz = Bhutan
+language-name-ee = Ewe
+language-name-el = Hy Lạp
+language-name-en = Anh
+language-name-eo = Quốc tế ngữ
+language-name-es = Tây Ban Nha
+language-name-et = Estonia
+language-name-eu = Basque
+language-name-fa = Ba Tư
+language-name-ff = Fula
+language-name-fi = Phần Lan
+language-name-fj = Fiji
+language-name-fo = Faroe
+language-name-fr = Pháp
+language-name-fur = Friuli
+language-name-fy = Frisia
+language-name-ga = Ai Len
+language-name-gd = Gaelic Xcốtlen
+language-name-gl = Galicia
+language-name-gn = Guarani
+language-name-gu = Gujarat
+language-name-gv = Manx
+language-name-ha = Hausa
+language-name-haw = Hawaii
+language-name-he = Do Thái
+language-name-hi = Hindi
+language-name-hil = Hiligaynon
+language-name-ho = Hiri Motu
+language-name-hr = Croatia
+language-name-hsb = Thượng Sorb
+language-name-ht = Haiti
+language-name-hu = Hungari
+language-name-hy = Armenia
+language-name-hz = Herero
+language-name-ia = Interlingua
+language-name-id = Indonesia
+language-name-ie = Interlingue
+language-name-ig = Igbo
+language-name-ii = Lô Lô
+language-name-ik = Inupiaq
+language-name-io = Ido
+language-name-is = Ai-xơ-len
+language-name-it = Ý
+language-name-iu = Inuktitut
+language-name-ja = Nhật
+language-name-jv = Java
+language-name-ka = Gruzia
+language-name-kab = Kabyle
+language-name-kg = Kongo
+language-name-ki = Kikuyu
+language-name-kj = Kuanyama
+language-name-kk = Kazakh
+language-name-kl = Greenland
+language-name-km = Khơ-me
+language-name-kn = Kannada
+language-name-ko = Hàn Quốc
+language-name-kok = Konkani
+language-name-kr = Kanuri
+language-name-ks = Kashmir
+language-name-ku = Kurd
+language-name-kv = Komi
+language-name-kw = Cornwall
+language-name-ky = Kyrgyz
+language-name-la = Latinh
+language-name-lb = Luxembourg
+language-name-lg = Ganda
+language-name-li = Limburg
+language-name-lij = Liguria
+language-name-ln = Lingala
+language-name-lo = Lào
+language-name-lt = Lithuania
+language-name-ltg = Latgalia
+language-name-lu = Luba-Katanga
+language-name-lv = Latvia
+language-name-mai = Maithili
+language-name-meh = Tây Nam Trahiko Mishtec
+language-name-mg = Malagasy
+language-name-mh = Marshall
+language-name-mi = Maori
+language-name-mix = Mixtepec Mixtec
+language-name-mk = Macedonia
+language-name-ml = Malayalam
+language-name-mn = Mông Cổ
+language-name-mr = Marathi
+language-name-ms = Mã Lai
+language-name-mt = Malta
+language-name-my = Miến Điện
+language-name-na = Nauru
+language-name-nb = Na Uy Bokmål
+language-name-nd = Ndebele, Bắc
+language-name-ne = Nepal
+language-name-ng = Ndonga
+language-name-nl = Hà Lan
+language-name-nn = Na Uy Nynorsk
+language-name-no = Na Uy
+language-name-nr = Nam Ndebele
+language-name-nso = Bắc Sotho
+language-name-nv = Navajo
+language-name-ny = Chichewa
+language-name-oc = Occitan
+language-name-oj = Ojibwa
+language-name-om = Oromo
+language-name-or = Odia
+language-name-os = Ossetia
+language-name-pa = Punjab
+language-name-pi = Pali
+language-name-pl = Ba Lan
+language-name-ps = Pashto
+language-name-pt = Bồ Đào Nha
+language-name-qu = Quechua
+language-name-rm = Rhaeto-Romanic
+language-name-rn = Kirundi
+language-name-ro = Rumani
+language-name-ru = Nga
+language-name-rw = Kinyarwanda
+language-name-sa = Phạn
+language-name-sat = Santali
+language-name-sc = Sardinia
+language-name-sco = Scots
+language-name-sd = Sindhi
+language-name-se = Bắc Sami
+language-name-sg = Trung Phi
+language-name-si = Sinhala
+language-name-sk = Slovak
+language-name-sl = Slovenia
+language-name-sm = Samoa
+language-name-sn = Shona
+language-name-so = Somali
+language-name-son = Songhay
+language-name-sq = Anbani
+language-name-sr = Serbia
+language-name-ss = Siswati
+language-name-st = Nam Sotho
+language-name-su = Sunda
+language-name-sv = Thụy Điển
+language-name-sw = Swahili
+language-name-szl = Silesia
+language-name-ta = Tamil
+language-name-te = Telugu
+language-name-tg = Tajik
+language-name-th = Thái
+language-name-ti = Tigrinya
+language-name-tig = Tigre
+language-name-tk = Turkmenistan
+language-name-tl = Tagalog
+language-name-tlh = Klingon
+language-name-tn = Tswana
+language-name-to = Tonga
+language-name-tr = Thổ Nhĩ Kì
+language-name-trs = Triqui
+language-name-ts = Tsonga
+language-name-tt = Tatar
+language-name-tw = Twi
+language-name-ty = Tahiti
+language-name-ug = Duy Ngô Nhĩ
+language-name-uk = Ucraina
+language-name-ur = Urdu
+language-name-uz = Uzbekistan
+language-name-ve = Venda
+language-name-vi = Việt
+language-name-vo = Volapük
+language-name-wa = Walloon
+language-name-wen = Sorb
+language-name-wo = Wolof
+language-name-xh = Xhosa
+language-name-yi = Yiddish
+language-name-yo = Yoruba
+language-name-za = Tráng
+language-name-zam = Zapotec Miahuatlán
+language-name-zh = Hoa
+language-name-zu = Zulu
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/intl/regionNames.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/intl/regionNames.ftl
new file mode 100644
index 0000000000..05851494b3
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/intl/regionNames.ftl
@@ -0,0 +1,280 @@
+# 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/.
+
+
+### Notice: If you're updating this list, you should also
+### update the list in mozIntl.js.
+
+region-name-ad = Andorra
+region-name-ae = Các tiểu vương quốc Ả Rập thống nhất
+region-name-af = Afghanistan
+region-name-ag = Antigua và Barbuda
+region-name-ai = Anguilla
+region-name-al = Anbani
+region-name-am = Armenia
+region-name-ao = Angola
+region-name-aq = Châu Nam Cực
+region-name-ar = Argentina
+region-name-as = Samoa thuộc Mỹ
+region-name-at = Áo
+region-name-au = Úc
+region-name-aw = Aruba
+region-name-az = Azerbaijan
+region-name-ba = Bosnia và Herzegovina
+region-name-bb = Barbados
+region-name-bd = Bangladesh
+region-name-be = Bỉ
+region-name-bf = Burkina Faso
+region-name-bg = Bungari
+region-name-bh = Bahrain
+region-name-bi = Burundi
+region-name-bj = Benin
+region-name-bl = Saint Barthelemy
+region-name-bm = Bermuda
+region-name-bn = Bru-nây
+region-name-bo = Bolivia
+region-name-bq-2018 = Caribe Hà Lan
+region-name-br = Brazil
+region-name-bs = Bahamas
+region-name-bt = Bhutan
+region-name-bv = Đảo Bouvet
+region-name-bw = Botswana
+region-name-by = Belarus
+region-name-bz = Belize
+region-name-ca = Canada
+region-name-cc = Quần đảo Cocos (Keeling)
+region-name-cd = Congo (Kinshasa)
+region-name-cf = Cộng hòa Trung Phi
+region-name-cg = Congo (Brazzaville)
+region-name-ch = Thụy Sĩ
+region-name-ci = Bờ biển Ngà
+region-name-ck = Quần đảo Cook
+region-name-cl = Chile
+region-name-cm = Cameroon
+region-name-cn = Trung Quốc
+region-name-co = Colombia
+region-name-cp = Đảo Clipperton
+region-name-cr = Costa Rica
+region-name-cu = Cuba
+region-name-cv-2020 = Cape Verde
+region-name-cw = Curaçao
+region-name-cx = Đảo Giáng Sinh
+region-name-cy = Síp
+region-name-cz-2019 = Czechia
+region-name-de = Đức
+region-name-dg = Diego Garcia
+region-name-dj = Djibouti
+region-name-dk = Đan Mạch
+region-name-dm = Dominica
+region-name-do = Cộng hòa Dominica
+region-name-dz = Angiêri
+region-name-ec = Ecuador
+region-name-ee = Estonia
+region-name-eg = Ai Cập
+region-name-eh = Tây Sahara
+region-name-er = Eritrea
+region-name-es = Tây Ban Nha
+region-name-et = Ethiopia
+region-name-fi = Phần Lan
+region-name-fj = Fiji
+region-name-fk = Đảo Falkland (Islas Malvinas)
+region-name-fm = Liên bang Micronesia
+region-name-fo = Quần đảo Faroe
+region-name-fr = Pháp
+region-name-ga = Gabon
+region-name-gb = Vương quốc Anh
+region-name-gd = Grenada
+region-name-ge = Gruzia
+region-name-gf = Guiana thuộc Pháp
+region-name-gg = Guernsey
+region-name-gh = Ghana
+region-name-gi = Gibraltar
+region-name-gl = Greenland
+region-name-gm = Cộng hòa Gambia
+region-name-gn = Guinea
+region-name-gp = Guadeloupe
+region-name-gq = Guinea Xích Đạo
+region-name-gr = Hi Lạp
+region-name-gs = Nam Georgia và Quần đảo Nam Sandwich
+region-name-gt = Guatemala
+region-name-gu = Guam
+region-name-gw = Guinea-Bissau
+region-name-gy = Guyana
+region-name-hk = Hồng Kông
+region-name-hm = Đảo Heard và quần đảo McDonald
+region-name-hn = Honduras
+region-name-hr = Croatia
+region-name-ht = Haiti
+region-name-hu = Hungary
+region-name-id = Indonesia
+region-name-ie = Ai-len
+region-name-il = Israel
+region-name-im = Đảo Man
+region-name-in = Ấn Độ
+region-name-io = Lãnh thổ Ấn Độ Dương thuộc Anh
+region-name-iq = Iraq
+region-name-ir = Iran
+region-name-is = Ai-xơ-len
+region-name-it = Ý
+region-name-je = Jersey
+region-name-jm = Jamaica
+region-name-jo = Gioóc-đa-ni
+region-name-jp = Nhật Bản
+region-name-ke = Kenya
+region-name-kg = Kyrgyzstan
+region-name-kh = Campuchia
+region-name-ki = Kiribati
+region-name-km = Comoros
+region-name-kn = Saint Kitts và Nevis
+region-name-kp = Triều Tiên
+region-name-kr = Hàn Quốc
+region-name-kw = Kuwait
+region-name-ky = Quần đảo Cayman
+region-name-kz = Kazakhstan
+region-name-la = Lào
+region-name-lb = Libăng
+region-name-lc = Saint Lucia
+region-name-li = Liechtenstein
+region-name-lk = Sri Lanka
+region-name-lr = Liberia
+region-name-ls = Lesotho
+region-name-lt = Litva
+region-name-lu = Luxembourg
+region-name-lv = Latvia
+region-name-ly = Libya
+region-name-ma = Marốc
+region-name-mc = Monaco
+region-name-md = Moldova
+region-name-me = Montenegro
+region-name-mf = Saint Martin
+region-name-mg = Madagascar
+region-name-mh = Quần đảo Marshall
+region-name-mk-2019 = Bắc Macedonia
+region-name-ml = Mali
+region-name-mm = Miến Điện
+region-name-mn = Mông Cổ
+region-name-mo = Ma Cao
+region-name-mp = Quần đảo Bắc Mariana
+region-name-mq = Martinique
+region-name-mr = Mauritania
+region-name-ms = Montserrat
+region-name-mt = Malta
+region-name-mu = Mauritius
+region-name-mv = Maldives
+region-name-mw = Malawi
+region-name-mx = Mexico
+region-name-my = Malaysia
+region-name-mz = Mozambique
+region-name-na = Namibia
+region-name-nc = Tân Caledonia
+region-name-ne = Niger
+region-name-nf = Đảo Norfolk
+region-name-ng = Nigeria
+region-name-ni = Nicaragua
+region-name-nl = Hà Lan
+region-name-no = Na Uy
+region-name-np = Nepal
+region-name-nr = Nauru
+region-name-nu = Niue
+region-name-nz = New Zealand
+region-name-om = Oman
+region-name-pa = Panama
+region-name-pe = Peru
+region-name-pf = Polynesia thuộc Pháp
+region-name-pg = Papua New Guinea
+region-name-ph = Philippines
+region-name-pk = Pakistan
+region-name-pl = Ba Lan
+region-name-pm = Saint Pierre và Miquelon
+region-name-pn = Đảo Pitcairn
+region-name-pr = Puerto Rico
+region-name-pt = Bồ Đào Nha
+region-name-pw = Palau
+region-name-py = Paraguay
+region-name-qa = Qatar
+region-name-qm = Quần đảo Midway
+region-name-qs = Bassas da India
+region-name-qu = Đảo Juan de Nova
+region-name-qw = Đảo Wake
+region-name-qx = Quần đảo Glorioso
+region-name-qz = Akrotiri
+region-name-re = Reunion
+region-name-ro = Romania
+region-name-rs = Serbia
+region-name-ru = Nga
+region-name-rw = Rwanda
+region-name-sa = Ả Rập Saudi
+region-name-sb = Quần đảo Solomon
+region-name-sc = Seychelles
+region-name-sd = Sudan
+region-name-se = Thụy Điển
+region-name-sg = Singapore
+region-name-sh = Saint Helena, Ascension và Tristan da Cunha
+region-name-si = Slovenia
+region-name-sk = Slovakia
+region-name-sl = Sierra Leone
+region-name-sm = San Marino
+region-name-sn = Senegal
+region-name-so = Somalia
+region-name-sr = Suriname
+region-name-ss = Nam Sudan
+region-name-st = Sao Tome và Principe
+region-name-sv = El Salvador
+region-name-sx = Sint Maarten
+region-name-sy = Xi-ri
+region-name-sz-2019 = Eswatini
+region-name-tc = Quần đảo Turks và Caicos
+region-name-td = Sát
+region-name-tf = Vùng đất phía Nam và châu Nam Cực thuộc Pháp
+region-name-tg = Togo
+region-name-th = Thái Lan
+region-name-tj = Tajikistan
+region-name-tk = Tokelau
+region-name-tl = Đông Timor
+region-name-tm = Turkmenistan
+region-name-tn = Tuy-ni-di
+region-name-to = Tonga
+region-name-tr = Thổ Nhĩ Kì
+region-name-tt = Trinidad và Tobago
+region-name-tv = Tuvalu
+region-name-tw = Đài Loan
+region-name-tz = Tanzania
+region-name-ua = Ucraina
+region-name-ug = Uganda
+region-name-us = Hoa Kỳ
+region-name-uy = Uruguay
+region-name-uz = Uzbekistan
+region-name-va = Thành Vatican
+region-name-vc = Saint Vincent và Grenadines
+region-name-ve = Venezuela
+region-name-vg = Quần đảo Virgin thuộc Anh
+region-name-vi = Quần đảo Virgin thuộc Mỹ
+region-name-vn = Việt Nam
+region-name-vu = Vanuatu
+region-name-wf = Wallis và Futuna
+region-name-ws = Samoa
+region-name-xa = Quần đảo Ashmore và Cartier
+region-name-xb = Đảo Baker
+region-name-xc = Quần đảo Biển San hô
+region-name-xd = Dhekelia
+region-name-xe = Đảo Europa
+region-name-xg = Dải Gaza
+region-name-xh = Đảo Howland
+region-name-xj = Jan Mayen
+region-name-xk = Kosovo
+region-name-xl = Đảo San hô Palmyra
+region-name-xm = Rạn san hô Kingman
+region-name-xp = Quần đảo Hoàng Sa
+region-name-xq = Đảo Jarvis
+region-name-xr = Svalbard
+region-name-xs = Quần đảo Trường Sa
+region-name-xt = Đảo Tromelin
+region-name-xu = Đảo Johnston
+region-name-xv = Đảo Navassa
+region-name-xw = Bờ Tây
+region-name-ye = Yemen
+region-name-yt = Mayotte
+region-name-za = Nam Phi
+region-name-zm = Zambia
+region-name-zw = Zimbabwe
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/main-window/autocomplete.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/main-window/autocomplete.ftl
new file mode 100644
index 0000000000..957a5ba151
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/main-window/autocomplete.ftl
@@ -0,0 +1,23 @@
+# 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/.
+
+
+## Import Logins Autocomplete
+
+## Variables:
+## $host (String) - Host name of the current site.
+
+autocomplete-import-logins-chrome =
+ <div data-l10n-name="line1">Nhập thông tin đăng nhập của bạn từ Google Chrome</div>
+ <div data-l10n-name="line2">cho { $host } và các trang khác</div>
+autocomplete-import-logins-chromium =
+ <div data-l10n-name="line1">Nhập thông tin đăng nhập của bạn từ Chromium</div>
+ <div data-l10n-name="line2">cho { $host } và các trang khác</div>
+autocomplete-import-logins-chromium-edge =
+ <div data-l10n-name="line1">Nhập thông tin đăng nhập của bạn từ Microsoft Edge</div>
+ <div data-l10n-name="line2">cho { $host } và các trang khác</div>
+
+##
+
+autocomplete-import-learn-more = Tìm hiểu thêm
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/main-window/findbar.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/main-window/findbar.ftl
new file mode 100644
index 0000000000..61685fcec4
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/main-window/findbar.ftl
@@ -0,0 +1,68 @@
+# 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/.
+
+
+### This file contains the entities needed to use the Find Bar.
+
+findbar-next =
+ .tooltiptext = Tìm cụm từ ở phần sau
+findbar-previous =
+ .tooltiptext = Tìm cụm từ ở phần trước
+
+findbar-find-button-close =
+ .tooltiptext = Đóng thanh tìm kiếm
+
+findbar-highlight-all2 =
+ .label = Tô sáng tất cả
+ .accesskey =
+ { PLATFORM() ->
+ [macos] l
+ *[other] a
+ }
+ .tooltiptext = Tô sáng tất cả các cụm từ được tìm thấy
+
+findbar-case-sensitive =
+ .label = Phân biệt HOA-thường
+ .accesskey = C
+ .tooltiptext = Tìm kiếm có phân biệt chữ hoa và chữ thường
+
+findbar-match-diacritics =
+ .label = Dấu phụ phù hợp
+ .accesskey = i
+ .tooltiptext = Phân biệt giữa các chữ cái có dấu và các chữ cái cơ sở của chúng (ví dụ: khi tìm kiếm về “resume”, “résumé” sẽ không khớp)
+
+findbar-entire-word =
+ .label = Toàn bộ từ
+ .accesskey = W
+ .tooltiptext = Chỉ tìm toàn bộ từ
+
+findbar-not-found = Không tìm thấy
+
+findbar-wrapped-to-top = Đã xuống tới cuối trang, bắt đầu lại từ đầu trang
+findbar-wrapped-to-bottom = Đã lên tới đầu trang, bắt đầu lại từ cuối trang
+
+findbar-normal-find =
+ .placeholder = Tìm trong trang này
+findbar-fast-find =
+ .placeholder = Tìm nhanh
+findbar-fast-find-links =
+ .placeholder = Tìm nhanh (chỉ tìm liên kết)
+
+findbar-case-sensitive-status =
+ .value = (Phân biệt HOA-thường)
+findbar-match-diacritics-status =
+ .value = (Dấu phụ phù hợp)
+findbar-entire-word-status =
+ .value = (Chỉ toàn bộ từ)
+
+# Variables:
+# $current (Number): Index of the currently selected match
+# $total (Number): Total count of matches
+findbar-found-matches =
+ .value = { $current } trên { $total } kết quả
+
+# Variables:
+# $limit (Number): Total count of matches allowed before counting stops
+findbar-found-matches-count-limit =
+ .value = Tìm thấy hơn { $limit } kết quả
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/neterror/certError.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/neterror/certError.ftl
new file mode 100644
index 0000000000..7dcc37a160
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/neterror/certError.ftl
@@ -0,0 +1,141 @@
+# 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/.
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+cert-error-intro = { $hostname } sử dụng một chứng nhận bảo mật không hợp lệ.
+
+cert-error-mitm-intro = Các trang web chứng minh danh tính của họ thông qua các chứng nhận, được cấp bởi các cơ quan chứng nhận.
+
+cert-error-mitm-mozilla = { -brand-short-name } được hỗ trợ bởi Mozilla phi lợi nhuận, nơi quản lý một cửa hàng ủy quyền chứng nhận (CA) hoàn toàn mở. Cửa hàng CA giúp đảm bảo rằng các cơ quan cấp chứng nhận đang tuân theo các thực tiễn tốt nhất để bảo mật người dùng.
+
+cert-error-mitm-connection = { -brand-short-name } sử dụng cửa hàng Mozilla CA để xác minh rằng kết nối là an toàn, thay vì các chứng nhận được cung cấp bởi hệ điều hành của người dùng. Vì vậy, nếu chương trình chống vi-rút hoặc mạng đang chặn kết nối với chứng nhận bảo mật do CA không có trong cửa hàng Mozilla CA, kết nối được coi là không an toàn.
+
+cert-error-trust-unknown-issuer-intro = Ai đó có thể đang cố gắng mạo danh trang web và bạn không nên tiếp tục.
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+cert-error-trust-unknown-issuer = Trang web chứng minh danh tính của họ thông qua các chứng nhận. { -brand-short-name } không tin tưởng { $hostname } vì nhà phát hành chứng nhận của nó không xác định, chứng nhận tự ký hoặc máy chủ không gửi chứng nhận trung gian chính xác.
+
+cert-error-trust-cert-invalid = Chứng nhận không đáng tin vì nó được cấp phát bởi một chứng nhận CA không hợp lệ.
+
+cert-error-trust-untrusted-issuer = Chứng nhận không đáng tin cậy vì chứng nhận của bên cấp phát không đáng tin cậy.
+
+cert-error-trust-signature-algorithm-disabled = Chứng nhận không đáng tin cậy vì được ký bằng một thuật toán đã bị vô hiệu do không an toàn.
+
+cert-error-trust-expired-issuer = Chứng nhận không đáng tin cậy vì chứng nhận bên cấp phát đã hết hạn.
+
+cert-error-trust-self-signed = Chứng nhận này không đáng tin cậy vì nó được tự ký.
+
+cert-error-trust-symantec = Chứng nhận do GeoTrust, RapidSSL, Symantec, Thawte và VeriSign cấp không còn được coi là an toàn vì các cơ quan cấp chứng nhận này đã không tuân theo các thực tiễn bảo mật trong quá khứ.
+
+cert-error-untrusted-default = Chứng nhận không thuộc về một nguồn đáng tin cậy.
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+cert-error-domain-mismatch = Trang web chứng minh danh tính của họ thông qua các chứng nhận. { -brand-short-name } không tin tưởng trang web này vì nó sử dụng chứng nhận không hợp lệ cho { $hostname }.
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+# $alt-name (string) - Alternate domain name for which the cert is valid.
+cert-error-domain-mismatch-single = Trang web chứng minh danh tính của họ thông qua các chứng nhận. { -brand-short-name } không tin tưởng trang web này vì nó sử dụng chứng nhận không hợp lệ cho { $hostname }. Chứng nhận chỉ có giá trị cho <a data-l10n-name="domain-mismatch-link">{ $alt-name }</a>.
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+# $alt-name (string) - Alternate domain name for which the cert is valid.
+cert-error-domain-mismatch-single-nolink = Trang web chứng minh danh tính của họ thông qua các chứng nhận. { -brand-short-name } không tin tưởng trang web này vì nó sử dụng chứng nhận không hợp lệ cho { $hostname }. Chứng nhận chỉ có giá trị cho { $alt-name }.
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+# $subject-alt-names (string) - Alternate domain names for which the cert is valid.
+cert-error-domain-mismatch-multiple = Trang web chứng minh danh tính của họ thông qua các chứng nhận. { -brand-short-name } không tin tưởng trang web này vì nó sử dụng chứng nhận không hợp lệ cho { $hostname }. Chứng nhận chỉ có giá trị cho các tên sau: { $subject-alt-names }
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+# $not-after-local-time (Date) - Certificate is not valid after this time.
+cert-error-expired-now = Các trang web chứng minh danh tính của họ thông qua các chứng nhận, có giá trị trong một khoảng thời gian đã đặt. Chứng nhận cho { $hostname } đã hết hạn vào { $not-after-local-time }.
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+# $not-before-local-time (Date) - Certificate is not valid before this time.
+cert-error-not-yet-valid-now = Các trang web chứng minh danh tính của họ thông qua các chứng nhận, có giá trị trong một khoảng thời gian đã đặt. Chứng nhận cho { $hostname } sẽ không có giá trị cho đến { $not-before-local-time }.
+
+# Variables:
+# $error (string) - NSS error code string that specifies type of cert error. e.g. unknown issuer, invalid cert, etc.
+cert-error-code-prefix = Mã lỗi: { $error }
+
+# Variables:
+# $error (string) - NSS error code string that specifies type of cert error. e.g. unknown issuer, invalid cert, etc.
+cert-error-code-prefix-link = Mã lỗi: <a data-l10n-name="error-code-link">{ $error }</a>
+
+# Variables:
+# $hostname (string) - Hostname of the website with SSL error.
+# $errorMessage (string) - Error message corresponding to the type of error we are experiencing.
+cert-error-ssl-connection-error = Đã xảy ra lỗi trong khi kết nối với { $hostname }. { $errorMessage }
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+cert-error-symantec-distrust-description = Các trang web chứng minh danh tính của họ thông qua các chứng nhận, được cấp bởi các cơ quan chứng nhận. Hầu hết các trình duyệt không còn tin tưởng các chứng chỉ do GeoTrust, RapidSSL, Symantec, Thawte và VeriSign cấp. { $hostname } sử dụng chứng nhận từ một trong những cơ quan này và do đó, danh tính của trang web không thể chứng minh được.
+
+cert-error-symantec-distrust-admin = Bạn có thể thông báo cho quản trị viên trang web về vấn đề này.
+
+cert-error-old-tls-version = Trang web này có thể không hỗ trợ giao thức TLS 1.2, đây là phiên bản tối thiểu được hỗ trợ bởi { -brand-short-name }.
+
+# Variables:
+# $hasHSTS (Boolean) - Indicates whether HSTS header is present.
+cert-error-details-hsts-label = HTTP Strict Transport Security: { $hasHSTS }
+
+# Variables:
+# $hasHPKP (Boolean) - Indicates whether HPKP header is present.
+cert-error-details-key-pinning-label = HTTP Public Key Pinning: { $hasHPKP }
+
+cert-error-details-cert-chain-label = Chuỗi chứng nhận:
+
+open-in-new-window-for-csp-or-xfo-error = Mở trang web trong cửa sổ mới
+
+# Variables:
+# $hostname (string) - Hostname of the website blocked by csp or xfo error.
+csp-xfo-blocked-long-desc = Để bảo vệ tính bảo mật của bạn, { $hostname } sẽ không cho phép { -brand-short-name } hiển thị trang nếu một trang web khác đã nhúng nó. Để xem trang này, bạn cần mở nó trong một cửa sổ mới.
+
+## Messages used for certificate error titles
+
+connectionFailure-title = Không thể kết nối
+deniedPortAccess-title = Địa chỉ này đã bị chặn
+# "Hmm" is a sound made when considering or puzzling over something.
+# You don't have to include it in your translation if your language does not have a written word like this.
+dnsNotFound-title = Hmm. Chúng tôi gặp khó khăn khi tìm trang web đó.
+
+dns-not-found-trr-only-title2 = Rủi ro bảo mật có thể xảy ra khi tra cứu tên miền này
+dns-not-found-native-fallback-title2 = Rủi ro bảo mật có thể xảy ra khi tra cứu tên miền này
+
+fileNotFound-title = Không tìm thấy tập tin
+fileAccessDenied-title = Truy cập tập tin bị từ chối
+generic-title = Lỗi.
+captivePortal-title = Đăng nhập vào mạng
+# "Hmm" is a sound made when considering or puzzling over something.
+# You don't have to include it in your translation if your language does not have a written word like this.
+malformedURI-title = Hmm. Địa chỉ không đúng.
+netInterrupt-title = Kết nối bị ngắt
+notCached-title = Tài liệu đã hết hạn
+netOffline-title = Chế độ ngoại tuyến
+contentEncodingError-title = Lỗi encoding
+unsafeContentType-title = Kiểu tập tin không an toàn
+netReset-title = Kết nối bị khởi tạo lại
+netTimeout-title = Kết nối đã mất quá nhiều thời gian
+unknownProtocolFound-title = Chương trình không hiểu địa chỉ này
+proxyConnectFailure-title = Máy chủ proxy từ chối kết nối
+proxyResolveFailure-title = Không tìm thấy máy chủ proxy
+redirectLoop-title = Trang này không chuyển hướng đúng cách
+unknownSocketType-title = Nhận được phản hồi lạ từ máy chủ
+nssFailure2-title = Không thể kết nối an toàn
+csp-xfo-error-title = { -brand-short-name } không thể mở trang này
+corruptedContentError-title = Lỗi nội dung bị hỏng
+sslv3Used-title = Không thể kết nối một cách an toàn
+inadequateSecurityError-title = Kết nối của bạn không an toàn
+blockedByPolicy-title = Trang bị chặn
+clockSkewError-title = Đồng hồ trên máy tính của bạn không đúng
+networkProtocolError-title = Lỗi giao thức mạng
+nssBadCert-title = Cảnh báo: Rủi ro bảo mật tiềm ẩn
+nssBadCert-sts-title = Không kết nối: Sự cố bảo mật tiềm ẩn
+certerror-mitm-title = Phần mềm đang ngăn chặn { -brand-short-name } từ kết nối an toàn đến trang web này
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/neterror/netError.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/neterror/netError.ftl
new file mode 100644
index 0000000000..1140703f5e
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/neterror/netError.ftl
@@ -0,0 +1,149 @@
+# 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/.
+
+
+## Error page titles
+
+neterror-page-title = Sự cố khi tải trang
+certerror-page-title = Cảnh báo: Rủi ro bảo mật tiềm ẩn
+certerror-sts-page-title = Không kết nối: Sự cố bảo mật tiềm ẩn
+neterror-blocked-by-policy-page-title = Trang bị chặn
+neterror-captive-portal-page-title = Đăng nhập vào mạng
+neterror-dns-not-found-title = Không tìm thấy máy chủ
+neterror-malformed-uri-page-title = URL không hợp lệ
+
+## Error page actions
+
+neterror-advanced-button = Nâng cao…
+neterror-copy-to-clipboard-button = Sao chép văn bản vào bộ nhớ tạm
+neterror-learn-more-link = Tìm hiểu thêm…
+neterror-open-portal-login-page-button = Mở trang đăng nhập mạng
+neterror-override-exception-button = Chấp nhận rủi ro và tiếp tục
+neterror-pref-reset-button = Khôi phục cài đặt mặc định
+neterror-return-to-previous-page-button = Quay lại
+neterror-return-to-previous-page-recommended-button = Quay lại (Khuyến nghị)
+neterror-try-again-button = Thử lại
+neterror-add-exception-button = Luôn luôn tiếp tục cho trang web này
+neterror-settings-button = Thay đổi cài đặt DNS
+neterror-view-certificate-link = Xem chứng chỉ
+neterror-trr-continue-this-time = Tiếp tục lần này
+neterror-disable-native-feedback-warning = Luôn luôn tiếp tục
+
+##
+
+neterror-pref-reset = Dường như là cài đặt bảo mật mạng của bạn có thể gây ra điều này. Bạn có muốn khôi phục cài đặt mặc định?
+neterror-error-reporting-automatic = Báo cáo những lỗi như thế này để giúp { -vendor-short-name } nhận diện và chặn những trang độc hại
+
+## Specific error messages
+
+neterror-generic-error = Vì lý do nào đó, { -brand-short-name } không thể mở trang này.
+neterror-load-error-try-again = Trang web này có thể bị gián đoạn tạm thời hoặc do quá tải. Hãy thử lại trong chốc lát.
+neterror-load-error-connection = Nếu bạn không thể mở bất kì trang nào, hãy kiểm tra kết nối mạng.
+neterror-load-error-firewall = Nếu máy tính hoặc mạng của bạn được bảo vệ bởi tường lửa hoặc proxy, hãy chắc chắn rằng { -brand-short-name } được phép truy cập Web.
+neterror-captive-portal = Bạn cần đăng nhập vào mạng trước khi có thể truy cập Internet.
+# Variables:
+# $hostAndPath (String) - a suggested site (e.g. "www.example.com") that the user may have meant instead.
+neterror-dns-not-found-with-suggestion = Ý bạn là truy cập đến trang web <a data-l10n-name="website">{ $hostAndPath }</a>?
+neterror-dns-not-found-hint-header = <strong>Nếu bạn đã nhập đúng địa chỉ, bạn có thể:</strong>
+neterror-dns-not-found-hint-try-again = Thử lại sau
+neterror-dns-not-found-hint-check-network = Kiểm tra kết nối mạng của bạn
+neterror-dns-not-found-hint-firewall = Kiểm tra xem { -brand-short-name } có quyền truy cập web hay không (bạn có thể được kết nối nhưng có tường lửa)
+
+## TRR-only specific messages
+## Variables:
+## $hostname (String) - Hostname of the website to which the user was trying to connect.
+## $trrDomain (String) - Hostname of the DNS over HTTPS server that is currently in use.
+
+neterror-dns-not-found-trr-only-reason = { -brand-short-name } không thể bảo vệ yêu cầu của bạn về địa chỉ trang web này thông qua trình phân giải DNS đáng tin cậy của chúng tôi. Đây là lý do tại sao:
+neterror-dns-not-found-trr-only-reason2 = { -brand-short-name } không thể bảo vệ yêu cầu của bạn về địa chỉ trang web này thông qua nhà cung cấp DNS an toàn của chúng tôi. Đây là lý do tại sao:
+neterror-dns-not-found-trr-third-party-warning2 = Bạn có thể tiếp tục với trình phân giải DNS mặc định của mình. Tuy nhiên, bên thứ ba có thể xem những trang web bạn truy cập.
+neterror-dns-not-found-trr-only-could-not-connect = { -brand-short-name } không thể kết nối đến { $trrDomain }.
+neterror-dns-not-found-trr-only-timeout = Kết nối tới { $trrDomain } mất nhiều thời gian hơn dự kiến.
+neterror-dns-not-found-trr-offline = Bạn không kết nối với Internet.
+neterror-dns-not-found-trr-unknown-host2 = { $trrDomain } không tìm thấy trang web này.
+neterror-dns-not-found-trr-server-problem = Đã xảy ra sự cố với { $trrDomain }.
+neterror-dns-not-found-bad-trr-url = URL không hợp lệ.
+neterror-dns-not-found-trr-unknown-problem = Sự cố không xác định.
+
+## Native fallback specific messages
+## Variables:
+## $trrDomain (String) - Hostname of the DNS over HTTPS server that is currently in use.
+
+neterror-dns-not-found-native-fallback-reason = { -brand-short-name } không thể bảo vệ yêu cầu của bạn về địa chỉ trang web này thông qua trình phân giải DNS đáng tin cậy của chúng tôi. Đây là lý do tại sao:
+neterror-dns-not-found-native-fallback-reason2 = { -brand-short-name } không thể bảo vệ yêu cầu của bạn về địa chỉ trang web này thông qua nhà cung cấp DNS an toàn của chúng tôi. Đây là lý do tại sao:
+neterror-dns-not-found-native-fallback-heuristic = DNS qua HTTPS đã bị tắt trên mạng của bạn.
+neterror-dns-not-found-native-fallback-not-confirmed2 = { -brand-short-name } không thể kết nối với { $trrDomain }.
+
+##
+
+neterror-file-not-found-filename = Kiểm tra tên xem có lỗi gõ HOA-thường hay lỗi nào khác không.
+neterror-file-not-found-moved = Kiểm tra xem tập tin có bị di chuyển, đổi tên hay bị xóa không.
+neterror-access-denied = Nó có thể đã bị xóa, chuyển đi, hay quyền truy cập tập tin đã bị chặn.
+neterror-unknown-protocol = Có lẽ bạn cần phải cài đặt phần mềm khác mới mở được.
+neterror-redirect-loop = Vấn đề này thỉnh thoảng có thể xảy ra do bạn vô hiệu hóa hoặc từ chối cookie.
+neterror-unknown-socket-type-psm-installed = Kiểm tra để chắc chắn rằng hệ thống của bạn có Trình quản lí Bảo mật Cá nhân đã được cài đặt.
+neterror-unknown-socket-type-server-config = Điều này có thể là do cấu hình không chuẩn trên máy chủ.
+neterror-not-cached-intro = Tài liệu được yêu cầu không có sẵn trong bộ đệm của { -brand-short-name }.
+neterror-not-cached-sensitive = Vì lí do bảo mật, { -brand-short-name } không tự động tải lại các tài liệu nhạy cảm.
+neterror-not-cached-try-again = Nhấn nút Thử Lại để yêu cầu tải lại tài liệu từ trang web.
+neterror-net-offline = Nhấn “Thử lại” để chuyển sang chế độ trực tuyến và tải lại trang.
+neterror-proxy-resolve-failure-settings = Kiểm tra thiết lập proxy.
+neterror-proxy-resolve-failure-connection = Kiểm tra kết nối mạng.
+neterror-proxy-resolve-failure-firewall = Nếu máy tính hoặc mạng được bảo vệ bởi tường lửa hoặc proxy, hãy chắc chắn rằng { -brand-short-name } được phép truy cập Web.
+neterror-proxy-connect-failure-settings = Kiểm tra thiết lập proxy để chắc chắn rằng mọi thứ đều đúng.
+neterror-proxy-connect-failure-contact-admin = Liên hệ với quản trị mạng của bạn để chắc chắn rằng máy chủ proxy vẫn đang hoạt động.
+neterror-content-encoding-error = Vui lòng liên hệ với chủ trang web để báo với họ về vấn đề này.
+neterror-unsafe-content-type = Vui lòng liên hệ với chủ trang web để báo với họ về vấn đề này.
+neterror-nss-failure-not-verified = 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.
+neterror-nss-failure-contact-website = Vui lòng liên hệ chủ trang web để báo với họ vấn đề này.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-intro = { -brand-short-name } phát hiện một mối đe dọa bảo mật và không tiếp tục đến <b>{ $hostname }</b>. Nếu bạn truy cập trang web này, kẻ tấn công có thể cố gắng lấy cắp thông tin như mật khẩu, email hoặc chi tiết thẻ tín dụng của bạn.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-sts-intro = { -brand-short-name } phát hiện một mối đe dọa bảo mật tiềm năng và không tiếp tục đến <b>{ $hostname }</b> vì trang web này yêu cầu kết nối an toàn.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-expired-cert-intro = { -brand-short-name } đã phát hiện sự cố và không tiếp tục đến <b>{ $hostname }</b>. Trang web định cấu hình sai hoặc đồng hồ máy tính của bạn không đúng.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+# $mitm (String) - The name of the software intercepting communications between you and the website (or “man in the middle”)
+certerror-mitm = <b>{ $hostname }</b> rất có thể là một trang web an toàn, nhưng không thể thiết lập kết nối an toàn. Sự cố này xảy ra do <b>{ $mitm }</b>, có thể là phần mềm trên máy tính hoặc mạng của bạn.
+neterror-corrupted-content-intro = 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.
+neterror-corrupted-content-contact-website = Vui lòng liên hệ chủ trang web để báo họ về vấn đề này.
+# Do not translate "SSL_ERROR_UNSUPPORTED_VERSION".
+neterror-sslv3-used = Thông tin bổ sung: SSL_ERROR_UNSUPPORTED_VERSION
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+neterror-inadequate-security-intro = <b>{ $hostname }</b> sử dụng công nghệ bảo mật lỗi thời và dễ bị tấn công. Một kẻ tấn công có thể dễ dàng làm lộ những thông tin mà bạn nghĩ là an toàn. Người quản lý trang web trước tiên sẽ cần phải sửa lỗi máy chủ trước khi bạn có thể vào trang.
+# Do not translate "NS_ERROR_NET_INADEQUATE_SECURITY".
+neterror-inadequate-security-code = Mã lỗi: NS_ERROR_NET_INADEQUATE_SECURITY
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+# $now (Date) - The current datetime, to be formatted as a date
+neterror-clock-skew-error = Đồng hồ máy tính của bạn hiện tại là { DATETIME($now, dateStyle: "medium") }, việc này ngăn chặn { -brand-short-name } từ kết nối an toàn. Để truy cập <b>{ $hostname }</b>, hãy cập nhật đồng hồ máy tính trong cài đặt hệ thống của bạn thành ngày, giờ và múi giờ hiện tại, sau đó làm mới <b>{ $hostname }</b>.
+neterror-network-protocol-error-intro = 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.
+neterror-network-protocol-error-contact-website = 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.
+certerror-expired-cert-second-para = Có vẻ như chứng chỉ của trang web đã hết hạn, việc này sẽ ngăn chặn { -brand-short-name } từ kết nối an toàn. Nếu bạn truy cập trang này, kẻ tấn công có thể cố gắng lấy cắp thông tin như mật khẩu, email hoặc chi tiết thẻ tín dụng của bạn.
+certerror-expired-cert-sts-second-para = Có vẻ như chứng chỉ của trang web đã hết hạn, việc này sẽ ngăn chặn { -brand-short-name } từ kết nối an toàn.
+certerror-what-can-you-do-about-it-title = Bạn có thể làm gì về nó?
+certerror-unknown-issuer-what-can-you-do-about-it-website = Vấn đề rất có thể xảy ra với trang web và bạn không thể làm gì để giải quyết nó.
+certerror-unknown-issuer-what-can-you-do-about-it-contact-admin = Nếu bạn đang sử dụng mạng công ty hoặc sử dụng phần mềm chống vi-rút, bạn có thể liên hệ với nhóm hỗ trợ để được trợ giúp. Bạn cũng có thể thông báo cho quản trị viên của trang web về sự cố.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+# $now (Date) - The current datetime, to be formatted as a date
+certerror-expired-cert-what-can-you-do-about-it-clock = Đồng hồ máy tính của bạn được đặt thành { DATETIME($now, dateStyle: "medium") }. Đảm bảo máy tính của bạn được đặt đúng ngày, giờ và múi giờ trong cài đặt hệ thống của bạn, sau đó làm mới <b>{ $hostname }</b>.
+certerror-expired-cert-what-can-you-do-about-it-contact-website = Nếu đồng hồ của bạn đã được đặt đúng thời điểm, trang web có thể bị định cấu hình sai và bạn không thể làm gì để giải quyết vấn đề. Bạn có thể thông báo cho quản trị viên của trang web về sự cố.
+certerror-bad-cert-domain-what-can-you-do-about-it = Vấn đề rất có thể xảy ra với trang web và bạn không thể làm gì để giải quyết vấn đề này. Bạn có thể thông báo cho quản trị viên của trang web về sự cố.
+certerror-mitm-what-can-you-do-about-it-antivirus = Nếu phần mềm chống vi-rút của bạn bao gồm một tính năng quét các kết nối được mã hóa (thường được gọi là “quét trang web” hoặc “quét https”), bạn có thể tắt tính năng đó. Nếu điều đó không hoạt động, bạn có thể gỡ bỏ và cài đặt lại phần mềm chống vi-rút.
+certerror-mitm-what-can-you-do-about-it-corporate = Nếu bạn đang ở trong một mạng công ty, bạn có thể phải liên hệ với bộ phận CNTT của bạn.
+# Variables:
+# $mitm (String) - The name of the software intercepting communications between you and the website (or “man in the middle”)
+certerror-mitm-what-can-you-do-about-it-attack = Nếu bạn không quen với <b>{ $mitm }</b>, thì đây có thể là một cuộc tấn công và bạn không nên tiếp tục đến trang web.
+# Variables:
+# $mitm (String) - The name of the software intercepting communications between you and the website (or “man in the middle”)
+certerror-mitm-what-can-you-do-about-it-attack-sts = Nếu bạn không quen với <b>{ $mitm }</b>, thì đây có thể là một cuộc tấn công và bạn không thể làm gì để truy cập trang web.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-what-should-i-do-bad-sts-cert-explanation = <b>{ $hostname }</b> có chính sách bảo mật được gọi là HTTP Strict Transport Security (HSTS), có nghĩa là { -brand-short-name } chỉ có thể kết nối với nó một cách an toàn. Bạn không thể thêm ngoại lệ để truy cập trang web này.
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/neterror/nsserrors.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/neterror/nsserrors.ftl
new file mode 100644
index 0000000000..6058beb1b1
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/neterror/nsserrors.ftl
@@ -0,0 +1,349 @@
+# 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/.
+
+# DO NOT ADD THINGS OTHER THAN ERROR MESSAGES HERE.
+# This file gets parsed into a JS dictionary of all known error message ids in
+# gen_aboutneterror_codes.py . If we end up needing fluent attributes or
+# refactoring them in some way, the script will need updating.
+
+psmerr-ssl-disabled = Không thể kết nối an toàn vì giao thức SSL đã bị vô hiệu hóa.
+psmerr-ssl2-disabled = Không thể kết nối an toàn vì trang này sử dụng một phiên bản giao thức SSL cũ và không bảo mật.
+
+# This is a multi-line message.
+psmerr-hostreusedissuerandserial =
+ Bạn vừa nhận được một chứng nhận không hợp lệ. Vui lòng liên hệ quản trị máy chủ hoặc email tương ứng và đưa họ thông tin sau:
+
+ Chứng nhận của bạn có cùng số sê-ri với chứng nhận khác được cấp bởi cùng một nhà thẩm định chứng nhận. Vui lòng tạo một chứng nhận mới có số sê-ri riêng biệt.
+
+ssl-error-export-only-server = Không thể giao tiếp một cách an toàn. Peer không hỗ trợ mã hóa cấp cao.
+ssl-error-us-only-server = Không thể giao tiếp một cách an toàn. Peer yêu cầu mã hóa cao cấp mà không được hỗ trợ.
+ssl-error-no-cypher-overlap = Không thể kết nối an toàn với máy ngang hàng: không dùng chung thuật toán mã hoá dữ liệu.
+ssl-error-no-certificate = Không tìm thấy chứng nhận hoặc khóa cần thiết để xác thực.
+ssl-error-bad-certificate = Không thể kết nối an toàn với máy ngang hàng: chứng nhận của máy ngang hàng bị từ chối.
+ssl-error-bad-client = Máy chủ gặp dữ liệu xấu từ máy khách.
+ssl-error-bad-server = Máy khách gặp dữ liệu xấu từ máy chủ.
+ssl-error-unsupported-certificate-type = Kiểu chứng nhận không được hỗ trợ.
+ssl-error-unsupported-version = Máy khách sử dụng giao thức bảo mật không hỗ trợ.
+ssl-error-wrong-certificate = Chứng thực máy khách thất bại: khóa cá nhân không phù hợp với khóa chung trong cơ sở dữ liệu chứng nhận.
+ssl-error-bad-cert-domain = Không thể kết nối an toàn với máy ngang hàng: tên miền yêu cầu không khớp với chứng nhận của máy chủ.
+ssl-error-post-warning = Mã lỗi SSL không được chấp nhận.
+ssl-error-ssl2-disabled = Máy khách chỉ hỗ trợ SSL 2 (chưa kích hoạt)
+ssl-error-bad-mac-read = SSL đã nhận 1 văn bản sai Mã Thông báo Chứng thực.
+ssl-error-bad-mac-alert = SSL máy ngang hàng báo sai Mã Thông báo Chứng thực.
+ssl-error-bad-cert-alert = SSL máy ngang hàng không thể xác minh chứng nhận của bạn.
+ssl-error-revoked-cert-alert = SSL máy ngang hàng từ chối vì cho rằng chứng nhận của bạn đã bị thu hồi.
+ssl-error-expired-cert-alert = SSL máy ngang hàng từ chối vì cho rằng chứng nhận của bạn đã bị hết hạn.
+ssl-error-ssl-disabled = Không thể kết nối: SSL bị vô hiệu hoá.
+ssl-error-fortezza-pqg = Không thể kết nối: SSL máy ngang hàng ở tên miền FORTEZZA khác.
+ssl-error-unknown-cipher-suite = Một mã khóa SSL chưa biết vừa được yêu cầu.
+ssl-error-no-ciphers-supported = Không có bộ mã nào được kích hoạt trong chương trình này.
+ssl-error-bad-block-padding = SSL nhận một hồ sơ có thành phần xấu.
+ssl-error-rx-record-too-long = SSL nhận một hồ sơ vượt quá độ dài lớn nhất cho phép.
+ssl-error-tx-record-too-long = SSL cố gắng gửi một hồ sơ vượt quá độ dài lớn nhất cho phép.
+ssl-error-rx-malformed-hello-request = SSL nhận một thông điệp bắt tay Hello Request có lỗi.
+ssl-error-rx-malformed-client-hello = SSL nhận một thông điệp bắt tay Client Hello có lỗi.
+ssl-error-rx-malformed-server-hello = SSL nhận một thông điệp bắt tay Server Hello có lỗi.
+ssl-error-rx-malformed-certificate = SSL nhận một thông điệp báo chứng nhận sai định dạng.
+ssl-error-rx-malformed-server-key-exch = SSL nhận một thông điệp bắt tay Server Key Exchange có lỗi.
+ssl-error-rx-malformed-cert-request = SSL nhận một thông điệp báo sai định dạng yêu cầu chứng nhận.
+ssl-error-rx-malformed-hello-done = SSL nhận một thông điệp bắt tay Server Hello Done có lỗi.
+ssl-error-rx-malformed-cert-verify = SSL nhận một thông điệp báo sai định dạng xác minh chứng nhận.
+ssl-error-rx-malformed-client-key-exch = SSL nhận một thông điệp bắt tay Client Key Exchange có lỗi.
+ssl-error-rx-malformed-finished = SSL nhận một thông điệp bắt tay Finished có lỗi.
+ssl-error-rx-malformed-change-cipher = SSL nhận một hồ sơ Change Cipher Spec có lỗi.
+ssl-error-rx-malformed-alert = SSL nhận một hồ sơ Alert có lỗi.
+ssl-error-rx-malformed-handshake = SSL nhận một hồ sơ Handhshake có lỗi.
+ssl-error-rx-malformed-application-data = SSL nhận một hồ sơ Application Data có lỗi.
+ssl-error-rx-unexpected-hello-request = SSL nhận một thông điệp bắt tay Hello Request không mong đợi.
+ssl-error-rx-unexpected-client-hello = SSL nhận một thông điệp bắt tay Client Hello không mong đợi.
+ssl-error-rx-unexpected-server-hello = SSL nhận một thông điệp bắt tay Server Hello không mong đợi.
+ssl-error-rx-unexpected-certificate = SSL nhận một thông điệp báo chứng nhận không mong đợi.
+ssl-error-rx-unexpected-server-key-exch = SSL nhận một thông điệp bắt tay Server Key Exchange không mong đợi.
+ssl-error-rx-unexpected-cert-request = SSL nhận một thông điệp bắt tay Certificate Request không mong đợi.
+ssl-error-rx-unexpected-hello-done = SSL nhận một thông điệp bắt tay Server Hello Done không mong đợi.
+ssl-error-rx-unexpected-cert-verify = SSL nhận một thông điệp bắt tay Certificate Verify không mong đợi.
+ssl-error-rx-unexpected-client-key-exch = SSL nhận một thông điệp bắt tay Client Key Exchange không mong đợi.
+ssl-error-rx-unexpected-finished = SSL nhận một thông điệp bắt tay Finished không mong đợi.
+ssl-error-rx-unexpected-change-cipher = SSL nhận một hồ sơ Change Cipher không mong đợi.
+ssl-error-rx-unexpected-alert = SSL nhận một hồ sơ Alert không mong đợi.
+ssl-error-rx-unexpected-handshake = SSL nhận một hồ sơ Handshake không mong đợi.
+ssl-error-rx-unexpected-application-data = SSL nhận một hồ sơ Application Data không mong đợi.
+ssl-error-rx-unknown-record-type = SSL nhận một hồ sơ không biết loại nội dung.
+ssl-error-rx-unknown-handshake = SSL nhận một thông điệp bắt tay không biết loại.
+ssl-error-rx-unknown-alert = SSL nhận một hồ sơ cảnh báo có sự miêu tả không rõ ràng.
+ssl-error-close-notify-alert = SSL máy ngang hàng ngắt kết nối.
+ssl-error-handshake-unexpected-alert = SSL máy ngang hàng nhận một thông điệp bắt tay không mong đợi.
+ssl-error-decompression-failure-alert = SSL máy ngang hàng không thể giải nén thành công một hồ sơ SLL nhận được.
+ssl-error-handshake-failure-alert = SSL máy ngang hàng không thương lượng bộ thông số bảo mật có thể chấp nhận.
+ssl-error-illegal-parameter-alert = SSL máy ngang hàng từ chối thông điệp bắt tay có nội dung không chấp nhận.
+ssl-error-unsupported-cert-alert = SSL máy khách không hỗ trợ những chứng nhận về kiểu nhận được.
+ssl-error-certificate-unknown-alert = SSL máy ngang hàng có một số vấn đề không xác định về chứng nhận nhận được.
+ssl-error-generate-random-failure = SSL gặp thất bại trong việc tạo số ngẫu nhiên.
+ssl-error-sign-hashes-failure = Không thể ký dữ liệu cần thiết để xác thực chứng nhận của bạn.
+ssl-error-extract-public-key-failure = SSL không thể trích ra khóa chung từ chứng thực của máy ngang hàng.
+ssl-error-server-key-exchange-failure = Thất bại không xác định trong khi xử lí bắt tay SSL Server Key Exchange.
+ssl-error-client-key-exchange-failure = Thất bại không xác định trong khi xử lí bắt tay SSL Client Key Exchange.
+ssl-error-encryption-failure = Thuật toán mã hoá dữ liệu lớn thất bại trong việc chọn lựa bộ số.
+ssl-error-decryption-failure = Thuật toán giải mã dữ liệu lớn thất bại trong việc chọn lựa bộ số.
+ssl-error-socket-write-failure = Cố gắng ghi dữ liệu đã mã hoá vào hốc dưới bị thất bại.
+ssl-error-md5-digest-failure = Chức năng phân loại MD5 thất bại.
+ssl-error-sha-digest-failure = Chức năng phân loại SHA-1 thất bại.
+ssl-error-mac-computation-failure = Tính toán MAC thất bại.
+ssl-error-sym-key-context-failure = Thất bại trong việc tạo Symmetric Key.
+ssl-error-sym-key-unwrap-failure = Thất bại trong việc mở khóa Symmetric trong thông điệp Client Key Exchange.
+ssl-error-pub-key-size-limit-exceeded = SSL máy chủ cố gắng sử dụng khóa chung nội với bộ số xuất.
+ssl-error-iv-param-failure = Mã PKCS11 thất bại trong việc dịch IV vào một thông số.
+ssl-error-init-cipher-suite-failure = Thất bại khi khởi tạo bộ mã số đã chọn.
+ssl-error-session-key-gen-failure = Máy khách thất bại trong việc tạo khóa cho SSL.
+ssl-error-no-server-key-for-alg = Máy chủ không có khóa để thực hiện thuật toán chuyển đổi khoá.
+ssl-error-token-insertion-removal = Dấu hiệu PKCS#11 đã được chèn hoặc gỡ bỏ trong khi đang thực hiện tác vụ.
+ssl-error-token-slot-not-found = Không tìm thấy dấu hiệu PKCS#11 để thực hiện tác vụ yêu cầu.
+ssl-error-no-compression-overlap = Không thể kết nối an toàn với máy ngang hàng: không dùng chung thuật toán nén.
+ssl-error-handshake-not-completed = Không thể khởi đầu bắt tay SSL khác cho đến khi bắt tay hiện tại hoàn tất.
+ssl-error-bad-handshake-hash-value = Đã nhận được giá trị bắt tay sai từ máy khách.
+ssl-error-cert-kea-mismatch = Chứng thực được cung cấp không thể được sử dụng với thuật toán chuyển đổi khoá lựa chọn.
+ssl-error-no-trusted-ssl-client-ca = Không có cơ quan chứng nhận nào được tin cậy để xác thực SSL máy khách.
+ssl-error-session-not-found = Không tìm thấy định danh phiên SSL máy khách trong bộ đệm phiên làm việc của máy chủ.
+ssl-error-decryption-failed-alert = Máy ngang hàng không thể giải mã hồ sơ SSL nhận được.
+ssl-error-record-overflow-alert = Máy ngang hàng nhận được 1 hồ sơ SSL dài hơn cho phép.
+ssl-error-unknown-ca-alert = Máy ngang hàng không tín nhiệm CA cung cấp chứng thực cho bạn.
+ssl-error-access-denied-alert = Máy ngang hàng nhận được một chứng thực hợp lệ, nhưng truy cập bị từ chối.
+ssl-error-decode-error-alert = Máy ngang hàng không thể giải mã thông điệp bắt tay SSL.
+ssl-error-decrypt-error-alert = Máy ngang hàng báo thất bại trong việc xác minh chữ kí hoặc trao đổi khóa.
+ssl-error-export-restriction-alert = Máy ngang hàng báo việc thương lượng không đúng với luật xuất.
+ssl-error-protocol-version-alert = Máy ngang hàng báo không tương thích hoặc không hỗ trợ phiên bản giao thức.
+ssl-error-insufficient-security-alert = Máy chủ yêu cầu bộ số an toàn hơn bộ số hỗ trợ bởi máy khách.
+ssl-error-internal-error-alert = Máy ngang hàng báo lỗi bên trong.
+ssl-error-user-canceled-alert = Người sử dụng máy ngang hàng từ chối bắt tay.
+ssl-error-no-renegotiation-alert = Máy ngang hàng không cho phép thương lượng lại các thông số bảo mật SSL.
+ssl-error-server-cache-not-configured = Bộ nhớ đệm SSL máy chủ không được cài đặt cho hốc này.
+ssl-error-unsupported-extension-alert = SSL máy ngang hàng không hỗ trợ phần mở rộng chào hỏi TLS yêu cầu.
+ssl-error-certificate-unobtainable-alert = SSL máy ngang hàng không thể đạt được chứng thực của bạn từ URL cung cấp.
+ssl-error-unrecognized-name-alert = SSL máy ngang hàng không có chứng thực cho tên DNS yêu cầu.
+ssl-error-bad-cert-status-response-alert = SSL máy ngang hàng không thể nhận trả lời OCSP về chứng thực.
+ssl-error-bad-cert-hash-value-alert = Máy ngang hàng báo giá trị chứng thực xấu.
+ssl-error-rx-unexpected-new-session-ticket = SSL nhận một thông điệp bắt tay New Session Ticket không mong đợi.
+ssl-error-rx-malformed-new-session-ticket = SSL nhận một thông điệp bắt tay New Session Ticket sai dạng.
+ssl-error-decompression-failure = SSL nhận một bản ghi nén mà không thể giải nén được.
+ssl-error-renegotiation-not-allowed = Tái đàm phán không được phép trên socket SSL này.
+ssl-error-unsafe-negotiation = Máy ngang hàng cố một kiểu bắt tay cũ (có thể tiềm ẩn điểm yếu).
+ssl-error-rx-unexpected-uncompressed-record = SSL nhận một bản ghi không nén không mong đợi.
+ssl-error-weak-server-ephemeral-dh-key = SSL nhận một khóa Diffie-Hellman yếu trong thông điệp bắt tay Server Key Exchange.
+ssl-error-next-protocol-data-invalid = SSL nhận được dữ liệu mở rộng NPN không hợp lệ.
+ssl-error-feature-not-supported-for-ssl2 = Tính năng SSL không được hỗ trợ cho kết nối SSL 2.0.
+ssl-error-feature-not-supported-for-servers = Tính năng SSL không được hỗ trợ cho máy chủ.
+ssl-error-feature-not-supported-for-clients = Tính năng SSL không được hỗ trợ cho máy trạm.
+ssl-error-invalid-version-range = Phạm vi phiên bản SSL không hợp lệ.
+ssl-error-cipher-disallowed-for-version = SSL peer đã chọn một bộ mật mã không cho phép cho phiên bản giao thức được lựa chọn.
+ssl-error-rx-malformed-hello-verify-request = SSL nhận một thông điệp bắt tay Hello Verify Request không đúng định dạng.
+ssl-error-rx-unexpected-hello-verify-request = SSL nhận một thông điệp bắt tay Hello Verify Request không mong đợi.
+ssl-error-feature-not-supported-for-version = Tính năng SSL không được hỗ trợ cho phiên bản giao thức.
+ssl-error-rx-unexpected-cert-status = SSL nhận một thông điệp Certificate Status không mong đợi.
+ssl-error-unsupported-hash-algorithm = TLS ngang hàng sử dụng thuật toán hash không được hỗ trợ.
+ssl-error-digest-failure = Lỗi phân loại hàm.
+ssl-error-incorrect-signature-algorithm = Thuật toán chữ ký không chính xác được chỉ định trong một phần tử được ký kỹ thuật số.
+ssl-error-next-protocol-no-callback = Phần mở rộng protocol negotiation tiếp theo đã được bật, nhưng hàm callback đã bị xóa trước khi gọi.
+ssl-error-next-protocol-no-protocol = Máy chủ hỗ trợ không có giao thức mà máy khách quảng cáo trong phần mở rộng ALPN.
+ssl-error-inappropriate-fallback-alert = Máy chủ đã từ chối bắt tay vì máy khách đã hạ xuống phiên bản TLS thấp hơn so với phiên bản mà máy chủ hỗ trợ.
+ssl-error-weak-server-cert-key = Chứng nhận máy chủ bao gồm khóa công khai quá yếu.
+ssl-error-rx-short-dtls-read = Không đủ chỗ trong bộ đệm cho bản ghi DTLS.
+ssl-error-no-supported-signature-algorithm = Đã cấu hình mà không có thuật toán chữ ký TLS được hỗ trợ.
+ssl-error-unsupported-signature-algorithm = Máy ngang hàng đã sử dụng kết hợp thuật toán hash và chữ ký không được hỗ trợ.
+ssl-error-missing-extended-master-secret = The peer tried to resume without a correct extended_master_secret extension.
+ssl-error-unexpected-extended-master-secret = The peer tried to resume with an unexpected extended_master_secret extension.
+
+sec-error-io = Một lỗi I/O xảy ra trong quá trình thẩm định bảo mật.
+sec-error-library-failure = Thư viện bảo mật thất bại.
+sec-error-bad-data = Thư viện bảo mật: nhận dữ liệu xấu.
+sec-error-output-len = Thư viện bảo mật: lỗi độ dài đầu ra.
+sec-error-input-len = Thư viện bảo mật báo lỗi độ dài đầu vào.
+sec-error-invalid-args = thư viện bảo mật: đối số không hợp lệ.
+sec-error-invalid-algorithm = Thư viện bảo mật: thuật toán không hợp lệ.
+sec-error-invalid-ava = Thư viện bảo mật: AVA không hợp lệ.
+sec-error-invalid-time = Chuỗi thời gian thiết lập không đúng.
+sec-error-bad-der = Thư viện bảo mật: thông điệp mã hoá DER thiết lập sai.
+sec-error-bad-signature = Chứng thực của máy ngang hàng có chữ kí không hợp lệ.
+sec-error-expired-certificate = Chứng thực của máy ngang hàng đã hết hạn.
+sec-error-revoked-certificate = Chứng thực của máy ngang hàng đã bị thu hồi.
+sec-error-unknown-issuer = Người cung cấp chứng thực máy ngang hàng chưa được nhận diện.
+sec-error-bad-key = Khoá chung của máy ngang hàng không đúng.
+sec-error-bad-password = Mật khẩu bảo mật nhập vào không đúng.
+sec-error-retry-password = Đã nhập sai mật khẩu mới. Vui lòng thử lại.
+sec-error-no-nodelock = Thư viện bảo mật: không có khoá nốt.
+sec-error-bad-database = Thư viện bảo mật: cơ sở dữ liệu xấu.
+sec-error-no-memory = Thư viện bảo mật: thất bại trong việc định bộ nhớ.
+sec-error-untrusted-issuer = Người cung cấp chứng thực máy ngang hàng bị đánh dấu không tin tưởng bởi người sử dụng.
+sec-error-untrusted-cert = Chứng thực máy ngang hàng bị đánh dấu không tin tưởng bởi người sử dụng.
+sec-error-duplicate-cert = Chứng thực đã tồn tại trong cơ sở dữ liệu của bạn.
+sec-error-duplicate-cert-name = Tên chứng nhận tải xuống trùng với một tên có sẵn trong cơ sở dữ liệu của bạn.
+sec-error-adding-cert = Lỗi thêm chứng thực vào cơ sở dữ liệu.
+sec-error-filing-key = Không thể sắp xếp mã khóa cho chứng nhận này.
+sec-error-no-key = Không tìm thấy mã khóa cá nhân cho chứng nhận này trong cơ sở dữ liệu
+sec-error-cert-valid = Chứng nhận này là hợp lệ.
+sec-error-cert-not-valid = Chứng nhận này không hợp lệ.
+sec-error-cert-no-response = Thư viện chứng nhận: Không có phản hồi
+sec-error-expired-issuer-certificate = Chúng nhận của nhà cung cấp đã quá thời hạn. Vui lòng kiểm tra lại ngày giờ hệ thống của bạn.
+sec-error-crl-expired = CRL của nhà cung cấp chứng nhận đã quá hạn. Vui lòng cập nhật hoặc kiểm tra ngày giờ hệ thống của bạn.
+sec-error-crl-bad-signature = CRL của nhà cấp phát chứng nhận chứa một chữ kí không hợp lệ.
+sec-error-crl-invalid = CRL mới có định dạng sai.
+sec-error-extension-value-invalid = Giá trị gia hạn cho chứng nhận không hợp lệ.
+sec-error-extension-not-found = Chứng nhận chưa được gia hạn.
+sec-error-ca-cert-invalid = Chứng nhận của nhà cung cấp không hợp lệ.
+sec-error-path-len-constraint-invalid = Giới hạn độ dài đường dẫn chứng nhận không hợp lệ.
+sec-error-cert-usages-invalid = Phần mục đích sử dụng (usages field) trong chứng nhận không hợp lệ.
+sec-internal-only = **Phần CHỈ dành cho nội bộ**
+sec-error-invalid-key = Khóa không hỗ trợ thao tác được yêu cầu.
+sec-error-unknown-critical-extension = Chứng nhận chứa bản gia hạn quan trọng nhưng không xác định.
+sec-error-old-crl = CRL mới không mới hơn bản hiện tại.
+sec-error-no-email-cert = Không được mã hóa hoặc kí: bạn chưa có chứng nhận email.
+sec-error-no-recipient-certs-query = Chưa được mã hóa: bạn không có đủ chứng nhận cho các người nhận.
+sec-error-not-a-recipient = Không thể giải mã: bạn không phải là người nhận hoặc không tìm được chứng nhận hay mã khóa phù hợp.
+sec-error-pkcs7-keyalg-mismatch = Không thể giải mã: thuật toán mã hóa không khớp với chứng nhận của bạn.
+sec-error-pkcs7-bad-signature = Xác thực chữ kí thất bại: không tìm thấy người kí, quá nhiều người kí, hoặc do dữ liệu không phù hợp hoặc hư hỏng.
+sec-error-unsupported-keyalg = Thuật toán khóa không được hỗ trợ hoặc không xác định được.
+sec-error-decryption-disallowed = Không thể giải mã: mã khóa sử dụng thuật toán hoặc độ dài khóa không được công nhận.
+sec-error-no-krl = Không tìm thấy KRL nào cho chứng nhận này.
+sec-error-krl-expired = KRL của chứng nhận trong trang này đã quá hạn.
+sec-error-krl-bad-signature = KRL của chứng nhận trên trang này chứa một khóa (signature) không hợp lệ.
+sec-error-revoked-key = Mã khóa cho chứng nhận trên trang này đã bị thu hồi.
+sec-error-krl-invalid = Định dạng của KRL mới không hợp lệ.
+sec-error-need-random = thư viện an ninh: cần dữ liệu ngẫu nhiên.
+sec-error-no-module = thư viện bảo mật: không một bộ phận bảo mật nào có thể thực hiện được yêu cầu.
+sec-error-no-token = Thẻ an ninh hoặc mã thông báo (token) không hiện hữu, cần đuợc nhận diện, hoặc đã bị xóa.
+sec-error-read-only = thư viện an ninh: dữ liệu chống ghi.
+sec-error-no-slot-selected = Không có khe hay mã thông báo nào được chọn.
+sec-error-cert-nickname-collision = Đã tồn tại một chứng nhận với cùng biệt danh.
+sec-error-key-nickname-collision = Đã tồn tại một khóa với cùng biệt danh.
+sec-error-safe-not-created = phát sinh lỗi khi tạo thực thể an toàn
+sec-error-baggage-not-created = lỗi phát sinh khi tạo thực thể hành lí
+sec-error-bad-export-algorithm = Thuật toán yêu cầu không được phép.
+sec-error-exporting-certificates = Lỗi khi đang cố xuất chứng nhận.
+sec-error-importing-certificates = Lỗi khi đang cố nhập chứng nhận.
+sec-error-pkcs12-decoding-pfx = Không thể nhập. Lỗi giải mã. Tập tin không hợp lệ.
+sec-error-pkcs12-invalid-mac = Không thể nhập. MAC không hợp lệ. Mật khẩu không đúng hoặc tập tin bị hỏng.
+sec-error-pkcs12-unsupported-mac-algorithm = Không thể nhập. Thuật toán MAC không được hỗ trợ.
+sec-error-pkcs12-unsupported-transport-mode = Không thể nhập. Chỉ hỗ trợ toàn vẹn mật khẩu và chế độ riêng tư.
+sec-error-pkcs12-corrupt-pfx-structure = Không thể nhập. Cấu trúc tập tin bị hỏng.
+sec-error-pkcs12-unsupported-pbe-algorithm = Không thể nhập. Thuật toán mã hóa không được hỗ trợ.
+sec-error-pkcs12-unsupported-version = Không thể nhập. Phiên bản tập tin không được hỗ trợ.
+sec-error-pkcs12-privacy-password-incorrect = Không thể nhập. Mật khẩu riêng tư không chính xác.
+sec-error-pkcs12-cert-collision = Không thể nhập. Một biệt danh đã tồn tại trong cơ sở dữ liệu.
+sec-error-user-cancelled = Người dùng nhấn hủy bỏ.
+sec-error-pkcs12-duplicate-data = Không được nhập, đã có trong cơ sở dữ liệu.
+sec-error-message-send-aborted = Thông báo không được gửi.
+sec-error-inadequate-key-usage = Việc sử dụng khóa chứng nhận là không phù hợp cho thao tác đã làm.
+sec-error-inadequate-cert-type = Kiểu chứng nhận không được chấp thuận trong ứng dụng.
+sec-error-cert-addr-mismatch = Địa chỉ trong phần kí chứng nhận không khớp với địa chỉ trong phần đầu của thông điệp.
+sec-error-pkcs12-unable-to-import-key = Không thể nhập. Lỗi khi cố nhập private key.
+sec-error-pkcs12-importing-cert-chain = Không thể nhập. Lỗi khi cố nhập certificate chain.
+sec-error-pkcs12-unable-to-locate-object-by-name = Không thể xuất. Không thể xác định vị trí chứng nhận hoặc khóa bằng biệt danh.
+sec-error-pkcs12-unable-to-export-key = Không thể xuất. Private key không thể tìm thấy và xuất.
+sec-error-pkcs12-unable-to-write = Không thể xuất. Không thể ghi tập tin để xuất.
+sec-error-pkcs12-unable-to-read = Không thể nhập. Không thể đọc tập tin để nhập.
+sec-error-pkcs12-key-database-not-initialized = Không thể xuất. Cơ sở dữ liệu chính bị hỏng hoặc đã bị xóa.
+sec-error-keygen-fail = Không thể tạo cặp khóa cá nhân/công cộng.
+sec-error-invalid-password = Mật khẩu đã nhập không hợp lệ. Vui lòng chọn một cái khác.
+sec-error-retry-old-password = Đã nhập sai mật khẩu cũ. Vui lòng thử lại.
+sec-error-bad-nickname = Biệt danh chứng nhận đã được dùng.
+sec-error-not-fortezza-issuer = Chuỗi FORTEZZA ngang hàng có một chứng nhận không-phải-FORTEZZA.
+sec-error-cannot-move-sensitive-key = Một khóa nhạy cảm không thể di chuyển sang khe cần thiết.
+sec-error-js-invalid-module-name = Tên module không hợp lệ.
+sec-error-js-invalid-dll = Tên tập tin/đường dẫn của module không hợp lệ
+sec-error-js-add-mod-failure = Không thể thêm module
+sec-error-js-del-mod-failure = Không thể xóa module
+sec-error-old-krl = KRL mới không mới hơn cái hiện tại.
+sec-error-ckl-conflict = CKL mới có nhà phát hành khác so với CKL hiện tại. Xóa CKL hiện tại.
+sec-error-cert-not-in-name-space = Nhà thẩm định của chứng nhận này không được phép cấp phát chứng nhận có tên như vậy.
+sec-error-krl-not-yet-valid = Danh sách thu hồi khóa cho chứng nhận này chưa hợp lệ.
+sec-error-crl-not-yet-valid = Danh sách thu hồi chứng nhận cho chứng nhận này chưa hợp lệ.
+sec-error-unknown-cert = Không tìm thấy chứng nhận yêu cầu.
+sec-error-unknown-signer = Không tìm thấy chứng nhận của người kí.
+sec-error-cert-bad-access-location = Vị trí cho máy chủ trạng thái chứng nhận có định dạng không hợp lệ.
+sec-error-ocsp-unknown-response-type = Phản hồi OCSP không thể được giải mã đầy đủ; nó là một kiểu chưa biết.
+sec-error-ocsp-bad-http-response = Máy chủ OCSP trả lại dữ liệu HTTP bất hợp lệ/không mong đợi.
+sec-error-ocsp-malformed-request = Máy chủ OCSP báo rằng truy vấn bị hỏng hoặc ở dạng không phù hợp.
+sec-error-ocsp-server-error = Máy chủ OCSP gặp một lỗi nội tại.
+sec-error-ocsp-try-server-later = Máy chủ OCSP đề nghị thử lại sau.
+sec-error-ocsp-request-needs-sig = Máy chủ OCSP yêu cầu chữ kí cho truy vấn này.
+sec-error-ocsp-unauthorized-request = Máy chủ OCSP từ chối vì cho rằng truy vấn này không được phép.
+sec-error-ocsp-unknown-response-status = Máy chủ OCSP trả lại trạng thái không thể nhận diện.
+sec-error-ocsp-unknown-cert = Máy chủ OCSP không có trạng thái cho chứng nhận.
+sec-error-ocsp-not-enabled = Bạn phải kích hoạt OCSP trước khi thực hiện thao tác này.
+sec-error-ocsp-no-default-responder = Bạn phải cài đặt phần phản hồi mặc định cho OCSP trước khi thực hiện thao tác này.
+sec-error-ocsp-malformed-response = Phản hồi từ máy chủ OCSP đã bị hư hoặc ở dạng không phù hợp.
+sec-error-ocsp-unauthorized-response = Bên kí phản hồi OCSP không có thẩm quyền để đưa ra trạng thái cho chứng nhận này.
+sec-error-ocsp-future-response = Phản hồi OCSP chưa hợp lệ (chứa một ngày trong tương lai).
+sec-error-ocsp-old-response = Phản hồi OCSP chứa thông tin lỗi thời.
+sec-error-digest-not-found = Không tìm thấy tập san CMS hay PKCS #7 trong thông điệp đã kí.
+sec-error-unsupported-message-type = Kiểu Thông điệp CMS hoặc PKCS #7 không được hỗ trợ.
+sec-error-module-stuck = Không thể gỡ bỏ module PKCS #11 vì nó vẫn đang được dùng.
+sec-error-bad-template = Không thể giải mã dữ liệu ASN.1. Khuôn mẫu được chỉ định không hợp lệ.
+sec-error-crl-not-found = Không tìm thấy CRL phù hợp.
+sec-error-reused-issuer-and-serial = Bạn đang cố nhập một chứng nhận có cùng nhà phát hành/sê-ri như một chứng nhận hiện có, nhưng đó không phải là cùng một chứng nhận.
+sec-error-busy = NSS không thể tắt. Đối tượng vẫn đang được dùng.
+sec-error-extra-input = Thông điệp mã hóa DER chứa thêm dữ liệu không được dùng tới.
+sec-error-unsupported-elliptic-curve = Đường cong elliptic không được hỗ trợ.
+sec-error-unsupported-ec-point-form = Biểu mẫu điểm đường cong elliptic không được hỗ trợ.
+sec-error-unrecognized-oid = Không nhận diện được trình Định danh Đối tượng.
+sec-error-ocsp-invalid-signing-cert = Chứng nhận ký OCSP không hợp lệ trong phản hồi OCSP.
+sec-error-revoked-certificate-crl = Chứng nhận bị thu hồi trong danh sách thu hồi chứng nhận của nhà cấp phát.
+sec-error-revoked-certificate-ocsp = Phản hồi OCSP của nhà cấp phát báo rằng chứng nhận đã bị thu hồi.
+sec-error-crl-invalid-version = Danh sách thu hồi chứng nhận của tổ chức phát hành có số phiên bản không xác định.
+sec-error-crl-v1-critical-extension = Danh sách thu hồi chứng nhận V1 của nhà cung cấp có phần mở rộng quan trọng.
+sec-error-crl-unknown-critical-extension = Danh sách thu hồi chứng nhận V2 của nhà cung cấp có phần mở rộng quan trọng không xác định.
+sec-error-unknown-object-type = Kiểu đối tượng chưa biết được chỉ định.
+sec-error-incompatible-pkcs11 = Trình điều khiển PKCS #11 vi phạm đặc tả trong một cách thức không tương thích.
+sec-error-no-event = Không có sự kiện khe mới nào hiện hữu lúc này.
+sec-error-crl-already-exists = CRL đã tồn tại.
+sec-error-not-initialized = NSS không được nhận diện.
+sec-error-token-not-logged-in = Thao tác thất bại vì mã thông báo PKCS #11 không được đăng nhập.
+sec-error-ocsp-responder-cert-invalid = Cấu hình chứng nhận hồi đáp OCSP không hợp lệ.
+sec-error-ocsp-bad-signature = Phản hồi OCSP có một chữ kí bất hợp lệ.
+sec-error-out-of-search-limits = Tìm kiếm xác nhận chứng nhận nằm ngoài giới hạn tìm kiếm
+sec-error-invalid-policy-mapping = Định tuyến chính sách chứa anypolicy
+sec-error-policy-validation-failed = Chuỗi chứng nhận không xác nhận chính sách
+sec-error-unknown-aia-location-type = Loại vị trí không xác định trong phần mở rộng chứng nhận AIA
+sec-error-bad-http-response = Máy chủ trả lại phản hồi HTTP xấu
+sec-error-bad-ldap-response = Máy chủ trả lại phản hồi LDAP xấu
+sec-error-failed-to-encode-data = Thất bại khi mã hóa dữ liệu với trình mã hóa ANSI
+sec-error-bad-info-access-location = Vị trí truy cập thông tin xấu trong phần mở rộng chứng nhận
+sec-error-libpkix-internal = Lỗi nội bộ Libpkix xảy ra trong quá trình xác nhận chứng nhận.
+sec-error-pkcs11-general-error = Một module PKCS#11 trả lại CKR_GENERAL_ERROR, cho biết rằng một lỗi không thể khôi phục đã xảy ra.
+sec-error-pkcs11-function-failed = Một mô-đun PKCS #11 đã trả về CKR_FUNCTION_FAILED, chỉ ra rằng chức năng được yêu cầu không thể được thực hiện. Thử lại thao tác tương tự có thể sẽ thành công.
+sec-error-pkcs11-device-error = Một module PKCS#11 trả lại CKR_DEVICE_ERROR, cho biết rằng một vấn đề đã xảy ra với token hoặc slot.
+sec-error-bad-info-access-method = Phương pháp truy cập thông tin không xác định trong phần mở rộng chứng nhận.
+sec-error-crl-import-failed = Lỗi khi đang cố nhập một CRL.
+sec-error-expired-password = Mật khẩu đã hết hạn.
+sec-error-locked-password = Mật khẩu bị khóa.
+sec-error-unknown-pkcs11-error = Lỗi PKCS #11 không xác định.
+sec-error-bad-crl-dp-url = URL sai hoặc không được hỗ trợ trong tên điểm phân phối CRL.
+sec-error-cert-signature-algorithm-disabled = Chứng nhận được ký bằng thuật toán chữ ký bị vô hiệu hóa vì không an toàn.
+
+mozilla-pkix-error-key-pinning-failure = Máy chủ sử dụng key pinning (HPKP) nhưng không có certificate chain tin cậy nào có thể được xây dựng phù hợp với pinset. Các vi phạm Key pinning không thể được ghi đè.
+mozilla-pkix-error-ca-cert-used-as-end-entity = Máy chủ sử dụng chứng nhận với phần mở rộng ràng buộc cơ bản xác định nó là cơ quan cấp chứng nhận. Đối với một chứng nhận được cấp đúng, điều này không nên xảy ra.
+mozilla-pkix-error-inadequate-key-size = Máy chủ xuất trình chứng nhận với kích thước khóa quá nhỏ để thiết lập kết nối an toàn.
+mozilla-pkix-error-v1-cert-used-as-ca = Chứng nhận X.509 phiên bản 1 không được tin cậy đã được sử dụng để cấp chứng nhận máy chủ. Chứng nhận X.509 phiên bản 1 không được dùng nữa và không nên được sử dụng để ký các chứng nhận khác.
+mozilla-pkix-error-not-yet-valid-certificate = Máy chủ xuất trình chứng nhận chưa hợp lệ.
+mozilla-pkix-error-not-yet-valid-issuer-certificate = Chứng nhận chưa hợp lệ đã được sử dụng để cấp chứng nhận máy chủ.
+mozilla-pkix-error-signature-algorithm-mismatch = Thuật toán chữ ký trong trường chữ ký của chứng nhận không khớp với thuật toán trong trường signatureAlgorithm.
+mozilla-pkix-error-ocsp-response-for-cert-missing = Phản hồi OCSP không bao gồm trạng thái cho chứng nhận được xác minh.
+mozilla-pkix-error-validity-too-long = Máy chủ xuất trình chứng nhận có giá trị quá dài.
+mozilla-pkix-error-required-tls-feature-missing = Một tính năng bắt buộc của TLS bị thiếu.
+mozilla-pkix-error-invalid-integer-encoding = Máy chủ xuất trình chứng nhận chứa mã hóa không hợp lệ của một số nguyên. Các nguyên nhân phổ biến bao gồm số sê-ri âm, mô-đun RSA âm và mã hóa dài hơn mức cần thiết.
+mozilla-pkix-error-empty-issuer-name = Các máy chủ xuất trình một chứng nhận không có tên phân biệt nhà phát hành.
+mozilla-pkix-error-additional-policy-constraint-failed = Một ràng buộc của chính sách bổ sung không thành công khi xác nhận chứng nhận này.
+mozilla-pkix-error-self-signed-cert = Chứng nhận này không đáng tin vì nó được tự kí.
+
+xp-java-remove-principal-error = Không thể xóa principal
+xp-java-delete-privilege-error = Không thể xóa được đặc quyền
+xp-java-cert-not-exists-error = Principal này không có chứng nhận
+
+xp-sec-fortezza-bad-card = Thẻ Fortezza chưa được khởi tạo đúng cách. Vui lòng xóa nó và trả lại cho công ty phát hành của bạn.
+xp-sec-fortezza-no-card = Không tìm thấy thẻ Fortezza nào
+xp-sec-fortezza-none-selected = Chưa chọn thẻ Fortezza
+xp-sec-fortezza-more-info = Vui lòng chọn một thuộc tính (personality) để xem thêm thông tin
+xp-sec-fortezza-person-not-found = Không tìm thấy Thuộc tính (personality)
+xp-sec-fortezza-no-more-info = Không tìm thấy thông tin thêm về thuộc tính (Personality) đó
+xp-sec-fortezza-bad-pin = Pin không hợp lệ
+xp-sec-fortezza-person-error = Không thể khởi tạo các thuộc tính (personality) Fortezza.
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/passwordmgr/passwordmgr.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/passwordmgr/passwordmgr.ftl
new file mode 100644
index 0000000000..5c598d665a
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/passwordmgr/passwordmgr.ftl
@@ -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/.
+
+
+## Save and update password doorhanger
+
+# Variables
+# $host (String) - Hostname for which the password is saved for.
+password-manager-save-password-message = Lưu mật khẩu cho { $host }?
+password-manager-save-password-button-deny =
+ .label = Không phải bây giờ
+ .accesskey = N
+password-manager-save-password-button-allow =
+ .label = Lưu
+ .accesskey = S
+password-manager-save-password-button-never =
+ .label = Không bao giờ lưu
+ .accesskey = e
+# Variables
+# $host (String) - Hostname for which the password is updated for.
+password-manager-update-password-message = Cập nhật mật khẩu cho { $host }?
+password-manager-update-password-button-delete =
+ .label = Xóa mật khẩu đã lưu
+ .accesskey = R
+password-manager-update-login-add-username = Thêm tên người dùng vào mật khẩu đã lưu?
+password-manager-password-password-button-allow =
+ .label = Cập nhật
+ .accesskey = U
+password-manager-update-password-button-deny =
+ .label = Không cập nhật
+ .accesskey = D
+# This is displayed in place of the username when it is missing.
+password-manager-no-username-placeholder = Không có tên người dùng
+password-manager-toggle-password =
+ .label = Hiện mật khẩu
+ .accesskey = h
+password-manager-confirm-password-change = Xác nhận thay đổi mật khẩu
+password-manager-select-username = Chọn tài khoản để cập nhật:
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/payments/payments.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/payments/payments.ftl
new file mode 100644
index 0000000000..b572004e83
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/payments/payments.ftl
@@ -0,0 +1,51 @@
+# 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/.
+
+
+# This value isn't used directly, but is defined to avoid duplication
+# in the "credit-card-label-*" strings.
+#
+# Variables:
+# $month (String): Numeric month the credit card expires
+# $year (String): Four-digit year the credit card expires
+credit-card-expiration = Hết hạn vào { $month }/{ $year }
+
+## These labels serve as a description of a credit card.
+## The description must include a credit card number, and may optionally
+## include a cardholder name, an expiration date, or both, so we have
+## four variations.
+
+# Label for a credit card with a number only
+#
+# Variables:
+# $number (String): Partially-redacted credit card number
+# $type (String): Credit card type
+credit-card-label-number-2 = { $number }
+ .aria-label = { $type } { credit-card-label-number-2 }
+
+# Label for a credit card with a number and name
+#
+# Variables:
+# $number (String): Partially-redacted credit card number
+# $name (String): Cardholder name
+# $type (String): Credit card type
+credit-card-label-number-name-2 = { $number }, { $name }
+ .aria-label = { $type } { credit-card-label-number-name-2 }
+
+# Label for a credit card with a number and expiration date
+#
+# Variables:
+# $number (String): Partially-redacted credit card number
+# $type (String): Credit card type
+credit-card-label-number-expiration-2 = { $number }, { credit-card-expiration }
+ .aria-label = { $type } { credit-card-label-number-expiration-2 }
+
+# Label for a credit card with a number, name, and expiration date
+#
+# Variables:
+# $number (String): Partially-redacted credit card number
+# $name (String): Cardholder name
+# $type (String): Credit card type
+credit-card-label-number-name-expiration-2 = { $number }, { $name }, { credit-card-expiration }
+ .aria-label = { $type } { credit-card-label-number-name-expiration-2 }
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/pdfviewer/viewer.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/pdfviewer/viewer.ftl
new file mode 100644
index 0000000000..9f66aad341
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/pdfviewer/viewer.ftl
@@ -0,0 +1,376 @@
+# 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/.
+
+
+## Main toolbar buttons (tooltips and alt text for images)
+
+pdfjs-previous-button =
+ .title = Trang trước
+pdfjs-previous-button-label = Trước
+pdfjs-next-button =
+ .title = Trang Sau
+pdfjs-next-button-label = Tiếp
+# .title: Tooltip for the pageNumber input.
+pdfjs-page-input =
+ .title = Trang
+# Variables:
+# $pagesCount (Number) - the total number of pages in the document
+# This string follows an input field with the number of the page currently displayed.
+pdfjs-of-pages = trên { $pagesCount }
+# Variables:
+# $pageNumber (Number) - the currently visible page
+# $pagesCount (Number) - the total number of pages in the document
+pdfjs-page-of-pages = ({ $pageNumber } trên { $pagesCount })
+pdfjs-zoom-out-button =
+ .title = Thu nhỏ
+pdfjs-zoom-out-button-label = Thu nhỏ
+pdfjs-zoom-in-button =
+ .title = Phóng to
+pdfjs-zoom-in-button-label = Phóng to
+pdfjs-zoom-select =
+ .title = Thu phóng
+pdfjs-presentation-mode-button =
+ .title = Chuyển sang chế độ trình chiếu
+pdfjs-presentation-mode-button-label = Chế độ trình chiếu
+pdfjs-open-file-button =
+ .title = Mở tập tin
+pdfjs-open-file-button-label = Mở tập tin
+pdfjs-print-button =
+ .title = In
+pdfjs-print-button-label = In
+pdfjs-save-button =
+ .title = Lưu
+pdfjs-save-button-label = Lưu
+# Used in Firefox for Android as a tooltip for the download button (“download” is a verb).
+pdfjs-download-button =
+ .title = Tải xuống
+# Used in Firefox for Android as a label for the download button (“download” is a verb).
+# Length of the translation matters since we are in a mobile context, with limited screen estate.
+pdfjs-download-button-label = Tải xuống
+pdfjs-bookmark-button =
+ .title = Trang hiện tại (xem URL từ trang hiện tại)
+pdfjs-bookmark-button-label = Trang hiện tại
+# Used in Firefox for Android.
+pdfjs-open-in-app-button =
+ .title = Mở trong ứng dụng
+# Used in Firefox for Android.
+# Length of the translation matters since we are in a mobile context, with limited screen estate.
+pdfjs-open-in-app-button-label = Mở trong ứng dụng
+
+## Secondary toolbar and context menu
+
+pdfjs-tools-button =
+ .title = Công cụ
+pdfjs-tools-button-label = Công cụ
+pdfjs-first-page-button =
+ .title = Về trang đầu
+pdfjs-first-page-button-label = Về trang đầu
+pdfjs-last-page-button =
+ .title = Đến trang cuối
+pdfjs-last-page-button-label = Đến trang cuối
+pdfjs-page-rotate-cw-button =
+ .title = Xoay theo chiều kim đồng hồ
+pdfjs-page-rotate-cw-button-label = Xoay theo chiều kim đồng hồ
+pdfjs-page-rotate-ccw-button =
+ .title = Xoay ngược chiều kim đồng hồ
+pdfjs-page-rotate-ccw-button-label = Xoay ngược chiều kim đồng hồ
+pdfjs-cursor-text-select-tool-button =
+ .title = Kích hoạt công cụ chọn vùng văn bản
+pdfjs-cursor-text-select-tool-button-label = Công cụ chọn vùng văn bản
+pdfjs-cursor-hand-tool-button =
+ .title = Kích hoạt công cụ con trỏ
+pdfjs-cursor-hand-tool-button-label = Công cụ con trỏ
+pdfjs-scroll-page-button =
+ .title = Sử dụng cuộn trang hiện tại
+pdfjs-scroll-page-button-label = Cuộn trang hiện tại
+pdfjs-scroll-vertical-button =
+ .title = Sử dụng cuộn dọc
+pdfjs-scroll-vertical-button-label = Cuộn dọc
+pdfjs-scroll-horizontal-button =
+ .title = Sử dụng cuộn ngang
+pdfjs-scroll-horizontal-button-label = Cuộn ngang
+pdfjs-scroll-wrapped-button =
+ .title = Sử dụng cuộn ngắt dòng
+pdfjs-scroll-wrapped-button-label = Cuộn ngắt dòng
+pdfjs-spread-none-button =
+ .title = Không nối rộng trang
+pdfjs-spread-none-button-label = Không có phân cách
+pdfjs-spread-odd-button =
+ .title = Nối trang bài bắt đầu với các trang được đánh số lẻ
+pdfjs-spread-odd-button-label = Phân cách theo số lẻ
+pdfjs-spread-even-button =
+ .title = Nối trang bài bắt đầu với các trang được đánh số chẵn
+pdfjs-spread-even-button-label = Phân cách theo số chẵn
+
+## Document properties dialog
+
+pdfjs-document-properties-button =
+ .title = Thuộc tính của tài liệu…
+pdfjs-document-properties-button-label = Thuộc tính của tài liệu…
+pdfjs-document-properties-file-name = Tên tập tin:
+pdfjs-document-properties-file-size = Kích thước:
+# Variables:
+# $size_kb (Number) - the PDF file size in kilobytes
+# $size_b (Number) - the PDF file size in bytes
+pdfjs-document-properties-kb = { $size_kb } KB ({ $size_b } byte)
+# Variables:
+# $size_mb (Number) - the PDF file size in megabytes
+# $size_b (Number) - the PDF file size in bytes
+pdfjs-document-properties-mb = { $size_mb } MB ({ $size_b } byte)
+pdfjs-document-properties-title = Tiêu đề:
+pdfjs-document-properties-author = Tác giả:
+pdfjs-document-properties-subject = Chủ đề:
+pdfjs-document-properties-keywords = Từ khóa:
+pdfjs-document-properties-creation-date = Ngày tạo:
+pdfjs-document-properties-modification-date = Ngày sửa đổi:
+# Variables:
+# $date (Date) - the creation/modification date of the PDF file
+# $time (Time) - the creation/modification time of the PDF file
+pdfjs-document-properties-date-string = { $date }, { $time }
+pdfjs-document-properties-creator = Người tạo:
+pdfjs-document-properties-producer = Phần mềm tạo PDF:
+pdfjs-document-properties-version = Phiên bản PDF:
+pdfjs-document-properties-page-count = Tổng số trang:
+pdfjs-document-properties-page-size = Kích thước trang:
+pdfjs-document-properties-page-size-unit-inches = in
+pdfjs-document-properties-page-size-unit-millimeters = mm
+pdfjs-document-properties-page-size-orientation-portrait = khổ dọc
+pdfjs-document-properties-page-size-orientation-landscape = khổ ngang
+pdfjs-document-properties-page-size-name-a-three = A3
+pdfjs-document-properties-page-size-name-a-four = A4
+pdfjs-document-properties-page-size-name-letter = Thư
+pdfjs-document-properties-page-size-name-legal = Pháp lý
+
+## Variables:
+## $width (Number) - the width of the (current) page
+## $height (Number) - the height of the (current) page
+## $unit (String) - the unit of measurement of the (current) page
+## $name (String) - the name of the (current) page
+## $orientation (String) - the orientation of the (current) page
+
+pdfjs-document-properties-page-size-dimension-string = { $width } × { $height } { $unit } ({ $orientation })
+pdfjs-document-properties-page-size-dimension-name-string = { $width } × { $height } { $unit } ({ $name }, { $orientation })
+
+##
+
+# The linearization status of the document; usually called "Fast Web View" in
+# English locales of Adobe software.
+pdfjs-document-properties-linearized = Xem nhanh trên web:
+pdfjs-document-properties-linearized-yes = Có
+pdfjs-document-properties-linearized-no = Không
+pdfjs-document-properties-close-button = Ðóng
+
+## Print
+
+pdfjs-print-progress-message = Chuẩn bị trang để in…
+# Variables:
+# $progress (Number) - percent value
+pdfjs-print-progress-percent = { $progress }%
+pdfjs-print-progress-close-button = Hủy bỏ
+pdfjs-printing-not-supported = Cảnh báo: In ấn không được hỗ trợ đầy đủ ở trình duyệt này.
+pdfjs-printing-not-ready = Cảnh báo: PDF chưa được tải hết để in.
+
+## Tooltips and alt text for side panel toolbar buttons
+
+pdfjs-toggle-sidebar-button =
+ .title = Bật/Tắt thanh lề
+pdfjs-toggle-sidebar-notification-button =
+ .title = Bật tắt thanh lề (tài liệu bao gồm bản phác thảo/tập tin đính kèm/lớp)
+pdfjs-toggle-sidebar-button-label = Bật/Tắt thanh lề
+pdfjs-document-outline-button =
+ .title = Hiển thị tài liệu phác thảo (nhấp đúp vào để mở rộng/thu gọn tất cả các mục)
+pdfjs-document-outline-button-label = Bản phác tài liệu
+pdfjs-attachments-button =
+ .title = Hiện nội dung đính kèm
+pdfjs-attachments-button-label = Nội dung đính kèm
+pdfjs-layers-button =
+ .title = Hiển thị các lớp (nhấp đúp để đặt lại tất cả các lớp về trạng thái mặc định)
+pdfjs-layers-button-label = Lớp
+pdfjs-thumbs-button =
+ .title = Hiển thị ảnh thu nhỏ
+pdfjs-thumbs-button-label = Ảnh thu nhỏ
+pdfjs-current-outline-item-button =
+ .title = Tìm mục phác thảo hiện tại
+pdfjs-current-outline-item-button-label = Mục phác thảo hiện tại
+pdfjs-findbar-button =
+ .title = Tìm trong tài liệu
+pdfjs-findbar-button-label = Tìm
+pdfjs-additional-layers = Các lớp bổ sung
+
+## Thumbnails panel item (tooltip and alt text for images)
+
+# Variables:
+# $page (Number) - the page number
+pdfjs-thumb-page-title =
+ .title = Trang { $page }
+# Variables:
+# $page (Number) - the page number
+pdfjs-thumb-page-canvas =
+ .aria-label = Ảnh thu nhỏ của trang { $page }
+
+## Find panel button title and messages
+
+pdfjs-find-input =
+ .title = Tìm
+ .placeholder = Tìm trong tài liệu…
+pdfjs-find-previous-button =
+ .title = Tìm cụm từ ở phần trước
+pdfjs-find-previous-button-label = Trước
+pdfjs-find-next-button =
+ .title = Tìm cụm từ ở phần sau
+pdfjs-find-next-button-label = Tiếp
+pdfjs-find-highlight-checkbox = Tô sáng tất cả
+pdfjs-find-match-case-checkbox-label = Phân biệt hoa, thường
+pdfjs-find-match-diacritics-checkbox-label = Khớp dấu phụ
+pdfjs-find-entire-word-checkbox-label = Toàn bộ từ
+pdfjs-find-reached-top = Đã đến phần đầu tài liệu, quay trở lại từ cuối
+pdfjs-find-reached-bottom = Đã đến phần cuối của tài liệu, quay trở lại từ đầu
+# Variables:
+# $current (Number) - the index of the currently active find result
+# $total (Number) - the total number of matches in the document
+pdfjs-find-match-count = { $current } trên { $total } kết quả
+# Variables:
+# $limit (Number) - the maximum number of matches
+pdfjs-find-match-count-limit = Tìm thấy hơn { $limit } kết quả
+pdfjs-find-not-found = Không tìm thấy cụm từ này
+
+## Predefined zoom values
+
+pdfjs-page-scale-width = Vừa chiều rộng
+pdfjs-page-scale-fit = Vừa chiều cao
+pdfjs-page-scale-auto = Tự động chọn kích thước
+pdfjs-page-scale-actual = Kích thước thực
+# Variables:
+# $scale (Number) - percent value for page scale
+pdfjs-page-scale-percent = { $scale }%
+
+## PDF page
+
+# Variables:
+# $page (Number) - the page number
+pdfjs-page-landmark =
+ .aria-label = Trang { $page }
+
+## Loading indicator messages
+
+pdfjs-loading-error = Lỗi khi tải tài liệu PDF.
+pdfjs-invalid-file-error = Tập tin PDF hỏng hoặc không hợp lệ.
+pdfjs-missing-file-error = Thiếu tập tin PDF.
+pdfjs-unexpected-response-error = Máy chủ có phản hồi lạ.
+pdfjs-rendering-error = Lỗi khi hiển thị trang.
+
+## Annotations
+
+# Variables:
+# $date (Date) - the modification date of the annotation
+# $time (Time) - the modification time of the annotation
+pdfjs-annotation-date-string = { $date }, { $time }
+# .alt: This is used as a tooltip.
+# Variables:
+# $type (String) - an annotation type from a list defined in the PDF spec
+# (32000-1:2008 Table 169 – Annotation types).
+# Some common types are e.g.: "Check", "Text", "Comment", "Note"
+pdfjs-text-annotation-type =
+ .alt = [{ $type } Chú thích]
+
+## Password
+
+pdfjs-password-label = Nhập mật khẩu để mở tập tin PDF này.
+pdfjs-password-invalid = Mật khẩu không đúng. Vui lòng thử lại.
+pdfjs-password-ok-button = OK
+pdfjs-password-cancel-button = Hủy bỏ
+pdfjs-web-fonts-disabled = Phông chữ Web bị vô hiệu hóa: không thể sử dụng các phông chữ PDF được nhúng.
+
+## Editing
+
+pdfjs-editor-free-text-button =
+ .title = Văn bản
+pdfjs-editor-free-text-button-label = Văn bản
+pdfjs-editor-ink-button =
+ .title = Vẽ
+pdfjs-editor-ink-button-label = Vẽ
+pdfjs-editor-stamp-button =
+ .title = Thêm hoặc chỉnh sửa hình ảnh
+pdfjs-editor-stamp-button-label = Thêm hoặc chỉnh sửa hình ảnh
+pdfjs-editor-remove-button =
+ .title = Xóa
+
+## Remove button for the various kind of editor.
+
+pdfjs-editor-remove-ink-button =
+ .title = Xóa bản vẽ
+pdfjs-editor-remove-freetext-button =
+ .title = Xóa văn bản
+pdfjs-editor-remove-stamp-button =
+ .title = Xóa ảnh
+pdfjs-editor-remove-highlight-button =
+ .title = Xóa phần đánh dấu
+
+##
+
+# Editor Parameters
+pdfjs-editor-free-text-color-input = Màu
+pdfjs-editor-free-text-size-input = Kích cỡ
+pdfjs-editor-ink-color-input = Màu
+pdfjs-editor-ink-thickness-input = Độ dày
+pdfjs-editor-ink-opacity-input = Độ mờ
+pdfjs-editor-stamp-add-image-button =
+ .title = Thêm hình ảnh
+pdfjs-editor-stamp-add-image-button-label = Thêm hình ảnh
+pdfjs-free-text =
+ .aria-label = Trình sửa văn bản
+pdfjs-free-text-default-content = Bắt đầu nhập…
+pdfjs-ink =
+ .aria-label = Trình sửa nét vẽ
+pdfjs-ink-canvas =
+ .aria-label = Hình ảnh do người dùng tạo
+
+## Alt-text dialog
+
+# Alternative text (alt text) helps when people can't see the image.
+pdfjs-editor-alt-text-button-label = Văn bản thay thế
+pdfjs-editor-alt-text-edit-button-label = Chỉnh sửa văn bản thay thế
+pdfjs-editor-alt-text-dialog-label = Chọn một lựa chọn
+pdfjs-editor-alt-text-dialog-description = Văn bản thay thế sẽ hữu ích khi mọi người không thể thấy hình ảnh hoặc khi hình ảnh không tải.
+pdfjs-editor-alt-text-add-description-label = Thêm một mô tả
+pdfjs-editor-alt-text-add-description-description = Hãy nhắm tới 1-2 câu mô tả chủ đề, bối cảnh hoặc hành động.
+pdfjs-editor-alt-text-mark-decorative-label = Đánh dấu là trang trí
+pdfjs-editor-alt-text-mark-decorative-description = Điều này được sử dụng cho các hình ảnh trang trí, như đường viền hoặc watermark.
+pdfjs-editor-alt-text-cancel-button = Hủy bỏ
+pdfjs-editor-alt-text-save-button = Lưu
+pdfjs-editor-alt-text-decorative-tooltip = Đã đánh dấu là trang trí
+# .placeholder: This is a placeholder for the alt text input area
+pdfjs-editor-alt-text-textarea =
+ .placeholder = Ví dụ: “Một thanh niên ngồi xuống bàn để thưởng thức một bữa ăn”
+
+## Editor resizers
+## This is used in an aria label to help to understand the role of the resizer.
+
+pdfjs-editor-resizer-label-top-left = Trên cùng bên trái — thay đổi kích thước
+pdfjs-editor-resizer-label-top-middle = Trên cùng ở giữa — thay đổi kích thước
+pdfjs-editor-resizer-label-top-right = Trên cùng bên phải — thay đổi kích thước
+pdfjs-editor-resizer-label-middle-right = Ở giữa bên phải — thay đổi kích thước
+pdfjs-editor-resizer-label-bottom-right = Dưới cùng bên phải — thay đổi kích thước
+pdfjs-editor-resizer-label-bottom-middle = Ở giữa dưới cùng — thay đổi kích thước
+pdfjs-editor-resizer-label-bottom-left = Góc dưới bên trái — thay đổi kích thước
+pdfjs-editor-resizer-label-middle-left = Ở giữa bên trái — thay đổi kích thước
+
+## Color picker
+
+# This means "Color used to highlight text"
+pdfjs-editor-highlight-colorpicker-label = Màu đánh dấu
+pdfjs-editor-colorpicker-button =
+ .title = Thay đổi màu
+pdfjs-editor-colorpicker-dropdown =
+ .aria-label = Lựa chọn màu sắc
+pdfjs-editor-colorpicker-yellow =
+ .title = Vàng
+pdfjs-editor-colorpicker-green =
+ .title = Xanh lục
+pdfjs-editor-colorpicker-blue =
+ .title = Xanh dương
+pdfjs-editor-colorpicker-pink =
+ .title = Hồng
+pdfjs-editor-colorpicker-red =
+ .title = Đỏ
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/pictureinpicture/pictureinpicture.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/pictureinpicture/pictureinpicture.ftl
new file mode 100644
index 0000000000..82558499e3
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/pictureinpicture/pictureinpicture.ftl
@@ -0,0 +1,86 @@
+# 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/.
+
+pictureinpicture-player-title = Hình trong hình
+
+## Variables:
+## $shortcut (String) - Keyboard shortcut to execute the command.
+
+## Note that this uses .tooltip rather than the standard '.title'
+## or '.tooltiptext' - but it has the same effect. Code in the
+## picture-in-picture window will read and copy this to an in-document
+## DOM node that then shows the tooltip.
+##
+## Variables:
+## $shortcut (String) - Keyboard shortcut to execute the command.
+
+pictureinpicture-pause-btn =
+ .aria-label = Tạm dừng
+ .tooltip = Tạm dừng (Phím cách)
+pictureinpicture-play-btn =
+ .aria-label = Phát
+ .tooltip = Phát (Phím cách)
+
+pictureinpicture-mute-btn =
+ .aria-label = Tắt tiếng
+ .tooltip = Tắt tiếng ({ $shortcut })
+pictureinpicture-unmute-btn =
+ .aria-label = Bật tiếng
+ .tooltip = Bật tiếng ({ $shortcut })
+
+pictureinpicture-unpip-btn =
+ .aria-label = Quay trở lại thẻ
+ .tooltip = Quay lại thẻ
+
+pictureinpicture-close-btn =
+ .aria-label = Đóng
+ .tooltip = Đóng ({ $shortcut })
+
+pictureinpicture-subtitles-btn =
+ .aria-label = Phụ đề
+ .tooltip = Phụ đề
+
+pictureinpicture-fullscreen-btn2 =
+ .aria-label = Toàn màn hình
+ .tooltip = Toàn màn hình (nhấp đúp chuột hoặc { $shortcut })
+
+pictureinpicture-exit-fullscreen-btn2 =
+ .aria-label = Thoát toàn màn hình
+ .tooltip = Thoát toàn màn hình (nhấp đúp chuột hoặc { $shortcut })
+
+##
+
+# Keyboard shortcut to toggle fullscreen mode when Picture-in-Picture is open.
+pictureinpicture-toggle-fullscreen-shortcut =
+ .key = F
+
+## Note that this uses .tooltip rather than the standard '.title'
+## or '.tooltiptext' - but it has the same effect. Code in the
+## picture-in-picture window will read and copy this to an in-document
+## DOM node that then shows the tooltip.
+
+pictureinpicture-seekbackward-btn =
+ .aria-label = Quay lại
+ .tooltip = Quay lại (←)
+
+pictureinpicture-seekforward-btn =
+ .aria-label = Tiến
+ .tooltip = Tiến (→)
+
+##
+
+# This string is never displayed on the window. Is intended to be announced by
+# a screen reader whenever a user opens the subtitles settings panel
+# after selecting the subtitles button.
+pictureinpicture-subtitles-panel-accessible = Cài đặt phụ đề
+
+pictureinpicture-subtitles-label = Phụ đề
+
+pictureinpicture-font-size-label = Cỡ chữ
+
+pictureinpicture-font-size-small = Nhỏ
+
+pictureinpicture-font-size-medium = Trung bình
+
+pictureinpicture-font-size-large = Lớn
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/preferences/preferences.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/preferences/preferences.ftl
new file mode 100644
index 0000000000..bc1bf9e87a
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/preferences/preferences.ftl
@@ -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/.
+
+password-not-set =
+ .value = (chưa đặt)
+
+failed-pp-change = Không thể thay đổi mật khẩu chính.
+incorrect-pp = Bạn đã không nhập đúng mật khẩu chính hiện tại. Vui lòng thử lại.
+pp-change-ok = Đã thay đổi mật khẩu chính.
+
+settings-pp-erased-ok = Bạn đã xóa mật khẩu chính của mình. Mật khẩu được lưu trữ và khóa riêng của chứng chỉ do { -brand-short-name } quản lý sẽ không được bảo vệ.
+settings-pp-not-wanted = Cảnh báo! Bạn đã quyết định không sử dụng mật khẩu chính. Mật khẩu được lưu trữ và khóa riêng của chứng chỉ do { -brand-short-name } quản lý sẽ không được bảo vệ.
+
+pp-change2empty-in-fips-mode = Bạn hiện đang ở chế độ FIPS. FIPS yêu cầu tính năng mật khẩu chính.
+pw-change-success-title = Đã thay đổi mật khẩu
+pw-change-failed-title = Thay đổi mật khẩu thất bại
+pw-remove-button =
+ .label = Xóa
+
+primary-password-dialog =
+ .title = Mật khẩu chính
+set-password-old-password = Mật khẩu hiện tại:
+set-password-new-password = Nhập mật khẩu mới:
+set-password-reenter-password = Nhập lại mật khẩu mới:
+set-password-meter = Độ an toàn mật khẩu
+set-password-meter-loading = Đang tải
+primary-password-admin = Quản trị viên của bạn yêu cầu bạn phải đặt mật khẩu chính để lưu thông tin đăng nhập và mật khẩu.
+primary-password-description = Mật khẩu chính được sử dụng để bảo vệ một số thông tin nhạy cảm, như thông tin đăng nhập và mật khẩu, trên thiết bị này. Nếu bạn tạo mật khẩu chính, bạn sẽ được yêu cầu nhập mật khẩu một lần mỗi phiên khi { -brand-short-name } lấy thông tin đã lưu được bảo vệ bởi mật khẩu.
+primary-password-warning = Vui lòng đảm bảo rằng bạn nhớ mật khẩu chính bạn đã đặt. Nếu bạn quên mật khẩu chính, bạn sẽ không thể truy cập bất kỳ thông tin nào được bảo vệ bởi nó trên thiết bị này.
+
+remove-primary-password =
+ .title = Xóa mật khẩu chính
+remove-info =
+ .value = Bạn cần nhập mật khẩu hiện tại của mình để tiếp tục:
+remove-primary-password-warning1 = Mật khẩu chính của bạn được sử dụng để bảo vệ thông tin nhạy cảm như thông tin đăng nhập và mật khẩu.
+remove-primary-password-warning2 = Nếu bạn xóa mật khẩu chính, thông tin của bạn sẽ không được bảo vệ nếu máy tính của bạn bị xâm nhập.
+remove-password-old-password =
+ .value = Mật khẩu hiện tại:
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/printing/printDialogs.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/printing/printDialogs.ftl
new file mode 100644
index 0000000000..c003b3d1bd
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/printing/printDialogs.ftl
@@ -0,0 +1,112 @@
+# 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/.
+
+print-setup =
+ .title = Thiết lập trang
+custom-prompt-title = Tùy biến…
+custom-prompt-prompt = Nhập phần văn bản tùy biến của bạn cho phần đầu/cuối trang
+basic-tab =
+ .label = Định dạng & tùy chọn
+advanced-tab =
+ .label = Lề & đầu trang/cuối trang
+format-group-label =
+ .value = Định dạng
+orientation-label =
+ .value = Chiều:
+portrait =
+ .label = Dọc
+ .accesskey = D
+landscape =
+ .label = Ngang
+ .accesskey = N
+scale =
+ .label = Tỉ lệ:
+ .accesskey = T
+scale-percent =
+ .value = %
+shrink-to-fit =
+ .label = Co lại cho vừa độ rộng trang
+ .accesskey = C
+options-group-label =
+ .value = Tùy chọn
+print-bg =
+ .label = In hình nền (màu sắc & hình ảnh)
+ .accesskey = I
+margin-group-label-inches =
+ .value = Lề (inch)
+margin-group-label-metric =
+ .value = Lề (milimét)
+margin-top =
+ .value = Trên:
+ .accesskey = T
+margin-top-invisible =
+ .value = Trên:
+margin-bottom =
+ .value = Dưới:
+ .accesskey = D
+margin-bottom-invisible =
+ .value = Dưới:
+margin-left =
+ .value = Trái:
+ .accesskey = r
+margin-left-invisible =
+ .value = Trái:
+margin-right =
+ .value = Phải:
+ .accesskey = P
+margin-right-invisible =
+ .value = Phải:
+header-footer-label =
+ .value = Đầu trang & Cuối trang
+hf-left-label =
+ .value = Trái:
+hf-center-label =
+ .value = Giữa:
+hf-right-label =
+ .value = Phải:
+header-left-tip =
+ .tooltiptext = Đầu trang bên Trái
+header-center-tip =
+ .tooltiptext = Đầu trang ở Giữa
+header-right-tip =
+ .tooltiptext = Đầu trang bên Phải
+footer-left-tip =
+ .tooltiptext = Cuối trang bên Trái
+footer-center-tip =
+ .tooltiptext = Cuối trang ở Giữa
+footer-right-tip =
+ .tooltiptext = Cuối trang bên Phải
+hf-blank =
+ .label = --trống--
+hf-title =
+ .label = Tiêu đề
+hf-url =
+ .label = URL
+hf-date-and-time =
+ .label = Ngày/Giờ
+hf-page =
+ .label = Trang #
+hf-page-and-total =
+ .label = Trang # trên tổng #
+hf-custom =
+ .label = Tùy biến…
+print-preview-window =
+ .title = Xem trước trang in
+print-title =
+ .value = Tiêu đề:
+print-preparing =
+ .value = Đang chuẩn bị…
+print-progress =
+ .value = Tiến trình:
+print-window =
+ .title = Đang In
+print-complete =
+ .value = Đã in xong.
+
+# Variables
+# $percent (integer) - Number of printed percentage
+print-percent =
+ .value = { $percent }%
+dialog-cancel-label = Hủy bỏ
+dialog-close-label = Đóng
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/printing/printPreview.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/printing/printPreview.ftl
new file mode 100644
index 0000000000..9d1b006f2d
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/printing/printPreview.ftl
@@ -0,0 +1,73 @@
+# 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/.
+
+printpreview-simplify-page-checkbox =
+ .label = Đơn giản hóa trang
+ .accesskey = i
+ .tooltiptext = Trang này không thể tự động đơn giản hóa
+printpreview-simplify-page-checkbox-enabled =
+ .label = { printpreview-simplify-page-checkbox.label }
+ .accesskey = { printpreview-simplify-page-checkbox.accesskey }
+ .tooltiptext = Thay đổi giao diện để đọc dễ dàng hơn
+printpreview-close =
+ .label = Đóng
+ .accesskey = g
+printpreview-portrait =
+ .label = Dọc
+ .accesskey = o
+printpreview-landscape =
+ .label = Ngang
+ .accesskey = L
+printpreview-scale =
+ .value = Tỉ lệ:
+ .accesskey = S
+printpreview-shrink-to-fit =
+ .label = Co lại cho vừa
+printpreview-custom =
+ .label = Tùy biến…
+printpreview-print =
+ .label = In…
+ .accesskey = P
+printpreview-of =
+ .value = trên tổng
+printpreview-custom-scale-prompt-title = Tùy biến tỉ lệ
+printpreview-page-setup =
+ .label = Thiết lập trang in…
+ .accesskey = u
+printpreview-page =
+ .value = Trang:
+ .accesskey = a
+
+# Variables
+# $sheetNum (integer) - The current sheet number
+# $sheetCount (integer) - The total number of sheets to print
+printpreview-sheet-of-sheets = { $sheetNum } của { $sheetCount }
+
+## Variables
+## $percent (integer) - menuitem percent label
+## $arrow (String) - UTF-8 arrow character for navigation buttons
+
+printpreview-percentage-value =
+ .label = { $percent }%
+printpreview-homearrow =
+ .label = { $arrow }
+ .tooltiptext = Trang đầu
+printpreview-previousarrow =
+ .label = { $arrow }
+ .tooltiptext = Trang trước
+printpreview-nextarrow =
+ .label = { $arrow }
+ .tooltiptext = Trang sau
+printpreview-endarrow =
+ .label = { $arrow }
+ .tooltiptext = Trang cuối
+
+printpreview-homearrow-button =
+ .title = Trang đầu
+printpreview-previousarrow-button =
+ .title = Trang trước
+printpreview-nextarrow-button =
+ .title = Trang tiếp theo
+printpreview-endarrow-button =
+ .title = Trang cuối
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/printing/printUI.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/printing/printUI.ftl
new file mode 100644
index 0000000000..3cbdfd6f47
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/printing/printUI.ftl
@@ -0,0 +1,147 @@
+# 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/.
+
+printui-title = In
+# Dialog title to prompt the user for a filename to save print to PDF.
+printui-save-to-pdf-title = Lưu thành
+
+# Variables
+# $sheetCount (integer) - Number of paper sheets
+printui-sheets-count =
+ { $sheetCount ->
+ *[other] { $sheetCount } tờ giấy
+ }
+
+printui-page-range-all = Tất cả
+printui-page-range-current = Hiện tại
+printui-page-range-odd = Số lẻ
+printui-page-range-even = Số chẵn
+printui-page-range-custom = Tùy chọn
+printui-page-range-label = Trang
+printui-page-range-picker =
+ .aria-label = Chọn phạm vi trang
+printui-page-custom-range-input =
+ .aria-label = Nhập phạm vi trang tùy chỉnh
+ .placeholder = ví dụ: 2-6, 9, 12-16
+
+# Section title for the number of copies to print
+printui-copies-label = Bản sao
+
+printui-orientation = Hướng
+printui-landscape = Ngang
+printui-portrait = Dọc
+
+# Section title for the printer or destination device to target
+printui-destination-label = Thiết bị đích
+printui-destination-pdf-label = Lưu thành PDF
+
+printui-more-settings = Nhiều cài đặt hơn
+printui-less-settings = Ít cài đặt hơn
+
+printui-paper-size-label = Khổ giấy
+
+# Section title (noun) for the print scaling options
+printui-scale = Tỷ lệ
+printui-scale-fit-to-page-width = Vừa với chiều rộng trang
+# Label for input control where user can set the scale percentage
+printui-scale-pcent = Tỷ lệ
+
+# Section title (noun) for the two-sided print options
+printui-two-sided-printing = In hai mặt
+printui-two-sided-printing-off = Tắt
+# Flip the sheet as if it were bound along its long edge.
+printui-two-sided-printing-long-edge = Lật theo chiều dài
+# Flip the sheet as if it were bound along its short edge.
+printui-two-sided-printing-short-edge = Lật theo chiều rộng
+
+# Section title for miscellaneous print options
+printui-options = Tùy chọn
+printui-headers-footers-checkbox = In đầu trang và chân trang
+printui-backgrounds-checkbox = In phần nền
+
+## The "Format" section, select a version of the website to print. Radio
+## options to select between the original page, selected text only, or a version
+## where the page is processed with "Reader View".
+
+# The section title.
+printui-source-label = Định dạng
+# Option for printing the original page.
+printui-source-radio = Gốc
+# Option for printing just the content a user selected prior to printing.
+printui-selection-radio = Phần được chọn
+# Option for "simplifying" the page by printing the Reader View version.
+printui-simplify-page-radio = Đơn giản hóa
+
+##
+
+printui-color-mode-label = Chế độ màu
+printui-color-mode-color = Màu
+printui-color-mode-bw = Đen và trắng
+
+printui-margins = Lề
+printui-margins-default = Mặc định
+printui-margins-min = Tối thiểu
+printui-margins-none = Không có
+printui-margins-custom-inches = Tùy chỉnh (inch)
+printui-margins-custom-mm = Tùy chỉnh (mm)
+printui-margins-custom-top = Trên
+printui-margins-custom-top-inches = Trên (inch)
+printui-margins-custom-top-mm = Trên (mm)
+printui-margins-custom-bottom = Dưới
+printui-margins-custom-bottom-inches = Dưới (inch)
+printui-margins-custom-bottom-mm = Dưới (mm)
+printui-margins-custom-left = Trái
+printui-margins-custom-left-inches = Trái (inch)
+printui-margins-custom-left-mm = Trái (mm)
+printui-margins-custom-right = Phải
+printui-margins-custom-right-inches = Phải (inch)
+printui-margins-custom-right-mm = Phải (mm)
+
+printui-system-dialog-link = In bằng hộp thoại hệ thống…
+
+printui-primary-button = In
+printui-primary-button-save = Lưu
+printui-cancel-button = Hủy bỏ
+printui-close-button = Đóng
+
+printui-loading = Đang chuẩn bị xem trước
+
+# Reported by screen readers and other accessibility tools to indicate that
+# the print preview has focus.
+printui-preview-label =
+ .aria-label = Xem trước trang in
+
+printui-pages-per-sheet = Số trang trên mỗi tờ
+
+# This is shown next to the Print button with an indefinite loading spinner
+# when the user prints a page and it is being sent to the printer.
+printui-print-progress-indicator = Đang in...
+printui-print-progress-indicator-saving = Đang lưu...
+
+## Paper sizes that may be supported by the Save to PDF destination:
+
+printui-paper-a5 = A5
+printui-paper-a4 = A4
+printui-paper-a3 = A3
+printui-paper-a2 = A2
+printui-paper-a1 = A1
+printui-paper-a0 = A0
+printui-paper-b5 = B5
+printui-paper-b4 = B4
+printui-paper-jis-b5 = JIS-B5
+printui-paper-jis-b4 = JIS-B4
+printui-paper-letter = US Letter
+printui-paper-legal = US Legal
+printui-paper-tabloid = Báo khổ nhỏ
+
+## Error messages shown when a user has an invalid input
+
+printui-error-invalid-scale = Tỉ lệ phải là số từ 10 đến 200.
+printui-error-invalid-margin = Vui lòng nhập lề hợp lệ cho khổ giấy đã chọn.
+printui-error-invalid-copies = Bản sao phải là một số từ 1 đến 10000.
+
+# Variables
+# $numPages (integer) - Number of pages
+printui-error-invalid-range = Phạm vi phải là số từ 1 đến { $numPages }.
+printui-error-invalid-start-overflow = Số trang “từ” phải nhỏ hơn số trang “đến”.
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/reportBrokenSite/reportBrokenSite.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/reportBrokenSite/reportBrokenSite.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/reportBrokenSite/reportBrokenSite.ftl
@@ -0,0 +1,3 @@
+# 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/.
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/updates/backgroundupdate.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/updates/backgroundupdate.ftl
new file mode 100644
index 0000000000..4108cd7c90
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/updates/backgroundupdate.ftl
@@ -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/.
+
+backgroundupdate-task-description = Tác vụ Cập nhật nền kiểm tra các bản cập nhật cho { -brand-short-name } khi { -brand-short-name } không chạy. Tác vụ này được cài đặt tự động bởi { -brand-short-name } và được cài đặt lại khi { -brand-short-name } chạy. Để tắt tác vụ này, hãy cập nhật cài đặt trình duyệt hoặc cài đặt chính sách doanh nghiệp { -brand-short-name } “BackgroundAppUpdate”.
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/updates/elevation.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/updates/elevation.ftl
new file mode 100644
index 0000000000..26648743d9
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/updates/elevation.ftl
@@ -0,0 +1,18 @@
+# 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/.
+# This is temporary until bug 1521632 is fixed
+
+elevation-update-wizard =
+ .title = Cập nhật Phần mềm
+elevation-details-link-label =
+ .value = Chi tiết
+elevation-error-manual = Bạn có thể cập nhật { -brand-short-name } thủ công thông qua liên kết này và tải bản mới nhất xuống:
+elevation-finished-page = Bản cập nhật đã Sẵn sàng để Cài đặt
+elevation-finished-background-page = Một bản cập nhật bảo mật và ổn định cho { -brand-short-name } đã được tải xuống và đang sẵn sàng để cài đặt.
+elevation-finished-background = Cập nhật:
+elevation-more-elevated =
+ Bản cập nhật này yêu cầu quyền quản trị viên. Bản cập nhật sẽ
+ được cài đặt ở lần khởi động { -brand-short-name } tiếp theo. Bạn có thể khởi động lại
+ { -brand-short-name } ngay bây giờ, tiếp tục làm việc và khởi động lại sau, hoặc từ chối
+ bản cập nhật này.
diff --git a/thunderbird-l10n/vi/localization/vi/toolkit/updates/history.ftl b/thunderbird-l10n/vi/localization/vi/toolkit/updates/history.ftl
new file mode 100644
index 0000000000..01b0a01ec9
--- /dev/null
+++ b/thunderbird-l10n/vi/localization/vi/toolkit/updates/history.ftl
@@ -0,0 +1,29 @@
+# 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/.
+
+history-title = Lịch sử cập nhật
+history-intro = Các bản cập nhật sau đã được cài đặt
+
+close-button-label =
+ .buttonlabelcancel = Đóng
+ .title = Lịch sử cập nhật
+
+no-updates-label = Chưa cài bản cập nhật nào
+name-header = Tên bản cập nhật
+date-header = Ngày cài đặt
+type-header = Kiểu
+state-header = Tình trạng
+
+# Used to display update history
+#
+# Variables:
+# $name (String): name of the update
+# $buildID (String): build identifier from the local updates.xml
+update-full-build-name = { $name } ({ $buildID })
+
+update-details = Chi tiết
+
+update-installed-on = Cài đặt vào: { $date }
+
+update-status = Trạng thái: { $status }