summaryrefslogtreecommitdiffstats
path: root/l10n-vi
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /l10n-vi
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'l10n-vi')
-rw-r--r--l10n-vi/browser/branding/official/brand.ftl29
-rw-r--r--l10n-vi/browser/branding/official/brand.properties8
-rw-r--r--l10n-vi/browser/browser/aboutDialog.ftl66
-rw-r--r--l10n-vi/browser/browser/aboutLogins.ftl457
-rw-r--r--l10n-vi/browser/browser/aboutPocket.ftl75
-rw-r--r--l10n-vi/browser/browser/aboutPolicies.ftl17
-rw-r--r--l10n-vi/browser/browser/aboutPrivateBrowsing.ftl80
-rw-r--r--l10n-vi/browser/browser/aboutRestartRequired.ftl10
-rw-r--r--l10n-vi/browser/browser/aboutRobots.ftl29
-rw-r--r--l10n-vi/browser/browser/aboutSessionRestore.ftl51
-rw-r--r--l10n-vi/browser/browser/aboutTabCrashed.ftl22
-rw-r--r--l10n-vi/browser/browser/aboutUnloads.ftl45
-rw-r--r--l10n-vi/browser/browser/accounts.ftl94
-rw-r--r--l10n-vi/browser/browser/addonNotifications.ftl122
-rw-r--r--l10n-vi/browser/browser/allTabsMenu.ftl17
-rw-r--r--l10n-vi/browser/browser/appExtensionFields.ftl31
-rw-r--r--l10n-vi/browser/browser/appMenuNotifications.ftl66
-rw-r--r--l10n-vi/browser/browser/appmenu.ftl280
-rw-r--r--l10n-vi/browser/browser/backgroundtasks/defaultagent.ftl9
-rw-r--r--l10n-vi/browser/browser/browser.ftl995
-rw-r--r--l10n-vi/browser/browser/browserContext.ftl391
-rw-r--r--l10n-vi/browser/browser/browserSets.ftl218
-rw-r--r--l10n-vi/browser/browser/colorways.ftl26
-rw-r--r--l10n-vi/browser/browser/components/mozSupportLink.ftl5
-rw-r--r--l10n-vi/browser/browser/confirmationHints.ftl24
-rw-r--r--l10n-vi/browser/browser/contentCrash.ftl30
-rw-r--r--l10n-vi/browser/browser/customizeMode.ftl38
-rw-r--r--l10n-vi/browser/browser/defaultBrowserNotification.ftl23
-rw-r--r--l10n-vi/browser/browser/downloads.ftl252
-rw-r--r--l10n-vi/browser/browser/editBookmarkOverlay.ftl49
-rw-r--r--l10n-vi/browser/browser/extensionsUI.ftl33
-rw-r--r--l10n-vi/browser/browser/featureCallout.ftl56
-rw-r--r--l10n-vi/browser/browser/firefoxRelay.ftl35
-rw-r--r--l10n-vi/browser/browser/firefoxView.ftl271
-rw-r--r--l10n-vi/browser/browser/firefoxWebAuthn.ftl3
-rw-r--r--l10n-vi/browser/browser/fxviewTabList.ftl84
-rw-r--r--l10n-vi/browser/browser/identityCredentialNotification.ftl29
-rw-r--r--l10n-vi/browser/browser/linuxDesktopEntry.ftl27
-rw-r--r--l10n-vi/browser/browser/menubar.ftl351
-rw-r--r--l10n-vi/browser/browser/migration.ftl174
-rw-r--r--l10n-vi/browser/browser/migrationWizard.ftl250
-rw-r--r--l10n-vi/browser/browser/newtab/asrouter.ftl282
-rw-r--r--l10n-vi/browser/browser/newtab/newtab.ftl278
-rw-r--r--l10n-vi/browser/browser/newtab/onboarding.ftl364
-rw-r--r--l10n-vi/browser/browser/originControls.ftl64
-rw-r--r--l10n-vi/browser/browser/pageInfo.ftl260
-rw-r--r--l10n-vi/browser/browser/panelUI.ftl25
-rw-r--r--l10n-vi/browser/browser/panicButton.ftl31
-rw-r--r--l10n-vi/browser/browser/places.ftl264
-rw-r--r--l10n-vi/browser/browser/placesPrompts.ftl20
-rw-r--r--l10n-vi/browser/browser/policies/policies-descriptions.ftl131
-rw-r--r--l10n-vi/browser/browser/preferences/addEngine.ftl22
-rw-r--r--l10n-vi/browser/browser/preferences/applicationManager.ftl25
-rw-r--r--l10n-vi/browser/browser/preferences/blocklists.ftl33
-rw-r--r--l10n-vi/browser/browser/preferences/clearSiteData.ftl56
-rw-r--r--l10n-vi/browser/browser/preferences/colors.ftl44
-rw-r--r--l10n-vi/browser/browser/preferences/connection.ftl84
-rw-r--r--l10n-vi/browser/browser/preferences/containers.ftl93
-rw-r--r--l10n-vi/browser/browser/preferences/fonts.ftl121
-rw-r--r--l10n-vi/browser/browser/preferences/formAutofill.ftl156
-rw-r--r--l10n-vi/browser/browser/preferences/fxaPairDevice.ftl17
-rw-r--r--l10n-vi/browser/browser/preferences/languages.ftl73
-rw-r--r--l10n-vi/browser/browser/preferences/moreFromMozilla.ftl34
-rw-r--r--l10n-vi/browser/browser/preferences/permissions.ftl205
-rw-r--r--l10n-vi/browser/browser/preferences/preferences.ftl1383
-rw-r--r--l10n-vi/browser/browser/preferences/selectBookmark.ftl9
-rw-r--r--l10n-vi/browser/browser/preferences/siteDataSettings.ftl54
-rw-r--r--l10n-vi/browser/browser/preferences/translation.ftl40
-rw-r--r--l10n-vi/browser/browser/profile/default-bookmarks.ftl53
-rw-r--r--l10n-vi/browser/browser/protections.ftl219
-rw-r--r--l10n-vi/browser/browser/protectionsPanel.ftl162
-rw-r--r--l10n-vi/browser/browser/recentlyClosed.ftl29
-rw-r--r--l10n-vi/browser/browser/reportBrokenSite.ftl43
-rw-r--r--l10n-vi/browser/browser/safeMode.ftl15
-rw-r--r--l10n-vi/browser/browser/safebrowsing/blockedSite.ftl58
-rw-r--r--l10n-vi/browser/browser/sanitize.ftl125
-rw-r--r--l10n-vi/browser/browser/screenshots.ftl60
-rw-r--r--l10n-vi/browser/browser/screenshotsOverlay.ftl14
-rw-r--r--l10n-vi/browser/browser/search.ftl35
-rw-r--r--l10n-vi/browser/browser/setDesktopBackground.ftl40
-rw-r--r--l10n-vi/browser/browser/shopping.ftl234
-rw-r--r--l10n-vi/browser/browser/sidebarMenu.ftl18
-rw-r--r--l10n-vi/browser/browser/sitePermissions.ftl11
-rw-r--r--l10n-vi/browser/browser/siteProtections.ftl88
-rw-r--r--l10n-vi/browser/browser/speechDispatcher.ftl16
-rw-r--r--l10n-vi/browser/browser/spotlight.ftl22
-rw-r--r--l10n-vi/browser/browser/sync.ftl33
-rw-r--r--l10n-vi/browser/browser/syncedTabs.ftl61
-rw-r--r--l10n-vi/browser/browser/tabContextMenu.ftl106
-rw-r--r--l10n-vi/browser/browser/tabbrowser.ftl136
-rw-r--r--l10n-vi/browser/browser/textRecognition.ftl15
-rw-r--r--l10n-vi/browser/browser/toolbarContextMenu.ftl88
-rw-r--r--l10n-vi/browser/browser/touchbar/touchbar.ftl38
-rw-r--r--l10n-vi/browser/browser/translations.ftl172
-rw-r--r--l10n-vi/browser/browser/unifiedExtensions.ftl50
-rw-r--r--l10n-vi/browser/browser/webProtocolHandler.ftl22
-rw-r--r--l10n-vi/browser/browser/webauthnDialog.ftl19
-rw-r--r--l10n-vi/browser/browser/webrtcIndicator.ftl197
-rw-r--r--l10n-vi/browser/chrome/browser/browser.properties532
-rw-r--r--l10n-vi/browser/chrome/browser/customizableui/customizableWidgets.properties54
-rw-r--r--l10n-vi/browser/chrome/browser/downloads/downloads.properties83
-rw-r--r--l10n-vi/browser/chrome/browser/feeds/subscribe.properties10
-rw-r--r--l10n-vi/browser/chrome/browser/places/bookmarkProperties.properties24
-rw-r--r--l10n-vi/browser/chrome/browser/safebrowsing/safebrowsing.properties6
-rw-r--r--l10n-vi/browser/chrome/browser/search.properties33
-rw-r--r--l10n-vi/browser/chrome/browser/shellservice.properties16
-rw-r--r--l10n-vi/browser/chrome/browser/siteData.properties8
-rw-r--r--l10n-vi/browser/chrome/browser/sitePermissions.properties55
-rw-r--r--l10n-vi/browser/chrome/browser/syncSetup.properties14
-rw-r--r--l10n-vi/browser/chrome/browser/taskbar.properties12
-rw-r--r--l10n-vi/browser/chrome/browser/uiDensity.properties5
-rw-r--r--l10n-vi/browser/chrome/overrides/appstrings.properties44
-rw-r--r--l10n-vi/browser/crashreporter/crashreporter-override.ini8
-rw-r--r--l10n-vi/browser/defaultagent/defaultagent_localized.ini15
-rw-r--r--l10n-vi/browser/extensions/formautofill/formautofill.properties135
-rw-r--r--l10n-vi/browser/extensions/report-site-issue/webcompat.properties10
-rw-r--r--l10n-vi/browser/firefox-l10n.js6
-rw-r--r--l10n-vi/browser/installer/custom.properties93
-rw-r--r--l10n-vi/browser/installer/mui.properties61
-rw-r--r--l10n-vi/browser/installer/nsisstrings.properties50
-rw-r--r--l10n-vi/browser/installer/override.properties86
-rw-r--r--l10n-vi/browser/langpack-metadata.ftl13
-rw-r--r--l10n-vi/browser/pdfviewer/chrome.properties20
-rw-r--r--l10n-vi/browser/pdfviewer/viewer.properties302
-rw-r--r--l10n-vi/browser/updater/updater.ini9
-rw-r--r--l10n-vi/devtools/client/aboutdebugging.ftl400
-rw-r--r--l10n-vi/devtools/client/accessibility.ftl92
-rw-r--r--l10n-vi/devtools/client/accessibility.properties313
-rw-r--r--l10n-vi/devtools/client/animationinspector.properties182
-rw-r--r--l10n-vi/devtools/client/application.ftl121
-rw-r--r--l10n-vi/devtools/client/boxmodel.properties48
-rw-r--r--l10n-vi/devtools/client/changes.properties64
-rw-r--r--l10n-vi/devtools/client/compatibility.ftl53
-rw-r--r--l10n-vi/devtools/client/components.properties61
-rw-r--r--l10n-vi/devtools/client/debugger.properties1117
-rw-r--r--l10n-vi/devtools/client/device.properties21
-rw-r--r--l10n-vi/devtools/client/dom.properties27
-rw-r--r--l10n-vi/devtools/client/filterwidget.properties61
-rw-r--r--l10n-vi/devtools/client/font-inspector.properties69
-rw-r--r--l10n-vi/devtools/client/har.properties30
-rw-r--r--l10n-vi/devtools/client/inspector.properties594
-rw-r--r--l10n-vi/devtools/client/jsonview.properties47
-rw-r--r--l10n-vi/devtools/client/layout.properties137
-rw-r--r--l10n-vi/devtools/client/memory.properties434
-rw-r--r--l10n-vi/devtools/client/menus.properties29
-rw-r--r--l10n-vi/devtools/client/netmonitor.properties1695
-rw-r--r--l10n-vi/devtools/client/network-throttling.properties27
-rw-r--r--l10n-vi/devtools/client/perftools.ftl124
-rw-r--r--l10n-vi/devtools/client/responsive.properties182
-rw-r--r--l10n-vi/devtools/client/shared.properties26
-rw-r--r--l10n-vi/devtools/client/sourceeditor.properties117
-rw-r--r--l10n-vi/devtools/client/startup.properties248
-rw-r--r--l10n-vi/devtools/client/storage.ftl109
-rw-r--r--l10n-vi/devtools/client/styleeditor.ftl52
-rw-r--r--l10n-vi/devtools/client/styleeditor.properties74
-rw-r--r--l10n-vi/devtools/client/toolbox-options.ftl131
-rw-r--r--l10n-vi/devtools/client/toolbox.ftl55
-rw-r--r--l10n-vi/devtools/client/toolbox.properties265
-rw-r--r--l10n-vi/devtools/client/tooltips.ftl97
-rw-r--r--l10n-vi/devtools/client/webconsole.properties570
-rw-r--r--l10n-vi/devtools/shared/accessibility.properties139
-rw-r--r--l10n-vi/devtools/shared/debugger-paused-reasons.ftl87
-rw-r--r--l10n-vi/devtools/shared/debugger.properties67
-rw-r--r--l10n-vi/devtools/shared/eyedropper.properties14
-rw-r--r--l10n-vi/devtools/shared/highlighters.ftl55
-rw-r--r--l10n-vi/devtools/shared/screenshot.properties148
-rw-r--r--l10n-vi/devtools/shared/shared.properties6
-rw-r--r--l10n-vi/devtools/shared/styleinspector.properties267
-rw-r--r--l10n-vi/devtools/shared/webconsole-commands.ftl24
-rw-r--r--l10n-vi/devtools/startup/key-shortcuts.ftl38
-rw-r--r--l10n-vi/dom/chrome/accessibility/AccessFu.properties94
-rw-r--r--l10n-vi/dom/chrome/accessibility/mac/accessible.properties71
-rw-r--r--l10n-vi/dom/chrome/accessibility/unix/accessible.properties21
-rw-r--r--l10n-vi/dom/chrome/accessibility/win/accessible.properties21
-rw-r--r--l10n-vi/dom/chrome/appstrings.properties37
-rw-r--r--l10n-vi/dom/chrome/dom/dom.properties440
-rw-r--r--l10n-vi/dom/chrome/global-strres.properties5
-rw-r--r--l10n-vi/dom/chrome/layout/HtmlForm.properties35
-rw-r--r--l10n-vi/dom/chrome/layout/MediaDocument.properties22
-rw-r--r--l10n-vi/dom/chrome/layout/css.properties51
-rw-r--r--l10n-vi/dom/chrome/layout/htmlparser.properties129
-rw-r--r--l10n-vi/dom/chrome/layout/layout_errors.properties53
-rw-r--r--l10n-vi/dom/chrome/layout/printing.properties56
-rw-r--r--l10n-vi/dom/chrome/layout/xmlparser.properties48
-rw-r--r--l10n-vi/dom/chrome/layout/xul.properties5
-rw-r--r--l10n-vi/dom/chrome/mathml/mathml.properties15
-rw-r--r--l10n-vi/dom/chrome/nsWebBrowserPersist.properties17
-rw-r--r--l10n-vi/dom/chrome/security/caps.properties9
-rw-r--r--l10n-vi/dom/chrome/security/csp.properties124
-rw-r--r--l10n-vi/dom/chrome/security/security.properties170
-rw-r--r--l10n-vi/dom/chrome/svg/svg.properties5
-rw-r--r--l10n-vi/dom/chrome/xslt/xslt.properties39
-rw-r--r--l10n-vi/dom/dom/XMLPrettyPrint.ftl5
-rw-r--r--l10n-vi/dom/dom/media.ftl6
-rw-r--r--l10n-vi/extensions/spellcheck/hunspell/vi-x-KieuCu.[Chuan].aff70
-rw-r--r--l10n-vi/extensions/spellcheck/hunspell/vi-x-KieuCu.[Chuan].dic6632
-rw-r--r--l10n-vi/extensions/spellcheck/hunspell/vi-x-KieuMoi.[KhongChuan].aff70
-rw-r--r--l10n-vi/extensions/spellcheck/hunspell/vi-x-KieuMoi.[KhongChuan].dic6632
-rw-r--r--l10n-vi/mobile/android/chrome/browser.properties44
-rw-r--r--l10n-vi/mobile/android/chrome/passwordmgr.properties20
-rw-r--r--l10n-vi/mobile/android/mobile-l10n.js6
-rw-r--r--l10n-vi/mobile/android/mobile/android/aboutConfig.ftl28
-rw-r--r--l10n-vi/mobile/android/mobile/android/geckoViewConsole.ftl22
-rw-r--r--l10n-vi/mobile/chrome/region.properties31
-rw-r--r--l10n-vi/netwerk/necko.properties100
-rw-r--r--l10n-vi/security/manager/chrome/pipnss/nsserrors.properties331
-rw-r--r--l10n-vi/security/manager/chrome/pipnss/pipnss.properties136
-rw-r--r--l10n-vi/security/manager/chrome/pippki/pippki.properties76
-rw-r--r--l10n-vi/security/manager/security/certificates/certManager.ftl228
-rw-r--r--l10n-vi/security/manager/security/certificates/deviceManager.ftl133
-rw-r--r--l10n-vi/security/manager/security/pippki/pippki.ftl106
-rw-r--r--l10n-vi/toolkit/chrome/alerts/alert.properties23
-rw-r--r--l10n-vi/toolkit/chrome/autoconfig/autoconfig.properties12
-rw-r--r--l10n-vi/toolkit/chrome/global-platform/mac/intl.properties7
-rw-r--r--l10n-vi/toolkit/chrome/global-platform/mac/platformKeys.properties33
-rw-r--r--l10n-vi/toolkit/chrome/global-platform/unix/intl.properties7
-rw-r--r--l10n-vi/toolkit/chrome/global-platform/unix/platformKeys.properties33
-rw-r--r--l10n-vi/toolkit/chrome/global-platform/win/intl.properties7
-rw-r--r--l10n-vi/toolkit/chrome/global-platform/win/platformKeys.properties33
-rw-r--r--l10n-vi/toolkit/chrome/global/aboutStudies.properties32
-rw-r--r--l10n-vi/toolkit/chrome/global/autocomplete.properties9
-rw-r--r--l10n-vi/toolkit/chrome/global/browser.properties7
-rw-r--r--l10n-vi/toolkit/chrome/global/commonDialogs.properties46
-rw-r--r--l10n-vi/toolkit/chrome/global/contentAreaCommands.properties28
-rw-r--r--l10n-vi/toolkit/chrome/global/dialog.properties12
-rw-r--r--l10n-vi/toolkit/chrome/global/extensions.properties27
-rw-r--r--l10n-vi/toolkit/chrome/global/fallbackMenubar.properties8
-rw-r--r--l10n-vi/toolkit/chrome/global/filepicker.properties20
-rw-r--r--l10n-vi/toolkit/chrome/global/intl.css11
-rw-r--r--l10n-vi/toolkit/chrome/global/intl.properties43
-rw-r--r--l10n-vi/toolkit/chrome/global/keys.properties78
-rw-r--r--l10n-vi/toolkit/chrome/global/narrate.properties29
-rw-r--r--l10n-vi/toolkit/chrome/global/printdialog.properties52
-rw-r--r--l10n-vi/toolkit/chrome/global/resetProfile.properties14
-rw-r--r--l10n-vi/toolkit/chrome/global/viewSource.properties16
-rw-r--r--l10n-vi/toolkit/chrome/global/wizard.properties8
-rw-r--r--l10n-vi/toolkit/chrome/mozapps/downloads/downloads.properties6
-rw-r--r--l10n-vi/toolkit/chrome/mozapps/downloads/unknownContentType.properties23
-rw-r--r--l10n-vi/toolkit/chrome/mozapps/profile/profileSelection.properties55
-rw-r--r--l10n-vi/toolkit/chrome/mozapps/update/updates.properties45
-rw-r--r--l10n-vi/toolkit/chrome/passwordmgr/passwordmgr.properties79
-rw-r--r--l10n-vi/toolkit/chrome/places/places.properties32
-rw-r--r--l10n-vi/toolkit/crashreporter/aboutcrashes.ftl31
-rw-r--r--l10n-vi/toolkit/crashreporter/crashreporter.ini60
-rw-r--r--l10n-vi/toolkit/services/accounts.ftl8
-rw-r--r--l10n-vi/toolkit/toolkit/about/aboutAbout.ftl6
-rw-r--r--l10n-vi/toolkit/toolkit/about/aboutAddons.ftl500
-rw-r--r--l10n-vi/toolkit/toolkit/about/aboutCompat.ftl22
-rw-r--r--l10n-vi/toolkit/toolkit/about/aboutGlean.ftl107
-rw-r--r--l10n-vi/toolkit/toolkit/about/aboutHttpsOnlyError.ftl30
-rw-r--r--l10n-vi/toolkit/toolkit/about/aboutLogging.ftl69
-rw-r--r--l10n-vi/toolkit/toolkit/about/aboutMozilla.ftl11
-rw-r--r--l10n-vi/toolkit/toolkit/about/aboutNetworking.ftl68
-rw-r--r--l10n-vi/toolkit/toolkit/about/aboutPerformance.ftl67
-rw-r--r--l10n-vi/toolkit/toolkit/about/aboutPlugins.ftl43
-rw-r--r--l10n-vi/toolkit/toolkit/about/aboutProcesses.ftl186
-rw-r--r--l10n-vi/toolkit/toolkit/about/aboutProfiles.ftl74
-rw-r--r--l10n-vi/toolkit/toolkit/about/aboutReader.ftl48
-rw-r--r--l10n-vi/toolkit/toolkit/about/aboutRights.ftl36
-rw-r--r--l10n-vi/toolkit/toolkit/about/aboutServiceWorkers.ftl40
-rw-r--r--l10n-vi/toolkit/toolkit/about/aboutSupport.ftl398
-rw-r--r--l10n-vi/toolkit/toolkit/about/aboutTelemetry.ftl135
-rw-r--r--l10n-vi/toolkit/toolkit/about/aboutThirdParty.ftl85
-rw-r--r--l10n-vi/toolkit/toolkit/about/aboutWebauthn.ftl114
-rw-r--r--l10n-vi/toolkit/toolkit/about/aboutWebrtc.ftl278
-rw-r--r--l10n-vi/toolkit/toolkit/about/aboutWindowsMessages.ftl20
-rw-r--r--l10n-vi/toolkit/toolkit/about/abuseReports.ftl116
-rw-r--r--l10n-vi/toolkit/toolkit/about/certviewer.ftl122
-rw-r--r--l10n-vi/toolkit/toolkit/about/config.ftl55
-rw-r--r--l10n-vi/toolkit/toolkit/about/url-classifier.ftl58
-rw-r--r--l10n-vi/toolkit/toolkit/branding/accounts.ftl7
-rw-r--r--l10n-vi/toolkit/toolkit/branding/brandings.ftl46
-rw-r--r--l10n-vi/toolkit/toolkit/contentanalysis/contentanalysis.ftl43
-rw-r--r--l10n-vi/toolkit/toolkit/downloads/downloadUI.ftl51
-rw-r--r--l10n-vi/toolkit/toolkit/downloads/downloadUtils.ftl90
-rw-r--r--l10n-vi/toolkit/toolkit/featuregates/features.ftl58
-rw-r--r--l10n-vi/toolkit/toolkit/formautofill/formAutofill.ftl65
-rw-r--r--l10n-vi/toolkit/toolkit/global/alert.ftl12
-rw-r--r--l10n-vi/toolkit/toolkit/global/appPicker.ftl10
-rw-r--r--l10n-vi/toolkit/toolkit/global/arrowscrollbox.ftl3
-rw-r--r--l10n-vi/toolkit/toolkit/global/browser-utils.ftl11
-rw-r--r--l10n-vi/toolkit/toolkit/global/commonDialog.ftl21
-rw-r--r--l10n-vi/toolkit/toolkit/global/contextual-identity.ftl29
-rw-r--r--l10n-vi/toolkit/toolkit/global/cookieBannerHandling.ftl5
-rw-r--r--l10n-vi/toolkit/toolkit/global/createProfileWizard.ftl53
-rw-r--r--l10n-vi/toolkit/toolkit/global/cspErrors.ftl32
-rw-r--r--l10n-vi/toolkit/toolkit/global/datepicker.ftl50
-rw-r--r--l10n-vi/toolkit/toolkit/global/datetimebox.ftl42
-rw-r--r--l10n-vi/toolkit/toolkit/global/extensionPermissions.ftl33
-rw-r--r--l10n-vi/toolkit/toolkit/global/extensions.ftl104
-rw-r--r--l10n-vi/toolkit/toolkit/global/handlerDialog.ftl70
-rw-r--r--l10n-vi/toolkit/toolkit/global/htmlForm.ftl10
-rw-r--r--l10n-vi/toolkit/toolkit/global/mozCard.ftl3
-rw-r--r--l10n-vi/toolkit/toolkit/global/mozFiveStar.ftl9
-rw-r--r--l10n-vi/toolkit/toolkit/global/mozMessageBar.ftl15
-rw-r--r--l10n-vi/toolkit/toolkit/global/mozSupportLink.ftl5
-rw-r--r--l10n-vi/toolkit/toolkit/global/notification.ftl16
-rw-r--r--l10n-vi/toolkit/toolkit/global/popupnotification.ftl10
-rw-r--r--l10n-vi/toolkit/toolkit/global/processTypes.ftl57
-rw-r--r--l10n-vi/toolkit/toolkit/global/profileDowngrade.ftl18
-rw-r--r--l10n-vi/toolkit/toolkit/global/profileSelection.ftl38
-rw-r--r--l10n-vi/toolkit/toolkit/global/resetProfile.ftl15
-rw-r--r--l10n-vi/toolkit/toolkit/global/resistFingerPrinting.ftl6
-rw-r--r--l10n-vi/toolkit/toolkit/global/run-from-dmg.ftl28
-rw-r--r--l10n-vi/toolkit/toolkit/global/tabprompts.ftl13
-rw-r--r--l10n-vi/toolkit/toolkit/global/textActions.ftl64
-rw-r--r--l10n-vi/toolkit/toolkit/global/timepicker.ftl3
-rw-r--r--l10n-vi/toolkit/toolkit/global/tree.ftl6
-rw-r--r--l10n-vi/toolkit/toolkit/global/unknownContentType.ftl42
-rw-r--r--l10n-vi/toolkit/toolkit/global/videocontrols.ftl71
-rw-r--r--l10n-vi/toolkit/toolkit/global/wizard.ftl37
-rw-r--r--l10n-vi/toolkit/toolkit/intl/languageNames.ftl215
-rw-r--r--l10n-vi/toolkit/toolkit/intl/regionNames.ftl280
-rw-r--r--l10n-vi/toolkit/toolkit/main-window/autocomplete.ftl23
-rw-r--r--l10n-vi/toolkit/toolkit/main-window/findbar.ftl68
-rw-r--r--l10n-vi/toolkit/toolkit/neterror/certError.ftl141
-rw-r--r--l10n-vi/toolkit/toolkit/neterror/netError.ftl149
-rw-r--r--l10n-vi/toolkit/toolkit/neterror/nsserrors.ftl349
-rw-r--r--l10n-vi/toolkit/toolkit/passwordmgr/passwordmgr.ftl39
-rw-r--r--l10n-vi/toolkit/toolkit/payments/payments.ftl51
-rw-r--r--l10n-vi/toolkit/toolkit/pdfviewer/viewer.ftl381
-rw-r--r--l10n-vi/toolkit/toolkit/pictureinpicture/pictureinpicture.ftl86
-rw-r--r--l10n-vi/toolkit/toolkit/preferences/preferences.ftl35
-rw-r--r--l10n-vi/toolkit/toolkit/printing/printDialogs.ftl112
-rw-r--r--l10n-vi/toolkit/toolkit/printing/printPreview.ftl73
-rw-r--r--l10n-vi/toolkit/toolkit/printing/printUI.ftl147
-rw-r--r--l10n-vi/toolkit/toolkit/reportBrokenSite/reportBrokenSite.ftl3
-rw-r--r--l10n-vi/toolkit/toolkit/updates/backgroundupdate.ftl5
-rw-r--r--l10n-vi/toolkit/toolkit/updates/elevation.ftl18
-rw-r--r--l10n-vi/toolkit/toolkit/updates/history.ftl29
330 files changed, 44710 insertions, 0 deletions
diff --git a/l10n-vi/browser/branding/official/brand.ftl b/l10n-vi/browser/branding/official/brand.ftl
new file mode 100644
index 0000000000..30505bfe9d
--- /dev/null
+++ b/l10n-vi/browser/branding/official/brand.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/.
+
+
+## Firefox and Mozilla Brand
+##
+## Firefox and Mozilla 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
+
+-brand-shorter-name = Firefox
+-brand-short-name = Firefox
+-brand-shortcut-name = Firefox
+
+-brand-full-name = Mozilla Firefox
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Nightly, Beta, etc.).
+-brand-product-name = Firefox
+-vendor-short-name = Mozilla
+trademarkInfo = Firefox và logo Firefox là thương hiệu của Mozilla Foundation.
diff --git a/l10n-vi/browser/branding/official/brand.properties b/l10n-vi/browser/branding/official/brand.properties
new file mode 100644
index 0000000000..9d6a612125
--- /dev/null
+++ b/l10n-vi/browser/branding/official/brand.properties
@@ -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/.
+
+brandShorterName=Firefox
+brandShortName=Firefox
+brandFullName=Mozilla Firefox
+
diff --git a/l10n-vi/browser/browser/aboutDialog.ftl b/l10n-vi/browser/browser/aboutDialog.ftl
new file mode 100644
index 0000000000..11069aa450
--- /dev/null
+++ b/l10n-vi/browser/browser/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/.
+
+aboutDialog-title =
+ .title = Giới thiệu về { -brand-full-name }
+releaseNotes-link = Có gì mới
+update-checkForUpdatesButton =
+ .label = Kiểm tra cập nhật
+ .accesskey = C
+update-updateButton =
+ .label = Khởi động lại để cập nhật { -brand-shorter-name }
+ .accesskey = R
+update-checkingForUpdates = Đang kiểm tra cập nhật…
+
+## Variables:
+## $transfer (string) - Transfer progress.
+
+settings-update-downloading = <img data-l10n-name="icon"/>Đang tải cập nhật — <label data-l10n-name="download-status">{ $transfer }</label>
+aboutdialog-update-downloading = Đang tải xuống bản cập nhật — <label data-l10n-name="download-status">{ $transfer }</label>
+
+##
+
+update-applying = Đang cài đặt cập nhật…
+update-failed = Cập nhật thất bại. <label data-l10n-name="failed-link">Tải phiên bản mới nhất</label>
+update-failed-main = Cập nhật thất bại. <a data-l10n-name="failed-link-main">Tải phiên bản mới nhất</a>
+update-adminDisabled = Cập nhật bị vô hiệu hóa bởi quản trị hệ thống
+update-policy-disabled = Cập nhật bị vô hiệu hoá bởi tổ chức của bạn
+update-noUpdatesFound = { -brand-short-name } đã được cập nhật
+aboutdialog-update-checking-failed = Không thể kiểm tra bản cập nhật.
+update-otherInstanceHandlingUpdates = { -brand-short-name } đang được cập nhật bởi tiến trình khác
+
+## Variables:
+## $displayUrl (String): URL to page with download instructions. Example: www.mozilla.org/firefox/nightly/
+
+aboutdialog-update-manual-with-link = Cập nhật có tại <label data-l10n-name="manual-link">{ $displayUrl }</label>
+settings-update-manual-with-link = Cập nhật có tại <a data-l10n-name="manual-link">{ $displayUrl }</a>
+update-unsupported = Bạn không thể cập nhật thêm trên hệ thống này nữa. <label data-l10n-name="unsupported-link">Tìm hiểu thêm</label>
+update-restarting = Đang khởi động lại…
+update-internal-error2 = Không thể kiểm tra các bản cập nhật do lỗi nội bộ. Các bản cập nhật có sẵn tại <label data-l10n-name="manual-link">{ $displayUrl }</label>
+
+##
+
+# Variables:
+# $channel (String): description of the update channel (e.g. "release", "beta", "nightly" etc.)
+aboutdialog-channel-description = Bạn hiện đang ở trên kênh cập nhật <label data-l10n-name="current-channel">{ $channel }</label>.
+warningDesc-version = { -brand-short-name } được thiết kế để thử nghiệm và có thể không ổn định.
+aboutdialog-help-user = Trợ giúp { -brand-product-name }
+aboutdialog-submit-feedback = Gửi phản hồi
+community-exp = <label data-l10n-name="community-exp-mozillaLink">{ -vendor-short-name }</label> là một <label data-l10n-name="community-exp-creditsLink">cộng đồng toàn cầu</label> 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 <label data-l10n-name="community-mozillaLink">{ -vendor-short-name }</label>, một <label data-l10n-name="community-creditsLink">cộng đồng toàn cầu</label> cùng chung sức bảo vệ Web mở và cho phép ai cũng truy cập được.
+helpus = Bạn muốn giúp đỡ? <label data-l10n-name="helpus-donateLink">Quyên góp tài chính</label>, hoặc <label data-l10n-name="helpus-getInvolvedLink">tham gia đóng góp!</label>
+bottomLinks-license = Thông tin giấy phép
+bottomLinks-rights = Quyền hạn người dùng cuối
+bottomLinks-privacy = Chính sách riêng tư
+# Example of resulting string: 66.0.1 (64-bit)
+# Variables:
+# $version (String): version of Firefox, 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 Firefox for Nightly 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)
diff --git a/l10n-vi/browser/browser/aboutLogins.ftl b/l10n-vi/browser/browser/aboutLogins.ftl
new file mode 100644
index 0000000000..59d2e4ed22
--- /dev/null
+++ b/l10n-vi/browser/browser/aboutLogins.ftl
@@ -0,0 +1,457 @@
+# 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/.
+# NOTE: New strings should use the about-logins- prefix.
+
+about-logins-page-title = Thông tin đăng nhập & mật khẩu
+about-logins-login-filter =
+ .placeholder = Tìm kiếm thông tin đăng nhập
+ .key = F
+create-new-login-button =
+ .title = Tạo thông tin đăng nhập mới
+about-logins-page-title-name = Mật khẩu
+about-logins-login-filter2 =
+ .placeholder = Tìm kiếm mật khẩu
+ .key = F
+create-login-button =
+ .title = Thêm mật khẩu
+fxaccounts-sign-in-text = Nhận mật khẩu của bạn trên các thiết bị khác của bạn
+fxaccounts-sign-in-sync-button = Đăng nhập vào đồng bộ hóa
+fxaccounts-avatar-button =
+ .title = Quản lý tài khoản
+
+## The ⋯ menu that is in the top corner of the page
+
+menu =
+ .title = Mở menu
+# This menuitem is only visible on Windows and macOS
+about-logins-menu-menuitem-import-from-another-browser = Nhập dữ liệu từ trình duyệt khác…
+about-logins-menu-menuitem-import-from-a-file = Nhập từ tập tin…
+about-logins-menu-menuitem-export-logins = Xuất thông tin đăng nhập…
+about-logins-menu-menuitem-remove-all-logins = Xóa tất cả thông tin đăng nhập…
+about-logins-menu-menuitem-export-logins2 = Xuất mật khẩu…
+about-logins-menu-menuitem-remove-all-logins2 = Xóa tất cả mật khẩu…
+menu-menuitem-preferences =
+ { PLATFORM() ->
+ [windows] Tùy chọn
+ *[other] Tùy chỉnh
+ }
+about-logins-menu-menuitem-help = Trợ giúp
+
+## Login List
+
+login-list =
+ .aria-label = Thông tin đăng nhập phù hợp với truy vấn tìm kiếm
+# Variables
+# $count (number) - Number of logins
+login-list-count =
+ { $count ->
+ *[other] { $count } thông tin đăng nhập
+ }
+# Variables
+# $count (number) - Number of filtered logins
+# $total (number) - Total number of logins
+login-list-filtered-count = { $count }/{ $total } thông tin đăng nhập
+# Variables
+# $count (number) - Number of logins
+login-list-count2 = { $count } mật khẩu
+# Variables
+# $count (number) - Number of filtered logins
+# $total (number) - Total number of logins
+login-list-filtered-count2 = { $count }/{ $total } mật khẩu
+login-list-sort-label-text = Sắp xếp theo:
+login-list-name-option = Tên (A-Z)
+login-list-name-reverse-option = Tên (Z-A)
+login-list-username-option = Tên người dùng (A-Z)
+login-list-username-reverse-option = Tên người dùng (Z-A)
+about-logins-login-list-alerts-option = Cảnh báo
+login-list-last-changed-option = Sửa đổi lần cuối
+login-list-last-used-option = Sử dụng lần cuối
+login-list-intro-title = Không tìm thấy thông tin đăng nhập
+login-list-intro-title2 = Không có mật khẩu đã lưu
+login-list-intro-description = Khi bạn lưu mật khẩu trong { -brand-product-name }, nó sẽ hiển thị ở đây.
+about-logins-login-list-empty-search-title = Không tìm thấy thông tin đăng nhập
+about-logins-login-list-empty-search-title2 = Không có mật khẩu nào
+about-logins-login-list-empty-search-description = Không có kết quả phù hợp với tìm kiếm của bạn.
+login-list-item-title-new-login = Đăng nhập mới
+login-list-item-subtitle-new-login = Nhập thông tin đăng nhập của bạn
+login-list-item-title-new-login2 = Thêm mật khẩu
+login-list-item-subtitle-missing-username = (không có tên người dùng)
+about-logins-list-item-breach-icon =
+ .title = Trang web bị rò rỉ
+about-logins-list-item-vulnerable-password-icon =
+ .title = Mật khẩu dễ bị tấn công
+about-logins-list-section-breach = Trang web bị rò rỉ
+about-logins-list-section-vulnerable = Mật khẩu dễ bị tấn công
+about-logins-list-section-nothing = Không có cảnh báo
+about-logins-list-section-today = Hôm nay
+about-logins-list-section-yesterday = Hôm qua
+about-logins-list-section-week = 7 ngày trước
+
+## Introduction screen
+
+about-logins-login-intro-heading-logged-out2 = Tìm kiếm thông tin đăng nhập đã lưu của bạn? Bật đồng bộ hóa hoặc nhập chúng.
+about-logins-login-intro-heading-logged-in = Không tìm thấy thông tin đăng nhập được đồng bộ hóa.
+login-intro-description = Nếu bạn đã lưu thông tin đăng nhập của mình vào { -brand-product-name } trên một thiết bị khác, thì đây là cách để có được chúng ở đây:
+login-intro-instructions-fxa = Tạo hoặc đăng nhập vào { -fxaccount-brand-name } của bạn trên thiết bị lưu thông tin đăng nhập của bạn.
+about-logins-login-intro-heading-message = Lưu mật khẩu của bạn vào nơi an toàn
+login-intro-description2 = Tất cả mật khẩu bạn lưu vào { -brand-product-name } đều được mã hóa. Ngoài ra, chúng tôi còn đề phòng các vụ rò rỉ và cảnh báo cho bạn nếu bạn bị ảnh hưởng. <a data-l10n-name="breach-alert-link">Tìm hiểu thêm</a>
+login-intro-instructions-fxa2 = Tạo hoặc đăng nhập vào tài khoản của bạn trên thiết bị lưu thông tin đăng nhập của bạn.
+login-intro-instructions-fxa-settings = Đi đến Cài đặt > Đồng bộ hóa > Bật đồng bộ hóa… Chọn hộp kiểm Thông tin đăng nhập và mật khẩu.
+login-intro-instructions-fxa-passwords-help = Truy cập <a data-l10n-name="passwords-help-link">hỗ trợ mật khẩu</a> để được trợ giúp thêm.
+about-logins-intro-browser-only-import = Nếu thông tin đăng nhập của bạn được lưu trong một trình duyệt khác, bạn có thể <a data-l10n-name="import-link">nhập chúng vào { -brand-product-name }</a>
+about-logins-intro-import2 = Nếu thông tin đăng nhập của bạn được lưu bên ngoài { -brand-product-name }, bạn có thể <a data-l10n-name="import-browser-link">nhập chúng từ trình duyệt khác</a> hoặc <a data-l10n-name="import-file-link">từ một tập tin</a>
+about-logins-intro-import3 = Chọn nút dấu cộng bên trên để thêm mật khẩu ngay. Bạn cũng có thể <a data-l10n-name="import-browser-link">nhập mật khẩu từ trình duyệt khác</a> hoặc <a data-l10n-name="import-file-link">từ một tập tin</a>.
+
+## Login
+
+login-item-new-login-title = Tạo thông tin đăng nhập mới
+# Header for adding a password
+about-logins-login-item-new-login-title = Thêm mật khẩu
+login-item-edit-button = Chỉnh sửa
+about-logins-login-item-remove-button = Xóa
+login-item-origin-label = Địa chỉ trang web
+login-item-tooltip-message = Đảm bảo rằng địa chỉ này khớp với địa chỉ chính xác của trang web mà bạn đăng nhập.
+about-logins-origin-tooltip2 = Nhập địa chỉ đầy đủ và đảm bảo địa chỉ đó khớp chính xác với nơi bạn sẽ đăng nhập.
+# Variables
+# $webTitle (String) - Website title of the password being changed.
+about-logins-edit-password-tooltip = Đảm bảo bạn đang lưu mật khẩu hiện tại của mình cho trang web này. Thay đổi mật khẩu ở đây không có nghĩa là đã thay đổi nó trong { $webTitle }.
+about-logins-add-password-tooltip = Đảm bảo bạn đang lưu mật khẩu hiện tại của mình cho trang web này.
+login-item-origin =
+ .placeholder = https://www.example.com
+login-item-username-label = Tên đăng nhập
+about-logins-login-item-username =
+ .placeholder = (không có tên người dùng)
+login-item-copy-username-button-text = Sao chép
+login-item-copied-username-button-text = Đã sao chép!
+login-item-password-label = Mật khẩu
+login-item-password-reveal-checkbox =
+ .aria-label = Hiển thị mật khẩu
+login-item-copy-password-button-text = Sao chép
+login-item-copied-password-button-text = Đã sao chép!
+login-item-save-changes-button = Lưu thay đổi
+about-logins-login-item-save-changes-button = Lưu
+login-item-save-new-button = Lưu
+login-item-cancel-button = Hủy bỏ
+
+## The date is displayed in a timeline showing the password evolution.
+## A label is displayed under the date to describe the type of change.
+## (e.g. updated, created, etc.)
+
+# Variables
+# $datetime (date) - Event date
+login-item-timeline-point-date = { DATETIME($datetime, day: "numeric", month: "short", year: "numeric") }
+login-item-timeline-action-created = Đã tạo
+login-item-timeline-action-updated = Đã cập nhật
+login-item-timeline-action-used = Được sử dụng
+
+## OS Authentication dialog
+
+about-logins-os-auth-dialog-caption = { -brand-full-name }
+
+## The macOS strings are preceded by the operating system with "Firefox 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 respected locale.
+
+# This message can be seen when attempting to edit a login in about:logins on Windows.
+about-logins-edit-login-os-auth-dialog-message-win = Để chỉnh sửa thông tin đăng nhập của bạn, 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 when attempting to edit a login in about:logins
+# On MacOS, only provide the reason that account verification is needed. Do not put a complete sentence here.
+about-logins-edit-login-os-auth-dialog-message-macosx = chỉnh sửa thông tin đăng nhập đã lưu
+# This message can be seen when attempting to edit a login in about:logins on Windows.
+about-logins-edit-login-os-auth-dialog-message2-win = Để chỉnh sửa mật khẩu, 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 cho tài khoản của bạn.
+# This message can be seen when attempting to edit a login in about:logins
+# On MacOS, only provide the reason that account verification is needed. Do not put a complete sentence here.
+about-logins-edit-login-os-auth-dialog-message2-macosx = chỉnh sửa mật khẩu đã lưu
+# This message can be seen when attempting to reveal a password in about:logins on Windows.
+about-logins-reveal-password-os-auth-dialog-message-win = Để xem mật khẩu của bạn, 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 when attempting to reveal a password in about:logins
+# On MacOS, only provide the reason that account verification is needed. Do not put a complete sentence here.
+about-logins-reveal-password-os-auth-dialog-message-macosx = hiển thị mật khẩu đã lưu
+# This message can be seen when attempting to copy a password in about:logins on Windows.
+about-logins-copy-password-os-auth-dialog-message-win = Để sao chép mật khẩu của bạn, 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 when attempting to copy a password in about:logins
+# On MacOS, only provide the reason that account verification is needed. Do not put a complete sentence here.
+about-logins-copy-password-os-auth-dialog-message-macosx = sao chép mật khẩu đã lưu
+# This message can be seen when attempting to export a password in about:logins on Windows.
+about-logins-export-password-os-auth-dialog-message-win = Để xuất ra thông tin đăng nhập của bạn, hãy nhập thông tin đăng nhập Windows của bạn. Điều này giúp bảo mật tài khoản của bạn.
+# This message can be seen when attempting to export a password in about:logins
+# On MacOS, only provide the reason that account verification is needed. Do not put a complete sentence here.
+about-logins-export-password-os-auth-dialog-message-macosx = xuất thông tin đăng nhập và mật khẩu
+# This message can be seen when attempting to export a password in about:logins on Windows.
+about-logins-export-password-os-auth-dialog-message2-win = Để xuất mật khẩu của bạn, 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 cho tài khoản của bạn.
+# This message can be seen when attempting to export a password in about:logins
+# On MacOS, only provide the reason that account verification is needed. Do not put a complete sentence here.
+about-logins-export-password-os-auth-dialog-message2-macosx = xuất mật khẩu đã lưu
+
+## Primary Password notification
+
+about-logins-primary-password-notification-message = Vui lòng nhập mật khẩu chính của bạn để xem thông tin đăng nhập và mật khẩu đã lưu
+master-password-reload-button =
+ .label = Đăng nhập
+ .accesskey = L
+
+## Dialogs
+
+confirmation-dialog-cancel-button = Hủy bỏ
+confirmation-dialog-dismiss-button =
+ .title = Hủy bỏ
+about-logins-confirm-remove-dialog-title = Xoá thông tin đăng nhập này?
+confirm-delete-dialog-message = Thao tác này không thể hoàn tác được.
+# Title for modal to confirm the removal of one saved password
+about-logins-confirm-delete-dialog-title = Xóa mật khẩu?
+# Message for modal to confirm the removal of one saved password
+about-logins-confirm-delete-dialog-message = Bạn không thể hoàn tác hành động này.
+about-logins-confirm-remove-dialog-confirm-button = Xóa
+
+## Variables
+## $count (number) - Number of items
+
+about-logins-confirm-remove-all-dialog-confirm-button-label =
+ { $count ->
+ [1] Xóa
+ *[other] Xóa tất cả
+ }
+about-logins-confirm-remove-all-dialog-checkbox-label =
+ { $count ->
+ [1] Có, xóa thông tin đăng nhập này
+ *[other] Có, xóa các thông tin đăng nhập này
+ }
+about-logins-confirm-remove-all-dialog-title =
+ { $count ->
+ *[other] Xóa tất cả { $count } thông tin đăng nhập?
+ }
+about-logins-confirm-remove-all-dialog-message =
+ { $count ->
+ [1] Thao tác này sẽ xóa thông tin đăng nhập bạn đã lưu vào { -brand-short-name } và mọi cảnh báo rò rỉ xuất hiện ở đây. Bạn sẽ không thể hoàn tác hành động này.
+ *[other] Thao tác này sẽ xóa các thông tin đăng nhập bạn đã lưu vào { -brand-short-name } và mọi cảnh báo rò rỉ xuất hiện ở đây. Bạn sẽ không thể hoàn tác hành động này.
+ }
+about-logins-confirm-remove-all-sync-dialog-title =
+ { $count ->
+ *[other] Xóa tất cả { $count } thông tin đăng nhập khỏi tất cả các thiết bị?
+ }
+about-logins-confirm-remove-all-sync-dialog-message =
+ { $count ->
+ [1] Thao tác này sẽ xóa thông tin đăng nhập bạn đã lưu vào { -brand-short-name } trên tất cả các thiết bị được đồng bộ hóa với { -fxaccount-brand-name } của bạn. Thao tác này cũng sẽ xóa các cảnh báo rò rỉ xuất hiện ở đây. Bạn sẽ không thể hoàn tác hành động này.
+ *[other] Thao tác này sẽ xóa tất cả các thông tin đăng nhập bạn đã lưu vào { -brand-short-name } trên tất cả các thiết bị được đồng bộ hóa với { -fxaccount-brand-name } của bạn. Thao tác này cũng sẽ xóa các cảnh báo rò rỉ xuất hiện ở đây. Bạn sẽ không thể hoàn tác hành động này.
+ }
+about-logins-confirm-remove-all-sync-dialog-message2 =
+ { $count ->
+ [1] Thao tác này sẽ xóa thông tin đăng nhập bạn đã lưu vào { -brand-short-name } trên tất cả các thiết bị được đồng bộ hóa với tài khoản của bạn. Thao tác này cũng sẽ xóa các cảnh báo rò rỉ dữ liệu xuất hiện ở đây. Bạn sẽ không thể hoàn tác hành động này.
+ *[other] Thao tác này sẽ xóa tất cả thông tin đăng nhập bạn đã lưu vào { -brand-short-name } trên tất cả các thiết bị được đồng bộ hóa với tài khoản của bạn. Thao tác này cũng sẽ xóa các cảnh báo rò rỉ dữ liệu xuất hiện ở đây. Bạn sẽ không thể hoàn tác hành động này.
+ }
+# Checkbox for modal to confirm the removal of saved passwords
+about-logins-confirm-remove-all-dialog-checkbox-label2 =
+ { $count ->
+ [1] Đúng, xóa mật khẩu
+ *[other] Đúng, xóa mật khẩu
+ }
+# Title for modal to confirm the removal of all saved passwords when user is NOT synced
+about-logins-confirm-remove-all-dialog-title2 = Xóa tất cả { $count } mật khẩu?
+# Message for modal to confirm the removal of saved passwords when user is NOT synced
+about-logins-confirm-remove-all-dialog-message2 =
+ { $count ->
+ [1] Thao tác này sẽ xóa mật khẩu đã lưu ở { -brand-short-name } và mọi cảnh báo rò rỉ. Bạn không thể hoàn tác hành động này.
+ *[other] Thao tác này sẽ xóa mật khẩu đã lưu ở { -brand-short-name } và mọi cảnh báo rò rỉ. Bạn không thể hoàn tác hành động này.
+ }
+# Title for modal to confirm the removal of all saved passwords when user IS SYNCED
+about-logins-confirm-remove-all-sync-dialog-title2 = Xóa tất cả { $count } mật khẩu khỏi tất cả các thiết bị?
+# Message for modal to confirm the removal of saved passwords when user IS synced.
+about-logins-confirm-remove-all-sync-dialog-message3 =
+ { $count ->
+ [1] Thao tác này sẽ xóa mật khẩu đã lưu ở { -brand-short-name } trên tất cả các thiết bị đã đồng bộ hóa của bạn. Thao tác này cũng sẽ xóa mọi cảnh báo rò rỉ xuất hiện ở đây. Bạn không thể hoàn tác hành động này.
+ *[other] Thao tác này sẽ xóa tất cả mật khẩu đã lưu ở { -brand-short-name } trên tất cả các thiết bị đã đồng bộ hóa của bạn. Thao tác này cũng sẽ xóa mọi cảnh báo rò rỉ xuất hiện ở đây. Bạn không thể hoàn tác hành động này.
+ }
+
+##
+
+about-logins-confirm-export-dialog-title = Xuất thông tin đăng nhập và mật khẩu
+about-logins-confirm-export-dialog-message = Mật khẩu của bạn sẽ được lưu dưới dạng văn bản có thể đọc được (ví dụ: BadP@ssw0rd) để bất kỳ ai có thể mở tập tin được xuất đều có thể xem chúng.
+about-logins-confirm-export-dialog-confirm-button = Xuất…
+about-logins-confirm-export-dialog-title2 = Lưu ý về việc xuất mật khẩu
+about-logins-confirm-export-dialog-message2 =
+ Khi bạn xuất, mật khẩu của bạn sẽ được lưu vào một tập tin văn bản có thể đọc được.
+ Khi bạn sử dụng xong tập tin, chúng tôi khuyên bạn nên xóa nó để những người khác sử dụng thiết bị này không thể nhìn thấy mật khẩu của bạn.
+about-logins-confirm-export-dialog-confirm-button2 = Tiếp tục xuất
+about-logins-alert-import-title = Hoàn thành nhập
+about-logins-alert-import-message = Xem tóm tắt chi tiết nhập
+confirm-discard-changes-dialog-title = Hủy bỏ những thay đổi chưa lưu?
+confirm-discard-changes-dialog-message = Tất cả các thay đổi chưa được lưu sẽ bị mất.
+confirm-discard-changes-dialog-confirm-button = Loại bỏ
+
+## Breach Alert notification
+
+about-logins-breach-alert-title = Trang web rò rỉ dữ liệu
+breach-alert-text = Mật khẩu đã bị rò rỉ hoặc đánh cắp từ trang web này kể từ lần cuối bạn cập nhật thông tin đăng nhập. Thay đổi mật khẩu của bạn để bảo vệ tài khoản của bạn.
+about-logins-breach-alert-date = Rò rỉ này xảy ra vào { DATETIME($date, day: "numeric", month: "long", year: "numeric") }
+# Variables:
+# $hostname (String) - The hostname of the website associated with the login, e.g. "example.com"
+about-logins-breach-alert-link = Đi đến { $hostname }
+
+## Vulnerable Password notification
+
+about-logins-vulnerable-alert-title = Mật khẩu dễ bị tấn công
+about-logins-vulnerable-alert-text2 = Mật khẩu này đã được sử dụng trên một tài khoản khác có khả năng bị rò rỉ dữ liệu. Việc sử dụng lại thông tin đăng nhập sẽ khiến tất cả các tài khoản của bạn gặp rủi ro. Thay đổi mật khẩu này.
+# Variables:
+# $hostname (String) - The hostname of the website associated with the login, e.g. "example.com"
+about-logins-vulnerable-alert-link = Đi đến { $hostname }
+about-logins-vulnerable-alert-learn-more-link = Tìm hiểu thêm
+
+## Error Messages
+
+# This is an error message that appears when a user attempts to save
+# a new login that is identical to an existing saved login.
+# Variables:
+# $loginTitle (String) - The title of the website associated with the login.
+about-logins-error-message-duplicate-login-with-link = Một mục nhập cho { $loginTitle } với tên người dùng đã tồn tại. <a data-l10n-name="duplicate-link">Chuyển đến giá trị hiện có?</a>
+# This is a generic error message.
+about-logins-error-message-default = Đã xảy ra lỗi trong khi cố gắng lưu mật khẩu này.
+
+## Login Export Dialog
+
+# Title of the file picker dialog
+about-logins-export-file-picker-title = Xuất tập tin đăng nhập
+# The default file name shown in the file picker when exporting saved logins.
+# This must end in .csv
+about-logins-export-file-picker-default-filename = logins.csv
+# Title of the file picker dialog
+about-logins-export-file-picker-title2 = Xuất mật khẩu từ { -brand-short-name }
+# The default file name shown in the file picker when exporting saved logins.
+# This must end in .csv
+about-logins-export-file-picker-default-filename2 = passwords.csv
+about-logins-export-file-picker-export-button = Xuất
+# A description for the .csv file format that may be shown as the file type
+# filter by the operating system.
+about-logins-export-file-picker-csv-filter-title =
+ { PLATFORM() ->
+ [macos] Tài liệu CSV
+ *[other] Tập tin CSV
+ }
+
+## Login Import Dialog
+
+# Title of the file picker dialog
+about-logins-import-file-picker-title = Nhập tập tin đăng nhập
+# Title of the file picker dialog
+about-logins-import-file-picker-title2 = Nhập mật khẩu sang { -brand-short-name }
+about-logins-import-file-picker-import-button = Nhập
+# A description for the .csv file format that may be shown as the file type
+# filter by the operating system.
+about-logins-import-file-picker-csv-filter-title =
+ { PLATFORM() ->
+ [macos] Tài liệu CSV
+ *[other] Tập tin CSV
+ }
+# A description for the .tsv file format that may be shown as the file type
+# filter by the operating system. TSV is short for 'tab separated values'.
+about-logins-import-file-picker-tsv-filter-title =
+ { PLATFORM() ->
+ [macos] Tài liệu TSV
+ *[other] Tập tin TSV
+ }
+
+##
+## Variables:
+## $count (number) - The number of affected elements
+
+about-logins-import-dialog-title = Hoàn thành nhập
+about-logins-import-dialog-items-added =
+ { $count ->
+ *[other] <span>Đã thêm thông tin đăng nhập mới:</span> <span data-l10n-name="count">{ $count }</span>
+ }
+about-logins-import-dialog-items-modified =
+ { $count ->
+ *[other] <span>Đã cập nhật thông tin đăng nhập đã có:</span> <span data-l10n-name="count">{ $count }</span>
+ }
+about-logins-import-dialog-items-no-change =
+ { $count ->
+ *[other] <span>Tìm thấy thông tin đăng nhập bị trùng:</span> <span data-l10n-name="count">{ $count }</span> <span data-l10n-name="meta">(không nhập)</span>
+ }
+about-logins-import-dialog-items-added2 =
+ { $count ->
+ *[other] <span>Đã thêm các mật khẩu mới:</span> <span data-l10n-name="count">{ $count }</span>
+ }
+about-logins-import-dialog-items-modified2 =
+ { $count ->
+ *[other] <span>Đã cập nhật các mục hiện có:</span> <span data-l10n-name="count">{ $count }</span>
+ }
+about-logins-import-dialog-items-no-change2 =
+ { $count ->
+ *[other] <span>Đã thấy các mục bị trùng:</span> <span data-l10n-name="count">{ $count }</span> <span data-l10n-name="meta">(không được nhập)</span>
+ }
+about-logins-import-dialog-items-error =
+ { $count ->
+ *[other] <span>Lỗi:</span> <span data-l10n-name="count">{ $count }</span> <span data-l10n-name="meta">(không nhập)</span>
+ }
+about-logins-import-dialog-done = Xong
+about-logins-import-dialog-error-title = Lỗi khi nhập
+about-logins-import-dialog-error-conflicting-values-title = Nhiều giá trị xung đột cho một thông tin đăng nhập
+about-logins-import-dialog-error-conflicting-values-description = Ví dụ: nhiều tên người dùng, mật khẩu, URL, v.v. cho một thông tin đăng nhập.
+about-logins-import-dialog-error-file-format-title = Vấn đề định dạng tập tin
+about-logins-import-dialog-error-file-format-description = Header cột không chính xác hoặc bị thiếu. Đảm bảo rằng tập tin bao gồm các cột cho tên người dùng, mật khẩu và URL.
+about-logins-import-dialog-error-file-permission-title = Không thể đọc tập tin
+about-logins-import-dialog-error-file-permission-description = { -brand-short-name } không có quyền đọc tập tin. Thử thay đổi quyền đối với tập tin.
+about-logins-import-dialog-error-unable-to-read-title = Không thể phân tích cú pháp tập tin
+about-logins-import-dialog-error-unable-to-read-description = Đảm bảo rằng bạn đã chọn đúng tập tin CSV hoặc TSV.
+about-logins-import-dialog-error-no-logins-imported = Không có thông tin đăng nhập nào được nhập
+about-logins-import-dialog-error-learn-more = Tìm hiểu thêm
+about-logins-import-dialog-error-try-import-again = Thử nhập lần nữa...
+about-logins-import-dialog-error-cancel = Hủy bỏ
+about-logins-import-report-title = Tóm tắt nhập
+about-logins-import-report-description = Thông tin đăng nhập và mật khẩu được nhập vào { -brand-short-name }.
+about-logins-import-report-description2 = Mật khẩu được nhập vào { -brand-short-name }.
+#
+# Variables:
+# $number (number) - The number of the row
+about-logins-import-report-row-index = Hàng { $number }
+about-logins-import-report-row-description-no-change = Trùng lặp: Đối sánh chính xác thông tin đăng nhập hiện có
+about-logins-import-report-row-description-modified = Thông tin đăng nhập hiện tại đã được cập nhật
+about-logins-import-report-row-description-added = Đã thêm thông tin đăng nhập mới
+about-logins-import-report-row-description-no-change2 = Trùng lặp: Kết hợp chính xác với mục nhập hiện có
+about-logins-import-report-row-description-modified2 = Đã cập nhật mục hiện tại
+about-logins-import-report-row-description-added2 = Đã thêm mật khẩu mới
+about-logins-import-report-row-description-error = Lỗi: Thiếu trường
+
+##
+## Variables:
+## $field (String) - The name of the field from the CSV file for example url, username or password
+
+about-logins-import-report-row-description-error-multiple-values = Lỗi: Nhiều giá trị cho { $field }
+about-logins-import-report-row-description-error-missing-field = Lỗi: Thiếu { $field }
+
+##
+## Variables:
+## $count (number) - The number of affected elements
+
+about-logins-import-report-added =
+ { $count ->
+ *[other] <div data-l10n-name="count">{ $count }</div> <div data-l10n-name="details">thông tin đăng nhập mới được thêm vào</div>
+ }
+about-logins-import-report-modified =
+ { $count ->
+ *[other] <div data-l10n-name="count">{ $count }</div> <div data-l10n-name="details">thông tin đăng nhập hiện tại đã được cập nhật</div>
+ }
+about-logins-import-report-no-change =
+ { $count ->
+ *[other] <div data-l10n-name="count">{ $count }</div> <div data-l10n-name="details">thông tin đăng nhập trùng lặp</div> <div data-l10n-name="not-imported">(không nhập)</div>
+ }
+about-logins-import-report-added2 =
+ { $count ->
+ *[other] <div data-l10n-name="count">{ $count }</div> <div data-l10n-name="details">mật khẩu mới đã được thêm</div>
+ }
+about-logins-import-report-modified2 =
+ { $count ->
+ *[other] <div data-l10n-name="count">{ $count }</div> <div data-l10n-name="details">mục đã được cập nhật</div>
+ }
+about-logins-import-report-no-change2 =
+ { $count ->
+ *[other] <div data-l10n-name="count">{ $count }</div> <div data-l10n-name="details">mục bị trùng</div> <div data-l10n-name="not-imported">(không được nhập)</div>
+ }
+about-logins-import-report-error =
+ { $count ->
+ *[other] <div data-l10n-name="count">{ $count }</div> <div data-l10n-name="details">lỗi</div> <div data-l10n-name="not-imported">(không nhập)</div>
+ }
+
+## Logins import report page
+
+about-logins-import-report-page-title = Báo cáo tóm tắt nhập
diff --git a/l10n-vi/browser/browser/aboutPocket.ftl b/l10n-vi/browser/browser/aboutPocket.ftl
new file mode 100644
index 0000000000..faad4bca22
--- /dev/null
+++ b/l10n-vi/browser/browser/aboutPocket.ftl
@@ -0,0 +1,75 @@
+# 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/.
+
+
+### Pocket button panel strings for about:pocket-saved, about:pocket-signup, and about:pocket-home
+
+
+## about:pocket-saved panel
+
+# Placeholder text for tag input
+pocket-panel-saved-add-tags =
+ .placeholder = Thêm các tag
+
+pocket-panel-saved-error-generic = Đã xảy ra lỗi khi đang lưu vào { -pocket-brand-name }.
+pocket-panel-saved-error-tag-length = Các tag được giới hạn trong 25 ký tự
+pocket-panel-saved-error-only-links = Chỉ các các liên kết mới có thể được lưu lại
+pocket-panel-saved-error-not-saved = Trang chưa được lưu
+pocket-panel-saved-error-no-internet = Bạn phải kết nối Internet để lưu vào { -pocket-brand-name }. Vui lòng kết nối Internet và thử lại.
+pocket-panel-saved-error-remove = Đã xảy ra lỗi khi thử xóa trang này.
+pocket-panel-saved-page-removed = Trang đã bị xóa
+pocket-panel-saved-page-saved = Đã lưu vào { -pocket-brand-name }
+pocket-panel-saved-page-saved-b = Đã lưu vào { -pocket-brand-name }!
+pocket-panel-saved-processing-remove = Đang xóa trang...
+pocket-panel-saved-removed-updated = Trang đã bị xóa khỏi mục đã lưu
+pocket-panel-saved-processing-tags = Đang thêm các tag...
+pocket-panel-saved-remove-page = Xóa trang
+pocket-panel-saved-save-tags = Lưu lại
+pocket-panel-saved-saving-tags = Đang lưu lại...
+pocket-panel-saved-suggested-tags = Các tag được đề xuất
+pocket-panel-saved-tags-saved = Các tag đã được thêm vào
+
+# This is displayed above a field where the user can add tags
+pocket-panel-signup-add-tags = Thêm tag
+
+## about:pocket-signup panel
+
+pocket-panel-signup-already-have = Bạn đã có tài khoản { -pocket-brand-name }?
+pocket-panel-signup-learn-more = Tìm hiểu thêm
+pocket-panel-signup-login = Đăng nhập
+pocket-panel-signup-signup-email = Đăng ký bằng email
+pocket-panel-signup-signup-cta = Đăng ký { -pocket-brand-name }. Hoàn toàn miễn phí.
+pocket-panel-signup-signup-firefox = Đăng ký với { -brand-product-name }
+pocket-panel-signup-tagline = Lưu bài viết và video từ { -brand-product-name } để xem trên { -pocket-brand-name } trên bất kỳ thiết bị nào, bất cứ lúc nào.
+pocket-panel-signup-tagline-story-one = Nhấp vào nút { -pocket-brand-name } để lưu bất kỳ bài viết, video hoặc trang nào từ { -brand-product-name }.
+pocket-panel-signup-tagline-story-two = Xem trên { -pocket-brand-name } ở bất cứ thiết bị và thời gian nào.
+
+pocket-panel-signup-cta-a-fix = Nút lưu của bạn trên internet
+pocket-panel-signup-cta-b-updated = Nhấp vào nút { -pocket-brand-name } để lưu các bài báo, video và liên kết. Xem các mục đã lưu của bạn trên mọi thiết bị, bất kỳ lúc nào.
+pocket-panel-signup-cta-b-short = Nhấp vào nút { -pocket-brand-name } để lưu các bài báo, video và liên kết.
+pocket-panel-signup-cta-c-updated = Xem các mục đã lưu của bạn trên mọi thiết bị, bất kỳ lúc nào.
+
+## about:pocket-home panel
+
+pocket-panel-home-welcome-back = Chào mừng trở lại
+pocket-panel-home-paragraph = Bạn có thể sử dụng { -pocket-brand-name } để khám phá và lưu các trang web, bài viết, video, podcast hoặc quay lại những gì bạn đã đọc.
+pocket-panel-home-explore-popular-topics = Khám phá các chủ đề phổ biến
+pocket-panel-home-discover-more = Khám phá nhiều hơn
+pocket-panel-home-explore-more = Khám phá
+
+pocket-panel-home-most-recent-saves = Đây là những lần lưu gần đây nhất của bạn:
+pocket-panel-home-most-recent-saves-loading = Đang tải các bản lưu gần đây…
+pocket-panel-home-new-user-cta = Nhấp vào nút { -pocket-brand-name } để lưu các bài báo, video và liên kết.
+pocket-panel-home-new-user-message = Xem các lần lưu gần đây của bạn tại đây.
+
+## Pocket panel header component
+
+pocket-panel-header-my-saves = Xem các mục đã lưu của tôi
+pocket-panel-header-sign-in = Đăng nhập
+
+## Pocket panel buttons
+
+pocket-panel-button-show-all = Hiển thị tất cả
+pocket-panel-button-activate = Kích hoạt { -pocket-brand-name } trong { -brand-product-name }
+pocket-panel-button-remove = Xóa
diff --git a/l10n-vi/browser/browser/aboutPolicies.ftl b/l10n-vi/browser/browser/aboutPolicies.ftl
new file mode 100644
index 0000000000..f2e3805513
--- /dev/null
+++ b/l10n-vi/browser/browser/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 = Đang 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 hiện không hoạt động.
+
+policy-name = Tên của chính sách
+policy-value = Giá trị của chính sách
+policy-errors = Lỗi chính sách
diff --git a/l10n-vi/browser/browser/aboutPrivateBrowsing.ftl b/l10n-vi/browser/browser/aboutPrivateBrowsing.ftl
new file mode 100644
index 0000000000..2c3e3ccbfd
--- /dev/null
+++ b/l10n-vi/browser/browser/aboutPrivateBrowsing.ftl
@@ -0,0 +1,80 @@
+# 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/.
+
+privatebrowsingpage-open-private-window-label = Mở một cửa sổ riêng tư
+ .accesskey = P
+about-private-browsing-search-placeholder = Tìm kiếm trên mạng
+about-private-browsing-info-title = Bạn đang ở cửa sổ riêng tư
+about-private-browsing-search-btn =
+ .title = Tìm kiếm trên mạng
+# Variables
+# $engine (String): the name of the user's default search engine
+about-private-browsing-handoff =
+ .title = Tìm kiếm với { $engine } hoặc nhập địa chỉ
+about-private-browsing-handoff-no-engine =
+ .title = Tìm kiếm hoặc nhập địa chỉ
+# Variables
+# $engine (String): the name of the user's default search engine
+about-private-browsing-handoff-text = Tìm kiếm với { $engine } hoặc nhập địa chỉ
+about-private-browsing-handoff-text-no-engine = Tìm kiếm hoặc nhập địa chỉ
+about-private-browsing-not-private = Hiện tại bạn không sử dụng cửa sổ riêng tư riêng tư.
+about-private-browsing-info-description-private-window = Cửa sổ riêng tư: { -brand-short-name } xóa lịch sử tìm kiếm và duyệt web của bạn khi bạn đóng tất cả các cửa sổ riêng tư. Điều này không làm cho bạn ẩn danh.
+about-private-browsing-info-description-simplified = { -brand-short-name } xóa lịch sử tìm kiếm và duyệt web của bạn khi bạn đóng tất cả các cửa sổ riêng tư, nhưng điều này không khiến bạn ẩn danh.
+about-private-browsing-learn-more-link = Tìm hiểu thêm
+about-private-browsing-hide-activity = Ẩn hoạt động và vị trí của bạn, ở mọi nơi bạn duyệt
+about-private-browsing-get-privacy = Nhận các biện pháp bảo vệ quyền riêng tư ở mọi nơi bạn duyệt
+about-private-browsing-hide-activity-1 = Ẩn hoạt động duyệt web và vị trí với { -mozilla-vpn-brand-name }. Một cú nhấp chuột sẽ tạo ra một kết nối an toàn, ngay cả trên Wi-Fi công cộng.
+about-private-browsing-prominent-cta = Giữ riêng tư với { -mozilla-vpn-brand-name }
+about-private-browsing-focus-promo-cta = Tải xuống { -focus-brand-name }
+about-private-browsing-focus-promo-header = { -focus-brand-name }: Duyệt web riêng tư khi đang di chuyển
+about-private-browsing-focus-promo-text = Ứng dụng di động duyệt web riêng tư chuyên dụng của chúng tôi sẽ xóa lịch sử và cookie của bạn mọi lúc.
+
+## The following strings will be used for experiments in Fx99 and Fx100
+
+about-private-browsing-focus-promo-header-b = Duyệt qua điện thoại của bạn ở chế độ riêng tư
+about-private-browsing-focus-promo-text-b = Sử dụng { -focus-brand-name } cho những tìm kiếm riêng tư mà bạn không muốn trình duyệt chính trên thiết bị di động của mình nhìn thấy.
+about-private-browsing-focus-promo-header-c = Quyền riêng tư nâng cao trên thiết bị di động
+about-private-browsing-focus-promo-text-c = { -focus-brand-name } xóa lịch sử của bạn mọi lúc trong khi chặn quảng cáo và trình theo dõi.
+# This string is the title for the banner for search engine selection
+# in a private window.
+# Variables:
+# $engineName (String) - The engine name that will currently be used for the private window.
+about-private-browsing-search-banner-title = { $engineName } là công cụ tìm kiếm mặc định của bạn trong cửa sổ riêng tư
+about-private-browsing-search-banner-description =
+ { PLATFORM() ->
+ [windows] Để chọn một công cụ tìm kiếm khác, hãy truy cập <a data-l10n-name="link-options">Tùy chọn</a>
+ *[other] Để chọn một công cụ tìm kiếm khác, hãy truy cập <a data-l10n-name="link-options">Tùy chỉnh</a>
+ }
+about-private-browsing-search-banner-close-button =
+ .aria-label = Đóng
+about-private-browsing-promo-close-button =
+ .title = Đóng
+
+## Strings used in a “pin promotion” message, which prompts users to pin a private window
+
+about-private-browsing-pin-promo-header = Tự do duyệt web riêng tư trong một cú nhấp chuột
+about-private-browsing-pin-promo-link-text =
+ { PLATFORM() ->
+ [macos] Giữ trên Dock
+ *[other] Ghim vào thanh tác vụ
+ }
+about-private-browsing-pin-promo-title = Không có cookie hoặc lịch sử đã lưu, ngay từ màn hình của bạn. Duyệt như không có ai đang xem.
+
+## Strings used in a promotion message for cookie banner reduction
+
+# Simplified version of the headline if the original text doesn't work
+# in your language: `See fewer cookie requests`.
+about-private-browsing-cookie-banners-promo-header = Biểu ngữ cookie sẽ biến mất!
+about-private-browsing-cookie-banners-promo-button = Giảm biểu ngữ cookie
+about-private-browsing-cookie-banners-promo-message = Hãy để { -brand-short-name } tự động trả lời các cửa sổ bật lên cookie cho bạn để bạn có thể quay lại trình duyệt mà không bị phân tâm. { -brand-short-name } sẽ từ chối tất cả các yêu cầu nếu có thể.
+# Simplified version of the headline if the original text doesn't work
+# in your language: `{ -brand-short-name } will show fewer cookie requests`
+about-private-browsing-cookie-banners-promo-heading = { -brand-short-name } tự động loại bỏ các biểu ngữ cookie cho bạn
+about-private-browsing-cookie-banners-promo-body = Giờ đây, chúng tôi tự động từ chối nhiều biểu ngữ cookie để bạn có thể ít bị theo dõi hơn và quay lại duyệt web mà không bị phân tâm.
+
+## Strings for Felt Privacy v1 experiments in 119
+
+about-private-browsing-felt-privacy-v1-info-header = Không để lại dấu vết trên thiết bị này
+about-private-browsing-felt-privacy-v1-info-body = { -brand-short-name } xóa cookie, lịch sử và dữ liệu trang web của bạn khi bạn đóng tất cả các cửa sổ riêng tư của mình.
+about-private-browsing-felt-privacy-v1-info-link = Ai có thể xem hoạt động của tôi?
diff --git a/l10n-vi/browser/browser/aboutRestartRequired.ftl b/l10n-vi/browser/browser/aboutRestartRequired.ftl
new file mode 100644
index 0000000000..fe87bbb5a7
--- /dev/null
+++ b/l10n-vi/browser/browser/aboutRestartRequired.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/.
+
+restart-required-title = Yêu cầu khởi động lại
+restart-required-heading = Khởi động lại để tiếp tục sử dụng { -brand-short-name }
+restart-required-intro = Một bản cập nhật { -brand-short-name } đã chạy trong nền. Bạn cần phải khởi động lại để hoàn tất quá trình cập nhật.
+window-restoration-info = Các cửa sổ và thẻ của bạn sẽ nhanh chóng được khôi phục, nhưng sẽ không với những cửa sổ riêng tư.
+
+restart-button-label = Khởi động lại { -brand-short-name }
diff --git a/l10n-vi/browser/browser/aboutRobots.ftl b/l10n-vi/browser/browser/aboutRobots.ftl
new file mode 100644
index 0000000000..df62691f8f
--- /dev/null
+++ b/l10n-vi/browser/browser/aboutRobots.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/.
+
+
+### These strings are used in the about:robots page, which ties in with the
+### robots theme used in the Firefox 3 Beta 2/3 first run pages.
+### They're just meant to be fun and whimsical, with references to some geeky
+### but well-known robots in movies and books. Be creative with translations!
+
+# Nonsense line from the movie "The Day The Earth Stood Still". No translation needed.
+page-title = Gort! Klaatu barada nikto!
+# Movie: Logan's Run... Box (cyborg): "Welcome Humans! I am ready for you."
+error-title-text = Xin chào loài người!
+# Movie: The Day The Earth Stood Still. Spoken by Klaatu.
+error-short-desc-text = Chúng tôi đến thăm các bạn với thiện chí hòa bình!
+# Various books by Isaac Asimov. http://en.wikipedia.org/wiki/Three_Laws_of_Robotics
+error-long-desc1 = Người máy không được làm tổn hại con người hoặc bỏ mặc khi họ gặp nguy hiểm.
+# Movie: Blade Runner. Batty: "I've seen things you people wouldn’t believe..."
+error-long-desc2 = Loài người sẽ không tin những gì người máy đã thấy.
+# Book: Hitchhiker’s Guide To The Galaxy. What the Sirius Cybernetics Corporation calls robots.
+error-long-desc3 = Người máy là những người bạn vui vẻ bằng nhựa.
+# TV: Futurama. Bender's first line is "Bite my shiny metal ass."
+error-long-desc4 = Người máy có phần hậu bằng kim loại bóng loáng mà bạn không nên cắn.
+# TV: Battlestar Galactica (2004 series). From the opening text.
+error-trailer-desc-text = Và chúng có một kế hoạch.
+# Book: Hitchhiker's Guide To The Galaxy. Arthur presses a button and it warns him.
+error-try-again = Thử lại
+ .label2 = Vui lòng đừng nhấn cái nút này nữa.
diff --git a/l10n-vi/browser/browser/aboutSessionRestore.ftl b/l10n-vi/browser/browser/aboutSessionRestore.ftl
new file mode 100644
index 0000000000..6098ea6aa3
--- /dev/null
+++ b/l10n-vi/browser/browser/aboutSessionRestore.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/.
+
+restore-page-tab-title = Khôi phục phiên làm việc
+
+# The title is intended to be apologetic and disarming, expressing dismay
+# and regret that we are unable to restore the session for the user
+restore-page-error-title = Xin lỗi. Chúng tôi đang gặp sự cố khi khôi phục lại các trang của bạn.
+restore-page-problem-desc = Chúng tôi đang gặp sự cố khi khôi phục lại phiên duyệt web lần cuối của bạn. Chọn "Khôi phục phiên làm việc" để thử lại.
+restore-page-try-this = Vẫn không thể phục hồi phiên làm việc của bạn? Đôi khi một thẻ đang gây ra sự cố. Xem các thẻ trước đó, bỏ chọn các thẻ mà bạn không cần khôi phục, và sau đó khôi phục lại.
+
+restore-page-hide-tabs = Ẩn thẻ trước đó
+restore-page-show-tabs = Xem thẻ trước đó
+
+# When tabs are distributed across multiple windows, this message is used as a
+# header above the group of tabs for each window.
+#
+# Variables:
+# $windowNumber: Progressive number associated to each window
+restore-page-window-label = Cửa sổ { $windowNumber }
+
+restore-page-restore-header =
+ .label = Khôi phục
+
+restore-page-list-header =
+ .label = Cửa sổ và thẻ
+
+restore-page-try-again-button =
+ .label = Khôi phục phiên làm việc
+ .accesskey = R
+
+restore-page-close-button =
+ .label = Bắt đầu phiên làm việc mới
+ .accesskey = N
+
+## The following strings are used in about:welcomeback
+
+welcome-back-tab-title = Thành công!
+welcome-back-page-title = Thành công!
+welcome-back-page-info = { -brand-short-name } đã sẵn sàng.
+
+welcome-back-restore-button =
+ .label = Bắt đầu nào!
+ .accesskey = L
+
+welcome-back-restore-all-label = Khôi phục lại toàn bộ các thẻ & cửa sổ
+welcome-back-restore-some-label = Chỉ khôi phục những cái bạn muốn
+
+welcome-back-page-info-link = Tiện ích mở rộng và tùy biến của bạn đã xóa và các thiết lập của trình duyệt sẽ được khôi phục về trạng thái mặc định. Nếu điều này không giải quyết được vấn đề của bạn, <a data-l10n-name="link-more">tìm hiểu thêm về những gì bạn có thể làm.</a>
+
diff --git a/l10n-vi/browser/browser/aboutTabCrashed.ftl b/l10n-vi/browser/browser/aboutTabCrashed.ftl
new file mode 100644
index 0000000000..674be752e6
--- /dev/null
+++ b/l10n-vi/browser/browser/aboutTabCrashed.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/.
+
+crashed-title = Trình báo lỗi thẻ
+crashed-close-tab-button = Đóng thẻ
+crashed-restore-tab-button = Khôi phục lại thẻ này
+crashed-restore-all-button = Khôi phục toàn bổ thẻ bị sự cố
+crashed-header = Trời. Thẻ của bạn vừa gặp sự cố.
+crashed-offer-help = Chúng tôi có thể giúp!
+crashed-single-offer-help-message = Chọn { crashed-restore-tab-button } để tải lại trang.
+crashed-multiple-offer-help-message = Chọn { crashed-restore-tab-button } hoặc { crashed-restore-all-button } để tải lại trang.
+crashed-request-help = Bạn sẽ giúp chúng tôi chứ?
+crashed-request-help-message = Báo cáo lỗi giúp chúng tôi chuẩn đoán vấn đề và giúp { -brand-short-name } hoàn thiện hơn.
+crashed-request-report-title = Báo cáo thẻ này
+crashed-send-report-2 = Gửi báo cáo sự cố tự động để chúng tôi có thể khắc phục các sự cố như thế này
+crashed-comment =
+ .placeholder = Bình luận tùy chọn (bình luận hiển thị công khai)
+crashed-include-URL-2 = Bao gồm các URL của các trang web mà bạn đã vào khi { -brand-short-name } bị đổ vỡ
+crashed-report-sent = Thông báo về sự cố của bạn đã được gửi đi; cám ơn bạn đã giúp { -brand-short-name } trở lên tốt hơn!
+crashed-request-auto-submit-title = Báo cáo các thẻ nền
+crashed-auto-submit-checkbox-2 = Cập nhật các tùy chọn để tự động gửi báo cáo khi { -brand-short-name } bị đổ vỡ
diff --git a/l10n-vi/browser/browser/aboutUnloads.ftl b/l10n-vi/browser/browser/aboutUnloads.ftl
new file mode 100644
index 0000000000..2b377d8705
--- /dev/null
+++ b/l10n-vi/browser/browser/aboutUnloads.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/.
+
+
+### Strings used in about:unloads, allowing users to manage the "tab unloading"
+### feature.
+
+about-unloads-page-title = Quản lý dỡ thẻ
+about-unloads-intro =
+ { -brand-short-name } có tính năng tự động dỡ thẻ
+ để ngăn ứng dụng bị treo do không đủ bộ nhớ
+ khi bộ nhớ khả dụng của hệ thống sắp hết. Thẻ tiếp theo sẽ dỡ xuống
+ được chọn dựa trên nhiều thuộc tính. Trang này hiển thị cách
+ { -brand-short-name } đặt ưu tiên các thẻ và thẻ nào sẽ được dỡ xuống
+ khi lệnh dỡ thẻ được kích hoạt. Bạn có thể kích hoạt dỡ thẻ theo cách
+ thủ công bằng cách nhấp vào nút <em>Dỡ</em>.
+
+# The link points to a Firefox documentation page, only available in English,
+# with title "Tab Unloading"
+about-unloads-learn-more =
+ Xem <a data-l10n-name="doc-link">Quản lý dỡ thẻ</a> để tìm hiểu thêm
+ về tính năng và trang này.
+
+about-unloads-last-updated = Cập nhật gần đây nhất: { DATETIME($date, year: "numeric", month: "numeric", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric", hour12: "false") }
+about-unloads-button-unload = Dỡ
+ .title = Dỡ thẻ có mức độ ưu tiên cao nhất
+about-unloads-no-unloadable-tab = Không có thẻ nào có thể dỡ xuống.
+
+about-unloads-column-priority = Ưu tiên
+about-unloads-column-host = Máy chủ
+about-unloads-column-last-accessed = Lần truy cập cuối
+about-unloads-column-weight = Base Weight
+ .title = Các thẻ đầu tiên được sắp xếp theo giá trị này, bắt nguồn từ một số thuộc tính đặc biệt như phát âm thanh, WebRTC, v.v...
+about-unloads-column-sortweight = Secondary Weight
+ .title = Nếu có, các thẻ được sắp xếp theo giá trị này sau khi được sắp xếp theo base weight. Giá trị bắt nguồn từ việc sử dụng bộ nhớ của thẻ và số lượng các quá trình.
+about-unloads-column-memory = Bộ nhớ
+ .title = Mức sử dụng bộ nhớ ước tính của thẻ
+about-unloads-column-processes = ID tiến trình
+ .title = ID của các tiến trình lưu trữ nội dung của thẻ
+
+about-unloads-last-accessed = { DATETIME($date, year: "numeric", month: "numeric", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric", hour12: "false") }
+about-unloads-memory-in-mb = { NUMBER($mem, maxFractionalUnits: 2) } MB
+about-unloads-memory-in-mb-tooltip =
+ .title = { NUMBER($mem, maxFractionalUnits: 2) } MB
diff --git a/l10n-vi/browser/browser/accounts.ftl b/l10n-vi/browser/browser/accounts.ftl
new file mode 100644
index 0000000000..afb3f5a33e
--- /dev/null
+++ b/l10n-vi/browser/browser/accounts.ftl
@@ -0,0 +1,94 @@
+# 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 as the FxA toolbar menu item value when user has not
+# finished setting up an account.
+account-finish-account-setup = Hoàn tất thiết lập tài khoản
+
+# Used as the FxA toolbar menu item title when the user
+# needs to reconnect their account.
+account-disconnected2 = Đã ngắt kết nối tài khoản
+
+# Menu item that sends a tab to all synced devices.
+account-send-to-all-devices = Gửi tới tất cả các thiết bị
+
+# Menu item that links to the Firefox Accounts settings for connected devices.
+account-manage-devices = Quản lý thiết bị…
+
+## Variables:
+## $email (String): = Email address of user's Firefox Account.
+
+account-reconnect = Tái kết nối { $email }
+account-verify = Xác minh { $email }
+
+## Displayed in the Send Tab/Page/Link to Device context menu when right clicking a tab, a page or a link.
+
+account-send-to-all-devices-titlecase = Gửi tới tất cả các thiết bị
+account-manage-devices-titlecase = Quản lý thiết bị…
+
+## Displayed in the Send Tabs context menu when right clicking a tab, a page or a link
+## and the account has only 1 device connected.
+
+# Redirects to a marketing page.
+account-send-tab-to-device-singledevice-status = Không có thiết bị nào được kết nối
+
+# Redirects to a marketing page.
+account-send-tab-to-device-singledevice-learnmore = Tìm hiểu thêm về việc gửi các thẻ…
+
+# Redirects to an FxAccounts page that tells to you to connect another device.
+account-send-tab-to-device-connectdevice = Kết nối thiết bị khác…
+
+## Displayed in the Send Tabs context menu when right clicking a tab, a page or a link
+## and the Sync account is unverified. Redirects to the Sync preferences page.
+
+account-send-tab-to-device-verify-status = Tài khoản chưa được xác thực
+account-send-tab-to-device-verify = Xác minh tài khoản của bạn…
+
+## These strings are used in a notification shown when a new device joins the Firefox account.
+
+# The title shown in a notification when either this device or another device
+# has connected to, or disconnected from, a Firefox account.
+account-connection-title = { -fxaccount-brand-name(capitalization: "title") }
+
+# Variables:
+# $deviceName (String): the name of the new device
+account-connection-connected-with = Máy tính này hiện được kết nối với { $deviceName }.
+
+# Used when the name of the new device is not known.
+account-connection-connected-with-noname = Máy tính này hiện được kết nối với một thiết bị mới.
+
+# Used in a notification shown after a Firefox account is connected to the current device.
+account-connection-connected = Bạn đã đăng nhập thành công
+
+# Used in a notification shown after the Firefox account was disconnected remotely.
+account-connection-disconnected = Máy tính này đã bị ngắt kết nối.
+
+## These strings are used in a notification shown when we're opening
+## a single tab another device sent us to display.
+## The body for this notification is the URL of the received tab.
+
+account-single-tab-arriving-title = Thẻ đã nhận
+# Variables:
+# $deviceName (String): the device name.
+account-single-tab-arriving-from-device-title = Thẻ từ { $deviceName }
+
+# Used when a tab from a remote device arrives but the URL must be truncated.
+# Should display the URL with an indication that it's been truncated.
+# Variables:
+# $url (String): the portion of the URL that remains after truncation.
+account-single-tab-arriving-truncated-url = { $url }…
+
+## These strings are used in a notification shown when we're opening
+## multiple tabs another device or devices sent us to display.
+## Variables:
+## $tabCount (Number): the number of tabs received
+
+account-multiple-tabs-arriving-title = Thẻ đã nhận
+
+# Variables:
+# $deviceName (String): the device name.
+account-multiple-tabs-arriving-from-single-device = { $tabCount } thẻ đã tới từ { $deviceName }
+account-multiple-tabs-arriving-from-multiple-devices = { $tabCount } đã tới từ thiết bị đã kết nối của bạn
+# This version is used when we don't know any device names.
+account-multiple-tabs-arriving-from-unknown-device = { $tabCount } thẻ đã đến
diff --git a/l10n-vi/browser/browser/addonNotifications.ftl b/l10n-vi/browser/browser/addonNotifications.ftl
new file mode 100644
index 0000000000..c8e5c5247b
--- /dev/null
+++ b/l10n-vi/browser/browser/addonNotifications.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/.
+
+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 = Không cho phép
+ .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-by-policy = Việc cài đặt phần mềm đã bị vô hiệu hoá bởi tổ chức của bạn.
+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 = Kích hoạ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.
+# 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-installation-blocked-by-policy = { $addonName } ({ $addonId }) bị chặn bởi tổ chức của bạn.
+# This message is shown when the installation of add-ons from a domain is blocked by enterprise policy.
+addon-install-domain-blocked-by-policy = Tổ chức của bạn đã ngăn không cho 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
+# This message is shown when one or more extensions have been imported from a
+# different browser into Firefox, and the user needs to complete the import to
+# start these extensions. This message is shown in the appmenu.
+webext-imported-addons = Hoàn tất cài đặt tiện ích mở rộng được nhập vào { -brand-short-name }
+
+## 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 = Gỡ bỏ { $name } từ { -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 kiểm định 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 đó chưa được kiểm định. 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 bị 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 trông đợi.
+addon-install-error-corrupt-file = Không thể cài đặt tiện ích được tải từ trang này do có vẻ nó bị hỏng trên đường truyền.
+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 kiểm định.
+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 trông đợ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 trên đường truyền.
+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 kiểm định.
+# 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/l10n-vi/browser/browser/allTabsMenu.ftl b/l10n-vi/browser/browser/allTabsMenu.ftl
new file mode 100644
index 0000000000..8dc499170a
--- /dev/null
+++ b/l10n-vi/browser/browser/allTabsMenu.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/.
+
+# "Search" is a verb, as in "Search through tabs".
+all-tabs-menu-search-tabs =
+ .label = Tìm kiếm thẻ
+
+all-tabs-menu-new-user-context =
+ .label = Ngăn chứa thẻ mới
+
+all-tabs-menu-hidden-tabs =
+ .label = Thẻ đã ẩn
+
+all-tabs-menu-manage-user-context =
+ .label = Quản lý ngăn chứa
+ .accesskey = O
diff --git a/l10n-vi/browser/browser/appExtensionFields.ftl b/l10n-vi/browser/browser/appExtensionFields.ftl
new file mode 100644
index 0000000000..0894f1fe0d
--- /dev/null
+++ b/l10n-vi/browser/browser/appExtensionFields.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/.
+
+
+## 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-firefox-compact-light-name = Sáng
+extension-firefox-compact-light-description = Một chủ đề với tông màu sáng.
+
+extension-firefox-compact-dark-name = Tối
+extension-firefox-compact-dark-description = Một chủ đề với tông màu tối.
+
+extension-firefox-alpenglow-name = Firefox Alpenglow
+extension-firefox-alpenglow-description = Sử dụng giao diện đầy màu sắc cho các nút, menu và cửa sổ.
+
+## Colorway Themes
+## These themes are variants of a colorway. The colorway is specified in the
+## $colorway-name variable.
+## Variables
+## $colorway-name (String) The name of a colorway (e.g. Graffiti, Elemental).
+
+extension-colorways-soft-name = { $colorway-name } — Mềm
+extension-colorways-balanced-name = { $colorway-name } — Cân bằng
+# "Bold" is used in the sense of bravery or courage, not in the sense of
+# emphasized text.
+extension-colorways-bold-name = { $colorway-name } — Đậm
diff --git a/l10n-vi/browser/browser/appMenuNotifications.ftl b/l10n-vi/browser/browser/appMenuNotifications.ftl
new file mode 100644
index 0000000000..44736bab71
--- /dev/null
+++ b/l10n-vi/browser/browser/appMenuNotifications.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/.
+
+appmenu-update-available2 =
+ .label = Đã có bản cập nhật
+ .buttonlabel = Tải xuống
+ .buttonaccesskey = D
+ .secondarybuttonlabel = Bỏ qua
+ .secondarybuttonaccesskey = m
+appmenu-update-available-message2 = Tải xuống phiên bản mới nhất của { -brand-shorter-name }.
+appmenu-update-manual2 =
+ .label = Đã có bản cập nhật
+ .buttonlabel = Tải xuống
+ .buttonaccesskey = D
+ .secondarybuttonlabel = Bỏ qua
+ .secondarybuttonaccesskey = m
+appmenu-update-manual-message2 = { -brand-shorter-name } không thể cập nhật tự động. Tải xuống phiên bản mới — bạn sẽ không mất thông tin hoặc tùy chỉnh đã lưu.
+appmenu-update-unsupported2 =
+ .label = Không thể cập nhật
+ .buttonlabel = Tìm hiểu thêm
+ .buttonaccesskey = L
+ .secondarybuttonlabel = Bỏ qua
+ .secondarybuttonaccesskey = m
+appmenu-update-unsupported-message2 = Hệ điều hành của bạn không tương thích với phiên bản mới nhất của { -brand-shorter-name }.
+appmenu-update-restart2 =
+ .label = Đã có bản cập nhật
+ .buttonlabel = Cập nhật và khởi động lại
+ .buttonaccesskey = U
+ .secondarybuttonlabel = Bỏ qua
+ .secondarybuttonaccesskey = m
+appmenu-update-restart-message2 = Tải xuống phiên bản mới nhất của { -brand-shorter-name }. Các thẻ và cửa sổ đang mở sẽ được khôi phục.
+appmenu-update-other-instance =
+ .label = { -brand-shorter-name } không thể tự động cập nhật lên phiên bản mới nhất.
+ .buttonlabel = Vẫn cập nhật { -brand-shorter-name }
+ .buttonaccesskey = U
+ .secondarybuttonlabel = Không phải lúc này
+ .secondarybuttonaccesskey = N
+appmenu-update-other-instance-message = Đã có bản cập nhật { -brand-shorter-name } mới nhưng không thể cài đặt bản cập nhật này vì một bản sao khác của { -brand-shorter-name } đang chạy. Đóng nó để tiếp tục cập nhật hoặc chọn vẫn cập nhật (bản sao khác có thể không hoạt động chính xác cho đến khi bạn khởi động lại nó).
+
+appmenu-addon-private-browsing-installed2 =
+ .buttonlabel = Okay
+ .buttonaccesskey = O
+appmenu-addon-post-install-message3 = Quản lý các tiện ích mở rộng và chủ đề của bạn thông qua menu ứng dụng.
+appmenu-addon-post-install-incognito-checkbox =
+ .label = Cho phép tiện ích mở rộng này chạy trong cửa sổ riêng tư
+ .accesskey = A
+
+appmenu-new-tab-controlled-changes =
+ .label = Thẻ mới của bạn đã thay đổi.
+ .buttonlabel = Lưu thay đổi
+ .buttonaccesskey = K
+ .secondarybuttonlabel = Quản lý thẻ mới
+ .secondarybuttonaccesskey = M
+appmenu-homepage-controlled-changes =
+ .label = Trang chủ của bạn đã thay đổi.
+ .buttonlabel = Lưu thay đổi
+ .buttonaccesskey = K
+ .secondarybuttonlabel = Quản lý trang chủ
+ .secondarybuttonaccesskey = M
+appmenu-tab-hide-controlled =
+ .label = Truy cập các thẻ đã ẩn của bạn
+ .buttonlabel = Giữ các thẻ đã ẩn
+ .buttonaccesskey = K
+ .secondarybuttonlabel = Vô hiệu hóa tiện ích mở rộng
+ .secondarybuttonaccesskey = D
diff --git a/l10n-vi/browser/browser/appmenu.ftl b/l10n-vi/browser/browser/appmenu.ftl
new file mode 100644
index 0000000000..fb9a0aaf7c
--- /dev/null
+++ b/l10n-vi/browser/browser/appmenu.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/.
+
+
+## App Menu
+
+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
+appmenuitem-new-tab =
+ .label = Thẻ mới
+appmenuitem-new-window =
+ .label = Cửa sổ mới
+appmenuitem-new-private-window =
+ .label = Cửa sổ riêng tư mới
+appmenuitem-history =
+ .label = Lịch sử
+appmenuitem-downloads =
+ .label = Tải xuống
+appmenuitem-passwords =
+ .label = Mật khẩu
+appmenuitem-addons-and-themes =
+ .label = Tiện ích mở rộng và chủ đề
+appmenuitem-print =
+ .label = In…
+appmenuitem-find-in-page =
+ .label = Tìm trong trang…
+appmenuitem-translate =
+ .label = Dịch trang…
+appmenuitem-zoom =
+ .value = Thu phóng
+appmenuitem-more-tools =
+ .label = Công cụ khác
+appmenuitem-help =
+ .label = Trợ giúp
+appmenuitem-exit2 =
+ .label =
+ { PLATFORM() ->
+ [linux] Thoát
+ *[other] Thoát
+ }
+appmenu-menu-button-closed2 =
+ .tooltiptext = Mở menu ứng dụng
+ .label = { -brand-short-name }
+appmenu-menu-button-opened2 =
+ .tooltiptext = Đóng menu ứng dụng
+ .label = { -brand-short-name }
+# Settings is now used to access the browser settings across all platforms,
+# instead of Options or Preferences.
+appmenuitem-settings =
+ .label = Cài đặt
+
+## Zoom and Fullscreen Controls
+
+appmenuitem-zoom-enlarge =
+ .label = Phóng to
+appmenuitem-zoom-reduce =
+ .label = Thu nhỏ
+appmenuitem-fullscreen =
+ .label = Toàn màn hình
+
+## Firefox Account toolbar button and Sync panel in App menu.
+
+appmenu-remote-tabs-sign-into-sync =
+ .label = Đăng nhập để đồng bộ hóa…
+appmenu-remote-tabs-turn-on-sync =
+ .label = Bật đồng bộ hóa…
+# This is shown after the tabs list if we can display more tabs by clicking on the button
+appmenu-remote-tabs-showmore =
+ .label = Hiển thị thêm các thẻ
+ .tooltiptext = Hiển thị các thẻ từ thiết bị này
+# This is shown when there are inactive tabs which are not being shown.
+# Variables
+# $count (Number) - The number of inactive tabs which are not being shown (at least 1)
+appmenu-remote-tabs-showinactive =
+ .label = Hiện { $count } thẻ không hoạt động
+ .tooltiptext = Hiển thị các thẻ không hoạt động trên thiết bị này
+# This is shown beneath the name of a device when that device has no open tabs
+appmenu-remote-tabs-notabs = Không có thẻ đang mở
+# This is shown when Sync is configured but syncing tabs is disabled.
+appmenu-remote-tabs-tabsnotsyncing = Bật đồng bộ thẻ để xem danh sách thẻ từ các thiết bị khác của bạn.
+appmenu-remote-tabs-opensettings =
+ .label = Cài đặt
+# This is shown when Sync is configured but this appears to be the only device attached to
+# the account. We also show links to download Firefox for android/ios.
+appmenu-remote-tabs-noclients = Muốn xem thẻ từ các thiết bị khác của bạn ở đây?
+appmenu-remote-tabs-connectdevice =
+ .label = Kết nối thiết bị khác
+appmenu-remote-tabs-welcome = Xem danh sách các thẻ từ các thiết bị khác của bạn.
+appmenu-remote-tabs-unverified = Tài khoản của bạn cần phải xác thực.
+appmenuitem-fxa-toolbar-sync-now2 = Đồng bộ ngay
+appmenuitem-fxa-sign-in = Đăng nhập vào { -brand-product-name }
+appmenuitem-fxa-manage-account = Quản lý tài khoản
+appmenu-fxa-header2 = { -fxaccount-brand-name }
+appmenu-account-header = Tài khoản
+# Variables
+# $time (string) - Localized relative time since last sync (e.g. 1 second ago,
+# 3 hours ago, etc.)
+appmenu-fxa-last-sync = Đồng bộ hóa lần cuối { $time }
+ .label = Đồng bộ hóa lần cuối { $time }
+appmenu-fxa-sync-and-save-data2 = Đồng bộ hóa và lưu dữ liệu
+appmenu-fxa-signed-in-label = Đăng nhập
+appmenu-fxa-setup-sync =
+ .label = Bật đồng bộ hóa…
+appmenuitem-save-page =
+ .label = Lưu trang dưới dạng…
+
+## What's New panel in App menu.
+
+whatsnew-panel-header = Có gì mới
+# Checkbox displayed at the bottom of the What's New panel, allowing users to
+# enable/disable What's New notifications.
+whatsnew-panel-footer-checkbox =
+ .label = Thông báo về các tính năng mới
+ .accesskey = f
+
+## The Firefox Profiler – The popup is the UI to turn on the profiler, and record
+## performance profiles. To enable it go to profiler.firefox.com and click
+## "Enable Profiler Menu Button".
+
+profiler-popup-button-idle =
+ .label = Profiler
+ .tooltiptext = Ghi lại hồ sơ hiệu suất
+profiler-popup-button-recording =
+ .label = Profiler
+ .tooltiptext = Profiler đang ghi lại một hồ sơ
+profiler-popup-button-capturing =
+ .label = Profiler
+ .tooltiptext = Profiler đang ghi một hồ sơ
+profiler-popup-header-text = { -profiler-brand-name }
+profiler-popup-reveal-description-button =
+ .aria-label = Hiển thị thêm thông tin
+profiler-popup-description-title =
+ .value = Ghi lại, phân tích, chia sẻ
+profiler-popup-description = Cộng tác về các vấn đề hiệu suất bằng cách xuất bản hồ sơ để chia sẻ với nhóm của bạn.
+profiler-popup-learn-more-button =
+ .label = Tìm hiểu thêm
+profiler-popup-settings =
+ .value = Cài đặt
+# This link takes the user to about:profiling, and is only visible with the Custom preset.
+profiler-popup-edit-settings-button =
+ .label = Chỉnh sửa cài đặt…
+profiler-popup-recording-screen = Đang ghi…
+profiler-popup-start-recording-button =
+ .label = Bắt đầu ghi
+profiler-popup-discard-button =
+ .label = Loại bỏ
+profiler-popup-capture-button =
+ .label = Ghi
+profiler-popup-start-shortcut =
+ { PLATFORM() ->
+ [macos] ⌃⇧1
+ *[other] Ctrl+Shift+1
+ }
+profiler-popup-capture-shortcut =
+ { PLATFORM() ->
+ [macos] ⌃⇧2
+ *[other] Ctrl+Shift+2
+ }
+
+## Profiler presets
+## They are shown in the popup's select box.
+
+
+# Presets and their l10n IDs are defined in the file
+# devtools/client/performance-new/shared/background.jsm.js
+# Please take care that the same values are also defined in devtools' perftools.ftl.
+
+
+# Presets and their l10n IDs are defined in the file
+# devtools/client/performance-new/shared/background.sys.mjs
+# Please take care that the same values are also defined in devtools' perftools.ftl.
+
+profiler-popup-presets-web-developer-description = Cài đặt trước được đề xuất cho hầu hết gỡ lỗi ứng dụng web, với chi phí thấp.
+profiler-popup-presets-web-developer-label =
+ .label = Nhà phát triển Web
+profiler-popup-presets-firefox-description = Giá trị đặt trước được đề xuất để kiểm tra hiệu suất { -brand-shorter-name }.
+profiler-popup-presets-firefox-label =
+ .label = { -brand-shorter-name }
+profiler-popup-presets-graphics-description = Giá trị đặt trước để điều tra lỗi đồ họa trong { -brand-shorter-name }.
+profiler-popup-presets-graphics-label =
+ .label = Đồ họa
+profiler-popup-presets-media-description2 = Giá trị đặt trước để điều tra lỗi âm thanh và video trong { -brand-shorter-name }.
+profiler-popup-presets-media-label =
+ .label = Media
+profiler-popup-presets-networking-description = Giá trị đặt trước để điều tra lỗi mạng trong { -brand-shorter-name }.
+profiler-popup-presets-networking-label =
+ .label = Kết nối mạng
+profiler-popup-presets-power-description = Giá trị đặt trước để điều tra lỗi sử dụng điện trong { -brand-shorter-name }, với chi phí thấp.
+# "Power" is used in the sense of energy (electricity used by the computer).
+profiler-popup-presets-power-label =
+ .label = Nguồn điện
+profiler-popup-presets-custom-label =
+ .label = Tùy chỉnh
+
+## History panel
+
+appmenu-manage-history =
+ .label = Quản lý lịch sử
+appmenu-restore-session =
+ .label = Khôi phục phiên làm việc trước
+appmenu-clear-history =
+ .label = Xóa lịch sử gần đây…
+appmenu-recent-history-subheader = Lịch sử gần đây
+appmenu-recently-closed-tabs =
+ .label = Thẻ mới đóng gần đây
+appmenu-recently-closed-windows =
+ .label = Các cửa sổ mới đóng
+# This allows to search through the browser's history.
+appmenu-search-history =
+ .label = Lịch sử tìm kiếm
+
+## Help panel
+
+appmenu-help-header =
+ .title = Trợ giúp { -brand-shorter-name }
+appmenu-about =
+ .label = Về { -brand-shorter-name }
+ .accesskey = A
+appmenu-get-help =
+ .label = Nhận trợ giúp
+ .accesskey = H
+appmenu-help-more-troubleshooting-info =
+ .label = Thông tin xử lý sự cố khác
+ .accesskey = T
+appmenu-help-report-site-issue =
+ .label = Báo cáo vấn đề về trang…
+appmenu-help-share-ideas =
+ .label = Chia sẻ ý tưởng và phản hồi…
+ .accesskey = S
+appmenu-help-switch-device =
+ .label = Chuyển sang thiết bị mới
+
+## appmenu-help-enter-troubleshoot-mode and appmenu-help-exit-troubleshoot-mode
+## are mutually exclusive, so it's possible to use the same accesskey for both.
+
+appmenu-help-enter-troubleshoot-mode2 =
+ .label = Chế độ xử lý sự cố…
+ .accesskey = M
+appmenu-help-exit-troubleshoot-mode =
+ .label = Tắt chế độ xử lý sự cố
+ .accesskey = M
+
+## appmenu-help-report-deceptive-site and appmenu-help-not-deceptive
+## are mutually exclusive, so it's possible to use the same accesskey for both.
+
+appmenu-help-report-deceptive-site =
+ .label = Báo cáo trang lừa đảo…
+ .accesskey = c
+appmenu-help-not-deceptive =
+ .label = Đây không phải là một trang lừa đảo…
+ .accesskey = d
+
+## More Tools
+
+appmenu-customizetoolbar =
+ .label = Tùy biến thanh công cụ…
+appmenu-developer-tools-subheader = Công cụ của trình duyệt
+appmenu-developer-tools-extensions =
+ .label = Tiện ích mở rộng dành cho nhà phát triển
+appmenuitem-report-broken-site =
+ .label = Báo cáo trang web bị hỏng
+
+## Panel for privacy and security products
+
+appmenuitem-sign-in-account = Đăng nhập vào tài khoản của bạn
+appmenuitem-monitor-title = { -monitor-brand-short-name }
+appmenuitem-monitor-description = Nhận cảnh báo rò rỉ dữ liệu
+appmenuitem-relay-title = { -relay-brand-short-name }
+appmenuitem-relay-description = Che giấu email và điện thoại thật của bạn
+appmenuitem-vpn-title = { -mozilla-vpn-brand-name }
+appmenuitem-vpn-description = Bảo vệ hoạt động trực tuyến của bạn
diff --git a/l10n-vi/browser/browser/backgroundtasks/defaultagent.ftl b/l10n-vi/browser/browser/backgroundtasks/defaultagent.ftl
new file mode 100644
index 0000000000..54e337e5aa
--- /dev/null
+++ b/l10n-vi/browser/browser/backgroundtasks/defaultagent.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/.
+
+default-browser-agent-task-description = Tác vụ Default Browser Agent kiểm tra khi thay đổi mặc định từ { -brand-short-name } sang trình duyệt khác. Nếu xảy ra thay đổi trong các trường hợp đáng ngờ, nó sẽ nhắc người dùng thay đổi trở lại với { -brand-short-name } không quá 2 lần. 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 } cập nhật. Để tắt tác vụ này, hãy cập nhật tùy chỉnh “default-browser-agent.enabled” trong trang about:config hoặc “DisableDefaultBrowserAgent” trong thiết lập chính sách doanh nghiệp { -brand-short-name } .
+default-browser-notification-header-text = Tiếp tục sử dụng { -brand-short-name }?
+default-browser-notification-body-text = Trình duyệt mặc định của bạn đã được thay đổi gần đây. Nhấn để khôi phục { -brand-short-name } về mặc định.
+default-browser-notification-yes-button-text = Đồng ý
+default-browser-notification-no-button-text = Không
diff --git a/l10n-vi/browser/browser/browser.ftl b/l10n-vi/browser/browser/browser.ftl
new file mode 100644
index 0000000000..88605a7022
--- /dev/null
+++ b/l10n-vi/browser/browser/browser.ftl
@@ -0,0 +1,995 @@
+# 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 main browser window's title
+
+# These are the default window titles everywhere except macOS.
+# .data-title-default and .data-title-private are used when the web content
+# opened has no title:
+#
+# default - "Mozilla Firefox"
+# private - "Mozilla Firefox (Private Browsing)"
+#
+# .data-content-title-default and .data-content-title-private are for use when
+# there *is* a content title.
+# Variables:
+# $content-title (String): the title of the web content.
+browser-main-window-window-titles =
+ .data-title-default = { -brand-full-name }
+ .data-title-private = { -brand-full-name } duyệt web riêng tư
+ .data-content-title-default = { $content-title } — { -brand-full-name }
+ .data-content-title-private = { $content-title } — { -brand-full-name } duyệt web riêng tư
+# These are the default window titles on macOS.
+# .data-title-default and .data-title-private are used when the web content
+# opened has no title:
+#
+#
+# "default" - "Mozilla Firefox"
+# "private" - "Mozilla Firefox — (Private Browsing)"
+#
+# .data-content-title-default and .data-content-title-private are for use when
+# there *is* a content title.
+# Do not use the brand name in these, as we do on non-macOS.
+#
+# Also note the other subtle difference here: we use a `-` to separate the
+# brand name from `(Private Browsing)`, which does not happen on other OSes.
+#
+# Variables:
+# $content-title (String): the title of the web content.
+browser-main-window-mac-window-titles =
+ .data-title-default = { -brand-full-name }
+ .data-title-private = { -brand-full-name } — Duyệt web riêng tư
+ .data-content-title-default = { $content-title }
+ .data-content-title-private = { $content-title } — Duyệt web riêng tư
+# This gets set as the initial title, and is overridden as soon as we start
+# updating the titlebar based on loaded tabs or private browsing state.
+# This should match the `data-title-default` attribute in both
+# `browser-main-window` and `browser-main-window-mac`.
+browser-main-window-title = { -brand-full-name }
+# The non-variable portion of this MUST match the translation of
+# "PRIVATE_BROWSING_SHORTCUT_TITLE" in custom.properties
+private-browsing-shortcut-text-2 = { -brand-shortcut-name } duyệt web riêng tư
+
+##
+
+urlbar-identity-button =
+ .aria-label = Xem thông tin trang
+
+## Tooltips for images appearing in the address bar
+
+urlbar-services-notification-anchor =
+ .tooltiptext = Mở bảng thông báo cài đặt
+urlbar-web-notification-anchor =
+ .tooltiptext = Thay đổi liệu bạn có thể nhận thông báo từ trang web hay không
+urlbar-midi-notification-anchor =
+ .tooltiptext = Mở bảng MIDI
+urlbar-eme-notification-anchor =
+ .tooltiptext = Quản lý sử dụng phần mềm DRM
+urlbar-web-authn-anchor =
+ .tooltiptext = Mở bảng điều khiển xác thực web
+urlbar-canvas-notification-anchor =
+ .tooltiptext = Quản lý quyền khai thác canvas
+urlbar-web-rtc-share-microphone-notification-anchor =
+ .tooltiptext = Quản lý chia sẻ micrô của bạn với trang
+urlbar-default-notification-anchor =
+ .tooltiptext = Mở bảng thông báo
+urlbar-geolocation-notification-anchor =
+ .tooltiptext = Mở bảng yêu cầu vị trí
+urlbar-xr-notification-anchor =
+ .tooltiptext = Mở bảng điều khiển thực tế ảo
+urlbar-storage-access-anchor =
+ .tooltiptext = Mở bảng điều khiển quyền hoạt động duyệt web
+urlbar-web-rtc-share-screen-notification-anchor =
+ .tooltiptext = Quản lý chia sẻ cửa sổ hay màn hình của bạn với trang
+urlbar-indexed-db-notification-anchor =
+ .tooltiptext = Mở bảng thông báo lưu trữ ngoại tuyến
+urlbar-password-notification-anchor =
+ .tooltiptext = Mở bảng thông báo lưu mật khẩu
+urlbar-plugins-notification-anchor =
+ .tooltiptext = Quản lý sử dụng phần bổ trợ
+urlbar-web-rtc-share-devices-notification-anchor =
+ .tooltiptext = Quản lý chia sẻ máy ảnh và/hoặc micrô với trang
+# "Speakers" is used in a general sense that might include headphones or
+# another audio output connection.
+urlbar-web-rtc-share-speaker-notification-anchor =
+ .tooltiptext = Quản lý việc chia sẻ các thiết bị âm thanh khác với trang web
+urlbar-autoplay-notification-anchor =
+ .tooltiptext = Mở bảng điều khiển tự động phát
+urlbar-persistent-storage-notification-anchor =
+ .tooltiptext = Lưu dữ liệu vào bộ nhớ lâu dài
+urlbar-addons-notification-anchor =
+ .tooltiptext = Mở bảng thông báo cài đặt tiện ích
+urlbar-tip-help-icon =
+ .title = Trợ giúp
+urlbar-search-tips-confirm = OK, đã hiểu
+urlbar-search-tips-confirm-short = Đã hiểu
+# Read out before Urlbar Tip text content so screenreader users know the
+# subsequent text is a tip offered by the browser. It should end in a colon or
+# localized equivalent.
+urlbar-tip-icon-description =
+ .alt = Mẹo:
+urlbar-result-menu-button =
+ .title = Mở menu
+urlbar-result-menu-button-feedback = Phản hồi
+ .title = Mở menu
+urlbar-result-menu-learn-more =
+ .label = Tìm hiểu thêm
+ .accesskey = L
+urlbar-result-menu-remove-from-history =
+ .label = Xóa khỏi lịch sử
+ .accesskey = R
+urlbar-result-menu-tip-get-help =
+ .label = Nhận trợ giúp
+ .accesskey = h
+
+## Prompts users to use the Urlbar when they open a new tab or visit the
+## homepage of their default search engine.
+## Variables:
+## $engineName (String): The name of the user's default search engine. e.g. "Google" or "DuckDuckGo".
+
+urlbar-search-tips-onboard = Nhập ít hơn, tìm thêm: Tìm kiếm { $engineName } ngay từ thanh địa chỉ của bạn.
+urlbar-search-tips-redirect-2 = Bắt đầu tìm kiếm của bạn trong thanh địa chỉ để xem các đề xuất từ { $engineName } và lịch sử duyệt web của bạn.
+# Make sure to match the name of the Search panel in settings.
+urlbar-search-tips-persist = Việc tìm kiếm trở nên đơn giản hơn. Hãy thử làm cho tìm kiếm của bạn cụ thể hơn ở đây trong thanh địa chỉ. Để hiển thị URL, hãy tìm đến mục Tìm kiếm trong cài đặt.
+# Prompts users to use the Urlbar when they are typing in the domain of a
+# search engine, e.g. google.com or amazon.com.
+urlbar-tabtosearch-onboard = Chọn phím tắt này để tìm những gì bạn cần nhanh hơn.
+
+## Local search mode indicator labels in the urlbar
+
+urlbar-search-mode-bookmarks = Dấu trang
+urlbar-search-mode-tabs = Thẻ
+urlbar-search-mode-history = Lịch sử
+urlbar-search-mode-actions = Hành động
+
+##
+
+urlbar-geolocation-blocked =
+ .tooltiptext = Bạn đã chặn thông tin địa điểm ở trang này.
+urlbar-xr-blocked =
+ .tooltiptext = Bạn đã chặn truy cập thiết bị thực tế ảo cho trang web này.
+urlbar-web-notifications-blocked =
+ .tooltiptext = Bạn đã chặn thông báo ở trang này.
+urlbar-camera-blocked =
+ .tooltiptext = Bạn đã chặn camera của mình ở trang này
+urlbar-microphone-blocked =
+ .tooltiptext = Bạn đã chặn micro của mình ở trang này
+urlbar-screen-blocked =
+ .tooltiptext = Bạn đã chặn việc chia sẻ màn hình của mình với trang web này.
+urlbar-persistent-storage-blocked =
+ .tooltiptext = Bạn đã chặn lưu dữ liệu vào bộ nhớ lâu dài ở trang này.
+urlbar-popup-blocked =
+ .tooltiptext = Bạn đã chặn cửa sổ bật lên ở trang web này.
+urlbar-autoplay-media-blocked =
+ .tooltiptext = Bạn đã chặn phương tiện tự động phát có âm thanh cho trang web này.
+urlbar-canvas-blocked =
+ .tooltiptext = Bạn đã chặn khai thác dữ liệu canvas đối với trang web này.
+urlbar-midi-blocked =
+ .tooltiptext = Bạn đã chặn quyền truy cập MIDI của trang web này.
+urlbar-install-blocked =
+ .tooltiptext = Bạn đã chặn cài đặt tiện ích cho trang web này.
+# Variables
+# $shortcut (String) - A keyboard shortcut for the edit bookmark command.
+urlbar-star-edit-bookmark =
+ .tooltiptext = Chỉnh sửa dấu trang này ({ $shortcut })
+# Variables
+# $shortcut (String) - A keyboard shortcut for the add bookmark command.
+urlbar-star-add-bookmark =
+ .tooltiptext = Đánh dấu trang này ({ $shortcut })
+
+## Page Action Context Menu
+
+page-action-manage-extension2 =
+ .label = Quản lý tiện ích mở rộng…
+ .accesskey = E
+page-action-remove-extension2 =
+ .label = Xóa tiện ích mở rộng
+ .accesskey = v
+
+## Auto-hide Context Menu
+
+full-screen-autohide =
+ .label = Ẩn thanh công cụ
+ .accesskey = H
+full-screen-exit =
+ .label = Thoát chế độ toàn màn hình
+ .accesskey = F
+
+## Search Engine selection buttons (one-offs)
+
+# This string prompts the user to use the list of search shortcuts in
+# the Urlbar and searchbar.
+search-one-offs-with-title = Lần này, tìm kiếm với:
+search-one-offs-change-settings-compact-button =
+ .tooltiptext = Thay đổi cài đặt tìm kiếm
+search-one-offs-context-open-new-tab =
+ .label = Tìm trong thẻ mới
+ .accesskey = T
+search-one-offs-context-set-as-default =
+ .label = Đặt làm công cụ tìm kiếm mặc định
+ .accesskey = D
+search-one-offs-context-set-as-default-private =
+ .label = Đặt làm công cụ tìm kiếm mặc định cho cửa sổ riêng tư
+ .accesskey = P
+# Search engine one-off buttons with an @alias shortcut/keyword.
+# Variables:
+# $engineName (String): The name of the engine.
+# $alias (String): The @alias shortcut/keyword.
+search-one-offs-engine-with-alias =
+ .tooltiptext = { $engineName } ({ $alias })
+# Shown when adding new engines from the address bar shortcut buttons or context
+# menu, or from the search bar shortcut buttons.
+# Variables:
+# $engineName (String): The name of the engine.
+search-one-offs-add-engine =
+ .label = Thêm “{ $engineName }”
+ .tooltiptext = Thêm công cụ tìm kiếm “{ $engineName }”
+ .aria-label = Thêm công cụ tìm kiếm “{ $engineName }”
+# When more than 5 engines are offered by a web page, they are grouped in a
+# submenu using this as its label.
+search-one-offs-add-engine-menu =
+ .label = Thêm dịch vụ tìm kiếm
+
+## Local search mode one-off buttons
+## Variables:
+## $restrict (String): The restriction token corresponding to the search mode.
+## Restriction tokens are special characters users can type in the urlbar to
+## restrict their searches to certain sources (e.g., "*" to search only
+## bookmarks).
+
+search-one-offs-bookmarks =
+ .tooltiptext = Dấu trang ({ $restrict })
+search-one-offs-tabs =
+ .tooltiptext = Thẻ ({ $restrict })
+search-one-offs-history =
+ .tooltiptext = Lịch sử ({ $restrict })
+search-one-offs-actions =
+ .tooltiptext = Hành động ({ $restrict })
+
+## QuickActions are shown in the urlbar as the user types a matching string
+## The -cmd- strings are comma separated list of keywords that will match
+## the action.
+
+# Opens the about:addons page in the home / recommendations section
+quickactions-addons = Xem tiện tích
+quickactions-cmd-addons2 = tiện ích
+# Opens the bookmarks library window
+quickactions-bookmarks2 = Quản lý dấu trang
+quickactions-cmd-bookmarks = dấu trang, dau trang
+# Opens a SUMO article explaining how to clear history
+quickactions-clearhistory = Xóa lịch sử
+quickactions-cmd-clearhistory = xóa lịch sử, xoa lich su
+# Opens about:downloads page
+quickactions-downloads2 = Xem tải xuống
+quickactions-cmd-downloads = tải xuống, tai xuong
+# Opens about:addons page in the extensions section
+quickactions-extensions = Quản lý tiện ích
+quickactions-cmd-extensions = tiện ích mở rộng
+# Opens the devtools web inspector
+quickactions-inspector2 = Mở Công cụ dành cho nhà phát triển
+quickactions-cmd-inspector = trình kiểm tra, devtools, trinh kiem tra
+# Opens about:logins
+quickactions-logins2 = Quản lý mật khẩu
+quickactions-cmd-logins = đăng nhập, thông tin đăng nhập, mật khẩu, dang nhap, thong tin dang nhap, mat khau
+# Opens about:addons page in the plugins section
+quickactions-plugins = Quản lý phần bổ trợ
+quickactions-cmd-plugins = phần bổ trợ
+# Opens the print dialog
+quickactions-print2 = Trang in
+quickactions-cmd-print = in
+# Opens the print dialog at the save to PDF option
+quickactions-savepdf = Lưu trang dưới dạng PDF
+quickactions-cmd-savepdf = pdf
+# Opens a new private browsing window
+quickactions-private2 = Mở cửa sổ riêng tư
+quickactions-cmd-private = duyệt web riêng tư, duyet web rieng tu
+# Opens a SUMO article explaining how to refresh
+quickactions-refresh = Làm mới { -brand-short-name }
+quickactions-cmd-refresh = làm mới, lam moi
+# Restarts the browser
+quickactions-restart = Khởi động lại { -brand-short-name }
+quickactions-cmd-restart = khởi động lại, khoi dong lai
+# Opens the screenshot tool
+quickactions-screenshot3 = Chụp ảnh màn hình
+quickactions-cmd-screenshot = chụp ảnh màn hình, chup anh man hinh
+# Opens about:preferences
+quickactions-settings2 = Quản lý cài đặt
+quickactions-cmd-settings = cài đặt, tùy chọn, thiết lập, cai dat, tuy chon, thiet lap
+# Opens about:addons page in the themes section
+quickactions-themes = Quản lý chủ đề
+quickactions-cmd-themes = chủ đề
+# Opens a SUMO article explaining how to update the browser
+quickactions-update = Cập nhật { -brand-short-name }
+quickactions-cmd-update = cập nhật, cap nhat
+# Opens the view-source UI with current pages source
+quickactions-viewsource2 = Xem mã nguồn trang
+quickactions-cmd-viewsource = xem mã nguồn, xem nguồn, nguồn, xem ma nguon, xem nguon, nguon
+# Tooltip text for the help button shown in the result.
+quickactions-learn-more =
+ .title = Tìm hiểu thêm về Hành động nhanh
+
+## Bookmark Panel
+
+bookmarks-add-bookmark = Thêm dấu trang
+bookmarks-edit-bookmark = Chỉnh sửa dấu trang
+bookmark-panel-cancel =
+ .label = Hủy bỏ
+ .accesskey = C
+# Variables:
+# $count (number): number of bookmarks that will be removed
+bookmark-panel-remove =
+ .label = Xóa { $count } dấu trang
+ .accesskey = R
+bookmark-panel-show-editor-checkbox =
+ .label = Hiển thị trình chỉnh sửa khi lưu
+ .accesskey = S
+bookmark-panel-save-button =
+ .label = Lưu
+# Width of the bookmark panel.
+# Should be large enough to fully display the Done and
+# Cancel/Remove Bookmark buttons.
+bookmark-panel =
+ .style = min-width: 23em
+
+## Identity Panel
+
+# Variables
+# $host (String): the hostname of the site that is being displayed.
+identity-site-information = Thông tin trang web { $host }
+# Variables
+# $host (String): the hostname of the site that is being displayed.
+identity-header-security-with-host =
+ .title = Bảo mật kết nối cho { $host }
+identity-connection-not-secure = Kết nối không an toàn
+identity-connection-secure = Kết nối an toàn
+identity-connection-failure = Kết nối thất bại
+identity-connection-internal = Đây là một trang an toàn của { -brand-short-name }
+identity-connection-file = Trang này đã được lưu ở máy tính của bạn.
+identity-connection-associated = Trang này được tải từ một trang khác.
+identity-extension-page = Trang này được tải từ một tiện ích mở rộng.
+identity-active-blocked = { -brand-short-name } đã chặn những phần không an toàn của trang này.
+identity-custom-root = Kết nối được xác minh bởi nhà phát hành chứng chỉ không được Mozilla công nhận.
+identity-passive-loaded = Có nhiều thành phân của trang không an toàn (ví dụ như ảnh).
+identity-active-loaded = Bạn đã tắt tính năng bảo vệ trên trang này.
+identity-weak-encryption = Trang này sử dụng mã hóa yếu.
+identity-insecure-login-forms = Đăng nhập vào trang này bạn có thể bị xâm nhập.
+identity-https-only-connection-upgraded = (đã nâng cấp lên HTTPS)
+identity-https-only-label = Chế độ chỉ HTTPS
+identity-https-only-label2 = Tự động nâng cấp trang web này lên kết nối an toàn
+identity-https-only-dropdown-on =
+ .label = Bật
+identity-https-only-dropdown-off =
+ .label = Tắt
+identity-https-only-dropdown-off-temporarily =
+ .label = Tắt tạm thời
+identity-https-only-info-turn-on2 = Bật Chế độ chỉ HTTPS cho trang web này nếu bạn muốn { -brand-short-name } nâng cấp kết nối khi có thể.
+identity-https-only-info-turn-off2 = Nếu trang có vẻ bị hỏng, bạn có thể tắt Chế độ chỉ HTTPS để trang web này tải lại sử dụng HTTP không an toàn.
+identity-https-only-info-turn-on3 = Bật nâng cấp HTTPS cho trang web này nếu bạn muốn { -brand-short-name } nâng cấp kết nối khi có thể.
+identity-https-only-info-turn-off3 = Nếu trang có vẻ bị hỏng, bạn có thể muốn tắt nâng cấp HTTPS cho trang web này để tải lại bằng HTTP không an toàn.
+identity-https-only-info-no-upgrade = Không thể nâng cấp kết nối từ HTTP.
+identity-permissions-storage-access-header = Cookie trên nhiều trang web
+identity-permissions-storage-access-hint = Khi bạn mở trang web này, các trang web này có thể sử dụng cookie trên nhiều trang web và lấy thông tin của bạn trên trang web này.
+identity-permissions-storage-access-learn-more = Tìm hiểu thêm
+identity-permissions-reload-hint = Bạn có thể cần phải tải lại trang để các thay đổi được áp dụng.
+identity-clear-site-data =
+ .label = Xóa cookie và dữ liệu trang web…
+identity-connection-not-secure-security-view = Bạn không được kết nối an toàn với trang web này.
+identity-connection-verified = Bạn đang kết nối an toàn tới trang này.
+identity-ev-owner-label = Chứng nhận được cấp cho:
+identity-description-custom-root2 = Mozilla không công nhận nhà phát hành chứng nhận này. Nó có thể đã được thêm từ hệ điều hành của bạn hoặc bởi quản trị viên.
+identity-remove-cert-exception =
+ .label = Loại bỏ ngoại lệ
+ .accesskey = R
+identity-description-insecure = Kết nối của bạn đến trang này không được bảo mật. Thông tin bạn gửi có thể bị thấy bởi người khác (ví dụ như mật khẩu, tin nhắn, thẻ tín dụng).
+identity-description-insecure-login-forms = Thông tin đăng nhập mà bạn nhập vào trên trang này không an toàn và có thể bị xâm nhập.
+identity-description-weak-cipher-intro = Kết nối đến trang này sử dụng mã hóa yếu và không bảo mật.
+identity-description-weak-cipher-risk = Người khác có thể thấy thông tin của bạn hoặc thay đổi hành vi của trang.
+identity-description-active-blocked2 = { -brand-short-name } đã chặn những phần không an toàn của trang này.
+identity-description-passive-loaded = Kết nối không được bảo mật và thông tin bạn chia sẻ với trang này có thể bị thấy bởi người khác.
+identity-description-passive-loaded-insecure2 = Trang web này chứa nội dung không an toàn (ví dụ: ảnh).
+identity-description-passive-loaded-mixed2 = Dù { -brand-short-name } đã chặn một số nội dung, vẫn có những nội dung trên trang không an toàn (ví dụ: ảnh).
+identity-description-active-loaded = Trang web này chứa nội dung không an toàn (ví dụ: các đoạn mã) và kết nối tới nội dung này không bảo mật.
+identity-description-active-loaded-insecure = Thông tin bạn chia sẻ với trang này có thể bị thấy bởi người khác (ví dụ: mật khẩu, tin nhắn, thẻ tín dụng, vâng vâng).
+identity-disable-mixed-content-blocking =
+ .label = Tạm thời tắt bảo vệ
+ .accesskey = D
+identity-enable-mixed-content-blocking =
+ .label = Bật bảo vệ
+ .accesskey = E
+identity-more-info-link-text =
+ .label = Thông tin thêm
+
+## Window controls
+
+browser-window-minimize-button =
+ .tooltiptext = Thu nhỏ
+browser-window-maximize-button =
+ .tooltiptext = Cực đại hoá
+browser-window-restore-down-button =
+ .tooltiptext = Khôi phục kích thước
+browser-window-close-button =
+ .tooltiptext = Đóng
+
+## Tab actions
+
+# This label should be written in all capital letters if your locale supports them.
+browser-tab-audio-playing2 = ĐANG PHÁT
+# This label should be written in all capital letters if your locale supports them.
+browser-tab-audio-muted2 = ĐÃ TẮT TIẾNG
+# This label should be written in all capital letters if your locale supports them.
+browser-tab-audio-blocked = TỰ ĐỘNG PHÁT BỊ CHẶN
+# This label should be written in all capital letters if your locale supports them.
+browser-tab-audio-pip = HÌNH TRONG HÌNH
+
+## These labels should be written in all capital letters if your locale supports them.
+## Variables:
+## $count (number): number of affected tabs
+
+browser-tab-mute =
+ { $count ->
+ [1] TẮT TIẾNG THẺ
+ *[other] TẮT TIẾNG { $count } THẺ
+ }
+browser-tab-unmute =
+ { $count ->
+ [1] BỎ TẮT TIẾNG THẺ
+ *[other] BỎ TẮT TIẾNG { $count } THẺ
+ }
+browser-tab-unblock =
+ { $count ->
+ [1] PHÁT THẺ
+ *[other] PHÁT { $count } THẺ
+ }
+
+## Bookmarks toolbar items
+
+browser-import-button2 =
+ .label = Nhập dấu trang…
+ .tooltiptext = Nhập dấu trang từ trình duyệt khác sang { -brand-short-name }.
+bookmarks-toolbar-empty-message = Để truy cập nhanh, hãy đặt dấu trang của bạn tại đây trên thanh công cụ dấu trang. <a data-l10n-name="manage-bookmarks">Quản lý dấu trang…</a>
+
+## WebRTC Pop-up notifications
+
+popup-select-camera-device =
+ .value = Máy ảnh:
+ .accesskey = C
+popup-select-camera-icon =
+ .tooltiptext = Máy ảnh
+popup-select-microphone-device =
+ .value = Micrô:
+ .accesskey = M
+popup-select-microphone-icon =
+ .tooltiptext = Micrô
+popup-select-speaker-icon =
+ .tooltiptext = Loa
+popup-select-window-or-screen =
+ .label = Cửa sổ hoặc màn hình:
+ .accesskey = W
+popup-all-windows-shared = Tất cả các cửa sổ trên màn hình sẽ được chia sẻ.
+
+## WebRTC window or screen share tab switch warning
+
+sharing-warning-window = Bạn đang chia sẻ { -brand-short-name }. Người khác có thể thấy khi bạn chuyển sang một thẻ mới.
+sharing-warning-screen = Bạn đang chia sẻ toàn bộ màn hình của bạn. Người khác có thể thấy khi bạn chuyển sang một thẻ mới.
+sharing-warning-proceed-to-tab =
+ .label = Tiếp tục với thẻ
+sharing-warning-disable-for-session =
+ .label = Vô hiệu hóa bảo vệ chia sẻ cho phiên này
+
+## DevTools F12 popup
+
+enable-devtools-popup-description2 = Để sử dụng phím tắt F12, trước tiên hãy mở Công cụ phát triển web qua menu Công cụ trình duyệt.
+
+## URL Bar
+
+# This string is used as an accessible name to the "X" button that cancels a custom search mode (i.e. exits the Amazon.com search mode).
+urlbar-search-mode-indicator-close =
+ .aria-label = Đóng
+# This placeholder is used when not in search mode and the user's default search
+# engine is unknown.
+urlbar-placeholder =
+ .placeholder = Nhập địa chỉ hoặc từ khóa tìm kiếm
+# This placeholder is used in search mode with search engines that search the
+# entire web.
+# Variables
+# $name (String): the name of a search engine that searches the entire Web
+# (e.g. Google).
+urlbar-placeholder-search-mode-web-2 =
+ .placeholder = Tìm kiếm trên mạng
+ .aria-label = Tìm kiếm với { $name }
+# This placeholder is used in search mode with search engines that search a
+# specific site (e.g., Amazon).
+# Variables
+# $name (String): the name of a search engine that searches a specific site
+# (e.g. Amazon).
+urlbar-placeholder-search-mode-other-engine =
+ .placeholder = Nhập từ tìm kiếm
+ .aria-label = Tìm kiếm { $name }
+# This placeholder is used when searching bookmarks.
+urlbar-placeholder-search-mode-other-bookmarks =
+ .placeholder = Nhập từ tìm kiếm
+ .aria-label = Tìm kiếm dấu trang
+# This placeholder is used when searching history.
+urlbar-placeholder-search-mode-other-history =
+ .placeholder = Nhập từ tìm kiếm
+ .aria-label = Tìm kiếm lịch sử
+# This placeholder is used when searching open tabs.
+urlbar-placeholder-search-mode-other-tabs =
+ .placeholder = Nhập từ tìm kiếm
+ .aria-label = Tìm kiếm thẻ
+# This placeholder is used when searching quick actions.
+urlbar-placeholder-search-mode-other-actions =
+ .placeholder = Nhập từ tìm kiếm
+ .aria-label = Tìm kiếm hành động
+# Variables
+# $name (String): the name of the user's default search engine
+urlbar-placeholder-with-name =
+ .placeholder = Tìm kiếm với { $name } hoặc nhập địa chỉ
+# Variables
+# $component (String): the name of the component which forces remote control.
+# Example: "DevTools", "Marionette", "RemoteAgent".
+urlbar-remote-control-notification-anchor2 =
+ .tooltiptext = Trình duyệt đang được điều khiển từ xa (lý do: { $component })
+urlbar-permissions-granted =
+ .tooltiptext = Bạn đã cấp cho trang web này các quyền bổ sung.
+urlbar-switch-to-tab =
+ .value = Chuyển qua thẻ:
+# Used to indicate that a selected autocomplete entry is provided by an extension.
+urlbar-extension =
+ .value = Tiện ích mở rộng:
+urlbar-go-button =
+ .tooltiptext = Mở trang trong thanh địa chỉ
+urlbar-page-action-button =
+ .tooltiptext = Hành động trên trang
+
+## Action text shown in urlbar results, usually appended after the search
+## string or the url, like "result value - action text".
+
+# Used when the private browsing engine differs from the default engine.
+# The "with" format was chosen because the search engine name can end with
+# "Search", and we would like to avoid strings like "Search MSN Search".
+# Variables
+# $engine (String): the name of a search engine
+urlbar-result-action-search-in-private-w-engine = Tìm kiếm với { $engine } trong cửa sổ riêng tư
+# Used when the private browsing engine is the same as the default engine.
+urlbar-result-action-search-in-private = Tìm kiếm trong cửa sổ riêng tư
+# The "with" format was chosen because the search engine name can end with
+# "Search", and we would like to avoid strings like "Search MSN Search".
+# Variables
+# $engine (String): the name of a search engine
+urlbar-result-action-search-w-engine = Tìm với { $engine }
+urlbar-result-action-sponsored = Được tài trợ
+urlbar-result-action-switch-tab = Chuyển sang thẻ
+urlbar-result-action-visit = Truy cập
+# "Switch to tab with container" is used when the target tab is located in a
+# different container.
+# Variables
+# $container (String): the name of the target container
+urlbar-result-action-switch-tab-with-container = Chuyển sang thẻ · <span>{ $container }</span>
+# Allows the user to visit a URL that was previously copied to the clipboard.
+urlbar-result-action-visit-from-clipboard = Truy cập từ khay nhớ tạm
+# Directs a user to press the Tab key to perform a search with the specified
+# engine.
+# Variables
+# $engine (String): the name of a search engine that searches the entire Web
+# (e.g. Google).
+urlbar-result-action-before-tabtosearch-web = Nhấn Tab để tìm kiếm bằng { $engine }
+# Directs a user to press the Tab key to perform a search with the specified
+# engine.
+# Variables
+# $engine (String): the name of a search engine that searches a specific site
+# (e.g. Amazon).
+urlbar-result-action-before-tabtosearch-other = Nhấn Tab để tìm kiếm { $engine }
+# Variables
+# $engine (String): the name of a search engine that searches the entire Web
+# (e.g. Google).
+urlbar-result-action-tabtosearch-web = Tìm kiếm với { $engine } trực tiếp từ thanh địa chỉ
+# Variables
+# $engine (String): the name of a search engine that searches a specific site
+# (e.g. Amazon).
+urlbar-result-action-tabtosearch-other-engine = Tìm kiếm { $engine } trực tiếp từ thanh địa chỉ
+# Action text for copying to clipboard.
+urlbar-result-action-copy-to-clipboard = Sao chép
+# Shows the result of a formula expression being calculated, the last = sign will be shown
+# as part of the result (e.g. "= 2").
+# Variables
+# $result (String): the string representation for a formula result
+urlbar-result-action-calculator-result = = { $result }
+
+## Action text shown in urlbar results, usually appended after the search
+## string or the url, like "result value - action text".
+## In these actions "Search" is a verb, followed by where the search is performed.
+
+urlbar-result-action-search-bookmarks = Tìm kiếm dấu trang
+urlbar-result-action-search-history = Tìm kiếm lịch sử
+urlbar-result-action-search-tabs = Tìm kiếm thẻ
+urlbar-result-action-search-actions = Tìm kiếm hành động
+
+## Labels shown above groups of urlbar results
+
+# A label shown above the "Firefox Suggest" (bookmarks/history) group in the
+# urlbar results.
+urlbar-group-firefox-suggest =
+ .label = { -firefox-suggest-brand-name }
+# A label shown above the search suggestions group in the urlbar results. It
+# should use sentence case.
+# Variables
+# $engine (String): the name of the search engine providing the suggestions
+urlbar-group-search-suggestions =
+ .label = Đề xuất của { $engine }
+# A label shown above Quick Actions in the urlbar results.
+urlbar-group-quickactions =
+ .label = Hành động nhanh
+# A label shown above the recent searches group in the urlbar results.
+# Variables
+# $engine (String): the name of the search engine used to search.
+urlbar-group-recent-searches =
+ .label = Tìm kiếm gần đây
+
+## Reader View toolbar buttons
+
+# This should match menu-view-enter-readerview in menubar.ftl
+reader-view-enter-button =
+ .aria-label = Vào chế độ đọc sách
+# This should match menu-view-close-readerview in menubar.ftl
+reader-view-close-button =
+ .aria-label = Đóng chế độ đọc sách
+
+## Picture-in-Picture urlbar button
+## Variables:
+## $shortcut (String) - Keyboard shortcut to execute the command.
+
+picture-in-picture-urlbar-button-open =
+ .tooltiptext = Mở hình trong hình ({ $shortcut })
+picture-in-picture-urlbar-button-close =
+ .tooltiptext = Đóng hình trong hình ({ $shortcut })
+picture-in-picture-panel-header = Hình trong hình
+picture-in-picture-panel-headline = Trang web này không khuyến nghị hình trong hình
+picture-in-picture-panel-body = Video có thể không hiển thị như ý định của nhà phát triển khi hình trong hình được bật.
+picture-in-picture-enable-toggle =
+ .label = Vẫn bật
+
+## Full Screen and Pointer Lock UI
+
+# Please ensure that the domain stays in the `<span data-l10n-name="domain">` markup.
+# Variables
+# $domain (String): the domain that is full screen, e.g. "mozilla.org"
+fullscreen-warning-domain = <span data-l10n-name="domain">{ $domain }</span> giờ đã hiển thị toàn màn hình
+fullscreen-warning-no-domain = Trang này giờ đã hiển thị toàn màn hình
+fullscreen-exit-button = Thoát toàn màn hình (Esc)
+# "esc" is lowercase on mac keyboards, but uppercase elsewhere.
+fullscreen-exit-mac-button = Thoát toàn màn hình (esc)
+# Please ensure that the domain stays in the `<span data-l10n-name="domain">` markup.
+# Variables
+# $domain (String): the domain that is using pointer-lock, e.g. "mozilla.org"
+pointerlock-warning-domain = <span data-l10n-name="domain">{ $domain }</span> có quyền điều khiển con trỏ của bạn. Ấn Esc để lấy lại quyền điều khiển.
+pointerlock-warning-no-domain = Trang này có quyền điều khiển con trỏ của bạn. Ấn Esc để lấy lại quyền điều khiển.
+
+## Bookmarks panels, menus and toolbar
+
+bookmarks-manage-bookmarks =
+ .label = Quản lý dấu trang
+bookmarks-recent-bookmarks-panel-subheader = Dấu trang gần đây
+bookmarks-toolbar-chevron =
+ .tooltiptext = Hiển thị thêm dấu trang
+bookmarks-sidebar-content =
+ .aria-label = Dấu trang
+bookmarks-menu-button =
+ .label = Trình đơn dấu trang
+bookmarks-other-bookmarks-menu =
+ .label = Dấu trang khác
+bookmarks-mobile-bookmarks-menu =
+ .label = Dấu trang trên di động
+
+## Variables:
+## $isVisible (boolean): if the specific element (e.g. bookmarks sidebar,
+## bookmarks toolbar, etc.) is visible or not.
+
+bookmarks-tools-sidebar-visibility =
+ .label =
+ { $isVisible ->
+ [true] Ẩn thanh lề dấu trang
+ *[other] Hiển thị thanh lề dấu trang
+ }
+bookmarks-tools-toolbar-visibility-menuitem =
+ .label =
+ { $isVisible ->
+ [true] Ẩn thanh công cụ dấu trang
+ *[other] Hiển thị thanh công cụ dấu trang
+ }
+bookmarks-tools-toolbar-visibility-panel =
+ .label =
+ { $isVisible ->
+ [true] Ẩn thanh dấu trang
+ *[other] Hiển thị thanh dấu trang
+ }
+bookmarks-tools-menu-button-visibility =
+ .label =
+ { $isVisible ->
+ [true] Xóa bảng chọn dấu trang từ thanh công cụ
+ *[other] Thêm bảng chọn dấu trang vào thanh công cụ
+ }
+
+##
+
+bookmarks-search =
+ .label = Tìm kiếm dấu trang
+bookmarks-tools =
+ .label = Công cụ đánh dấu trang
+bookmarks-subview-edit-bookmark =
+ .label = Chỉnh sửa dấu trang này…
+# The aria-label is a spoken label that should not include the word "toolbar" or
+# such, because screen readers already know that this container is a toolbar.
+# This avoids double-speaking.
+bookmarks-toolbar =
+ .toolbarname = Thanh dấu trang
+ .accesskey = B
+ .aria-label = Dấu trang
+bookmarks-toolbar-menu =
+ .label = Thanh dấu trang
+bookmarks-toolbar-placeholder =
+ .title = Các mục của thanh dấu trang
+bookmarks-toolbar-placeholder-button =
+ .label = Các mục của thanh dấu trang
+# "Bookmark" is a verb, as in "Add current tab to bookmarks".
+bookmarks-subview-bookmark-tab =
+ .label = Đánh dấu thẻ hiện tại…
+
+## Library Panel items
+
+library-bookmarks-menu =
+ .label = Dấu trang
+library-recent-activity-title =
+ .value = Hoạt động gần đây
+
+## Pocket toolbar button
+
+save-to-pocket-button =
+ .label = Lưu vào { -pocket-brand-name }
+ .tooltiptext = Lưu vào { -pocket-brand-name }
+
+## Repair text encoding toolbar button
+
+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 trang
+
+## Customize Toolbar Buttons
+
+# Variables:
+# $shortcut (String): keyboard shortcut to open settings (only on macOS)
+toolbar-settings-button =
+ .label = Cài đặt
+ .tooltiptext =
+ { PLATFORM() ->
+ [macos] Mở cài đặt ({ $shortcut })
+ *[other] Mở cài đặt
+ }
+toolbar-overflow-customize-button =
+ .label = Tùy biến thanh công cụ…
+ .accesskey = C
+toolbar-button-email-link =
+ .label = Gửi liên kết này qua email
+ .tooltiptext = Gửi một thư điện tử chứa liên kết tới trang này
+toolbar-button-logins =
+ .label = Mật khẩu
+ .tooltiptext = Xem và quản lý mật khẩu đã lưu của bạn
+# Variables:
+# $shortcut (String): keyboard shortcut to save a copy of the page
+toolbar-button-save-page =
+ .label = Lưu trang
+ .tooltiptext = Lưu trang này ({ $shortcut })
+# Variables:
+# $shortcut (String): keyboard shortcut to open a local file
+toolbar-button-open-file =
+ .label = Mở tập tin
+ .tooltiptext = Mở một tập tin ({ $shortcut })
+toolbar-button-synced-tabs =
+ .label = Các thẻ đã đồng bộ
+ .tooltiptext = Hiện thẻ từ các thiết bị khác
+# Variables
+# $shortcut (string) - Keyboard shortcut to open a new private browsing window
+toolbar-button-new-private-window =
+ .label = Cửa sổ riêng tư mới
+ .tooltiptext = Mở một cửa sổ duyệt web riêng tư mới ({ $shortcut })
+
+## EME notification panel
+
+eme-notifications-drm-content-playing = Một số nguồn audio và video trên trang này có sử dụng phần mềm DRM bảo vệ bản quyền nên một số thao tác có thể bị giới hạn với { -brand-short-name }.
+eme-notifications-drm-content-playing-manage = Quản lý cài đặt
+eme-notifications-drm-content-playing-manage-accesskey = M
+eme-notifications-drm-content-playing-dismiss = Bỏ qua
+eme-notifications-drm-content-playing-dismiss-accesskey = D
+
+## Password save/update panel
+
+panel-save-update-username = Tên đăng nhập
+panel-save-update-password = Mật khẩu
+
+##
+
+# "More" item in macOS share menu
+menu-share-more =
+ .label = Xem thêm…
+ui-tour-info-panel-close =
+ .tooltiptext = Đóng
+
+## Variables:
+## $uriHost (String): URI host for which the popup was allowed or blocked.
+
+popups-infobar-allow =
+ .label = Cho phép { $uriHost } mở cửa sổ bật lên
+ .accesskey = p
+popups-infobar-block =
+ .label = Chặn cửa sổ bật lên từ { $uriHost }
+ .accesskey = p
+
+##
+
+popups-infobar-dont-show-message =
+ .label = Không hiển thị thông báo này khi có cửa sổ bật lên bị chặn
+ .accesskey = D
+edit-popup-settings =
+ .label = Quản lý cài đặt cửa sổ bật lên…
+ .accesskey = M
+picture-in-picture-hide-toggle =
+ .label = Ẩn nút hình trong hình
+ .accesskey = H
+
+## Since the default position for PiP controls does not change for RTL layout,
+## right-to-left languages should use "Left" and "Right" as in the English strings,
+
+picture-in-picture-move-toggle-right =
+ .label = Chuyển chế độ hình trong hình sang phải
+ .accesskey = R
+picture-in-picture-move-toggle-left =
+ .label = Chuyển chế độ hình trong hình sang trái
+ .accesskey = L
+
+##
+
+
+# Navigator Toolbox
+
+# This string is a spoken label that should not include
+# the word "toolbar" or such, because screen readers already know that
+# this container is a toolbar. This avoids double-speaking.
+navbar-accessible =
+ .aria-label = Điều hướng
+navbar-downloads =
+ .label = Tải xuống
+navbar-overflow =
+ .tooltiptext = Công cụ khác...
+# Variables:
+# $shortcut (String): keyboard shortcut to print the page
+navbar-print =
+ .label = In
+ .tooltiptext = In trang này… ({ $shortcut })
+navbar-home =
+ .label = Trang chủ
+ .tooltiptext = { -brand-short-name } Trang Chủ
+navbar-library =
+ .label = Thư viện
+ .tooltiptext = Xem lịch sử, dấu trang đã lưu và nhiều hơn nữa
+navbar-search =
+ .title = Tìm kiếm
+# Name for the tabs toolbar as spoken by screen readers. The word
+# "toolbar" is appended automatically and should not be included in
+# in the string
+tabs-toolbar =
+ .aria-label = Thẻ trình duyệt
+tabs-toolbar-new-tab =
+ .label = Thẻ mới
+tabs-toolbar-list-all-tabs =
+ .label = Liệt kê tất cả các thẻ
+ .tooltiptext = Liệt kê tất cả các thẻ
+
+## Infobar shown at startup to suggest session-restore
+
+# <img data-l10n-name="icon"/> will be replaced by the application menu icon
+restore-session-startup-suggestion-message = <strong>Đã mở các thẻ trước đó?</strong> Bạn có thể khôi phục phiên trước đó của mình từ menu ứng dụng { -brand-short-name } <img data-l10n-name="icon"/>, trong mục Lịch sử.
+restore-session-startup-suggestion-button = Hướng dẫn cho tôi
+
+## Infobar shown when the user tries to open a file picker and file pickers are blocked by enterprise policy
+
+filepicker-blocked-infobar = Tổ chức của bạn đã chặn quyền truy cập vào các tập tin cục bộ trên máy tính này
+
+## Mozilla data reporting notification (Telemetry, Firefox Health Report, etc)
+
+data-reporting-notification-message = { -brand-short-name } tự động gửi dữ liệu về { -vendor-short-name } để chúng tôi có thể cải thiện trải nghiệm của bạn.
+data-reporting-notification-button =
+ .label = Chọn những thứ tôi muốn chia sẻ
+ .accesskey = C
+# Label for the indicator shown in the private browsing window titlebar.
+private-browsing-indicator-label = Duyệt web riêng tư
+
+## Unified extensions (toolbar) button
+
+unified-extensions-button =
+ .label = Tiện ích mở rộng
+ .tooltiptext = Tiện ích mở rộng
+
+## Unified extensions button when permission(s) are needed.
+## Note that the new line is intentionally part of the tooltip.
+
+unified-extensions-button-permissions-needed =
+ .label = Tiện ích mở rộng
+ .tooltiptext =
+ Tiện ích mở rộng
+ Cần yêu cầu quyền hạn
+
+## Unified extensions button when some extensions are quarantined.
+## Note that the new line is intentionally part of the tooltip.
+
+unified-extensions-button-quarantined =
+ .label = Tiện ích mở rộng
+ .tooltiptext =
+ Tiện ích mở rộng
+ Vài tiện ích mở rộng không được phép
+
+## Private browsing reset button
+
+reset-pbm-toolbar-button =
+ .label = Kết thúc phiên riêng tư
+ .tooltiptext = Kết thúc phiên riêng tư
+reset-pbm-panel-heading = Kết thúc phiên riêng tư của bạn?
+reset-pbm-panel-description = Đóng tất cả các thẻ riêng tư và xóa lịch sử, cookie cũng như tất cả dữ liệu trang web khác.
+reset-pbm-panel-always-ask-checkbox =
+ .label = Luôn hỏi tôi
+ .accesskey = A
+reset-pbm-panel-cancel-button =
+ .label = Hủy bỏ
+ .accesskey = C
+reset-pbm-panel-confirm-button =
+ .label = Xoá dữ liệu phiên
+ .accesskey = D
+reset-pbm-panel-complete = Đã xóa dữ liệu phiên riêng tư
+
+## Autorefresh blocker
+
+refresh-blocked-refresh-label = { -brand-short-name } đã ngăn trang web này tự động tải lại.
+refresh-blocked-redirect-label = { -brand-short-name } đã ngăn trang web này tự động chuyển đến trang khác.
+refresh-blocked-allow =
+ .label = Cho phép
+ .accesskey = A
+
+## Firefox Relay integration
+
+firefox-relay-offer-why-to-use-relay = Mặt nạ an toàn, dễ sử dụng của chúng tôi bảo vệ danh tính của bạn và ngăn chặn thư rác bằng cách ẩn địa chỉ email của bạn.
+# Variables:
+# $useremail (String): user email that will receive messages
+firefox-relay-offer-what-relay-provides = Tất cả email gửi đến mặt nạ email của bạn sẽ được chuyển đến <strong>{ $useremail }</strong> (trừ khi bạn quyết định chặn chúng).
+firefox-relay-offer-legal-notice = Bằng cách nhấp vào “Sử dụng mặt nạ email”, bạn đồng ý với <label data-l10n-name="tos-url">điều khoản sử dụng</label> và <label data-l10n-name="privacy-url">thông báo về quyền riêng tư</label>.
+
+## Add-on Pop-up Notifications
+
+popup-notification-addon-install-unsigned =
+ .value = (Chưa xác thực)
+popup-notification-xpinstall-prompt-learn-more = Tìm hiểu thêm về cách cài đặt tiện ích một cách an toàn
+
+## Pop-up warning
+
+# Variables:
+# $popupCount (Number): the number of pop-ups blocked.
+popup-warning-message = { -brand-short-name } đã chặn trang web này mở { $popupCount } cửa sổ bật lên.
+# The singular form is left out for English, since the number of blocked pop-ups is always greater than 1.
+# Variables:
+# $popupCount (Number): the number of pop-ups blocked.
+popup-warning-exceeded-message = { -brand-short-name } đã ngăn trang web này mở nhiều hơn { $popupCount } cửa sổ bật lên.
+popup-warning-button =
+ .label =
+ { PLATFORM() ->
+ [windows] Tùy chọn
+ *[other] Tùy chỉnh
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] O
+ *[other] P
+ }
+# Variables:
+# $popupURI (String): the URI for the pop-up window
+popup-show-popup-menuitem =
+ .label = Hiển thị '{ $popupURI }'
diff --git a/l10n-vi/browser/browser/browserContext.ftl b/l10n-vi/browser/browser/browserContext.ftl
new file mode 100644
index 0000000000..e5bb543bd8
--- /dev/null
+++ b/l10n-vi/browser/browser/browserContext.ftl
@@ -0,0 +1,391 @@
+# 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/.
+
+navbar-tooltip-instruction =
+ .value =
+ { PLATFORM() ->
+ [macos] Kéo xuống để xem lịch sử
+ *[other] Nhấn chuột phải hoặc kéo xuống để hiển thị lịch sử
+ }
+
+## Back
+
+# Variables
+# $shortcut (String) - A keyboard shortcut for the Go Back command.
+main-context-menu-back-2 =
+ .tooltiptext = Trở lại trang trước ({ $shortcut })
+ .aria-label = Quay lại
+ .accesskey = B
+# This menuitem is only visible on macOS
+main-context-menu-back-mac =
+ .label = Quay lại
+ .accesskey = B
+navbar-tooltip-back-2 =
+ .value = { main-context-menu-back-2.tooltiptext }
+toolbar-button-back-2 =
+ .label = { main-context-menu-back-2.aria-label }
+
+## Forward
+
+# Variables
+# $shortcut (String) - A keyboard shortcut for the Go Forward command.
+main-context-menu-forward-2 =
+ .tooltiptext = Tiến đến một trang ({ $shortcut })
+ .aria-label = Tiếc tục
+ .accesskey = F
+# This menuitem is only visible on macOS
+main-context-menu-forward-mac =
+ .label = Tiến
+ .accesskey = F
+navbar-tooltip-forward-2 =
+ .value = { main-context-menu-forward-2.tooltiptext }
+toolbar-button-forward-2 =
+ .label = { main-context-menu-forward-2.aria-label }
+
+## Reload
+
+main-context-menu-reload =
+ .aria-label = Tải lại
+ .accesskey = R
+# This menuitem is only visible on macOS
+main-context-menu-reload-mac =
+ .label = Tải lại
+ .accesskey = R
+toolbar-button-reload =
+ .label = { main-context-menu-reload.aria-label }
+
+## Stop
+
+main-context-menu-stop =
+ .aria-label = Dừng
+ .accesskey = S
+# This menuitem is only visible on macOS
+main-context-menu-stop-mac =
+ .label = Dừng
+ .accesskey = S
+toolbar-button-stop =
+ .label = { main-context-menu-stop.aria-label }
+
+## Stop-Reload Button
+
+toolbar-button-stop-reload =
+ .title = { main-context-menu-reload.aria-label }
+
+## Firefox Account Button
+
+toolbar-button-fxaccount =
+ .label = { -fxaccount-brand-name }
+ .tooltiptext = { -fxaccount-brand-name }
+
+## Account toolbar Button
+
+toolbar-button-account =
+ .label = Tài khoản
+ .tooltiptext = Tài khoản
+
+## Save Page
+
+main-context-menu-page-save =
+ .label = Lưu trang dưới dạng…
+ .accesskey = P
+
+## Simple menu items
+
+main-context-menu-bookmark-page =
+ .aria-label = Đánh dấu trang…
+ .accesskey = m
+ .tooltiptext = Đánh dấu trang
+# This menuitem is only visible on macOS
+# Cannot be shown at the same time as main-context-menu-edit-bookmark-mac,
+# so should probably have the same access key if possible.
+main-context-menu-bookmark-page-mac =
+ .label = Đánh dấu trang…
+ .accesskey = m
+# This menuitem is only visible on macOS
+# Cannot be shown at the same time as main-context-menu-bookmark-page-mac,
+# so should probably have the same access key if possible.
+main-context-menu-edit-bookmark-mac =
+ .label = Chỉnh sửa dấu trang…
+ .accesskey = m
+# Variables
+# $shortcut (String) - A keyboard shortcut for the add bookmark command.
+main-context-menu-bookmark-page-with-shortcut =
+ .aria-label = Đánh dấu trang…
+ .accesskey = m
+ .tooltiptext = Đánh dấu trang ({ $shortcut })
+main-context-menu-edit-bookmark =
+ .aria-label = Chỉnh sửa dấu trang…
+ .accesskey = m
+ .tooltiptext = Chỉnh sửa dấu trang
+# Variables
+# $shortcut (String) - A keyboard shortcut for the edit bookmark command.
+main-context-menu-edit-bookmark-with-shortcut =
+ .aria-label = Chỉnh sửa dấu trang…
+ .accesskey = m
+ .tooltiptext = Chỉnh sửa dấu trang ({ $shortcut })
+main-context-menu-open-link =
+ .label = Mở liên kết
+ .accesskey = O
+main-context-menu-open-link-new-tab =
+ .label = Mở liên kết trong thẻ mới
+ .accesskey = T
+main-context-menu-open-link-container-tab =
+ .label = Mở liên kết trong thẻ ngăn chứa mới
+ .accesskey = w
+main-context-menu-open-link-new-window =
+ .label = Mở liên kết trong cửa sổ mới
+ .accesskey = W
+main-context-menu-open-link-new-private-window =
+ .label = Mở liên kết trong cửa sổ riêng tư mới
+ .accesskey = P
+main-context-menu-bookmark-link-2 =
+ .label = Đánh dấu liên kết…
+ .accesskey = B
+main-context-menu-save-link =
+ .label = Lưu liên kết thành…
+ .accesskey = k
+main-context-menu-save-link-to-pocket =
+ .label = Lưu liên kết vào { -pocket-brand-name }
+ .accesskey = o
+
+## The access keys for "Copy Link" and "Copy Email Address"
+## should be the same if possible; the two context menu items
+## are mutually exclusive.
+
+main-context-menu-copy-email =
+ .label = Sao chép địa chỉ email
+ .accesskey = E
+main-context-menu-copy-phone =
+ .label = Sao chép số điện thoại
+ .accesskey = o
+main-context-menu-copy-link-simple =
+ .label = Sao chép liên kết
+ .accesskey = L
+# This command copies the link, removing additional
+# query parameters used to track users across sites.
+main-context-menu-strip-on-share-link =
+ .label = Sao chép liên kết (không tham số theo dõi)
+ .accesskey = y
+
+## Media (video/audio) controls
+##
+## The accesskey for "Play" and "Pause" are the
+## same because the two context-menu items are
+## mutually exclusive.
+
+main-context-menu-media-play =
+ .label = Phát
+ .accesskey = P
+main-context-menu-media-pause =
+ .label = Tạm dừng
+ .accesskey = P
+
+##
+
+main-context-menu-media-mute =
+ .label = Tắt tiếng
+ .accesskey = M
+main-context-menu-media-unmute =
+ .label = Bật tiếng
+ .accesskey = m
+main-context-menu-media-play-speed-2 =
+ .label = Tốc độ
+ .accesskey = d
+main-context-menu-media-play-speed-slow-2 =
+ .label = 0.5×
+main-context-menu-media-play-speed-normal-2 =
+ .label = 1.0×
+main-context-menu-media-play-speed-fast-2 =
+ .label = 1.25×
+main-context-menu-media-play-speed-faster-2 =
+ .label = 1.5×
+main-context-menu-media-play-speed-fastest-2 =
+ .label = 2×
+main-context-menu-media-loop =
+ .label = Lặp lại
+ .accesskey = L
+
+## The access keys for "Show Controls" and "Hide Controls" are the same
+## because the two context-menu items are mutually exclusive.
+
+main-context-menu-media-show-controls =
+ .label = Hiển thị điều khiển
+ .accesskey = C
+main-context-menu-media-hide-controls =
+ .label = Ẩn các điều khiển
+ .accesskey = C
+
+##
+
+main-context-menu-media-video-fullscreen =
+ .label = Toàn màn hình
+ .accesskey = F
+main-context-menu-media-video-leave-fullscreen =
+ .label = Thoát chế độ toàn màn hình
+ .accesskey = u
+# This is used when right-clicking on a video in the
+# content area when the Picture-in-Picture feature is enabled.
+main-context-menu-media-watch-pip =
+ .label = Xem ở chế độ hình trong hình
+ .accesskey = u
+main-context-menu-image-reload =
+ .label = Tải lại hình ảnh
+ .accesskey = R
+main-context-menu-image-view-new-tab =
+ .label = Mở hình ảnh trong thẻ mới
+ .accesskey = I
+main-context-menu-video-view-new-tab =
+ .label = Mở video trong thẻ mới
+ .accesskey = i
+main-context-menu-image-copy =
+ .label = Sao chép ảnh
+ .accesskey = y
+main-context-menu-image-copy-link =
+ .label = Sao chép liên kết hình ảnh
+ .accesskey = o
+main-context-menu-video-copy-link =
+ .label = Sao chép liên kết video
+ .accesskey = o
+main-context-menu-audio-copy-link =
+ .label = Sao chép liên kết âm thanh
+ .accesskey = o
+main-context-menu-image-save-as =
+ .label = Lưu ảnh dưới dạng…
+ .accesskey = v
+main-context-menu-image-email =
+ .label = Gửi ảnh qua email…
+ .accesskey = g
+main-context-menu-image-set-image-as-background =
+ .label = Đặt hình ảnh làm màn hình nền…
+ .accesskey = S
+main-context-menu-image-copy-text =
+ .label = Sao chép văn bản từ hình ảnh
+ .accesskey = T
+main-context-menu-image-info =
+ .label = Xem thông tin hình ảnh
+ .accesskey = f
+main-context-menu-image-desc =
+ .label = Xem mô tả
+ .accesskey = D
+main-context-menu-video-save-as =
+ .label = Lưu video thành…
+ .accesskey = v
+main-context-menu-audio-save-as =
+ .label = Lưu âm thanh thành…
+ .accesskey = v
+main-context-menu-video-take-snapshot =
+ .label = Chụp ảnh…
+ .accesskey = S
+main-context-menu-video-email =
+ .label = Gửi video qua email…
+ .accesskey = a
+main-context-menu-audio-email =
+ .label = Gửi âm thanh qua email…
+ .accesskey = a
+main-context-menu-save-to-pocket =
+ .label = Lưu trang vào { -pocket-brand-name }
+ .accesskey = k
+main-context-menu-send-to-device =
+ .label = Gửi trang tới thiết bị
+ .accesskey = n
+
+## The access keys for "Use Saved Login" and "Use Saved Password"
+## should be the same if possible; the two context menu items
+## are mutually exclusive.
+
+main-context-menu-use-saved-login =
+ .label = Sử dụng thông tin đăng nhập đã lưu
+ .accesskey = o
+# Displayed when there are saved passwords and the user clicks inside a username or password field
+main-context-menu-use-saved-password =
+ .label = Sử dụng mật khẩu đã lưu
+ .accesskey = o
+
+##
+
+main-context-menu-use-relay-mask =
+ .label = Sử dụng mặt nạ email { -relay-brand-short-name }
+ .accesskey = E
+main-context-menu-suggest-strong-password =
+ .label = Đề xuất mật khẩu mạnh…
+ .accesskey = S
+main-context-menu-manage-logins2 =
+ .label = Quản lý thông tin đăng nhập
+ .accesskey = M
+main-context-menu-manage-passwords =
+ .label = Quản lý mật khẩu
+ .accesskey = M
+main-context-menu-keyword =
+ .label = Tạo từ khóa cho chuỗi tìm kiếm này…
+ .accesskey = K
+main-context-menu-link-send-to-device =
+ .label = Gửi đường dẫn tới thiết bị
+ .accesskey = n
+main-context-menu-frame =
+ .label = Khung này
+ .accesskey = h
+main-context-menu-frame-show-this =
+ .label = Chỉ hiển thị khung này
+ .accesskey = S
+main-context-menu-frame-open-tab =
+ .label = Mở khung trong thẻ mới
+ .accesskey = T
+main-context-menu-frame-open-window =
+ .label = Mở khung trong cửa sổ mới
+ .accesskey = W
+main-context-menu-frame-reload =
+ .label = Tải lại khung
+ .accesskey = R
+main-context-menu-frame-add-bookmark =
+ .label = Đánh dấu khung…
+ .accesskey = m
+main-context-menu-frame-save-as =
+ .label = Lưu khung thành…
+ .accesskey = F
+main-context-menu-frame-print =
+ .label = In khung…
+ .accesskey = P
+main-context-menu-frame-view-source =
+ .label = Xem mã nguồn khung
+ .accesskey = V
+main-context-menu-frame-view-info =
+ .label = Xem thông tin khung
+ .accesskey = I
+main-context-menu-print-selection-2 =
+ .label = In phần lựa chọn…
+ .accesskey = r
+main-context-menu-view-selection-source =
+ .label = Xem mã nguồn của đoạn bôi đen
+ .accesskey = e
+main-context-menu-take-screenshot =
+ .label = Chụp màn hình
+ .accesskey = T
+main-context-menu-take-frame-screenshot =
+ .label = Chụp màn hình
+ .accesskey = o
+main-context-menu-view-page-source =
+ .label = Xem mã nguồn trang
+ .accesskey = V
+main-context-menu-bidi-switch-text =
+ .label = Chuyển hướng văn bản
+ .accesskey = w
+main-context-menu-bidi-switch-page =
+ .label = Chuyển hướng trang
+ .accesskey = D
+main-context-menu-inspect =
+ .label = Kiểm tra
+ .accesskey = Q
+main-context-menu-inspect-a11y-properties =
+ .label = Kiểm tra thuộc tính trợ năng
+main-context-menu-eme-learn-more =
+ .label = Tìm hiểu thêm về DRM…
+ .accesskey = D
+# Variables
+# $containerName (String): The name of the current container
+main-context-menu-open-link-in-container-tab =
+ .label = Mở liên kết trong thẻ { $containerName } mới
+ .accesskey = T
+main-context-menu-reveal-password =
+ .label = Hiển thị mật khẩu
+ .accesskey = v
diff --git a/l10n-vi/browser/browser/browserSets.ftl b/l10n-vi/browser/browser/browserSets.ftl
new file mode 100644
index 0000000000..65eb7861d6
--- /dev/null
+++ b/l10n-vi/browser/browser/browserSets.ftl
@@ -0,0 +1,218 @@
+# 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-minimize-command =
+ .label = Thu nhỏ
+
+window-zoom-command =
+ .label = Phóng to
+
+window-new-shortcut =
+ .key = N
+
+window-minimize-shortcut =
+ .key = m
+
+close-shortcut =
+ .key = W
+
+tab-new-shortcut =
+ .key = t
+
+location-open-shortcut =
+ .key = l
+
+location-open-shortcut-alt =
+ .key = d
+
+search-focus-shortcut =
+ .key = k
+
+# This shortcut is used in two contexts:
+# - web search
+# - find in page
+find-shortcut =
+ .key = f
+
+search-find-again-shortcut =
+ .key = g
+
+search-find-again-shortcut-alt =
+ .keycode = VK_F3
+
+search-find-selection-shortcut =
+ .key = e
+
+# Verify what shortcut for that operation
+# are recommended by the Human Interface Guidelines
+# of each platform for your locale.
+search-focus-shortcut-alt =
+ .key =
+ { PLATFORM() ->
+ [linux] j
+ *[other] e
+ }
+
+# Verify what shortcut for that operation
+# are recommended by the Human Interface Guidelines
+# of each platform for your locale.
+downloads-shortcut =
+ .key =
+ { PLATFORM() ->
+ [linux] y
+ *[other] j
+ }
+
+addons-shortcut =
+ .key = A
+
+file-open-shortcut =
+ .key = o
+
+save-page-shortcut =
+ .key = s
+
+page-source-shortcut =
+ .key = u
+
+# This should match the Option+Command keyboard shortcut letter that Safari
+# and Chrome use for "View Source" on macOS. `page-source-shortcut` above
+# is Firefox's official keyboard shortcut shown in the GUI.
+# Safari variant is an alias provided for the convenience of Safari and Chrome
+# users on macOS. See bug 1398988.
+page-source-shortcut-safari =
+ .key = u
+
+page-info-shortcut =
+ .key = i
+
+print-shortcut =
+ .key = p
+
+mute-toggle-shortcut =
+ .key = M
+
+nav-back-shortcut-alt =
+ .key = [
+
+nav-fwd-shortcut-alt =
+ .key = ]
+
+nav-reload-shortcut =
+ .key = r
+
+# Shortcut available only on macOS.
+nav-stop-shortcut =
+ .key = .
+
+history-show-all-shortcut =
+ .key = H
+
+history-show-all-shortcut-mac =
+ .key = Y
+
+history-sidebar-shortcut =
+ .key = h
+
+full-screen-shortcut =
+ .key = f
+
+reader-mode-toggle-shortcut-windows =
+ .keycode = VK_F9
+
+reader-mode-toggle-shortcut-other =
+ .key = R
+
+picture-in-picture-toggle-shortcut-mac =
+ .key = ]
+
+# Pick the key that is commonly present
+# in your locale keyboards above the
+# `picture-in-picture-toggle-shortcut-mac` key.
+picture-in-picture-toggle-shortcut-mac-alt =
+ .key = { "}" }
+
+picture-in-picture-toggle-shortcut =
+ .key = ]
+
+# Pick the key that is commonly present
+# in your locale keyboards above the
+# `picture-in-picture-toggle-shortcut` key.
+picture-in-picture-toggle-shortcut-alt =
+ .key = { "}" }
+
+bookmark-this-page-shortcut =
+ .key = d
+
+# Verify what shortcut for that operation
+# are recommended by the Human Interface Guidelines
+# of each platform for your locale.
+bookmark-show-library-shortcut =
+ .key = O
+
+# Verify what shortcut for that operation
+# are recommended by the Human Interface Guidelines
+# of each platform for your locale.
+bookmark-show-sidebar-shortcut =
+ .key = b
+
+# Verify what shortcut for that operation
+# are recommended by the Human Interface Guidelines
+# of each platform for your locale.
+bookmark-show-toolbar-shortcut =
+ .key = B
+
+## All `-alt*` messages are alternative acceleration keys for zoom.
+## If shift key is needed with your locale popular keyboard for them,
+## you can use these alternative items. Otherwise, their values should be empty.
+
+full-zoom-reduce-shortcut =
+ .key = -
+
+full-zoom-reduce-shortcut-alt-a =
+ .key = _
+
+full-zoom-reduce-shortcut-alt-b =
+ .key = { "" }
+
+full-zoom-enlarge-shortcut =
+ .key = +
+
+full-zoom-enlarge-shortcut-alt =
+ .key = =
+
+full-zoom-enlarge-shortcut-alt2 =
+ .key = { "" }
+
+full-zoom-reset-shortcut =
+ .key = 0
+
+full-zoom-reset-shortcut-alt =
+ .key = { "" }
+
+##
+
+bidi-switch-direction-shortcut =
+ .key = X
+
+private-browsing-shortcut =
+ .key = P
+
+## The shortcuts below are for Mac specific
+## global menu.
+
+quit-app-shortcut =
+ .key = Q
+
+help-shortcut =
+ .key = ?
+
+preferences-shortcut =
+ .key = ,
+
+hide-app-shortcut =
+ .key = H
+
+hide-other-apps-shortcut =
+ .key = H
diff --git a/l10n-vi/browser/browser/colorways.ftl b/l10n-vi/browser/browser/colorways.ftl
new file mode 100644
index 0000000000..9f38ddc51a
--- /dev/null
+++ b/l10n-vi/browser/browser/colorways.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/.
+
+
+## Colorway collections
+
+## Colorway names and descriptions
+
+playmaker-colorway-name = Người kiến tạo lối chơi
+playmaker-colorway-description = Bạn tạo cơ hội để giành chiến thắng và giúp mọi người xung quanh nâng tầm trò chơi của họ.
+
+expressionist-colorway-name = Trường phái biểu hiện
+expressionist-colorway-description = Bạn nhìn thế giới một cách khác biệt và những sáng tạo của bạn khuấy động cảm xúc của người khác.
+
+visionary-colorway-name = Nhìn xa trông rộng
+visionary-colorway-description = Bạn đặt câu hỏi về hiện trạng và khiến người khác phải tưởng tượng về một tương lai tốt đẹp hơn.
+
+activist-colorway-name = Nhà hoạt động
+activist-colorway-description = Bạn để lại cho thế giới một nơi tốt đẹp hơn những gì bạn đã tìm thấy và khiến người khác tin tưởng.
+
+dreamer-colorway-name = Người mơ mộng
+dreamer-colorway-description = Bạn tin rằng vận may ủng hộ những người mạnh dạn và truyền cảm hứng cho những người khác dũng cảm.
+
+innovator-colorway-name = Người đổi mới
+innovator-colorway-description = Bạn nhìn thấy cơ hội ở khắp mọi nơi và tạo ra ảnh hưởng đến cuộc sống của mọi người xung quanh bạn.
diff --git a/l10n-vi/browser/browser/components/mozSupportLink.ftl b/l10n-vi/browser/browser/components/mozSupportLink.ftl
new file mode 100644
index 0000000000..d04cd7e55d
--- /dev/null
+++ b/l10n-vi/browser/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/l10n-vi/browser/browser/confirmationHints.ftl b/l10n-vi/browser/browser/confirmationHints.ftl
new file mode 100644
index 0000000000..0d62d6ce3f
--- /dev/null
+++ b/l10n-vi/browser/browser/confirmationHints.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/.
+
+
+## Confirmation hints
+
+confirmation-hint-breakage-report-sent = Đã gửi báo cáo. Cảm ơn bạn!
+confirmation-hint-login-removed = Đã xóa thông tin đăng nhập!
+confirmation-hint-password-removed = Đã xóa mật khẩu!
+confirmation-hint-page-bookmarked = Đã lưu vào dấu trang
+confirmation-hint-password-saved = Mật khẩu đã được lưu!
+confirmation-hint-password-created = Đã lưu mật khẩu
+confirmation-hint-password-updated = Đã cập nhật mật khẩu
+confirmation-hint-address-created = Đã lưu địa chỉ
+confirmation-hint-address-updated = Đã cập nhật địa chỉ
+confirmation-hint-credit-card-created = Đã lưu thẻ
+confirmation-hint-credit-card-updated = Đã cập nhật thẻ
+confirmation-hint-pin-tab = Đã ghim!
+confirmation-hint-pin-tab-description = Nhấp chuột phải vào thẻ để bỏ ghim nó.
+confirmation-hint-send-to-device = Đã gửi!
+confirmation-hint-firefox-relay-mask-created = Đã tạo mặt nạ mới!
+confirmation-hint-firefox-relay-mask-reused = Mặt nạ hiện tại đã được tái sử dụng!
+confirmation-hint-screenshot-copied = Đã sao chép ảnh chụp màn hình!
diff --git a/l10n-vi/browser/browser/contentCrash.ftl b/l10n-vi/browser/browser/contentCrash.ftl
new file mode 100644
index 0000000000..9d9f8755c0
--- /dev/null
+++ b/l10n-vi/browser/browser/contentCrash.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/.
+
+
+## Subframe crash notification
+
+crashed-subframe-message = <strong>Một phần của trang này đã bị vớ.</strong> Để { -brand-product-name } biết về lỗi này và sửa nó nhanh hơn, vui lòng báo cáo nó.
+
+# The string for crashed-subframe-title.title should match crashed-subframe-message,
+# but without any markup.
+crashed-subframe-title =
+ .title = Một phần của trang này đã bị lỗi. Để cho { -brand-product-name } biết về vấn đề này và khắc phục sự cố nhanh hơn, vui lòng gửi báo cáo.
+crashed-subframe-learnmore-link =
+ .value = Tìm hiểu thêm
+crashed-subframe-submit =
+ .label = Gửi báo cáo
+ .accesskey = S
+
+## Pending crash reports
+
+# Variables:
+# $reportCount (Number): the number of pending crash reports
+pending-crash-reports-message = Bạn có { $reportCount } bản báo cáo lỗi chưa gửi
+pending-crash-reports-view-all =
+ .label = Xem
+pending-crash-reports-send =
+ .label = Gửi
+pending-crash-reports-always-send =
+ .label = Luôn gửi
diff --git a/l10n-vi/browser/browser/customizeMode.ftl b/l10n-vi/browser/browser/customizeMode.ftl
new file mode 100644
index 0000000000..d69c9672b9
--- /dev/null
+++ b/l10n-vi/browser/browser/customizeMode.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/.
+
+customize-mode-restore-defaults =
+ .label = Khôi phục về mặc định
+customize-mode-menu-and-toolbars-header = Kéo mục yêu thích của bạn vào thanh công cụ hoặc bảng chọn.
+customize-mode-overflow-list-title = Bảng chọn
+customize-mode-uidensity =
+ .label = Mật độ
+customize-mode-done =
+ .label = Xong
+customize-mode-toolbars =
+ .label = Thanh công cụ
+customize-mode-titlebar =
+ .label = Thanh tiêu đề
+customize-mode-uidensity-menu-touch =
+ .label = Chạm
+ .accesskey = T
+ .tooltiptext = Chạm
+customize-mode-uidensity-auto-touch-mode-checkbox =
+ .label = Sử dụng cảm ứng cho chế độ máy tính bảng
+customize-mode-overflow-list-description = Kéo và thả các mục vào đây để dễ sử dụng chúng và nó sẽ nằm ngoài thanh công cụ của bạn…
+customize-mode-uidensity-menu-normal =
+ .label = Bình thường
+ .accesskey = N
+ .tooltiptext = Bình thường
+customize-mode-uidensity-menu-compact-unsupported =
+ .label = Thu gọn (không được hỗ trợ)
+ .accesskey = C
+ .tooltiptext = Thu gọn (không được hỗ trợ)
+customize-mode-undo-cmd =
+ .label = Hoàn tác
+customize-mode-lwthemes-link = Quản lý chủ đề
+customize-mode-touchbar-cmd =
+ .label = Tùy biến Touch Bar…
+customize-mode-downloads-button-autohide =
+ .label = Ẩn nút khi trống
diff --git a/l10n-vi/browser/browser/defaultBrowserNotification.ftl b/l10n-vi/browser/browser/defaultBrowserNotification.ftl
new file mode 100644
index 0000000000..9ba9e8f674
--- /dev/null
+++ b/l10n-vi/browser/browser/defaultBrowserNotification.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/.
+
+# The question portion of the following message should have the <strong> and </strong> tags surrounding it.
+default-browser-notification-message = <strong>Đặt { -brand-short-name } làm trình duyệt mặc định của bạn?</strong> Duyệt web nhanh chóng, an toàn và riêng tư bất cứ khi nào bạn sử dụng web.
+default-browser-notification-button =
+ .label = Đặt làm mặc định
+ .accesskey = S
+
+## These strings are used for the default browser prompt. There are 2 variations
+## depending on the operating system (Windows vs other). The checkbox label and
+## secondary button are shared between the variants.
+
+default-browser-prompt-title-pin = Đặt { -brand-short-name } làm trình duyệt mặc định của bạn?
+default-browser-prompt-message-pin = Giữ { -brand-short-name } trong tầm tay bạn — đặt nó làm trình duyệt mặc định của bạn và ghim nó vào thanh tác vụ của bạn.
+default-browser-prompt-message-pin-mac = Giữ { -brand-short-name } trong tầm tay bạn — đặt nó làm trình duyệt mặc định của bạn và giữ nó trong thanh Dock của bạn.
+default-browser-prompt-button-primary-pin = Đặt làm trình duyệt mặc định
+default-browser-prompt-title-alt = Đặt { -brand-short-name } làm trình duyệt mặc định của bạn?
+default-browser-prompt-message-alt = Tốc độ, an toàn và quyền riêng tư mỗi khi bạn duyệt.
+default-browser-prompt-button-primary-alt = Đặt làm trình duyệt mặc định
+default-browser-prompt-checkbox-not-again-label = Không hiển thị lại thông báo này
+default-browser-prompt-button-secondary = Không phải bây giờ
diff --git a/l10n-vi/browser/browser/downloads.ftl b/l10n-vi/browser/browser/downloads.ftl
new file mode 100644
index 0000000000..cbed9ae2eb
--- /dev/null
+++ b/l10n-vi/browser/browser/downloads.ftl
@@ -0,0 +1,252 @@
+# 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 and aria-label attributes are used by screen readers to describe
+## the Downloads Panel.
+
+downloads-window =
+ .title = Trang tải xuống
+downloads-panel =
+ .aria-label = Trang tải xuống
+
+##
+
+# The style attribute has the width of the Downloads Panel expressed using
+# a CSS unit. The longest labels that should fit are usually those of
+# in-progress and blocked downloads.
+downloads-panel-items =
+ .style = width: 35em
+
+downloads-cmd-pause =
+ .label = Tạm dừng
+ .accesskey = m
+downloads-cmd-resume =
+ .label = Tiếp tục
+ .accesskey = T
+downloads-cmd-cancel =
+ .tooltiptext = Hủy bỏ
+downloads-cmd-cancel-panel =
+ .aria-label = Hủy bỏ
+
+downloads-cmd-show-menuitem-2 =
+ .label =
+ { PLATFORM() ->
+ [macos] Hiển thị trong thư mục
+ *[other] Hiển thị trong thư mục
+ }
+ .accesskey = F
+
+## Displayed in the downloads context menu for files that can be opened.
+## Variables:
+## $handler (String) - The name of the mime type's default file handler.
+## Example: "Notepad", "Acrobat Reader DC", "7-Zip File Manager"
+
+downloads-cmd-use-system-default =
+ .label = Mở trong Trình xem hệ thống
+ .accesskey = V
+# This version is shown when the download's mime type has a valid file handler.
+downloads-cmd-use-system-default-named =
+ .label = Mở trong { $handler }
+ .accesskey = I
+
+# We can use the same accesskey as downloads-cmd-always-open-similar-files.
+# Both should not be visible in the downloads context menu at the same time.
+downloads-cmd-always-use-system-default =
+ .label = Luôn mở trong Trình xem hệ thống
+ .accesskey = w
+# We can use the same accesskey as downloads-cmd-always-open-similar-files.
+# Both should not be visible in the downloads context menu at the same time.
+# This version is shown when the download's mime type has a valid file handler.
+downloads-cmd-always-use-system-default-named =
+ .label = Luôn mở trong { $handler }
+ .accesskey = w
+
+##
+
+# We can use the same accesskey as downloads-cmd-always-use-system-default.
+# Both should not be visible in the downloads context menu at the same time.
+downloads-cmd-always-open-similar-files =
+ .label = Luôn mở các tập tin tương tự
+ .accesskey = w
+
+downloads-cmd-show-button-2 =
+ .tooltiptext =
+ { PLATFORM() ->
+ [macos] Hiển thị trong thư mục
+ *[other] Hiển thị trong thư mục
+ }
+
+downloads-cmd-show-panel-2 =
+ .aria-label =
+ { PLATFORM() ->
+ [macos] Hiển thị trong thư mục
+ *[other] Hiển thị trong thư mục
+ }
+downloads-cmd-show-description-2 =
+ .value =
+ { PLATFORM() ->
+ [macos] Hiển thị trong thư mục
+ *[other] Hiển thị trong thư mục
+ }
+
+downloads-cmd-show-downloads =
+ .label = Mở thư mục tải xuống
+downloads-cmd-retry =
+ .tooltiptext = Thử lại
+downloads-cmd-retry-panel =
+ .aria-label = Thử lại
+downloads-cmd-go-to-download-page =
+ .label = Đến trang tải xuống
+ .accesskey = g
+downloads-cmd-copy-download-link =
+ .label = Sao chép liên kết tải xuống
+ .accesskey = l
+downloads-cmd-remove-from-history =
+ .label = Xóa khỏi nhật ký
+ .accesskey = X
+downloads-cmd-clear-list =
+ .label = Dọn bảng xem trước
+ .accesskey = D
+downloads-cmd-clear-downloads =
+ .label = Xóa các tải xuống
+ .accesskey = v
+downloads-cmd-delete-file =
+ .label = Xóa
+ .accesskey = D
+
+# This command is shown in the context menu when downloads are blocked.
+downloads-cmd-unblock =
+ .label = Cho phép tải xuống
+ .accesskey = o
+
+# This is the tooltip of the action button shown when malware is blocked.
+downloads-cmd-remove-file =
+ .tooltiptext = Xóa tập tin
+
+downloads-cmd-remove-file-panel =
+ .aria-label = Xóa tập tin
+
+# This is the tooltip of the action button shown when potentially unwanted
+# downloads are blocked. This opens a dialog where the user can choose
+# whether to unblock or remove the download. Removing is the default option.
+downloads-cmd-choose-unblock =
+ .tooltiptext = Xóa tập tin hoặc cho phép tải xuống
+
+downloads-cmd-choose-unblock-panel =
+ .aria-label = Xóa tập tin hoặc cho phép tải xuống
+
+# This is the tooltip of the action button shown when uncommon downloads are
+# blocked.This opens a dialog where the user can choose whether to open the
+# file or remove the download. Opening is the default option.
+downloads-cmd-choose-open =
+ .tooltiptext = Mở hoặc xóa tập tin
+
+downloads-cmd-choose-open-panel =
+ .aria-label = Mở hoặc xóa tập tin
+
+# Displayed when hovering a blocked download, indicates that it's possible to
+# show more information for user to take the next action.
+downloads-show-more-information =
+ .value = Hiển thị thêm thông tin
+
+# Displayed when hovering a complete download, indicates that it's possible to
+# open the file using an app available in the system.
+downloads-open-file =
+ .value = Mở tập tin
+
+## Displayed when the user clicked on a download in process. Indicates that the
+## downloading file will be opened after certain amount of time using an app
+## available in the system.
+## Variables:
+## $hours (number) - Amount of hours left till the file opens.
+## $seconds (number) - Amount of seconds left till the file opens.
+## $minutes (number) - Amount of minutes till the file opens.
+
+downloading-file-opens-in-hours-and-minutes-2 =
+ .value = Sẽ mở sau { $hours } giờ { $minutes } phút…
+downloading-file-opens-in-minutes-2 =
+ .value = Sẽ mở sau { $minutes } phút…
+downloading-file-opens-in-minutes-and-seconds-2 =
+ .value = Sẽ mở sau { $minutes } phút { $seconds } giây…
+downloading-file-opens-in-seconds-2 =
+ .value = Sẽ mở sau { $seconds } giây…
+downloading-file-opens-in-some-time-2 =
+ .value = Sẽ mở sau khi hoàn thành…
+downloading-file-click-to-open =
+ .value = Mở khi hoàn thành
+
+##
+
+# Displayed when hovering a download which is able to be retried by users,
+# indicates that it's possible to download this file again.
+downloads-retry-download =
+ .value = Thử tải lại
+
+# Displayed when hovering a download which is able to be cancelled by users,
+# indicates that it's possible to cancel and stop the download.
+downloads-cancel-download =
+ .value = Hủy bỏ tải xuống
+
+# This string is shown at the bottom of the Downloads Panel when all the
+# downloads fit in the available space, or when there are no downloads in
+# the panel at all.
+downloads-history =
+ .label = Xem tất cả tải xuống
+ .accesskey = c
+
+# This string is shown at the top of the Download Details Panel, to indicate
+# that we are showing the details of a single download.
+downloads-details =
+ .title = Chi tiết tải xuống
+
+## Displayed when a site attempts to automatically download many files.
+## Variables:
+## $num (number) - Number of blocked downloads.
+## $url (string) - The url of the suspicious site, stripped of http, https and www prefix.
+
+downloads-files-not-downloaded =
+ { $num ->
+ *[other] { $num } tập tin chưa được tải xuống.
+ }
+downloads-blocked-from-url = Tải xuống bị chặn từ { $url }.
+downloads-blocked-download-detailed-info = { $url } đã cố gắng tự tải xuống nhiều tập tin. Trang web có thể bị hỏng hoặc đang cố gắng lưu trữ các tập tin rác trên thiết bị của bạn.
+
+##
+
+downloads-clear-downloads-button =
+ .label = Xóa các tải xuống
+ .tooltiptext = Xóa các tải xuống thành công, bị hủy và thất bại
+
+# This string is shown when there are no items in the Downloads view, when it
+# is displayed inside a browser tab.
+downloads-list-empty =
+ .value = Không có tải xuống nào.
+
+# This string is shown when there are no items in the Downloads Panel.
+downloads-panel-empty =
+ .value = Không có tải xuống cho phiên làm việc này.
+
+# This is displayed in an item at the bottom of the Downloads Panel when there
+# are more downloads than can fit in the list in the panel.
+# $count (number) - number of files being downloaded that are not shown in the
+# panel list.
+downloads-more-downloading =
+ { $count ->
+ *[other] { $count } tập tin khác đang tải xuống
+ }
+
+## Download errors
+
+downloads-error-alert-title = Lỗi Tải Xuống
+# Variables:
+# $extension (String): the name of the blocking extension.
+downloads-error-blocked-by = Không thể lưu tải xuống vì bị chặn bởi { $extension }.
+# Used when the name of the blocking extension is unavailable.
+downloads-error-extension = Không thể lưu tải xuống do bị chặn bởi tiện ích mở rộng.
+# Line breaks in this message are meaningful, and should be maintained.
+downloads-error-generic =
+ Không thể lưu tập tin tải xuống vì có lỗi xảy ra.
+
+ Vui lòng thử lại lần nữa.
diff --git a/l10n-vi/browser/browser/editBookmarkOverlay.ftl b/l10n-vi/browser/browser/editBookmarkOverlay.ftl
new file mode 100644
index 0000000000..ad8662cd24
--- /dev/null
+++ b/l10n-vi/browser/browser/editBookmarkOverlay.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/.
+
+bookmark-overlay-name-2 =
+ .value = Tên
+ .accesskey = N
+bookmark-overlay-url =
+ .value = URL
+ .accesskey = U
+# Location refers to the position of the bookmark within the browser's
+# bookmarks, not to its URL or address.
+bookmark-overlay-location-2 =
+ .value = Vị trí
+ .accesskey = L
+bookmark-overlay-choose =
+ .label = Chọn…
+bookmark-overlay-folders-expander =
+ .tooltiptext = Hiển thị tất cả các thư mục chứa dấu trang
+ .tooltiptextdown = { bookmark-overlay-folders-expander.tooltiptext }
+ .tooltiptextup = Ẩn
+bookmark-overlay-folders-expander2 =
+ .tooltiptext = Hiển thị tất cả các thư mục chứa dấu trang
+bookmark-overlay-folders-expander-hide =
+ .tooltiptext = Ẩn
+# bookmark-overlay-folders-tree is used to provide an accessible name to the tree view of the Bookmarks directory, when it is expanded
+bookmark-overlay-folders-tree =
+ .aria-label = Thư mục
+bookmark-overlay-new-folder-button =
+ .label = Thư mục mới
+ .accesskey = i
+bookmark-overlay-tags-2 =
+ .value = Nhãn
+ .accesskey = T
+bookmark-overlay-tags-empty-description =
+ .placeholder = Ngăn cách nhãn bằng dấu phẩy
+bookmark-overlay-tags-expander =
+ .tooltiptext = Hiển thị tất cả các nhãn
+ .tooltiptextdown = { bookmark-overlay-tags-expander.tooltiptext }
+ .tooltiptextup = Ẩn
+bookmark-overlay-tags-expander2 =
+ .tooltiptext = Hiển thị tất cả các nhãn
+bookmark-overlay-tags-expander-hide =
+ .tooltiptext = Ẩn
+bookmark-overlay-keyword-2 =
+ .value = Từ khóa
+ .accesskey = K
+bookmark-overlay-tags-caption-label = Sử dụng các thẻ để sắp xếp và tìm kiếm các dấu trang từ thanh địa chỉ
+bookmark-overlay-keyword-caption-label-2 = Sử dụng từ khóa để mở dấu trang trực tiếp từ thanh địa chỉ
diff --git a/l10n-vi/browser/browser/extensionsUI.ftl b/l10n-vi/browser/browser/extensionsUI.ftl
new file mode 100644
index 0000000000..0af6e6e3d2
--- /dev/null
+++ b/l10n-vi/browser/browser/extensionsUI.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/.
+
+webext-perms-learn-more = Tìm hiểu thêm
+# Variables:
+# $addonName (String): localized named of the extension that is asking to change the default search engine.
+# $currentEngine (String): name of the current search engine.
+# $newEngine (String): name of the new search engine.
+webext-default-search-description = { $addonName } muốn thay đổi công cụ tìm kiếm mặc định của bạn từ { $currentEngine } đến { $newEngine }. Bạn đồng ý chứ?
+webext-default-search-yes =
+ .label = Có
+ .accesskey = Y
+webext-default-search-no =
+ .label = Không
+ .accesskey = N
+# Variables:
+# $addonName (String): localized named of the extension that was just installed.
+addon-post-install-message = Đã thêm { $addonName }.
+
+## A modal confirmation dialog to allow an extension on quarantined domains.
+
+# Variables:
+# $addonName (String): localized name of the extension.
+webext-quarantine-confirmation-title = Chạy { $addonName } trên trang bị hạn chế?
+webext-quarantine-confirmation-line-1 = Để bảo vệ dữ liệu của bạn, tiện ích mở rộng này không được phép trên trang web này.
+webext-quarantine-confirmation-line-2 = Chỉ cho phép tiện ích mở rộng này nếu bạn tin tưởng nó sẽ đọc và thay đổi dữ liệu của bạn trên các trang web bị hạn chế bởi { -vendor-short-name }.
+webext-quarantine-confirmation-allow =
+ .label = Cho phép
+ .accesskey = A
+webext-quarantine-confirmation-deny =
+ .label = Không cho phép
+ .accesskey = D
diff --git a/l10n-vi/browser/browser/featureCallout.ftl b/l10n-vi/browser/browser/featureCallout.ftl
new file mode 100644
index 0000000000..e42ae079ab
--- /dev/null
+++ b/l10n-vi/browser/browser/featureCallout.ftl
@@ -0,0 +1,56 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Callout dialog primary button to advance to next screen
+callout-primary-advance-button-label = Tiếp
+
+# Callout dialog primary button to complete the feature tour
+callout-primary-complete-button-label = Đã hiểu!
+
+## Firefox View feature tour strings
+
+# "Tab pickup" refers to the section in Firefox View that displays open
+# tabs from other devices
+callout-firefox-view-tab-pickup-title = Chuyển công việc giữa các thiết bị với tính năng Các thẻ trên thiết bị khác
+
+callout-firefox-view-tab-pickup-subtitle = Nhanh chóng lấy các thẻ đang mở từ điện thoại của bạn và mở chúng ở đây để có hiệu suất công việc của bạn tối đa.
+
+callout-firefox-view-recently-closed-title = Lấy lại các thẻ đã đóng của bạn trong tích tắc
+
+callout-firefox-view-recently-closed-subtitle = Tất cả các thẻ đã đóng của bạn sẽ hiển thị ở đây một cách kỳ diệu. Không bao giờ lo lắng về việc vô tình đóng một trang web nữa.
+
+callout-firefox-view-colorways-title = Thêm một chút màu sắc
+
+# "Shade" refer to different color options in each colorway.
+callout-firefox-view-colorways-subtitle = Chọn một đường màu phù hợp với phong cách của bạn. Chỉ trong { -brand-product-name }.
+
+callout-firefox-view-colorways-reminder-title = Khám phá các đường màu mới nhất của chúng tôi
+
+# “Shades” refers to the different color options in each colorways
+callout-firefox-view-colorways-reminder-subtitle = Tô màu trình duyệt của bạn với những sắc thái mang tính biểu tượng này, lấy cảm hứng từ những tiếng nói độc lập. Chỉ có trong { -brand-product-name }.
+
+## Continuous Onboarding - Firefox View: Tab pick up
+
+# “Boost your browsing” refers to the added benefit the user receives from having
+# access to the same browsing experience when moving from one browser to another.
+# Alternative: ”Improve your browsing experience with tab pickup”
+continuous-onboarding-firefox-view-tab-pickup-title = Tăng cường duyệt web của bạn với tính năng nhận thẻ từ thiết bị khác
+
+continuous-onboarding-firefox-view-tab-pickup-subtitle = Truy cập các thẻ đang mở của bạn từ bất kỳ thiết bị nào. Đồng bộ hóa dấu trang, mật khẩu của bạn và hơn thế nữa.
+
+continuous-onboarding-firefox-view-tab-pickup-primary-button-label = Bắt đầu
+
+## PDF.js Feature Tour Strings
+
+callout-pdfjs-edit-title = Chỉnh sửa tập tin PDF bằng công cụ văn bản mới của chúng tôi
+callout-pdfjs-edit-body-a = Điền vào biểu mẫu, thêm nhận xét hoặc ghi chú trực tiếp trong { -brand-short-name }.
+callout-pdfjs-edit-body-b = Hãy quên tìm kiếm các trình chỉnh sửa trực tuyến miễn phí đi. Điền vào biểu mẫu, thêm nhận xét hoặc ghi chú trực tiếp trong { -brand-short-name }.
+callout-pdfjs-edit-button = Tiếp theo
+
+callout-pdfjs-draw-title = Ký tài liệu bằng công cụ vẽ mới của chúng tôi
+# “Mark up” refers to the process of “annotating” or adding free hand text or diagramming to the document.
+callout-pdfjs-draw-body-a = Đánh dấu các tập tin PDF, sau đó lưu các thay đổi của bạn.
+# “Mark up” refers to the process of “annotating” or adding free hand text or diagramming to the document.
+callout-pdfjs-draw-body-b = Không cần in và quét nữa. Đánh dấu các tập tin PDF, sau đó lưu các thay đổi của bạn.
+callout-pdfjs-draw-button = Đã hiểu!
diff --git a/l10n-vi/browser/browser/firefoxRelay.ftl b/l10n-vi/browser/browser/firefoxRelay.ftl
new file mode 100644
index 0000000000..0bf8a84674
--- /dev/null
+++ b/l10n-vi/browser/browser/firefoxRelay.ftl
@@ -0,0 +1,35 @@
+# 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 messages for failed HTTP web requests.
+## https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#client_error_responses
+## Variables:
+## $status (Number) - HTTP status code, for example 403
+
+firefox-relay-mask-generation-failed = { -relay-brand-name } không thể tạo mặt nạ mới. Mã lỗi HTTP: { $status }.
+firefox-relay-get-reusable-masks-failed = { -relay-brand-name } không thể tìm thấy mặt nạ có thể sử dụng. Mã lỗi HTTP: { $status }.
+
+##
+
+firefox-relay-must-login-to-fxa = Bạn phải đăng nhập vào { -fxaccount-brand-name } để sử dụng { -relay-brand-name }.
+firefox-relay-must-login-to-account = Đăng nhập vào tài khoản của bạn để sử dụng mặt nạ email { -relay-brand-name } của bạn.
+firefox-relay-get-unlimited-masks =
+ .label = Muản lý mặt nạ
+ .accesskey = M
+# This is followed, on a new line, by firefox-relay-opt-in-subtitle-1
+firefox-relay-opt-in-title-1 = Bảo vệ địa chỉ email của bạn:
+# This is preceded by firefox-relay-opt-in-title-1 (on a different line), which
+# ends with a colon. You might need to adapt the capitalization of this string.
+firefox-relay-opt-in-subtitle-1 = Sử dụng mặt nạ email { -relay-brand-name }
+firefox-relay-use-mask-title = Sử dụng mặt nạ email { -relay-brand-name }
+firefox-relay-opt-in-confirmation-enable-button =
+ .label = Sử dụng mặt nạ email
+ .accesskey = U
+firefox-relay-opt-in-confirmation-disable =
+ .label = Đừng hỏi lại tôi điều này
+ .accesskey = D
+firefox-relay-opt-in-confirmation-postpone =
+ .label = Không phải bây giờ
+ .accesskey = N
diff --git a/l10n-vi/browser/browser/firefoxView.ftl b/l10n-vi/browser/browser/firefoxView.ftl
new file mode 100644
index 0000000000..1a74adf28b
--- /dev/null
+++ b/l10n-vi/browser/browser/firefoxView.ftl
@@ -0,0 +1,271 @@
+# 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-button-firefox-view =
+ .label = { -firefoxview-brand-name }
+ .tooltiptext = { -firefoxview-brand-name }
+toolbar-button-firefox-view-2 =
+ .label = { -firefoxview-brand-name }
+ .tooltiptext = Xem duyệt web gần đây trên windows và các thiết bị
+menu-tools-firefox-view =
+ .label = { -firefoxview-brand-name }
+ .accesskey = F
+firefoxview-page-title = { -firefoxview-brand-name }
+firefoxview-page-heading =
+ .heading = { -firefoxview-brand-name }
+firefoxview-page-label =
+ .label = { -firefoxview-brand-name }
+firefoxview-close-button =
+ .title = Đóng
+ .aria-label = Đóng
+firefoxview-empty-state-icon =
+ .alt = Chú ý:
+# Used instead of the localized relative time when a timestamp is within a minute or so of now
+firefoxview-just-now-timestamp = Vừa xong
+# This is a headline for an area in the product where users can resume and re-open tabs they have previously viewed on other devices.
+firefoxview-tabpickup-header = Các thẻ trên thiết bị khác
+firefoxview-tabpickup-description = Mở trang từ các thiết bị khác.
+# Variables:
+# $percentValue (Number): the percentage value for setup completion
+firefoxview-tabpickup-progress-label = { $percentValue }% hoàn thành
+firefoxview-tabpickup-step-signin-header = Chuyển đổi liền mạch giữa các thiết bị
+firefoxview-tabpickup-step-signin-description = Để truy cập các thẻ điện thoại của bạn tại đây, trước tiên hãy đăng nhập hoặc tạo tài khoản.
+firefoxview-tabpickup-step-signin-primarybutton = Tiếp tục
+firefoxview-syncedtabs-signin-header = Nhận các thẻ từ bất cứ đâu
+firefoxview-syncedtabs-signin-description = Để xem các thẻ của bạn từ bất cứ nơi nào bạn sử dụng { -brand-product-name }, hãy đăng nhập vào tài khoản của bạn. Nếu bạn chưa có tài khoản, chúng tôi sẽ hướng dẫn bạn các bước để đăng ký.
+firefoxview-syncedtabs-signin-primarybutton = Đăng nhập hoặc đăng ký
+firefoxview-tabpickup-adddevice-header = Đồng bộ hóa { -brand-product-name } trên điện thoại hoặc máy tính bảng của bạn
+firefoxview-tabpickup-adddevice-description = Tải xuống { -brand-product-name } cho điện thoại di động và đăng nhập vào đó.
+firefoxview-tabpickup-adddevice-learn-how = Tìm hiểu cách làm
+firefoxview-tabpickup-adddevice-primarybutton = Tải { -brand-product-name } dành cho điện thoại di động
+firefoxview-syncedtabs-adddevice-header = Đăng nhập vào { -brand-product-name } trên các thiết bị khác của bạn
+firefoxview-syncedtabs-adddevice-description = Để xem các thẻ của bạn từ bất cứ nơi nào bạn sử dụng { -brand-product-name }, đăng nhập trên tất cả các thiết bị của bạn. Tìm hiểu cách <a data-l10n-name="url">kết nối các thiết bị khác</a>.
+firefoxview-syncedtabs-adddevice-primarybutton = Thử { -brand-product-name } cho di động
+firefoxview-tabpickup-synctabs-header = Bật đồng bộ hóa thẻ
+firefoxview-tabpickup-synctabs-description = Cho phép { -brand-short-name } chia sẻ các thẻ giữa các thiết bị.
+firefoxview-tabpickup-synctabs-learn-how = Tìm hiểu cách làm
+firefoxview-tabpickup-synctabs-primarybutton = Đồng bộ hóa các thẻ đang mở
+firefoxview-syncedtabs-synctabs-header = Cập nhật cài đặt đồng bộ hóa của bạn
+firefoxview-syncedtabs-synctabs-description = Để xem các thẻ từ các thiết bị khác, bạn cần đồng bộ hóa các thẻ đang mở của mình.
+firefoxview-syncedtabs-synctabs-checkbox = Cho phép đồng bộ hóa các thẻ đang mở
+firefoxview-syncedtabs-loading-header = Đang đồng bộ hóa
+firefoxview-syncedtabs-loading-description = Khi hoàn tất, bạn sẽ thấy mọi thẻ bạn đã mở trên các thiết bị khác. Hãy kiểm tra lại sau.
+firefoxview-tabpickup-fxa-admin-disabled-header = Tổ chức của bạn đã tắt đồng bộ hóa
+firefoxview-tabpickup-fxa-admin-disabled-description = { -brand-short-name } không thể đồng bộ hóa các thẻ giữa các thiết bị vì quản trị viên của bạn đã tắt đồng bộ hóa.
+firefoxview-tabpickup-fxa-disabled-by-policy-description = { -brand-short-name } không thể đồng bộ hóa các thẻ giữa các thiết bị vì tổ chức của bạn đã tắt tính năng đồng bộ hóa.
+firefoxview-tabpickup-network-offline-header = Kiểm tra kết nối Internet của bạn
+firefoxview-tabpickup-network-offline-description = Nếu bạn đang sử dụng tường lửa hoặc proxy, hãy kiểm tra xem { -brand-short-name } có quyền truy cập web hay không.
+firefoxview-tabpickup-network-offline-primarybutton = Thử lại
+firefoxview-tabpickup-sync-error-header = Chúng tôi đang gặp sự cố khi đồng bộ hóa
+firefoxview-tabpickup-generic-sync-error-description = { -brand-short-name } hiện không thể đồng bộ hóa với dịch vụ. Hãy thử lại sau vài phút.
+firefoxview-tabpickup-sync-error-primarybutton = Thử lại
+firefoxview-tabpickup-sync-disconnected-header = Bật đồng bộ hóa để tiếp tục
+firefoxview-tabpickup-sync-disconnected-description = Để lấy các thẻ của bạn, bạn cần cho phép đồng bộ hóa trong { -brand-short-name }.
+firefoxview-tabpickup-sync-disconnected-primarybutton = Bật đồng bộ hóa trong cài đặt
+firefoxview-tabpickup-password-locked-header = Nhập mật khẩu chính của bạn để xem các thẻ
+firefoxview-tabpickup-password-locked-description = Để lấy các thẻ của mình, bạn cần nhập mật khẩu chính cho { -brand-short-name }.
+firefoxview-tabpickup-password-locked-link = Tìm hiểu thêm
+firefoxview-tabpickup-password-locked-primarybutton = Nhập mật khẩu chính
+firefoxview-syncedtab-password-locked-link = <a data-l10n-name="syncedtab-password-locked-link">Tìm hiểu thêm</a>
+firefoxview-tabpickup-signed-out-header = Đăng nhập để kết nối lại
+firefoxview-tabpickup-signed-out-description = Để kết nối lại và lấy các thẻ của bạn, hãy đăng nhập vào { -fxaccount-brand-name } của bạn.
+firefoxview-tabpickup-signed-out-description2 = Để kết nối lại và lấy các thẻ của bạn, hãy đăng nhập vào tài khoản của bạn.
+firefoxview-tabpickup-signed-out-primarybutton = Đăng nhập
+firefoxview-tabpickup-syncing = Thoải mái ngồi yên trong khi các thẻ của bạn đồng bộ hóa. Thông thường nó sẽ chỉ mất vài phút.
+firefoxview-mobile-promo-header = Nhận các thẻ từ điện thoại hoặc máy tính bảng của bạn
+firefoxview-mobile-promo-description = Để xem các thẻ trên di động mới nhất của bạn, hãy đăng nhập vào { -brand-product-name } trên iOS hoặc Android.
+firefoxview-mobile-promo-primarybutton = Tải { -brand-product-name } dành cho di động
+firefoxview-mobile-confirmation-header = 🎉 Tất cả đã xong!
+firefoxview-mobile-confirmation-description = Giờ đây, bạn có thể nhận các thẻ { -brand-product-name } từ máy tính bảng hoặc điện thoại của mình.
+firefoxview-closed-tabs-title = Đã đóng gần đây
+firefoxview-closed-tabs-description2 = Mở lại các trang bạn đã đóng trong cửa sổ này.
+firefoxview-closed-tabs-placeholder-header = Không có thẻ nào đã đóng gần đây
+firefoxview-closed-tabs-placeholder-body = Khi bạn đóng một thẻ trong cửa sổ này, bạn có thể lấy nó từ đây.
+firefoxview-closed-tabs-placeholder-body2 = Khi bạn đóng một thẻ, bạn có thể tìm thấy nó từ đây.
+# Variables:
+# $tabTitle (string) - Title of tab being dismissed
+firefoxview-closed-tabs-dismiss-tab =
+ .title = Bỏ qua { $tabTitle }
+# refers to the last tab that was used
+firefoxview-pickup-tabs-badge = Hoạt động lần cuối
+# Variables:
+# $targetURI (string) - URL that will be opened in the new tab
+firefoxview-tabs-list-tab-button =
+ .title = Mở { $targetURI } trong một thẻ mới
+firefoxview-try-colorways-button = Thử đường màu
+firefoxview-change-colorway-button = Thay đổi đường màu
+# Variables:
+# $intensity (String): Colorway intensity
+# $collection (String): Colorway Collection name
+firefoxview-colorway-description = { $intensity } · { $collection }
+firefoxview-synced-tabs-placeholder-header = Chưa có gì để xem
+firefoxview-synced-tabs-placeholder-body = Lần tới khi bạn mở một trang bằng { -brand-product-name } trên một thiết bị khác, hãy lấy nó ở đây như một phép thuật.
+firefoxview-collapse-button-show =
+ .title = Hiển thị danh sách
+firefoxview-collapse-button-hide =
+ .title = Ẩn danh sách
+firefoxview-overview-nav = Duyệt web gần đây
+ .title = Duyệt web gần đây
+firefoxview-overview-header = Duyệt web gần đây
+ .title = Duyệt web gần đây
+
+## History in this context refers to browser history
+
+firefoxview-history-nav = Lịch sử
+ .title = Lịch sử
+firefoxview-history-header = Lịch sử
+firefoxview-history-context-delete = Xóa khỏi lịch sử
+ .accesskey = D
+
+## Open Tabs in this context refers to all open tabs in the browser
+
+firefoxview-opentabs-nav = Các thẻ đang mở
+ .title = Các thẻ đang mở
+firefoxview-opentabs-header = Các thẻ đang mở
+
+## Recently closed tabs in this context refers to recently closed tabs from all windows
+
+firefoxview-recently-closed-nav = Thẻ mới đóng gần đây
+ .title = Thẻ mới đóng gần đây
+firefoxview-recently-closed-header = Thẻ mới đóng gần đây
+
+## Tabs from other devices refers in this context refers to synced tabs from other devices
+
+firefoxview-synced-tabs-nav = Thẻ từ thiết bị khác
+ .title = Thẻ từ thiết bị khác
+firefoxview-synced-tabs-header = Thẻ từ thiết bị khác
+
+##
+
+# Used for a link in collapsible cards, in the ’Recent browsing’ page of Firefox View
+firefoxview-view-all-link = Xem tất cả
+# Variables:
+# $winID (Number) - The index of the owner window for this set of tabs
+firefoxview-opentabs-window-header =
+ .title = Cửa sổ { $winID }
+# Variables:
+# $winID (Number) - The index of the owner window (which is currently focused) for this set of tabs
+firefoxview-opentabs-current-window-header =
+ .title = Cửa sổ { $winID } (Hiện tại)
+firefoxview-opentabs-focus-tab =
+ .title = Chuyển sang thẻ này
+firefoxview-show-more = Hiện thêm
+firefoxview-show-less = Hiện ít hơn
+firefoxview-show-all = Hiển thị tất cả
+firefoxview-search-text-box-clear-button =
+ .title = Xóa
+# Placeholder for the input field to search in recent browsing ("search" is a verb).
+firefoxview-search-text-box-recentbrowsing =
+ .placeholder = Tìm kiếm
+# Placeholder for the input field to search in history ("search" is a verb).
+firefoxview-search-text-box-history =
+ .placeholder = Lịch sử tìm kiếm
+# Placeholder for the input field to search in recently closed tabs ("search" is a verb).
+firefoxview-search-text-box-recentlyclosed =
+ .placeholder = Tìm kiếm thẻ đã đóng gần đây
+# Placeholder for the input field to search in tabs from other devices ("search" is a verb).
+firefoxview-search-text-box-syncedtabs =
+ .placeholder = Tìm các thẻ đã đồng bộ
+# Placeholder for the input field to search in open tabs ("search" is a verb).
+firefoxview-search-text-box-opentabs =
+ .placeholder = Tìm các thẻ đang mở
+# "Search" is a noun (as in "Results of the search for")
+# Variables:
+# $query (String) - The search query used for searching through browser history.
+firefoxview-search-results-header = Kết quả tìm kiếm cho “{ $query }”
+# Variables:
+# $count (Number) - The number of visits matching the search query.
+firefoxview-search-results-count = { $count } trang web
+# Message displayed when a search is performed and no matching results were found.
+# Variables:
+# $query (String) - The search query.
+firefoxview-search-results-empty = Không có kết quả tìm kiếm cho “{ $query }”
+firefoxview-sort-history-by-date-label = Sắp xếp theo ngày
+firefoxview-sort-history-by-site-label = Sắp xếp theo trang web
+firefoxview-sort-open-tabs-by-recency-label = Sắp xếp theo hoạt động gần đây
+firefoxview-sort-open-tabs-by-order-label = Sắp xếp theo thứ tự thẻ
+# Variables:
+# $url (string) - URL that will be opened in the new tab
+firefoxview-opentabs-tab-row =
+ .title = Chuyển sang { $url }
+
+## Variables:
+## $date (string) - Date to be formatted based on locale
+
+firefoxview-history-date-today = Hôm nay - { DATETIME($date, dateStyle: "full") }
+firefoxview-history-date-yesterday = Hôm qua - { DATETIME($date, dateStyle: "full") }
+firefoxview-history-date-this-month = { DATETIME($date, dateStyle: "full") }
+firefoxview-history-date-prev-month = { DATETIME($date, month: "long", year: "numeric") }
+# When history is sorted by site, this heading is used in place of a domain, in
+# order to group sites that do not come from an outside host.
+# For example, this would be the heading for all file:/// URLs in history.
+firefoxview-history-site-localhost = (tập tin cục bộ)
+
+##
+
+firefoxview-show-all-history = Xem tất cả lịch sử
+firefoxview-view-more-browsing-history = Xem thêm lịch sử duyệt web
+
+## Message displayed in Firefox View when the user has no history data
+
+firefoxview-history-empty-header = Quay trở lại nơi bạn đã đến
+firefoxview-history-empty-description = Khi bạn duyệt, các trang bạn truy cập sẽ được hiển thị ở đây.
+firefoxview-history-empty-description-two = Bảo vệ sự riêng tư của bạn là trọng tâm của những gì chúng tôi làm. Đó là lý do tại sao bạn có thể kiểm soát hoạt động mà { -brand-short-name } ghi nhớ, trong <a data-l10n-name="history-settings-url">cài đặt lịch sử</a> của bạn.
+
+##
+
+# Button text for choosing a browser within the ’Import history from another browser’ banner
+firefoxview-choose-browser-button = Chọn trình duyệt
+ .title = Chọn trình duyệt
+
+## Message displayed in Firefox View when the user has chosen to never remember History
+
+firefoxview-dont-remember-history-empty-header = Không có gì để hiển thị
+firefoxview-dont-remember-history-empty-description = Bảo vệ sự riêng tư của bạn là trọng tâm của những gì chúng tôi làm. Đó là lý do tại sao bạn có thể kiểm soát hoạt động mà { -brand-short-name } ghi nhớ.
+firefoxview-dont-remember-history-empty-description-two = Dựa trên cài đặt hiện tại của bạn, { -brand-short-name } không nhớ hoạt động của bạn khi bạn duyệt. Để thay đổi ý định, <a data-l10n-name="history-settings-url-two">hãy thay đổi cài đặt lịch sử của bạn để ghi nhớ lịch sử của bạn</a>.
+
+##
+
+# This label is read by screen readers when focusing the close button for the "Import history from another browser" banner in Firefox View
+firefoxview-import-history-close-button =
+ .aria-label = Đóng
+ .title = Đóng
+
+## Text displayed in a dismissable banner to import bookmarks/history from another browser
+
+firefoxview-import-history-header = Nhập lịch sử từ trình duyệt khác
+firefoxview-import-history-description = Đặt { -brand-short-name } làm trình duyệt mặc định của bạn. Nhập lịch sử duyệt web, dấu trang, và hơn thế nữa.
+
+## Message displayed in Firefox View when the user has no recently closed tabs data
+
+firefoxview-recentlyclosed-empty-header = Đóng một thẻ quá sớm?
+firefoxview-recentlyclosed-empty-description = Tại đây, bạn sẽ tìm thấy các thẻ bạn đã đóng gần đây, vì vậy bạn có thể mở lại bất kỳ thẻ nào một cách nhanh chóng.
+firefoxview-recentlyclosed-empty-description-two = Để tìm các thẻ từ thời gian cũ hơn, hãy xem <a data-l10n-name="history-url">lịch sử duyệt web</a> của bạn.
+
+## This message is displayed below the name of another connected device when it doesn't have any open tabs.
+
+firefoxview-syncedtabs-device-notabs = Không có thẻ đang mở trên thiết bị này
+firefoxview-syncedtabs-connect-another-device = Kết nối thiết bị khác
+firefoxview-pinned-tabs =
+ .title = Thẻ đã ghim
+firefoxview-tabs =
+ .title = Thẻ
+
+## These tooltips will be displayed when hovering over a pinned tab on the Open Tabs page
+## Variables:
+## $tabTitle (string) - Title of pinned tab that will be opened when selected
+
+firefoxview-opentabs-pinned-tab =
+ .title = Chuyển sang { $tabTitle }
+# This tooltip will be shown for a pinned tab whose URL is currently bookmarked.
+firefoxview-opentabs-bookmarked-pinned-tab =
+ .title = Chuyển sang { $tabTitle } (Đã đánh dấu)
+
+## These tooltips will be displayed when hovering over an unpinned Open Tab
+## Variables:
+## $url (string) - URL of tab that will be opened when selected
+
+# This tooltip will be shown for an unpinned tab whose URL is currently bookmarked.
+firefoxview-opentabs-bookmarked-tab =
+ .title = (Đã đánh dấu) { $url }
diff --git a/l10n-vi/browser/browser/firefoxWebAuthn.ftl b/l10n-vi/browser/browser/firefoxWebAuthn.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-vi/browser/browser/firefoxWebAuthn.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/l10n-vi/browser/browser/fxviewTabList.ftl b/l10n-vi/browser/browser/fxviewTabList.ftl
new file mode 100644
index 0000000000..b2412d439e
--- /dev/null
+++ b/l10n-vi/browser/browser/fxviewTabList.ftl
@@ -0,0 +1,84 @@
+# 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/.
+
+fxviewtabrow-open-menu-button =
+ .title = Mở menu
+# Variables:
+# $date (string) - Date to be formatted based on locale
+fxviewtabrow-date = { DATETIME($date, dateStyle: "short") }
+# Variables:
+# $time (string) - Time to be formatted based on locale
+fxviewtabrow-time = { DATETIME($time, timeStyle: "short") }
+# Variables:
+# $targetURI (string) - URL of tab that will be opened in the new tab
+fxviewtabrow-tabs-list-tab =
+ .title = Mở { $targetURI } trong một thẻ mới
+# Variables:
+# $tabTitle (string) - Title of tab being closed
+fxviewtabrow-close-tab-button =
+ .title = Đóng { $tabTitle }
+# Variables:
+# $tabTitle (string) - Title of tab being dismissed
+fxviewtabrow-dismiss-tab-button =
+ .title = Bỏ qua { $tabTitle }
+# Used instead of the localized relative time when a timestamp is within a minute or so of now
+fxviewtabrow-just-now-timestamp = Vừa xong
+
+# Strings below are used for context menu options within panel-list.
+# For developers, this duplicates command because the label attribute is required.
+
+fxviewtabrow-delete = Xóa
+ .accesskey = D
+fxviewtabrow-forget-about-this-site = Quên trang này…
+ .accesskey = F
+fxviewtabrow-open-in-window = Mở trong cửa sổ mới
+ .accesskey = N
+fxviewtabrow-open-in-private-window = Mở trong cửa sổ riêng tư mới
+ .accesskey = P
+# “Bookmark” is a verb, as in "Bookmark this page" (add to bookmarks).
+fxviewtabrow-add-bookmark = Đánh dấu…
+ .accesskey = B
+fxviewtabrow-save-to-pocket = Lưu vào { -pocket-brand-name }
+ .accesskey = o
+fxviewtabrow-copy-link = Sao chép liên kết
+ .accesskey = L
+fxviewtabrow-close-tab = Đóng thẻ
+ .accesskey = C
+fxviewtabrow-move-tab = Di chuyển thẻ
+ .accesskey = v
+fxviewtabrow-move-tab-start = Di chuyển lên đầu
+ .accesskey = S
+fxviewtabrow-move-tab-end = Di chuyển xuống cuối
+ .accesskey = E
+fxviewtabrow-move-tab-window = Di chuyển sang cửa sổ mới
+ .accesskey = W
+fxviewtabrow-send-tab = Gửi thẻ đến thiết bị
+ .accesskey = n
+fxviewtabrow-pin-tab = Ghim thẻ
+ .accesskey = P
+fxviewtabrow-unpin-tab = Bỏ ghim thẻ
+ .accesskey = p
+fxviewtabrow-mute-tab = Tắt tiếng thẻ
+ .accesskey = M
+fxviewtabrow-unmute-tab = Bỏ tắt tiếng thẻ
+ .accesskey = m
+# Variables:
+# $tabTitle (string) - Title of the tab to which the context menu is associated
+fxviewtabrow-options-menu-button =
+ .title = Tùy chọn cho { $tabTitle }
+# Variables:
+# $tabTitle (string) - Title of tab being muted
+fxviewtabrow-mute-tab-button =
+ .title = Tắt tiếng { $tabTitle }
+# Variables:
+# $tabTitle (string) - Title of tab being unmuted
+fxviewtabrow-unmute-tab-button =
+ .title = Bỏ tắt tiếng { $tabTitle }
+
+## Strings below are to be used without context (tab title/URL) on mute/unmute buttons
+
+fxviewtabrow-mute-tab-button-no-context =
+ .title = Tắt tiếng thẻ
+fxviewtabrow-unmute-tab-button-no-context =
+ .title = Bỏ tắt tiếng thẻ
diff --git a/l10n-vi/browser/browser/identityCredentialNotification.ftl b/l10n-vi/browser/browser/identityCredentialNotification.ftl
new file mode 100644
index 0000000000..73bff15df9
--- /dev/null
+++ b/l10n-vi/browser/browser/identityCredentialNotification.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/.
+
+
+## Credential panel
+##
+## Identity providers are websites you use to log in to another website, for
+## example: Google when you Log in with Google.
+##
+## Variables:
+## $host (String): the hostname of the site that is being displayed.
+## $provider (String): the hostname of another website you are using to log in to the site being displayed
+
+identity-credential-header-providers = Đăng nhập với nhà cung cấp đăng nhập
+identity-credential-header-accounts = Đăng nhập với { $provider }
+identity-credential-urlbar-anchor =
+ .tooltiptext = Mở bảng đăng nhập
+identity-credential-cancel-button =
+ .label = Hủy bỏ
+ .accesskey = n
+identity-credential-accept-button =
+ .label = Tiếp tục
+ .accesskey = C
+identity-credential-sign-in-button =
+ .label = Đăng nhập
+ .accesskey = S
+identity-credential-policy-title = Sử dụng { $provider } làm nhà cung cấp đăng nhập
+identity-credential-policy-description = Đăng nhập vào { $host } bằng tài khoản { $provider } cần tuân theo <label data-l10n-name="privacy-url">chính sách riêng tư</label> và <label data-l10n-name="tos-url">điều khoản dịch vụ</label>.
diff --git a/l10n-vi/browser/browser/linuxDesktopEntry.ftl b/l10n-vi/browser/browser/linuxDesktopEntry.ftl
new file mode 100644
index 0000000000..788fa42774
--- /dev/null
+++ b/l10n-vi/browser/browser/linuxDesktopEntry.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/.
+
+
+# These messages are used by the Firefox ".desktop" file on Linux.
+# https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
+
+# The entry name is the label on the desktop icon, among other things.
+desktop-entry-name = { -brand-shortcut-name }
+# The comment usually appears as a tooltip when hovering over application menu entry.
+desktop-entry-comment = Duyệt web trên toàn thế giới
+desktop-entry-generic-name = Trình duyệt web
+# Combine Name and GenericName. This string is specific to GNOME.
+desktop-entry-x-gnome-full-name = Trình duyệt Web { -brand-shortcut-name }
+# Keywords are search terms used to find this application.
+# The string is a list of keywords separated by semicolons:
+# - Do NOT replace semicolons with other punctuation signs.
+# - The list MUST end with a semicolon.
+desktop-entry-keywords = Internet;WWW;Trình duyệt;Web;Duyệt web;
+
+## Actions are visible in a context menu after right clicking the
+## taskbar icon, possibly other places depending on the environment.
+
+desktop-action-new-window-name = Cửa sổ mới
+desktop-action-new-private-window-name = Cửa sổ riêng tư mới
+desktop-action-open-profile-manager = Mở trình quản lý hồ sơ
diff --git a/l10n-vi/browser/browser/menubar.ftl b/l10n-vi/browser/browser/menubar.ftl
new file mode 100644
index 0000000000..6404a836d9
--- /dev/null
+++ b/l10n-vi/browser/browser/menubar.ftl
@@ -0,0 +1,351 @@
+# 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/.
+
+
+# NOTE: For English locales, strings in this file should be in APA-style Title Case.
+# See https://apastyle.apa.org/style-grammar-guidelines/capitalization/title-case
+#
+# NOTE: For Engineers, please don't re-use these strings outside of the menubar.
+
+
+# NOTE: For English locales, strings in this file should be in APA-style Title Case.
+# See https://apastyle.apa.org/style-grammar-guidelines/capitalization/title-case
+#
+# NOTE: For Engineers, please don't reuse these strings outside of the menubar.
+
+
+## Application Menu (macOS only)
+
+menu-application-preferences =
+ .label = Tùy chỉnh
+menu-application-services =
+ .label = Dịch vụ
+menu-application-hide-this =
+ .label = Ẩn { -brand-shorter-name }
+menu-application-hide-other =
+ .label = Ẩn các mục khác
+menu-application-show-all =
+ .label = Hiển thị tất cả
+menu-application-touch-bar =
+ .label = Tùy chỉnh Touch Bar…
+
+##
+
+# 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 }
+menu-about =
+ .label = Về { -brand-shorter-name }
+ .accesskey = A
+
+## File Menu
+
+menu-file =
+ .label = Tập tin
+ .accesskey = F
+menu-file-new-tab =
+ .label = Thẻ mới
+ .accesskey = T
+menu-file-new-container-tab =
+ .label = Ngăn chứa thẻ mới
+ .accesskey = B
+menu-file-new-window =
+ .label = Cửa sổ mới
+ .accesskey = N
+menu-file-new-private-window =
+ .label = Cửa sổ riêng tư mới
+ .accesskey = W
+# "Open Location" is only displayed on macOS, and only on windows
+# that aren't main browser windows, or when there are no windows
+# but Firefox is still running.
+menu-file-open-location =
+ .label = Mở địa chỉ…
+menu-file-open-file =
+ .label = Mở tập tin…
+ .accesskey = O
+# Variables:
+# $tabCount (Number): the number of tabs that are affected by the action.
+menu-file-close-tab =
+ .label =
+ { $tabCount ->
+ [1] Đóng thẻ
+ *[other] Đóng { $tabCount } thẻ
+ }
+ .accesskey = C
+menu-file-close-window =
+ .label = Đóng cửa sổ
+ .accesskey = d
+menu-file-save-page =
+ .label = Lưu trang dưới dạng…
+ .accesskey = A
+menu-file-email-link =
+ .label = Gửi liên kết qua email…
+ .accesskey = E
+menu-file-share-url =
+ .label = Chia sẻ
+ .accesskey = h
+menu-file-print-setup =
+ .label = Thiết lập trang…
+ .accesskey = u
+menu-file-print =
+ .label = In…
+ .accesskey = P
+menu-file-import-from-another-browser =
+ .label = Nhập dữ liệu từ trình duyệt khác…
+ .accesskey = I
+menu-file-go-offline =
+ .label = Làm việc ngoại tuyến
+ .accesskey = k
+
+## Edit Menu
+
+menu-edit =
+ .label = Chỉnh sửa
+ .accesskey = E
+menu-edit-find-in-page =
+ .label = Tìm trong trang…
+ .accesskey = F
+menu-edit-find-again =
+ .label = Tìm lại
+ .accesskey = g
+menu-edit-bidi-switch-text-direction =
+ .label = Chuyển hướng văn bản
+ .accesskey = w
+
+## View Menu
+
+menu-view =
+ .label = Hiển thị
+ .accesskey = V
+menu-view-toolbars-menu =
+ .label = Thanh công cụ
+ .accesskey = T
+menu-view-customize-toolbar2 =
+ .label = Tùy biến thanh công cụ…
+ .accesskey = C
+menu-view-sidebar =
+ .label = Thanh lề
+ .accesskey = e
+menu-view-bookmarks =
+ .label = Dấu trang
+menu-view-history-button =
+ .label = Lịch sử
+menu-view-synced-tabs-sidebar =
+ .label = Các thẻ đã đồng bộ
+menu-view-full-zoom =
+ .label = Thu phóng
+ .accesskey = Z
+menu-view-full-zoom-enlarge =
+ .label = Phóng to
+ .accesskey = I
+menu-view-full-zoom-reduce =
+ .label = Thu nhỏ
+ .accesskey = O
+menu-view-full-zoom-actual-size =
+ .label = Kích thước thực
+ .accesskey = A
+menu-view-full-zoom-toggle =
+ .label = Chỉ phóng to văn bản
+ .accesskey = T
+menu-view-page-style-menu =
+ .label = Kiểu của trang
+ .accesskey = y
+menu-view-page-style-no-style =
+ .label = Không có kiểu
+ .accesskey = n
+menu-view-page-basic-style =
+ .label = Kiểu trang cơ bản
+ .accesskey = b
+menu-view-repair-text-encoding =
+ .label = Sửa chữa mã hóa văn bản
+ .accesskey = c
+
+## These should match what Safari and other Apple applications
+## use on macOS.
+
+menu-view-enter-full-screen =
+ .label = Vào chế độ toàn màn hình
+ .accesskey = F
+menu-view-exit-full-screen =
+ .label = Thoát chế độ toàn màn hình
+ .accesskey = F
+menu-view-full-screen =
+ .label = Toàn màn hình
+ .accesskey = F
+
+## These menu items may use the same accesskey.
+
+# This should match reader-view-enter-button in browser.ftl
+menu-view-enter-readerview =
+ .label = Vào chế độ đọc sách
+ .accesskey = R
+# This should match reader-view-close-button in browser.ftl
+menu-view-close-readerview =
+ .label = Đóng chế độ đọc sách
+ .accesskey = R
+
+##
+
+menu-view-show-all-tabs =
+ .label = Hiển thị tất cả các thẻ
+ .accesskey = A
+menu-view-bidi-switch-page-direction =
+ .label = Chuyển hướng trang
+ .accesskey = D
+
+## History Menu
+
+menu-history =
+ .label = Lịch sử
+ .accesskey = s
+menu-history-show-all-history =
+ .label = Xem toàn bộ lịch sử
+menu-history-clear-recent-history =
+ .label = Xóa lịch sử gần đây…
+menu-history-synced-tabs =
+ .label = Các thẻ đã đồng bộ
+menu-history-restore-last-session =
+ .label = Khôi phục phiên làm việc trước
+menu-history-hidden-tabs =
+ .label = Thẻ đã ẩn
+menu-history-undo-menu =
+ .label = Thẻ mới đóng gần đây
+menu-history-undo-window-menu =
+ .label = Các cửa sổ mới đóng
+# "Search" is a verb, as in "Search in History"
+menu-history-search =
+ .label = Tìm kiếm lịch sử
+
+## Bookmarks Menu
+
+menu-bookmarks-menu =
+ .label = Dấu trang
+ .accesskey = B
+menu-bookmarks-manage =
+ .label = Quản lý dấu trang
+menu-bookmark-tab =
+ .label = Đánh dấu thẻ hiện tại…
+menu-edit-bookmark =
+ .label = Chỉnh sửa dấu trang này…
+# "Search" is a verb, as in "Search in bookmarks"
+menu-bookmarks-search =
+ .label = Tìm kiếm dấu trang
+menu-bookmarks-all-tabs =
+ .label = Đánh dấu tất cả các thẻ…
+menu-bookmarks-toolbar =
+ .label = Thanh dấu trang
+menu-bookmarks-other =
+ .label = Dấu trang khác
+menu-bookmarks-mobile =
+ .label = Dấu trang trên di động
+
+## Tools Menu
+
+menu-tools =
+ .label = Công cụ
+ .accesskey = T
+menu-tools-downloads =
+ .label = Tải xuống
+ .accesskey = D
+menu-tools-addons-and-themes =
+ .label = Tiện ích mở rộng và chủ đề
+ .accesskey = A
+menu-tools-fxa-sign-in2 =
+ .label = Đăng nhập
+ .accesskey = g
+menu-tools-turn-on-sync2 =
+ .label = Bật đồng bộ hóa…
+ .accesskey = n
+menu-tools-sync-now =
+ .label = Đồng bộ ngay
+ .accesskey = S
+menu-tools-fxa-re-auth =
+ .label = Kết nối lại vào { -brand-product-name }…
+ .accesskey = R
+menu-tools-browser-tools =
+ .label = Công cụ trình duyệt
+ .accesskey = B
+menu-tools-task-manager =
+ .label = Trình quản lý tác vụ
+ .accesskey = M
+menu-tools-page-source =
+ .label = Mở mã nguồn trang
+ .accesskey = o
+menu-tools-page-info =
+ .label = Thông tin trang
+ .accesskey = I
+menu-settings =
+ .label = Cài đặt
+ .accesskey =
+ { PLATFORM() ->
+ [windows] S
+ *[other] n
+ }
+menu-tools-layout-debugger =
+ .label = Trình gỡ lỗi bố cục
+ .accesskey = L
+
+## Window Menu
+
+menu-window-menu =
+ .label = Cửa sổ
+menu-window-bring-all-to-front =
+ .label = Đưa tất cả ra phía trước
+
+## Help Menu
+
+
+# NOTE: For Engineers, any additions or changes to Help menu strings should
+# also be reflected in the related strings in appmenu.ftl. Those strings, by
+# convention, will have the same ID as these, but prefixed with "app".
+# Example: appmenu-get-help
+#
+# These strings are duplicated to allow for different casing depending on
+# where the strings appear.
+
+menu-help =
+ .label = Trợ giúp
+ .accesskey = H
+menu-get-help =
+ .label = Nhận trợ giúp
+ .accesskey = H
+menu-help-more-troubleshooting-info =
+ .label = Thông tin xử lý sự cố khác
+ .accesskey = T
+menu-help-report-site-issue =
+ .label = Báo cáo vấn đề về trang…
+menu-help-share-ideas =
+ .label = Chia sẻ ý tưởng và phản hồi…
+ .accesskey = S
+menu-help-enter-troubleshoot-mode2 =
+ .label = Chế độ xử lý sự cố…
+ .accesskey = M
+menu-help-exit-troubleshoot-mode =
+ .label = Tắt chế độ xử lý sự cố
+ .accesskey = M
+menu-help-switch-device =
+ .label = Chuyển sang một thiết bị mới
+ .accesskey = N
+# Label of the Help menu item. Either this or
+# menu-help-notdeceptive is shown.
+menu-help-report-deceptive-site =
+ .label = Báo cáo trang lừa đảo…
+ .accesskey = c
+menu-help-not-deceptive =
+ .label = Đây không phải là một trang lừa đảo…
+ .accesskey = d
+menu-report-broken-site =
+ .label = Báo cáo trang web bị hỏng
diff --git a/l10n-vi/browser/browser/migration.ftl b/l10n-vi/browser/browser/migration.ftl
new file mode 100644
index 0000000000..68cd30f53c
--- /dev/null
+++ b/l10n-vi/browser/browser/migration.ftl
@@ -0,0 +1,174 @@
+# 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-wizard =
+ .title = Trình nhập dữ liệu
+
+import-from =
+ { PLATFORM() ->
+ [windows] Nhập các tùy chọn, dấu trang, lịch sử, mật khẩu và các dữ liệu khác từ:
+ *[other] Nhập các tùy chỉnh, dấu trang, lịch sử, mật khẩu và các dữ liệu khác từ:
+ }
+
+import-from-bookmarks = Nhập các dấu trang từ:
+import-from-ie =
+ .label = Microsoft Internet Explorer
+ .accesskey = I
+import-from-edge =
+ .label = Microsoft Edge
+ .accesskey = E
+import-from-edge-legacy =
+ .label = Microsoft Edge cũ
+ .accesskey = L
+import-from-edge-beta =
+ .label = Microsoft Edge Beta
+ .accesskey = d
+import-from-nothing =
+ .label = Không nhập gì cả
+ .accesskey = h
+import-from-safari =
+ .label = Safari
+ .accesskey = S
+import-from-opera =
+ .label = Opera
+ .accesskey = O
+import-from-vivaldi =
+ .label = Vivaldi
+ .accesskey = V
+import-from-brave =
+ .label = Brave
+ .accesskey = r
+import-from-canary =
+ .label = Chrome Canary
+ .accesskey = n
+import-from-chrome =
+ .label = Chrome
+ .accesskey = C
+import-from-chrome-beta =
+ .label = Chrome Beta
+ .accesskey = B
+import-from-chrome-dev =
+ .label = Chrome Dev
+ .accesskey = D
+import-from-chromium =
+ .label = Chromium
+ .accesskey = u
+import-from-firefox =
+ .label = Firefox
+ .accesskey = x
+import-from-360se =
+ .label = 360 Secure Browser
+ .accesskey = 3
+import-from-opera-gx =
+ .label = Opera GX
+ .accesskey = G
+
+no-migration-sources = Không tìm thấy chương trình nào chứa dấu trang, lịch sử, hoặc dữ liệu mật khẩu.
+
+import-source-page-title = Nhập cài đặt và dữ liệu
+import-items-page-title = Các mục cần nhập
+
+import-items-description = Chọn các mục để nhập:
+
+import-permissions-page-title = Vui lòng cấp quyền cho { -brand-short-name }
+
+# Do not translate "Safari" (the name of the browser on Apple devices)
+import-safari-permissions-string = macOS yêu cầu bạn cho phép { -brand-short-name } để truy cập dữ liệu của Safari. Nhấp “Tiếp tục”, chọn thư mục “Safari“ trong cửa sổ Finder xuất hiện và nhấp “Mở”.
+
+import-migrating-page-title = Đang nhập…
+
+import-migrating-description = Các mục sau đang được nhập…
+
+import-select-profile-page-title = Chọn hồ sơ
+
+import-select-profile-description = Các hồ sơ có thể nhập được từ:
+
+import-done-page-title = Nhập Xong
+
+import-done-description = Các mục sau đã được nhập thành công:
+
+import-close-source-browser = Vui lòng chắc chắn trình duyệt được chọn đã đóng truớc khi tiếp tục.
+
+source-name-ie = Internet Explorer
+source-name-edge = Microsoft Edge
+source-name-chrome = Google Chrome
+
+imported-safari-reading-list = Đang đọc danh sách (Từ Safari)
+imported-edge-reading-list = Đang đọc danh sách (từ Edge)
+
+## Browser data types
+## All of these strings get a $browser variable passed in.
+## You can use the browser variable to differentiate the name of items,
+## which may have different labels in different browsers.
+## The supported values for the $browser variable are:
+## 360se
+## chrome
+## edge
+## firefox
+## ie
+## safari
+## The various beta and development versions of edge and chrome all get
+## normalized to just "edge" and "chrome" for these strings.
+
+browser-data-cookies-checkbox =
+ .label = Cookie
+browser-data-cookies-label =
+ .value = Cookie
+
+browser-data-history-checkbox =
+ .label =
+ { $browser ->
+ [firefox] Lịch sử duyệt web và trang đánh dấu
+ *[other] Lịch sử duyệt web
+ }
+browser-data-history-label =
+ .value =
+ { $browser ->
+ [firefox] Lịch sử duyệt web và trang đánh dấu
+ *[other] Lịch sử duyệt web
+ }
+
+browser-data-formdata-checkbox =
+ .label = Lịch sử biểu mẫu đã lưu
+browser-data-formdata-label =
+ .value = Lịch sử biểu mẫu đã lưu
+
+# This string should use the same phrase for "logins and passwords" as the
+# label in the main hamburger menu that opens about:logins.
+browser-data-passwords-checkbox =
+ .label = Thông tin đăng nhập và mật khẩu đã lưu
+# This string should use the same phrase for "logins and passwords" as the
+# label in the main hamburger menu that opens about:logins.
+browser-data-passwords-label =
+ .value = Thông tin đăng nhập và mật khẩu đã lưu
+
+browser-data-bookmarks-checkbox =
+ .label =
+ { $browser ->
+ [ie] Yêu thích
+ [edge] Yêu thích
+ *[other] Dấu trang
+ }
+browser-data-bookmarks-label =
+ .value =
+ { $browser ->
+ [ie] Yêu thích
+ [edge] Yêu thích
+ *[other] Dấu trang
+ }
+
+browser-data-otherdata-checkbox =
+ .label = Dữ liệu khác
+browser-data-otherdata-label =
+ .label = Dữ liệu khác
+
+browser-data-session-checkbox =
+ .label = Cửa Sổ và Thẻ
+browser-data-session-label =
+ .value = Cửa Sổ và Thẻ
+
+browser-data-payment-methods-checkbox =
+ .label = Phương thức thanh toán
+browser-data-payment-methods-label =
+ .value = Phương thức thanh toán
diff --git a/l10n-vi/browser/browser/migrationWizard.ftl b/l10n-vi/browser/browser/migrationWizard.ftl
new file mode 100644
index 0000000000..b5b0794bec
--- /dev/null
+++ b/l10n-vi/browser/browser/migrationWizard.ftl
@@ -0,0 +1,250 @@
+# 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-wizard-selection-header = Nhập dữ liệu trình duyệt
+migration-wizard-selection-list = Chọn dữ liệu bạn muốn nhập.
+# Shown in the new migration wizard's dropdown selector for choosing the browser
+# to import from. This variant is shown when the selected browser doesn't support
+# user profiles, and so we only show the browser name.
+#
+# Variables:
+# $sourceBrowser (String): the name of the browser to import from.
+migration-wizard-selection-option-without-profile = { $sourceBrowser }
+# Shown in the new migration wizard's dropdown selector for choosing the browser
+# and user profile to import from. This variant is shown when the selected browser
+# supports user profiles.
+#
+# Variables:
+# $sourceBrowser (String): the name of the browser to import from.
+# $profileName (String): the name of the user profile to import from.
+migration-wizard-selection-option-with-profile = { $sourceBrowser } — { $profileName }
+
+# Each migrator is expected to include a display name string, and that display
+# name string should have a key with "migration-wizard-migrator-display-name-"
+# as a prefix followed by the unique identification key for the migrator.
+
+migration-wizard-migrator-display-name-brave = Brave
+migration-wizard-migrator-display-name-canary = Chrome Canary
+migration-wizard-migrator-display-name-chrome = Chrome
+migration-wizard-migrator-display-name-chrome-beta = Chrome Beta
+migration-wizard-migrator-display-name-chrome-dev = Chrome Dev
+migration-wizard-migrator-display-name-chromium = Chromium
+migration-wizard-migrator-display-name-chromium-360se = 360 Secure Browser
+migration-wizard-migrator-display-name-chromium-edge = Microsoft Edge
+migration-wizard-migrator-display-name-chromium-edge-beta = Microsoft Edge Beta
+migration-wizard-migrator-display-name-edge-legacy = Microsoft Edge cũ
+migration-wizard-migrator-display-name-firefox = Firefox
+migration-wizard-migrator-display-name-file-password-csv = Mật khẩu từ tập tin CSV
+migration-wizard-migrator-display-name-file-bookmarks = Dấu trang từ tập tin HTML
+migration-wizard-migrator-display-name-ie = Microsoft Internet Explorer
+migration-wizard-migrator-display-name-opera = Opera
+migration-wizard-migrator-display-name-opera-gx = Opera GX
+migration-wizard-migrator-display-name-safari = Safari
+migration-wizard-migrator-display-name-vivaldi = Vivaldi
+migration-source-name-ie = Internet Explorer
+migration-source-name-edge = Microsoft Edge
+migration-source-name-chrome = Google Chrome
+migration-imported-safari-reading-list = Đang đọc danh sách (Từ Safari)
+migration-imported-edge-reading-list = Đang đọc danh sách (từ Edge)
+
+## These strings are shown if the selected browser data directory is unreadable.
+## In practice, this tends to only occur on Linux when Firefox
+## is installed as a Snap.
+
+migration-no-permissions-message = { -brand-short-name } không có quyền truy cập vào hồ sơ của trình duyệt khác được cài đặt trên thiết bị này.
+migration-no-permissions-instructions = Để tiếp tục nhập dữ liệu từ trình duyệt khác, cho phép { -brand-short-name } truy cập vào thư mục hồ sơ của nó.
+migration-no-permissions-instructions-step1 = Chọn “Tiếp tục”
+# The second step in getting permissions to read data for the selected
+# browser type.
+#
+# Variables:
+# $permissionsPath (String): the file system path that the user will need to grant read permission to.
+migration-no-permissions-instructions-step2 = Trong trình chọn tập tin, điều hướng đến <code>{ $permissionsPath }</code> và chọn “Chọn”
+
+## These strings will be displayed based on how many resources are selected to import
+
+migration-all-available-data-label = Nhập tất cả dữ liệu có sẵn
+migration-no-selected-data-label = Không có dữ liệu nào được chọn để nhập
+migration-selected-data-label = Nhập dữ liệu đã chọn
+
+##
+
+migration-select-all-option-label = Chọn tất cả
+migration-bookmarks-option-label = Dấu trang
+# Favorites is used for Bookmarks when importing from Internet Explorer or
+# Edge, as this is the terminology for bookmarks on those browsers.
+migration-favorites-option-label = Trang ưa thích
+migration-logins-and-passwords-option-label = Thông tin đăng nhập và mật khẩu đã lưu
+migration-passwords-option-label = Mật khẩu đã lưu
+migration-history-option-label = Lịch sử duyệt web
+migration-extensions-option-label = Tiện ích mở rộng
+migration-form-autofill-option-label = Dữ liệu tự động điền biểu mẫu
+migration-payment-methods-option-label = Phương thức thanh toán
+migration-cookies-option-label = Cookie
+migration-session-option-label = Cửa sổ và thẻ
+migration-otherdata-option-label = Dữ liệu khác
+migration-passwords-from-file-progress-header = Nhập tập tin mật khẩu
+migration-passwords-from-file-success-header = Đã nhập mật khẩu thành công
+migration-passwords-from-file = Kiểm tra tập tin cho mật khẩu
+migration-passwords-new = Mật khẩu mới
+migration-passwords-updated = Mật khẩu hiện có
+migration-passwords-from-file-no-valid-data = Tập tin không bao gồm bất kỳ dữ liệu mật khẩu hợp lệ nào. Chọn một tập tin khác.
+migration-passwords-from-file-picker-title = Nhập tập tin mật khẩu
+# A description for the .csv file format that may be shown as the file type
+# filter by the operating system.
+migration-passwords-from-file-csv-filter-title =
+ { PLATFORM() ->
+ [macos] Tài liệu CSV
+ *[other] Tập tin CSV
+ }
+# A description for the .tsv file format that may be shown as the file type
+# filter by the operating system. TSV is short for 'tab separated values'.
+migration-passwords-from-file-tsv-filter-title =
+ { PLATFORM() ->
+ [macos] Tài liệu TSV
+ *[other] Tập tin TSV
+ }
+# Shown in the migration wizard after importing passwords from a file
+# has completed, if new passwords were added.
+#
+# Variables:
+# $newEntries (Number): the number of new successfully imported passwords
+migration-wizard-progress-success-new-passwords = Đã thêm { $newEntries }
+# Shown in the migration wizard after importing passwords from a file
+# has completed, if existing passwords were updated.
+#
+# Variables:
+# $updatedEntries (Number): the number of updated passwords
+migration-wizard-progress-success-updated-passwords = Đã cập nhật { $updatedEntries }
+migration-bookmarks-from-file-picker-title = Nhập tập tin dấu trang
+migration-bookmarks-from-file-progress-header = Đang nhập dấu trang
+migration-bookmarks-from-file = Dấu trang
+migration-bookmarks-from-file-success-header = Đã nhập dấu trang thành công
+migration-bookmarks-from-file-no-valid-data = Tập tin không bao gồm bất kỳ dữ liệu dấu trang nào. Chọn một tập tin khác.
+# A description for the .html file format that may be shown as the file type
+# filter by the operating system.
+migration-bookmarks-from-file-html-filter-title =
+ { PLATFORM() ->
+ [macos] Tài liệu HTML
+ *[other] Tập tin HTML
+ }
+# A description for the .json file format that may be shown as the file type
+# filter by the operating system.
+migration-bookmarks-from-file-json-filter-title = Tập tin JSON
+# Shown in the migration wizard after importing bookmarks from a file
+# has completed.
+#
+# Variables:
+# $newEntries (Number): the number of imported bookmarks.
+migration-wizard-progress-success-new-bookmarks = { $newEntries } dấu trang
+migration-import-button-label = Nhập
+migration-choose-to-import-from-file-button-label = Nhập từ tập tin
+migration-import-from-file-button-label = Chọn tập tin
+migration-cancel-button-label = Hủy bỏ
+migration-done-button-label = Xong
+migration-continue-button-label = Tiếp tục
+migration-wizard-import-browser-no-browsers = { -brand-short-name } không thể tìm thấy bất kỳ chương trình nào chứa dữ liệu dấu trang, lịch sử hoặc mật khẩu.
+migration-wizard-import-browser-no-resources = Có lỗi đã xảy ra. { -brand-short-name } không thể tìm thấy bất kỳ dữ liệu nào để nhập từ hồ sơ trình duyệt đó.
+
+## These strings will be used to create a dynamic list of items that can be
+## imported. The list will be created using Intl.ListFormat(), so it will
+## follow each locale's rules, and the first item will be capitalized by code.
+## When applicable, the resources should be in their plural form.
+## For example, a possible list could be "Bookmarks, passwords and autofill data".
+
+migration-list-bookmark-label = dấu trang
+# “favorites” refers to bookmarks in Edge and Internet Explorer. Use the same terminology
+# if the browser is available in your language.
+migration-list-favorites-label = trang ưa thích
+migration-list-password-label = mật khẩu
+migration-list-history-label = lịch sử
+migration-list-extensions-label = tiện ích mở rộng
+migration-list-autofill-label = dữ liệu tự động điền
+migration-list-payment-methods-label = phương thức thanh toán
+
+##
+
+migration-wizard-progress-header = Đang nhập dữ liệu
+# This header appears in the final page of the migration wizard only if
+# all resources were imported successfully.
+migration-wizard-progress-done-header = Dữ liệu được nhập thành công
+# This header appears in the final page of the migration wizard if only
+# some of the resources were imported successfully. This is meant to be
+# distinct from migration-wizard-progress-done-header, which is only shown
+# if all resources were imported successfully.
+migration-wizard-progress-done-with-warnings-header = Hoàn tất nhập dữ liệu
+migration-wizard-progress-icon-in-progress =
+ .aria-label = Đang nhập…
+migration-wizard-progress-icon-completed =
+ .aria-label = Hoàn tất
+migration-safari-password-import-header = Nhập mật khẩu từ Safari
+migration-safari-password-import-steps-header = Để nhập mật khẩu Safari:
+migration-safari-password-import-step1 = Trong Safari, mở menu “Safari” và vào Tùy chọn > Mật khẩu
+migration-safari-password-import-step2 = Chọn nút <img data-l10n-name="safari-icon-3dots"/> và chọn “Xuất tất cả mật khẩu”
+migration-safari-password-import-step3 = Lưu tập tin mật khẩu
+migration-safari-password-import-step4 = Sử dụng “Chọn tập tin” bên dưới để chọn tập tin mật khẩu mà bạn đã lưu
+migration-safari-password-import-skip-button = Bỏ qua
+migration-safari-password-import-select-button = Chọn tập tin
+# Shown in the migration wizard after importing bookmarks from another
+# browser has completed.
+#
+# Variables:
+# $quantity (Number): the number of successfully imported bookmarks
+migration-wizard-progress-success-bookmarks = { $quantity } dấu trang
+# Shown in the migration wizard after importing bookmarks from either
+# Internet Explorer or Edge.
+#
+# Use the same terminology if the browser is available in your language.
+#
+# Variables:
+# $quantity (Number): the number of successfully imported bookmarks
+migration-wizard-progress-success-favorites = { $quantity } trang ưa thích
+
+## The import process identifies extensions installed in other supported
+## browsers and installs the corresponding (matching) extensions compatible
+## with Firefox, if available.
+
+# Shown in the migration wizard after importing all matched extensions
+# from supported browsers.
+#
+# Variables:
+# $quantity (Number): the number of successfully imported extensions
+migration-wizard-progress-success-extensions = { $quantity } tiện ích mở rộng
+# Shown in the migration wizard after importing a partial amount of
+# matched extensions from supported browsers.
+#
+# Variables:
+# $matched (Number): the number of matched imported extensions
+# $quantity (Number): the number of total extensions found during import
+migration-wizard-progress-partial-success-extensions = { $matched } của { $quantity } tiện ích mở rộng
+migration-wizard-progress-extensions-support-link = Tìm hiểu { -brand-product-name } tìm tiện ích mở rộng tương tự
+# Shown in the migration wizard if there are no matched extensions
+# on import from supported browsers.
+migration-wizard-progress-no-matched-extensions = Không có tiện ích mở rộng tương tự
+migration-wizard-progress-extensions-addons-link = Khám phá tiện ích mở rộng cho { -brand-short-name }
+
+##
+
+# Shown in the migration wizard after importing passwords from another
+# browser has completed.
+#
+# Variables:
+# $quantity (Number): the number of successfully imported passwords
+migration-wizard-progress-success-passwords = { $quantity } mật khẩu
+# Shown in the migration wizard after importing history from another
+# browser has completed.
+#
+# Variables:
+# $maxAgeInDays (Number): the maximum number of days of history that might be imported.
+migration-wizard-progress-success-history = Từ { $maxAgeInDays } ngày qua
+migration-wizard-progress-success-formdata = Lịch sử biểu mẫu
+# Shown in the migration wizard after importing payment methods from another
+# browser has completed.
+#
+# Variables:
+# $quantity (Number): the number of successfully imported payment methods
+migration-wizard-progress-success-payment-methods = { $quantity } phương thức thanh toán
+migration-wizard-safari-permissions-sub-header = Để nhập dấu trang Safari và lịch sử duyệt web:
+migration-wizard-safari-instructions-continue = Chọn “Tiếp tục”
+migration-wizard-safari-instructions-folder = Chọn thư mục Safari trong danh sách và chọn “Mở”
diff --git a/l10n-vi/browser/browser/newtab/asrouter.ftl b/l10n-vi/browser/browser/newtab/asrouter.ftl
new file mode 100644
index 0000000000..478ded4866
--- /dev/null
+++ b/l10n-vi/browser/browser/newtab/asrouter.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/.
+
+
+## These messages are used as headings in the recommendation doorhanger
+
+cfr-doorhanger-extension-heading = Tiện ích được đề xuất
+cfr-doorhanger-feature-heading = Tính năng được đề xuất
+
+##
+
+cfr-doorhanger-extension-sumo-link =
+ .tooltiptext = Tại sao tôi thấy cái này
+cfr-doorhanger-extension-cancel-button = Không phải bây giờ
+ .accesskey = N
+cfr-doorhanger-extension-ok-button = Thêm vào ngay
+ .accesskey = A
+cfr-doorhanger-extension-manage-settings-button = Quản lý các thiết lập được đề xuất
+ .accesskey = M
+cfr-doorhanger-extension-never-show-recommendation = Không hiển thị cho tôi đề xuất này
+ .accesskey = S
+cfr-doorhanger-extension-learn-more-link = Tìm hiểu thêm
+# This string is used on a new line below the add-on name
+# Variables:
+# $name (String) - Add-on author name
+cfr-doorhanger-extension-author = bởi { $name }
+# This is a notification displayed in the address bar.
+# When clicked it opens a panel with a message for the user.
+cfr-doorhanger-extension-notification = Đề xuất
+# .a11y-announcement is extracted in JS and announced via A11y.announce.
+cfr-doorhanger-extension-notification2 = Đề xuất
+ .tooltiptext = Tiện ích được đề xuất
+ .a11y-announcement = Tiện ích được đề xuất có sẵn
+# This is a notification displayed in the address bar.
+# When clicked it opens a panel with a message for the user.
+# .a11y-announcement is extracted in JS and announced via A11y.announce.
+cfr-doorhanger-feature-notification = Đề xuất
+ .tooltiptext = Tính năng được đề xuất
+ .a11y-announcement = Tính năng được đề xuất có sẵn
+
+## Add-on statistics
+## These strings are used to display the total number of
+## users and rating for an add-on. They are shown next to each other.
+
+# Variables:
+# $total (Number) - The rating of the add-on from 1 to 5
+cfr-doorhanger-extension-rating =
+ .tooltiptext =
+ { $total ->
+ *[other] { $total } sao
+ }
+# Variables:
+# $total (Number) - The total number of users using the add-on
+cfr-doorhanger-extension-total-users =
+ { $total ->
+ *[other] { $total } người dùng
+ }
+
+## Firefox Accounts Message
+
+cfr-doorhanger-bookmark-fxa-header = Đồng bộ dấu trang của bạn ở mọi nơi.
+cfr-doorhanger-bookmark-fxa-body = Đã tìm thấy tuyệt vời! Bây giờ hãy đồng bộ các dấu trang này với thiết bị di động của bạn. Bắt đầu với một { -fxaccount-brand-name }.
+cfr-doorhanger-bookmark-fxa-link-text = Đồng bộ hóa dấu trang ngay bây giờ...
+cfr-doorhanger-bookmark-fxa-close-btn-tooltip =
+ .aria-label = Nút đóng
+ .title = Đóng
+
+## Protections panel
+
+cfr-protections-panel-header = Duyệt mà không bị theo dõi
+cfr-protections-panel-body = Giữ dữ liệu của bạn cho chính mình. { -brand-short-name } bảo vệ bạn khỏi nhiều trình theo dõi phổ biến nhất theo dõi những gì bạn làm trực tuyến.
+cfr-protections-panel-link-text = Tìm hiểu thêm
+
+## What's New toolbar button and panel
+
+# This string is used by screen readers to offer a text based alternative for
+# the notification icon
+cfr-badge-reader-label-newfeature = Tính năng mới:
+cfr-whatsnew-button =
+ .label = Có gì mới
+ .tooltiptext = Có gì mới
+cfr-whatsnew-release-notes-link-text = Đọc ghi chú phát hành
+
+## Enhanced Tracking Protection Milestones
+
+# Variables:
+# $blockedCount (Number) - The total count of blocked trackers. This number will always be greater than 1.
+# $date (Datetime) - The date we began recording the count of blocked trackers
+cfr-doorhanger-milestone-heading2 =
+ { $blockedCount ->
+ *[other] { -brand-short-name } đã chặn hơn <b>{ $blockedCount }</b> trình theo dõi kể từ { DATETIME($date, month: "long", year: "numeric") }!
+ }
+cfr-doorhanger-milestone-ok-button = Xem tất cả
+ .accesskey = S
+cfr-doorhanger-milestone-close-button = Đóng
+ .accesskey = C
+
+## DOH Message
+
+cfr-doorhanger-doh-body = Vấn đề riêng tư của bạn. { -brand-short-name } bây giờ định tuyến an toàn các yêu cầu DNS của bạn bất cứ khi nào có thể đến dịch vụ đối tác để bảo vệ bạn trong khi bạn duyệt.
+cfr-doorhanger-doh-header = Truy vấn DNS được mã hóa, an toàn hơn
+cfr-doorhanger-doh-primary-button-2 = Okey
+ .accesskey = O
+cfr-doorhanger-doh-secondary-button = Vô hiệu hóa
+ .accesskey = D
+
+## Full Video Support CFR message
+
+cfr-doorhanger-video-support-body = Các video trên trang web này có thể phát không đúng trên phiên bản { -brand-short-name } này. Để được hỗ trợ đầy đủ về video, hãy cập nhật { -brand-short-name } ngay bây giờ.
+cfr-doorhanger-video-support-header = Cập nhật { -brand-short-name } để phát video
+cfr-doorhanger-video-support-primary-button = Cập nhật bây giờ
+ .accesskey = U
+
+## VPN promotion dialog for public Wi-Fi users
+##
+## If a user is detected to be on a public Wi-Fi network, they are given a
+## bit of info about how to improve their privacy and then offered a button
+## to the Mozilla VPN page and a link to dismiss the dialog.
+
+# This header text can be explicitly wrapped.
+spotlight-public-wifi-vpn-header = Có vẻ như bạn đang sử dụng Wi-Fi công cộng
+spotlight-public-wifi-vpn-body = Để ẩn vị trí và hoạt động duyệt web của bạn, hãy xem xét đến VPN. Nó sẽ giúp bạn được bảo vệ khi duyệt web ở những nơi công cộng như sân bay và quán cà phê.
+spotlight-public-wifi-vpn-primary-button = Giữ riêng tư với { -mozilla-vpn-brand-name }
+ .accesskey = S
+spotlight-public-wifi-vpn-link = Không phải bây giờ
+ .accesskey = N
+
+## Emotive Continuous Onboarding
+
+spotlight-better-internet-header = Internet tốt hơn bắt đầu với bạn
+spotlight-better-internet-body = Khi bạn sử dụng { -brand-short-name }, bạn đang bỏ phiếu cho một Internet mở và có thể truy cập tốt hơn cho tất cả mọi người.
+spotlight-peace-mind-header = Chúng tôi đã giúp bạn được bảo vệ
+spotlight-peace-mind-body = Hàng tháng, { -brand-short-name } chặn trung bình hơn 3.000 trình theo dõi cho mỗi người dùng. Bởi vì không có gì, đặc biệt là những phiền toái về quyền riêng tư như trình theo dõi, có thể ngăn cản bạn và internet tốt.
+spotlight-pin-primary-button =
+ { PLATFORM() ->
+ [macos] Giữ trên thanh Dock
+ *[other] Ghim vào thanh tác vụ
+ }
+spotlight-pin-secondary-button = Không phải bây giờ
+
+## MR2022 Background Update Windows native toast notification strings.
+##
+## These strings will be displayed by the Windows operating system in
+## a native toast, like:
+##
+## <b>multi-line title</b>
+## multi-line text
+## <img>
+## [ primary button ] [ secondary button ]
+##
+## The button labels are fitted into narrow fixed-width buttons by
+## Windows and therefore must be as narrow as possible.
+
+mr2022-background-update-toast-title = { -brand-short-name } mới. Riêng tư hơn. Ít trình theo dõi hơn. Không có thỏa hiệp.
+mr2022-background-update-toast-text = Hãy thử { -brand-short-name } mới nhất ngay bây giờ, được nâng cấp với trình chống theo dõi mạnh nhất của chúng tôi.
+# This button label will be fitted into a narrow fixed-width button by
+# Windows. Try to not exceed the width of the English text (compare it
+# using a variable font like Arial): the button can only fit 1-2
+# additional characters, exceeding characters will be truncated.
+mr2022-background-update-toast-primary-button-label = Mở { -brand-shorter-name } ngay
+# This button label will be fitted into a narrow fixed-width button by
+# Windows. Try to not exceed the width of the English text (compare it using a
+# variable font like Arial): the button can only fit 1-2 additional characters,
+# exceeding characters will be truncated.
+mr2022-background-update-toast-secondary-button-label = Nhắc tôi sau
+
+## Firefox View CFR
+
+firefoxview-cfr-primarybutton = Thử ngay
+ .accesskey = T
+firefoxview-cfr-secondarybutton = Để sau
+ .accesskey = N
+firefoxview-cfr-header-v2 = Nhanh chóng bắt đầu từ nơi bạn đã dừng lại
+firefoxview-cfr-body-v2 = Lấy lại các thẻ đã đóng gần đây, cộng với chuyển đổi liền mạch giữa các thiết bị với { -firefoxview-brand-name }.
+
+## Firefox View Spotlight
+
+firefoxview-spotlight-promo-title = Xin chào với { -firefoxview-brand-name }
+# “Poof” refers to the expression to convey when something or someone suddenly disappears, or in this case, reappears. For example, “Poof, it’s gone.”
+firefoxview-spotlight-promo-subtitle = Muốn thẻ đang mở nằm trên điện thoại của bạn? Lấy nó. Cần trang web mà bạn vừa truy cập? Nó đã trở lại với { -firefoxview-brand-name }
+firefoxview-spotlight-promo-primarybutton = Xem cách hoạt động
+firefoxview-spotlight-promo-secondarybutton = Bỏ qua
+
+## Colorways expiry reminder CFR
+
+colorways-cfr-primarybutton = Chọn đường màu
+ .accesskey = C
+# "shades" refers to the different color options available to users in colorways.
+colorways-cfr-body = Tô màu trình duyệt của bạn với các sắc thái độc quyền của { -brand-short-name } lấy cảm hứng từ những tiếng nói thay đổi văn hóa.
+colorways-cfr-header-28days = Các màu cho giọng nói độc lập sẽ hết hạn vào ngày 16 tháng 1
+colorways-cfr-header-14days = Màu sắc của giọng nói độc lập sẽ hết hạn sau hai tuần nữa
+colorways-cfr-header-7days = Các màu cho giọng nói độc lập sẽ hết hạn trong tuần này
+colorways-cfr-header-today = Các màu giọng nói độc lập sẽ hết hạn vào ngày hôm nay
+
+## Cookie Banner Handling CFR
+
+cfr-cbh-header = Cho phép { -brand-short-name } từ chối biểu ngữ cookie?
+cfr-cbh-body = { -brand-short-name } có thể tự động từ chối nhiều yêu cầu biểu ngữ cookie.
+cfr-cbh-confirm-button = Từ chối biểu ngữ cookie
+ .accesskey = R
+cfr-cbh-dismiss-button = Không phải bây giờ
+ .accesskey = N
+cookie-banner-blocker-cfr-header = { -brand-short-name } vừa chặn cookie cho bạn
+cookie-banner-blocker-cfr-body = Chúng tôi tự động từ chối nhiều cửa sổ bật lên hỏi về cookie để gây khó khăn cho các trang web theo dõi bạn.
+cookie-banner-blocker-onboarding-header = { -brand-short-name } vừa từ chối một biểu ngữ cookie cho bạn
+cookie-banner-blocker-onboarding-body = Ít phiền nhiễu hơn, ít cookie theo dõi bạn hơn trên trang web này.
+cookie-banner-blocker-onboarding-learn-more = Tìm hiểu thêm
+
+## These strings are used in the Fox doodle Pin/set default spotlights
+
+july-jam-headline = Chúng tôi đã giúp bạn được bảo vệ
+july-jam-body = Mỗi tháng, { -brand-short-name } chặn trung bình hơn 3.000 trình theo dõi trên mỗi người dùng, giúp bạn truy cập Internet tốt một cách an toàn, nhanh chóng.
+july-jam-set-default-primary = Mở liên kết của tôi bằng { -brand-short-name }
+fox-doodle-pin-headline = Chào mừng trở lại
+# “indie” is short for the term “independent”.
+# In this instance, free from outside influence or control.
+fox-doodle-pin-body = Đây là lời nhắc nhanh rằng bạn có thể giữ trình duyệt độc lập yêu thích của mình chỉ bằng một cú nhấp chuột.
+fox-doodle-pin-primary = Mở liên kết của tôi bằng { -brand-short-name }
+fox-doodle-pin-secondary = Không phải bây giờ
+
+## These strings are used in the Set Firefox as Default PDF Handler for Existing Users experiment
+
+set-default-pdf-handler-headline = <strong>Các tập tin PDF của bạn bây giờ mở trong { -brand-short-name }.</strong> Chỉnh sửa hoặc ký biểu mẫu trực tiếp trong trình duyệt của bạn. Để thay đổi, tìm kiếm “PDF” trong cài đặt.
+set-default-pdf-handler-primary = Đã hiểu
+
+## FxA sync CFR
+
+fxa-sync-cfr-header = Thiết bị mới trong tương lai của bạn?
+fxa-sync-cfr-body = Đảm bảo các dấu trang, mật khẩu và thẻ mới nhất luôn đi cùng bạn bất cứ khi nào bạn mở trình duyệt { -brand-product-name } mới.
+fxa-sync-cfr-primary = Tìm hiểu thêm
+ .accesskey = L
+fxa-sync-cfr-secondary = Nhắc tôi sau
+ .accesskey = R
+
+## Device Migration FxA Spotlight
+
+device-migration-fxa-spotlight-heavy-user-header = Đừng quên sao lưu dữ liệu của bạn
+device-migration-fxa-spotlight-heavy-user-body = Đảm bảo thông tin quan trọng — như dấu trang và mật khẩu — được cập nhật và bảo vệ trên tất cả các thiết bị của bạn.
+device-migration-fxa-spotlight-heavy-user-primary-button = Bắt đầu
+device-migration-fxa-spotlight-older-device-header = Yên tâm và tin tưởng, từ { -brand-product-name }
+device-migration-fxa-spotlight-older-device-body = Tài khoản giúp thông tin quan trọng của bạn được cập nhật và bảo vệ trên mọi thiết bị bạn kết nối.
+device-migration-fxa-spotlight-older-device-primary-button = Tạo tài khoản
+device-migration-fxa-spotlight-getting-new-device-header-2 = Thiết bị mới trong tương lai của bạn?
+device-migration-fxa-spotlight-getting-new-device-body-2 = Hãy làm theo một số bước đơn giản để mang theo dấu trang, lịch sử và mật khẩu khi bạn bắt đầu sử dụng thiết bị mới.
+device-migration-fxa-spotlight-getting-new-device-primary-button = Làm thế nào để sao lưu dữ liệu của tôi
+
+## Set as Default PDF Reader Infobar
+
+# The question portion of the following message should have the <strong> and </strong> tags surrounding it.
+pdf-default-notification-message = <strong>Đặt { -brand-short-name } làm trình đọc PDF mặc định của bạn?</strong> Sử dụng { -brand-short-name } để đọc và chỉnh sửa các tệp PDF được lưu vào máy tính của bạn.
+pdf-default-notification-set-default-button =
+ .label = Đặt làm mặc định
+pdf-default-notification-decline-button =
+ .label = Không phải bây giờ
+
+## Launch on login infobar notification
+
+launch-on-login-infobar-message = <strong>Mở { -brand-short-name } mỗi khi bạn khởi động lại máy tính?</strong> Bây giờ bạn có thể thiết lập { -brand-short-name } để tự động mở khi bạn khởi động lại thiết bị của mình.
+launch-on-login-learnmore = Tìm hiểu thêm
+launch-on-login-infobar-confirm-button = Có, mở { -brand-short-name }
+ .accesskey = Y
+launch-on-login-infobar-reject-button = Không phải bây giờ
+ .accesskey = N
+
+## These string variants are used when the “launch on login” infobar
+## notification is displayed for a second time.
+
+launch-on-login-infobar-final-message = <strong>Mở { -brand-short-name } mỗi khi bạn khởi động lại máy tính?</strong> Để quản lý tùy chọn khởi động của bạn, hãy tìm kiếm “khởi động” trong cài đặt.
+launch-on-login-infobar-final-reject-button = Không phải bây giờ
+ .accesskey = N
+
+## Tail Fox Set Default Spotlight
+
+# This title is displayed together with the picture of a running fox with a long tail.
+# In English, this is a figure of speech meaning 'stop something from following you'.
+# If the localization of this message is challenging, consider using a simplified
+# alternative as a reference for translation: 'Keep unwanted trackers away'.
+tail-fox-spotlight-title = Loại bỏ những trình theo dõi phiền toái phía sau bạn
+tail-fox-spotlight-subtitle = Nói lời tạm biệt với những trình theo dõi quảng cáo phiền toái và tận hưởng trải nghiệm Internet nhanh chóng, an toàn hơn.
+tail-fox-spotlight-primary-button = Mở liên kết của tôi bằng { -brand-short-name }
+tail-fox-spotlight-secondary-button = Không phải bây giờ
diff --git a/l10n-vi/browser/browser/newtab/newtab.ftl b/l10n-vi/browser/browser/newtab/newtab.ftl
new file mode 100644
index 0000000000..3f3e29a5e4
--- /dev/null
+++ b/l10n-vi/browser/browser/newtab/newtab.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/.
+
+
+### Firefox Home / New Tab strings for about:home / about:newtab.
+
+newtab-page-title = Thẻ mới
+newtab-settings-button =
+ .title = Tùy biến trang thẻ mới
+newtab-personalize-icon-label =
+ .title = Cá nhân hóa thẻ mới
+ .aria-label = Cá nhân hóa thẻ mới
+newtab-personalize-dialog-label =
+ .aria-label = Cá nhân hóa
+
+## Search box component.
+
+# "Search" is a verb/action
+newtab-search-box-search-button =
+ .title = Tìm kiếm
+ .aria-label = Tìm kiếm
+# Variables:
+# $engine (string) - The name of the user's default search engine
+newtab-search-box-handoff-text = Tìm kiếm với { $engine } hoặc nhập địa chỉ
+newtab-search-box-handoff-text-no-engine = Tìm kiếm hoặc nhập địa chỉ
+# Variables:
+# $engine (string) - The name of the user's default search engine
+newtab-search-box-handoff-input =
+ .placeholder = Tìm kiếm với { $engine } hoặc nhập địa chỉ
+ .title = Tìm kiếm với { $engine } hoặc nhập địa chỉ
+ .aria-label = Tìm kiếm với { $engine } hoặc nhập địa chỉ
+newtab-search-box-handoff-input-no-engine =
+ .placeholder = Tìm kiếm hoặc nhập địa chỉ
+ .title = Tìm kiếm hoặc nhập địa chỉ
+ .aria-label = Tìm kiếm hoặc nhập địa chỉ
+newtab-search-box-text = Tìm kiếm trên mạng
+newtab-search-box-input =
+ .placeholder = Tìm kiếm trên mạng
+ .aria-label = Tìm kiếm trên mạng
+
+## Top Sites - General form dialog.
+
+newtab-topsites-add-search-engine-header = Thêm công cụ tìm kiếm
+newtab-topsites-add-shortcut-header = Lối tắt mới
+newtab-topsites-edit-topsites-header = Sửa trang web hàng đầu
+newtab-topsites-edit-shortcut-header = Chỉnh sửa lối tắt
+newtab-topsites-add-shortcut-label = Thêm lối tắt
+newtab-topsites-title-label = Tiêu đề
+newtab-topsites-title-input =
+ .placeholder = Nhập tiêu đề
+newtab-topsites-url-label = URL
+newtab-topsites-url-input =
+ .placeholder = Nhập hoặc dán URL
+newtab-topsites-url-validation = Yêu cầu URL hợp lệ
+newtab-topsites-image-url-label = Hình ảnh Tuỳ chỉnh URL
+newtab-topsites-use-image-link = Sử dụng hình ảnh tùy chỉnh…
+newtab-topsites-image-validation = Không tải được hình ảnh. Hãy thử một URL khác.
+
+## Top Sites - General form dialog buttons. These are verbs/actions.
+
+newtab-topsites-cancel-button = Hủy bỏ
+newtab-topsites-delete-history-button = Xóa khỏi lịch sử
+newtab-topsites-save-button = Lưu lại
+newtab-topsites-preview-button = Xem trước
+newtab-topsites-add-button = Thêm
+
+## Top Sites - Delete history confirmation dialog.
+
+newtab-confirm-delete-history-p1 = Bạn có chắc bạn muốn xóa bỏ mọi thứ của trang này từ lịch sử?
+# "This action" refers to deleting a page from history.
+newtab-confirm-delete-history-p2 = Thao tác này không thể hoàn tác được.
+
+## Top Sites - Sponsored label
+
+newtab-topsite-sponsored = Được tài trợ
+
+## Context Menu - Action Tooltips.
+
+# General tooltip for context menus.
+newtab-menu-section-tooltip =
+ .title = Mở bảng chọn
+ .aria-label = Mở bảng chọn
+# Tooltip for dismiss button
+newtab-dismiss-button-tooltip =
+ .title = Gỡ bỏ
+ .aria-label = Gỡ bỏ
+# This tooltip is for the context menu of Pocket cards or Topsites
+# Variables:
+# $title (string) - The label or hostname of the site. This is for screen readers when the context menu button is focused/active.
+newtab-menu-content-tooltip =
+ .title = Mở bảng chọn
+ .aria-label = Mở bảng chọn ngữ cảnh cho { $title }
+# Tooltip on an empty topsite box to open the New Top Site dialog.
+newtab-menu-topsites-placeholder-tooltip =
+ .title = Chỉnh sửa trang web này
+ .aria-label = Chỉnh sửa trang web này
+
+## Context Menu: These strings are displayed in a context menu and are meant as a call to action for a given page.
+
+newtab-menu-edit-topsites = Chỉnh sửa
+newtab-menu-open-new-window = Mở trong cửa sổ mới
+newtab-menu-open-new-private-window = Mở trong cửa sổ riêng tư mới
+newtab-menu-dismiss = Bỏ qua
+newtab-menu-pin = Ghim
+newtab-menu-unpin = Bỏ ghim
+newtab-menu-delete-history = Xóa khỏi lịch sử
+newtab-menu-save-to-pocket = Lưu vào { -pocket-brand-name }
+newtab-menu-delete-pocket = Xóa khỏi { -pocket-brand-name }
+newtab-menu-archive-pocket = Lưu trữ trong { -pocket-brand-name }
+newtab-menu-show-privacy-info = Nhà tài trợ của chúng tôi và sự riêng tư của bạn
+
+## Message displayed in a modal window to explain privacy and provide context for sponsored content.
+
+newtab-privacy-modal-button-done = Xong
+newtab-privacy-modal-button-manage = Quản lý cài đặt nội dung được tài trợ
+newtab-privacy-modal-header = Vấn đề riêng tư của bạn.
+newtab-privacy-modal-paragraph-2 =
+ Ngoài việc tận hưởng những câu chuyện hấp dẫn, chúng tôi cũng cho bạn thấy có liên quan,
+ nội dung được đánh giá cao từ các nhà tài trợ chọn lọc. Hãy yên tâm, <strong>dữ liệu duyệt của bạn
+ không bao giờ để lại bản sao { -brand-product-name }</strong> của bạn — chúng tôi không thể nhìn thấy nó
+ và các tài trợ của chúng tôi cũng vậy.
+newtab-privacy-modal-link = Tìm hiểu cách hoạt động của quyền riêng tư trên thẻ mới
+
+##
+
+# Bookmark is a noun in this case, "Remove bookmark".
+newtab-menu-remove-bookmark = Xóa dấu trang
+# Bookmark is a verb here.
+newtab-menu-bookmark = Dấu trang
+
+## Context Menu - Downloaded Menu. "Download" in these cases is not a verb,
+## it is a noun. As in, "Copy the link that belongs to this downloaded item".
+
+newtab-menu-copy-download-link = Sao chép địa chỉ tải xuống
+newtab-menu-go-to-download-page = Đi đến trang web tải xuống
+newtab-menu-remove-download = Xóa khỏi lịch sử
+
+## Context Menu - Download Menu: These are platform specific strings found in the context menu of an item that has
+## been downloaded. The intention behind "this action" is that it will show where the downloaded file exists on the file
+## system for each operating system.
+
+newtab-menu-show-file =
+ { PLATFORM() ->
+ [macos] Hiển thị trong Finder
+ *[other] Mở thư mục chứa
+ }
+newtab-menu-open-file = Mở tập tin
+
+## Card Labels: These labels are associated to pages to give
+## context on how the element is related to the user, e.g. type indicates that
+## the page is bookmarked, or is currently open on another device.
+
+newtab-label-visited = Đã truy cập
+newtab-label-bookmarked = Đã được đánh dấu
+newtab-label-removed-bookmark = Đã xóa dấu trang
+newtab-label-recommended = Xu hướng
+newtab-label-saved = Đã lưu vào { -pocket-brand-name }
+newtab-label-download = Đã tải xuống
+# This string is used in the story cards to indicate sponsored content
+# Variables:
+# $sponsorOrSource (string) - The name of a company or their domain
+newtab-label-sponsored = { $sponsorOrSource } · Được tài trợ
+# This string is used at the bottom of story cards to indicate sponsored content
+# Variables:
+# $sponsor (string) - The name of a sponsor
+newtab-label-sponsored-by = Được tài trợ bởi { $sponsor }
+# This string is used under the image of story cards to indicate source and time to read
+# Variables:
+# $source (string) - The name of a company or their domain
+# $timeToRead (number) - The estimated number of minutes to read this story
+newtab-label-source-read-time = { $source } · { $timeToRead } phút
+
+## Section Menu: These strings are displayed in the section context menu and are
+## meant as a call to action for the given section.
+
+newtab-section-menu-remove-section = Xoá mục
+newtab-section-menu-collapse-section = Thu gọn mục
+newtab-section-menu-expand-section = Mở rộng mục
+newtab-section-menu-manage-section = Quản lý mục
+newtab-section-menu-manage-webext = Quản lí tiện ích
+newtab-section-menu-add-topsite = Thêm trang web hàng đầu
+newtab-section-menu-add-search-engine = Thêm công cụ tìm kiếm
+newtab-section-menu-move-up = Di chuyển lên
+newtab-section-menu-move-down = Di chuyển xuống
+newtab-section-menu-privacy-notice = Thông báo bảo mật
+
+## Section aria-labels
+
+newtab-section-collapse-section-label =
+ .aria-label = Thu gọn mục
+newtab-section-expand-section-label =
+ .aria-label = Mở rộng mục
+
+## Section Headers.
+
+newtab-section-header-topsites = Trang web hàng đầu
+newtab-section-header-recent-activity = Hoạt động gần đây
+# Variables:
+# $provider (string) - Name of the corresponding content provider.
+newtab-section-header-pocket = Được đề xuất bởi { $provider }
+newtab-section-header-stories = Những câu chuyện kích động tư tưởng
+
+## Empty Section States: These show when there are no more items in a section. Ex. When there are no more Pocket story recommendations, in the space where there would have been stories, this is shown instead.
+
+newtab-empty-section-highlights = Bắt đầu duyệt web và chúng tôi sẽ hiển thị một số bài báo, video, và các trang khác mà bạn đã xem hoặc đã đánh dấu tại đây.
+# Ex. When there are no more Pocket story recommendations, in the space where there would have been stories, this is shown instead.
+# Variables:
+# $provider (string) - Name of the content provider for this section, e.g "Pocket".
+newtab-empty-section-topstories = Bạn đã bắt kịp. Kiểm tra lại sau để biết thêm các câu chuyện hàng đầu từ { $provider }. Không muốn đợi? Chọn một chủ đề phổ biến để tìm thêm những câu chuyện tuyệt vời từ khắp nơi trên web.
+# Ex. When there are no more story recommendations, in the space where there would have been stories, this is shown instead.
+newtab-empty-section-topstories-generic = Bạn đã bắt kịp. Kiểm tra lại sau để biết thêm các câu chuyện. Không muốn đợi? Chọn một chủ đề phổ biến để tìm thêm những câu chuyện tuyệt vời từ khắp nơi trên web.
+
+## Empty Section (Content Discovery Experience). These show when there are no more stories or when some stories fail to load.
+
+newtab-discovery-empty-section-topstories-header = Bạn đã bắt kịp!
+newtab-discovery-empty-section-topstories-content = Kiểm tra lại sau để biết thêm câu chuyện.
+newtab-discovery-empty-section-topstories-try-again-button = Thử lại
+newtab-discovery-empty-section-topstories-loading = Đang tải…
+# Displays when a layout in a section took too long to fetch articles.
+newtab-discovery-empty-section-topstories-timed-out = Rất tiếc! Chúng tôi gần như tải phần này, nhưng không hoàn toàn.
+
+## Pocket Content Section.
+
+# This is shown at the bottom of the trending stories section and precedes a list of links to popular topics.
+newtab-pocket-read-more = Các chủ đề phổ biến:
+newtab-pocket-new-topics-title = Muốn nhiều câu chuyện hơn nữa? Xem các chủ đề phổ biến này từ { -pocket-brand-name }
+newtab-pocket-more-recommendations = Nhiều khuyến nghị hơn
+newtab-pocket-learn-more = Tìm hiểu thêm
+newtab-pocket-cta-button = Nhận { -pocket-brand-name }
+newtab-pocket-cta-text = Lưu những câu chuyện bạn yêu thích trong { -pocket-brand-name } và vui vẻ khi đọc chúng.
+newtab-pocket-pocket-firefox-family = { -pocket-brand-name } là một phần của gia đình { -brand-product-name }
+# A save to Pocket button that shows over the card thumbnail on hover.
+newtab-pocket-save = Lưu
+newtab-pocket-saved = Đã lưu
+
+## Pocket content onboarding experience dialog and modal for new users seeing the Pocket section for the first time, shown as the first item in the Pocket section.
+
+newtab-pocket-onboarding-discover = Khám phá những điều tốt nhất của web
+newtab-pocket-onboarding-cta = { -pocket-brand-name } khám phá nhiều loại ấn phẩm khác nhau để mang nội dung giàu thông tin, truyền cảm hứng và đáng tin cậy nhất đến ngay trình duyệt { -brand-product-name } của bạn.
+
+## Error Fallback Content.
+## This message and suggested action link are shown in each section of UI that fails to render.
+
+newtab-error-fallback-info = Rất tiếc, đã xảy ra lỗi khi tải nội dung này.
+newtab-error-fallback-refresh-link = Thử làm mới lại trang.
+
+## Customization Menu
+
+newtab-custom-shortcuts-title = Lối tắt
+newtab-custom-shortcuts-subtitle = Các trang web bạn lưu hoặc truy cập
+newtab-custom-shortcuts-toggle =
+ .label = Lối tắt
+ .description = Các trang web bạn lưu hoặc truy cập
+# Variables
+# $num (number) - Number of rows to display
+newtab-custom-row-selector =
+ { $num ->
+ *[other] { $num } hàng
+ }
+newtab-custom-sponsored-sites = Các lối tắt được tài trợ
+newtab-custom-pocket-title = Được đề xuất bởi { -pocket-brand-name }
+newtab-custom-pocket-subtitle = Nội dung đặc biệt do { -pocket-brand-name }, một phần của { -brand-product-name }, quản lý
+newtab-custom-pocket-toggle =
+ .label = Được đề xuất bởi { -pocket-brand-name }
+ .description = Nội dung đặc biệt do { -pocket-brand-name }, một phần của { -brand-product-name }, quản lý
+newtab-custom-stories-toggle =
+ .label = Câu chuyện được đề xuất
+ .description = Nội dung đặc biệt được quản lý bởi gia đình { -brand-product-name }
+newtab-custom-pocket-sponsored = Câu chuyện được tài trợ
+newtab-custom-pocket-show-recent-saves = Hiển thị các lần lưu gần đây
+newtab-custom-recent-title = Hoạt động gần đây
+newtab-custom-recent-subtitle = Tuyển chọn các trang và nội dung gần đây
+newtab-custom-recent-toggle =
+ .label = Hoạt động gần đây
+ .description = Tuyển chọn các trang và nội dung gần đây
+newtab-custom-close-button = Đóng
+newtab-custom-settings = Quản lý các cài đặt khác
diff --git a/l10n-vi/browser/browser/newtab/onboarding.ftl b/l10n-vi/browser/browser/newtab/onboarding.ftl
new file mode 100644
index 0000000000..343c52cc70
--- /dev/null
+++ b/l10n-vi/browser/browser/newtab/onboarding.ftl
@@ -0,0 +1,364 @@
+# 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/.
+
+
+### UI strings for the MR1 onboarding / multistage about:welcome
+### Various strings use a non-breaking space to avoid a single dangling /
+### widowed word, so test on various window sizes if you also want this.
+
+
+## Welcome page strings
+
+onboarding-welcome-header = Chào mừng đến với { -brand-short-name }
+onboarding-start-browsing-button-label = Bắt đầu duyệt web
+onboarding-not-now-button-label = Không phải bây giờ
+mr1-onboarding-get-started-primary-button-label = Bắt đầu
+
+## Custom Return To AMO onboarding strings
+
+return-to-amo-subtitle = Thật tuyệt, bạn đã có { -brand-short-name }
+# <img data-l10n-name="icon"/> will be replaced with the icon belonging to the extension
+#
+# Variables:
+# $addon-name (String) - Name of the add-on
+return-to-amo-addon-title = Bây giờ, bạn có thể cài đặt <img data-l10n-name="icon"/> <b>{ $addon-name }</b>.
+return-to-amo-add-extension-label = Thêm tiện ích mở rộng
+return-to-amo-add-theme-label = Thêm chủ đề
+
+## Variables: $addon-name (String) - Name of the add-on to be installed
+
+mr1-return-to-amo-subtitle = Gặp gỡ với { -brand-short-name }
+mr1-return-to-amo-addon-title = Bạn đã có một trình duyệt nhanh, riêng tư trong tầm tay. Giờ đây, bạn có thể thêm <b>{ $addon-name }</b> và thậm chí còn làm được nhiều hơn thế với { -brand-short-name }
+mr1-return-to-amo-add-extension-label = Thêm { $addon-name }
+
+## Multistage onboarding strings (about:welcome pages)
+
+
+# Aria-label to make the "steps" of multistage onboarding visible to screen readers.
+# Variables:
+# $current (Int) - Number of the current page
+# $total (Int) - Total number of pages
+
+onboarding-welcome-steps-indicator-label =
+ .aria-label = Tiến trình: bước { $current }/{ $total }
+# This button will open system settings to turn on prefers-reduced-motion
+mr1-onboarding-reduce-motion-button-label = Tắt hoạt ảnh
+# String for the Firefox Accounts button
+mr1-onboarding-sign-in-button-label = Đăng nhập
+# The primary import button label will depend on whether we can detect which browser was used to download Firefox.
+# Variables:
+# $previous (Str) - Previous browser name, such as Edge, Chrome
+mr1-onboarding-import-primary-button-label-attribution = Nhập từ { $previous }
+mr1-onboarding-theme-header = Biến nó thành của riêng bạn
+mr1-onboarding-theme-subtitle = Cá nhân hóa { -brand-short-name } với một chủ đề.
+mr1-onboarding-theme-secondary-button-label = Không phải bây giờ
+# System theme uses operating system color settings
+mr1-onboarding-theme-label-system = Chủ đề hệ thống
+mr1-onboarding-theme-label-light = Sáng
+mr1-onboarding-theme-label-dark = Tối
+# "Alpenglow" here is the name of the theme, and should be kept in English.
+mr1-onboarding-theme-label-alpenglow = Alpenglow
+onboarding-theme-primary-button-label = Xong
+
+## Please make sure to split the content of the title attribute into lines whose
+## width corresponds to about 40 Latin characters, to ensure that the tooltip
+## doesn't become too long. Line breaks will be preserved when displaying the
+## tooltip.
+
+# Tooltip displayed on hover of system theme
+mr1-onboarding-theme-tooltip-system =
+ .title =
+ Áp dụng theo chủ đề hệ điều hành
+ cho các nút, menu và cửa sổ.
+# Input description for system theme
+mr1-onboarding-theme-description-system =
+ .aria-description =
+ Áp dụng theo chủ đề hệ điều hành
+ cho các nút, menu và cửa sổ.
+# Tooltip displayed on hover of light theme
+mr1-onboarding-theme-tooltip-light =
+ .title =
+ Áp dụng chủ đề sáng
+ cho các nút, menu và cửa sổ.
+# Input description for light theme
+mr1-onboarding-theme-description-light =
+ .aria-description =
+ Áp dụng chủ đề sáng
+ cho các nút, menu và cửa sổ.
+# Tooltip displayed on hover of dark theme
+mr1-onboarding-theme-tooltip-dark =
+ .title =
+ Áp dụng chủ đề tối
+ cho các nút, menu và cửa sổ.
+# Input description for dark theme
+mr1-onboarding-theme-description-dark =
+ .aria-description =
+ Áp dụng chủ đề tối
+ cho các nút, menu và cửa sổ.
+# Tooltip displayed on hover of Alpenglow theme
+mr1-onboarding-theme-tooltip-alpenglow =
+ .title =
+ Sử dụng giao diện động, đầy màu sắc
+ cho các nút, menu và cửa sổ
+# Input description for Alpenglow theme
+mr1-onboarding-theme-description-alpenglow =
+ .aria-description =
+ Sử dụng giao diện động, đầy màu sắc
+ cho các nút, menu và cửa sổ
+# Selector description for default themes
+mr2-onboarding-default-theme-label = Khám phá các chủ đề mặc định.
+
+## Strings for Thank You page
+
+mr2-onboarding-thank-you-header = Cảm ơn bạn đã chọn chúng tôi
+mr2-onboarding-thank-you-text = { -brand-short-name } là một trình duyệt độc lập được hỗ trợ bởi một tổ chức phi lợi nhuận. Cùng nhau, chúng ta đang làm cho web an toàn hơn, lành mạnh hơn và riêng tư hơn.
+mr2-onboarding-start-browsing-button-label = Bắt đầu duyệt web
+
+## Multistage live language reloading onboarding strings (about:welcome pages)
+##
+## The following language names are generated by the browser's Intl.DisplayNames API.
+##
+## Variables:
+## $negotiatedLanguage (String) - The name of the langpack's language, e.g. "Español (ES)"
+## $systemLanguage (String) - The name of the system language, e.g "Español (ES)"
+## $appLanguage (String) - The name of the language shipping in the browser build, e.g. "English (EN)"
+
+onboarding-live-language-header = Chọn ngôn ngữ của bạn
+mr2022-onboarding-live-language-text = { -brand-short-name } hỗ trợ ngôn ngữ của bạn
+mr2022-language-mismatch-subtitle = Cảm ơn cộng đồng của chúng tôi, { -brand-short-name } được dịch sang hơn 90 ngôn ngữ. Có vẻ như hệ thống của bạn đang sử dụng { $systemLanguage } và { -brand-short-name } đang sử dụng { $appLanguage }.
+onboarding-live-language-button-label-downloading = Đang tải xuống gói ngôn ngữ cho { $negotiatedLanguage }…
+onboarding-live-language-waiting-button = Nhận các ngôn ngữ khả dụng…
+onboarding-live-language-installing = Đang cài đặt gói ngôn ngữ cho { $negotiatedLanguage }…
+mr2022-onboarding-live-language-switch-to = Chuyển sang { $negotiatedLanguage }
+mr2022-onboarding-live-language-continue-in = Tiếp tục với ngôn ngữ { $appLanguage }
+onboarding-live-language-secondary-cancel-download = Hủy bỏ
+onboarding-live-language-skip-button-label = Bỏ qua
+
+## Firefox 100 Thank You screens
+
+# "Hero Text" displayed on left side of welcome screen. This text can be
+# formatted to span multiple lines as needed. The <span data-l10n-name="zap">
+# </span> in this string allows a "zap" underline style to be automatically
+# added to the text inside it. "Yous" should stay inside the zap span, but
+# "Thank" can be put inside instead if there's no "you" in the translation.
+# The English text would normally be "100 Thank-Yous" i.e., plural noun, but for
+# aesthetics of splitting it across multiple lines, the hyphen is omitted.
+fx100-thank-you-hero-text =
+ 100
+ Cảm ơn <span data-l10n-name="zap">bạn</span>
+fx100-thank-you-subtitle = Đây là bản phát hành thứ 100 của chúng tôi! Cảm ơn bạn đã giúp chúng tôi xây dựng một Internet tốt hơn, lành mạnh hơn.
+fx100-thank-you-pin-primary-button-label =
+ { PLATFORM() ->
+ [macos] Giữ { -brand-short-name } trên thanh dock
+ *[other] Ghim { -brand-short-name } vào thanh tác vụ
+ }
+fx100-upgrade-thanks-header = 100 lần cảm ơn bạn
+# Message shown with a start-browsing button. Emphasis <em> should be for "you"
+# but "Thank" can be used instead if there's no "you" in the translation.
+fx100-upgrade-thank-you-body = Đây là bản phát hành thứ 100 của chúng tôi về { -brand-short-name }. Cảm ơn <em>bạn</em> đã giúp chúng tôi xây dựng một Internet tốt hơn, lành mạnh hơn.
+# Message shown with either a pin-to-taskbar or set-default button.
+fx100-upgrade-thanks-keep-body = Đây là bản phát hành thứ 100 của chúng tôi! Cảm ơn vì đã trở thành một phần của cộng đồng của chúng tôi. Giữ { -brand-short-name } một cú nhấp chuột cho lần tiếp theo thứ 100.
+mr2022-onboarding-secondary-skip-button-label = Bỏ qua bước này
+
+## MR2022 New User Easy Setup screen strings
+
+# Primary button string used on new user onboarding first screen showing multiple actions such as Set Default, Import from previous browser.
+mr2022-onboarding-easy-setup-primary-button-label = Lưu và tiếp tục
+# Set Default action checkbox label used on new user onboarding first screen
+mr2022-onboarding-easy-setup-set-default-checkbox-label = Đặt { -brand-short-name } làm trình duyệt mặc định
+# Import action checkbox label used on new user onboarding first screen
+mr2022-onboarding-easy-setup-import-checkbox-label = Nhập từ trình duyệt trước
+
+## MR2022 New User Pin Firefox screen strings
+
+# Title used on about:welcome for new users when Firefox is not pinned.
+# In this context, open up is synonymous with "Discover".
+# The metaphor is that when they open their Firefox browser, it helps them discover an amazing internet.
+# If this translation does not make sense in your language, feel free to use the word "discover."
+mr2022-onboarding-welcome-pin-header = Mở ra một mạng internet tuyệt vời
+# Subtitle is used on onboarding page for new users page when Firefox is not pinned
+mr2022-onboarding-welcome-pin-subtitle = Khởi chạy { -brand-short-name } từ bất kỳ đâu chỉ với một cú nhấp chuột. Mỗi lần như vậy, bạn đang chọn một trang web độc lập và cởi mở hơn.
+# Primary button string used on welcome page for when Firefox is not pinned.
+mr2022-onboarding-pin-primary-button-label =
+ { PLATFORM() ->
+ [macos] Giữ { -brand-short-name } trên thanh dock
+ *[other] Ghim { -brand-short-name } vào thanh tác vụ
+ }
+# Subtitle will be used when user already has Firefox pinned, but
+# has not set it as their default browser.
+# When translating "zip", please feel free to pick a verb that signifies movement and/or exploration
+# and makes sense in the context of navigating the web.
+mr2022-onboarding-set-default-only-subtitle = Bắt đầu với một trình duyệt được hỗ trợ bởi một tổ chức phi lợi nhuận. Chúng tôi bảo vệ quyền riêng tư của bạn trong khi bạn duyệt web.
+
+## MR2022 Existing User Pin Firefox Screen Strings
+
+# Title used on multistage onboarding page for existing users when Firefox is not pinned
+mr2022-onboarding-existing-pin-header = Cảm ơn bạn đã yêu thích { -brand-product-name }
+# Subtitle is used on onboarding page for existing users when Firefox is not pinned
+mr2022-onboarding-existing-pin-subtitle = Khởi động một mạng internet lành mạnh hơn từ mọi nơi chỉ với một cú nhấp chuột. Bản cập nhật mới nhất của chúng tôi chứa đựng những điều mới mà chúng tôi nghĩ rằng bạn sẽ yêu thích.
+# Subtitle will be used on the welcome screen for existing users
+# when they already have Firefox pinned but not set as default
+mr2022-onboarding-existing-set-default-only-subtitle = Sử dụng trình duyệt bảo vệ quyền riêng tư của bạn khi bạn lướt web. Bản cập nhật mới nhất của chúng tôi chứa đầy những thứ mà bạn yêu thích.
+mr2022-onboarding-existing-pin-checkbox-label = Đồng thời thêm { -brand-short-name } duyệt web riêng tư
+
+## MR2022 New User Set Default screen strings
+
+# This string is the title used when the user already has pinned the browser, but has not set default.
+mr2022-onboarding-set-default-title = Đặt { -brand-short-name } làm trình duyệt truy cập của bạn
+mr2022-onboarding-set-default-primary-button-label = Đặt { -brand-short-name } làm trình duyệt mặc định
+# When translating "zip", please feel free to pick a verb that signifies movement and/or exploration
+# and makes sense in the context of navigating the web.
+mr2022-onboarding-set-default-subtitle = Sử dụng trình duyệt được hỗ trợ bởi tổ chức phi lợi nhuận. Chúng tôi bảo vệ quyền riêng tư của bạn trong khi bạn duyệt web.
+
+## MR2022 Get Started screen strings.
+## These strings will be used on the welcome page
+## when Firefox is already set to default and pinned.
+
+# When translating "zip", please feel free to pick a verb that signifies movement and/or exploration
+# and makes sense in the context of navigating the web.
+mr2022-onboarding-get-started-primary-subtitle = Phiên bản mới nhất của chúng tôi được xây dựng xung quanh bạn, giúp bạn truy cập trên web dễ dàng hơn bao giờ hết. Nó được đóng gói với các tính năng mà chúng tôi nghĩ rằng bạn sẽ yêu thích.
+mr2022-onboarding-get-started-primary-button-label = Thiết lập trong vài giây
+
+## MR2022 Import Settings screen strings
+
+mr2022-onboarding-import-header = Thiết lập nhanh như chớp
+mr2022-onboarding-import-subtitle = Thiết lập { -brand-short-name } theo cách bạn thích. Thêm dấu trang, mật khẩu và hơn thế nữa từ trình duyệt cũ của bạn.
+mr2022-onboarding-import-primary-button-label-no-attribution = Nhập từ trình duyệt trước
+
+## If your language uses grammatical genders, in the description for the
+## colorway feel free to switch from "You are a X. You…" (e.g. "You are a
+## Playmaker. You create…") to "X: you…" ("Playmaker: You create…"). This might
+## help creating a more inclusive translation.
+
+mr2022-onboarding-colorway-title = Chọn màu sắc truyền cảm hứng cho bạn
+mr2022-onboarding-colorway-subtitle = Tiếng nói độc lập có thể thay đổi văn hóa.
+mr2022-onboarding-colorway-primary-button-label-continue = Đặt và tiếp tục
+mr2022-onboarding-existing-colorway-checkbox-label = Đặt { -firefox-home-brand-name } làm trang chủ đầy màu sắc của bạn
+mr2022-onboarding-colorway-label-default = Mặc định
+mr2022-onboarding-colorway-tooltip-default2 =
+ .title = Màu hiện tại của { -brand-short-name }
+mr2022-onboarding-colorway-description-default = <b>Sử dụng màu { -brand-short-name } hiện tại của tôi.</b>
+mr2022-onboarding-colorway-label-playmaker = Người kiến tạo lối chơi
+mr2022-onboarding-colorway-tooltip-playmaker2 =
+ .title = Người kiến tạo lối chơi (đỏ)
+mr2022-onboarding-colorway-description-playmaker = <b>Bạn là người kiến tạo lối chơi.</b> Bạn tạo cơ hội để giành chiến thắng và giúp mọi người xung quanh nâng tầm trò chơi của họ.
+mr2022-onboarding-colorway-label-expressionist = Trường phái biểu hiện
+mr2022-onboarding-colorway-tooltip-expressionist2 =
+ .title = Trường phái biểu hiện (vàng)
+mr2022-onboarding-colorway-description-expressionist = <b>Bạn là người theo chủ nghĩa biểu hiện.</b> Bạn nhìn thế giới một cách khác biệt và những sáng tạo của bạn khuấy động cảm xúc của người khác.
+mr2022-onboarding-colorway-label-visionary = Nhìn xa trông rộng
+mr2022-onboarding-colorway-tooltip-visionary2 =
+ .title = Nhìn xa trông rộng (xanh lá)
+mr2022-onboarding-colorway-description-visionary = <b>Bạn là một người có tầm nhìn xa.</b> Bạn đặt câu hỏi về hiện trạng và khiến người khác phải tưởng tượng về một tương lai tốt đẹp hơn.
+mr2022-onboarding-colorway-label-activist = Nhà hoạt động
+mr2022-onboarding-colorway-tooltip-activist2 =
+ .title = Nhà hoạt động (xanh nước biển)
+mr2022-onboarding-colorway-description-activist = <b>Bạn là một nhà hoạt động.</b> Bạn để lại cho thế giới một nơi tốt đẹp hơn những gì bạn đã tìm thấy và khiến người khác tin tưởng.
+mr2022-onboarding-colorway-label-dreamer = Người mơ mộng
+mr2022-onboarding-colorway-tooltip-dreamer2 =
+ .title = Người mơ mộng (tím)
+mr2022-onboarding-colorway-description-dreamer = <b>Bạn là một người mơ mộng.</b> Bạn tin rằng vận may ủng hộ những người mạnh dạn và truyền cảm hứng cho những người khác dũng cảm.
+mr2022-onboarding-colorway-label-innovator = Người đổi mới
+mr2022-onboarding-colorway-tooltip-innovator2 =
+ .title = Người đổi mới (cam)
+mr2022-onboarding-colorway-description-innovator = <b>Bạn là một người đổi mới.</b> Bạn nhìn thấy cơ hội ở khắp mọi nơi và tạo ra ảnh hưởng đến cuộc sống của mọi người xung quanh bạn.
+
+## MR2022 Multistage Mobile Download screen strings
+
+mr2022-onboarding-mobile-download-title = Chuyển từ máy tính xách tay sang điện thoại và quay lại một lần nữa
+mr2022-onboarding-mobile-download-subtitle = Lấy các thẻ từ một thiết bị và tiếp tục nơi bạn đã dừng lại trên một thiết bị khác. Ngoài ra, hãy đồng bộ hóa dấu trang và mật khẩu của bạn ở bất kỳ đâu bạn sử dụng { -brand-product-name }.
+mr2022-onboarding-mobile-download-cta-text = Quét mã QR để lấy liên kết tải xuống { -brand-product-name } dành cho di động hoặc <a data-l10n-name="download-label">gửi liên kết cho chính bạn.</a>
+mr2022-onboarding-no-mobile-download-cta-text = Quét mã QR để tải xuống { -brand-product-name } dành cho di động.
+
+## MR2022 Upgrade Dialog screens
+## Pin private window screen shown only for users who don't have Firefox private pinned
+
+mr2022-upgrade-onboarding-pin-private-window-header = Tự do duyệt web riêng tư trong một cú nhấp chuột
+mr2022-upgrade-onboarding-pin-private-window-subtitle = Không có cookie hoặc lịch sử đã lưu, ngay từ màn hình của bạn. Duyệt như không có ai đang xem.
+mr2022-upgrade-onboarding-pin-private-window-primary-button-label =
+ { PLATFORM() ->
+ [macos] Giữ { -brand-short-name } duyệt web ở chế độ riêng tư trong thanh Dock
+ *[other] Ghim { -brand-short-name } duyệt web ở chế độ riêng tư vào thanh tác vụ
+ }
+
+## MR2022 Privacy Segmentation screen strings
+
+mr2022-onboarding-privacy-segmentation-title = Chúng tôi luôn tôn trọng quyền riêng tư của bạn
+mr2022-onboarding-privacy-segmentation-subtitle = Từ các đề xuất thông minh đến tìm kiếm thông minh hơn, chúng tôi không ngừng nỗ lực để tạo ra { -brand-product-name } tốt hơn, cá nhân hóa hơn.
+mr2022-onboarding-privacy-segmentation-text-cta = Bạn muốn thấy gì khi chúng tôi cung cấp các tính năng mới sử dụng dữ liệu của bạn để nâng cao khả năng duyệt web của bạn?
+mr2022-onboarding-privacy-segmentation-button-primary-label = Sử dụng các đề xuất của { -brand-product-name }
+mr2022-onboarding-privacy-segmentation-button-secondary-label = Hiển thị thông tin chi tiết
+
+## MR2022 Multistage Gratitude screen strings
+
+mr2022-onboarding-gratitude-title = Bạn đang giúp chúng tôi xây dựng một trang web tốt hơn
+mr2022-onboarding-gratitude-subtitle = Cảm ơn bạn đã sử dụng { -brand-short-name }, được hỗ trợ bởi Mozilla Foundation. Với sự hỗ trợ của bạn, chúng tôi đang nỗ lực để làm cho Internet trở nên cởi mở hơn, dễ tiếp cận hơn và tốt hơn cho mọi người.
+mr2022-onboarding-gratitude-primary-button-label = Xem có gì mới
+mr2022-onboarding-gratitude-secondary-button-label = Bắt đầu duyệt web
+
+## Onboarding spotlight for infrequent users
+
+onboarding-infrequent-import-title = Tự nhiên như ở nhà
+onboarding-infrequent-import-subtitle = Cho dù bạn đang giải quyết hay chỉ ghé qua, hãy nhớ rằng bạn có thể nhập dấu trang, mật khẩu của mình và hơn thế nữa.
+onboarding-infrequent-import-primary-button = Nhập vào { -brand-short-name }
+
+## MR2022 Illustration alt tags
+## Descriptive tags for illustrations used by screen readers and other assistive tech
+
+mr2022-onboarding-pin-image-alt =
+ .aria-label = Người đang làm việc trên máy tính xách tay được bao quanh bởi các ngôi sao và hoa
+mr2022-onboarding-default-image-alt =
+ .aria-label = Người ôm logo { -brand-product-name }
+mr2022-onboarding-import-image-alt =
+ .aria-label = Người cưỡi ván trượt với một hộp biểu tượng phần mềm
+mr2022-onboarding-mobile-download-image-alt =
+ .aria-label = Ếch nhảy qua tấm lót lily với mã QR để tải xuống { -brand-product-name } cho thiết bị di động ở giữa
+mr2022-onboarding-pin-private-image-alt =
+ .aria-label = Cây đũa thần làm cho biểu trưng duyệt web riêng tư của { -brand-product-name } xuất hiện trên một chiếc mũ
+mr2022-onboarding-privacy-segmentation-image-alt =
+ .aria-label = Tay da sáng và da ngăm đen cao năm
+mr2022-onboarding-gratitude-image-alt =
+ .aria-label = Cảnh hoàng hôn qua cửa sổ với một con cáo và cây nhà trên bệ cửa sổ
+mr2022-onboarding-colorways-image-alt =
+ .aria-label = Bình xịt tay vẽ một bức tranh cắt dán đầy màu sắc của mắt xanh lá cây, giày màu cam, quả bóng rổ màu đỏ, tai nghe màu tím, trái tim màu xanh lam và vương miện màu vàng
+
+## Device migration onboarding
+
+onboarding-device-migration-image-alt =
+ .aria-label = Một con cáo trên màn hình máy tính xách tay đang vẫy tay. Máy tính xách tay có một thiết bị chuột cắm vào nó.
+onboarding-device-migration-title = Chào mừng trở lại!
+onboarding-device-migration-subtitle = Đăng nhập vào { -fxaccount-brand-name(capitalization: "sentence") } của bạn để mang theo dấu trang, mật khẩu và lịch sử của bạn trên thiết bị mới.
+onboarding-device-migration-subtitle2 = Đăng nhập vào tài khoản của bạn để mang theo dấu trang, mật khẩu và lịch sử trên thiết bị mới của bạn.
+onboarding-device-migration-primary-button-label = Đăng nhập
+
+## The following screens have been updated to use security and privacy focused strings:
+
+# Easy setup screen
+onboarding-easy-setup-security-and-privacy-title = Chúng tôi thích việc giữ an toàn cho bạn
+onboarding-easy-setup-security-and-privacy-subtitle = Trình duyệt được hỗ trợ phi lợi nhuận của chúng tôi giúp ngăn các công ty bí mật theo dõi bạn trên web.
+# Mobile download screen
+onboarding-mobile-download-security-and-privacy-title = Luôn được mã hóa khi bạn chuyển đổi giữa các thiết bị
+onboarding-mobile-download-security-and-privacy-subtitle = Khi bạn đồng bộ hóa, { -brand-short-name } sẽ mã hóa mật khẩu, dấu trang, v.v. Ngoài ra, bạn có thể lấy các thẻ từ các thiết bị khác của mình.
+# Gratitude screen
+onboarding-gratitude-security-and-privacy-title = { -brand-short-name } luôn ủng hộ bạn
+onboarding-gratitude-security-and-privacy-subtitle = Cảm ơn bạn đã sử dụng { -brand-short-name }, được hỗ trợ bởi Mozilla Foundation. Với sự hỗ trợ của bạn, chúng tôi đang nỗ lực làm cho Internet an toàn hơn và dễ truy cập hơn cho mọi người.
+
+## New user time and familiarity survey strings
+
+onboarding-new-user-time-based-survey-title = Bạn đã sử dụng { -brand-short-name } được bao lâu rồi?
+onboarding-new-user-familiarity-based-survey-title = Bạn quen thuộc với { -brand-short-name } đến mức nào?
+onboarding-new-user-survey-subtitle = Phản hồi của bạn giúp { -brand-short-name } trở nên tốt hơn nữa.
+# When translating "next" it means the next screen in onboarding.
+onboarding-new-user-survey-next-button-label = Tiếp theo
+onboarding-new-user-survey-legal-link-label = Bằng cách chọn “{ onboarding-new-user-survey-next-button-label },” bạn đã đồng ý với <a data-l10n-name="privacy_notice">thông báo về quyền riêng tư</a> của { -brand-product-name }
+# When translating "brand new" it means completely new.
+onboarding-new-user-survey-time-based-option-1 = Tôi là người mới
+onboarding-new-user-survey-time-based-option-2 = Ít hơn 1 tháng
+onboarding-new-user-survey-time-based-option-3 = Hơn 1 tháng, thường xuyên
+onboarding-new-user-survey-time-based-option-4 = Hơn 1 tháng, thỉnh thoảng
+# When translating "brand new" it means completely new.
+onboarding-new-user-survey-familiarity-based-option-1 = Tôi là người mới
+onboarding-new-user-survey-familiarity-based-option-2 = Tôi đã sử dụng nó nhiều lúc
+onboarding-new-user-survey-familiarity-based-option-3 = Tôi rất quen thuộc với nó
+onboarding-new-user-survey-familiarity-based-option-4 = Tôi có dùng nó trước đây, nhưng đã rất lâu rồi
diff --git a/l10n-vi/browser/browser/originControls.ftl b/l10n-vi/browser/browser/originControls.ftl
new file mode 100644
index 0000000000..a8d283e874
--- /dev/null
+++ b/l10n-vi/browser/browser/originControls.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/.
+
+
+## These strings appear in Origin Controls for Extensions. Currently,
+## they are visible in the context menu for extension toolbar buttons,
+## and are used to inform the user how the extension can access their
+## data for the current website, and allow them to control it.
+
+origin-controls-no-access =
+ .label = Tiện ích mở rộng không thể đọc và thay đổi dữ liệu
+origin-controls-quarantined =
+ .label = Tiện ích không được phép đọc và thay đổi dữ liệu
+origin-controls-quarantined-status =
+ .label = Tiện ích mở rộng không được phép trên trang bị hạn chế
+origin-controls-quarantined-allow =
+ .label = Cho phép trên trang bị hạn chế
+origin-controls-options =
+ .label = Tiện ích mở rộng có thể đọc và thay đổi dữ liệu:
+origin-controls-option-all-domains =
+ .label = Trên tất cả các trang web
+origin-controls-option-when-clicked =
+ .label = Chỉ khi được nhấp
+# This string denotes an option that grants the extension access to
+# the current site whenever they visit it.
+# Variables:
+# $domain (String) - The domain for which the access is granted.
+origin-controls-option-always-on =
+ .label = Luôn cho phép trên { $domain }
+
+## These strings are used to map Origin Controls states to user-friendly
+## messages. They currently appear in the unified extensions panel.
+
+origin-controls-state-no-access = Không thể đọc và thay đổi dữ liệu trên trang này
+origin-controls-state-quarantined = Không được phép bởi { -vendor-short-name } trên trang này
+origin-controls-state-always-on = Luôn luôn đọc và thay đổi dữ liệu trên trang này
+origin-controls-state-when-clicked = Cần quyền để đọc và thay đổi dữ liệu
+origin-controls-state-hover-run-visit-only = Chỉ chạy cho lần truy cập này
+origin-controls-state-runnable-hover-open = Mở tiện ích
+origin-controls-state-runnable-hover-run = Chạy tiện ích
+origin-controls-state-temporary-access = Có thể đọc và thay đổi dữ liệu trên trang này
+
+## Extension's toolbar button.
+## Variables:
+## $extensionTitle (String) - Extension name or title message.
+
+origin-controls-toolbar-button =
+ .label = { $extensionTitle }
+ .tooltiptext = { $extensionTitle }
+# Extension's toolbar button when permission is needed.
+# Note that the new line is intentionally part of the tooltip.
+origin-controls-toolbar-button-permission-needed =
+ .label = { $extensionTitle }
+ .tooltiptext =
+ { $extensionTitle }
+ Cần yêu cầu quyền hạn
+# Extension's toolbar button when quarantined.
+# Note that the new line is intentionally part of the tooltip.
+origin-controls-toolbar-button-quarantined =
+ .label = { $extensionTitle }
+ .tooltiptext =
+ { $extensionTitle }
+ Không được phép bởi { -vendor-short-name } trên trang này
diff --git a/l10n-vi/browser/browser/pageInfo.ftl b/l10n-vi/browser/browser/pageInfo.ftl
new file mode 100644
index 0000000000..e1c7249055
--- /dev/null
+++ b/l10n-vi/browser/browser/pageInfo.ftl
@@ -0,0 +1,260 @@
+# 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-info-window =
+ .style = width: 600px; min-height: 550px;
+
+copy =
+ .key = C
+menu-copy =
+ .label = Sao chép
+ .accesskey = C
+
+select-all =
+ .key = A
+menu-select-all =
+ .label = Chọn tất cả
+ .accesskey = B
+
+close-dialog =
+ .key = w
+
+general-tab =
+ .label = Tổng quát
+ .accesskey = T
+general-title =
+ .value = Tiêu đề:
+general-url =
+ .value = Địa chỉ:
+general-type =
+ .value = Kiểu:
+general-mode =
+ .value = Chế độ xử lí:
+general-size =
+ .value = Kích thước:
+general-referrer =
+ .value = URL liên quan:
+general-modified =
+ .value = Được chỉnh sửa:
+general-encoding =
+ .value = Mã hóa văn bản:
+general-meta-name =
+ .label = Tên
+general-meta-content =
+ .label = Nội dung
+
+media-tab =
+ .label = Đa phương tiện
+ .accesskey = a
+media-location =
+ .value = Địa chỉ:
+media-text =
+ .value = Văn bản đi kèm:
+media-alt-header =
+ .label = Văn bản Thay thế
+media-address =
+ .label = Địa chỉ
+media-type =
+ .label = Kiểu
+media-size =
+ .label = Kích thước
+media-count =
+ .label = Tổng số
+media-dimension =
+ .value = Kích cỡ:
+media-long-desc =
+ .value = Mô tả Đầy đủ:
+media-select-all =
+ .label = Chọn tất cả
+ .accesskey = e
+media-save-as =
+ .label = Lưu thành…
+ .accesskey = L
+media-save-image-as =
+ .label = Lưu thành…
+ .accesskey = h
+
+perm-tab =
+ .label = Quyền hạn
+ .accesskey = Q
+permissions-for =
+ .value = Quyền hạn cho:
+
+security-tab =
+ .label = Bảo mật
+ .accesskey = B
+security-view =
+ .label = Xem chứng nhận
+ .accesskey = C
+security-view-unknown = Không rõ
+ .value = Không rõ
+security-view-identity =
+ .value = Nhận dạng trang web
+security-view-identity-owner =
+ .value = Chủ sở hữu:
+security-view-identity-domain =
+ .value = Trang web:
+security-view-identity-verifier =
+ .value = Xác minh bởi:
+security-view-identity-validity =
+ .value = Hết hạn vào:
+security-view-privacy =
+ .value = Riêng tư & lịch sử
+
+security-view-privacy-history-value = Tôi đã từng truy cập trang web này trước ngày hôm nay chưa?
+security-view-privacy-sitedata-value = Trang web này lưu trữ thông tin trên máy tính của tôi hay không?
+
+security-view-privacy-clearsitedata =
+ .label = Xóa cookie và dữ liệu trang web
+ .accesskey = C
+
+security-view-privacy-passwords-value = Tôi có lưu mật khẩu nào trên trang web này không?
+
+security-view-privacy-viewpasswords =
+ .label = Xem các mật khẩu đã lưu
+ .accesskey = M
+security-view-technical =
+ .value = Chi tiết kĩ thuật
+
+help-button =
+ .label = Trợ giúp
+
+## These strings are used to tell the user if the website is storing cookies
+## and data on the users computer in the security tab of pageInfo
+## Variables:
+## $value (number) - Amount of data being stored
+## $unit (string) - The unit of data being stored (Usually KB)
+
+security-site-data-cookies = Có, cookie và { $value } { $unit } dữ liệu trang web
+security-site-data-only = Có, { $value } { $unit } dữ liệu trang web
+
+security-site-data-cookies-only = Có, cookie
+security-site-data-no = Không
+
+##
+
+image-size-unknown = Không rõ
+page-info-not-specified =
+ .value = Không được chỉ định
+not-set-alternative-text = Không được chỉ định
+not-set-date = Không được chỉ định
+media-img = Hình
+media-bg-img = Nền
+media-border-img = Viền
+media-list-img = Dấu tròn đầu dòng
+media-cursor = Con trỏ
+media-object = Đối tượng
+media-embed = Được nhúng
+media-link = Biểu tượng
+media-input = Nhập vào
+media-video = Đoạn phim
+media-audio = Âm thanh
+saved-passwords-yes = Có
+saved-passwords-no = Không
+
+no-page-title =
+ .value = Trang không có tiêu đề:
+general-quirks-mode =
+ .value = Chế độ Quirks
+general-strict-mode =
+ .value = Chế độ chuẩn
+page-info-security-no-owner =
+ .value = Trang web này không cung cấp thông tin về người sở hữu.
+media-select-folder = Chọn một thư mục để lưu hình ảnh
+media-unknown-not-cached =
+ .value = Không rõ (không được đệm)
+permissions-use-default =
+ .label = Sử dụng mặc định
+security-no-visits = Không
+
+# This string is used to display the number of meta tags
+# in the General Tab
+# Variables:
+# $tags (number) - The number of meta tags
+general-meta-tags =
+ .value =
+ { $tags ->
+ *[other] Meta ({ $tags } thẻ)
+ }
+
+# This string is used to display the number of times
+# the user has visited the website prior
+# Variables:
+# $visits (number) - The number of previous visits
+security-visits-number =
+ { $visits ->
+ [0] Không
+ *[other] Có, { $visits } lần
+ }
+
+# This string is used to display the size of a media file
+# Variables:
+# $kb (number) - The size of an image in Kilobytes
+# $bytes (number) - The size of an image in Bytes
+properties-general-size =
+ .value =
+ { $bytes ->
+ *[other] { $kb } KB ({ $bytes } byte)
+ }
+
+# This string is used to display the type and number
+# of frames of a animated image
+# Variables:
+# $type (string) - The type of a animated image
+# $frames (number) - The number of frames in an animated image
+media-animated-image-type =
+ .value =
+ { $frames ->
+ *[other] { $type } hình ảnh (hoạt hình, { $frames } khung)
+ }
+
+# This string is used to display the type of
+# an image
+# Variables:
+# $type (string) - The type of an image
+media-image-type =
+ .value = { $type } Ảnh
+
+# This string is used to display the size of a scaled image
+# in both scaled and unscaled pixels
+# Variables:
+# $dimx (number) - The horizontal size of an image
+# $dimy (number) - The vertical size of an image
+# $scaledx (number) - The scaled horizontal size of an image
+# $scaledy (number) - The scaled vertical size of an image
+media-dimensions-scaled =
+ .value = { $dimx }px × { $dimy }px (chỉnh tỉ lệ thành { $scaledx }px × { $scaledy }px)
+
+# This string is used to display the size of an image in pixels
+# Variables:
+# $dimx (number) - The horizontal size of an image
+# $dimy (number) - The vertical size of an image
+media-dimensions =
+ .value = { $dimx }px x { $dimy }px
+
+# This string is used to display the size of a media
+# file in kilobytes
+# Variables:
+# $size (number) - The size of the media file in kilobytes
+media-file-size = { $size } KB
+
+## Variables:
+## $website (string) — The url of the website pageInfo is getting info for
+
+# This string is used to display the website name next to the
+# "Block Images" checkbox in the media tab
+# Variables:
+# $website (string) - The website name
+media-block-image =
+ .label = Chặn ảnh từ { $website }
+ .accesskey = C
+
+# This string is used to display the URL of the website on top of the
+# pageInfo dialog box
+# Variables:
+# $website (string) — The url of the website pageInfo is getting info for
+page-info-page =
+ .title = Thông tin trang - { $website }
+page-info-frame =
+ .title = Thông tin Khung - { $website }
diff --git a/l10n-vi/browser/browser/panelUI.ftl b/l10n-vi/browser/browser/panelUI.ftl
new file mode 100644
index 0000000000..310fa38514
--- /dev/null
+++ b/l10n-vi/browser/browser/panelUI.ftl
@@ -0,0 +1,25 @@
+# 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/.
+
+
+## Customization Menu
+
+# The overflow menu is the menu that appears if you click the chevron (>> button) in the location bar.
+customize-menu-unpin-from-overflowmenu =
+ .label = Gỡ khỏi menu gợi ý trên thanh địa chỉ
+ .accesskey = U
+customize-menu-add-to-toolbar =
+ .label = Thêm vào thanh công cụ
+ .accesskey = A
+customize-menu-add-to-overflowmenu =
+ .label = Thêm vào menu gợi ý trên thanh địa chỉ
+ .accesskey = M
+
+## Forget Button
+
+# The forget button can be added to the toolbar or overflow menu via the cutomization menu.
+panic-button-thankyou-msg1 = Lịch sử gần đây đã bị xóa.
+panic-button-thankyou-msg2 = Duyệt web an toàn!
+panic-button-thankyou-button =
+ .label = Cảm ơn!
diff --git a/l10n-vi/browser/browser/panicButton.ftl b/l10n-vi/browser/browser/panicButton.ftl
new file mode 100644
index 0000000000..d123b59bee
--- /dev/null
+++ b/l10n-vi/browser/browser/panicButton.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/.
+
+panic-button-open-new-window = Mở một cửa sổ mới
+panic-button-undo-warning = Thao tác này không thể hoàn tác được.
+panic-button-forget-button =
+ .label = Xóa!
+
+## These strings are combined to form a complete sentence starting with
+## panic-main-timeframe-desc. For example: "Forget the last: Five minutes".
+## Please ensure that this remains the case in the translation.
+
+panic-main-timeframe-desc = Xóa dữ liệu từ thời điểm:
+panic-button-5min =
+ .label = Năm phút trước
+panic-button-2hr =
+ .label = Hai tiếng
+panic-button-day =
+ .label = 24 giờ trước
+
+## These strings are combined to form a complete sentence starting with
+## panic-button-action-desc. For example: "Proceeding will: Delete Recent Cookies".
+## Please ensure that this remains the case in the translation.
+## Note also that some strings include <strong> tags for emphasis on the
+## words "Cookies", "History", "Tabs" and "Windows". The translation should do the same.
+
+panic-button-action-desc = Nếu tiếp tục, chương trình sẽ:
+panic-button-delete-cookies = Xóa những <strong>Cookie</strong> gần đây
+panic-button-delete-history = Xóa <strong>lịch sử</strong> gần đây
+panic-button-delete-tabs-and-windows = Đóng tất cả các <strong>thẻ</strong> và <strong>cửa sổ</strong>
diff --git a/l10n-vi/browser/browser/places.ftl b/l10n-vi/browser/browser/places.ftl
new file mode 100644
index 0000000000..7b77020ccc
--- /dev/null
+++ b/l10n-vi/browser/browser/places.ftl
@@ -0,0 +1,264 @@
+# 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/.
+
+places-open =
+ .label = Mở
+ .accesskey = O
+places-open-in-tab =
+ .label = Mở trong thẻ mới
+ .accesskey = w
+places-open-in-container-tab =
+ .label = Mở liên kết trong thẻ ngăn chứa mới
+ .accesskey = i
+places-open-all-bookmarks =
+ .label = Mở tất cả các dấu trang
+ .accesskey = O
+places-open-all-in-tabs =
+ .label = Mở toàn bộ trong thẻ
+ .accesskey = O
+places-open-in-window =
+ .label = Mở trong cửa sổ mới
+ .accesskey = N
+places-open-in-private-window =
+ .label = Mở trong cửa sổ riêng tư mới
+ .accesskey = P
+places-empty-bookmarks-folder =
+ .label = (Trống)
+places-add-bookmark =
+ .label = Thêm dấu trang…
+ .accesskey = B
+places-add-folder-contextmenu =
+ .label = Thêm thư mục…
+ .accesskey = F
+places-add-folder =
+ .label = Thêm thư mục…
+ .accesskey = o
+places-add-separator =
+ .label = Thêm dấu phân tách
+ .accesskey = S
+places-view =
+ .label = Xem
+ .accesskey = w
+places-by-date =
+ .label = Theo ngày
+ .accesskey = D
+places-by-site =
+ .label = Theo trang web
+ .accesskey = S
+places-by-most-visited =
+ .label = Theo lần truy cập nhiều nhất
+ .accesskey = V
+places-by-last-visited =
+ .label = Theo lần truy cập cuối
+ .accesskey = L
+places-by-day-and-site =
+ .label = Theo ngày và trang web
+ .accesskey = t
+places-history-search =
+ .placeholder = Tìm kiếm lịch sử
+places-history =
+ .aria-label = Lịch sử
+places-bookmarks-search =
+ .placeholder = Tìm kiếm dấu trang
+places-delete-domain-data =
+ .label = Quên trang này
+ .accesskey = F
+places-forget-domain-data =
+ .label = Quên trang này…
+ .accesskey = F
+places-sortby-name =
+ .label = Sắp xếp theo tên
+ .accesskey = r
+# places-edit-bookmark and places-edit-generic will show one or the other and can have the same access key.
+places-edit-bookmark =
+ .label = Chỉnh sửa dấu trang…
+ .accesskey = i
+places-edit-generic =
+ .label = Chỉnh sửa…
+ .accesskey = i
+places-edit-folder2 =
+ .label = Chỉnh sửa thư mục…
+ .accesskey = i
+# Variables
+# $count (number) - Number of folders to delete
+places-delete-folder =
+ .label =
+ { $count ->
+ [1] Xóa thư mục
+ *[other] Xóa thư mục
+ }
+ .accesskey = D
+# Variables:
+# $count (number) - The number of pages selected for removal.
+places-delete-page =
+ .label =
+ { $count ->
+ [1] Xóa trang
+ *[other] Xóa trang
+ }
+ .accesskey = D
+# Managed bookmarks are created by an administrator and cannot be changed by the user.
+managed-bookmarks =
+ .label = Dấu trang được quản lý
+# This label is used when a managed bookmarks folder doesn't have a name.
+managed-bookmarks-subfolder =
+ .label = Thư mục con
+# This label is used for the "Other Bookmarks" folder that appears in the bookmarks toolbar.
+other-bookmarks-folder =
+ .label = Dấu trang khác
+places-show-in-folder =
+ .label = Hiển thị trong thư mục
+ .accesskey = F
+# Variables:
+# $count (number) - The number of elements being selected for removal.
+places-delete-bookmark =
+ .label =
+ { $count ->
+ [1] Xóa dấu trang
+ *[other] Xóa dấu trang
+ }
+ .accesskey = D
+# Variables:
+# $count (number) - The number of bookmarks being added.
+places-create-bookmark =
+ .label =
+ { $count ->
+ [1] Đánh dấu trang…
+ *[other] Đánh dấu các trang…
+ }
+ .accesskey = B
+places-untag-bookmark =
+ .label = Xóa thẻ
+ .accesskey = R
+places-manage-bookmarks =
+ .label = Quản lý dấu trang
+ .accesskey = M
+places-forget-about-this-site-confirmation-title = Quên trang web này
+# Variables:
+# $hostOrBaseDomain (string) - The base domain (or host in case there is no base domain) for which data is being removed
+places-forget-about-this-site-confirmation-msg = Hành động này sẽ xóa dữ liệu liên quan đến { $hostOrBaseDomain } bao gồm lịch sử, cookie, bộ nhớ đệm và tùy chỉnh nội dung. Dấu trang và mật khẩu liên quan sẽ không bị xóa. Bạn có chắc muốn tiếp tục?
+places-forget-about-this-site-forget = Quên
+places-library3 =
+ .title = Thư viện
+places-organize-button =
+ .label = Quản lí
+ .tooltiptext = Tổ chức dấu trang của bạn
+ .accesskey = Q
+places-organize-button-mac =
+ .label = Quản lí
+ .tooltiptext = Tổ chức dấu trang của bạn
+places-file-close =
+ .label = Đóng
+ .accesskey = C
+places-cmd-close =
+ .key = w
+places-view-button =
+ .label = Xem
+ .tooltiptext = Thay đổi cách nhìn của bạn
+ .accesskey = V
+places-view-button-mac =
+ .label = Xem
+ .tooltiptext = Thay đổi cách nhìn của bạn
+places-view-menu-columns =
+ .label = Hiển thị cột
+ .accesskey = C
+places-view-menu-sort =
+ .label = Sắp xếp
+ .accesskey = S
+places-view-sort-unsorted =
+ .label = Chưa sắp xếp
+ .accesskey = U
+places-view-sort-ascending =
+ .label = Sắp xếp từ A > Z
+ .accesskey = A
+places-view-sort-descending =
+ .label = Sắp xếp từ Z > A
+ .accesskey = Z
+places-maintenance-button =
+ .label = Nhập và sao lưu
+ .tooltiptext = Nhập và sao lưu dấu trang của bạn
+ .accesskey = I
+places-maintenance-button-mac =
+ .label = Nhập và sao lưu
+ .tooltiptext = Nhập và sao lưu dấu trang của bạn
+places-cmd-backup =
+ .label = Sao lưu…
+ .accesskey = B
+places-cmd-restore =
+ .label = Khôi phục
+ .accesskey = R
+places-cmd-restore-from-file =
+ .label = Chọn tập tin…
+ .accesskey = C
+places-import-bookmarks-from-html =
+ .label = Nhập dấu trang từ HTML…
+ .accesskey = I
+places-export-bookmarks-to-html =
+ .label = Xuất dấu trang sang HTML…
+ .accesskey = E
+places-import-other-browser =
+ .label = Nhập dữ liệu từ trình duyệt khác…
+ .accesskey = A
+places-view-sort-col-name =
+ .label = Tên
+places-view-sort-col-tags =
+ .label = Nhãn
+places-view-sort-col-url =
+ .label = Địa chỉ
+places-view-sort-col-most-recent-visit =
+ .label = Lần truy cập gần nhất
+places-view-sort-col-visit-count =
+ .label = Số lần xem
+places-view-sort-col-date-added =
+ .label = Ngày thêm
+places-view-sort-col-last-modified =
+ .label = Sửa đổi lần cuối
+places-view-sortby-name =
+ .label = Sắp xếp theo tên
+ .accesskey = t
+places-view-sortby-url =
+ .label = Sắp xếp theo địa chỉ
+ .accesskey = c
+places-view-sortby-date =
+ .label = Sắp xếp theo lần xem gần đây
+ .accesskey = g
+places-view-sortby-visit-count =
+ .label = Sắp xếp theo số lần xem
+ .accesskey = s
+places-view-sortby-date-added =
+ .label = Sắp xếp theo thời điểm thêm vào
+ .accesskey = t
+places-view-sortby-last-modified =
+ .label = Sắp xếp theo sửa đổi lần cuối
+ .accesskey = c
+places-view-sortby-tags =
+ .label = Sắp xếp theo nhãn
+ .accesskey = n
+places-cmd-find-key =
+ .key = f
+places-back-button =
+ .tooltiptext = Quay lại
+places-forward-button =
+ .tooltiptext = Tiến
+places-details-pane-select-an-item-description = Chọn một mục để xem và chỉnh sửa thuộc tính của nó
+places-details-pane-no-items =
+ .value = Không có mục nào
+# Variables:
+# $count (Number): number of items
+places-details-pane-items-count =
+ .value = { $count } mục
+
+## Strings used as a placeholder in the Library search field. For example,
+## "Search History" stands for "Search through the browser's history".
+
+places-search-bookmarks =
+ .placeholder = Tìm kiếm dấu trang
+places-search-history =
+ .placeholder = Tìm kiếm lịch sử
+places-search-downloads =
+ .placeholder = Tìm kiếm dữ liệu đã tải xuống
+
+##
+
+places-locked-prompt = Hệ thống các dấu trang và lịch sử sẽ không hoạt động vì một tập tin của { -brand-short-name } đang bị một ứng dụng khác sử dụng. Một phần mềm bảo mật nào đó cũng có thể gây ra vấn đề này.
diff --git a/l10n-vi/browser/browser/placesPrompts.ftl b/l10n-vi/browser/browser/placesPrompts.ftl
new file mode 100644
index 0000000000..89b22abdfe
--- /dev/null
+++ b/l10n-vi/browser/browser/placesPrompts.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/.
+
+places-error-title = { -brand-short-name }
+places-no-title = (không tiêu đề)
+
+# Do not translate `javascript:` and `data:`, they refer to the scheme used in URLs
+places-load-js-data-url-error = Vì lý do bảo mật, không thể tải các URL “javascript:” hoặc “data:” từ cửa sổ lịch sử hoặc thanh lề.
+
+places-bookmarks-backup-title = Tên tập tin sao lưu dấu trang
+places-bookmarks-restore-alert-title = Khôi phục dấu trang
+places-bookmarks-restore-alert = Việc này sẽ ghi đè tất cả các dấu trang hiện thời của bạn. Bạn có chắc không?
+places-bookmarks-restore-title = Chọn bản sao lưu chứa dấu trang
+places-bookmarks-restore-filter-name = JSON
+places-bookmarks-restore-format-error = Kiểu tập tin không hỗ trợ.
+places-bookmarks-restore-parse-error = Không thể xử lí tập tin sao lưu.
+
+places-bookmarks-import = Nhập tập tin chứa dấu trang
+places-bookmarks-export = Xuất dấu trang sang tập tin
diff --git a/l10n-vi/browser/browser/policies/policies-descriptions.ftl b/l10n-vi/browser/browser/policies/policies-descriptions.ftl
new file mode 100644
index 0000000000..a5f465e3a6
--- /dev/null
+++ b/l10n-vi/browser/browser/policies/policies-descriptions.ftl
@@ -0,0 +1,131 @@
+# 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 Firefox 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-AllowedDomainsForApps = Xác định các miền được phép truy cập Google Workspace.
+policy-AllowFileSelectionDialogs = Cho phép hộp thoại chọn tập tin.
+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 = Thiết lập URL cập nhật của ứng dụng tùy chỉnh.
+policy-Authentication = Cấu hình các phương thức xác thực tích hợp sẵn cho các trang web có hỗ trợ.
+policy-AutofillAddressEnabled = Bật tính năng tự động điền địa chỉ.
+policy-AutofillCreditCardEnabled = Bật tính năng tự động điền phương thức thanh toán.
+policy-AutoLaunchProtocolsFromOrigins = Xác định danh sách các giao thức bên ngoài có thể được sử dụng từ các origin được liệt kê mà không cần nhắc người dùng.
+policy-BackgroundAppUpdate2 = Kích hoạt hoặc vô hiệu hóa trình cập nhật 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 truy cập vào trang about:config.
+policy-BlockAboutProfiles = Chặn truy cập vào trang about:profiles.
+policy-BlockAboutSupport = Chặn truy cập vào trang about:support.
+policy-Bookmarks = Tạo dấu trang trong thanh công cụ dấu trang, menu dấu trang hoặc một thư mục xác định bên trong chúng.
+policy-CaptivePortal = Kích hoạt hoặc vô hiệu hóa hỗ trợ kiểm soát truy cập.
+policy-CertificatesDescription = Thêm chứng chỉ hoặc sử dụng chứng chỉ có sẵn.
+policy-Cookies = Cho phép hoặc từ chối các trang web lưu cookie.
+# Containers in this context is referring to container tabs in Firefox.
+policy-Containers = Đặt các chính sách liên quan đến ngăn chứa.
+policy-DisableAccounts = Vô hiệu hóa các dịch vụ dựa trên tài khoản, bao gồm cả đồng bộ hóa.
+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 = Chặn việc cập nhật trình duyệt.
+policy-DisableBuiltinPDFViewer = Vô hiệu hóa PDF.js, trình xem PDF tích hợp trong { -brand-short-name }.
+policy-DisableDefaultBrowserAgent = Ngăn chặn tác nhân người dùng trình duyệt mặc định làm bất cứ điều gì. Chỉ dành cho Windows, không có tác nhân người dùng nào khả dụng cho các nền tảng khác.
+policy-DisableDeveloperTools = Chặn truy cập đến công cụ 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-DisableFirefoxAccounts = Vô hiệu hóa { -fxaccount-brand-name } dựa trên các dịch vụ, bao gồm cả đồng bộ.
+# Firefox Screenshots is the name of the feature, and should not be translated.
+policy-DisableFirefoxScreenshots = Vô hiệu hóa tính năng Firefox Screenshots.
+policy-DisableFirefoxStudies = Chặn { -brand-short-name } chạy các nghiên cứu.
+policy-DisableForgetButton = 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-DisablePrimaryPasswordCreation = Nếu đúng, không thể tạo mật khẩu chính.
+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-DisablePocket2 = Tắt tính năng lưu trang web vào { -pocket-brand-name }.
+policy-DisablePrivateBrowsing = Vô hiệu hóa duyệt web riêng tư.
+policy-DisableProfileImport = Vô hiệu hóa lệnh nhập dữ liệu từ trình duyệt khác trên bảng chọn.
+policy-DisableProfileRefresh = Vô hiệu hóa nút khôi phục { -brand-short-name } trong trang about:support.
+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 người dùng bỏ qua một số cảnh báo bảo mật nhất định.
+policy-DisableSetAsDesktopBackground = Vô hiệu hóa lệnh đặt làm hình nền desktop trong menu.
+policy-DisableSystemAddonUpdate = Ngăn trình duyệt cài đặt và cập nhật tiện ích hệ thống.
+policy-DisableTelemetry = Tắt Telemetry.
+policy-DisableThirdPartyModuleBlocking = Ngăn người dùng chặn các module của bên thứ ba đưa vào tiến trình { -brand-short-name }.
+policy-DisplayBookmarksToolbar = Hiển thị thanh công cụ dấu trang theo mặc định.
+policy-DisplayMenuBar = Hiển thị thanh bảng chọn theo mặc định.
+policy-DNSOverHTTPS = Cấu hình DNS qua HTTPS.
+policy-DontCheckDefaultBrowser = Tắt kiểm tra trình duyệt 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 = Kích hoạt hoặc vô hiệu hóa 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 = Kích hoạt hoặc vô hiệu hóa tiện ích mở rộng phương tiện được mã hóa và tùy chọn khóa nó.
+policy-ExemptDomainFileTypePairsFromFileTypeDownloadWarnings = Tắt cảnh báo dựa trên phần mở rộng của tập tin cho các loại tập tin cụ thể trên miề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 lấy 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-FirefoxHome2 = Định cấu hình { -firefox-home-brand-name }.
+policy-FirefoxSuggest = Định cấu hình { -firefox-suggest-brand-name }.
+policy-GoToIntranetSiteForSingleWordEntryInAddressBar = Buộc điều hướng trực tiếp trang web nội bộ thay vì tìm kiếm khi nhập các mục từ đơn lẻ vào thanh địa chỉ.
+policy-Handlers = Cấu hình trình xử lý ứng dụng mặc định.
+policy-HardwareAcceleration = Nếu không đúng, hãy tắt chế độ tăng tốc phần cứng.
+# “lock” means that the user won’t be able to change this setting
+policy-Homepage = Đặt và tùy chọn khóa trang chủ.
+policy-InstallAddonsPermission = Cho phép một số trang web 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-ManagedBookmarks = Định cấu hình danh sách các dấu trang do quản trị viên quản lý mà người dùng không thể thay đổi.
+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-PrimaryPassword = Yêu cầu hoặc ngăn không sử dụng mật khẩu chính.
+policy-PrintingEnabled = Bật hoặc tắt tính năng in.
+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-NewTabPage = Kích hoạt hoặc vô hiệu hóa trang Thẻ mới.
+policy-NoDefaultBookmarks = Vô hiệu hóa việc tạo dấu trang mặc định đi kèm với { -brand-short-name } và dấu trang thông minh (được truy cập nhiều nhất, thẻ gần đây). Lưu ý: chính sách này chỉ có hiệu lực nếu được sử dụng trước lần chạy đầu tiên của hồ sơ.
+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 } cung cấp ghi nhớ các 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.
+policy-PasswordManagerExceptions = Ngăn { -brand-short-name } lưu mật khẩu cho các trang web cụ thể.
+# PDF.js and PDF should not be translated
+policy-PDFjs = Vô hiệu hóa hoặc 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-PictureInPicture = Kích hoạt hoặc vô hiệu hóa hình trong hình.
+policy-PopupBlocking = Cho phép các trang web nhất định hiển thị cửa sổ bật lên theo mặc định.
+policy-Preferences = Đặt và khóa giá trị cho một tập hợp con ưu tiên.
+policy-PromptForDownloadLocation = Hỏi nơi lưu tập tin khi tải xuống.
+policy-Proxy = Cài đặt cấu hình 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-SearchBar = Đặt thanh tìm kiếm ở vị trí mặc định. Người dùng vẫn được phép tùy chỉnh nó.
+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 = Kích hoạt hoặc vô hiệu hóa các đề xuất tìm kiếm.
+# For more information, see https://wikipedia.org/wiki/PKCS_11
+policy-SecurityDevices2 = Thêm hoặc xóa module PKCS #11.
+policy-ShowHomeButton = Hiển thị nút trang chủ trên thanh công cụ.
+policy-SSLVersionMax = Chỉnh phiên bản SSL tối đa.
+policy-SSLVersionMin = Chỉnh phiên bản SSL tối thiểu.
+policy-StartDownloadsInTempDirectory = Buộc bắt đầu tải xuống ở một vị trí cục bộ, tạm thời thay vì thư mục tải xuống mặc định.
+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.
+policy-UseSystemPrintDialog = In bằng hộp thoại in hệ thố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.
+policy-Windows10SSO = Cho phép Windows đăng nhập một lần cho tài khoản Microsoft, cơ quan và trường học.
diff --git a/l10n-vi/browser/browser/preferences/addEngine.ftl b/l10n-vi/browser/browser/preferences/addEngine.ftl
new file mode 100644
index 0000000000..49788a193f
--- /dev/null
+++ b/l10n-vi/browser/browser/preferences/addEngine.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/.
+
+add-engine-window2 =
+ .title = Thêm công cụ tìm kiếm
+ .style = min-width: 32em;
+
+add-engine-button = Thêm công cụ tùy chỉnh
+
+add-engine-name = Tên công cụ tìm kiếm
+
+add-engine-alias = Bí danh
+
+add-engine-url = URL công cụ, sử dụng %s thay cho cụm từ tìm kiếm
+
+add-engine-dialog =
+ .buttonlabelaccept = Thêm công cụ tìm kiếm
+ .buttonaccesskeyaccept = A
+
+engine-name-exists = Một công cụ có tên đó đã tồn tại
+engine-alias-exists = Một công cụ có bí danh đó đã tồn tại
diff --git a/l10n-vi/browser/browser/preferences/applicationManager.ftl b/l10n-vi/browser/browser/preferences/applicationManager.ftl
new file mode 100644
index 0000000000..3eda46c706
--- /dev/null
+++ b/l10n-vi/browser/browser/preferences/applicationManager.ftl
@@ -0,0 +1,25 @@
+# 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-window2 =
+ .title = Chi tiết ứng dụng
+ .style = min-width: 30em; min-height: 20em;
+
+app-manager-remove =
+ .label = Gỡ bỏ
+ .accesskey = G
+
+# Variables:
+# $type (String) - the URI scheme of the link (e.g. mailto:)
+app-manager-handle-protocol = Các ứng dụng sau có thể được dùng để xử lí các liên kết { $type }.
+
+# Variables:
+# $type (String) - the MIME type (e.g. application/binary)
+app-manager-handle-file = Các ứng dụng sau có thể được dùng để xử lí nội dung { $type }.
+
+## These strings are followed, on a new line,
+## by the URL or path of the application.
+
+app-manager-web-app-info = Ứng dụng web này được đặt tại:
+app-manager-local-app-info = Ứng dụng này nằm tại:
diff --git a/l10n-vi/browser/browser/preferences/blocklists.ftl b/l10n-vi/browser/browser/preferences/blocklists.ftl
new file mode 100644
index 0000000000..fabd609c00
--- /dev/null
+++ b/l10n-vi/browser/browser/preferences/blocklists.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/.
+
+blocklist-window2 =
+ .title = Danh sách chặn
+ .style = min-width: 55em
+
+blocklist-description = Chọn danh sách { -brand-short-name } sử dụng để chặn trình theo dõi trực tuyến. Danh sách được cung cấp bởi <a data-l10n-name="disconnect-link" title="Disconnect">Disconnect</a>.
+blocklist-close-key =
+ .key = w
+
+blocklist-treehead-list =
+ .label = Danh sách
+
+blocklist-dialog =
+ .buttonlabelaccept = Lưu thay đổi
+ .buttonaccesskeyaccept = L
+
+
+# This template constructs the name of the block list in the block lists dialog.
+# It combines the list name and description.
+# e.g. "Standard (Recommended). This list does a pretty good job."
+#
+# Variables:
+# $listName {string, "Standard (Recommended)."} - List name.
+# $description {string, "This list does a pretty good job."} - Description of the list.
+blocklist-item-list-template = { $listName } { $description }
+
+blocklist-item-moz-std-listName = Danh sách cấp 1 (Khuyến nghị).
+blocklist-item-moz-std-description = Cho phép một số trình theo dõi để trang web ít bị hỏng hơn.
+blocklist-item-moz-full-listName = Danh sách cấp 2.
+blocklist-item-moz-full-description = Chặn tất cả các trình theo dõi được phát hiện. Một số trang web hoặc nội dung có thể không hoạt động đúng cách.
diff --git a/l10n-vi/browser/browser/preferences/clearSiteData.ftl b/l10n-vi/browser/browser/preferences/clearSiteData.ftl
new file mode 100644
index 0000000000..7a51867495
--- /dev/null
+++ b/l10n-vi/browser/browser/preferences/clearSiteData.ftl
@@ -0,0 +1,56 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+clear-site-data-window2 =
+ .title = Xóa dữ liệu
+ .style = min-width: 35em
+
+clear-site-data-description = Xóa tất cả cookie và dữ liệu trang được lưu bởi { -brand-short-name } có thể khiến bạn đăng xuất khỏi trang web và xóa các nội dung ngoại tuyến. Xóa dữ liệu cache sẽ không ảnh hưởng đến đăng nhập của bạn.
+
+clear-site-data-close-key =
+ .key = w
+
+# The parameters in parentheses in this string describe disk usage
+# in the format ($amount $unit), e.g. "Cookies and Site Data (24 KB)"
+# Variables:
+# $amount (Number) - Amount of site data currently stored on disk
+# $unit (String) - Abbreviation of the unit that $amount is in, e.g. "MB"
+clear-site-data-cookies-with-data =
+ .label = Cookie và dữ liệu trang ({ $amount } { $unit })
+ .accesskey = S
+
+# This string is a placeholder for while the data used to fill
+# clear-site-data-cookies-with-data is loading. This placeholder is usually
+# only shown for a very short time (< 1s), so it should be very similar
+# or the same as clear-site-data-cookies-with-data (except the amount and unit),
+# to avoid flickering.
+clear-site-data-cookies-empty =
+ .label = Cookie và dữ liệu trang
+ .accesskey = S
+
+clear-site-data-cookies-info = Bạn có thể bị đăng xuất khỏi trang web nếu xóa
+
+# The parameters in parentheses in this string describe disk usage
+# in the format ($amount $unit), e.g. "Cached Web Content (24 KB)"
+# Variables:
+# $amount (Number) - Amount of cache currently stored on disk
+# $unit (String) - Abbreviation of the unit that $amount is in, e.g. "MB"
+clear-site-data-cache-with-data =
+ .label = Nội dung web lưu vào bộ nhớ đệm ({ $amount } { $unit })
+ .accesskey = W
+
+# This string is a placeholder for while the data used to fill
+# clear-site-data-cache-with-data is loading. This placeholder is usually
+# only shown for a very short time (< 1s), so it should be very similar
+# or the same as clear-site-data-cache-with-data (except the amount and unit),
+# to avoid flickering.
+clear-site-data-cache-empty =
+ .label = Nội dung web được nhớ đệm
+ .accesskey = W
+
+clear-site-data-cache-info = Sẽ yêu cầu trang web tải lại ảnh và dữ liệu
+
+clear-site-data-dialog =
+ .buttonlabelaccept = Xóa
+ .buttonaccesskeyaccept = l
diff --git a/l10n-vi/browser/browser/preferences/colors.ftl b/l10n-vi/browser/browser/preferences/colors.ftl
new file mode 100644
index 0000000000..afa1108c0f
--- /dev/null
+++ b/l10n-vi/browser/browser/preferences/colors.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/.
+
+colors-dialog2 =
+ .title = Màu
+ .style = min-width: 41em;
+
+colors-close-key =
+ .key = w
+
+colors-page-override = Ghi đè các màu đã được quy định bởi trang với các lựa chọn của bạn ở trên
+ .accesskey = O
+
+colors-page-override-option-always =
+ .label = Luôn luôn
+colors-page-override-option-auto =
+ .label = Chỉ trong các diện mạo có độ tương phản cao
+colors-page-override-option-never =
+ .label = Không bao giờ
+
+colors-text-and-background = Văn bản và nền
+
+colors-text-header = Chữ
+ .accesskey = T
+
+colors-background = Nền
+ .accesskey = B
+
+colors-use-system =
+ .label = Dùng màu sắc của hệ thống
+ .accesskey = D
+
+colors-underline-links =
+ .label = Gạch chân các liên kết
+ .accesskey = G
+
+colors-links-header = Màu của liên kết
+
+colors-unvisited-links = Liên kết chưa truy cập
+ .accesskey = L
+
+colors-visited-links = Liên kết đã truy cập
+ .accesskey = V
diff --git a/l10n-vi/browser/browser/preferences/connection.ftl b/l10n-vi/browser/browser/preferences/connection.ftl
new file mode 100644
index 0000000000..12d5d6ac9e
--- /dev/null
+++ b/l10n-vi/browser/browser/preferences/connection.ftl
@@ -0,0 +1,84 @@
+# 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-window2 =
+ .title = Cài đặt kết nối
+ .style =
+ { PLATFORM() ->
+ [macos] min-width: 44em
+ *[other] min-width: 49em
+ }
+connection-close-key =
+ .key = w
+connection-disable-extension =
+ .label = Vô hiệu hóa tiện ích mở rộng
+connection-proxy-configure = Cấu hình proxy để truy cập Internet
+connection-proxy-option-no =
+ .label = Không dùng proxy
+ .accesskey = y
+connection-proxy-option-system =
+ .label = Dùng các thiết lập proxy của hệ thống
+ .accesskey = D
+connection-proxy-option-wpad =
+ .label = Sử dụng Tự động phát hiện cài đặt Proxy của hệ thống
+ .accesskey = g
+connection-proxy-option-auto =
+ .label = Tự động dò thiết lập của proxy cho mạng này
+ .accesskey = m
+connection-proxy-option-manual =
+ .label = Cấu hình proxy thủ công
+ .accesskey = m
+connection-proxy-http = Proxy HTTP
+ .accesskey = x
+connection-proxy-http-port = Cổng
+ .accesskey = C
+connection-proxy-https-sharing =
+ .label = Đồng thời sử dụng proxy này cho HTTPS
+ .accesskey = s
+connection-proxy-https = HTTPS Proxy
+ .accesskey = H
+connection-proxy-ssl-port = Cổng
+ .accesskey = :
+connection-proxy-socks = Máy chủ SOCKS
+ .accesskey = C
+connection-proxy-socks-port = Cổng
+ .accesskey = g
+connection-proxy-socks4 =
+ .label = SOCKS v4
+ .accesskey = 4
+connection-proxy-socks5 =
+ .label = SOCKS v5
+ .accesskey = 5
+connection-proxy-noproxy = Không dùng proxy cho
+ .accesskey = n
+connection-proxy-noproxy-desc = Ví dụ: .mozilla.org, .edu.vn, 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.
+connection-proxy-autotype =
+ .label = URL cấu hình proxy tự động
+ .accesskey = A
+connection-proxy-reload =
+ .label = Tải lại
+ .accesskey = i
+connection-proxy-autologin =
+ .label = Không yêu cầu xác nhận nếu đã lưu mật khẩu
+ .accesskey = n
+ .tooltip = Tùy chọn này xác thực ngầm bạn với proxy khi bạn đã lưu thông tin ủy nhiệm của chúng. Bạn sẽ được yêu cầu nếu việc xác thực thất bại.
+connection-proxy-autologin-checkbox =
+ .label = Không yêu cầu xác nhận nếu đã lưu mật khẩu
+ .accesskey = n
+ .tooltiptext = Tùy chọn này xác thực ngầm bạn với proxy khi bạn đã lưu thông tin ủy nhiệm của chúng. Bạn sẽ được yêu cầu nếu việc xác thực thất bại.
+connection-proxy-socks-remote-dns =
+ .label = DNS của proxy khi dùng SOCKS v5
+ .accesskey = d
+# 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 đường dẫn mặc định để phân giải DNS over 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 để phân giải DNS over HTTPS
+connection-dns-over-https-custom-label = Tùy biến
diff --git a/l10n-vi/browser/browser/preferences/containers.ftl b/l10n-vi/browser/browser/preferences/containers.ftl
new file mode 100644
index 0000000000..3fea579dd5
--- /dev/null
+++ b/l10n-vi/browser/browser/preferences/containers.ftl
@@ -0,0 +1,93 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+containers-window-new2 =
+ .title = Thêm ngăn chứa mới
+ .style = min-width: 45em
+# Variables
+# $name (String) - Name of the container
+containers-window-update-settings2 =
+ .title = Cài đặt ngăn chứa { $name }
+ .style = min-width: 45em
+
+containers-window-close =
+ .key = w
+
+# This is a term to store style to be applied
+# on the three labels in the containers add/edit dialog:
+# - name
+# - icon
+# - color
+#
+# Using this term and referencing it in the `.style` attribute
+# of the three messages ensures that all three labels
+# will be aligned correctly.
+-containers-labels-style = min-width: 4rem
+
+containers-name-label = Tên
+ .accesskey = N
+ .style = { -containers-labels-style }
+
+containers-name-text =
+ .placeholder = Nhập tên vùng chứa
+
+containers-icon-label = Biểu tượng
+ .accesskey = I
+ .style = { -containers-labels-style }
+
+containers-color-label = Màu
+ .accesskey = o
+ .style = { -containers-labels-style }
+
+containers-dialog =
+ .buttonlabelaccept = Xong
+ .buttonaccesskeyaccept = X
+
+containers-color-blue =
+ .label = Xanh lam
+containers-color-turquoise =
+ .label = Ngọc lam
+containers-color-green =
+ .label = Xanh lục
+containers-color-yellow =
+ .label = Vàng
+containers-color-orange =
+ .label = Da cam
+containers-color-red =
+ .label = Đỏ
+containers-color-pink =
+ .label = Hồng
+containers-color-purple =
+ .label = Tím
+containers-color-toolbar =
+ .label = Thanh công cụ phù hợp
+
+containers-icon-fence =
+ .label = Hàng rào
+containers-icon-fingerprint =
+ .label = Dấu vết (Fingerprintng)
+containers-icon-briefcase =
+ .label = Cặp tài liệu
+# String represents a money sign but currently uses a dollar sign
+# so don't change to local currency. See Bug 1291672.
+containers-icon-dollar =
+ .label = Ký hiệu đô la
+containers-icon-cart =
+ .label = Giỏ hàng
+containers-icon-circle =
+ .label = Chấm
+containers-icon-vacation =
+ .label = Nghỉ phép
+containers-icon-gift =
+ .label = Quà tặng
+containers-icon-food =
+ .label = Thực phẩm
+containers-icon-fruit =
+ .label = Trái cây
+containers-icon-pet =
+ .label = Vật nuôi
+containers-icon-tree =
+ .label = Cây
+containers-icon-chill =
+ .label = Khuôn
diff --git a/l10n-vi/browser/browser/preferences/fonts.ftl b/l10n-vi/browser/browser/preferences/fonts.ftl
new file mode 100644
index 0000000000..9e6771b478
--- /dev/null
+++ b/l10n-vi/browser/browser/preferences/fonts.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/.
+
+fonts-window =
+ .title = Phông
+
+fonts-window-close =
+ .key = w
+
+## Font groups by language
+
+fonts-langgroup-header = Phông cho
+ .accesskey = F
+
+fonts-langgroup-arabic =
+ .label = Ả Rập
+fonts-langgroup-armenian =
+ .label = Armenia
+fonts-langgroup-bengali =
+ .label = Băng-gan
+fonts-langgroup-simpl-chinese =
+ .label = Hoa Giản Thể
+fonts-langgroup-trad-chinese-hk =
+ .label = Hoa Phồn Thể (Hồng Kông)
+fonts-langgroup-trad-chinese =
+ .label = Hoa Phồn Thể (Đài Loan)
+fonts-langgroup-cyrillic =
+ .label = Kirin
+fonts-langgroup-devanagari =
+ .label = Devanagari
+fonts-langgroup-ethiopic =
+ .label = Ethiopia
+fonts-langgroup-georgian =
+ .label = Gruzia
+fonts-langgroup-el =
+ .label = Hi Lạp
+fonts-langgroup-gujarati =
+ .label = Gujarat
+fonts-langgroup-gurmukhi =
+ .label = Gurmukhi
+fonts-langgroup-japanese =
+ .label = Nhật
+fonts-langgroup-hebrew =
+ .label = Do Thái
+fonts-langgroup-kannada =
+ .label = Kannada
+fonts-langgroup-khmer =
+ .label = Khơ-me
+fonts-langgroup-korean =
+ .label = Hàn
+# Translate "Latin" as the name of Latin (Roman) script, not as the name of the Latin language.
+fonts-langgroup-latin =
+ .label = Latinh
+fonts-langgroup-malayalam =
+ .label = Malayalam
+fonts-langgroup-math =
+ .label = Toán học
+fonts-langgroup-odia =
+ .label = Odia
+fonts-langgroup-sinhala =
+ .label = Sinhala
+fonts-langgroup-tamil =
+ .label = Tamil
+fonts-langgroup-telugu =
+ .label = Telugu
+fonts-langgroup-thai =
+ .label = Thái
+fonts-langgroup-tibetan =
+ .label = Tây Tạng
+fonts-langgroup-canadian =
+ .label = Kí hiệu Âm tiết Canađa Thống nhất
+fonts-langgroup-other =
+ .label = Hệ thống viết khác
+
+## Default fonts and their sizes
+
+fonts-proportional-header = Tỷ lệ
+ .accesskey = P
+
+fonts-default-serif =
+ .label = Serif
+fonts-default-sans-serif =
+ .label = Sans Serif
+
+fonts-proportional-size = Kích thước
+ .accesskey = z
+
+fonts-serif = Serif
+ .accesskey = S
+
+fonts-sans-serif = Sans-serif
+ .accesskey = n
+
+fonts-monospace = Monospace
+ .accesskey = M
+
+fonts-monospace-size = Kích thước
+ .accesskey = h
+
+fonts-minsize = Cỡ phông tối thiểu
+ .accesskey = o
+
+fonts-minsize-none =
+ .label = Không
+
+fonts-allow-own =
+ .label = Cho phép các trang web tự lựa chọn phông chữ riêng, thay vì sử dụng phông mà bạn chọn ở trên
+ .accesskey = A
+
+## Text Encodings
+##
+## Translate the encoding names as adjectives for an encoding, not as the name
+## of the language.
+
+# 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
diff --git a/l10n-vi/browser/browser/preferences/formAutofill.ftl b/l10n-vi/browser/browser/preferences/formAutofill.ftl
new file mode 100644
index 0000000000..c4bb92c847
--- /dev/null
+++ b/l10n-vi/browser/browser/preferences/formAutofill.ftl
@@ -0,0 +1,156 @@
+# 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 address and credit card autofill management dialog in browser preferences
+
+autofill-manage-addresses-title = Các địa chỉ đã lưu
+autofill-manage-addresses-list-header = Địa chỉ
+autofill-manage-credit-cards-title = Thẻ tín dụng đã lưu
+autofill-manage-credit-cards-list-header = Thẻ tín dụng
+autofill-manage-payment-methods-title = Phương thức thanh toán đã lưu
+autofill-manage-cards-list-header = Thẻ
+autofill-manage-dialog =
+ .style = min-width: 560px
+autofill-manage-remove-button = Xóa
+autofill-manage-add-button = Thêm…
+autofill-manage-edit-button = Sửa…
+
+## The address capture doorhanger
+
+address-capture-save-doorhanger-header = Lưu địa chỉ?
+address-capture-save-doorhanger-description = Lưu thông tin vào { -brand-short-name } để bạn có thể điền biểu mẫu nhanh chóng.
+address-capture-update-doorhanger-header = Cập nhật địa chỉ?
+address-capture-edit-doorhanger-header = Chỉnh sửa địa chỉ
+address-capture-save-button =
+ .label = Lưu
+ .accessKey = S
+address-capture-not-now-button =
+ .label = Không phải bây giờ
+ .accessKey = N
+address-capture-cancel-button =
+ .label = Hủy bỏ
+ .accessKey = C
+address-capture-update-button =
+ .label = Cập nhật
+ .accessKey = U
+address-capture-manage-address-button =
+ .label = Cài đặt địa chỉ
+address-capture-learn-more-button =
+ .label = Tìm hiểu thêm
+# The dialog title for creating addresses in browser preferences.
+autofill-add-new-address-title = Thêm địa chỉ mới
+address-capture-open-menu-button =
+ .aria-label = Mở menu
+address-capture-edit-address-button =
+ .aria-label = Sửa địa chỉ
+# The dialog title for creating addresses in browser preferences.
+autofill-add-address-title = Thêm địa chỉ
+# The dialog title for editing addresses in browser preferences.
+autofill-edit-address-title = Sửa địa chỉ
+autofill-address-name = Tên
+autofill-address-given-name = Họ
+autofill-address-additional-name = Tên đệm
+autofill-address-family-name = Tên
+autofill-address-organization = Tổ chức
+autofill-address-street-address = Địa chỉ đường phố
+autofill-address-street = Địa chỉ đường phố
+
+## address-level-3 (Sublocality) names
+
+# Used in IR, MX
+autofill-address-neighborhood = Khu vực lân cận
+# Used in MY
+autofill-address-village-township = Làng hoặc thị trấn
+autofill-address-island = Đảo
+# Used in IE
+autofill-address-townland = Thị trấn
+
+## address-level-2 names
+
+autofill-address-city = Thành phố
+# Used in HK, SD, SY, TR as Address Level-2 and used in KR as Sublocality.
+autofill-address-district = Quận
+# Used in GB, NO, SE
+autofill-address-post-town = Bưu điện thị trấn
+# Used in AU as Address Level-2 and used in ZZ as Sublocality.
+autofill-address-suburb = Ngoại thành
+
+## address-level-1 names
+
+autofill-address-province = Tỉnh
+autofill-address-state = Bang
+autofill-address-county = Quận
+# Used in BB, JM
+autofill-address-parish = Giáo xứ
+# Used in JP
+autofill-address-prefecture = Tỉnh
+# Used in HK
+autofill-address-area = Vùng
+# Used in KR
+autofill-address-do-si = Tỉnh/Thành phố
+# Used in NI, CO
+autofill-address-department = Sở
+# Used in AE
+autofill-address-emirate = Tiểu Vương quốc
+# Used in RU and UA
+autofill-address-oblast = Tỉnh
+
+## Postal code name types
+
+# Used in IN
+autofill-address-pin = Pin
+autofill-address-postal-code = Mã bưu chính
+autofill-address-zip = Mã bưu chính
+# Used in IE
+autofill-address-eircode = Mã bưu chính
+
+##
+
+
+##
+
+autofill-address-country = Quốc gia hoặc vùng
+autofill-address-country-only = Quốc gia
+autofill-address-tel = Điện thoại
+autofill-address-email = Thư điện tử
+autofill-cancel-button = Hủy bỏ
+autofill-save-button = Lưu
+autofill-country-warning-message = Tự động điền biểu mẫu hiện chỉ có sẵn cho một số quốc gia nhất định.
+# The dialog title for creating credit cards in browser preferences.
+autofill-add-new-card-title = Thêm thẻ tín dụng mới
+# The dialog title for editing credit cards in browser preferences.
+autofill-edit-card-title = Sửa thẻ tín dụng
+autofill-message-tooltip = Xem thông báo về tự động điền
+# The dialog title for creating credit cards in browser preferences.
+autofill-add-card-title = Thêm thẻ
+# The dialog title for editing credit cards in browser preferences.
+autofill-edit-card-title2 = Chỉnh sửa thẻ
+# 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-card-password-prompt =
+ { PLATFORM() ->
+ [macos] hiển thị thông tin thẻ tín dụng
+ [windows] { -brand-short-name } đang cố gắng hiển thị thông tin thẻ tín dụng. Xác nhận quyền truy cập vào tài khoản Windows bên dưới.
+ *[other] { -brand-short-name } đang cố gắng hiển thị thông tin thẻ tín dụng.
+ }
+autofill-card-number = Số thẻ
+autofill-card-invalid-number = Vui lòng nhập số thẻ hợp lệ
+autofill-card-name-on-card = Tên trên thẻ
+autofill-card-expires-month = Hết hạn tháng
+autofill-card-expires-year = Hết hạn năm
+autofill-card-billing-address = Địa chỉ thanh toán
+autofill-card-network = Loại thẻ
+
+## These are brand names and should only be translated when a locale-specific name for that brand is in common use
+
+autofill-card-network-amex = American Express
+autofill-card-network-cartebancaire = Carte Bancaire
+autofill-card-network-diners = Diners Club
+autofill-card-network-discover = Discover
+autofill-card-network-jcb = JCB
+autofill-card-network-mastercard = MasterCard
+autofill-card-network-mir = MIR
+autofill-card-network-unionpay = Union Pay
+autofill-card-network-visa = Visa
diff --git a/l10n-vi/browser/browser/preferences/fxaPairDevice.ftl b/l10n-vi/browser/browser/preferences/fxaPairDevice.ftl
new file mode 100644
index 0000000000..7304d3025d
--- /dev/null
+++ b/l10n-vi/browser/browser/preferences/fxaPairDevice.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/.
+
+fxa-pair-device-dialog-sync2 =
+ .style = min-width: 32em;
+
+fxa-qrcode-pair-title = Đồng bộ hóa { -brand-product-name } trên điện thoại hoặc máy tính bảng của bạn
+fxa-qrcode-pair-step1 = 1. Mở { -brand-product-name } trên thiết bị di động của bạn.
+
+fxa-qrcode-pair-step2-signin = 2. Đi đến menu (<img data-l10n-name="ios-menu-icon"/> trên iOS hoặc <img data-l10n-name="android-menu-icon"/> trên Android) và nhấn <strong>Đồng bộ hóa và lưu dữ liệu</strong>
+
+fxa-qrcode-pair-step3 = 3. Nhấn <strong>Sẵn sàng để quét</strong> và giữ camera của điện thoại của bạn vào mã này
+
+fxa-qrcode-error-title = Ghép đôi không thành công.
+
+fxa-qrcode-error-body = Thử lại.
diff --git a/l10n-vi/browser/browser/preferences/languages.ftl b/l10n-vi/browser/browser/preferences/languages.ftl
new file mode 100644
index 0000000000..44fff29009
--- /dev/null
+++ b/l10n-vi/browser/browser/preferences/languages.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/.
+
+webpage-languages-window2 =
+ .title = Cài đặt ngôn ngữ của trang web
+ .style = min-width: 40em
+
+languages-close-key =
+ .key = w
+
+languages-description = Một số trang web có thể cung cấp nhiều ngôn ngữ. Chọn ngôn ngữ để hiển thị các trang web này, theo thứ tự ưu tiên
+
+languages-customize-spoof-english =
+ .label = Yêu cầu phiên bản tiếng Anh của trang web để nâng cao tính riêng tư
+
+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 = X
+
+languages-customize-select-language =
+ .placeholder = Chọn một ngôn ngữ để thêm…
+
+languages-customize-add =
+ .label = Thêm
+ .accesskey = T
+
+# The pattern used to generate strings presented to the user in the
+# locale selection list.
+#
+# Example:
+# Icelandic [is]
+# Spanish (Chile) [es-CL]
+#
+# Variables:
+# $locale (String) - A name of the locale (for example: "Icelandic", "Spanish (Chile)")
+# $code (String) - Locale code of the locale (for example: "is", "es-CL")
+languages-code-format =
+ .label = { $locale } [{ $code }]
+
+languages-active-code-format =
+ .value = { languages-code-format.label }
+
+browser-languages-window2 =
+ .title = Cài đặt ngôn ngữ { -brand-short-name }
+ .style = min-width: 40em
+
+browser-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.
+
+browser-languages-search = Tìm thêm ngôn ngữ…
+
+browser-languages-searching =
+ .label = Đang tìm kiếm ngôn ngữ...
+
+browser-languages-downloading =
+ .label = Đang tải xuống...
+
+browser-languages-select-language =
+ .label = Chọn ngôn ngữ để thêm…
+ .placeholder = Chọn ngôn ngữ để thêm…
+
+browser-languages-installed-label = Ngôn ngữ đã cài đặt
+browser-languages-available-label = Ngôn ngữ có sẵn
+
+browser-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/l10n-vi/browser/browser/preferences/moreFromMozilla.ftl b/l10n-vi/browser/browser/preferences/moreFromMozilla.ftl
new file mode 100644
index 0000000000..eade30e23c
--- /dev/null
+++ b/l10n-vi/browser/browser/preferences/moreFromMozilla.ftl
@@ -0,0 +1,34 @@
+# 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 the about:preferences moreFromMozilla page
+
+more-from-moz-title = Sản phẩm thêm từ { -vendor-short-name }
+more-from-moz-category =
+ .tooltiptext = Sản phẩm thêm từ { -vendor-short-name }
+more-from-moz-subtitle = Xem các sản phẩm khác của { -vendor-short-name } đang hoạt động để hỗ trợ internet lành mạnh.
+more-from-moz-firefox-mobile-title = { -brand-product-name } dành cho di động
+more-from-moz-firefox-mobile-description = Trình duyệt di động đặt quyền riêng tư của bạn lên hàng đầu.
+more-from-moz-mozilla-vpn-title = { -mozilla-vpn-brand-name }
+more-from-moz-mozilla-vpn-description = Khám phá web với một lớp bảo vệ được bổ sung và duyệt web ẩn danh.
+more-from-moz-qr-code-box-firefox-mobile-title = Tải xuống bằng thiết bị di động của bạn. Hướng máy ảnh của bạn vào mã QR. Khi một liên kết xuất hiện, hãy nhấn vào nó.
+more-from-moz-qr-code-box-firefox-mobile-button = Gửi email đến điện thoại của bạn để thay thế
+more-from-moz-qr-code-firefox-mobile-img =
+ .alt = Mã QR để tải xuống { -brand-product-name } dành cho di động
+more-from-moz-button-mozilla-vpn-2 = Nhận VPN
+more-from-moz-learn-more-link = Tìm hiểu thêm
+
+## These strings are for the Firefox Relay card in about:preferences moreFromMozilla page
+
+more-from-moz-firefox-relay-title = { -relay-brand-name }
+more-from-moz-firefox-relay-description = Bảo vệ hộp thư đến và danh tính của bạn bằng mặt nạ email miễn phí.
+more-from-moz-firefox-relay-button = Nhận { -relay-brand-short-name }
+
+## These strings are for the Mozilla Monitor card in about:preferences moreFromMozilla page
+
+more-from-moz-mozilla-monitor-title = { -mozmonitor-brand-name }
+more-from-moz-mozilla-monitor-us-description = Tự động lấy lại thông tin cá nhân bị lộ của bạn.
+more-from-moz-mozilla-monitor-global-description = Nhận thông báo khi dữ liệu của bạn bị rò rỉ.
+more-from-moz-mozilla-monitor-button = Nhận { -monitor-brand-short-name }
diff --git a/l10n-vi/browser/browser/preferences/permissions.ftl b/l10n-vi/browser/browser/preferences/permissions.ftl
new file mode 100644
index 0000000000..b76e6bb384
--- /dev/null
+++ b/l10n-vi/browser/browser/preferences/permissions.ftl
@@ -0,0 +1,205 @@
+# 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-window2 =
+ .title = Ngoại lệ
+ .style = min-width: 45em
+permissions-close-key =
+ .key = w
+permissions-address = Địa chỉ của trang web
+ .accesskey = d
+permissions-block =
+ .label = Chặn
+ .accesskey = C
+permissions-disable-etp =
+ .label = Thêm ngoại lệ
+ .accesskey = E
+permissions-session =
+ .label = Cho phép theo phiên
+ .accesskey = S
+permissions-allow =
+ .label = Cho phép
+ .accesskey = h
+permissions-button-off =
+ .label = Tắt
+ .accesskey = O
+permissions-button-off-temporarily =
+ .label = Tắt tạm thời
+ .accesskey = T
+permissions-site-name =
+ .label = Trang web
+permissions-status =
+ .label = Trạng thái
+permissions-remove =
+ .label = Xóa trang web
+ .accesskey = R
+permissions-remove-all =
+ .label = Xóa tất cả các trang web
+ .accesskey = e
+permission-dialog =
+ .buttonlabelaccept = Lưu thay đổi
+ .buttonaccesskeyaccept = L
+permissions-autoplay-menu = Mặc định cho tất cả các trang web:
+permissions-searchbox =
+ .placeholder = Tìm kiếm trang web
+permissions-capabilities-autoplay-allow =
+ .label = Cho phép âm thanh và video
+permissions-capabilities-autoplay-block =
+ .label = Chặn âm thanh
+permissions-capabilities-autoplay-blockall =
+ .label = Chặn âm thanh và video
+permissions-capabilities-allow =
+ .label = Cho phép
+permissions-capabilities-block =
+ .label = Chặn
+permissions-capabilities-prompt =
+ .label = Luôn hỏi
+permissions-capabilities-listitem-allow =
+ .value = Cho phép
+permissions-capabilities-listitem-block =
+ .value = Chặn
+permissions-capabilities-listitem-allow-session =
+ .value = Cho phép theo phiên
+permissions-capabilities-listitem-off =
+ .value = Tắt
+permissions-capabilities-listitem-off-temporarily =
+ .value = Tắt tạm thời
+
+## Invalid Hostname Dialog
+
+permissions-invalid-uri-title = Nhập sai tên máy chủ
+permissions-invalid-uri-label = Hãy nhập một tên máy chủ có thực
+
+## Exceptions - Tracking Protection
+
+permissions-exceptions-etp-window2 =
+ .title = Các ngoại lệ cho trình chống theo dõi nâng cao
+ .style = { permissions-window2.style }
+permissions-exceptions-manage-etp-desc = Bạn có thể chỉ định các trang web nào sẽ tắt Trình chống theo dõi nâng cao. Nhập địa chỉ chính xác của trang web mà bạn muốn quản lý, sau đó nhấp vào "Thêm ngoại lệ".
+
+## Exceptions - Cookies
+
+permissions-exceptions-cookie-window2 =
+ .title = Ngoại lệ - Cookie và dữ liệu trang web
+ .style = { permissions-window2.style }
+permissions-exceptions-cookie-desc = Bạn có thể chỉ định trang web nào luôn hoặc không bao giờ được phép sử dụng cookie và dữ liệu trang web. Nhập địa chỉ chính xác của trang web bạn muốn quản lý và sau đó nhấp vào Chặn, Chỉ cho phép với phiên này hoặc Cho phép.
+
+## Exceptions - HTTPS-Only Mode
+
+permissions-exceptions-https-only-window2 =
+ .title = Ngoại lệ - Chế độ chỉ HTTPS
+ .style = { permissions-window2.style }
+permissions-exceptions-https-only-desc = Bạn có thể tắt Chế độ chỉ HTTPS cho các trang web cụ thể. { -brand-short-name } sẽ không cố gắng nâng cấp kết nối để bảo mật HTTPS cho các trang web đó. Các trường hợp ngoại lệ không áp dụng cho các cửa sổ riêng tư.
+permissions-exceptions-https-only-desc2 = Bạn có thể tắt Chế độ chỉ HTTPS cho các trang web cụ thể. { -brand-short-name } sẽ không nâng cấp kết nối để bảo mật HTTPS cho các trang web đó.
+
+## Exceptions - Pop-ups
+
+permissions-exceptions-popup-window2 =
+ .title = Những trang được cho phép - Cửa sổ bật lên
+ .style = { permissions-window2.style }
+permissions-exceptions-popup-desc = Bạn có thể chỉ định những trang được phép bật cửa sổ bật lên. Gõ chính xác địa chỉ trang bạn muốn cho phép và sau đó nhấp Cho phép.
+
+## Exceptions - Saved Logins
+
+permissions-exceptions-saved-logins-window2 =
+ .title = Ngoại lệ - Đăng nhập đã lưu
+ .style = { permissions-window2.style }
+permissions-exceptions-saved-logins-desc = Thông tin đăng nhập các trang web sau sẽ không được lưu
+
+## Exceptions - Saved Passwords
+
+permissions-exceptions-saved-passwords-window =
+ .title = Ngoại lệ - Mật khẩu đã lưu
+ .style = { permissions-window2.style }
+permissions-exceptions-saved-passwords-desc = { -brand-short-name } sẽ không lưu mật khẩu cho các trang được liệt kê ở đây.
+
+## Exceptions - Add-ons
+
+permissions-exceptions-addons-window2 =
+ .title = Những trang được cho phép - Cài đặt tiện ích
+ .style = { permissions-window2.style }
+permissions-exceptions-addons-desc = Bạn có thể chỉ định trang web nào được phép cài tiện ích. Gõ chính xác địa chỉ trang bạn muốn cho phép và sau đó nhấp Cho phép.
+
+## Site Permissions - Autoplay
+
+permissions-site-autoplay-window2 =
+ .title = Cài đặt - Tự động phát
+ .style = { permissions-window2.style }
+permissions-site-autoplay-desc = Bạn có thể quản lý các trang web không tuân theo cài đặt tự động phát mặc định của bạn tại đây.
+
+## Site Permissions - Notifications
+
+permissions-site-notification-window2 =
+ .title = Cài đặt - Quyền thông báo
+ .style = { permissions-window2.style }
+permissions-site-notification-desc = Các trang web dưới đây đã yêu cầu để gửi thông báo tới bạn. Bạn có thể chỉ định những trang web nào được phép gửi bạn thông báo. Bạn cũng có thể chặn những yêu cầu mà bạn không muốn cho phép.
+permissions-site-notification-disable-label =
+ .label = Chặn các yêu cầu mới về việc cho phép gửi thông báo
+permissions-site-notification-disable-desc = Điều này sẽ ngăn chặn bất cứ trang web nào không được liệt kê ở trên gửi yêu cầu cho phép việc gửi thông báo. Chặn thông báo có thể ảnh hưởng đến một số tính năng trang web.
+
+## Site Permissions - Location
+
+permissions-site-location-window2 =
+ .title = Cài đặt - Quyền truy cập vị trí
+ .style = { permissions-window2.style }
+permissions-site-location-desc = Các trang web dưới đây đã yêu cầu quyền truy cập vị trí của bạn. Bạn có thể chỉ định những trang web nào được phép truy cập vị trí của bạn. Bạn cũng có thể chặn các yêu cầu mới về việc xin cấp quyền truy cập vị trí.
+permissions-site-location-disable-label =
+ .label = Chặn các yêu cầu mới về việc cho phép tru cập vị trí của bạn
+permissions-site-location-disable-desc = Điều này sẽ ngăn chặn bất cứ trang web nào không được liệt kê ở trên gửi yêu cầu cho phép việc truy cập vị trí của bạn. Chặn thông báo có thể ảnh hưởng đến một số tính năng trang web.
+
+## Site Permissions - Virtual Reality
+
+permissions-site-xr-window2 =
+ .title = Cài đặt - Quyền thực tế ảo
+ .style = { permissions-window2.style }
+permissions-site-xr-desc = Các trang web sau đây đã yêu cầu truy cập các thiết bị thực tế ảo của bạn. Bạn có thể chỉ định trang web nào được phép truy cập các thiết bị thực tế ảo của mình. Bạn cũng có thể chặn các yêu cầu mới mà nó yêu cầu truy cập các thiết bị thực tế ảo của mình.
+permissions-site-xr-disable-label =
+ .label = Chặn các yêu cầu mới mà nó yêu cầu truy cập các thiết bị thực tế ảo của bạn
+permissions-site-xr-disable-desc = Điều này sẽ ngăn mọi trang web không được liệt kê ở trên yêu cầu quyền truy cập vào các thiết bị thực tế ảo của bạn. Chặn quyền truy cập vào các thiết bị thực tế ảo của bạn có thể phá vỡ một số tính năng của trang web.
+
+## Site Permissions - Camera
+
+permissions-site-camera-window2 =
+ .title = Cài đặt - Quyền sử dụng máy quay
+ .style = { permissions-window2.style }
+permissions-site-camera-desc = Các trang web dưới đây đã yêu cầu quyền truy cập máy ảnh của bạn. Bạn có thể chỉ định những trang web nào được phép truy cập máy ảnh của bạn. Bạn cũng có thể chặn các yêu cầu mới về việc xin cấp quyền truy cập máy ảnh của bạn.
+permissions-site-camera-disable-label =
+ .label = Chặn các yêu cầu mới về việc cho phép tru cập máy ảnh của bạn
+permissions-site-camera-disable-desc = Điều này sẽ ngăn chặn bất cứ trang web nào không được liệt kê ở trên gửi yêu cầu cho phép việc truy cập máy ảnh của bạn. Chặn thông báo có thể ảnh hưởng đến một số tính năng trang web.
+
+## Site Permissions - Microphone
+
+permissions-site-microphone-window2 =
+ .title = Cài đặt - Quyền micrô
+ .style = { permissions-window2.style }
+permissions-site-microphone-desc = Các trang web dưới đây đã yêu cầu quyền truy cập micrô của bạn. Bạn có thể chỉ định những trang web nào được phép truy cập micrô của bạn. Bạn cũng có thể chặn các yêu cầu mới về việc xin cấp quyền truy cập micrô của bạn.
+permissions-site-microphone-disable-label =
+ .label = Chặn các yêu cầu mới về việc cho phép tru cập micrô của bạn
+permissions-site-microphone-disable-desc = Điều này sẽ ngăn chặn bất cứ trang web nào không được liệt kê ở trên gửi yêu cầu cho phép việc truy cập micrô của bạn. Chặn thông báo có thể ảnh hưởng đến một số tính năng trang web.
+
+## Site Permissions - Speaker
+##
+## "Speaker" refers to an audio output device.
+
+permissions-site-speaker-window =
+ .title = Cài đặt - Quyền thiết bị loa
+ .style = { permissions-window2.style }
+permissions-site-speaker-desc = Các trang web sau đã yêu cầu chọn thiết bị đầu ra âm thanh. Bạn có thể chỉ định trang web nào được phép chọn thiết bị đầu ra âm thanh.
+permissions-exceptions-doh-window =
+ .title = Ngoại lệ trang web cho DNS qua HTTPS
+ .style = { permissions-window2.style }
+permissions-exceptions-manage-doh-desc = { -brand-short-name } sẽ không sử dụng DNS bảo mật trên các trang web này và tên miền phụ của chúng.
+permissions-doh-entry-field = Nhập tên miền trang web
+ .accesskey = d
+permissions-doh-add-exception =
+ .label = Thêm
+ .accesskey = A
+permissions-doh-col =
+ .label = Tên miền
+permissions-doh-remove =
+ .label = Xóa
+ .accesskey = R
+permissions-doh-remove-all =
+ .label = Xóa tất cả
+ .accesskey = e
diff --git a/l10n-vi/browser/browser/preferences/preferences.ftl b/l10n-vi/browser/browser/preferences/preferences.ftl
new file mode 100644
index 0000000000..cf3906da5a
--- /dev/null
+++ b/l10n-vi/browser/browser/preferences/preferences.ftl
@@ -0,0 +1,1383 @@
+# 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-track-description = 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
+do-not-track-description2 =
+ .label = Gửi yêu cầu “không theo dõi” đến trang web
+ .accesskey = d
+do-not-track-learn-more = Tìm hiểu thêm
+do-not-track-option-default-content-blocking-known =
+ .label = Chỉ khi { -brand-short-name } được đặt để chặn trình theo dõi đã biết
+do-not-track-option-always =
+ .label = Luôn luôn
+global-privacy-control-description =
+ .label = Yêu cầu trang web không bán hoặc chia sẻ dữ liệu của tôi
+ .accesskey = s
+non-technical-privacy-header = Tùy chọn riêng tư trang web
+# Do not translate.
+# "Global Privacy Control" or "GPC" are a web platform feature name and abbreviation
+# included to facilitate power-user search of the about:preferences page.
+global-privacy-control-search = Global Privacy Control (GPC)
+settings-page-title = Cài đặt
+# 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-input-box2 =
+ .style = width: 15.4em
+ .placeholder = Tìm kiếm trong Cài đặt
+managed-notice = Trình duyệt của bạn đang được quản lý bởi tổ chức của bạn.
+category-list =
+ .aria-label = Thể loại
+pane-general-title = Tổng quát
+category-general =
+ .tooltiptext = { pane-general-title }
+pane-home-title = Trang chủ
+category-home =
+ .tooltiptext = { pane-home-title }
+pane-search-title = Tìm kiếm
+category-search =
+ .tooltiptext = { pane-search-title }
+pane-privacy-title = Riêng tư & bảo mật
+category-privacy =
+ .tooltiptext = { pane-privacy-title }
+pane-sync-title3 = Đồng bộ hóa
+category-sync3 =
+ .tooltiptext = { pane-sync-title3 }
+pane-experimental-title = Thử nghiệm { -brand-short-name }
+category-experimental =
+ .tooltiptext = Thử nghiệm { -brand-short-name }
+pane-experimental-subtitle = Tiến hành thận trọng
+pane-experimental-search-results-header = Thử nghiệm { -brand-short-name }: Tiến hành thận trọng
+pane-experimental-description2 = Thay đổi cài đặt cấu hình nâng cao có thể ảnh hưởng đến hiệu suất hoặc bảo mật của { -brand-short-name }.
+pane-experimental-reset =
+ .label = Khôi phục về mặc định
+ .accesskey = R
+help-button-label = Hỗ trợ { -brand-short-name }
+addons-button-label = Tiện ích mở rộng & chủ đề
+focus-search =
+ .key = f
+close-button =
+ .aria-label = Đóng
+
+## Browser Restart Dialog
+
+feature-enable-requires-restart = { -brand-short-name } phải khởi động lại để kích hoạt tính năng này.
+feature-disable-requires-restart = { -brand-short-name } phải khởi động lại để vô hiệu hóa tính năng này.
+should-restart-title = Khởi động lại { -brand-short-name }
+should-restart-ok = Khởi động lại { -brand-short-name } ngay
+cancel-no-restart-button = Hủy bỏ
+restart-later = Khởi động lại sau
+
+## Extension Control Notifications
+##
+## These strings are used to inform the user
+## about changes made by extensions to browser settings.
+##
+## <img data-l10n-name="icon"/> is going to be replaced by the extension icon.
+##
+## Variables:
+## $name (string) - Name of the extension
+
+# This string is shown to notify the user that the password manager setting
+# is being controlled by an extension
+extension-controlling-password-saving = <img data-l10n-name="icon"/> <strong>{ $name }</strong> kiểm soát cài đặt này.
+# This string is shown to notify the user that their notifications permission
+# is being controlled by an extension.
+extension-controlling-web-notifications = <img data-l10n-name="icon"/> <strong>{ $name }</strong> kiểm soát cài đặt này.
+# This string is shown to notify the user that Container Tabs
+# are being enabled by an extension.
+extension-controlling-privacy-containers = <img data-l10n-name="icon"/> <strong>{ $name }</strong> yêu cầu ngăn chứa thẻ.
+# This string is shown to notify the user that their content blocking "All Detected Trackers"
+# preferences are being controlled by an extension.
+extension-controlling-websites-content-blocking-all-trackers = <img data-l10n-name="icon"/> <strong>{ $name }</strong> kiểm soát cài đặt này.
+# This string is shown to notify the user that their proxy configuration preferences
+# are being controlled by an extension.
+extension-controlling-proxy-config = <img data-l10n-name ="icon"/> <strong>{ $name }</strong> kiểm soát cách { -brand-short-name } kết nối với Internet.
+# This string is shown after the user disables an extension to notify the user
+# how to enable an extension that they disabled.
+#
+# <img data-l10n-name="addons-icon"/> will be replaced with Add-ons icon
+# <img data-l10n-name="menu-icon"/> will be replaced with Menu icon
+extension-controlled-enable = Để kích hoạt tiện ích mở rộng hãy vào phần tiện ích <img data-l10n-name="addons-icon"/> trên bảng chọn <img data-l10n-name="menu-icon"/>.
+
+## Preferences 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 = 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>
+
+## General Section
+
+startup-header = Khởi động
+always-check-default =
+ .label = Luôn kiểm tra xem { -brand-short-name } có phải trình duyệt mặc định không
+ .accesskey = y
+is-default = { -brand-short-name } đang là trình duyệt mặc định của bạn
+is-not-default = { -brand-short-name } không phải là trình duyệt mặc định
+set-as-my-default-browser =
+ .label = Đặt làm mặc định…
+ .accesskey = D
+startup-restore-windows-and-tabs =
+ .label = Mở các cửa sổ và thẻ trước đó
+ .accesskey = s
+windows-launch-on-login =
+ .label = Tự động mở { -brand-short-name } khi máy tính của bạn khởi động
+ .accesskey = O
+windows-launch-on-login-disabled = Tùy chọn này đã bị tắt trong Windows. Để thay đổi, hãy truy cập <a data-l10n-name="startup-link">Ứng dụng khởi động</a> trong Cài đặt hệ thống.
+startup-restore-warn-on-quit =
+ .label = Cảnh báo bạn khi thoát khỏi trình duyệt
+disable-extension =
+ .label = Vô hiệu hóa tiện ích mở rộng
+preferences-data-migration-header = Nhập dữ liệu trình duyệt
+preferences-data-migration-description = Nhập dấu trang, mật khẩu, lịch sử và dữ liệu tự động điền vào { -brand-short-name }.
+preferences-data-migration-button =
+ .label = Nhập dữ liệu
+ .accesskey = m
+tabs-group-header = Thẻ
+ctrl-tab-recently-used-order =
+ .label = Ctrl+Tab để chuyển qua các thẻ theo thứ tự sử dụng gần đây nhất
+ .accesskey = T
+open-new-link-as-tabs =
+ .label = Mở đường dẫn ở thẻ thay vì ở cửa sổ mới
+ .accesskey = w
+confirm-on-close-multiple-tabs =
+ .label = Xác nhận trước khi đóng nhiều thẻ
+ .accesskey = m
+# This string is used for the confirm before quitting preference.
+# Variables:
+# $quitKey (string) - the quit keyboard shortcut, and formatted
+# in the same manner as it would appear,
+# for example, in the File menu.
+confirm-on-quit-with-key =
+ .label = Xác nhận trước khi thoát bằng { $quitKey }
+ .accesskey = b
+warn-on-open-many-tabs =
+ .label = Cảnh báo bạn khi mở nhiều thẻ có thể làm chậm { -brand-short-name }
+ .accesskey = d
+switch-to-new-tabs =
+ .label = Khi bạn mở một liên kết, hình ảnh hoặc phương tiện trong một thẻ mới, chuyển sang nó ngay lập tức
+ .accesskey = h
+show-tabs-in-taskbar =
+ .label = Hiển thị hình ảnh xem trước thẻ trong thanh tác vụ Windows
+ .accesskey = k
+browser-containers-enabled =
+ .label = Kích hoạt ngăn chứa thẻ
+ .accesskey = n
+browser-containers-learn-more = Tìm hiểu thêm
+browser-containers-settings =
+ .label = Cài đặt…
+ .accesskey = i
+containers-disable-alert-title = Đóng tất cả các ngăn chứa thẻ?
+
+## Variables:
+## $tabCount (number) - Number of tabs
+
+containers-disable-alert-desc = Nếu bạn vô hiệu hóa ngăn chứa thẻ bây giờ, { $tabCount } thẻ trong ngăn chứa sẽ bị đóng. Bạn có chắc muốn vô hiệu hóa ngăn chứa thẻ?
+containers-disable-alert-ok-button = Đóng { $tabCount } thẻ trong ngăn chứa
+
+##
+
+containers-disable-alert-cancel-button = Tiếp tục bật
+containers-remove-alert-title = Xóa ngăn chứa này?
+# Variables:
+# $count (number) - Number of tabs that will be closed.
+containers-remove-alert-msg = Nếu bạn xóa ngăn chứa này bây giờ, { $count } thẻ trong ngăn chứa sẽ bị đóng. Bạn có chắc muốn xóa ngăn chứa này?
+containers-remove-ok-button = Xóa ngăn chứa này
+containers-remove-cancel-button = Không xóa ngăn chứa này
+settings-tabs-show-image-in-preview =
+ .label = Hiển thị hình ảnh xem trước khi bạn di chuột trên thẻ
+ .accessKey = h
+
+## General Section - Language & Appearance
+
+language-and-appearance-header = Ngôn ngữ và chủ đề
+preferences-web-appearance-header = Diện mạo trang web
+preferences-web-appearance-description = Một số trang web điều chỉnh bảng màu của họ dựa trên tùy chỉnh của bạn. Chọn bảng màu mà bạn muốn sử dụng cho các trang web đó.
+preferences-web-appearance-choice-auto = Tự động
+preferences-web-appearance-choice-light = Sáng
+preferences-web-appearance-choice-dark = Tối
+preferences-web-appearance-choice-tooltip-auto =
+ .title = Tự động thay đổi hình nền và nội dung trang web dựa trên cài đặt hệ thống và chủ đề { -brand-short-name } của bạn.
+preferences-web-appearance-choice-tooltip-light =
+ .title = Sử dụng giao diện sáng cho hình nền và nội dung trang web.
+preferences-web-appearance-choice-tooltip-dark =
+ .title = Sử dụng giao diện tối cho hình nền và nội dung trang web.
+preferences-web-appearance-choice-input-auto =
+ .aria-description = { preferences-web-appearance-choice-tooltip-auto.title }
+preferences-web-appearance-choice-input-light =
+ .aria-description = { preferences-web-appearance-choice-tooltip-light.title }
+preferences-web-appearance-choice-input-dark =
+ .aria-description = { preferences-web-appearance-choice-tooltip-dark.title }
+# This can appear when using windows HCM or "Override colors: always" without
+# system colors.
+preferences-web-appearance-override-warning = Các lựa chọn màu sắc của bạn đang ghi đè diện mạo trang web. <a data-l10n-name="colors-link">Quản lý màu</a>
+# This can appear when using windows HCM or "Override colors: always" without
+# system colors.
+preferences-web-appearance-override-warning2 =
+ .message = Các lựa chọn màu sắc của bạn đang ghi đè diện mạo trang web.
+# This message contains one link. It can be moved within the sentence as needed
+# to adapt to your language, but should not be changed.
+preferences-web-appearance-footer = Quản lý chủ đề { -brand-short-name } trong <a data-l10n-name="themes-link">Tiện ích mở rộng & chủ đề</a>
+preferences-colors-header = Màu
+preferences-colors-description = Ghi đè màu mặc định của { -brand-short-name } cho văn bản, nền trang web và liên kết.
+preferences-colors-manage-button =
+ .label = Quản lý màu…
+ .accesskey = C
+preferences-fonts-header = Phông chữ
+default-font = Phông mặc định
+ .accesskey = D
+default-font-size = Kích thước
+ .accesskey = S
+advanced-fonts =
+ .label = Nâng cao…
+ .accesskey = o
+# Zoom is a noun, and the message is used as header for a group of options
+preferences-zoom-header = Thu phóng
+preferences-default-zoom = Thu phóng mặc định
+ .accesskey = z
+# Variables:
+# $percentage (number) - Zoom percentage value
+preferences-default-zoom-value =
+ .label = { $percentage }%
+preferences-zoom-text-only =
+ .label = Chỉ thu phóng văn bản
+ .accesskey = t
+preferences-text-zoom-override-warning =
+ .message = Cảnh báo: Nếu bạn chọn “Chỉ phóng to văn bản” và thu phóng mặc định của bạn không được đặt thành 100%, nó có thể khiến một số trang web hoặc nội dung bị hỏng.
+language-header = Ngôn ngữ
+choose-language-description = Chọn ngôn ngữ ưu tiên bạn muốn để hiển thị trang
+choose-button =
+ .label = Chọn…
+ .accesskey = C
+choose-browser-language-description = Chọn ngôn ngữ được sử dụng để hiển thị bảng chọn, tin nhắn và thông báo từ { -brand-short-name }.
+manage-browser-languages-button =
+ .label = Đặt ngôn ngữ thay thế…
+ .accesskey = I
+confirm-browser-language-change-description = Khởi động lại { -brand-short-name } để áp dụng các thay đổi này
+confirm-browser-language-change-button = Áp dụng và Khởi động lại
+translate-web-pages =
+ .label = Dịch nội dung web
+ .accesskey = D
+fx-translate-web-pages = { -translations-brand-name }
+# The <img> element is replaced by the logo of the provider
+# used to provide machine translations for web pages.
+translate-attribution = Dịch bởi <img data-l10n-name="logo"/>
+translate-exceptions =
+ .label = Ngoại lệ...
+ .accesskey = N
+# Variables:
+# $localeName (string) - Localized name of the locale to be used.
+use-system-locale =
+ .label = Sử dụng các cài đặt hệ điều hành của bạn cho nhóm “{ $localeName }” để định dạng ngày, giờ, số và số đo.
+check-user-spelling =
+ .label = Kiểm tra chính tả khi bạn gõ
+ .accesskey = t
+
+## General Section - Files and Applications
+
+files-and-applications-title = Tập tin và ứng dụng
+download-header = Tải xuống
+download-save-where = Lưu tập tin vào
+ .accesskey = v
+download-choose-folder =
+ .label =
+ { PLATFORM() ->
+ [macos] Chọn…
+ *[other] Duyệt…
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] n
+ *[other] y
+ }
+download-always-ask-where =
+ .label = Luôn hỏi bạn nơi để lưu các tập tin
+ .accesskey = A
+applications-header = Ứng dụng
+applications-description = Chọn cách { -brand-short-name } xử lý các tập tin bạn tải xuống từ web hoặc các ứng dụng bạn sử dụng khi duyệt web.
+applications-filter =
+ .placeholder = Tìm các loại tập tin hoặc ứng dụng
+applications-type-column =
+ .label = Kiểu dữ liệu
+ .accesskey = K
+applications-action-column =
+ .label = Thao tác
+ .accesskey = a
+# Variables:
+# $extension (String) - file extension (e.g .TXT)
+applications-file-ending = Tập tin { $extension }
+applications-action-save =
+ .label = Lưu tập tin
+# Variables:
+# $app-name (String) - Name of an application (e.g Adobe Acrobat)
+applications-use-app =
+ .label = Dùng { $app-name }
+# Variables:
+# $app-name (String) - Name of an application (e.g Adobe Acrobat)
+applications-use-app-default =
+ .label = Dùng { $app-name } (mặc định)
+applications-use-os-default =
+ .label =
+ { PLATFORM() ->
+ [macos] Sử dụng ứng dụng mặc định macOS
+ [windows] Sử dụng ứng dụng mặc định Windows
+ *[other] Sử dụng ứng dụng mặc định hệ thống
+ }
+applications-use-other =
+ .label = Dùng chương trình khác…
+applications-select-helper = Chọn ứng dụng trợ giúp
+applications-manage-app =
+ .label = Chi tiết ứng dụng…
+applications-always-ask =
+ .label = Luôn hỏi
+# Variables:
+# $type-description (string) - Description of the type (e.g "Portable Document Format")
+# $type (string) - The MIME type (e.g application/binary)
+applications-type-description-with-type = { $type-description } ({ $type })
+# Variables:
+# $extension (string) - File extension (e.g .TXT)
+# $type (string) - The MIME type (e.g application/binary)
+applications-file-ending-with-type = { applications-file-ending } ({ $type })
+# Variables:
+# $plugin-name (string) - Name of a plugin (e.g Adobe Flash)
+applications-use-plugin-in =
+ .label = Dùng { $plugin-name } (trong { -brand-short-name })
+applications-open-inapp =
+ .label = Mở bằng { -brand-short-name }
+
+## The strings in this group are used to populate
+## selected label element based on the string from
+## the selected menu item.
+
+applications-use-plugin-in-label =
+ .value = { applications-use-plugin-in.label }
+applications-action-save-label =
+ .value = { applications-action-save.label }
+applications-use-app-label =
+ .value = { applications-use-app.label }
+applications-open-inapp-label =
+ .value = { applications-open-inapp.label }
+applications-always-ask-label =
+ .value = { applications-always-ask.label }
+applications-use-app-default-label =
+ .value = { applications-use-app-default.label }
+applications-use-other-label =
+ .value = { applications-use-other.label }
+applications-use-os-default-label =
+ .value = { applications-use-os-default.label }
+
+##
+
+applications-handle-new-file-types-description = { -brand-short-name } nên làm gì với các tập tin khác?
+applications-save-for-new-types =
+ .label = Lưu tập tin
+ .accesskey = S
+applications-ask-before-handling =
+ .label = Hỏi xem có nên mở hay lưu tập tin hay không
+ .accesskey = A
+drm-content-header = Nội dung quản lý bản quyền kỹ thuật số (DRM)
+play-drm-content =
+ .label = Phát nội dung DRM được kiểm soát
+ .accesskey = P
+play-drm-content-learn-more = Tìm hiểu thêm
+update-application-title = Cập nhật { -brand-short-name }
+update-application-description = Giữ { -brand-short-name } luôn cập nhật để đạt được hiệu năng, sự ổn định, và bảo mật tốt nhất.
+# Variables:
+# $version (string) - Firefox version
+update-application-version = Phiên bản { $version } <a data-l10n-name="learn-more">Có gì mới</a>
+update-history =
+ .label = Hiển thị lịch sử cập nhật…
+ .accesskey = p
+update-application-allow-description = Cho phép { -brand-short-name }
+update-application-auto =
+ .label = Tự động cài đặt các bản cập nhật (khuyến nghị)
+ .accesskey = A
+update-application-check-choose =
+ .label = Kiểm tra các bản cập nhật nhưng bạn sẽ lựa chọn việc cài đặt chúng
+ .accesskey = C
+update-application-manual =
+ .label = Không bao giờ kiểm tra các bản cập nhật (không khuyến nghị)
+ .accesskey = N
+update-application-background-enabled =
+ .label = Khi { -brand-short-name } không chạy
+ .accesskey = W
+update-application-warning-cross-user-setting = Cài đặt này sẽ áp dụng cho tất cả các tài khoản Windows và hồ sơ { -brand-short-name } bằng cách sử dụng cài đặt { -brand-short-name } này.
+update-application-use-service =
+ .label = Sử dụng dịch vụ chạy nền để cài đặt các cập nhật
+ .accesskey = n
+update-application-suppress-prompts =
+ .label = Hiển thị ít lời nhắc thông báo cập nhật hơn
+ .accesskey = n
+update-setting-write-failure-title2 = Lỗi khi lưu cài đặt 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-message2 =
+ { -brand-short-name } đã gặp lỗi và đã không lưu thay đổi này. Lưu ý rằng cài đặt tùy chỉnh 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 = &Hủy 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
+
+## General Section - Performance
+
+performance-title = Hiệu suất
+performance-use-recommended-settings-checkbox =
+ .label = Sử dụng các cài đặt về hiệu suất được khuyến nghị
+ .accesskey = U
+performance-use-recommended-settings-desc = Các cài đặt này được thiết kế riêng cho phần cứng máy tính và hệ điều hành của bạn.
+performance-settings-learn-more = Tìm hiểu thêm
+performance-allow-hw-accel =
+ .label = Sử dụng chế độ tăng tốc phần cứng khi khả dụng
+ .accesskey = h
+performance-limit-content-process-option = Giới hạn xử lý nội dung
+ .accesskey = L
+performance-limit-content-process-enabled-desc = Các tiến trình xử lý nội dung bổ sung có thể cải thiện hiệu suất khi sử dụng nhiều thẻ một lúc, nhưng cũng sẽ tiêu tốn nhiều bộ nhớ.
+performance-limit-content-process-blocked-desc = Việc chỉnh sửa số tiến trình xử lý nội dung chỉ có thể thực hiện với { -brand-short-name } đa tiến trình. <a data-l10n-name="learn-more">Tìm hiểu làm cách nào để kiểm tra khi chế độ đa tiến trình được bật</a>
+# Variables:
+# $num (number) - Default value of the `dom.ipc.processCount` pref.
+performance-default-content-process-count =
+ .label = { $num } (mặc định)
+
+## General Section - Browsing
+
+browsing-title = Duyệt
+browsing-use-autoscroll =
+ .label = Tự động cuộn
+ .accesskey = u
+browsing-use-smooth-scrolling =
+ .label = Cuộn uyển chuyển
+ .accesskey = y
+browsing-gtk-use-non-overlay-scrollbars =
+ .label = Luôn hiển thị thanh cuộn
+ .accesskey = o
+browsing-always-underline-links =
+ .label = Luôn gạch chân các liên kết
+ .accesskey = u
+browsing-use-onscreen-keyboard =
+ .label = Hiển thị bàn phím cảm ứng khi cần thiết
+ .accesskey = b
+browsing-use-cursor-navigation =
+ .label = Cho phép dùng con trỏ để di chuyển bên trong trang
+ .accesskey = c
+browsing-use-full-keyboard-navigation =
+ .label = Sử dụng phím tab để di chuyển phần được chọn giữa các trường biểu mẫu và liên kết
+ .accesskey = t
+browsing-search-on-start-typing =
+ .label = Tìm kiếm văn bản khi bạn bắt đầu nhập
+ .accesskey = x
+browsing-picture-in-picture-toggle-enabled =
+ .label = Bật điều khiển video hình trong hình
+ .accesskey = E
+browsing-picture-in-picture-learn-more = Tìm hiểu thêm
+browsing-media-control =
+ .label = Điều khiển phương tiện qua bàn phím, tai nghe hoặc giao diện ảo
+ .accesskey = v
+browsing-media-control-learn-more = Tìm hiểu thêm
+browsing-cfr-recommendations =
+ .label = Đề xuất tiện ích mở rộng khi duyệt
+ .accesskey = R
+browsing-cfr-features =
+ .label = Đề xuất các tính năng khi bạn duyệt
+ .accesskey = f
+browsing-cfr-recommendations-learn-more = Tìm hiểu thêm
+
+## General Section - Proxy
+
+network-settings-title = Cài đặt mạng
+network-proxy-connection-description = Cấu hình phương thức { -brand-short-name } kết nối internet.
+network-proxy-connection-learn-more = Tìm hiểu thêm
+network-proxy-connection-settings =
+ .label = Cài đặt…
+ .accesskey = e
+
+## Home Section
+
+home-new-windows-tabs-header = Cửa sổ và thẻ mới
+home-new-windows-tabs-description2 = Chọn những gì bạn thấy khi bạn mở trang chủ, cửa sổ mới và các thẻ mới.
+
+## Home Section - Home Page Customization
+
+home-homepage-mode-label = Trang chủ và cửa sổ mới
+home-newtabs-mode-label = Thẻ mới
+home-restore-defaults =
+ .label = Khôi phục về mặc định
+ .accesskey = R
+home-mode-choice-default-fx =
+ .label = { -firefox-home-brand-name } (Mặc định)
+home-mode-choice-custom =
+ .label = Tùy chỉnh URL...
+home-mode-choice-blank =
+ .label = Trang trắng
+home-homepage-custom-url =
+ .placeholder = Dán một URL...
+# This string has a special case for '1' and [other] (default). If necessary for
+# your language, you can add {$tabCount} to your translations and use the
+# standard CLDR forms, or only use the form for [other] if both strings should
+# be identical.
+use-current-pages =
+ .label =
+ { $tabCount ->
+ [1] Dùng các trang hiện tại
+ *[other] Dùng các trang hiện tại
+ }
+ .accesskey = C
+choose-bookmark =
+ .label = Sử dụng dấu trang…
+ .accesskey = B
+
+## Home Section - Firefox Home Content Customization
+
+home-prefs-content-header2 = Nội dung { -firefox-home-brand-name }
+home-prefs-content-description2 = Chọn nội dung bạn muốn trên màn hình { -firefox-home-brand-name } của mình.
+home-prefs-search-header =
+ .label = Tìm kiếm web
+home-prefs-shortcuts-header =
+ .label = Lối tắt
+home-prefs-shortcuts-description = Các trang web bạn lưu hoặc truy cập
+home-prefs-shortcuts-by-option-sponsored =
+ .label = Các lối tắt được tài trợ
+
+## Variables:
+## $provider (string) - Name of the corresponding content provider, e.g "Pocket".
+
+home-prefs-recommended-by-header =
+ .label = Được đề xuất bởi { $provider }
+home-prefs-recommended-by-description-new = Nội dung đặc biệt do { $provider }, một phần của { -brand-product-name }, quản lý
+home-prefs-recommended-by-header-generic =
+ .label = Câu chuyện được đề xuất
+home-prefs-recommended-by-description-generic = Nội dung đặc biệt được quản lý bởi gia đình { -brand-product-name }
+
+##
+
+home-prefs-recommended-by-learn-more = Nó hoạt động như thế nào
+home-prefs-recommended-by-option-sponsored-stories =
+ .label = Bài viết quảng cáo
+home-prefs-recommended-by-option-recent-saves =
+ .label = Hiển thị các mục đã lưu gần đây
+home-prefs-highlights-option-visited-pages =
+ .label = Trang đã truy cập
+home-prefs-highlights-options-bookmarks =
+ .label = Dấu trang
+home-prefs-highlights-option-most-recent-download =
+ .label = Tải xuống gần đây nhất
+home-prefs-highlights-option-saved-to-pocket =
+ .label = Đã lưu trang vào { -pocket-brand-name }
+home-prefs-recent-activity-header =
+ .label = Hoạt động gần đây
+home-prefs-recent-activity-description = Tuyển chọn các trang và nội dung gần đây
+# For the "Snippets" feature traditionally on about:home.
+# Alternative translation options: "Small Note" or something that
+# expresses the idea of "a small message, shortened from something else,
+# and non-essential but also not entirely trivial and useless.
+home-prefs-snippets-header =
+ .label = Ghi chú nhỏ
+home-prefs-snippets-description-new = Mẹo và tin tức từ { -vendor-short-name } và { -brand-product-name }
+# Variables:
+# $num (number) - Number of rows displayed
+home-prefs-sections-rows-option =
+ .label = { $num } hàng
+
+## Search Section
+
+search-bar-header = Thanh tìm kiếm
+search-bar-hidden =
+ .label = Dùng thanh địa chỉ để tìm kiếm và điều hướng
+search-bar-shown =
+ .label = Thêm thanh tìm kiếm vào thanh công cụ
+search-engine-default-header = Dịch vụ tìm kiếm mặc định
+search-engine-default-desc-2 = Đây là công cụ tìm kiếm mặc định của bạn trong thanh địa chỉ và thanh tìm kiếm. Bạn có thể chuyển đổi bất cứ lúc nào.
+search-engine-default-private-desc-2 = Chọn một công cụ tìm kiếm mặc định khác chỉ dành cho cửa sổ riêng tư
+search-separate-default-engine =
+ .label = Sử dụng công cụ tìm kiếm này trong cửa sổ riêng tư
+ .accesskey = U
+search-suggestions-header = Đề xuất tìm kiếm
+search-suggestions-desc = Chọn cách đề xuất từ các công cụ tìm kiếm xuất hiện.
+search-suggestions-option =
+ .label = Tự động đề nghị từ khóa tìm kiếm
+ .accesskey = n
+search-show-suggestions-option =
+ .label = Hiển thị đề xuất tìm kiếm
+ .accesskey = S
+search-show-suggestions-url-bar-option =
+ .label = Hiển thị gợi ý tìm kiếm trong kết quả thanh địa chỉ
+ .accesskey = l
+# With this option enabled, on the search results page
+# the URL will be replaced by the search terms in the address bar
+# when using the current default search engine.
+search-show-search-term-option =
+ .label = Hiển thị các cụm từ tìm kiếm thay vì URL trên trang kết quả của công cụ tìm kiếm mặc định
+# This string describes what the user will observe when the system
+# prioritizes search suggestions over browsing history in the results
+# that extend down from the address bar. In the original English string,
+# "ahead" refers to location (appearing most proximate to), not time
+# (appearing before).
+search-show-suggestions-above-history-option =
+ .label = Hiển thị những gợi ý tìm kiếm phía trước lịch sử duyệt web trong kết quả thanh địa chỉ
+search-show-suggestions-private-windows =
+ .label = Hiển thị đề xuất tìm kiếm trong cửa sổ riêng tư
+suggestions-addressbar-settings-generic2 = Thay đổi cài đặt cho các đề xuất khác trên thanh địa chỉ
+search-suggestions-cant-show = Gợi ý tìm kiếm sẽ không được hiển thị ở thanh địa chỉ vì bạn đã thiết lập { -brand-short-name } không bao giờ ghi nhớ lịch sử.
+search-one-click-header2 = Lối tắt tìm kiếm
+search-one-click-desc = Chọn các công cụ tìm kiếm thay thế xuất hiện bên dưới thanh địa chỉ và thanh tìm kiếm khi bạn bắt đầu nhập một từ khoá.
+search-choose-engine-column =
+ .label = Công cụ tìm kiếm
+search-choose-keyword-column =
+ .label = Từ khóa
+search-restore-default =
+ .label = Đặt lại công cụ tìm kiếm mặc định
+ .accesskey = D
+search-remove-engine =
+ .label = Xóa
+ .accesskey = X
+search-add-engine =
+ .label = Thêm
+ .accesskey = A
+search-find-more-link = Tìm các công cụ tìm kiếm khác
+# This warning is displayed when the chosen keyword is already in use
+# ('Duplicate' is an adjective)
+search-keyword-warning-title = Nhân bản Từ khóa
+# Variables:
+# $name (string) - Name of a search engine.
+search-keyword-warning-engine = Bạn đã chọn một từ khóa hiện đang được dùng bởi "{ $name }". Vui lòng chọn từ khác.
+search-keyword-warning-bookmark = Bạn đã chọn một từ khóa hiện đang được dùng bởi một dấu trang. Vui lòng chọn từ khác.
+
+## Containers Section
+
+containers-back-button2 =
+ .aria-label = Quay lại Cài đặt
+containers-header = Ngăn chứa thẻ
+containers-add-button =
+ .label = Thêm ngăn chứa mới
+ .accesskey = T
+containers-new-tab-check =
+ .label = Chọn một ngăn chứa cho mỗi thẻ mới
+ .accesskey = S
+containers-settings-button =
+ .label = Cài đặt
+containers-remove-button =
+ .label = Loại bỏ
+
+## Firefox account - Signed out. Note that "Sync" and "Firefox account" are now
+## more discrete ("signed in" no longer means "and sync is connected").
+
+sync-signedout-caption = Mang trang web theo bạn
+sync-signedout-description2 = Đồng bộ trang đánh dấu, lịch sử, thẻ, mật khẩu, tiện ích và cài đặt tới tất cả các thiết bị của bạn.
+sync-signedout-account-signin3 =
+ .label = Đăng nhập để đồng bộ hóa…
+ .accesskey = i
+# This message contains two links and two icon images.
+# `<img data-l10n-name="android-icon"/>` - Android logo icon
+# `<a data-l10n-name="android-link">` - Link to Android Download
+# `<img data-l10n-name="ios-icon">` - iOS logo icon
+# `<a data-l10n-name="ios-link">` - Link to iOS Download
+#
+# They can be moved within the sentence as needed to adapt
+# to your language, but should not be changed or translated.
+sync-mobile-promo = Tải Firefox cho <img data-l10n-name="android-icon"/> <a data-l10n-name="android-link">Android</a> hoặc <img data-l10n-name="ios-icon"/> <a data-l10n-name="ios-link">iOS</a> để đồng bị với thiết bị di động của bạn.
+
+## Firefox account - Signed in
+
+sync-profile-picture =
+ .tooltiptext = Đổi hình hồ sơ
+sync-sign-out =
+ .label = Đăng xuất…
+ .accesskey = g
+sync-manage-account = Quản lý tài khoản
+ .accesskey = k
+
+## Variables
+## $email (string) - Email used for Firefox account
+
+sync-signedin-unverified = { $email } chưa được kiểm tra.
+sync-signedin-login-failure = Xin hãy đăng nhập để kết nối lại { $email }
+
+##
+
+sync-resend-verification =
+ .label = Gửi lại xác nhận
+ .accesskey = d
+sync-verify-account =
+ .label = Xác minh tài khoản
+ .accesskey = V
+sync-remove-account =
+ .label = Xóa tài khoản
+ .accesskey = R
+sync-sign-in =
+ .label = Đăng nhập
+ .accesskey = g
+
+## Sync section - enabling or disabling sync.
+
+prefs-syncing-on = Đồng bộ hóa: BẬT
+prefs-syncing-off = Đồng bộ hóa: TẮT
+prefs-sync-turn-on-syncing =
+ .label = Bật đồng bộ hóa…
+ .accesskey = s
+prefs-sync-offer-setup-label2 = Đồng bộ trang đánh dấu, lịch sử, thẻ, mật khẩu, tiện ích và cài đặt tới tất cả các thiết bị của bạn.
+prefs-sync-now =
+ .labelnotsyncing = Đồng bộ hóa ngay
+ .accesskeynotsyncing = N
+ .labelsyncing = Đang đồng bộ hóa…
+prefs-sync-now-button =
+ .label = Đồng bộ hóa ngay
+ .accesskey = N
+prefs-syncing-button =
+ .label = Đang đồng bộ hóa…
+
+## The list of things currently syncing.
+
+sync-syncing-across-devices-heading = Bạn đang đồng bộ hóa các mục này trên tất cả các thiết bị được kết nối của mình:
+sync-currently-syncing-bookmarks = Dấu trang
+sync-currently-syncing-history = Lịch sử
+sync-currently-syncing-tabs = Các thẻ đang mở
+sync-currently-syncing-logins-passwords = Thông tin đăng nhập và mật khẩu
+sync-currently-syncing-passwords = Mật khẩu
+sync-currently-syncing-addresses = Địa chỉ
+sync-currently-syncing-creditcards = Thẻ tín dụng
+sync-currently-syncing-payment-methods = Phương thức thanh toán
+sync-currently-syncing-addons = Tiện ích
+sync-currently-syncing-settings = Cài đặt
+sync-change-options =
+ .label = Thay đổi…
+ .accesskey = C
+
+## The "Choose what to sync" dialog.
+
+sync-choose-what-to-sync-dialog3 =
+ .title = Chọn những gì để đồng bộ hóa
+ .style = min-width: 46em;
+ .buttonlabelaccept = Lưu thay đổi
+ .buttonaccesskeyaccept = S
+ .buttonlabelextra2 = Ngắt kết nối…
+ .buttonaccesskeyextra2 = D
+sync-choose-dialog-subtitle = Các thay đổi đối với danh sách các mục cần đồng bộ hóa sẽ được phản ánh trên tất cả các thiết bị được kết nối của bạn.
+sync-engine-bookmarks =
+ .label = Dấu trang
+ .accesskey = m
+sync-engine-history =
+ .label = Lịch sử
+ .accesskey = r
+sync-engine-tabs =
+ .label = Các thẻ đang mở
+ .tooltiptext = Danh sách những trang web đang mở trên các thiết bị được đồng bộ
+ .accesskey = t
+sync-engine-logins-passwords =
+ .label = Thông tin đăng nhập và mật khẩu
+ .tooltiptext = Tên đăng nhập và mật khẩu bạn đã lưu
+ .accesskey = L
+sync-engine-passwords =
+ .label = Mật khẩu
+ .tooltiptext = Các mật khẩu bạn đã lưu
+ .accesskey = P
+sync-engine-addresses =
+ .label = Địa chỉ
+ .tooltiptext = Địa chỉ bưu chính bạn đã lưu (chỉ trên phiên bản máy tính)
+ .accesskey = e
+sync-engine-creditcards =
+ .label = Thẻ tín dụng
+ .tooltiptext = Tên, số và ngày hết hạn (chỉ trên phiên bản máy tính)
+ .accesskey = C
+sync-engine-payment-methods2 =
+ .label = Phương thức thanh toán
+ .tooltiptext = Tên, số thẻ và ngày hết hạn
+ .accesskey = n
+sync-engine-addons =
+ .label = Tiện ích
+ .tooltiptext = Tiện ích mở rộng và chủ đề của Firefox dành cho máy tính
+ .accesskey = A
+sync-engine-settings =
+ .label = Cài đặt
+ .tooltiptext = Cài đặt tổng quát, riêng tư và bảo mật mà bạn đã thay đổi
+ .accesskey = s
+
+## The device name controls.
+
+sync-device-name-header = Tên thiết bị
+sync-device-name-change =
+ .label = Thay đổi tên thiết bị…
+ .accesskey = h
+sync-device-name-cancel =
+ .label = Hủy bỏ
+ .accesskey = n
+sync-device-name-save =
+ .label = Lưu
+ .accesskey = u
+sync-connect-another-device = Kết nối thiết bị khác
+
+## These strings are shown in a desktop notification after the
+## user requests we resend a verification email.
+
+sync-verification-sent-title = Tin nhắn xác thực đã được gửi
+# Variables:
+# $email (String): Email address of user's Firefox account.
+sync-verification-sent-body = Một liên kết xác thực đã được gửi tới { $email }
+sync-verification-not-sent-title = Không thể gửi xác thực
+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.
+
+## Privacy Section
+
+privacy-header = Duyệt web riêng tư
+
+## Privacy Section - Logins and Passwords
+
+# The search keyword isn't shown to users but is used to find relevant settings in about:preferences.
+pane-privacy-logins-and-passwords-header = Thông tin đăng nhập & mật khẩu
+ .searchkeywords = { -lockwise-brand-short-name }
+# Checkbox to control whether UI is shown to users to save or fill logins/passwords.
+forms-ask-to-save-logins =
+ .label = Hỏi để lưu lại thông tin đăng nhập và mật khẩu cho trang web
+ .accesskey = r
+
+## Privacy Section - Passwords
+
+# "Logins" is the former term for "Passwords". Users should find password settings
+# by searching for the former term "logins". It's not displayed in the UI.
+pane-privacy-passwords-header = Mật khẩu
+ .searchkeywords = đăng nhập
+# Checkbox to control whether UI is shown to users to save or fill logins/passwords.
+forms-ask-to-save-passwords =
+ .label = Hỏi để lưu mật khẩu
+ .accesskey = A
+forms-exceptions =
+ .label = Ngoại lệ…
+ .accesskey = x
+forms-generate-passwords =
+ .label = Đề xuất và tạo mật khẩu mạnh
+ .accesskey = u
+forms-suggest-passwords =
+ .label = Đề xuất mật khẩu mạnh
+ .accesskey = S
+forms-breach-alerts =
+ .label = Hiển thị cảnh báo về mật khẩu cho các trang web bị rò rỉ
+ .accesskey = b
+forms-breach-alerts-learn-more-link = Tìm hiểu thêm
+preferences-relay-integration-checkbox =
+ .label = Đề xuất mặt nạ email { -relay-brand-name } để bảo vệ địa chỉ email của bạn
+preferences-relay-integration-checkbox2 =
+ .label = Đề xuất mặt nạ email { -relay-brand-name } để bảo vệ địa chỉ email của bạn
+ .accesskey = r
+relay-integration-learn-more-link = Tìm hiểu thêm
+# Checkbox which controls filling saved logins into fields automatically when they appear, in some cases without user interaction.
+forms-fill-logins-and-passwords =
+ .label = Tự động điền đăng nhập và mật khẩu
+ .accesskey = i
+forms-saved-logins =
+ .label = Đăng nhập đã lưu…
+ .accesskey = L
+# Checkbox which controls filling saved logins into fields automatically when they appear, in some cases without user interaction.
+forms-fill-usernames-and-passwords =
+ .label = Tự động điền tên người dùng và mật khẩu
+ .accesskey = F
+forms-saved-passwords =
+ .label = Mật khẩu đã lưu
+ .accesskey = d
+forms-primary-pw-use =
+ .label = Sử dụng mật khẩu chính
+ .accesskey = U
+forms-primary-pw-learn-more-link = Tìm hiểu thêm
+# This string uses the former name of the Primary Password feature
+# ("Master Password" in English) so that the preferences can be found
+# when searching for the old name. The accesskey is unused.
+forms-master-pw-change =
+ .label = Thay đổi mật khẩu chính…
+ .accesskey = M
+forms-primary-pw-change =
+ .label = Thay đổi mật khẩu chính…
+ .accesskey = P
+# Leave this message empty if the translation for "Primary Password" matches
+# "Master Password" in your language. If you're editing the FTL file directly,
+# use { "" } as the value.
+forms-primary-pw-former-name = { "" }
+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
+forms-windows-sso =
+ .label = Cho phép Windows đăng nhập một lần cho tài khoản Microsoft, cơ quan và trường học
+forms-windows-sso-learn-more-link = Tìm hiểu thêm
+forms-windows-sso-desc = Quản lý tài khoản trong cài đặt thiết bị của bạn
+windows-passkey-settings-label = Quản lý passkey trong cài đặt hệ thống
+
+## 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 "Firefox 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
+master-password-os-auth-dialog-caption = { -brand-full-name }
+
+## Privacy section - Autofill
+
+pane-privacy-autofill-header = Tự động điền
+autofill-addresses-checkbox = Lưu và điền địa chỉ
+ .accesskey = a
+autofill-saved-addresses-button = Địa chỉ đã lưu
+ .accesskey = S
+autofill-payment-methods-checkbox-message = Lưu và điền phương thức thanh toán
+ .accesskey = m
+autofill-payment-methods-checkbox-submessage = Bao gồm thẻ tín dụng và thẻ ghi nợ
+ .accesskey = I
+autofill-saved-payment-methods-button = Phương thức thanh toán đã lưu
+ .accesskey = v
+autofill-reauth-checkbox =
+ { PLATFORM() ->
+ [macos] Yêu cầu xác thực trên macOS để điền và chỉnh sửa phương thức thanh toán.
+ [windows] Yêu cầu xác thực trên Windows để điền và chỉnh sửa phương thức thanh toán.
+ [linux] Yêu cầu xác thực trên Linux để điền và chỉnh sửa phương thức thanh toán.
+ *[other] Yêu cầu xác thực để điền và chỉnh sửa phương thức thanh toán.
+ }
+ .accesskey = o
+
+## Privacy Section - History
+
+history-header = Lịch sử
+# This label is followed, on the same line, by a dropdown list of options
+# (Remember history, etc.).
+# In English it visually creates a full sentence, e.g.
+# "Firefox will" + "Remember history".
+#
+# If this doesn't work for your language, you can translate this message:
+# - Simply as "Firefox", moving the verb into each option.
+# This will result in "Firefox" + "Will remember history", etc.
+# - As a stand-alone message, for example "Firefox history settings:".
+history-remember-label = { -brand-short-name } sẽ
+ .accesskey = w
+history-remember-option-all =
+ .label = Ghi nhớ lịch sử
+history-remember-option-never =
+ .label = Không bao giờ ghi nhớ lịch sử
+history-remember-option-custom =
+ .label = Sử dụng thiết lập tùy biến cho lịch sử
+history-remember-description = { -brand-short-name } sẽ ghi nhớ lịch sử duyệt web, tải xuống, biểu mẫu và tìm kiếm của bạn.
+history-dontremember-description = { -brand-short-name } sẽ dùng thiết lập giống như chế độ duyệt web riêng tư, và sẽ không ghi nhớ lịch sử khi bạn duyệt Web.
+history-private-browsing-permanent =
+ .label = Luôn dùng chế độ duyệt web riêng tư
+ .accesskey = p
+history-remember-browser-option =
+ .label = Ghi nhớ lịch sử truy cập và tải xuống của tôi
+ .accesskey = b
+history-remember-search-option =
+ .label = Ghi nhớ lịch sử biểu mẫu và tìm kiếm
+ .accesskey = f
+history-clear-on-close-option =
+ .label = Xóa lịch sử khi đóng { -brand-short-name }
+ .accesskey = r
+history-clear-on-close-settings =
+ .label = Cài đặt…
+ .accesskey = t
+history-clear-button =
+ .label = Xóa lịch sử...
+ .accesskey = s
+
+## Privacy Section - Site Data
+
+sitedata-header = Cookie và dữ liệu trang
+sitedata-total-size-calculating = Đang tính toán kích thước bộ nhớ đệm và dữ liệu trang…
+# Variables:
+# $value (number) - Value of the unit (for example: 4.6, 500)
+# $unit (string) - Name of the unit (for example: "bytes", "KB")
+sitedata-total-size = Cookie, dữ liệu trang và bộ nhớ đệm của bạn hiện đang sử dụng { $value } { $unit } dung lượng đĩa.
+sitedata-learn-more = Tìm hiểu thêm
+sitedata-delete-on-close =
+ .label = Xóa cookie và dữ liệu trang web khi đóng { -brand-short-name }
+ .accesskey = c
+sitedata-delete-on-close-private-browsing = Trong chế độ duyệt riêng tư, cookie và dữ liệu trang web sẽ luôn bị xóa khi { -brand-short-name } bị đóng.
+sitedata-delete-on-close-private-browsing2 = Dựa trên cài đặt lịch sử của bạn, { -brand-short-name } xóa cookie và dữ liệu trang web khỏi phiên của bạn khi bạn đóng trình duyệt.
+sitedata-allow-cookies-option =
+ .label = Cho phép cookie và dữ liệu trang
+ .accesskey = A
+sitedata-disallow-cookies-option =
+ .label = Chặn cookie và dữ liệu trang
+ .accesskey = B
+# This label means 'type of content that is blocked', and is followed by a drop-down list with content types below.
+# The list items are the strings named sitedata-block-*-option*.
+sitedata-block-desc = Loại bị chặn
+ .accesskey = T
+sitedata-option-block-cross-site-trackers =
+ .label = Trình theo dõi trên nhiều trang web
+sitedata-option-block-cross-site-tracking-cookies =
+ .label = Cookie theo dõi trên nhiều trang web
+sitedata-option-block-cross-site-cookies =
+ .label = Cookie theo dõi trên nhiều trang web và cô lập các cookie trên nhiều trang khác
+sitedata-option-block-unvisited =
+ .label = Cookie từ các trang web không mong muốn
+sitedata-option-block-all-cross-site-cookies =
+ .label = Tất cả cookie trên nhiều trang web (có thể khiến trang web bị hỏng)
+sitedata-option-block-all =
+ .label = Tất cả các cookie (có thể khiến các trang web bị hỏng)
+sitedata-clear =
+ .label = Xóa dữ liệu...
+ .accesskey = l
+sitedata-settings =
+ .label = Quản lý dữ liệu...
+ .accesskey = M
+sitedata-cookies-exceptions =
+ .label = Quản lý ngoại lệ…
+ .accesskey = x
+
+## Privacy Section - Cookie Banner Handling
+
+cookie-banner-handling-header = Giảm biểu ngữ cookie
+cookie-banner-handling-description = { -brand-short-name } tự động cố gắng từ chối các yêu cầu cookie trên biểu ngữ cookie trên các trang web được hỗ trợ.
+
+## Privacy Section - Cookie Banner Blocking
+
+cookie-banner-blocker-header = Trình chặn biểu ngữ cookie
+cookie-banner-blocker-description = Khi một trang web hỏi liệu họ có thể sử dụng cookie ở chế độ duyệt web riêng tư không, { -brand-short-name } tự động từ chối cho bạn. Chỉ trên các trang web được hỗ trợ.
+cookie-banner-learn-more = Tìm hiểu thêm
+forms-handle-cookie-banners =
+ .label = Giảm biểu ngữ cookie
+cookie-banner-blocker-checkbox-label =
+ .label = Tự động từ chối các biểu ngữ cookie
+
+## Privacy Section - Address Bar
+
+addressbar-header = Thanh địa chỉ
+addressbar-suggest = Khi dùng thanh địa chỉ, gợi ý
+addressbar-locbar-history-option =
+ .label = Lịch sử duyệt web
+ .accesskey = h
+addressbar-locbar-bookmarks-option =
+ .label = Dấu trang
+ .accesskey = k
+addressbar-locbar-clipboard-option =
+ .label = Khay nhớ tạm
+ .accesskey = C
+addressbar-locbar-openpage-option =
+ .label = Các thẻ đang mở
+ .accesskey = O
+# Shortcuts refers to the shortcut tiles on the new tab page, previously known as top sites. Translation should be consistent.
+addressbar-locbar-shortcuts-option =
+ .label = Lối tắt
+ .accesskey = S
+addressbar-locbar-topsites-option =
+ .label = Trang web hàng đầu
+ .accesskey = T
+addressbar-locbar-engines-option =
+ .label = Công cụ tìm kiếm
+ .accesskey = t
+addressbar-locbar-quickactions-option =
+ .label = Hành động nhanh
+ .accesskey = Q
+addressbar-suggestions-settings = Thay đổi tùy chỉnh phần gợi ý của công cụ tìm kiếm
+addressbar-locbar-showrecentsearches-option =
+ .label = Hiển thị các tìm kiếm gần đây
+ .accesskey = F
+addressbar-quickactions-learn-more = Tìm hiểu thêm
+
+## Privacy Section - Content Blocking
+
+content-blocking-enhanced-tracking-protection = Trình chống theo dõi nâng cao
+content-blocking-section-top-level-description = Trình theo dõi theo bạn trên mạng để thu thập thông tin về thói quen và sở thích duyệt web của bạn. { -brand-short-name } chặn nhiều trình theo dõi và các tập lệnh độc hại khác.
+content-blocking-learn-more = Tìm hiểu thêm
+content-blocking-fpi-incompatibility-warning = Bạn đang sử dụng First Party Isolation (FPI), tính năng này sẽ ghi đè một số cài đặt cookie của { -brand-short-name }.
+# There is no need to translate "Resist Fingerprinting (RFP)". This is a
+# feature that can only be enabled via about:config, and it's not exposed to
+# standard users (e.g. via Settings).
+content-blocking-rfp-incompatibility-warning = Bạn đang sử dụng Resist Fingerprinting (RFP), nó sẽ thay thế một số cài đặt bảo vệ dấu vết của { -brand-short-name }. Điều này có thể khiến một số trang web bị hỏng.
+
+## These strings are used to define the different levels of
+## Enhanced Tracking Protection.
+
+# "Standard" in this case is an adjective, meaning "default" or "normal".
+enhanced-tracking-protection-setting-standard =
+ .label = Tiêu chuẩn
+ .accesskey = d
+enhanced-tracking-protection-setting-strict =
+ .label = Nghiêm ngặt
+ .accesskey = r
+enhanced-tracking-protection-setting-custom =
+ .label = Tùy chỉnh
+ .accesskey = C
+
+##
+
+content-blocking-etp-standard-desc = Cân bằng để bảo vệ và hiệu suất. Các trang sẽ tải bình thường.
+content-blocking-etp-strict-desc = Bảo vệ mạnh mẽ hơn, nhưng có thể khiến một số trang web và nội dung bị phá vỡ.
+content-blocking-etp-custom-desc = Chọn trình theo dõi và tập lệnh để chặn.
+content-blocking-etp-blocking-desc = { -brand-short-name } chặn những điều sau:
+content-blocking-private-windows = Trình theo dõi nội dung trong cửa sổ riêng tư
+content-blocking-cross-site-cookies-in-all-windows2 = Cookie trên nhiều trang web trong tất cả các cửa sổ
+content-blocking-cross-site-tracking-cookies = Cookie theo dõi trên nhiều trang web
+content-blocking-all-cross-site-cookies-private-windows = Cookie trên nhiều trang web trong cửa sổ riêng tư
+content-blocking-cross-site-tracking-cookies-plus-isolate = Cookie theo dõi trên nhiều trang web và cô lập các cookie còn lại
+content-blocking-social-media-trackers = Trình theo dõi truyền thông xã hội
+content-blocking-all-cookies = Tất cả cookie
+content-blocking-unvisited-cookies = Cookie từ các trang không mong muốn
+content-blocking-all-windows-tracking-content = Trình theo dõi nội dung trong tất cả cửa sổ
+content-blocking-all-cross-site-cookies = Tất cả cookie trên nhiều trang web
+content-blocking-cryptominers = Tiền điện tử
+content-blocking-fingerprinters = Dấu vết (Fingerprintng)
+# The known fingerprinters are those that are known for collecting browser fingerprints from user devices. And
+# the suspected fingerprinters are those that we are uncertain about browser fingerprinting activities. But they could
+# possibly acquire browser fingerprints because of the behavior on accessing APIs that expose browser fingerprints.
+content-blocking-known-and-suspected-fingerprinters = Dấu vết đã biết và đáng ngờ
+
+# The tcp-rollout strings are no longer used for the rollout but for tcp-by-default in the standard section
+
+# "Contains" here means "isolates", "limits".
+content-blocking-etp-standard-tcp-rollout-description = Trình chống cookie chung chứa các cookie cho trang web bạn đang truy cập, vì vậy, trình theo dõi không thể sử dụng chúng để theo dõi bạn giữa các trang web.
+content-blocking-etp-standard-tcp-rollout-learn-more = Tìm hiểu thêm
+content-blocking-etp-standard-tcp-title = Bao gồm Trình chống cookie chung, tính năng bảo mật mạnh mẽ nhất từ trước đến nay của chúng tôi
+content-blocking-warning-title = Hãy cân nhắc!
+content-blocking-and-isolating-etp-warning-description-2 = Cài đặt này có thể khiến một số trang web không hiển thị nội dung hoặc hoạt động không chính xác. Nếu trang web có vẻ bị hỏng, bạn có thể muốn tắt trình chống theo dõi để trang web đó tải tất cả nội dung.
+content-blocking-warning-learn-how = Tìm hiểu cách thức
+content-blocking-reload-description = Bạn sẽ cần tải lại các thẻ của mình để áp dụng những thay đổi này.
+content-blocking-reload-tabs-button =
+ .label = Tải lại tất cả các thẻ
+ .accesskey = R
+content-blocking-tracking-content-label =
+ .label = Trình theo dõi nội dung
+ .accesskey = T
+content-blocking-tracking-protection-option-all-windows =
+ .label = Trong tất cả các cửa sổ
+ .accesskey = A
+content-blocking-option-private =
+ .label = Chỉ trong cửa sổ riêng tư
+ .accesskey = P
+content-blocking-tracking-protection-change-block-list = Thay đổi danh sách chặn
+content-blocking-cookies-label =
+ .label = Cookie
+ .accesskey = C
+content-blocking-expand-section =
+ .tooltiptext = Thông tin chi tiết
+# Cryptomining refers to using scripts on websites that can use a computer’s resources to mine cryptocurrency without a user’s knowledge.
+content-blocking-cryptominers-label =
+ .label = Tiền điện tử
+ .accesskey = y
+# Browser fingerprinting is a method of tracking users by the configuration and settings information (their "digital fingerprint")
+# that is visible to websites they browse, rather than traditional tracking methods such as IP addresses and unique cookies.
+content-blocking-fingerprinters-label =
+ .label = Dấu vết (Fingerprintng)
+ .accesskey = F
+# Browser fingerprinting is a method of tracking users by the configuration and settings information (their "digital fingerprint")
+# that is visible to websites they browse, rather than traditional tracking methods such as IP addresses and unique cookies.
+#
+# The known fingerprinters are those that are known for collecting browser fingerprints from user devices.
+content-blocking-known-fingerprinters-label =
+ .label = Dấu vết đã biết
+ .accesskey = K
+# The suspected fingerprinters are those that we are uncertain about browser fingerprinting activities. But they could
+# possibly acquire browser fingerprints because of the behavior on accessing APIs that expose browser fingerprints.
+content-blocking-suspected-fingerprinters-label =
+ .label = Dấu vết đáng ngờ
+ .accesskey = S
+
+## Privacy Section - Tracking
+
+tracking-manage-exceptions =
+ .label = Quản lý ngoại lệ…
+ .accesskey = x
+
+## Privacy Section - Permissions
+
+permissions-header = Quyền hạn
+permissions-location = Vị trí
+permissions-location-settings =
+ .label = Cài đặt…
+ .accesskey = t
+permissions-xr = Thực tế ảo
+permissions-xr-settings =
+ .label = Cài đặt…
+ .accesskey = t
+permissions-camera = Máy ảnh
+permissions-camera-settings =
+ .label = Cài đặt…
+ .accesskey = t
+permissions-microphone = Micrô
+permissions-microphone-settings =
+ .label = Cài đặt…
+ .accesskey = t
+# Short form for "the act of choosing sound output devices and redirecting audio to the chosen devices".
+permissions-speaker = Lựa chọn loa
+permissions-speaker-settings =
+ .label = Cài đặt…
+ .accesskey = t
+permissions-notification = Thông báo
+permissions-notification-settings =
+ .label = Cài đặt…
+ .accesskey = t
+permissions-notification-link = Tìm hiểu thêm
+permissions-notification-pause =
+ .label = Tạm dừng thông báo cho đến khi { -brand-short-name } khởi động lại
+ .accesskey = n
+permissions-autoplay = Tự động phát
+permissions-autoplay-settings =
+ .label = Cài đặt…
+ .accesskey = t
+permissions-block-popups =
+ .label = Chặn các cửa sổ bật lên
+ .accesskey = B
+# "popup" is a misspelling that is more popular than the correct spelling of
+# "pop-up" so it's included as a search keyword, not displayed in the UI.
+permissions-block-popups-exceptions-button =
+ .label = Ngoại lệ…
+ .accesskey = E
+ .searchkeywords = cửa sổ bật lên
+permissions-addon-install-warning =
+ .label = Cảnh báo khi trang web cố gắng cài đặt tiện ích
+ .accesskey = W
+permissions-addon-exceptions =
+ .label = Ngoại lệ…
+ .accesskey = E
+
+## Privacy Section - Data Collection
+
+collection-header = Thu thập và sử dụng dữ liệu { -brand-short-name }
+collection-header2 = Thu thập và sử dụng dữ liệu { -brand-short-name }
+ .searchkeywords = thu thập
+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 = Thông báo bảo mậ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
+collection-studies =
+ .label = Cho phép { -brand-short-name } cài đặt và chạy các nghiên cứu
+collection-studies-link = Xem nghiên cứu { -brand-short-name }
+addon-recommendations =
+ .label = Cho phép { -brand-short-name } để thực hiện các đề xuất tiện ích mở rộng được cá nhân hóa
+addon-recommendations-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-with-link = Cho phép { -brand-short-name } thay mặt bạn gửi báo cáo sự cố tồn đọng <a data-l10n-name="crash-reports-link">Tìm hiểu thêm</a>
+ .accesskey = c
+privacy-segmentation-section-header = Các tính năng mới nâng cao khả năng duyệt web của bạn
+privacy-segmentation-section-description = Khi chúng tôi cung cấp các tính năng sử dụng dữ liệu của bạn để mang lại cho bạn trải nghiệm cá nhân hơn:
+privacy-segmentation-radio-off =
+ .label = Sử dụng các đề xuất của { -brand-product-name }
+privacy-segmentation-radio-on =
+ .label = Hiển thị thông tin chi tiết
+
+## Privacy Section - Security
+##
+## It is important that wording follows the guidelines outlined on this page:
+## https://developers.google.com/safe-browsing/developers_guide_v2#AcceptableUsage
+
+security-header = Bảo mật
+security-browsing-protection = Chống nội dung lừa đảo và phần mềm nguy hiểm
+security-enable-safe-browsing =
+ .label = Chặn nội dung lừa đảo và không an toàn
+ .accesskey = B
+security-enable-safe-browsing-link = Tìm hiểu thêm
+security-block-downloads =
+ .label = Chặn tải xuống không an toàn
+ .accesskey = d
+security-block-uncommon-software =
+ .label = Cảnh báo bạn về phần mềm không mong muốn và không phổ biến
+ .accesskey = c
+
+## Privacy Section - Certificates
+
+certs-header = Chứng nhận
+certs-enable-ocsp =
+ .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
+certs-view =
+ .label = Xem chứng nhận…
+ .accesskey = C
+certs-devices =
+ .label = Thiết bị bảo mật…
+ .accesskey = D
+certs-thirdparty-toggle =
+ .label = Cho phép { -brand-short-name } tự động tin cậy chứng chỉ gốc của bên thứ ba mà bạn cài đặt
+ .accesskey = t
+space-alert-over-5gb-settings-button =
+ .label = Mở Cài đặt
+ .accesskey = O
+space-alert-over-5gb-message2 = <strong>{ -brand-short-name } sắp hết dung lượng đĩa.</strong> Nội dung trang web có thể không hiển thị chính xác. Bạn có thể xóa dữ liệu được lưu trữ trong Cài đặt > Riêng tư & Bảo mật > Cookie và dữ liệu trang.
+space-alert-under-5gb-message2 = <strong>{ -brand-short-name } sắp hết dung lượng đĩa. </strong>Nội dung trang web có thể không hiển thị chính xác. Truy cập “Tìm hiểu thêm” để tối ưu hóa việc sử dụng đĩa của bạn để có trải nghiệm duyệt web tốt hơn.
+
+## Privacy Section - HTTPS-Only
+
+httpsonly-header = Chế độ chỉ HTTPS
+httpsonly-description = HTTPS cung cấp kết nối được mã hóa an toàn giữa { -brand-short-name } và các trang web bạn truy cập. Hầu hết các trang web đều hỗ trợ HTTPS và nếu chế độ chỉ HTTPS được bật, thì { -brand-short-name } sẽ nâng cấp tất cả các kết nối lên HTTPS.
+httpsonly-learn-more = Tìm hiểu thêm
+httpsonly-radio-enabled =
+ .label = Kích hoạt chế độ chỉ HTTPS trong tất cả các cửa sổ
+httpsonly-radio-enabled-pbm =
+ .label = Chỉ kích hoạt chế độ HTTPS trong các cửa sổ riêng tư
+httpsonly-radio-disabled =
+ .label = Không kích hoạt chế độ chỉ HTTPS
+
+## DoH Section
+
+preferences-doh-header = DNS qua HTTPS
+preferences-doh-description = Hệ thống tên miền (DNS) qua HTTPS gửi yêu cầu tên miền của bạn thông qua kết nối được mã hóa, tạo một DNS an toàn và khiến người khác khó nhìn thấy trang web bạn sắp truy cập hơn.
+preferences-doh-description2 = Hệ thống phân giải tên miền (DNS) trên HTTPS gửi yêu cầu tên miền của bạn thông qua kết nối được mã hóa, cung cấp DNS an toàn và khiến người khác khó biết bạn sắp truy cập trang web nào.
+# Variables:
+# $status (string) - The status of the DoH connection
+preferences-doh-status = Trạng thái: { $status }
+# Variables:
+# $name (string) - The name of the DNS over HTTPS resolver. If a custom resolver is used, the name will be the domain of the URL.
+preferences-doh-resolver = Nhà cung cấp: { $name }
+# This is displayed instead of $name in preferences-doh-resolver
+# when the DoH URL is not a valid URL
+preferences-doh-bad-url = URL không hợp lệ
+preferences-doh-steering-status = Sử dụng nhà cung cấp cục bộ
+preferences-doh-status-active = Đang hoạt động
+preferences-doh-status-disabled = Đã tắt
+# Variables:
+# $reason (string) - A string representation of the reason DoH is not active. For example NS_ERROR_UNKNOWN_HOST or TRR_RCODE_FAIL.
+preferences-doh-status-not-active = Không hoạt động ({ $reason })
+preferences-doh-group-message = Kích hoạt DNS an toàn sử dụng:
+preferences-doh-group-message2 = Bật DNS trên HTTPS sử dụng:
+preferences-doh-expand-section =
+ .tooltiptext = Thông tin chi tiết
+preferences-doh-setting-default =
+ .label = Bảo vệ mặc định
+ .accesskey = D
+preferences-doh-default-desc = { -brand-short-name } quyết định thời điểm sử dụng DNS an toàn để bảo vệ quyền riêng tư của bạn.
+preferences-doh-default-detailed-desc-1 = Sử dụng DNS an toàn ở những khu vực có sẵn
+preferences-doh-default-detailed-desc-2 = Sử dụng trình phân giải DNS mặc định của bạn nếu có sự cố với nhà cung cấp DNS an toàn
+preferences-doh-default-detailed-desc-3 = Sử dụng một nhà cung cấp cục bộ, nếu có thể
+preferences-doh-default-detailed-desc-4 = Tắt khi VPN, quyền kiểm soát của phụ huynh hoặc chính sách doanh nghiệp đang hoạt động
+preferences-doh-default-detailed-desc-5 = Tắt khi mạng thông báo { -brand-short-name } không nên sử dụng DNS an toàn
+preferences-doh-setting-enabled =
+ .label = Bảo vệ gia tăng
+ .accesskey = I
+preferences-doh-enabled-desc = Bạn kiểm soát thời điểm sử dụng DNS bảo mật và chọn nhà cung cấp của mình.
+preferences-doh-enabled-detailed-desc-1 = Sử dụng nhà cung cấp bạn chọn
+preferences-doh-enabled-detailed-desc-2 = Chỉ sử dụng trình phân giải DNS mặc định của bạn nếu có sự cố với DNS bảo mật
+preferences-doh-setting-strict =
+ .label = Bảo vệ tối đa
+ .accesskey = M
+preferences-doh-strict-desc = { -brand-short-name } sẽ luôn sử dụng DNS an toàn. Bạn sẽ thấy cảnh báo rủi ro bảo mật trước khi chúng tôi sử dụng DNS hệ thống của bạn.
+preferences-doh-strict-detailed-desc-1 = Chỉ sử dụng nhà cung cấp bạn chọn
+preferences-doh-strict-detailed-desc-2 = Luôn cảnh báo nếu không có DNS an toàn
+preferences-doh-strict-detailed-desc-3 = Nếu không có DNS an toàn, các trang web sẽ không tải hoặc hoạt động bình thường
+preferences-doh-setting-off =
+ .label = Tắt
+ .accesskey = O
+preferences-doh-off-desc = Sử dụng trình phân giải DNS mặc định của bạn
+preferences-doh-checkbox-warn =
+ .label = Cảnh báo nếu bên thứ ba chủ động ngăn chặn DNS an toàn
+ .accesskey = W
+preferences-doh-select-resolver = Chọn nhà cung cấp:
+preferences-doh-exceptions-description = { -brand-short-name } sẽ không sử dụng DNS an toàn trên các trang web này
+preferences-doh-manage-exceptions =
+ .label = Quản lý ngoại lệ…
+ .accesskey = x
+
+## The following strings are used in the Download section of settings
+
+desktop-folder-name = Bàn làm việc
+downloads-folder-name = Tải xuống
+choose-download-folder-title = Chọn thư mục tải xuống:
diff --git a/l10n-vi/browser/browser/preferences/selectBookmark.ftl b/l10n-vi/browser/browser/preferences/selectBookmark.ftl
new file mode 100644
index 0000000000..15197b20f1
--- /dev/null
+++ b/l10n-vi/browser/browser/preferences/selectBookmark.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/.
+
+select-bookmark-window2 =
+ .title = Đặt làm trang chủ
+ .style = min-width: 32em;
+
+select-bookmark-desc = Chọn một dấu trang để làm trang chủ của bạn. Nếu bạn chọn một thư mục, dấu trang trong thư mục đó sẽ được mở trong thẻ.
diff --git a/l10n-vi/browser/browser/preferences/siteDataSettings.ftl b/l10n-vi/browser/browser/preferences/siteDataSettings.ftl
new file mode 100644
index 0000000000..62c860d13a
--- /dev/null
+++ b/l10n-vi/browser/browser/preferences/siteDataSettings.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/.
+
+
+## Settings
+
+site-data-settings-window =
+ .title = Quản lý cookie và dữ liệu trang
+site-data-settings-description = Các trang web sau lưu trữ cookie và dữ liệu trang web trên máy tính của bạn. { -brand-short-name } lưu giữ dữ liệu từ các trang web có lưu trữ lâu dài cho đến khi bạn xóa, xóa dữ liệu khỏi các trang web với bộ nhớ không lâu dài khi cần thiết.
+site-data-search-textbox =
+ .placeholder = Tìm kiếm trang web
+ .accesskey = S
+site-data-column-host =
+ .label = Trang
+site-data-column-cookies =
+ .label = Cookie
+site-data-column-storage =
+ .label = Lưu trữ
+site-data-column-last-used =
+ .label = Sử dụng lần cuối
+# This label is used in the "Host" column for local files, which have no host.
+site-data-local-file-host = (tập tin cục bộ)
+site-data-remove-selected =
+ .label = Xóa mục đã chọn
+ .accesskey = r
+site-data-settings-dialog =
+ .buttonlabelaccept = Lưu thay đổi
+ .buttonaccesskeyaccept = a
+# Variables:
+# $value (Number) - Value of the unit (for example: 4.6, 500)
+# $unit (String) - Name of the unit (for example: "bytes", "KB")
+site-storage-usage =
+ .value = { $value } { $unit }
+site-storage-persistent =
+ .value = { site-storage-usage.value } (Lâu dài)
+site-data-remove-all =
+ .label = Xóa hết
+ .accesskey = e
+site-data-remove-shown =
+ .label = Xóa tất cả được hiển thị
+ .accesskey = e
+
+## Removing
+
+site-data-removing-dialog =
+ .title = { site-data-removing-header }
+ .buttonlabelaccept = Xóa
+site-data-removing-header = Xóa cache và dữ liệu trang
+site-data-removing-desc = Xóa cookie và dữ liệu trang có thể khiến bạn bị đăng xuất khỏi trang web. Bạn có chắc chắn muốn thay đổi không?
+# Variables:
+# $baseDomain (String) - The single domain for which data is being removed
+site-data-removing-single-desc = Xóa cookie và dữ liệu trang web có thể đăng xuất bạn khỏi các trang web. Bạn có chắc chắn muốn xóa cookie và dữ liệu trang web của <strong>{ $baseDomain }</strong> không?
+site-data-removing-table = Cookie và dữ liệu của các trang web sau sẽ bị xóa
diff --git a/l10n-vi/browser/browser/preferences/translation.ftl b/l10n-vi/browser/browser/preferences/translation.ftl
new file mode 100644
index 0000000000..a7cb99d4e9
--- /dev/null
+++ b/l10n-vi/browser/browser/preferences/translation.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/.
+
+translation-window2 =
+ .title = Ngoại lệ - Dịch tự động
+ .style = min-width: 36em
+
+translation-close-key =
+ .key = w
+
+translation-languages-disabled-desc = Bản dịch sẽ không được cung cấp cho các ngôn ngữ sau
+
+translation-languages-column =
+ .label = Ngôn ngữ
+
+translation-languages-button-remove =
+ .label = Xóa ngôn ngữ
+ .accesskey = R
+
+translation-languages-button-remove-all =
+ .label = Xóa tất cả ngôn ngữ
+ .accesskey = e
+
+translation-sites-disabled-desc = Bản dịch sẽ không được cung cấp cho các trang web sau
+
+translation-sites-column =
+ .label = Trang web
+
+translation-sites-button-remove =
+ .label = Xóa trang
+ .accesskey = S
+
+translation-sites-button-remove-all =
+ .label = Xóa tất cả các trang
+ .accesskey = i
+
+translation-dialog =
+ .buttonlabelaccept = Đóng
+ .buttonaccesskeyaccept = C
diff --git a/l10n-vi/browser/browser/profile/default-bookmarks.ftl b/l10n-vi/browser/browser/profile/default-bookmarks.ftl
new file mode 100644
index 0000000000..2e65a1c423
--- /dev/null
+++ b/l10n-vi/browser/browser/profile/default-bookmarks.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/.
+
+
+# This file intentionally uses hard-coded brand names instead of Fluent terms.
+# This approach minimizes issues across multiple release channels and rebranded
+# versions.
+
+default-bookmarks-title = Dấu trang
+default-bookmarks-heading = Dấu trang
+
+default-bookmarks-toolbarfolder = Thư mục thanh dấu trang
+default-bookmarks-toolbarfolder-description = Thêm các dấu trang vào thư mục này để hiển thị chúng trên thanh dấu trang
+
+# link title for https://www.mozilla.org/firefox/central/
+default-bookmarks-getting-started = Bắt đầu
+
+# Firefox links folder name
+default-bookmarks-firefox-heading = Mozilla Firefox
+
+# link title for https://www.mozilla.org/firefox/help/
+default-bookmarks-firefox-get-help = Nhận trợ giúp
+
+# link title for https://www.mozilla.org/firefox/customize/
+default-bookmarks-firefox-customize = Tùy biến Firefox
+
+# link title for https://www.mozilla.org/contribute/
+default-bookmarks-firefox-community = Tham gia
+
+# link title for https://www.mozilla.org/about/
+default-bookmarks-firefox-about = Giới thiệu về chúng tôi
+
+# Firefox Nightly links folder name
+default-bookmarks-nightly-heading = Tài nguyên Firefox Nightly
+
+# Nightly builds only, link title for https://blog.nightly.mozilla.org/
+default-bookmarks-nightly-blog = Nhật ký Firefox Nightly
+
+# Nightly builds only, link title for https://bugzilla.mozilla.org/
+default-bookmarks-bugzilla = Trình theo dõi lỗi Mozilla
+
+# Nightly builds only, link title for https://developer.mozilla.org/
+default-bookmarks-mdn = Mạng lưới nhà phát triển Mozilla
+
+# Nightly builds only, link title for https://addons.mozilla.org/firefox/addon/nightly-tester-tools/
+default-bookmarks-nightly-tester-tools = Các công cụ thử nghiệm Nightly
+
+# Nightly builds only, link title for about:crashes
+default-bookmarks-crashes = Tất cả những sự cố của bạn
+
+# Nightly builds only, link title for https://planet.mozilla.org/
+default-bookmarks-planet = Planet Mozilla
diff --git a/l10n-vi/browser/browser/protections.ftl b/l10n-vi/browser/browser/protections.ftl
new file mode 100644
index 0000000000..a82b406430
--- /dev/null
+++ b/l10n-vi/browser/browser/protections.ftl
@@ -0,0 +1,219 @@
+# 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:
+# $count (Number) - Number of tracking events blocked.
+graph-week-summary =
+ { $count ->
+ *[other] { -brand-short-name } đã chặn { $count } trình theo dõi trong tuần qua
+ }
+
+# Variables:
+# $count (Number) - Number of tracking events blocked.
+# $earliestDate (Number) - Unix timestamp in ms, representing a date. The
+# earliest date recorded in the database.
+graph-total-tracker-summary =
+ { $count ->
+ *[other] <b>{ $count }</b> trình theo dõi bị chặn kể từ { DATETIME($earliestDate, day: "numeric", month: "long", year: "numeric") }
+ }
+
+# Text displayed instead of the graph when in Private Mode
+graph-private-window = { -brand-short-name } tiếp tục chặn trình theo dõi trong cửa sổ riêng tư, nhưng không lưu giữ hồ sơ về những gì đã bị chặn.
+# Weekly summary of the graph when the graph is empty in Private Mode
+graph-week-summary-private-window = Trình theo dõi mà { -brand-short-name } đã chặn trong tuần này
+
+protection-report-webpage-title = Bảng điều khiển bảo vệ
+protection-report-page-content-title = Bảng điều khiển bảo vệ
+# This message shows when all privacy protections are turned off, which is why we use the word "can", Firefox is able to protect your privacy, but it is currently not.
+protection-report-page-summary = { -brand-short-name } có thể bảo vệ quyền riêng tư của bạn đằng sau hậu trường trong khi bạn duyệt. Đây là bản tóm tắt được cá nhân hóa về các biện pháp bảo vệ đó, bao gồm các công cụ để kiểm soát an ninh trực tuyến của bạn.
+# This message shows when at least some protections are turned on, we are more assertive compared to the message above, Firefox is actively protecting you.
+protection-report-page-summary-default = { -brand-short-name } có thể bảo vệ quyền riêng tư của bạn đằng sau hậu trường trong khi bạn duyệt. Đây là bản tóm tắt được cá nhân hóa về các biện pháp bảo vệ đó, bao gồm các công cụ để kiểm soát an ninh trực tuyến của bạn.
+
+protection-report-settings-link = Quản lý cài đặt bảo mật và quyền riêng tư của bạn
+
+etp-card-title-always = Trình chống theo dõi nâng cao: Luôn bật
+etp-card-title-custom-not-blocking = Trình chống theo dõi nâng cao: TẮT
+etp-card-content-description = { -brand-short-name } tự động ngăn các công ty bí mật theo dõi bạn trên web.
+protection-report-etp-card-content-custom-not-blocking = Tất cả các bảo vệ hiện đang tắt. Chọn trình theo dõi nào sẽ chặn bằng cách quản lý cài đặt bảo vệ { -brand-short-name } của bạn.
+protection-report-manage-protections = Quản lý cài đặt
+
+# This string is used to label the X axis of a graph. Other days of the week are generated via Intl.DateTimeFormat,
+# capitalization for this string should match the output for your locale.
+graph-today = Hôm nay
+
+# This string is used to describe the graph for screenreader users.
+graph-legend-description = Một biểu đồ chứa tổng số lượng của từng loại trình theo dõi bị chặn trong tuần này.
+
+social-tab-title = Trình theo dõi truyền thông xã hội
+social-tab-contant = Mạng xã hội đặt trình theo dõi trên các trang web khác để theo dõi những gì bạn làm, xem và xem trực tuyến. Điều này cho phép các công ty truyền thông xã hội tìm hiểu thêm về bạn ngoài những gì bạn chia sẻ trên hồ sơ truyền thông xã hội của mình. <a data-l10n-name="learn-more-link">Tìm hiểu thêm</a>
+
+cookie-tab-title = Cookie theo dõi trên nhiều trang web
+cookie-tab-content = Những cookie này theo bạn từ trang này sang trang khác để thu thập dữ liệu về những gì bạn làm trực tuyến. Chúng được đặt bởi các bên thứ ba như nhà quảng cáo và công ty phân tích. Chặn cookie theo dõi nhiều trang web làm giảm số lượng quảng cáo theo bạn xung quanh. <a data-l10n-name="learn-more-link">Tìm hiểu thêm</a>
+
+tracker-tab-title = Trình theo dõi nội dung
+tracker-tab-description = Trang web có thể tải quảng cáo bên ngoài, video và nội dung khác với đoạn mã theo dõi. Chặn nội dung theo dõi có thể giúp các trang web tải nhanh hơn, nhưng một số nút, biểu mẫu và trường đăng nhập có thể không hoạt động. <a data-l10n-name="learn-more-link">Tìm hiểu thêm</a>
+
+fingerprinter-tab-title = Dấu vết
+fingerprinter-tab-content = Dấu vết thu thập cài đặt từ trình duyệt và máy tính của bạn để tạo hồ sơ về bạn. Sử dụng dấu vết kỹ thuật số này, họ có thể theo dõi bạn trên các trang web khác nhau. <a data-l10n-name="learn-more-link">Tìm hiểu thêm</a>
+
+cryptominer-tab-title = Tiền điện tử
+cryptominer-tab-content = Tiền điện tử sử dụng sức mạnh tính toán của hệ thống của bạn để khai thác tiền kỹ thuật số. Các tập lệnh mã hóa làm cạn kiệt pin của bạn, làm chậm máy tính của bạn và có thể tăng hóa đơn năng lượng của bạn. <a data-l10n-name="learn-more-link">Tìm hiểu thêm</a>
+
+protections-close-button2 =
+ .aria-label = Đóng
+ .title = Đóng
+
+mobile-app-title = Chặn trình theo dõi quảng cáo trên nhiều thiết bị hơn
+mobile-app-card-content = Sử dụng trình duyệt di động có bảo vệ tích hợp chống theo dõi quảng cáo.
+mobile-app-links = Trình duyệt { -brand-product-name } dành cho <a data-l10n-name="android-mobile-inline-link">Android</a> và <a data-l10n-name="ios-mobile-inline-link">iOS</a>
+
+lockwise-title = Không bao giờ quên mật khẩu lần nữa
+passwords-title-logged-in = Quản lý mật khẩu của bạn
+passwords-header-content = { -brand-product-name } lưu trữ mật khẩu của bạn an toàn trong trình duyệt của bạn.
+lockwise-header-content-logged-in = Lưu trữ an toàn và đồng bộ hóa mật khẩu của bạn với tất cả các thiết bị của bạn.
+protection-report-passwords-save-passwords-button = Lưu mật khẩu
+ .title = Lưu mật khẩu
+protection-report-passwords-manage-passwords-button = Quản lý mật khẩu
+ .title = Quản lý mật khẩu
+
+
+# Variables:
+# $count (Number) - Number of passwords exposed in data breaches.
+lockwise-scanned-text-breached-logins =
+ { $count ->
+ *[other] { $count } mật khẩu có thể đã bị lộ do rò rỉ dữ liệu.
+ }
+
+# While English doesn't use the number in the plural form, you can add $count to your language
+# if needed for grammatical reasons.
+# Variables:
+# $count (Number) - Number of passwords stored in Lockwise.
+lockwise-scanned-text-no-breached-logins =
+ { $count ->
+ *[other] Mật khẩu của bạn đang được lưu trữ an toàn.
+ }
+lockwise-how-it-works-link = Nó hoạt động như thế nào
+
+monitor-title = Xem các rò rỉ dữ liệu
+monitor-link = Nó hoạt động như thế nào
+monitor-header-content-no-account = Kiểm tra tại { -monitor-brand-name } để xem bạn có phải là một phần của rò rỉ dữ liệu hay không và nhận thông báo về các rò rỉ mới.
+monitor-header-content-signed-in = { -monitor-brand-name } cảnh báo bạn nếu thông tin của bạn xuất hiện trong một vụ rò rỉ dữ liệu đã biết.
+monitor-sign-up-link = Đăng ký cảnh báo vụ rò rỉ
+ .title = Đăng ký cảnh báo vụ rò rỉ trên { -monitor-brand-name }
+auto-scan = Tự động quét ngày hôm nay
+
+monitor-emails-tooltip =
+ .title = Xem địa chỉ email được giám sát trên { -monitor-brand-short-name }
+monitor-breaches-tooltip =
+ .title = Xem các rò rỉ dữ liệu đã biết trên { -monitor-brand-short-name }
+monitor-passwords-tooltip =
+ .title = Xem mật khẩu bị lộ trên { -monitor-brand-short-name }
+
+# This string is displayed after a large numeral that indicates the total number
+# of email addresses being monitored. Don’t add $count to
+# your localization, because it would result in the number showing twice.
+info-monitored-emails =
+ { $count ->
+ *[other] Địa chỉ email đang được giám sát
+ }
+
+# This string is displayed after a large numeral that indicates the total number
+# of known data breaches. Don’t add $count to
+# your localization, because it would result in the number showing twice.
+info-known-breaches-found =
+ { $count ->
+ *[other] Rò rỉ dữ liệu đã biết đã tiết lộ thông tin của bạn
+ }
+
+# This string is displayed after a large numeral that indicates the total number
+# of known data breaches that are marked as resolved by the user. Don’t add $count
+# to your localization, because it would result in the number showing twice.
+info-known-breaches-resolved =
+ { $count ->
+ *[other] Rò rỉ dữ liệu đã biết được đánh dấu là đã giải quyết
+ }
+
+# This string is displayed after a large numeral that indicates the total number
+# of exposed passwords. Don’t add $count to
+# your localization, because it would result in the number showing twice.
+info-exposed-passwords-found =
+ { $count ->
+ *[other] Mật khẩu tiếp xúc trên tất cả các vụ rò rỉ
+ }
+
+# This string is displayed after a large numeral that indicates the total number
+# of exposed passwords that are marked as resolved by the user. Don’t add $count
+# to your localization, because it would result in the number showing twice.
+info-exposed-passwords-resolved =
+ { $count ->
+ *[other] Mật khẩu bị lộ trong các rò rỉ dữ liệu chưa được giải quyết
+ }
+
+monitor-no-breaches-title = Tin tốt!
+monitor-no-breaches-description = Bạn không có vụ rò rỉ nào được biết đến. Nếu có, chúng tôi sẽ cho bạn biết.
+monitor-view-report-link = Xem báo cáo
+ .title = Giải quyết rò rỉ trên { -monitor-brand-short-name }
+monitor-breaches-unresolved-title = Giải quyết rò rỉ dữ liệu của bạn
+monitor-breaches-unresolved-description = Sau khi xem xét chi tiết rò rỉ và thực hiện các bước để bảo vệ thông tin của bạn, bạn có thể đánh dấu các rò rỉ là đã được giải quyết.
+monitor-manage-breaches-link = Quản lí vụ rò rỉ
+ .title = Quản lí các vụ rò rỉ trên { -monitor-brand-short-name }
+monitor-breaches-resolved-title = Tốt! Bạn đã giải quyết tất cả các rò rỉ được biết đến.
+monitor-breaches-resolved-description = Nếu email của bạn xuất hiện trong bất kỳ rò rỉ mới, chúng tôi sẽ cho bạn biết.
+
+# Variables:
+# $numBreachesResolved (Number) - Number of breaches marked as resolved by the user on Monitor.
+# $numBreaches (Number) - Number of breaches in which a user's data was involved, detected by Monitor.
+monitor-partial-breaches-title =
+ { $numBreaches ->
+ *[other] { $numBreachesResolved } trong số { $numBreaches } vụ rò rỉ đã được đánh dấu là giải quyết
+ }
+
+# Variables:
+# $percentageResolved (Number) - Percentage of breaches marked as resolved by a user on Monitor.
+monitor-partial-breaches-percentage = { $percentageResolved }% hoàn thành
+
+monitor-partial-breaches-motivation-title-start = Khởi đầu tuyệt vời!
+monitor-partial-breaches-motivation-title-middle = Hãy giữ nó!
+monitor-partial-breaches-motivation-title-end = Sắp xong! Hãy giữ nó.
+monitor-partial-breaches-motivation-description = Giải quyết các rò rỉ còn lại của bạn trên { -monitor-brand-short-name }.
+monitor-resolve-breaches-link = Giải quyết các rò rỉ
+ .title = Giải quyết các rò rỉ trên { -monitor-brand-short-name }
+
+## The title attribute is used to display the type of protection.
+## The aria-label is spoken by screen readers to make the visual graph accessible to blind users.
+##
+## Variables:
+## $count (Number) - Number of specific trackers
+## $percentage (Number) - Percentage this type of tracker contributes to the whole graph
+
+bar-tooltip-social =
+ .title = Trình theo dõi truyền thông xã hội
+ .aria-label =
+ { $count ->
+ *[other] { $count } trình theo dõi truyền thông xã hội ({ $percentage }%)
+ }
+bar-tooltip-cookie =
+ .title = Cookie theo dõi trên nhiều trang web
+ .aria-label =
+ { $count ->
+ *[other] { $count } cookie theo dõi trên nhiều trang web ({ $percentage }%)
+ }
+bar-tooltip-tracker =
+ .title = Trình theo dõi nội dung
+ .aria-label =
+ { $count ->
+ *[other] { $count } trình theo dõi nội dung ({ $percentage }%)
+ }
+bar-tooltip-fingerprinter =
+ .title = Dấu vết
+ .aria-label =
+ { $count ->
+ *[other] { $count } dấu vết ({ $percentage }%)
+ }
+bar-tooltip-cryptominer =
+ .title = Tiền điện tử
+ .aria-label =
+ { $count ->
+ *[other] { $count } tiền điện tử ({ $percentage }%)
+ }
diff --git a/l10n-vi/browser/browser/protectionsPanel.ftl b/l10n-vi/browser/browser/protectionsPanel.ftl
new file mode 100644
index 0000000000..c015a06cad
--- /dev/null
+++ b/l10n-vi/browser/browser/protectionsPanel.ftl
@@ -0,0 +1,162 @@
+# 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/.
+
+protections-panel-sendreportview-error = Có lỗi khi gửi báo cáo. Vui lòng thử lại sau.
+# A link shown when ETP is disabled for a site. Opens the breakage report subview when clicked.
+protections-panel-sitefixedsendreport-label = Trang web có bình thường không? Hãy gửi báo cáo
+
+## These strings are used to define the different levels of
+## Enhanced Tracking Protection.
+
+protections-popup-footer-protection-label-strict = Nghiêm ngặt
+ .label = Nghiêm ngặt
+protections-popup-footer-protection-label-custom = Tùy chọn
+ .label = Tùy chọn
+protections-popup-footer-protection-label-standard = Tiêu chuẩn
+ .label = Tiêu chuẩn
+
+##
+
+# The text a screen reader speaks when focused on the info button.
+protections-panel-etp-more-info =
+ .aria-label = Thông tin thêm về trình chống theo dõi nâng cao
+protections-panel-etp-on-header = Trình chống theo dõi nâng cao đã được BẬT cho trang này
+protections-panel-etp-off-header = Trình chống theo dõi nâng cao đã bị TẮT cho trang này
+
+## Text for the toggles shown when ETP is enabled/disabled for a given site.
+## .description is transferred into a separate paragraph by the moz-toggle
+## custom element code.
+## $host (String): the hostname of the site that is being displayed.
+
+protections-panel-etp-toggle-on =
+ .label = Trình chống theo dõi nâng cao
+ .description = Đã bật trên trang này
+ .aria-label = Trình chống theo dõi nâng cao: Đã bật cho { $host }
+protections-panel-etp-toggle-off =
+ .label = Trình chống theo dõi nâng cao
+ .description = Đã tắt trên trang này
+ .aria-label = Trình chống theo dõi nâng cao: Đã tắt cho { $host }
+# The link to be clicked to open the sub-panel view
+protections-panel-site-not-working = Trang web không hoạt động?
+# The heading/title of the sub-panel view
+protections-panel-site-not-working-view =
+ .title = Trang web không hoạt động?
+
+## The "Allowed" header also includes a "Why?" link that, when hovered, shows
+## a tooltip explaining why these items were not blocked in the page.
+
+protections-panel-not-blocking-why-label = Tại sao?
+protections-panel-not-blocking-why-etp-on-tooltip = Chặn những thứ này có thể phá vỡ các yếu tố của một số trang web. Không có trình theo dõi, một số nút, biểu mẫu và trường đăng nhập có thể không hoạt động.
+protections-panel-not-blocking-why-etp-off-tooltip = Tất cả các trình theo dõi trên trang web này đã được tải vì bảo vệ bị tắt.
+protections-panel-not-blocking-why-etp-on-tooltip-label =
+ .label = Chặn những thứ này có thể phá vỡ các yếu tố của một số trang web. Không có trình theo dõi, một số nút, biểu mẫu và trường đăng nhập có thể không hoạt động.
+protections-panel-not-blocking-why-etp-off-tooltip-label =
+ .label = Tất cả các trình theo dõi trên trang web này đã được tải vì bảo vệ bị tắt.
+
+##
+
+protections-panel-no-trackers-found = { -brand-short-name } không phát hiện ra trình theo dõi đã biết trên trang này.
+protections-panel-content-blocking-tracking-protection = Trình theo dõi nội dung
+protections-panel-content-blocking-socialblock = Trình theo dõi truyền thông xã hội
+protections-panel-content-blocking-cryptominers-label = Tiền điện tử
+protections-panel-content-blocking-fingerprinters-label = Dấu vết
+
+## In the protections panel, Content Blocking category items are in three sections:
+## "Blocked" for categories being blocked in the current page,
+## "Allowed" for categories detected but not blocked in the current page, and
+## "None Detected" for categories not detected in the current page.
+## These strings are used in the header labels of each of these sections.
+
+protections-panel-blocking-label = Đã chặn
+protections-panel-not-blocking-label = Đã cho phép
+protections-panel-not-found-label = Không phát hiện
+
+##
+
+protections-panel-settings-label = Cài đặt bảo vệ
+protections-panel-protectionsdashboard-label = Bảng điều khiển bảo vệ
+
+## In the Site Not Working? view, we suggest turning off protections if
+## the user is experiencing issues with any of a variety of functionality.
+
+# The header of the list
+protections-panel-site-not-working-view-header = Tắt bảo vệ nếu bạn có vấn đề với:
+# The list items, shown in a <ul>
+protections-panel-site-not-working-view-issue-list-login-fields = Trường đăng nhập
+protections-panel-site-not-working-view-issue-list-forms = Biểu mẫu
+protections-panel-site-not-working-view-issue-list-payments = Thanh toán
+protections-panel-site-not-working-view-issue-list-comments = Bình luận
+protections-panel-site-not-working-view-issue-list-videos = Video
+protections-panel-site-not-working-view-issue-list-fonts = Phông chữ
+protections-panel-site-not-working-view-send-report = Gửi báo cáo
+
+##
+
+protections-panel-cross-site-tracking-cookies = Những cookie này theo bạn từ trang này sang trang khác để thu thập dữ liệu về những gì bạn làm trực tuyến. Chúng được đặt bởi các bên thứ ba như nhà quảng cáo và công ty phân tích.
+protections-panel-cryptominers = Tiền điện tử sử dụng sức mạnh tính toán của hệ thống của bạn để khai thác tiền kỹ thuật số. Các tập lệnh mã hóa làm cạn kiệt pin của bạn, làm chậm máy tính của bạn và có thể tăng hóa đơn năng lượng của bạn.
+protections-panel-fingerprinters = Dấu vết thu thập cài đặt từ trình duyệt và máy tính của bạn để tạo hồ sơ về bạn. Sử dụng dấu vết kỹ thuật số này, họ có thể theo dõi bạn trên các trang web khác nhau.
+protections-panel-tracking-content = Trang web có thể tải quảng cáo bên ngoài, video và nội dung khác với đoạn mã theo dõi. Chặn nội dung theo dõi có thể giúp các trang web tải nhanh hơn, nhưng một số nút, biểu mẫu và trường đăng nhập có thể không hoạt động.
+protections-panel-social-media-trackers = Mạng xã hội đặt trình theo dõi trên các trang web khác để theo dõi những gì bạn làm, xem và xem trực tuyến. Điều này cho phép các công ty truyền thông xã hội tìm hiểu thêm về bạn ngoài những gì bạn chia sẻ trên hồ sơ truyền thông xã hội của mình.
+protections-panel-description-shim-allowed = Một số trình theo dõi được đánh dấu bên dưới đã được bỏ chặn một phần trên trang này vì bạn đã tương tác với chúng.
+protections-panel-description-shim-allowed-learn-more = Tìm hiểu thêm
+protections-panel-shim-allowed-indicator =
+ .tooltiptext = Trình theo dõi được bỏ chặn một phần
+protections-panel-content-blocking-manage-settings =
+ .label = Quản lý cài đặt bảo vệ
+ .accesskey = M
+protections-panel-content-blocking-breakage-report-view =
+ .title = Báo cáo một trang web bị hỏng
+protections-panel-content-blocking-breakage-report-view-description = Chặn một số trình theo dõi nhất định có thể gây ra vấn đề với một số trang web. Báo cáo những vấn đề này giúp tạo { -brand-short-name } tốt hơn cho mọi người. Gửi báo cáo này sẽ gửi một URL và thông tin về cài đặt trình duyệt của bạn đến Mozilla. <label data-l10n-name="learn-more">Tìm hiểu thêm</label>
+protections-panel-content-blocking-breakage-report-view-description2 = Chặn một số trình theo dõi nhất định có thể gây ra vấn đề với một số trang web. Báo cáo những vấn đề này giúp tạo { -brand-short-name } tốt hơn cho mọi người. Gửi báo cáo này sẽ gửi một URL và thông tin về cài đặt trình duyệt của bạn đến { -vendor-short-name }.
+protections-panel-content-blocking-breakage-report-view-collection-url = URL
+protections-panel-content-blocking-breakage-report-view-collection-url-label =
+ .aria-label = URL
+protections-panel-content-blocking-breakage-report-view-collection-comments = Tùy chọn: Mô tả vấn đề
+protections-panel-content-blocking-breakage-report-view-collection-comments-label =
+ .aria-label = Tùy chọn: Mô tả vấn đề
+protections-panel-content-blocking-breakage-report-view-cancel =
+ .label = Hủy bỏ
+protections-panel-content-blocking-breakage-report-view-send-report =
+ .label = Gửi báo cáo
+
+# Cookie Banner Handling
+
+protections-panel-cookie-banner-handling-header = Giảm biểu ngữ cookie
+protections-panel-cookie-banner-blocker-header = Trình chặn biểu ngữ cookie
+protections-panel-cookie-banner-handling-enabled = Bật cho trang web này
+protections-panel-cookie-banner-handling-disabled = Tắt cho trang web này
+protections-panel-cookie-banner-handling-undetected = Trang web hiện không được hỗ trợ
+protections-panel-cookie-banner-view-title =
+ .title = Giảm biểu ngữ cookie
+# Variables
+# $host (String): the hostname of the site that is being displayed.
+protections-panel-cookie-banner-view-turn-off-for-site = Tắt giảm biểu ngữ cookie cho { $host }?
+protections-panel-cookie-banner-view-turn-on-for-site = Bật giảm biểu ngữ cookie cho trang này?
+protections-panel-cookie-banner-blocker-view-title =
+ .title = Trình chặn biểu ngữ cookie
+# Variables
+# $host (String): the hostname of the site that is being displayed.
+protections-panel-cookie-banner-blocker-view-turn-off-for-site = Tắt trình chặn biểu ngữ cookie cho { $host }?
+protections-panel-cookie-banner-blocker-view-turn-on-for-site = Bật trình chặn biểu ngữ cookie cho trang web này?
+protections-panel-cookie-banner-view-cookie-clear-warning = { -brand-short-name } sẽ xóa cookie của trang web này và làm mới trang. Xóa tất cả cookie có thể khiến bạn đăng xuất hoặc làm trống giỏ hàng.
+protections-panel-cookie-banner-view-turn-on-description = { -brand-short-name } sẽ thử tự động từ chối tất cả các yêu cầu cookie trên các trang web được hỗ trợ.
+protections-panel-cookie-banner-view-cancel = Hủy bỏ
+protections-panel-cookie-banner-view-turn-off = Tắt
+protections-panel-cookie-banner-view-turn-on = Bật
+protections-panel-cookie-banner-blocker-view-turn-on-description = Bật nó và { -brand-short-name } sẽ cố gắng tự động từ chối các biểu ngữ cookie trên trang này.
+protections-panel-cookie-banner-view-cancel-label =
+ .label = Hủy bỏ
+protections-panel-cookie-banner-view-turn-off-label =
+ .label = Tắt
+protections-panel-cookie-banner-view-turn-on-label =
+ .label = Bật
+protections-panel-report-broken-site =
+ .label = Báo cáo trang web bị hỏng
+ .title = Báo cáo trang web bị hỏng
+
+## Protections panel info message
+
+cfr-protections-panel-header = Duyệt mà không bị theo dõi
+cfr-protections-panel-body = Giữ dữ liệu của bạn cho chính mình. { -brand-short-name } bảo vệ bạn khỏi nhiều trình theo dõi phổ biến nhất theo dõi những gì bạn làm trực tuyến.
+cfr-protections-panel-link-text = Tìm hiểu thêm
diff --git a/l10n-vi/browser/browser/recentlyClosed.ftl b/l10n-vi/browser/browser/recentlyClosed.ftl
new file mode 100644
index 0000000000..bc5e159038
--- /dev/null
+++ b/l10n-vi/browser/browser/recentlyClosed.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/.
+
+
+## These strings are used in the main menu,
+## and should follow the same capitalization (title case for English).
+## Check menubar.ftl for reference.
+
+recently-closed-menu-reopen-all-tabs = Mở lại tất cả các thẻ
+recently-closed-menu-reopen-all-windows = Mở lại tất cả các cửa sổ
+
+## These strings are used in the app menu,
+## and should follow the same capitalization (sentence case for English).
+## Check appmenu.ftl for reference.
+
+recently-closed-panel-reopen-all-tabs = Mở lại tất cả các thẻ
+recently-closed-panel-reopen-all-windows = Mở lại tất cả các cửa sổ
+
+##
+
+# Variables:
+# $tabCount (Number): Number of other tabs
+# $winTitle (String): Window title
+recently-closed-undo-close-window-label =
+ { $tabCount ->
+ [0] { $winTitle }
+ *[other] { $winTitle } (và { $tabCount } thẻ khác)
+ }
diff --git a/l10n-vi/browser/browser/reportBrokenSite.ftl b/l10n-vi/browser/browser/reportBrokenSite.ftl
new file mode 100644
index 0000000000..fb8bf265b9
--- /dev/null
+++ b/l10n-vi/browser/browser/reportBrokenSite.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/.
+
+report-broken-site-mainview-title = Báo cáo trang web bị hỏng
+report-broken-site-panel-header =
+ .label = Báo cáo trang web bị hỏng
+ .title = Báo cáo trang web bị hỏng
+report-broken-site-panel-intro = Giúp cải thiện { -brand-product-name } cho mọi người. { -vendor-short-name } sử dụng thông tin bạn gửi để khắc phục sự cố trang web.
+report-broken-site-panel-url = URL
+report-broken-site-panel-reason-label = Cái gì bị hỏng?
+report-broken-site-panel-reason-optional-label = Cái gì bị hỏng? (không bắt buộc)
+report-broken-site-panel-reason-choose =
+ .label = Chọn lý do
+report-broken-site-panel-reason-slow =
+ .label = Trang tải chậm hoặc không hoạt động
+report-broken-site-panel-reason-media =
+ .label = Hình ảnh hoặc video
+report-broken-site-panel-reason-content =
+ .label = Các nút, liên kết hoặc nội dung khác
+report-broken-site-panel-reason-account =
+ .label = Đăng nhập hoặc đăng xuất
+report-broken-site-panel-reason-adblockers =
+ .label = Chặn quảng cáo
+report-broken-site-panel-reason-other =
+ .label = Cái gì đó khác
+report-broken-site-panel-description-label = Mô tả vấn đề
+report-broken-site-panel-description-optional-label = Mô tả vấn đề (không bắt buộc)
+report-broken-site-panel-send-more-info-link = Gửi thêm thông tin
+report-broken-site-panel-button-cancel =
+ .label = Hủy bỏ
+report-broken-site-panel-button-okay =
+ .label = OK
+report-broken-site-panel-button-send =
+ .label = Gửi
+report-broken-site-panel-unspecified = Không xác định
+report-broken-site-panel-report-sent-label = Báo cáo của bạn đã được gửi
+report-broken-site-panel-report-sent-header =
+ .label = Báo cáo của bạn đã được gửi
+ .title = Báo cáo của bạn đã được gửi
+report-broken-site-panel-report-sent-text = Cảm ơn bạn đã giúp { -brand-product-name } làm cho web cởi mở hơn, dễ truy cập hơn và tốt hơn cho mọi người.
+report-broken-site-panel-invalid-url-label = Vui lòng nhập một URL hợp lệ
+report-broken-site-panel-missing-reason-label = Hãy chọn một lý do
diff --git a/l10n-vi/browser/browser/safeMode.ftl b/l10n-vi/browser/browser/safeMode.ftl
new file mode 100644
index 0000000000..3a72bda458
--- /dev/null
+++ b/l10n-vi/browser/browser/safeMode.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/.
+
+troubleshoot-mode-window =
+ .title = Mở { -brand-short-name } trong chế độ xử lý sự cố?
+ .style = max-width: 400px
+start-troubleshoot-mode =
+ .label = Mở
+refresh-profile =
+ .label = Cài đặt lại { -brand-short-name }
+troubleshoot-mode-description = Sử dụng chế độ đặc biệt này của { -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.
+skip-troubleshoot-refresh-profile = Thay vào đó, bạn cũng có thể bỏ qua xử lý sự cố và làm mới { -brand-short-name }.
+# Shown on the safe mode dialog after multiple startup crashes.
+auto-safe-mode-description = { -brand-short-name } bị đóng bất thường trong lúc khởi động. Việc này có thể do tiện ích hoặc các vấn đề khác. Bạn có thể thử giải quyết vấn đề này bằng cách sửa chữa trong chế độ an toàn.
diff --git a/l10n-vi/browser/browser/safebrowsing/blockedSite.ftl b/l10n-vi/browser/browser/safebrowsing/blockedSite.ftl
new file mode 100644
index 0000000000..0d3703ade5
--- /dev/null
+++ b/l10n-vi/browser/browser/safebrowsing/blockedSite.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/.
+
+safeb-blocked-phishing-page-title = Trang web lừa đảo
+safeb-blocked-malware-page-title = Truy cập vào trang web này có thể làm hại máy tính của bạn
+safeb-blocked-unwanted-page-title = Trang bạn đang truy cập có thể chứa phần mềm gây hại
+safeb-blocked-harmful-page-title = Trang bạn đang truy cập có thể chứa malware
+safeb-blocked-phishing-page-short-desc = { -brand-short-name } đã chặn trang này vì nó có thể lừa bạn làm điều gì đó nguy hiểm như cài đặt phần mềm hoặc tiết lộ thông tin cá nhân như mật khẩu hoặc thẻ tín dụng.
+safeb-blocked-malware-page-short-desc = { -brand-short-name } chặn trang này vì nó có thể cố gắng cài đặt phần mềm độc hại để có thể ăn cắp hoặc xóa các thông tin cá nhân trên máy tính của bạn.
+safeb-blocked-unwanted-page-short-desc = { -brand-short-name } đã chặn trang này bởi vì nó cố lừa bạn cài đặt các chương trình gây ảnh hưởng đến trải nghiệm duyệt web của bạn (ví dụ, thay đổi trang chủ hoặc hiển thị thêm quảng cáo trên các trang web bạn truy cập).
+safeb-blocked-harmful-page-short-desc = { -brand-short-name } đã chặn trang này vì nó cố gắng cài ứng dụng nguy hiểm để ăn cắp hoặc xóa thông tin của bạn (ví dụ, ảnh, mật khẩu, tin nhắn và thông tin thẻ tín dụng).
+safeb-palm-advisory-desc = Tư vấn được cung cấp bởi <a data-l10n-name='advisory_provider'>{ $advisoryname }</a>.
+safeb-palm-accept-label = Quay lại
+safeb-palm-see-details-label = Xem chi tiết
+
+## Variables
+## $sitename (string) - Domain name for the blocked page
+
+safeb-blocked-phishing-page-error-desc-override = <span data-l10n-name='sitename'>{ $sitename }</span> đã bị <a data-l10n-name='error_desc_link'> báo cáo là trang web lừa đảo</a>. Bạn có thể <a data-l10n-name='report_detection'>báo cáo một vấn đề phát hiện</a> hoặc <a data-l10n-name='ignore_warning_link'>bỏ qua rủi ro</a> và truy cập trang không an toàn này.
+safeb-blocked-phishing-page-error-desc-no-override = <span data-l10n-name='sitename'>{ $sitename }</span> đã bị <a data-l10n-name='error_desc_link'>báo cáo là trang web lừa đảo</a>. Bạn có thể <a data-l10n-name='report_detection'>báo cáo một vấn đề phát hiện</a>.
+
+##
+
+safeb-blocked-phishing-page-learn-more = Tìm hiểu thêm về các trang lừa đảo và giả mạo tại <a data-l10n-name='learn_more_link'>www.antiphishing.org</a>. Tìm hiểu thêm về chống lừa đảo và phần mềm độc hại của { -brand-short-name } tại <a data-l10n-name='firefox_support'>support.mozilla.org</a>.
+
+## Variables
+## $sitename (string) - Domain name for the blocked page
+
+safeb-blocked-malware-page-error-desc-override-sumo = <span data-l10n-name='sitename'>{ $sitename }</span> đã được <a data-l10n-name='error_desc_link'>được báo cáo là có chứa phần mềm độc hại</a>. Bạn có thể <a data-l10n-name='ignore_warning_link'>bỏ qua rủi ro</a> và đi đến trang web không an toàn.
+safeb-blocked-malware-page-error-desc-no-override-sumo = <span data-l10n-name='sitename'>{ $sitename }</span> đã được <a data-l10n-name='error_desc_link'>được báo cáo là có chứa phần mềm độc hại</a>.
+
+##
+
+safeb-blocked-malware-page-learn-more-sumo = Xem thêm về chống lừa đảo và phần mềm độc hại của { -brand-short-name } tại <a data-l10n-name='firefox_support'>support.mozilla.org</a>.
+
+## Variables
+## $sitename (string) - Domain name for the blocked page
+
+safeb-blocked-unwanted-page-error-desc-override = <span data-l10n-name='sitename'>{ $sitename }</span> đã được <a data-l10n-name='error_desc_link'>báo cáo là có chứa phần mềm có hại</a>. Bạn có thể <a data-l10n-name='ignore_warning_link'>bỏ qua rủi ro</a> và truy cập trang web không an toàn này.
+safeb-blocked-unwanted-page-error-desc-no-override = <span data-l10n-name='sitename'>{ $sitename }</span> đã bị <a data-l10n-name='error_desc_link'>báo cáo có chứa phần mềm gây hại</a>.
+
+##
+
+safeb-blocked-unwanted-page-learn-more = Tìm hiểu thêm về phần mềm độc hại và không mong muốn tại <a data-l10n-name='learn_more_link'>chính sách phần mềm không mong muốn</a>. Tìm hiểu thêm về bảo vệ lừa đảo và phần mềm độc hại của { -brand-short-name } tại <a data-l10n-name='firefox_support'>support.mozilla.org</a>.
+
+## Variables
+## $sitename (string) - Domain name for the blocked page
+
+safeb-blocked-harmful-page-error-desc-override = <span data-l10n-name='sitename'>{ $sitename }</span> đã bị <a data-l10n-name='error_desc_link'>báo cáo là có chứa một ứng dụng có khả năng gây hại</a>. Bạn có thể <a data-l10n-name='ignore_warning_link'>bỏ qua rủi ro</a> và truy cập vào trang không an toàn này.
+safeb-blocked-harmful-page-error-desc-no-override = <span data-l10n-name='sitename'>{ $sitename }</span> đã bị <a data-l10n-name='error_desc_link'>báo cáo là có chứa một ứng dụng có khả năng gây hại</a>.
+
+##
+
+safeb-blocked-harmful-page-learn-more = Xem thêm về chống lừa đảo và phần mềm độc hại của { -brand-short-name } tại <a data-l10n-name='firefox_support'>support.mozilla.org</a>.
+safeb-palm-notdeceptive =
+ .label = Đây không phải là một trang lừa đảo…
+ .accesskey = d
diff --git a/l10n-vi/browser/browser/sanitize.ftl b/l10n-vi/browser/browser/sanitize.ftl
new file mode 100644
index 0000000000..cc0692e32a
--- /dev/null
+++ b/l10n-vi/browser/browser/sanitize.ftl
@@ -0,0 +1,125 @@
+# 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/.
+
+sanitize-prefs2 =
+ .title = Thiết lập cho việc xóa trắng lịch sử
+ .style = min-width: 34em
+sanitize-prefs-style =
+ .style = width: 17em
+sanitize-dialog-title2 =
+ .title = Xóa dữ liệu duyệt và cookie
+ .style = min-width: 34em
+sanitize-dialog-title =
+ .title = Xóa các lịch sử gần đây
+ .style = min-width: 34em
+# When "Time range to clear" is set to "Everything", this message is used for the
+# title instead of dialog-title.
+sanitize-dialog-title-everything =
+ .title = Xóa toàn bộ lịch sử
+ .style = min-width: 34em
+clear-data-settings-label = Khi đóng, { -brand-short-name } sẽ xóa tất cả một cách tự động
+sanitize-on-shutdown-description = Tự động xóa tất cả các mục đã chọn khi đóng { -brand-short-name }.
+
+## clear-time-duration-prefix is followed by a dropdown list, with
+## values localized using clear-time-duration-value-* messages.
+## clear-time-duration-suffix is left empty in English, but can be
+## used in other languages to change the structure of the message.
+##
+## This results in English:
+## Time range to clear: (Last Hour, Today, etc.)
+
+clear-time-duration-prefix =
+ .value = Khoảng thời gian để xóa:{ " " }
+ .accesskey = K
+clear-time-duration-prefix2 =
+ .value = Khi:
+ .accesskey = W
+clear-time-duration-value-last-hour =
+ .label = Một tiếng gần đây
+clear-time-duration-value-last-2-hours =
+ .label = Hai tiếng gần đây
+clear-time-duration-value-last-4-hours =
+ .label = Bốn tiếng gần đây
+clear-time-duration-value-today =
+ .label = Hôm nay
+clear-time-duration-value-everything =
+ .label = Mọi lúc
+clear-time-duration-suffix =
+ .value = { "" }
+
+## These strings are used as section comments and checkboxes
+## to select the items to remove
+
+history-section-label = Lịch sử
+item-history-and-downloads =
+ .label = Lịch sử duyệt web & tải xuống
+ .accesskey = d
+item-history-form-data-downloads =
+ .label = Lịch sử
+ .accesskey = H
+item-history-form-data-downloads-description = Xóa trang web và lịch sử tải xuống, thông tin biểu mẫu đã lưu và tìm kiếm
+item-cookies =
+ .label = Cookie
+ .accesskey = C
+# Variables:
+# $amount (Number) - Amount of site data currently stored on disk
+# $unit (String) - Abbreviation of the unit that $amount is in, e.g. "MB"
+item-cookies-site-data-with-size =
+ .label = Cookie và dữ liệu trang web ({ $amount } { $unit })
+ .accesskey = e
+item-cookies-site-data =
+ .label = Cookie và dữ liệu trang
+ .accesskey = e
+item-cookies-site-data-description = Có thể đăng xuất bạn khỏi các trang web hoặc bị làm trống giỏ hàng
+item-active-logins =
+ .label = Đăng nhập đang hoạt động
+ .accesskey = L
+item-cache =
+ .label = Bộ nhớ đệm
+ .accesskey = a
+# Variables:
+# $amount (Number) - Amount of cached data
+# $unit (String) - Abbreviation of the unit that $amount is in, e.g. "MB"
+item-cached-content-with-size =
+ .label = Các tập tin và trang được lưu trong bộ nhớ đệm tạm thời ({ $amount } { $unit })
+ .accesskey = f
+item-cached-content =
+ .label = Các tập tin và trang được lưu trong bộ nhớ đệm tạm thời
+ .accesskey = f
+item-cached-content-description = Xóa các mục giúp trang web tải nhanh hơn
+item-form-search-history =
+ .label = Lịch sử biểu mẫu & tìm kiếm
+ .accesskey = b
+item-site-prefs =
+ .label = Cài đặt trang
+ .accesskey = i
+item-site-prefs-description = Đặt lại quyền hạn và tùy chọn trang web của bạn về cài đặt gốc
+data-section-label = Dữ liệu
+item-site-settings =
+ .label = Cài đặt trang
+ .accesskey = S
+item-offline-apps =
+ .label = Dữ liệu trang web ngoại tuyến
+ .accesskey = O
+sanitize-everything-undo-warning = Thao tác này không thể hoàn tác được.
+window-close =
+ .key = w
+sanitize-button-ok =
+ .label = Xóa ngay
+sanitize-button-ok2 =
+ .label = Xóa
+sanitize-button-ok-on-shutdown =
+ .label = Lưu thay đổi
+# The label for the default button between the user clicking it and the window
+# closing. Indicates the items are being cleared.
+sanitize-button-clearing =
+ .label = Đang xóa
+# Warning that appears when "Time range to clear" is set to "Everything" in Clear
+# Recent History dialog, provided that the user has not modified the default set
+# of history items to clear.
+sanitize-everything-warning = Toàn bộ lịch sử sẽ bị xóa.
+# Warning that appears when "Time range to clear" is set to "Everything" in Clear
+# Recent History dialog, provided that the user has modified the default set of
+# history items to clear.
+sanitize-selected-warning = Tất cả các mục đã chọn sẽ bị xóa.
diff --git a/l10n-vi/browser/browser/screenshots.ftl b/l10n-vi/browser/browser/screenshots.ftl
new file mode 100644
index 0000000000..38cfd3b13b
--- /dev/null
+++ b/l10n-vi/browser/browser/screenshots.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/.
+
+screenshot-toolbarbutton =
+ .label = Ảnh chụp màn hình
+ .tooltiptext = Tạo một ảnh chụp màn hình
+
+screenshot-shortcut =
+ .key = S
+
+screenshots-instructions = Kéo hoặc nhấp vào trang để chọn một khu vực. Nhấn ESC để hủy bỏ.
+screenshots-cancel-button = Hủy bỏ
+screenshots-save-visible-button = Lưu phần nhìn thấy
+screenshots-save-page-button = Lưu toàn trang
+screenshots-download-button = Tải xuống
+screenshots-download-button-tooltip = Tải về ảnh chụp màn hình
+screenshots-copy-button = Sao chép
+screenshots-copy-button-tooltip = Sao chép ảnh chụp màn hình vào bộ nhớ tạm
+screenshots-download-button-title =
+ .title = Tải xuống ảnh chụp màn hình
+screenshots-copy-button-title =
+ .title = Sao chép ảnh chụp màn hình vào khay nhớ tạm
+screenshots-cancel-button-title =
+ .title = Hủy bỏ
+screenshots-retry-button-title =
+ .title = Thử chụp ảnh màn hình lại
+
+screenshots-meta-key =
+ { PLATFORM() ->
+ [macos] ⌘
+ *[other] Ctrl
+ }
+screenshots-notification-link-copied-title = Đã sao chép liên kết
+screenshots-notification-link-copied-details = Đã sao chép liên kết ảnh chụp màn hình của bạn vào bộ nhớ tạm. Nhấn { screenshots-meta-key }-V để dán.
+
+screenshots-notification-image-copied-title = Ảnh chụp màn hình đã được sao chép
+screenshots-notification-image-copied-details = Đã sao chép ảnh chụp màn hình của bạn vào bộ nhớ tạm. Nhấn { screenshots-meta-key }-V để dán.
+
+screenshots-request-error-title = Không sử dụng được.
+screenshots-request-error-details = Xin lỗi! Chúng tôi không thể sao lưu ảnh chụp của bạn. Vui lòng thử lại sau.
+
+screenshots-connection-error-title = Chúng tôi không thể kết nối với ảnh chụp màn hình của bạn.
+screenshots-connection-error-details = Vui lòng kiểm tra kết nối Internet của bạn. Nếu bạn có thể kết nối với Internet, có thể có sự cố tạm thời với dịch vụ { -screenshots-brand-name }.
+
+screenshots-login-error-details = Chúng tôi không thể lưu hình của bạn vì có sự cố với dịch vụ { -screenshots-brand-name }. Vui lòng thử lại sau.
+
+screenshots-unshootable-page-error-title = Chúng tôi không thể chụp màn hình trang này.
+screenshots-unshootable-page-error-details = Đây không phải là trang Web bình thường, bạn không thể chụp ảnh màn hình nó.
+
+screenshots-empty-selection-error-title = Vùng chọn của bạn quá nhỏ
+
+screenshots-private-window-error-title = { -screenshots-brand-name } đã bị tắt trong chế độ duyệt web riêng tư
+screenshots-private-window-error-details = Xin lỗi vì sự bất tiện này. Chúng tôi đang làm việc trên các tính năng này cho bản phát hành trong tương lai.
+
+screenshots-generic-error-title = Whoa! { -screenshots-brand-name } đã bị hoãn.
+screenshots-generic-error-details = Chúng tôi không chắc những gì vừa xảy ra. Thử lại hoặc chụp một trang khác?
+
+screenshots-too-large-error-title = Ảnh chụp màn hình của bạn đã bị cắt vì nó quá lớn
+screenshots-too-large-error-details = Thử chọn vùng có cạnh dài nhất nhỏ hơn 32.700 pixel hoặc tổng diện tích 124.900.000 pixel.
diff --git a/l10n-vi/browser/browser/screenshotsOverlay.ftl b/l10n-vi/browser/browser/screenshotsOverlay.ftl
new file mode 100644
index 0000000000..b10781c8a8
--- /dev/null
+++ b/l10n-vi/browser/browser/screenshotsOverlay.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/.
+
+screenshots-overlay-cancel-button = Hủy bỏ
+screenshots-overlay-instructions = Kéo hoặc nhấp vào trang để chọn một khu vực. Nhấn ESC để hủy bỏ.
+screenshots-overlay-download-button = Tải xuống
+screenshots-overlay-copy-button = Sao chép
+# This string represents the selection size area
+# "x" here represents "by" (i.e 123 by 456)
+# Variables:
+# $width (Number) - The width of the selection region in pixels
+# $height (Number) - The height of the selection region in pixels
+screenshots-overlay-selection-region-size = { $width } x { $height }
diff --git a/l10n-vi/browser/browser/search.ftl b/l10n-vi/browser/browser/search.ftl
new file mode 100644
index 0000000000..742b1049da
--- /dev/null
+++ b/l10n-vi/browser/browser/search.ftl
@@ -0,0 +1,35 @@
+# 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 for errors when installing OpenSearch engines, e.g.
+## via "Add Search Engine" on the address bar or search bar.
+## Variables
+## $location-url (String) - the URL of the OpenSearch engine that was attempted to be installed.
+
+opensearch-error-duplicate-title = Lỗi cài đặt
+opensearch-error-duplicate-desc = { -brand-short-name } không thể cài đặt phần bổ trợ tìm kiếm từ "{ $location-url }" bởi vì một máy tìm kiếm cùng tên đã tồn tại.
+opensearch-error-format-title = Định dạng không hợp lệ
+opensearch-error-format-desc = { -brand-short-name } không thể cài đặt công cụ tìm kiếm từ: { $location-url }
+opensearch-error-download-title = Lỗi tải xuống
+opensearch-error-download-desc = { -brand-short-name } không thể tải xuống phần bổ trợ tìm kiếm từ: { $location-url }
+
+##
+
+searchbar-submit =
+ .tooltiptext = Gửi tìm kiếm
+# This string is displayed in the search box when the input field is empty
+searchbar-input =
+ .placeholder = Tìm kiếm
+searchbar-icon =
+ .tooltiptext = Tìm kiếm
+
+## Infobar shown when search engine is removed and replaced.
+## Variables
+## $oldEngine (String) - the search engine to be removed.
+## $newEngine (String) - the search engine to replace the removed search engine.
+
+removed-search-engine-message = <strong>Công cụ tìm kiếm mặc định của bạn đã được thay đổi.</strong> { $oldEngine } không còn khả dụng làm công cụ tìm kiếm mặc định trong { -brand-short-name }. { $newEngine } hiện là công cụ tìm kiếm mặc định của bạn. Để thay đổi sang một công cụ tìm kiếm mặc định khác, hãy chuyển đến cài đặt. <label data-l10n-name="remove-search-engine-article">Tìm hiểu thêm</label>
+removed-search-engine-message2 = <strong>Công cụ tìm kiếm mặc định của bạn đã được thay đổi.</strong> { $oldEngine } không còn khả dụng làm công cụ tìm kiếm mặc định trong { -brand-short-name }. { $newEngine } hiện là công cụ tìm kiếm mặc định của bạn. Để thay đổi sang một công cụ tìm kiếm mặc định khác, hãy chuyển đến cài đặt.
+remove-search-engine-button = OK
diff --git a/l10n-vi/browser/browser/setDesktopBackground.ftl b/l10n-vi/browser/browser/setDesktopBackground.ftl
new file mode 100644
index 0000000000..303e91da81
--- /dev/null
+++ b/l10n-vi/browser/browser/setDesktopBackground.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/.
+
+set-desktop-background-window =
+ .title = Đặt làm ảnh nền máy tính
+
+set-desktop-background-accept =
+ .label = Đặt làm ảnh nền máy tính
+
+open-desktop-prefs =
+ .label = Mở tùy chọn máy tính
+
+set-background-preview-unavailable = Không có bản xem trước
+
+# This refers to the wallpaper "spanning" multiple monitors when the
+# user has more than one. Only some of the entire image will be on
+# each monitor. This should ideally match the wording in Windows' own
+# Desktop Background settings page.
+set-background-span =
+ .label = Mở rộng
+
+set-background-color = Màu sắc:
+
+set-background-position = Cách hiển thị:
+
+set-background-tile =
+ .label = Cạnh nhau
+
+set-background-center =
+ .label = Trung tâm
+
+set-background-stretch =
+ .label = Mở rộng
+
+set-background-fill =
+ .label = Lấp đầy
+
+set-background-fit =
+ .label = Vừa vặn
diff --git a/l10n-vi/browser/browser/shopping.ftl b/l10n-vi/browser/browser/shopping.ftl
new file mode 100644
index 0000000000..7bde45ebc1
--- /dev/null
+++ b/l10n-vi/browser/browser/shopping.ftl
@@ -0,0 +1,234 @@
+# 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/.
+
+shopping-page-title = { -brand-product-name } Shopping
+# Title for page showing where a user can check the
+# review quality of online shopping product reviews
+shopping-main-container-title = Trình kiểm tra đánh giá
+shopping-beta-marker = Beta
+# This string is for ensuring that screen reader technology
+# can read out the "Beta" part of the shopping sidebar header.
+# Any changes to shopping-main-container-title and
+# shopping-beta-marker should also be reflected here.
+shopping-a11y-header =
+ .aria-label = Trình kiểm tra đánh giá - beta
+shopping-close-button =
+ .title = Đóng
+# This string is for notifying screen reader users that the
+# sidebar is still loading data.
+shopping-a11y-loading =
+ .aria-label = Đang tải…
+
+## Strings for the letter grade component.
+## For now, we only support letter grades A, B, C, D and F.
+## Letter A indicates the highest grade, and F indicates the lowest grade.
+## Letters are hardcoded and cannot be localized.
+
+shopping-letter-grade-description-ab = Đánh giá đáng tin cậy
+shopping-letter-grade-description-c = Kết hợp các đánh giá đáng tin cậy và không đáng tin cậy
+shopping-letter-grade-description-df = Đánh giá không đáng tin cậy
+# This string is displayed in a tooltip that appears when the user hovers
+# over the letter grade component without a visible description.
+# It is also used for screen readers.
+# $letter (String) - The letter grade as A, B, C, D or F (hardcoded).
+# $description (String) - The localized letter grade description. See shopping-letter-grade-description-* strings above.
+shopping-letter-grade-tooltip =
+ .title = { $letter } - { $description }
+
+## Strings for the shopping message-bar
+
+shopping-message-bar-warning-stale-analysis-message-2 = Thông tin mới cần kiểm tra
+shopping-message-bar-warning-stale-analysis-button = Kiểm tra ngay
+shopping-message-bar-generic-error =
+ .heading = Hiện không có thông tin nào
+ .message = Chúng tôi đang làm việc để giải quyết sự cố. Hãy kiểm tra lại sau.
+shopping-message-bar-warning-not-enough-reviews =
+ .heading = Chưa đủ đánh giá
+ .message = Khi sản phẩm này có nhiều đánh giá hơn, chúng tôi sẽ có thể kiểm tra chất lượng của chúng.
+shopping-message-bar-warning-product-not-available =
+ .heading = Sản phẩm không có sẵn
+ .message = Nếu bạn thấy sản phẩm này đã có hàng trở lại, hãy báo cáo và chúng tôi sẽ kiểm tra đánh giá.
+shopping-message-bar-warning-product-not-available-button2 = Báo sản phẩm còn hàng
+shopping-message-bar-thanks-for-reporting =
+ .heading = Cảm ơn bạn đã báo cáo!
+ .message = Chúng tôi sẽ có thông tin về đánh giá của sản phẩm này trong vòng 24 giờ. Hãy kiểm tra lại sau.
+shopping-message-bar-warning-product-not-available-reported =
+ .heading = Thông tin sắp ra mắt
+ .message = Chúng tôi sẽ có thông tin về đánh giá của sản phẩm này trong vòng 24 giờ. Hãy kiểm tra lại sau.
+shopping-message-bar-analysis-in-progress-title2 = Đang kiểm tra chất lượng đánh giá
+shopping-message-bar-analysis-in-progress-message2 = Quá trình này có thể mất khoảng 60 giây.
+# Variables:
+# $percentage (Number) - The percentage complete that the analysis is, per our servers.
+shopping-message-bar-analysis-in-progress-with-amount = Kiểm tra chất lượng đánh giá ({ $percentage }%)
+shopping-message-bar-page-not-supported =
+ .heading = Chúng tôi không thể kiểm tra những đánh giá này
+ .message = Rất tiếc, chúng tôi không thể kiểm tra chất lượng đánh giá đối với một số loại sản phẩm nhất định. Ví dụ: thẻ quà tặng và truyền phát video, âm nhạc và trò chơi.
+shopping-message-bar-keep-closed-header =
+ .heading = Giữ việc đóng?
+ .message = Bạn có thể cập nhật cài đặt của mình để đóng trình kiểm tra đánh giá theo mặc định. Hiện tại, nó sẽ tự động mở ra.
+shopping-message-bar-keep-closed-dismiss-button = Không, cảm ơn
+shopping-message-bar-keep-closed-accept-button = Có, giữ việc đóng lại
+
+## Strings for the product review snippets card
+
+shopping-highlights-label =
+ .label = Điểm nổi bật từ các đánh giá gần đây
+shopping-highlight-price = Giá
+shopping-highlight-quality = Chất lượng
+shopping-highlight-shipping = Phương thức giao hàng
+shopping-highlight-competitiveness = Tính cạnh tranh
+shopping-highlight-packaging = Đóng gói
+
+## Strings for show more card
+
+shopping-show-more-button = Xem thêm
+shopping-show-less-button = Xem ít hơn
+
+## Strings for the settings card
+
+shopping-settings-label =
+ .label = Cài đặt
+shopping-settings-recommendations-toggle =
+ .label = Hiển thị quảng cáo trong trình kiểm tra đánh giá
+shopping-settings-recommendations-learn-more2 = Bạn sẽ thấy quảng cáo không thường xuyên cho các sản phẩm có liên quan. Chúng tôi chỉ quảng cáo những sản phẩm có đánh giá đáng tin cậy. <a data-l10n-name="review-quality-url">Tìm hiểu thêm</a>
+shopping-settings-opt-out-button = Tắt trình kiểm tra đánh giá
+powered-by-fakespot = Trình kiểm tra đánh giá được cung cấp bởi <a data-l10n-name="fakespot-link">{ -fakespot-brand-full-name }</a>.
+shopping-settings-auto-open-toggle =
+ .label = Tự động mở trình kiểm tra đánh giá
+# Description text for regions where we support three sites. Sites are limited to Amazon, Walmart and Best Buy.
+# Variables:
+# $firstSite (String) - The first shopping page name
+# $secondSite (String) - The second shopping page name
+# $thirdSite (String) - The third shopping page name
+shopping-settings-auto-open-description-three-sites = Khi bạn xem sản phẩm trên { $firstSite }, { $secondSite }, và { $thirdSite }
+# Description text for regions where we support only one site (e.g. currently used in FR/DE with Amazon).
+# Variables:
+# $currentSite (String) - The current shopping page name
+shopping-settings-auto-open-description-single-site = Khi bạn xem sản phẩm trên { $currentSite }
+shopping-settings-sidebar-enabled-state = Trình kiểm tra đánh giá đang <strong>bật</strong>
+
+## Strings for the adjusted rating component
+
+# "Adjusted rating" means a star rating that has been adjusted to include only
+# reliable reviews.
+shopping-adjusted-rating-label =
+ .label = Đánh giá đã được điều chỉnh
+shopping-adjusted-rating-unreliable-reviews = Đã xóa các đánh giá không đáng tin cậy
+
+## Strings for the review reliability component
+
+shopping-review-reliability-label =
+ .label = Những đánh giá này đáng tin cậy đến mức nào?
+
+## Strings for the analysis explainer component
+
+shopping-analysis-explainer-label =
+ .label = Cách chúng tôi xác định chất lượng đánh giá
+shopping-analysis-explainer-intro2 = Chúng tôi sử dụng công nghệ AI của { -fakespot-brand-full-name } để kiểm tra độ tin cậy của các đánh giá sản phẩm. Điều này chỉ giúp bạn đánh giá được chất lượng đánh giá chứ không phải chất lượng sản phẩm.
+shopping-analysis-explainer-grades-intro = Chúng tôi đưa ra đánh giá cho từng sản phẩm một <strong>điểm bằng chữ cái</strong> từ A đến F.
+shopping-analysis-explainer-adjusted-rating-description = <strong>Đánh giá đã được điều chỉnh</strong> chỉ dựa trên những đánh giá mà chúng tôi tin là đáng tin cậy.
+shopping-analysis-explainer-learn-more2 = Tìm hiểu thêm về <a data-l10n-name="review-quality-url">cách { -fakespot-brand-name } quyết định chất lượng đánh giá</a>.
+# This string includes the short brand name of one of the three supported
+# websites, which will be inserted without being translated.
+# $retailer (String) - capitalized name of the shopping website, for example, "Amazon".
+shopping-analysis-explainer-highlights-description = <strong>Điểm nổi bật</strong> từ { $retailer } đánh giá trong vòng 80 ngày qua mà chúng tôi tin là đáng tin cậy.
+shopping-analysis-explainer-review-grading-scale-reliable = Đánh giá đáng tin cậy. Chúng tôi tin rằng các đánh giá có thể đến từ những khách hàng thực sự đã để lại những đánh giá trung thực, không thiên vị.
+shopping-analysis-explainer-review-grading-scale-mixed = Chúng tôi tin rằng có sự kết hợp giữa các đánh giá đáng tin cậy và không đáng tin cậy.
+shopping-analysis-explainer-review-grading-scale-unreliable = Đánh giá không đáng tin cậy. Chúng tôi tin rằng các đánh giá có thể là giả mạo hoặc từ những người đánh giá thiên vị.
+
+## Strings for UrlBar button
+
+shopping-sidebar-open-button2 =
+ .tooltiptext = Mở trình kiểm tra đánh giá
+shopping-sidebar-close-button2 =
+ .tooltiptext = Đóng trình kiểm tra đánh giá
+
+## Strings for the unanalyzed product card.
+## The word 'analyzer' when used here reflects what this tool is called on
+## fakespot.com. If possible, a different word should be used for the Fakespot
+## tool (the Fakespot by Mozilla 'analyzer') other than 'checker', which is
+## used in the name of the Firefox feature ('Review Checker'). If that is not
+## possible - if these terms are not meaningfully different - that is OK.
+
+shopping-unanalyzed-product-header-2 = Chưa có thông tin về những đánh giá này
+shopping-unanalyzed-product-message-2 = Để biết liệu đánh giá của sản phẩm này có đáng tin cậy hay không, hãy kiểm tra chất lượng đánh giá. Chỉ mất khoảng 60 giây.
+shopping-unanalyzed-product-analyze-button = Kiểm tra chất lượng đánh giá
+
+## Strings for the advertisement
+
+more-to-consider-ad-label =
+ .label = Thêm điều cần xem xét
+ad-by-fakespot = Quảng cáo bởi { -fakespot-brand-name }
+
+## Shopping survey strings.
+
+shopping-survey-headline = Giúp cải thiện { -brand-product-name }
+shopping-survey-question-one = Bạn hài lòng như thế nào với trải nghiệm của trình kiểm tra đánh giá trong { -brand-product-name }?
+shopping-survey-q1-radio-1-label = Rất hài lòng
+shopping-survey-q1-radio-2-label = Hài lòng
+shopping-survey-q1-radio-3-label = Trung lập
+shopping-survey-q1-radio-4-label = Không hài lòng
+shopping-survey-q1-radio-5-label = Rất không hài lòng
+shopping-survey-question-two = Trình kiểm tra đánh giá có giúp bạn đưa ra quyết định mua hàng dễ dàng hơn không?
+shopping-survey-q2-radio-1-label = Có
+shopping-survey-q2-radio-2-label = Không
+shopping-survey-q2-radio-3-label = Tôi không biết
+shopping-survey-next-button-label = Tiếp
+shopping-survey-submit-button-label = Gửi
+shopping-survey-terms-link = Điều khoản sử dụng
+shopping-survey-thanks =
+ .heading = Cảm ơn phản hồi của bạn!
+
+## Shopping Feature Callout strings.
+## "price tag" refers to the price tag icon displayed in the address bar to
+## access the feature.
+
+shopping-callout-closed-opted-in-subtitle = Quay lại <strong>trình kiểm tra đánh giá</strong> bất cứ khi nào bạn nhìn thấy tag giá.
+shopping-callout-pdp-opted-in-title = Những đánh giá này có đáng tin cậy không? Tìm hiểu chúng nhanh chóng.
+shopping-callout-pdp-opted-in-subtitle = Mở trình kiểm tra đánh giá để xem xếp hạng đã điều chỉnh và đã xóa các đánh giá không đáng tin cậy. Ngoài ra, hãy xem những điểm nổi bật từ các đánh giá xác thực gần đây.
+shopping-callout-closed-not-opted-in-title = Một cú nhấp chuột để đánh giá đáng tin cậy
+shopping-callout-closed-not-opted-in-subtitle = Hãy dùng thử trình kiểm tra đánh giá bất cứ khi nào bạn nhìn thấy tag giá. Nhận thông tin chi tiết từ những người mua sắm thực sự một cách nhanh chóng — trước khi bạn mua.
+shopping-callout-closed-not-opted-in-revised-title = Một cú nhấp để kiểm tra đánh giá đáng tin cậy
+shopping-callout-closed-not-opted-in-revised-subtitle = Chỉ cần nhấp vào biểu tượng thẻ giá trên thanh địa chỉ để quay lại trình kiểm tra đánh giá.
+shopping-callout-closed-not-opted-in-revised-button = Đã hiểu
+shopping-callout-not-opted-in-reminder-title = Mua sắm với sự tự tin
+shopping-callout-not-opted-in-reminder-subtitle = Bạn không chắc chắn liệu đánh giá về sản phẩm là thật hay giả? Trình kiểm tra đánh gia từ { -brand-product-name } có thể giúp bạn.
+shopping-callout-not-opted-in-reminder-open-button = Mở trình kiểm tra đánh giá
+shopping-callout-not-opted-in-reminder-close-button = Bỏ qua
+shopping-callout-not-opted-in-reminder-ignore-checkbox = Đừng hỏi lại
+shopping-callout-not-opted-in-reminder-img-alt =
+ .aria-label = Minh họa trừu tượng của ba đánh giá sản phẩm. Một cái có biểu tượng cảnh báo cho biết nó có thể không đáng tin cậy.
+shopping-callout-disabled-auto-open-title = Trình kiểm tra đánh giá hiện được đóng theo mặc định
+shopping-callout-disabled-auto-open-subtitle = Nhấp vào biểu tượng thẻ giá trên thanh địa chỉ bất cứ khi nào bạn muốn xem liệu bạn có thể tin tưởng vào đánh giá sản phẩm hay không.
+shopping-callout-disabled-auto-open-button = Đã hiểu
+shopping-callout-opted-out-title = Trình kiểm tra đánh giá đang tắt
+shopping-callout-opted-out-subtitle = Để bật lại, hãy nhấp vào biểu tượng thẻ giá trên thanh địa chỉ và làm theo lời nhắc.
+shopping-callout-opted-out-button = Đã hiểu
+
+## Onboarding message strings.
+
+shopping-onboarding-headline = Hãy thử hướng dẫn đáng tin cậy của chúng tôi để đánh giá sản phẩm
+# Dynamic subtitle. Sites are limited to Amazon, Walmart or Best Buy.
+# Variables:
+# $currentSite (str) - The current shopping page name
+# $secondSite (str) - A second shopping page name
+# $thirdSite (str) - A third shopping page name
+shopping-onboarding-dynamic-subtitle-1 = Xem đánh giá sản phẩm đáng tin cậy như thế nào trên <b>{ $currentSite }</b> trước khi bạn mua. Trình kiểm tra đánh giá, một tính năng thử nghiệm từ { -brand-product-name }, được tích hợp ngay vào trình duyệt. Nó cũng hoạt động trên <b>{ $secondSite }</b> và <b>{ $thirdSite }</b>.
+# Subtitle for countries where we only support one shopping website (e.g. currently used in FR/DE with Amazon)
+# Variables:
+# $currentSite (str) - The current shopping page name
+shopping-onboarding-single-subtitle = Xem đánh giá sản phẩm đáng tin cậy trên <b>{ $currentSite }</b> trước khi bạn mua. Trình kiểm tra đánh giá, một tính năng thử nghiệm từ { -brand-product-name }, được tích hợp ngay trong trình duyệt.
+shopping-onboarding-body = Sử dụng { -fakespot-brand-full-name }, chúng tôi giúp bạn tránh những đánh giá thiên vị và không xác thực. Mô hình AI của chúng tôi luôn cải tiến để bảo vệ bạn khi bạn mua sắm. <a data-l10n-name="learn_more">Tìm hiểu thêm</a>
+shopping-onboarding-opt-in-privacy-policy-and-terms-of-use3 = Bằng việc chọn “{ shopping-onboarding-opt-in-button }“ bạn đồng ý với <a data-l10n-name="privacy_policy">chính sách riêng tư</a> của { -brand-product-name } và <a data-l10n-name="terms_of_use">điều khoản sử dụng</a> của { -fakespot-brand-name }.
+shopping-onboarding-opt-in-button = Có, hãy thử nó
+shopping-onboarding-not-now-button = Không phải bây giờ
+shopping-onboarding-dialog-close-button =
+ .title = Đóng
+ .aria-label = Đóng
+# Aria-label to make the "steps" of the shopping onboarding container visible to screen readers.
+# Variables:
+# $current (Int) - Number of the current page
+# $total (Int) - Total number of pages
+shopping-onboarding-welcome-steps-indicator-label =
+ .aria-label = Tiến trình: bước { $current } của { $total }
diff --git a/l10n-vi/browser/browser/sidebarMenu.ftl b/l10n-vi/browser/browser/sidebarMenu.ftl
new file mode 100644
index 0000000000..7f5738584b
--- /dev/null
+++ b/l10n-vi/browser/browser/sidebarMenu.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/.
+
+sidebar-menu-bookmarks =
+ .label = Dấu trang
+
+sidebar-menu-history =
+ .label = Lịch sử
+
+sidebar-menu-synced-tabs =
+ .label = Các thẻ đã đồng bộ
+
+sidebar-menu-close =
+ .label = Đóng thanh lề
+
+sidebar-close-button =
+ .tooltiptext = Đóng thanh lề
diff --git a/l10n-vi/browser/browser/sitePermissions.ftl b/l10n-vi/browser/browser/sitePermissions.ftl
new file mode 100644
index 0000000000..ee0b44463b
--- /dev/null
+++ b/l10n-vi/browser/browser/sitePermissions.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/.
+
+# This string is used to display the option to open blocked popup(s) in site permission management panels.
+# Variables:
+# $count (String) - Number of blocked pop-ups
+site-permissions-open-blocked-popups =
+ { $count ->
+ *[other] Mở { $count } cửa sổ bật lên bị chặn…
+ }
diff --git a/l10n-vi/browser/browser/siteProtections.ftl b/l10n-vi/browser/browser/siteProtections.ftl
new file mode 100644
index 0000000000..53b07ed45c
--- /dev/null
+++ b/l10n-vi/browser/browser/siteProtections.ftl
@@ -0,0 +1,88 @@
+# 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/.
+
+content-blocking-trackers-view-empty = Không phát hiện trên trang web này
+content-blocking-cookies-blocking-trackers-label = Cookie theo dõi trên nhiều trang web
+content-blocking-cookies-blocking-third-party-label = Cookie của bên thứ ba
+content-blocking-cookies-blocking-unvisited-label = Cookie trang web chưa truy cập
+content-blocking-cookies-blocking-all-label = Tất cả các cookie
+content-blocking-cookies-view-first-party-label = Từ trang web này
+content-blocking-cookies-view-trackers-label = Cookie theo dõi trên nhiều trang web
+content-blocking-cookies-view-third-party-label = Cookie của bên thứ ba
+# This label is shown next to a cookie origin in the cookies subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Allowed"
+content-blocking-cookies-view-allowed-label =
+ .value = Đã cho phép
+# This label is shown next to a cookie origin in the cookies subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Blocked"
+content-blocking-cookies-view-blocked-label =
+ .value = Đã chặn
+# Variables:
+# $domain (String): the domain of the site.
+content-blocking-cookies-view-remove-button =
+ .tooltiptext = Xóa ngoại lệ cookie cho { $domain }
+tracking-protection-icon-active = Chặn trình theo dõi phương tiện truyền thông xã hội, cookie theo dõi trên nhiều trang web và dấu vết.
+tracking-protection-icon-active-container =
+ .aria-label = { tracking-protection-icon-active }
+tracking-protection-icon-disabled = Trình chống theo dõi nâng cao đã bị TẮT cho trang này.
+tracking-protection-icon-disabled-container =
+ .aria-label = { tracking-protection-icon-disabled }
+tracking-protection-icon-no-trackers-detected = { -brand-short-name } không phát hiện ra trình theo dõi đã biết trên trang này.
+tracking-protection-icon-no-trackers-detected-container =
+ .aria-label = { tracking-protection-icon-no-trackers-detected }
+
+## Variables:
+## $host (String): the site's hostname
+
+# Header of the Protections Panel.
+protections-header = Trạng thái bảo vệ cho { $host }
+
+## Blocking and Not Blocking sub-views in the Protections Panel
+
+protections-blocking-fingerprinters =
+ .title = Đã chặn dấu vết
+protections-blocking-cryptominers =
+ .title = Đã chặn tiền điện tử
+protections-blocking-cookies-trackers =
+ .title = Đã chặn cookie theo dõi trên nhiều trang web
+protections-blocking-cookies-third-party =
+ .title = Đã chặn cookie của bên thứ ba
+protections-blocking-cookies-all =
+ .title = Đã chặn tất cả cookie
+protections-blocking-cookies-unvisited =
+ .title = Đã cookie trang web chưa truy cập
+protections-blocking-tracking-content =
+ .title = Đã chặn trình theo dõi nội dung
+protections-blocking-social-media-trackers =
+ .title = Đã chặn trình theo dõi truyền thông xã hội
+protections-not-blocking-fingerprinters =
+ .title = Không chặn dấu vết
+protections-not-blocking-cryptominers =
+ .title = Không chặn tiền điện tử
+protections-not-blocking-cookies-third-party =
+ .title = Không chặn cookie của bên thứ ba
+protections-not-blocking-cookies-all =
+ .title = Không chặn cookie
+protections-not-blocking-cross-site-tracking-cookies =
+ .title = Không chặn cookie theo dõi trên nhiều trang web
+protections-not-blocking-tracking-content =
+ .title = Không chặn trình theo dõi nội dung
+protections-not-blocking-social-media-trackers =
+ .title = Không chặn trình theo dõi truyền thông xã hội
+
+## Footer and Milestones sections in the Protections Panel
+## Variables:
+## $trackerCount (Number): number of trackers blocked
+## $date (Date): the date on which we started counting
+
+# This text indicates the total number of trackers blocked on all sites.
+# In its tooltip, we show the date when we started counting this number.
+protections-footer-blocked-tracker-counter = { $trackerCount } đã chặn
+ .tooltiptext = Từ { DATETIME($date, year: "numeric", month: "long", day: "numeric") }
+# This text indicates the total number of trackers blocked on all sites.
+# It should be the same as protections-footer-blocked-tracker-counter;
+# this message is used to leave out the tooltip when the date is not available.
+protections-footer-blocked-tracker-counter-no-tooltip = { $trackerCount } đã chặn
+# In English this looks like "Firefox blocked over 10,000 trackers since October 2019"
+protections-milestone = { -brand-short-name } đã chặn { $trackerCount } trình theo dõi từ { DATETIME($date, year: "numeric", month: "long") }
diff --git a/l10n-vi/browser/browser/speechDispatcher.ftl b/l10n-vi/browser/browser/speechDispatcher.ftl
new file mode 100644
index 0000000000..2e49a0a288
--- /dev/null
+++ b/l10n-vi/browser/browser/speechDispatcher.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/.
+
+
+### Speech Dispatches is the name of a speech synthesis tool and shouldn’t be
+### localized (https://freebsoft.org/speechd).
+
+speech-dispatcher-lib-missing = Bạn không thể sử dụng tổng hợp giọng nói vì thư viện Speech Dispatcher bị thiếu.
+speech-dispatcher-lib-too-old = Bạn không thể sử dụng tổng hợp giọng nói vì thư viện Speech Dispatcher cần được cập nhật.
+speech-dispatcher-missing-symbol = Bạn không thể sử dụng tổng hợp giọng nói vì thư viện Speech Dispatcher bị hỏng.
+speech-dispatcher-open-fail = Bạn không thể sử dụng tổng hợp giọng nói vì không thể mở thư viện Speech Dispatcher.
+speech-dispatcher-no-voices = Bạn không thể sử dụng tính năng tổng hợp giọng nói vì giọng nói không khả dụng trong Speech Dispatcher.
+speech-dispatcher-dismiss-button =
+ .label = Đừng hỏi lại
+ .accesskey = D
diff --git a/l10n-vi/browser/browser/spotlight.ftl b/l10n-vi/browser/browser/spotlight.ftl
new file mode 100644
index 0000000000..229688b385
--- /dev/null
+++ b/l10n-vi/browser/browser/spotlight.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/.
+
+# Dialog close button
+spotlight-dialog-close-button =
+ .title = Đóng
+ .aria-label = Đóng
+
+## Mobile download button strings
+
+spotlight-android-marketplace-button =
+ .title = Tải xuống trên Google Play
+spotlight-ios-marketplace-button =
+ .title = Tải xuống trên App Store
+
+## Firefox Focus promo message strings
+
+spotlight-focus-promo-title = Tải { -focus-brand-name }
+spotlight-focus-promo-subtitle = Quét mã QR để tải xuống.
+spotlight-focus-promo-qr-code =
+ .alt = Quét mã QR để tải { -focus-brand-name }
diff --git a/l10n-vi/browser/browser/sync.ftl b/l10n-vi/browser/browser/sync.ftl
new file mode 100644
index 0000000000..5bcc1f67d1
--- /dev/null
+++ b/l10n-vi/browser/browser/sync.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/.
+
+fxa-toolbar-sync-syncing2 = Đang đồng bộ hóa…
+sync-disconnect-dialog-title2 = Ngắt kết nối?
+sync-disconnect-dialog-body = { -brand-product-name } sẽ ngừng đồng bộ hóa với tài khoản của bạn, nhưng sẽ không xóa mọi dữ liệu duyệt web của bạn trên thiết bị này.
+sync-disconnect-dialog-button = Ngắt kết nối
+fxa-signout-dialog2-title = Đăng xuất khỏi { -fxaccount-brand-name }?
+fxa-signout-dialog-title2 = Đăng xuất khỏi tài khoản của bạn?
+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-dialog2-button = Đăng xuất
+fxa-signout-dialog2-checkbox = Xóa dữ liệu khỏi thiết bị này (mật khẩu, lịch sử, dấu trang, v.v.)
+fxa-menu-sync-settings =
+ .label = Cài đặt đồng bộ hóa
+fxa-menu-turn-on-sync =
+ .value = Bật đồng bộ hóa
+fxa-menu-turn-on-sync-default = Bật đồng bộ hóa
+fxa-menu-connect-another-device =
+ .label = Kết nối thiết bị khác…
+# Variables:
+# $tabCount (Number): The number of tabs sent to the device.
+fxa-menu-send-tab-to-device =
+ .label = Gửi { $tabCount } thẻ đến thiết bị
+# This is shown dynamically within "Send tab to device" in fxa menu.
+fxa-menu-send-tab-to-device-syncnotready =
+ .label = Đang đồng bộ các thiết bị…
+# This is shown within "Send tab to device" in fxa menu if account is not configured.
+fxa-menu-send-tab-to-device-description = Gửi một thẻ ngay lập tức đến bất kỳ thiết bị nào mà bạn đã đăng nhập.
+fxa-menu-sign-out =
+ .label = Đăng xuất…
+fxa-menu-sync-title = Đồng bộ hóa
+fxa-menu-sync-description = Truy cập web của bạn mọi nơi
diff --git a/l10n-vi/browser/browser/syncedTabs.ftl b/l10n-vi/browser/browser/syncedTabs.ftl
new file mode 100644
index 0000000000..651c4648ae
--- /dev/null
+++ b/l10n-vi/browser/browser/syncedTabs.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/.
+
+synced-tabs-sidebar-title = Các thẻ đã đồng bộ
+synced-tabs-sidebar-noclients-subtitle = Muốn xem thẻ từ các thiết bị khác của bạn ở đây?
+synced-tabs-sidebar-intro = Xem danh sách các thẻ từ các thiết bị khác của bạn.
+synced-tabs-sidebar-unverified = Tài khoản của bạn cần được xác thực.
+synced-tabs-sidebar-notabs = Không có thẻ đang mở
+synced-tabs-sidebar-open-settings = Mở cài đặt đồng bộ hóa
+synced-tabs-sidebar-tabsnotsyncing = Bật đồng bộ thẻ để xem danh sách thẻ từ các thiết bị khác của bạn.
+synced-tabs-sidebar-connect-another-device = Kết nối thiết bị khác
+synced-tabs-sidebar-search =
+ .placeholder = Tìm các thẻ đã đồng bộ
+
+## Displayed in the Synced Tabs sidebar's context menu when right-clicking tabs
+## and/or devices in the list. The "Open" strings below should be translated
+## consistently with the equivalent strings for the bookmarks manager's context
+## menu. That menu is activated by right-clicking a bookmark in the Library
+## window. The bookmarks manager context's strings are located in places.ftl.
+
+synced-tabs-context-open =
+ .label = Mở
+ .accesskey = O
+synced-tabs-context-open-in-tab =
+ .label = Mở trong thẻ mới
+ .accesskey = w
+synced-tabs-context-open-in-container-tab =
+ .label = Mở trong thẻ ngăn chứa mới
+ .accesskey = i
+synced-tabs-context-open-in-window =
+ .label = Mở trong cửa sổ mới
+ .accesskey = N
+synced-tabs-context-open-in-private-window =
+ .label = Mở trong cửa sổ riêng tư mới
+ .accesskey = P
+
+##
+
+# Displayed in the Synced Tabs sidebar's context menu when right-clicking tabs
+# and/or devices in the list. This string is for a menuitem equivalent to one in
+# the tab context menu (activated by right-clicking a tab in the tabstrip). That
+# string is located in tabContextMenu.ftl. So, this string should be translated
+# consistently with the "Bookmark Tab…" string there.
+synced-tabs-context-bookmark =
+ .label = Đánh dấu thẻ
+ .accesskey = B
+synced-tabs-context-copy =
+ .label = Sao chép
+ .accesskey = C
+synced-tabs-context-open-all-in-tabs =
+ .label = Mở toàn bộ trong các thẻ mới
+ .accesskey = O
+synced-tabs-context-manage-devices =
+ .label = Quản lý các thiết bị…
+ .accesskey = D
+synced-tabs-context-sync-now =
+ .label = Đồng bộ ngay
+ .accesskey = S
+synced-tabs-fxa-sign-in = Đăng nhập vào đồng bộ hóa
+synced-tabs-turn-on-sync = Bật đồng bộ hóa
diff --git a/l10n-vi/browser/browser/tabContextMenu.ftl b/l10n-vi/browser/browser/tabContextMenu.ftl
new file mode 100644
index 0000000000..fe40cfc7be
--- /dev/null
+++ b/l10n-vi/browser/browser/tabContextMenu.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/.
+
+tab-context-new-tab =
+ .label = Thẻ mới
+ .accesskey = w
+reload-tab =
+ .label = Tải lại thẻ
+ .accesskey = R
+select-all-tabs =
+ .label = Chọn tất cả các thẻ
+ .accesskey = S
+tab-context-play-tab =
+ .label = Phát âm thanh thẻ
+ .accesskey = l
+tab-context-play-tabs =
+ .label = Phát âm thanh các thẻ
+ .accesskey = y
+duplicate-tab =
+ .label = Nhân đôi thẻ
+ .accesskey = D
+duplicate-tabs =
+ .label = Nhân đôi các thẻ
+ .accesskey = D
+# The following string is displayed on a menuitem that will close the tabs from the start of the tabstrip to the currently targeted tab (excluding the currently targeted and any other selected tabs).
+# In left-to-right languages this should use "Left" and in right-to-left languages this should use "Right".
+close-tabs-to-the-start =
+ .label = Đóng các thẻ ở bên trái
+ .accesskey = I
+# The following string is displayed on a menuitem that will close the tabs from the end of the tabstrip to the currently targeted tab (excluding the currently targeted and any other selected tabs).
+# In left-to-right languages this should use "Right" and in right-to-left languages this should use "Left".
+close-tabs-to-the-end =
+ .label = Đóng các thẻ ở bên phải
+ .accesskey = i
+close-other-tabs =
+ .label = Đóng các thẻ khác
+ .accesskey = o
+reload-tabs =
+ .label = Tải lại các thẻ
+ .accesskey = R
+pin-tab =
+ .label = Ghim thẻ
+ .accesskey = P
+unpin-tab =
+ .label = Gỡ thẻ
+ .accesskey = b
+pin-selected-tabs =
+ .label = Ghim thẻ
+ .accesskey = P
+unpin-selected-tabs =
+ .label = Bỏ ghim thẻ
+ .accesskey = b
+bookmark-selected-tabs =
+ .label = Đánh dấu các thẻ…
+ .accesskey = k
+tab-context-bookmark-tab =
+ .label = Đánh dấu thẻ…
+ .accesskey = B
+tab-context-open-in-new-container-tab =
+ .label = Mở liên kết trong thẻ ngăn chứa mới
+ .accesskey = e
+move-to-start =
+ .label = Di chuyển lên đầu
+ .accesskey = S
+move-to-end =
+ .label = Di chuyển xuống cuối
+ .accesskey = E
+move-to-new-window =
+ .label = Di chuyển sang cửa sổ mới
+ .accesskey = W
+tab-context-close-multiple-tabs =
+ .label = Đóng nhiều thẻ
+ .accesskey = M
+tab-context-share-url =
+ .label = Chia sẻ
+ .accesskey = h
+
+## Variables:
+## $tabCount (Number): the number of tabs that are affected by the action.
+
+tab-context-reopen-closed-tabs =
+ .label =
+ { $tabCount ->
+ [1] Mở lại thẻ đã đóng
+ *[other] Mở lại các thẻ đã đóng
+ }
+ .accesskey = o
+tab-context-close-n-tabs =
+ .label =
+ { $tabCount ->
+ [1] Đóng thẻ
+ *[other] Đóng { $tabCount } thẻ
+ }
+ .accesskey = C
+tab-context-move-tabs =
+ .label =
+ { $tabCount ->
+ [1] Di chuyển thẻ
+ *[other] Di chuyển các thẻ
+ }
+ .accesskey = v
+
+tab-context-send-tabs-to-device =
+ .label = Gửi { $tabCount } thẻ đến thiết bị
+ .accesskey = n
diff --git a/l10n-vi/browser/browser/tabbrowser.ftl b/l10n-vi/browser/browser/tabbrowser.ftl
new file mode 100644
index 0000000000..04f51ff7af
--- /dev/null
+++ b/l10n-vi/browser/browser/tabbrowser.ftl
@@ -0,0 +1,136 @@
+# 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/.
+
+tabbrowser-empty-tab-title = Thẻ mới
+tabbrowser-empty-private-tab-title = Thẻ riêng tư mới
+
+tabbrowser-menuitem-close-tab =
+ .label = Đóng thẻ
+tabbrowser-menuitem-close =
+ .label = Đóng
+
+# Displayed as a tooltip on container tabs
+# Variables:
+# $title (String): the title of the current tab.
+# $containerName (String): the name of the current container.
+tabbrowser-container-tab-title = { $title } - { $containerName }
+
+# Variables:
+# $tabCount (Number): The number of tabs that will be closed.
+tabbrowser-close-tabs-tooltip =
+ .label = Đóng { $tabCount } thẻ
+
+## Tooltips for tab audio control
+## Variables:
+## $tabCount (Number): The number of tabs that will be affected.
+
+# Variables:
+# $shortcut (String): The keyboard shortcut for "Mute tab".
+tabbrowser-mute-tab-audio-tooltip =
+ .label = Tắt tiếng { $tabCount } thẻ ({ $shortcut })
+# Variables:
+# $shortcut (String): The keyboard shortcut for "Unmute tab".
+tabbrowser-unmute-tab-audio-tooltip =
+ .label = Bật tiếng { $tabCount } thẻ ({ $shortcut })
+tabbrowser-mute-tab-audio-background-tooltip =
+ .label = Tắt tiếng { $tabCount } thẻ
+tabbrowser-unmute-tab-audio-background-tooltip =
+ .label = Bật tiếng { $tabCount } thẻ
+tabbrowser-unblock-tab-audio-tooltip =
+ .label = Phát âm thanh { $tabCount } thẻ
+
+## Confirmation dialog when closing a window with more than one tab open,
+## or when quitting when only one window is open.
+
+# The singular form is not considered since this string is used only for multiple tabs.
+# Variables:
+# $tabCount (Number): The number of tabs that will be closed.
+tabbrowser-confirm-close-tabs-title = Đóng { $tabCount } thẻ?
+tabbrowser-confirm-close-tabs-button = Đóng thẻ
+tabbrowser-confirm-close-tabs-checkbox = Xác nhận trước khi đóng nhiều thẻ
+
+## Confirmation dialog when quitting using the menu and multiple windows are open.
+
+# The forms for 0 or 1 items are not considered since this string is used only for
+# multiple windows.
+# Variables:
+# $windowCount (Number): The number of windows that will be closed.
+tabbrowser-confirm-close-windows-title = Đóng { $windowCount } cửa sổ?
+tabbrowser-confirm-close-windows-button =
+ { PLATFORM() ->
+ [windows] Đóng và thoát
+ *[other] Đóng và thoát
+ }
+
+## Confirmation dialog when quitting using the keyboard shortcut (Ctrl/Cmd+Q)
+## Windows does not show a prompt on quit when using the keyboard shortcut by default.
+
+tabbrowser-confirm-close-tabs-with-key-title = Đóng cửa sổ và thoát { -brand-short-name }?
+tabbrowser-confirm-close-tabs-with-key-button = Thoát { -brand-short-name }
+# Variables:
+# $quitKey (String): the text of the keyboard shortcut for quitting.
+tabbrowser-confirm-close-tabs-with-key-checkbox = Xác nhận trước khi thoát bằng { $quitKey }
+
+## Confirmation dialog when opening multiple tabs simultaneously
+
+tabbrowser-confirm-open-multiple-tabs-title = Xác nhận mở
+# Variables:
+# $tabCount (Number): The number of tabs that will be opened.
+tabbrowser-confirm-open-multiple-tabs-message =
+ { $tabCount ->
+ *[other] Bạn đang chuẩn bị mở { $tabCount } thẻ. Nó sẽ gây chậm { -brand-short-name } khi các trang web đang tải. Bạn có muốn tiếp tục?
+ }
+tabbrowser-confirm-open-multiple-tabs-button = Mở các thẻ
+tabbrowser-confirm-open-multiple-tabs-checkbox = Cảnh báo tôi khi mở nhiều thẻ có thể làm chậm { -brand-short-name }
+
+## Confirmation dialog for enabling caret browsing
+
+tabbrowser-confirm-caretbrowsing-title = Duyệt với con trỏ
+tabbrowser-confirm-caretbrowsing-message = Nhấn F7 để bật hoặc tắt chế độ duyệt với con trỏ. Chức năng này đặt một con trỏ có thể di chuyển được trên trang web, cho phép bạn chọn văn bản bằng bàn phím. Bạn có muốn bật chế độ này không?
+tabbrowser-confirm-caretbrowsing-checkbox = Không hiện lại hộp thoại này.
+
+##
+
+# Variables:
+# $domain (String): URL of the page that is trying to steal focus.
+tabbrowser-allow-dialogs-to-get-focus =
+ .label = Cho phép các thông báo như thế này từ { $domain } đưa bạn đến thẻ của họ
+
+tabbrowser-customizemode-tab-title = Tùy biến { -brand-short-name }
+
+## Context menu buttons, of which only one will be visible at a time
+
+tabbrowser-context-mute-tab =
+ .label = Tắt tiếng thẻ
+ .accesskey = M
+tabbrowser-context-unmute-tab =
+ .label = Bật tiếng thẻ
+ .accesskey = m
+# The accesskey should match the accesskey for tabbrowser-context-mute-tab
+tabbrowser-context-mute-selected-tabs =
+ .label = Tắt tiếng thẻ
+ .accesskey = M
+# The accesskey should match the accesskey for tabbrowser-context-unmute-tab
+tabbrowser-context-unmute-selected-tabs =
+ .label = Bỏ tắt tiếng thẻ
+ .accesskey = m
+
+# This string is used as an additional tooltip and accessibility description for tabs playing audio
+tabbrowser-tab-audio-playing-description = Đang phát âm thanh
+
+## Ctrl-Tab dialog
+
+# Variables:
+# $tabCount (Number): The number of tabs in the current browser window. It will always be 2 at least.
+tabbrowser-ctrl-tab-list-all-tabs =
+ .label = Hiển thị tất cả { $tabCount } thẻ
+
+## Tab manager menu buttons
+
+tabbrowser-manager-mute-tab =
+ .tooltiptext = Tắt tiếng thẻ
+tabbrowser-manager-unmute-tab =
+ .tooltiptext = Bỏ tắt tiếng thẻ
+tabbrowser-manager-close-tab =
+ .tooltiptext = Đóng thẻ
diff --git a/l10n-vi/browser/browser/textRecognition.ftl b/l10n-vi/browser/browser/textRecognition.ftl
new file mode 100644
index 0000000000..5a23eba488
--- /dev/null
+++ b/l10n-vi/browser/browser/textRecognition.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/.
+
+
+## Text recognition works through a modal that presents the text that is found
+## in an image, and copies the results to the clipboard.
+
+text-recognition-modal-searching-title = Đang tìm kiếm văn bản từ hình ảnh…
+text-recognition-modal-results-title = Đã sao chép văn bản từ hình ảnh
+text-recognition-modal-no-results-title = Xin lỗi, chúng tôi không thể trích xuất bất kỳ văn bản nào. Thử một hình khác. <a data-l10n-name="error-link">Tìm hiểu thêm</a>.
+text-recognition-modal-close-button = Đóng
+
+# The title of the the modal is only available to screen readers.
+text-recognition-modal-accessible-modal-title = Kết quả trích xuất văn bản
diff --git a/l10n-vi/browser/browser/toolbarContextMenu.ftl b/l10n-vi/browser/browser/toolbarContextMenu.ftl
new file mode 100644
index 0000000000..85e2548129
--- /dev/null
+++ b/l10n-vi/browser/browser/toolbarContextMenu.ftl
@@ -0,0 +1,88 @@
+# 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-new-tab =
+ .label = Thẻ mới
+ .accesskey = w
+toolbar-context-menu-reload-selected-tab =
+ .label = Tải lại các thẻ đã chọn
+ .accesskey = R
+toolbar-context-menu-reload-selected-tabs =
+ .label = Tải lại các thẻ đã chọn
+ .accesskey = R
+toolbar-context-menu-bookmark-selected-tab =
+ .label = Đánh dấu các thẻ đã chọn…
+ .accesskey = T
+toolbar-context-menu-bookmark-selected-tabs =
+ .label = Đánh dấu các thẻ đã chọn…
+ .accesskey = T
+toolbar-context-menu-select-all-tabs =
+ .label = Chọn tất cả các thẻ
+ .accesskey = S
+toolbar-context-menu-reopen-closed-tabs =
+ .label =
+ { $tabCount ->
+ [1] Mở lại thẻ đã đóng
+ *[other] Mở lại các thẻ đã đóng
+ }
+ .accesskey = o
+
+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
+
+# This label is used in the extensions toolbar buttons context menus,
+# a user can use this command to submit to Mozilla an abuse report
+# related to that extension. "Report" is a verb.
+toolbar-context-menu-report-extension =
+ .label = Báo cáo tiện ích mở rộng
+ .accesskey = o
+
+# Can appear on the same context menu as toolbar-context-menu-menu-bar-cmd
+# ("Menu Bar") and personalbarCmd ("Bookmarks Toolbar"), so they should
+# have different access keys.
+toolbar-context-menu-pin-to-overflow-menu =
+ .label = Ghim vào menu gợi ý trên thanh địa chỉ
+ .accesskey = P
+toolbar-context-menu-auto-hide-downloads-button-2 =
+ .label = Ẩn nút khi danh sách trống
+ .accesskey = H
+toolbar-context-menu-always-open-downloads-panel =
+ .label = Hiển thị bảng điều khiển khi bắt đầu tải xuống
+ .accesskey = S
+toolbar-context-menu-remove-from-toolbar =
+ .label = Xóa khỏi thanh công cụ
+ .accesskey = R
+toolbar-context-menu-view-customize-toolbar =
+ .label = Tùy biến…
+ .accesskey = C
+toolbar-context-menu-view-customize-toolbar-2 =
+ .label = Tùy biến thanh công cụ…
+ .accesskey = C
+# This is only ever shown when toolbar-context-menu-pin-to-overflow-menu
+# is hidden, so they can share access keys.
+toolbar-context-menu-pin-to-toolbar =
+ .label = Ghim vào thanh công cụ
+ .accesskey = P
+
+toolbar-context-menu-bookmarks-toolbar-always-show-2 =
+ .label = Luôn hiển thị
+ .accesskey = A
+toolbar-context-menu-bookmarks-toolbar-never-show-2 =
+ .label = Không bao giờ hiển thị
+ .accesskey = N
+toolbar-context-menu-bookmarks-toolbar-on-new-tab-2 =
+ .label = Chỉ hiển thị trong thẻ mới
+ .accesskey = O
+
+toolbar-context-menu-bookmarks-show-other-bookmarks =
+ .label = Hiển thị các dấu trang khác
+ .accesskey = h
+
+toolbar-context-menu-menu-bar-cmd =
+ .toolbarname = Thanh menu
+ .accesskey = M
diff --git a/l10n-vi/browser/browser/touchbar/touchbar.ftl b/l10n-vi/browser/browser/touchbar/touchbar.ftl
new file mode 100644
index 0000000000..6984342c39
--- /dev/null
+++ b/l10n-vi/browser/browser/touchbar/touchbar.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/.
+
+# Strings in this file are used to localize button titles displayed on the
+# MacBook Touch Bar.
+back = Quay lại
+forward = Tiến
+reload = Tải lại
+home = Trang chủ
+fullscreen = Toàn màn hình
+touchbar-fullscreen-exit = Thoát chế độ toàn màn hình
+find = Tìm
+new-tab = Thẻ mới
+add-bookmark = Thêm dấu trang
+reader-view = Chế độ đọc sách
+# Meant to match the string displayed in an empty URL bar.
+open-location = Tìm kiếm hoặc nhập địa chỉ
+share = Chia sẻ
+close-window = Đóng cửa sổ
+open-sidebar = Thanh lề
+
+# This string describes shortcuts for search.
+search-popover = Phím tắt tìm kiếm
+# Describes searches limited to a specific scope
+# (e.g. searching only in history).
+search-search-in = Tìm kiếm trong:
+
+## Various categories of shortcuts for search.
+
+search-bookmarks = Dấu trang
+search-history = Lịch sử
+search-opentabs = Thẻ đang mở
+search-tags = Thẻ
+search-titles = Tiêu đề
+
+##
+
diff --git a/l10n-vi/browser/browser/translations.ftl b/l10n-vi/browser/browser/translations.ftl
new file mode 100644
index 0000000000..2f0ad4dd83
--- /dev/null
+++ b/l10n-vi/browser/browser/translations.ftl
@@ -0,0 +1,172 @@
+# 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 button for "Firefox Translations" in the url bar.
+urlbar-translations-button =
+ .tooltiptext = Dịch trang này
+# The button for "Firefox Translations" in the url bar. Note that here "Beta" should
+# not be translated, as it is a reflection of the un-localized BETA icon that is in the
+# panel.
+urlbar-translations-button2 =
+ .tooltiptext = Dịch trang này - Beta
+# Note that here "Beta" should not be translated, as it is a reflection of the
+# un-localized BETA icon that is in the panel.
+urlbar-translations-button-intro =
+ .tooltiptext = Thử bản dịch riêng tư trong { -brand-shorter-name } - Beta
+# If your language requires declining the language name, a possible solution
+# is to adapt the structure of the phrase, or use a support noun, e.g.
+# `Page translated from: { $fromLanguage }. Current target language: { $toLanguage }`
+#
+# Variables:
+# $fromLanguage (string) - The original language of the document.
+# $toLanguage (string) - The target language of the translation.
+urlbar-translations-button-translated =
+ .tooltiptext = Đã dịch trang từ { $fromLanguage } sang { $toLanguage }
+urlbar-translations-button-loading =
+ .tooltiptext = Đang dịch trang
+translations-panel-settings-button =
+ .aria-label = Quản lý cài đặt dịch
+# Text displayed on a language dropdown when the language is in beta
+# Variables:
+# $language (string) - The localized display name of the detected language
+translations-panel-displayname-beta =
+ .label = { $language } BETA
+
+## Options in the Firefox Translations settings.
+
+translations-panel-settings-manage-languages =
+ .label = Quản lý ngôn ngữ
+translations-panel-settings-about = Về bản dịch trong { -brand-shorter-name }
+translations-panel-settings-about2 =
+ .label = Về bản dịch trong { -brand-shorter-name }
+# Text displayed for the option to always translate a given language
+# Variables:
+# $language (string) - The localized display name of the detected language
+translations-panel-settings-always-translate-language =
+ .label = Luôn dịch { $language }
+translations-panel-settings-always-translate-unknown-language =
+ .label = Luôn dịch ngôn ngữ này
+translations-panel-settings-always-offer-translation =
+ .label = Luôn đề nghị dịch
+# Text displayed for the option to never translate a given language
+# Variables:
+# $language (string) - The localized display name of the detected language
+translations-panel-settings-never-translate-language =
+ .label = Không bao giờ dịch { $language }
+translations-panel-settings-never-translate-unknown-language =
+ .label = Không bao giờ dịch ngôn ngữ này
+# Text displayed for the option to never translate this website
+translations-panel-settings-never-translate-site =
+ .label = Không bao giờ dịch trang này
+
+## The translation panel appears from the url bar, and this view is the default
+## translation view.
+
+translations-panel-header = Dịch trang này?
+translations-panel-translate-button =
+ .label = Dịch
+translations-panel-translate-button-loading =
+ .label = Vui lòng chờ…
+translations-panel-translate-cancel =
+ .label = Hủy bỏ
+translations-panel-learn-more-link = Tìm hiểu thêm
+translations-panel-intro-header = Thử bản dịch riêng tư trong { -brand-shorter-name }
+translations-panel-intro-description = Vì riêng tư của bạn, bản dịch sẽ không bao giờ rời khỏi thiết bị của bạn. Sắp có các ngôn ngữ và cải tiến mới!
+translations-panel-error-translating = Có sự cố khi dịch. Hãy thử lại.
+translations-panel-error-load-languages = Không thể tải ngôn ngữ
+translations-panel-error-load-languages-hint = Kiểm tra kết nối Internet của bạn và thử lại.
+translations-panel-error-load-languages-hint-button =
+ .label = Thử lại
+translations-panel-error-unsupported = Bản dịch không có sẵn cho trang này
+translations-panel-error-dismiss-button =
+ .label = Đã hiểu
+translations-panel-error-change-button =
+ .label = Thay đổi ngôn ngữ nguồn
+# If your language requires declining the language name, a possible solution
+# is to adapt the structure of the phrase, or use a support noun, e.g.
+# `Sorry, we don't support the language yet: { $language }
+#
+# Variables:
+# $language (string) - The language of the document.
+translations-panel-error-unsupported-hint-known = Xin lỗi, chúng tôi chưa hỗ trợ { $language }.
+translations-panel-error-unsupported-hint-unknown = Xin lỗi, chúng tôi chưa hỗ trợ ngôn ngữ này.
+
+## Each label is followed, on a new line, by a dropdown list of language names.
+## If this structure is problematic for your locale, an alternative way is to
+## translate them as `Source language:` and `Target language:`
+
+translations-panel-from-label = Dịch từ
+translations-panel-to-label = Dịch sang
+
+## The translation panel appears from the url bar, and this view is the "restore" view
+## that lets a user restore a page to the original language, or translate into another
+## language.
+
+# If your language requires declining the language name, a possible solution
+# is to adapt the structure of the phrase, or use a support noun, e.g.
+# `The page is translated from: { $fromLanguage }. Current target language: { $toLanguage }`
+#
+# Variables:
+# $fromLanguage (string) - The original language of the document.
+# $toLanguage (string) - The target language of the translation.
+translations-panel-revisit-header = Trang này đã được dịch từ { $fromLanguage } sang { $toLanguage }
+translations-panel-choose-language =
+ .label = Chọn ngôn ngữ
+translations-panel-restore-button =
+ .label = Hiển thị bản gốc
+
+## Firefox Translations language management in about:preferences.
+
+translations-manage-header = Dịch
+translations-manage-settings-button =
+ .label = Cài đặt…
+ .accesskey = t
+translations-manage-description = Tải xuống ngôn ngữ để dịch ngoại tuyến.
+translations-manage-all-language = Tất cả ngôn ngữ
+translations-manage-download-button = Tải xuống
+translations-manage-delete-button = Xóa
+translations-manage-error-download = Đã xảy ra sự cố khi tải xuống tập tin ngôn ngữ. Hãy thử lại.
+translations-manage-error-delete = Đã xảy ra sự cố khi xóa tập tin ngôn ngữ. Hãy thử lại.
+translations-manage-intro = Đặt tùy chọn ngôn ngữ và bản dịch trang web của bạn, đồng thời quản lý các ngôn ngữ được cài đặt để dịch ngoại tuyến.
+translations-manage-install-description = Cài đặt ngôn ngữ để dịch ngoại tuyến
+translations-manage-language-install-button =
+ .label = Cài đặt
+translations-manage-language-install-all-button =
+ .label = Cài đặt tất cả
+ .accesskey = I
+translations-manage-language-remove-button =
+ .label = Xóa
+translations-manage-language-remove-all-button =
+ .label = Xóa tất cả
+ .accesskey = e
+translations-manage-error-install = Đã xảy ra sự cố khi cài đặt tập tin ngôn ngữ. Vui lòng thử lại.
+translations-manage-error-remove = Đã xảy ra lỗi khi xóa tập tin ngôn ngữ. Vui lòng thử lại.
+translations-manage-error-list = Không tải được danh sách các ngôn ngữ có sẵn để dịch. Làm mới trang để thử lại.
+translations-settings-title =
+ .title = Cài đặt dịch
+ .style = min-width: 36em
+translations-settings-close-key =
+ .key = w
+translations-settings-always-translate-langs-description = Bản dịch sẽ được tự động thực hiện cho các ngôn ngữ sau
+translations-settings-never-translate-langs-description = Bản dịch sẽ không được cung cấp cho các ngôn ngữ sau
+translations-settings-never-translate-sites-description = Bản dịch sẽ không được cung cấp cho các trang web sau
+translations-settings-languages-column =
+ .label = Ngôn ngữ
+translations-settings-remove-language-button =
+ .label = Xóa ngôn ngữ
+ .accesskey = R
+translations-settings-remove-all-languages-button =
+ .label = Xóa tất cả ngôn ngữ
+ .accesskey = e
+translations-settings-sites-column =
+ .label = Trang web
+translations-settings-remove-site-button =
+ .label = Xóa trang
+ .accesskey = s
+translations-settings-remove-all-sites-button =
+ .label = Xóa tất cả trang
+ .accesskey = m
+translations-settings-close-dialog =
+ .buttonlabelaccept = Đóng
+ .buttonaccesskeyaccept = C
diff --git a/l10n-vi/browser/browser/unifiedExtensions.ftl b/l10n-vi/browser/browser/unifiedExtensions.ftl
new file mode 100644
index 0000000000..a21b7c5cbb
--- /dev/null
+++ b/l10n-vi/browser/browser/unifiedExtensions.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/.
+
+
+### These strings appear in the Unified Extensions panel.
+
+
+## Panel
+
+unified-extensions-header-title = Tiện ích mở rộng
+unified-extensions-manage-extensions =
+ .label = Quản lý tiện ích
+
+## An extension in the main list
+
+# Each extension in the unified extensions panel (list) has a secondary button
+# to open a context menu. This string is used for each of these buttons.
+# Variables:
+# $extensionName (String) - Name of the extension
+unified-extensions-item-open-menu =
+ .aria-label = Mở menu cho { $extensionName }
+unified-extensions-item-message-manage = Quản lý tiện ích
+
+## Extension's context menu
+
+unified-extensions-context-menu-pin-to-toolbar =
+ .label = Ghim vào thanh công cụ
+unified-extensions-context-menu-manage-extension =
+ .label = Quản lí tiện ích
+unified-extensions-context-menu-remove-extension =
+ .label = Xóa tiện ích
+unified-extensions-context-menu-report-extension =
+ .label = Báo cáo tiện ích
+unified-extensions-context-menu-move-widget-up =
+ .label = Di chuyển lên
+unified-extensions-context-menu-move-widget-down =
+ .label = Di chuyển xuống
+
+## Notifications
+
+unified-extensions-mb-quarantined-domain-title = Vài tiện ích mở rộng không được phép
+unified-extensions-mb-quarantined-domain-message = Chỉ một số tiện ích do { -vendor-short-name } giám sát mới được phép trên trang web này để bảo vệ dữ liệu của bạn.
+unified-extensions-mb-quarantined-domain-message-2 = Để bảo vệ dữ liệu của bạn, một số tiện ích mở rộng không thể đọc hoặc thay đổi dữ liệu trên trang web này. Sử dụng cài đặt của tiện ích mở rộng để cho phép trên các trang web bị giới hạn bởi { -vendor-short-name }.
+# .heading is processed by moz-message-bar to be used as a heading attribute
+unified-extensions-mb-quarantined-domain-message-3 =
+ .heading = Vài tiện ích mở rộng không được phép
+ .message = Để bảo vệ dữ liệu của bạn, một số tiện ích mở rộng không thể đọc hoặc thay đổi dữ liệu trên trang web này. Sử dụng cài đặt của tiện ích mở rộng để cho phép trên các trang web bị giới hạn bởi { -vendor-short-name }.
+unified-extensions-mb-quarantined-domain-learn-more = Tìm hiểu thêm
+ .aria-label = Tìm hiểu thêm: Một số tiện ích mở rộng không được phép
diff --git a/l10n-vi/browser/browser/webProtocolHandler.ftl b/l10n-vi/browser/browser/webProtocolHandler.ftl
new file mode 100644
index 0000000000..7ceb724490
--- /dev/null
+++ b/l10n-vi/browser/browser/webProtocolHandler.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/.
+
+protocolhandler-mailto-os-handler-notificationbox = Luôn sử dụng { -brand-short-name } để mở các liên kết gửi email?
+protocolhandler-mailto-os-handler-yes-confirm = { -brand-short-name } hiện là ứng dụng mặc định của bạn để mở các liên kết gửi email.
+protocolhandler-mailto-os-handler-yes-button = Đặt làm mặc định
+protocolhandler-mailto-os-handler-no-button = Không phải bây giờ
+# Variables:
+# $url (String): The url of a webmailer, but only its full domain name.
+protocolhandler-mailto-handler-notificationbox = Mở liên kết email bằng { $url }?
+
+## Variables:
+## $url (String): The url of a webmailer, but only its full domain name.
+
+protocolhandler-mailto-handler-notificationbox-always = Luôn mở liên kết email bằng { $url }?
+protocolhandler-mailto-handler-yes-confirm = { $url } hiện là trang web mặc định của bạn để mở các liên kết gửi email.
+
+##
+
+protocolhandler-mailto-handler-yes-button = Đặt làm mặc định
+protocolhandler-mailto-handler-no-button = Không phải bây giờ
diff --git a/l10n-vi/browser/browser/webauthnDialog.ftl b/l10n-vi/browser/browser/webauthnDialog.ftl
new file mode 100644
index 0000000000..e4b3cb08db
--- /dev/null
+++ b/l10n-vi/browser/browser/webauthnDialog.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/.
+
+# Variables:
+# $retriesLeft (Number): number of tries left
+webauthn-pin-invalid-long-prompt = Mã PIN không chính xác. Bạn còn { $retriesLeft } lần thử trước khi vĩnh viễn mất quyền truy cập vào thông tin đăng nhập trên thiết bị này.
+webauthn-pin-invalid-short-prompt = PIN không đúng. Thử lại.
+webauthn-pin-required-prompt = Vui lòng nhập mã PIN cho thiết bị của bạn.
+webauthn-select-sign-result-unknown-account = Tài khoản không xác định
+webauthn-a-passkey-label = Sử dụng một passkey
+webauthn-another-passkey-label = Sử dụng passkey khác
+# Variables:
+# $domain (String): the domain of the site.
+webauthn-specific-passkey-label = Passkey cho { $domain }
+# Variables:
+# $retriesLeft (Number): number of tries left
+webauthn-uv-invalid-long-prompt = Xác minh người dùng không thành công. Bạn còn { $retriesLeft } lần thử. Hãy thử lại.
+webauthn-uv-invalid-short-prompt = Xác minh người dùng không thành công. Hãy thử lại.
diff --git a/l10n-vi/browser/browser/webrtcIndicator.ftl b/l10n-vi/browser/browser/webrtcIndicator.ftl
new file mode 100644
index 0000000000..51fea7a8c3
--- /dev/null
+++ b/l10n-vi/browser/browser/webrtcIndicator.ftl
@@ -0,0 +1,197 @@
+# 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 so that the window has a title in tools that
+## enumerate/look for window titles. It is not normally visible anywhere.
+
+webrtc-indicator-title = { -brand-short-name } - Chỉ báo chia sẻ
+webrtc-indicator-window =
+ .title = { -brand-short-name } - Chỉ báo chia sẻ
+
+## Used as list items in sharing menu
+
+webrtc-item-camera = camera
+webrtc-item-microphone = micro
+webrtc-item-audio-capture = âm thanh trên thẻ
+webrtc-item-application = ứng dụng
+webrtc-item-screen = màn hình
+webrtc-item-window = cửa sổ
+webrtc-item-browser = thẻ
+
+##
+
+# This is used for the website origin for the sharing menu if no readable origin could be deduced from the URL.
+webrtc-sharing-menuitem-unknown-host = Không rõ nguồn gốc
+# Variables:
+# $origin (String): The website origin (e.g. www.mozilla.org)
+# $itemList (String): A formatted list of items (e.g. "camera, microphone and tab audio")
+webrtc-sharing-menuitem =
+ .label = { $origin } ({ $itemList })
+webrtc-sharing-menu =
+ .label = Thiết bị chia sẻ thẻ
+ .accesskey = d
+webrtc-sharing-window = Bạn đang chia sẻ một cửa sổ ứng dụng khác.
+webrtc-sharing-browser-window = Bạn đang chia sẻ { -brand-short-name }.
+webrtc-sharing-screen = Bạn đang chia sẻ toàn bộ màn hình của bạn.
+webrtc-stop-sharing-button = Ngừng chia sẻ
+webrtc-microphone-unmuted =
+ .title = Tắt micrô
+webrtc-microphone-muted =
+ .title = Bật micrô
+webrtc-camera-unmuted =
+ .title = Tắt máy ảnh
+webrtc-camera-muted =
+ .title = Bật máy ảnh
+webrtc-minimize =
+ .title = Thu nhỏ chỉ báo
+
+## These strings will display as a tooltip on supported systems where we show
+## device sharing state in the OS notification area. We do not use these strings
+## on macOS, as global menu bar items do not have native tooltips.
+
+webrtc-camera-system-menu =
+ .label = Bạn đang chia sẻ máy ảnh của mình. Nhấp để kiểm soát việc chia sẻ.
+webrtc-microphone-system-menu =
+ .label = Bạn đang chia sẻ micrô của mình. Nhấp để kiểm soát việc chia sẻ.
+webrtc-screen-system-menu =
+ .label = Bạn đang chia sẻ một cửa sổ hoặc một màn hình. Nhấp để kiểm soát việc chia sẻ.
+
+## Tooltips used by the legacy global sharing indicator
+
+webrtc-indicator-sharing-camera-and-microphone =
+ .tooltiptext = Bạn đang chia sẻ máy ảnh và micro. Nhấn vào đây để kiểm soát những gì được chia sẻ.
+webrtc-indicator-sharing-camera =
+ .tooltiptext = Bạn đang chia sẻ máy ảnh. Nhấn vào đây để kiểm soát những gì được chia sẻ.
+webrtc-indicator-sharing-microphone =
+ .tooltiptext = Bạn đang chia sẻ micro. Nhấn vào đây để kiểm soát những gì được chia sẻ.
+webrtc-indicator-sharing-application =
+ .tooltiptext = Bạn đang chia sẻ một ứng dụng. Nhấn vào đây để kiểm soát những gì được chia sẻ.
+webrtc-indicator-sharing-screen =
+ .tooltiptext = Bạn đang chia sẻ màn hình. Nhấn vào đây để kiểm soát những gì bạn chia sẻ.
+webrtc-indicator-sharing-window =
+ .tooltiptext = Bạn đang chia sẻ một cửa sổ. Nhấn vào đây để kiểm soát những gì bạn chia sẻ.
+webrtc-indicator-sharing-browser =
+ .tooltiptext = Bạn đang chia sẻ một thẻ. Nhấn vào đây để kiểm soát những gì bạn chia sẻ.
+
+## These strings are only used on Mac for menus attached to icons
+## near the clock on the mac menubar.
+## Variables:
+## $streamTitle (String): the title of the tab using the share.
+## $tabCount (Number): the title of the tab using the share.
+
+webrtc-indicator-menuitem-control-sharing =
+ .label = Kiểm soát chia sẻ
+webrtc-indicator-menuitem-control-sharing-on =
+ .label = Kiểm soát chia sẻ với "{ $streamTitle }"
+webrtc-indicator-menuitem-sharing-camera-with =
+ .label = Chia sẻ máy ảnh với “{ $streamTitle }”
+webrtc-indicator-menuitem-sharing-camera-with-n-tabs =
+ .label = Đang chia sẻ máy ảnh với { $tabCount } thẻ
+webrtc-indicator-menuitem-sharing-microphone-with =
+ .label = Chia sẻ micrô với "{ $streamTitle }"
+webrtc-indicator-menuitem-sharing-microphone-with-n-tabs =
+ .label = Đang chia sẻ micro với { $tabCount } thẻ
+webrtc-indicator-menuitem-sharing-application-with =
+ .label = Chia sẻ một ứng dụng với "{ $streamTitle }"
+webrtc-indicator-menuitem-sharing-application-with-n-tabs =
+ .label = Đang chia sẻ ứng dụng với { $tabCount } thẻ
+webrtc-indicator-menuitem-sharing-screen-with =
+ .label = Chia sẻ màn hình với "{ $streamTitle }"
+webrtc-indicator-menuitem-sharing-screen-with-n-tabs =
+ .label = Đang chia sẻ màn hình với { $tabCount } thẻ
+webrtc-indicator-menuitem-sharing-window-with =
+ .label = Chia sẻ một cửa sổ với "{ $streamTitle }"
+webrtc-indicator-menuitem-sharing-window-with-n-tabs =
+ .label = Đang chia sẻ cửa sổ với { $tabCount } thẻ
+webrtc-indicator-menuitem-sharing-browser-with =
+ .label = Chia sẻ một thẻ với “{ $streamTitle }”
+# This message is shown when the contents of a tab is shared during a WebRTC
+# session, which currently is only possible with Loop/Hello.
+webrtc-indicator-menuitem-sharing-browser-with-n-tabs =
+ .label = Đang chia sẻ các thẻ với { $tabCount } thẻ
+
+## Variables:
+## $origin (String): the website origin (e.g. www.mozilla.org).
+
+webrtc-allow-share-audio-capture = Cho phép { $origin } nghe âm thanh của thẻ này?
+webrtc-allow-share-camera = Cho phép { $origin } sử dụng máy ảnh của bạn?
+webrtc-allow-share-microphone = Cho phép { $origin } sử dụng micrô của bạn?
+webrtc-allow-share-screen = Cho phép { $origin } xem màn hình của bạn?
+# "Speakers" is used in a general sense that might include headphones or
+# another audio output connection.
+webrtc-allow-share-speaker = Cho phép { $origin } sử dụng các loa khác?
+webrtc-allow-share-camera-and-microphone = Cho phép { $origin } sử dụng máy ảnh và micrô của bạn?
+webrtc-allow-share-camera-and-audio-capture = Cho phép { $origin } sử dụng máy ảnh của bạn và nghe âm thanh của thẻ này?
+webrtc-allow-share-screen-and-microphone = Cho phép { $origin } sử dụng micrô của bạn và xem màn hình của bạn?
+webrtc-allow-share-screen-and-audio-capture = Cho phép { $origin } nghe âm thanh của thẻ này và xem màn hình của bạn?
+
+## Special phrasing for sharing devices when the origin is a file url.
+
+webrtc-allow-share-audio-capture-with-file = Cho phép tập tin cục bộ này nghe âm thanh của thẻ này?
+webrtc-allow-share-camera-with-file = Cho phép tập tin cục bộ này sử dụng máy ảnh của bạn?
+webrtc-allow-share-microphone-with-file = Cho phép tập tin cục bộ này sử dụng micrô của bạn?
+webrtc-allow-share-screen-with-file = Cho phép tập tin cục bộ này xem màn hình của bạn?
+# "Speakers" is used in a general sense that might include headphones or
+# another audio output connection.
+webrtc-allow-share-speaker-with-file = Cho phép tập tin cục bộ này sử dụng loa khác?
+webrtc-allow-share-camera-and-microphone-with-file = Cho phép tập tin cục bộ này sử dụng máy ảnh và micrô của bạn?
+webrtc-allow-share-camera-and-audio-capture-with-file = Cho phép tập tin cục bộ này sử dụng máy ảnh của bạn và nghe âm thanh của thẻ này?
+webrtc-allow-share-screen-and-microphone-with-file = Cho phép tập tin cục bộ này sử dụng micrô và xem màn hình của bạn?
+webrtc-allow-share-screen-and-audio-capture-with-file = Cho phép tập tin cục bộ này nghe âm thanh của thẻ này và xem màn hình của bạn?
+
+## Variables:
+## $origin (String): the first party origin.
+## $thirdParty (String): the third party origin.
+
+webrtc-allow-share-audio-capture-unsafe-delegation = Cho phép { $origin } cấp quyền cho { $thirdParty } nghe âm thanh của thẻ này?
+webrtc-allow-share-camera-unsafe-delegation = Cho phép { $origin } cấp cho { $thirdParty } quyền truy cập vào máy ảnh của bạn?
+webrtc-allow-share-microphone-unsafe-delegation = Cho phép { $origin } cấp cho { $thirdParty } quyền truy cập vào micrô của bạn?
+webrtc-allow-share-screen-unsafe-delegation = Cho phép { $origin } cấp quyền cho { $thirdParty } xem màn hình của bạn?
+# "Speakers" is used in a general sense that might include headphones or
+# another audio output connection.
+webrtc-allow-share-speaker-unsafe-delegation = Cho phép { $origin } cấp cho { $thirdParty } quyền truy cập vào các loa khác?
+webrtc-allow-share-camera-and-microphone-unsafe-delegation = Cho phép { $origin } cấp cho { $thirdParty } quyền truy cập vào máy ảnh và micrô của bạn?
+webrtc-allow-share-camera-and-audio-capture-unsafe-delegation = Cho phép { $origin } cấp cho { $thirdParty } quyền truy cập vào máy ảnh của bạn và nghe âm thanh của thẻ này?
+webrtc-allow-share-screen-and-microphone-unsafe-delegation = Cho phép { $origin } cấp cho { $thirdParty } quyền truy cập vào micrô và xem màn hình của bạn?
+webrtc-allow-share-screen-and-audio-capture-unsafe-delegation = Cho phép { $origin } cấp quyền cho { $thirdParty } nghe âm thanh của thẻ này và xem màn hình của bạn?
+
+##
+
+webrtc-share-screen-warning = Chỉ chia sẻ màn hình với các trang web mà bạn tin tưởng. Chia sẻ có thể cho phép các trang web lừa đảo duyệt web như bạn và lấy cắp dữ liệu cá nhân của bạn.
+webrtc-share-browser-warning = Chỉ chia sẻ { -brand-short-name } với các trang web mà bạn tin tưởng. Chia sẻ có thể cho phép các trang web lừa đảo duyệt web như bạn và lấy cắp dữ liệu cá nhân của bạn.
+webrtc-share-screen-learn-more = Tìm hiểu thêm
+webrtc-pick-window-or-screen = Chọn cửa sổ hoặc màn hình
+webrtc-share-entire-screen = Toàn bộ màn hình
+webrtc-share-pipe-wire-portal = Sử dụng cài đặt của hệ điều hành
+# Variables:
+# $monitorIndex (String): screen number (digits 1, 2, etc).
+webrtc-share-monitor = Màn hình { $monitorIndex }
+# Variables:
+# $windowCount (Number): the number of windows currently displayed by the application.
+# $appName (String): the name of the application.
+webrtc-share-application = { $appName } ({ $windowCount } cửa sổ)
+
+## These buttons are the possible answers to the various prompts in the "webrtc-allow-share-*" strings.
+
+webrtc-action-allow =
+ .label = Cho phép
+ .accesskey = A
+webrtc-action-block =
+ .label = Chặn
+ .accesskey = B
+webrtc-action-always-block =
+ .label = Luôn chặn
+ .accesskey = w
+webrtc-action-not-now =
+ .label = Không phải bây giờ
+ .accesskey = N
+
+##
+
+webrtc-remember-allow-checkbox = Ghi nhớ quyết định này
+webrtc-mute-notifications-checkbox = Ẩn thông báo trang web khi chia sẻ
+webrtc-reason-for-no-permanent-allow-screen = { -brand-short-name } có thể vĩnh viễn không cho phép quyền truy cập vào màn hình của bạn.
+webrtc-reason-for-no-permanent-allow-audio = { -brand-short-name } không thể cho phép vĩnh viễn quyền truy cập vào phần âm thanh của thẻ mà không cần yêu cầu thẻ đó chia sẻ.
+webrtc-reason-for-no-permanent-allow-insecure = Kết nối của bạn đến website này không an toàn. Để bảo vệ bạn, { -brand-short-name } sẽ chỉ cho phép truy cập vào trang này trong phiên hiện tại.
diff --git a/l10n-vi/browser/chrome/browser/browser.properties b/l10n-vi/browser/chrome/browser/browser.properties
new file mode 100644
index 0000000000..f0f4a7e21a
--- /dev/null
+++ b/l10n-vi/browser/chrome/browser/browser.properties
@@ -0,0 +1,532 @@
+# 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/.
+
+nv_timeout=Hết thời gian chờ
+openFile=Mở tập tin
+
+droponhometitle=Đặt làm trang chủ
+droponhomemsg=Bạn có muốn đặt trang này làm trang chủ mới của mình không?
+droponhomemsgMultiple=Bạn có muốn đặt các trang này làm trang chủ mới của mình không?
+
+# context menu strings
+
+# LOCALIZATION NOTE (contextMenuSearch): %1$S is the search engine,
+# %2$S is the selection string.
+contextMenuSearch=Tìm %1$S cho “%2$S”
+contextMenuSearch.accesskey=S
+contextMenuPrivateSearch=Tìm kiếm trong cửa sổ riêng tư
+contextMenuPrivateSearch.accesskey=h
+# LOCALIZATION NOTE (contextMenuPrivateSearchOtherEngine): %S is the search
+# engine name as set for Private Browsing mode. This label is only used when
+# this engine is different from the default engine name used in normal mode.
+contextMenuPrivateSearchOtherEngine=Tìm kiếm với %S trong cửa sổ riêng tư
+contextMenuPrivateSearchOtherEngine.accesskey=h
+
+# bookmark dialog strings
+
+bookmarkAllTabsDefault=[Tên thư mục]
+
+unsignedAddonsDisabled.message=Một số tiện ích đã cài đặt không thể được kiểm định nên đã bị vô hiệu hóa.
+unsignedAddonsDisabled.learnMore.label=Tìm hiểu thêm
+unsignedAddonsDisabled.learnMore.accesskey=L
+
+# LOCALIZATION NOTE (geolocationLastAccessIndicatorText): %S is the relative time of the most recent geolocation access (e.g. 5 min. ago)
+geolocationLastAccessIndicatorText=Truy cập lần cuối %S
+
+# LOCALIZATION NOTE (openProtocolHandlerPermissionEntryLabel): %S is the scheme of the protocol the site may open an application for. For example: mailto
+openProtocolHandlerPermissionEntryLabel=%S:// đường dẫn
+
+crashedpluginsMessage.title=Phần bổ trợ %S đã bị lỗi.
+crashedpluginsMessage.reloadButton.label=Tải lại trang này
+crashedpluginsMessage.reloadButton.accesskey=R
+crashedpluginsMessage.submitButton.label=Gửi báo cáo lỗi
+crashedpluginsMessage.submitButton.accesskey=S
+crashedpluginsMessage.learnMore=Tìm hiểu thêm…
+
+# Keyword fixup messages
+# LOCALIZATION NOTE (keywordURIFixup.message): Used when the user tries to visit
+# a local host page, by the time the DNS request recognizes it, we have already
+# loaded a search page for the given word. An infobar then asks to the user
+# whether he rather wanted to visit the host. %S is the recognized host.
+keywordURIFixup.message=Có phải bạn muốn truy cập %S?
+keywordURIFixup.goTo=Đúng, đưa tôi đến %S
+keywordURIFixup.goTo.accesskey=Y
+
+# Sanitize
+# LOCALIZATION NOTE (update.downloadAndInstallButton.label): %S is replaced by the
+# version of the update: "Update to 28.0".
+update.downloadAndInstallButton.label=Cập nhật lên bản %S
+update.downloadAndInstallButton.accesskey=U
+
+menuOpenAllInTabs.label=Mở toàn bộ trong các thẻ mới
+
+# Unified Back-/Forward Popup
+tabHistory.reloadCurrent=Tải lại trang này
+tabHistory.goBack=Trở về lại trang này
+tabHistory.goForward=Tiến đến trang này
+
+# URL Bar
+pasteAndGo.label=Dán & mở đường dẫn
+# LOCALIZATION NOTE (reloadButton.tooltip):
+# %S is the keyboard shortcut for reloading the current page
+reloadButton.tooltip=Tải lại trang này (%S)
+# LOCALIZATION NOTE (stopButton.tooltip):
+# %S is the keyboard shortcut for stopping loading the page
+stopButton.tooltip=Dừng tải trang này (%S)
+# LOCALIZATION NOTE (urlbar-zoom-button.tooltip):
+# %S is the keyboard shortcut for resetting the zoom level to 100%
+urlbar-zoom-button.tooltip=Đặt lại mức độ thu phóng (%S)
+# LOCALIZATION NOTE (reader-mode-button.tooltip):
+# %S is the keyboard shortcut for entering/exiting reader view
+reader-mode-button.tooltip=Chuyển đến chế độ đọc sách (%S)
+
+# LOCALIZATION NOTE(zoom-button.label): %S is the current page zoom level,
+# %% will be displayed as a single % character (% is commonly used to define
+# format specifiers, so it needs to be escaped).
+zoom-button.label = %S%%
+
+# General bookmarks button
+# LOCALIZATION NOTE (bookmarksMenuButton.tooltip):
+# %S is the keyboard shortcut for "Show All Bookmarks"
+bookmarksMenuButton.tooltip=Hiển thị các dấu trang của bạn (%S)
+
+# Downloads button tooltip
+# LOCALIZATION NOTE (downloads.tooltip):
+# %S is the keyboard shortcut for "Downloads"
+downloads.tooltip=Hiển thị tiến độ tải xuống (%S)
+
+# New Window button tooltip
+# LOCALIZATION NOTE (newWindowButton.tooltip):
+# %S is the keyboard shortcut for "New Window"
+newWindowButton.tooltip=Mở một cửa sổ mới (%S)
+
+# New Tab button tooltip
+# LOCALIZATION NOTE (newTabButton.tooltip):
+# %S is the keyboard shortcut for "New Tab"
+newTabButton.tooltip=Mở thẻ mới (%S)
+newTabContainer.tooltip=Mở một thẻ mới (%S)\nNhấp và giữ để mở ngăn chứa thẻ mới
+newTabAlwaysContainer.tooltip=Chọn ngăn chứa để mở một thẻ mới
+
+# Canvas permission prompt
+# LOCALIZATION NOTE (canvas.siteprompt2): %S is hostname
+canvas.siteprompt2=Cho phép %S sử dụng dữ liệu hình ảnh canvas HTML5 của bạn?
+canvas.siteprompt2.warning=Điều này có thể được sử dụng để xác định danh tính máy tính của bạn.
+canvas.block=Chặn
+canvas.block.accesskey=B
+canvas.allow2=Cho phép
+canvas.allow2.accesskey=A
+canvas.remember2=Ghi nhớ quyết định này
+
+# WebAuthn prompts
+# LOCALIZATION NOTE (webauthn.userPresence): %S is hostname
+webauthn.userPresencePrompt=Chạm vào khóa bảo mật của bạn để tiếp tục với %S.
+# LOCALIZATION NOTE (webauthn.registerDirectPrompt3):
+# %S is hostname.
+# The website is asking for extended information about your
+# hardware authenticator that shouldn't be generally necessary. Permitting
+# this is safe if you only use one account at this website. If you have
+# multiple accounts at this website, and you use the same hardware
+# authenticator, then the website could link those accounts together.
+# And this is true even if you use a different profile / browser (or even Tor
+# Browser). To avoid this, you should use different hardware authenticators
+# for different accounts on this website.
+webauthn.registerDirectPrompt3=%S đang yêu cầu thông tin mở rộng về khóa bảo mật của bạn, điều này có thể ảnh hưởng đến quyền riêng tư của bạn.
+# LOCALIZATION NOTE (webauthn.registerDirectPromptHint):
+# %S is brandShortName
+webauthn.registerDirectPromptHint=%S có thể ẩn danh điều này cho bạn, nhưng trang web có thể từ chối khóa này. Nếu bị từ chối, bạn có thể thử lại.
+# LOCALIZATION NOTE (webauthn.selectSignResultPrompt): %S is hostname
+webauthn.selectSignResultPrompt=Đã tìm thấy nhiều tài khoản cho %S. Chọn để sử dụng hoặc hủy bỏ.
+# LOCALIZATION NOTE (webauthn.selectDevicePrompt): %S is hostname
+webauthn.selectDevicePrompt=Đã tìm thấy nhiều thiết bị cho %S. Vui lòng chọn một.
+# LOCALIZATION NOTE (webauthn.deviceBlockedPrompt): %S is hostname
+webauthn.deviceBlockedPrompt=Xác minh người dùng không thành công trên %S. 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 thiết lập lại.
+# LOCALIZATION NOTE (webauthn.pinAuthBlockedPrompt): %S is hostname
+webauthn.pinAuthBlockedPrompt=Xác minh người dùng không thành công trên %S. Đã có quá nhiều lần thử không thành công liên tiếp và xác thực mã PIN đã tạm thời bị chặn. Thiết bị của bạn cần khởi động lại (rút phích cắm và cắm lại).
+# LOCALIZATION NOTE (webauthn.pinNotSetPrompt): %S is hostname
+webauthn.pinNotSetPrompt=Xác minh người dùng thất bại trên %S. Bạn có thể cần đặt mã PIN trên thiết bị của mình.
+# LOCALIZATION NOTE (webauthn.uvBlockedPrompt): %S is hostname
+webauthn.uvBlockedPrompt=Xác minh người dùng không thành công trên %S. Đã có quá nhiều lần thử không thành công và phương pháp xác minh người dùng tích hợp đã bị chặn.
+webauthn.alreadyRegisteredPrompt=Thiết bị này đã được đăng ký. Hãy thử một thiết bị khác.
+webauthn.cancel=Hủy bỏ
+webauthn.cancel.accesskey=c
+webauthn.proceed=Tiến hành
+webauthn.proceed.accesskey=p
+webauthn.anonymize=Vẫn ẩn danh
+
+# 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?
+
+# LOCALIZATION NOTE (identity.identified.verifier, identity.identified.state_and_country, identity.ev.contentOwner2):
+# %S is the hostname of the site that is being displayed.
+identity.identified.verifier=Xác minh bởi: %S
+identity.identified.verified_by_you=Bạn vừa thêm một ngoại lệ an ninh cho tên miền này.
+identity.identified.state_and_country=%S, %S
+identity.ev.contentOwner2=Chứng chỉ được cấp cho: %S
+
+# LOCALIZATION NOTE (identity.notSecure.label):
+# Keep this string as short as possible, this is displayed in the URL bar
+# use a synonym for "safe" or "private" if "secure" is too long.
+identity.notSecure.label=Không an toàn
+identity.notSecure.tooltip=Kết nối không an toàn
+
+identity.extension.label=Tiện ích mở rộng (%S)
+identity.extension.tooltip=Được tải bởi tiện ích mở rộng: %S
+
+# LOCALIZATION NOTE (contentBlocking.trackersView.blocked.label):
+# This label is shown next to a tracker in the trackers subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Blocked"
+contentBlocking.trackersView.blocked.label=Đã chặn
+
+contentBlocking.trackersView.empty.label=Không phát hiện trên trang web này
+
+# LOCALIZATION NOTE (contentBlocking.cookies.blockingTrackers.label, contentBlocking.cookies.blocking3rdParty.label,
+# contentBlocking.cookies.blockingUnvisited.label,contentBlocking.cookies.blockingAll.label):
+contentBlocking.cookies.blockingTrackers3.label=Cookie theo dõi trên nhiều trang web
+contentBlocking.cookies.blocking3rdParty2.label=Cookie của bên thứ ba
+contentBlocking.cookies.blockingUnvisited2.label=Cookie trang web chưa truy cập
+contentBlocking.cookies.blockingAll2.label=Tất cả các cookie
+
+contentBlocking.cookiesView.firstParty.label=Từ trang web này
+# LOCALIZATION NOTE (contentBlocking.cookiesView.firstParty.empty.label):
+# This references the header from contentBlocking.cookiesView.firstParty.label:
+# "[Cookies] From This Site: None detected on this site".
+contentBlocking.cookiesView.firstParty.empty.label=Không phát hiện trên trang web này
+
+contentBlocking.cookiesView.trackers2.label=Cookie theo dõi trên nhiều trang web
+# LOCALIZATION NOTE (contentBlocking.cookiesView.trackers.empty.label):
+# This references the header from contentBlocking.cookiesView.trackers.label:
+# "Tracking Cookies: None detected on this site".
+contentBlocking.cookiesView.trackers.empty.label=Không phát hiện trên trang web này
+
+contentBlocking.cookiesView.thirdParty.label=Cookie của bên thứ ba
+# LOCALIZATION NOTE (contentBlocking.cookiesView.thirdParty.empty.label):
+# This references the header from contentBlocking.cookiesView.thirdParty.label:
+# "Third-Party Cookies: None detected on this site".
+contentBlocking.cookiesView.thirdParty.empty.label=Không phát hiện trên trang web này
+
+# LOCALIZATION NOTE (contentBlocking.cookiesView.allowed.label):
+# This label is shown next to a cookie origin in the cookies subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Allowed"
+contentBlocking.cookiesView.allowed.label=Đã cho phép
+# LOCALIZATION NOTE (contentBlocking.cookiesView.blocked.label):
+# This label is shown next to a cookie origin in the cookies subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Blocked"
+contentBlocking.cookiesView.blocked.label=Đã chặn
+# LOCALIZATION NOTE (contentBlocking.cookiesView.removeButton.tooltip): %S is the domain of the site.
+contentBlocking.cookiesView.removeButton.tooltip=Xóa ngoại lệ cookie cho %S
+
+# LOCALIZATION NOTE (contentBlocking.fingerprintersView.blocked.label):
+# This label is shown next to a fingerprinter in the fingerprinters subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Blocked"
+contentBlocking.fingerprintersView.blocked.label=Đã chặn
+
+# LOCALIZATION NOTE (contentBlocking.cryptominersView.blocked.label):
+# This label is shown next to a cryptominer in the cryptominers subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Blocked"
+contentBlocking.cryptominersView.blocked.label=Đã chặn
+
+trackingProtection.icon.activeTooltip2=Chặn trình theo dõi phương tiện truyền thông xã hội, cookie theo dõi trên nhiều trang web và dấu vết.
+trackingProtection.icon.disabledTooltip2=Trình chống theo dõi nâng cao đã bị TẮT cho trang này.
+# LOCALIZATION NOTE (trackingProtection.icon.noTrackersDetectedTooltip): %S is brandShortName.
+trackingProtection.icon.noTrackersDetectedTooltip=%S không phát hiện ra trình theo dõi đã biết trên trang này.
+
+# LOCALIZATION NOTE (protections.header):
+# Header of the Protections Panel. %S is replaced with the site's hostname.
+protections.header=Trạng thái bảo vệ cho %S
+
+# LOCALIZATION NOTE (protections.disableAriaLabel):
+# Text that gets spoken by a screen reader if the button will disable protections.
+# %s is the site's hostname.
+protections.disableAriaLabel=Tắt bảo vệ cho %S
+
+# LOCALIZATION NOTE (protections.enableAriaLabel):
+# Text that gets spoken by a screen reader if the button will enable protections.
+# %s is the site's hostname.
+protections.enableAriaLabel=Bật bảo vệ cho %S
+
+# Blocking and Not Blocking sub-views in the Protections Panel
+protections.blocking.fingerprinters.title=Đã chặn dấu vết
+protections.blocking.cryptominers.title=Đã chặn tiền điện tử
+protections.blocking.cookies.trackers.title=Đã chặn cookie theo dõi trên nhiều trang web
+protections.blocking.cookies.3rdParty.title=Đã chặn cookie của bên thứ ba
+protections.blocking.cookies.all.title=Đã chặn tất cả cookie
+protections.blocking.cookies.unvisited.title=Đã cookie trang web chưa truy cập
+protections.blocking.trackingContent.title=Đã chặn trình theo dõi nội dung
+protections.blocking.socialMediaTrackers.title=Đã chặn trình theo dõi truyền thông xã hội
+protections.notBlocking.fingerprinters.title=Không chặn dấu vết
+protections.notBlocking.cryptominers.title=Không chặn tiền điện tử
+protections.notBlocking.cookies.3rdParty.title=Không chặn cookie của bên thứ ba
+protections.notBlocking.cookies.all.title=Không chặn cookie
+protections.notBlocking.crossSiteTrackingCookies.title=Không chặn cookie theo dõi trên nhiều trang web
+protections.notBlocking.trackingContent.title=Không chặn trình theo dõi nội dung
+protections.notBlocking.socialMediaTrackers.title=Không chặn trình theo dõi truyền thông xã hội
+
+# Footer section in the Protections Panel
+# LOCALIZATION NOTE (protections.footer.blockedTrackerCounter.description,
+# protections.footer.blockedTrackerCounter.tooltip):
+# This text indicates the total number of trackers blocked on all sites. In
+# its tooltip, we show the date when we started counting this number.
+# LOCALIZATION NOTE (protections.footer.blockedTrackerCounter.description):
+# Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Replacement for #1 is a locale-string converted positive integer.
+protections.footer.blockedTrackerCounter.description=#1 đã chặn
+# LOCALIZATION NOTE (protections.footer.blockedTrackerCounter.tooltip):
+# %S is the date on which we started counting (e.g., July 17, 2019).
+protections.footer.blockedTrackerCounter.tooltip=Từ %S
+
+# Milestones section in the Protections Panel
+# LOCALIZATION NOTE (protections.milestone.description):
+# Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is replaced with brandShortName.
+# #2 is replaced with the (locale-formatted) number of trackers blocked
+# #3 is replaced by a locale-formatted date with short month and numeric year.
+# In English this looks like "Firefox blocked over 10,000 trackers since Oct 2019"
+protections.milestone.description=#1 đã chặn #2 trình theo dõi từ #3
+
+# Application menu
+
+# LOCALIZATION NOTE(zoomReduce-button.tooltip): %S is the keyboard shortcut.
+zoomReduce-button.tooltip = Thu nhỏ (%S)
+# LOCALIZATION NOTE(zoomReset-button.tooltip): %S is the keyboard shortcut.
+zoomReset-button.tooltip = Đặt lại mức độ thu phóng (%S)
+# LOCALIZATION NOTE(zoomEnlarge-button.tooltip): %S is the keyboard shortcut.
+zoomEnlarge-button.tooltip = Phóng to (%S)
+
+# LOCALIZATION NOTE (cut-button.tooltip): %S is the keyboard shortcut.
+cut-button.tooltip = Cắt (%S)
+# LOCALIZATION NOTE (copy-button.tooltip): %S is the keyboard shortcut.
+copy-button.tooltip = Sao chép (%S)
+# LOCALIZATION NOTE (paste-button.tooltip): %S is the keyboard shortcut.
+paste-button.tooltip = Dán (%S)
+
+# Geolocation UI
+
+geolocation.allow=Cho phép
+geolocation.allow.accesskey=A
+geolocation.block=Chặn
+geolocation.block.accesskey=B
+geolocation.shareWithSite4=Cho phép %S truy cập vị trí của bạn?
+geolocation.shareWithFile4=Cho phép tập tin cục bộ này truy cập vào vị trí của bạn?
+# LOCALIZATION NOTE(geolocation.shareWithSiteUnsafeDelegation2):
+# %1$S is the first party origin, %2$S is the third party origin.
+geolocation.shareWithSiteUnsafeDelegation2=Cho phép %1$S cấp cho %2$S quyền truy cập vào vị trí của bạn?
+geolocation.remember=Ghi nhớ quyết định này
+
+# Virtual Reality Device UI
+xr.allow2=Cho phép
+xr.allow2.accesskey=A
+xr.block=Chặn
+xr.block.accesskey=B
+xr.shareWithSite4=Cho phép %S truy cập thiết bị thực tế ảo? Điều này có thể làm lộ thông tin nhạy cảm.
+xr.shareWithFile4=Cho phép tập tin cục bộ này truy cập thiết bị thực tế ảo? Điều này có thể làm lộ thông tin nhạy cảm.
+xr.remember=Ghi nhớ quyết định này
+
+# Persistent storage UI
+persistentStorage.allow=Cho phép
+persistentStorage.allow.accesskey=A
+persistentStorage.block.label=Chặn
+persistentStorage.block.accesskey=B
+persistentStorage.allowWithSite2=Cho phép %S lưu trữ dữ liệu trong bộ nhớ lâu dài?
+
+# Web notifications UI
+# LOCALIZATION NOTE (alwaysBlock, block)
+# The two button strings will never be shown at the same time, so
+# it's okay for them to have the same access key
+webNotifications.allow2=Cho phép
+webNotifications.allow2.accesskey=A
+webNotifications.notNow=Không phải bây giờ
+webNotifications.notNow.accesskey=n
+webNotifications.never=Không bao giờ cho phép
+webNotifications.never.accesskey=v
+webNotifications.alwaysBlock=Luôn chặn
+webNotifications.alwaysBlock.accesskey=B
+webNotifications.block=Chặn
+webNotifications.block.accesskey=B
+webNotifications.receiveFromSite3=Cho phép %S gửi thông báo?
+
+# Phishing/Malware Notification Bar.
+# LOCALIZATION NOTE (notADeceptiveSite, notAnAttack)
+# The two button strings will never be shown at the same time, so
+# it's okay for them to have the same access key
+safebrowsing.getMeOutOfHereButton.label=Đưa tôi ra khỏi đây!
+safebrowsing.getMeOutOfHereButton.accessKey=G
+safebrowsing.deceptiveSite=Trang web lừa đảo!
+safebrowsing.notADeceptiveSiteButton.label=Đây không phải là một trang lừa đảo…
+safebrowsing.notADeceptiveSiteButton.accessKey=D
+safebrowsing.reportedAttackSite=Có người báo đây là trang web có ác ý!
+safebrowsing.notAnAttackButton.label=Trang này không có ác ý…
+safebrowsing.notAnAttackButton.accessKey=A
+safebrowsing.reportedUnwantedSite=Trang này có nghi ngờ cài đặt phần mềm không mong muốn!
+safebrowsing.reportedHarmfulSite=Báo cáo trang web độc hại!
+
+# LOCALIZATION NOTE (addKeywordTitleAutoFill): %S will be replaced by the page's title
+# Used as the bookmark name when saving a keyword for a search field.
+addKeywordTitleAutoFill=Tìm %S
+
+# troubleshootModeRestart
+# LOCALIZATION NOTE (troubleshootModeRestartPromptTitle): %S is the name of the product (e.g., Firefox)
+troubleshootModeRestartPromptTitle=Khởi động lại %S ở chế độ xử lý sự cố?
+troubleshootModeRestartPromptMessage=Các tiện ích mở rộng, chủ đề và cài đặt tùy chỉnh của bạn sẽ tạm thời bị vô hiệu hóa.
+troubleshootModeRestartButton=Khởi động lại
+
+# LOCALIZATION NOTE (browser.menu.showCharacterEncoding): Set to the string
+# "true" (spelled and capitalized exactly that way) to show the "Text
+# Encoding" menu in the main Firefox button on Windows. Any other value will
+# hide it. Regardless of the value of this setting, the "Text Encoding"
+# menu will always be accessible via the "Browser Tools" menu.
+# This is not a string to translate; it just controls whether the menu shows
+# up in the Firefox button. If users frequently use the "Text Encoding"
+# menu, set this to "true". Otherwise, you can leave it as "false".
+browser.menu.showCharacterEncoding=true
+
+# Process hang reporter
+# LOCALIZATION NOTE (processHang.selected_tab.label): %1$S is the name of the product (e.g., Firefox)
+processHang.selected_tab.label = Trang này đang làm chậm %1$S. Để tăng tốc trình duyệt của bạn, hãy dừng trang này.
+# LOCALIZATION NOTE (processHang.nonspecific_tab.label): %1$S is the name of the product (e.g., Firefox)
+processHang.nonspecific_tab.label = Một trang web đang làm chậm %1$S. Để tăng tốc trình duyệt của bạn, hãy dừng trang này.
+# LOCALIZATION NOTE (processHang.specific_tab.label): %1$S is the title of the tab.
+# %2$S is the name of the product (e.g., Firefox)
+processHang.specific_tab.label = “%1$S” đang làm chậm %2$S. Để tăng tốc trình duyệt của bạn, hãy dừng trang đó lại.
+# LOCALIZATION NOTE (processHang.add-on.label2): %1$S is the name of the
+# extension. %2$S is the name of the product (e.g., Firefox)
+processHang.add-on.label2 = “%1$S” đang làm chậm %2$S. Để tăng tốc trình duyệt của bạn, hãy dừng tiện ích đó lại.
+processHang.add-on.learn-more.text = Tìm hiểu thêm
+processHang.button_stop2.label = Dừng
+processHang.button_stop2.accessKey = S
+processHang.button_debug.label = Gỡ lỗi script
+processHang.button_debug.accessKey = D
+
+# LOCALIZATION NOTE (fullscreenButton.tooltip): %S is the keyboard shortcut for full screen
+fullscreenButton.tooltip=Hiển thị cửa sổ chiếm toàn màn hình (%S)
+
+# These are visible when opening the popup inside the bookmarks sidebar
+sidebar.moveToLeft=Chuyển thanh lề sang bên trái
+sidebar.moveToRight=Chuyển thanh lề sang bên phải
+
+# LOCALIZATION NOTE(emeNotifications.drmContentDisabled.message): NB: inserted via innerHTML, so please don't use <, > or & in this string. %S will be the 'learn more' link
+emeNotifications.drmContentDisabled.message2 = Bạn phải kích hoạt DRM để phát một số âm thanh hoặc video trên trang này.
+emeNotifications.drmContentDisabled.button.label = Kích hoạt DRM
+emeNotifications.drmContentDisabled.button.accesskey = E
+
+# LOCALIZATION NOTE(emeNotifications.drmContentCDMInstalling.message): NB: inserted via innerHTML, so please don't use <, > or & in this string. %S is brandShortName
+emeNotifications.drmContentCDMInstalling.message = %S đang cài đặt các thành phần cần thiết để xem audio hay video trên trang này. Xin hãy thử lại sau.
+
+emeNotifications.unknownDRMSoftware = Không rõ
+
+# LOCALIZATION NOTE (customizeMode.tabTitle): %S is brandShortName
+customizeMode.tabTitle = Tùy biến %S
+
+e10s.accessibilityNotice.acceptButton.label = OK
+e10s.accessibilityNotice.acceptButton.accesskey = O
+
+# LOCALIZATION NOTE (e10s.accessibilityNotice.jawsMessage): %S is brandShortName
+e10s.accessibilityNotice.jawsMessage = Việc hiển thị nội dung thẻ bị vô hiệu do không tương thích giữa %S và phần mềm truy cận của bạn. Vui lòng cập nhật trình đọc màn hình của bạn hoặc chuyển sang phiên bản Firefox phát hành hỗ trợ mở rộng.
+
+# LOCALIZATION NOTE (userContextPersonal.label,
+# userContextWork.label,
+# userContextShopping.label,
+# userContextBanking.label,
+# userContextNone.label):
+# These strings specify the four predefined contexts included in support of the
+# Contextual Identity / Containers project. Each context is meant to represent
+# the context that the user is in when interacting with the site. Different
+# contexts will store cookies and other information from those sites in
+# different, isolated locations. You can enable the feature by typing
+# about:config in the URL bar and changing privacy.userContext.enabled to true.
+# Once enabled, you can open a new tab in a specific context by clicking
+# File > New Container Tab > (1 of 4 contexts). Once opened, you will see these
+# strings on the right-hand side of the URL bar.
+userContextPersonal.label = Cá nhân
+userContextWork.label = Công việc
+userContextBanking.label = Ngân hàng
+userContextShopping.label = Mua sắm
+userContextNone.label = Không ngăn chứa
+
+userContextPersonal.accesskey = P
+userContextWork.accesskey = W
+userContextBanking.accesskey = B
+userContextShopping.accesskey = S
+userContextNone.accesskey = N
+
+userContext.aboutPage.label = Quản lý ngăn chứa
+userContext.aboutPage.accesskey = O
+
+# LOCALIZATION NOTE (sendTabsToDevice.label):
+# Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs sent to the device.
+sendTabsToDevice.label = Gửi #1 thẻ đến thiết bị
+sendTabsToDevice.accesskey = n
+
+decoder.noCodecs.button = Tìm hiểu làm thế nào
+decoder.noCodecs.accesskey = L
+decoder.noCodecsLinux.message = Để phát video, bạn có thể cần phải cài codec.
+decoder.noHWAcceleration.message = Để cải thiện chất lượng video, bạn có thể cần phải cài Media Feature Pack của Microsoft.
+decoder.noPulseAudio.message = Để phát âm thanh, bạn có thể cần phải cài phần mềm PulseAudio.
+decoder.unsupportedLibavcodec.message = libavcodec có thể bị tấn công hoặc không được hỗ trợ, và nên được cập nhật để phát video.
+
+decoder.decodeError.message = Đã xảy ra lỗi khi mã hóa một tài nguyên phương tiện truyền thông.
+decoder.decodeError.button = Báo cáo vấn đề về trang
+decoder.decodeError.accesskey = R
+decoder.decodeWarning.message = Việc khôi phục đã xảy ra lỗi khi mã hóa một tài nguyên phương tiện truyền thông.
+
+# LOCALIZATION NOTE (captivePortal.infoMessage3):
+# Shown in a notification bar when we detect a captive portal is blocking network access
+# and requires the user to log in before browsing.
+captivePortal.infoMessage3 = Bạn phải đăng nhập vào hệ thống này trước khi bạn có thể truy cập Internet.
+# LOCALIZATION NOTE (captivePortal.showLoginPage2):
+# The label for a button shown in the info bar in all tabs except the login page tab.
+# The button shows the portal login page tab when clicked.
+captivePortal.showLoginPage2 = Mở trang đăng nhập hệ thống
+
+# LOCALIZATION NOTE (permissions.header):
+# %S is the hostname of the site that is being displayed.
+permissions.header = Quyền hạn cho %S
+permissions.remove.tooltip = Xóa quyền này và hỏi lại
+
+permissions.fullscreen.promptCanceled = Đã hủy yêu cầu cấp phép đang chờ xử lý: không nên đưa ra yêu cầu cấp phép trước khi vào toàn màn hình DOM.
+permissions.fullscreen.fullScreenCanceled = Toàn màn hình DOM đã thoát: không nên đưa ra yêu cầu cấp phép trong khi ở chế độ toàn màn hình DOM.
+
+# LOCALIZATION NOTE (aboutDialog.architecture.*):
+# The sixtyFourBit and thirtyTwoBit strings describe the architecture of the
+# current Firefox build: 32-bit or 64-bit. These strings are used in parentheses
+# between the Firefox version and the "What's new" link in the About dialog,
+# e.g.: "48.0.2 (32-bit) <What's new>" or "51.0a1 (2016-09-05) (64-bit)".
+aboutDialog.architecture.sixtyFourBit = 64-bit
+aboutDialog.architecture.thirtyTwoBit = 32-bit
+
+midi.allow.label = Cho phép
+midi.allow.accesskey = A
+midi.block.label = Chặn
+midi.block.accesskey = B
+midi.remember=Ghi nhớ quyết định này
+midi.shareWithFile = Cho phép tập tin cục bộ này truy cập thiết bị MIDI của bạn?
+# LOCALIZATION NOTE (midi.shareWithSite): %S is the name of the site URL (https://...) requesting MIDI access
+midi.shareWithSite = Cho phép %S truy cập thiết bị MIDI của bạn?
+midi.shareSysexWithFile = Cho phép tập tin cục bộ này truy cập thiết bị MIDI của bạn và gửi/nhận tin nhắn SysEx?
+# LOCALIZATION NOTE (midi.shareSysexWithSite): %S is the name of the site URL (https://...) requesting MIDI access
+midi.shareSysexWithSite = Cho phép %S truy cập thiết bị MIDI của bạn và gửi/nhận tin nhắn SysEx?
+
+# LOCALIZATION NOTE (panel.back):
+# This is used by screen readers to label the "back" button in various browser
+# popup panels, including the sliding subviews of the main menu.
+panel.back = Quay lại
+
+storageAccess1.Allow.label = Cho phép
+storageAccess1.Allow.accesskey = A
+storageAccess1.DontAllow.label = Chặn
+storageAccess1.DontAllow.accesskey = B
+# LOCALIZATION NOTE (storageAccess4.message, storageAccess1.hintText):
+# %1$S is the name of the site URL (www.site1.example) trying to track the user's activity.
+# %2$S is the name of the site URL (www.site2.example) that the user is visiting. This is the same domain name displayed in the address bar.
+storageAccess4.message = Cho phép %1$S sử dụng cookie của mình trên %2$S?
+storageAccess1.hintText = Bạn có thể muốn chặn quyền truy cập nếu không rõ tại sao %1$S cần dữ liệu này.
+
+
+
+# LOCALIZATION NOTE (gnomeSearchProviderSearchWeb):
+# Used for search by Gnome Shell activity screen, %S is a searched string.
+gnomeSearchProviderSearchWeb=Tìm kiếm trên web cho “%S”
diff --git a/l10n-vi/browser/chrome/browser/customizableui/customizableWidgets.properties b/l10n-vi/browser/chrome/browser/customizableui/customizableWidgets.properties
new file mode 100644
index 0000000000..772b2c12be
--- /dev/null
+++ b/l10n-vi/browser/chrome/browser/customizableui/customizableWidgets.properties
@@ -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/.
+
+history-panelmenu.label = Lịch sử
+# LOCALIZATION NOTE(history-panelmenu.tooltiptext2): %S is the keyboard shortcut
+history-panelmenu.tooltiptext2 = Hiển thị lịch sử của bạn (%S)
+
+find-button.label = Tìm
+# LOCALIZATION NOTE(find-button.tooltiptext3): %S is the keyboard shortcut.
+find-button.tooltiptext3 = Tìm trong trang này (%S)
+
+developer-button.label = Nhà phát triển
+# LOCALIZATION NOTE(developer-button.tooltiptext): %S is the keyboard shortcut
+developer-button.tooltiptext2 = Mở công cụ nhà phát triển Web (%S)
+
+sidebar-button.label = Thanh lề
+sidebar-button.tooltiptext2 = Hiển thị thanh lề
+
+zoom-controls.label = Chỉnh kích thước
+zoom-controls.tooltiptext2 = Chỉnh kích thước
+
+zoom-out-button.label = Thu nhỏ
+# LOCALIZATION NOTE(zoom-out-button.tooltiptext2): %S is the keyboard shortcut.
+zoom-out-button.tooltiptext2 = Thu nhỏ (%S)
+
+# LOCALIZATION NOTE(zoom-reset-button.tooltiptext2): %S is the keyboard shortcut.
+zoom-reset-button.tooltiptext2 = Đặt lại mức độ thu phóng (%S)
+
+zoom-in-button.label = Phóng to
+# LOCALIZATION NOTE(zoom-in-button.tooltiptext2): %S is the keyboard shortcut.
+zoom-in-button.tooltiptext2 = Phóng to (%S)
+
+edit-controls.label = Các nút chỉnh sửa nội dung
+edit-controls.tooltiptext2 = Các nút chỉnh sửa nội dung
+
+cut-button.label = Cắt
+# LOCALIZATION NOTE(cut-button.tooltiptext2): %S is the keyboard shortcut.
+cut-button.tooltiptext2 = Cắt (%S)
+
+copy-button.label = Sao chép
+# LOCALIZATION NOTE(copy-button.tooltiptext2): %S is the keyboard shortcut.
+copy-button.tooltiptext2 = Sao chép (%S)
+
+paste-button.label = Dán
+# LOCALIZATION NOTE(paste-button.tooltiptext2): %S is the keyboard shortcut.
+paste-button.tooltiptext2 = Dán (%S)
+
+panic-button.label = Xóa
+panic-button.tooltiptext = Xóa một số lịch sử duyệt web
+
+toolbarspring.label = Khoảng cách linh động
+toolbarseparator.label = Dấu phân cách
+toolbarspacer.label = Khoảng trắng
diff --git a/l10n-vi/browser/chrome/browser/downloads/downloads.properties b/l10n-vi/browser/chrome/browser/downloads/downloads.properties
new file mode 100644
index 0000000000..8566c29105
--- /dev/null
+++ b/l10n-vi/browser/chrome/browser/downloads/downloads.properties
@@ -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/.
+
+# LOCALIZATION NOTE (stateStarting):
+# Indicates that the download is starting.
+stateStarting=Đang bắt đầu…
+# LOCALIZATION NOTE (stateFailed):
+# Indicates that the download failed because of an error.
+stateFailed=Thất bại
+# LOCALIZATION NOTE (statePaused):
+# Indicates that the download was paused by the user.
+statePaused=Đã tạm dừng
+# LOCALIZATION NOTE (stateCanceled):
+# Indicates that the download was canceled by the user.
+stateCanceled=Đã hủy
+# LOCALIZATION NOTE (stateCompleted):
+# Indicates that the download was completed.
+stateCompleted=Đã hoàn tất
+# LOCALIZATION NOTE (stateBlockedParentalControls):
+# Indicates that the download was blocked by the Parental Controls feature of
+# Windows. "Parental Controls" should be consistently named and capitalized
+# with the display of this feature in Windows. The following article can
+# provide a reference for the translation of "Parental Controls" in various
+# languages:
+# http://windows.microsoft.com/en-US/windows-vista/Set-up-Parental-Controls
+stateBlockedParentalControls=Bị chặn bởi trình kiểm soát con
+# LOCALIZATION NOTE (blockedMalware, blockedPotentiallyUnwanted,
+# blockedUncommon2):
+# These strings are shown in the panel for some types of blocked downloads. You
+# may need to adjust "downloads.width" in "downloads.dtd" if this turns out to
+# be longer than the other existing status strings.
+blockedMalware=Tập tin này có chứa virus hoặc phần mềm ác ý.
+blockedPotentiallyUnwanted=Tập tin này có thể làm hại máy tính của bạn.
+blockedPotentiallyInsecure=Tập tin không được tải xuống: Rủi ro bảo mật tiềm ẩn.
+blockedUncommon2=Tập tin này thường không được tải xuống.
+
+# LOCALIZATION NOTE (fileMovedOrMissing):
+# Displayed when a complete download which is not at the original folder.
+fileMovedOrMissing=Tập tin đã bị di chuyển hoặc bị thiếu
+
+# LOCALIZATION NOTE (fileDeleted):
+# Displayed when a downloaded file has been deleted by Firefox, e.g. by the
+# "Delete File" context menu item.
+fileDeleted=Tập tin đã bị xóa
+
+# LOCALIZATION NOTE (unblockHeaderUnblock, unblockHeaderOpen,
+# unblockTypeMalware, unblockTypePotentiallyUnwanted2,
+# unblockTypeUncommon2, unblockTip2, unblockButtonOpen,
+# unblockButtonUnblock, unblockButtonConfirmBlock, unblockInsecure3):
+# These strings are displayed in the dialog shown when the user asks a blocked
+# download to be unblocked. The severity of the threat is expressed in
+# descending order by the unblockType strings, it is higher for files detected
+# as malware and lower for uncommon downloads.
+unblockHeaderUnblock=Bạn có chắc chắn muốn cho phép việc tải xuống này không?
+unblockHeaderOpen=Bạn có chắc bạn muốn mở tập tin này không?
+unblockTypeMalware=Tập tin này có chứa virus hoặc phần mềm ác ý, có thể gây hại cho máy của bạn.
+unblockTypePotentiallyUnwanted2=Tập tin này giả dạng là một tải xuống hữu ích, nhưng nó có thể tạo ra những thay đổi không mong muốn với những ứng dụng và cài đặt của bạn.
+unblockTypeUncommon2=Tập tin này thường không được tải xuống và có thể không an toàn để mở. Nó có thể chứa virus hoặc tạo ra những thay đổi không mong muốn với những thiết lập và chương trình của bạn.
+unblockInsecure2=Tải xuống được cung cấp qua HTTP mặc dù tài liệu hiện tại được gửi qua kết nối HTTPS an toàn. Nếu bạn tiếp tục, quá trình tải xuống có thể bị hỏng hoặc bị giả mạo trong quá trình tải xuống.
+unblockInsecure3=Bạn đang cố tải xuống tập tin này trên kết nối không an toàn. Nếu bạn tiếp tục, nó có thể bị thay đổi, dùng để lấy cắp thông tin hoặc gây hại cho thiết bị của bạn.
+unblockTip2=Bạn có thể tìm một nguồn tải xuống khác hoặc thử lại sau.
+unblockButtonOpen=Mở
+unblockButtonUnblock=Cho phép tải xuống
+unblockButtonConfirmBlock=Xóa tập tin
+
+# LOCALIZATION NOTE (sizeWithUnits):
+# %1$S is replaced with the size number, and %2$S with the measurement unit.
+sizeWithUnits=%1$S %2$S
+sizeUnknown=Kích thước không xác định
+
+# LOCALIZATION NOTE (statusSeparator, statusSeparatorBeforeNumber):
+# These strings define templates for the separation of different elements in the
+# status line of a download item. As a separator, by default we use the Unicode
+# character U+2014 'EM DASH' (long dash). Examples of status lines include
+# "Canceled - 222.net", "1.1 MB - website2.com", or "Paused - 1.1 MB". Note
+# that we use a wider space after the separator when it is followed by a number,
+# just to avoid visually confusing it with with a minus sign with some fonts.
+# If you use a different separator, this might not be necessary. However, there
+# is usually no need to change the separator or the order of the substitutions,
+# even for right-to-left languages, unless the defaults are not suitable.
+statusSeparator=%1$S — %2$S
+statusSeparatorBeforeNumber=%1$S — %2$S
diff --git a/l10n-vi/browser/chrome/browser/feeds/subscribe.properties b/l10n-vi/browser/chrome/browser/feeds/subscribe.properties
new file mode 100644
index 0000000000..a32ef5b4a7
--- /dev/null
+++ b/l10n-vi/browser/chrome/browser/feeds/subscribe.properties
@@ -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/.
+
+# LOCALIZATION NOTE (addProtocolHandlerMessage):
+# Message displayed when adding a protocol handler:
+# %1$S is the application's domain, %2$S is the type of protocol
+addProtocolHandlerMessage=Thêm “%1$S” làm ứng dụng cho liên kết %2$S?
+addProtocolHandlerAddButton=Thêm ứng dụng
+addProtocolHandlerAddButtonAccesskey=A
diff --git a/l10n-vi/browser/chrome/browser/places/bookmarkProperties.properties b/l10n-vi/browser/chrome/browser/places/bookmarkProperties.properties
new file mode 100644
index 0000000000..3e72eab7a3
--- /dev/null
+++ b/l10n-vi/browser/chrome/browser/places/bookmarkProperties.properties
@@ -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/.
+
+dialogAcceptLabelAddItem=Thêm
+dialogAcceptLabelSaveItem=Lưu
+dialogAcceptLabelAddMulti=Thêm các dấu trang
+dialogAcceptLabelEdit=Lưu
+dialogTitleAddBookmark=Dấu trang mới
+dialogTitleAddFolder=Thư mục mới
+dialogTitleAddMulti=Dấu trang mới
+dialogTitleEdit=Thuộc tính của "%S"
+
+dialogTitleAddNewBookmark2=Thêm dấu trang
+dialogTitleEditBookmark=Chỉnh sửa “%S”
+dialogTitleEditBookmark2=Chỉnh sửa dấu trang
+dialogTitleAddBookmarksFolder=Thêm thư mục dấu trang
+dialogTitleAddBookmarkFolder=Thêm thư mục dấu trang
+dialogTitleEditBookmarksFolder=Chỉnh sửa thư mục dấu trang
+dialogTitleEditBookmarkFolder=Chỉnh sửa thư mục dấu trang
+
+bookmarkAllTabsDefault=[Tên thư mục]
+newFolderDefault=Thư mục mới
+newBookmarkDefault=Dấu trang mới
diff --git a/l10n-vi/browser/chrome/browser/safebrowsing/safebrowsing.properties b/l10n-vi/browser/chrome/browser/safebrowsing/safebrowsing.properties
new file mode 100644
index 0000000000..051aa32743
--- /dev/null
+++ b/l10n-vi/browser/chrome/browser/safebrowsing/safebrowsing.properties
@@ -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/.
+
+errorReportFalseDeceptiveTitle=Đây không phải là trang lừa đảo
+errorReportFalseDeceptiveMessage=Không thể báo cáo lỗi tại thời điểm này.
diff --git a/l10n-vi/browser/chrome/browser/search.properties b/l10n-vi/browser/chrome/browser/search.properties
new file mode 100644
index 0000000000..9dbeaa68f4
--- /dev/null
+++ b/l10n-vi/browser/chrome/browser/search.properties
@@ -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/.
+
+searchtip=Tìm kiếm bằng %S
+
+# LOCALIZATION NOTE (searchHeader): this is displayed at the top of the panel
+# showing search suggestions.
+# %S is replaced with the name of the current default search engine.
+searchHeader=Tìm với %S
+
+# LOCALIZATION NOTE (cmd_pasteAndSearch): "Search" is a verb, this is the
+# search bar equivalent to the url bar's "Paste & Go"
+cmd_pasteAndSearch=Dán & tìm
+
+cmd_clearHistory=Xóa lịch sử tìm kiếm
+cmd_clearHistory_accesskey=X
+
+# LOCALIZATION NOTE (searchForSomethingWith2):
+# This string is used to build the header above the list of one-click
+# search providers: "Search for <user-typed string> with:"
+searchForSomethingWith2=Tìm %S với:
+
+# LOCALIZATION NOTE (searchWithHeader):
+# The wording of this string should be as close as possible to
+# searchForSomethingWith2. This string will be used when the user
+# has not typed anything.
+searchWithHeader=Tìm với:
+
+# LOCALIZATION NOTE (searchSettings):
+# This is the label for the button that opens Search preferences.
+searchSettings=Thay đổi thiết lập tìm kiếm
+
diff --git a/l10n-vi/browser/chrome/browser/shellservice.properties b/l10n-vi/browser/chrome/browser/shellservice.properties
new file mode 100644
index 0000000000..538575a10f
--- /dev/null
+++ b/l10n-vi/browser/chrome/browser/shellservice.properties
@@ -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/.
+
+# LOCALIZATION NOTE (setDefaultBrowserTitle, setDefaultBrowserMessage, setDefaultBrowserDontAsk, setDefaultBrowserAlertConfirm.label, setDefaultBrowserAlertNotNow.label):
+# These strings are used as an alternative to the ones above, in a modal dialog.
+# %S will be replaced by brandShortName
+setDefaultBrowserTitle=Trình duyệt mặc định
+setDefaultBrowserMessage=%S hiện tại chưa phải là trình duyệt mặc định của bạn. Bạn có muốn đặt làm trình duyệt mặc định không?
+setDefaultBrowserDontAsk=Luôn kiểm tra khi khởi động %S.
+setDefaultBrowserAlertConfirm.label=Đặt %S làm trình duyệt mặc định
+setDefaultBrowserAlertNotNow.label=&Không phải bây giờ
+
+desktopBackgroundLeafNameWin=Ảnh nền.bmp
+DesktopBackgroundDownloading=Đang lưu ảnh…
+DesktopBackgroundSet=Đặt làm ảnh nền máy tính bàn
diff --git a/l10n-vi/browser/chrome/browser/siteData.properties b/l10n-vi/browser/chrome/browser/siteData.properties
new file mode 100644
index 0000000000..fabf173ba7
--- /dev/null
+++ b/l10n-vi/browser/chrome/browser/siteData.properties
@@ -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/.
+
+clearSiteDataPromptTitle=Xóa tất cả cookie và dữ liệu trang web
+# LOCALIZATION NOTE (clearSiteDataPromptText): %S = brandShortName
+clearSiteDataPromptText=Chọn ‘Xóa ngay’ sẽ xóa tất cả cookie và dữ liệu trang được lưu bởi %S. Điều này có thể khiến bạn đăng xuất khỏi các trang web và xóa nội dung web ngoại tuyến.
+clearSiteDataNow=Xóa ngay
diff --git a/l10n-vi/browser/chrome/browser/sitePermissions.properties b/l10n-vi/browser/chrome/browser/sitePermissions.properties
new file mode 100644
index 0000000000..08217300b0
--- /dev/null
+++ b/l10n-vi/browser/chrome/browser/sitePermissions.properties
@@ -0,0 +1,55 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (state.current.allowed,
+# state.current.allowedForSession,
+# state.current.allowedTemporarily,
+# state.current.blockedTemporarily,
+# state.current.blocked,
+# state.current.hide):
+# This label is used to display active permission states in the site
+# identity popup (which does not have a lot of screen space).
+state.current.allowed = Đã cho phép
+state.current.allowedForSession = Cho phép theo phiên
+state.current.allowedTemporarily = Cho phép tạm thời
+state.current.blockedTemporarily = Chặn tạm thời
+state.current.blocked = Đã bị chặn
+state.current.prompt = Luôn hỏi
+
+# LOCALIZATION NOTE (state.multichoice.alwaysAsk,
+# state.multichoice.allow,
+# state.multichoice.allowForSession,
+# state.multichoice.block):
+# Used to label permission state checkboxes in the page info dialog.
+state.multichoice.alwaysAsk = Luôn hỏi
+state.multichoice.allow = Cho phép
+state.multichoice.allowForSession = Cho phép theo phiên
+state.multichoice.block = Chặn
+
+state.multichoice.autoplayblock = Chặn âm thanh
+state.multichoice.autoplayblockall = Chặn âm thanh và video
+state.multichoice.autoplayallow = Cho phép âm thanh và video
+
+permission.autoplay.label = Tự động phát
+permission.cookie.label = Đặt cookie
+permission.desktop-notification3.label = Gửi thông báo
+permission.camera.label = Sử dụng máy ảnh
+permission.microphone.label = Sử dụng micro
+permission.screen.label = Chia sẻ màn hình
+# LOCALIZATION NOTE (permission.speaker.label):
+# Short form for (permission to) "Choose and change audio output devices".
+permission.speaker.label = Chọn loa
+permission.install.label = Cài đặt tiện ích
+permission.popup.label = Mở cửa sổ bật lên
+permission.geo.label = Truy cập vị trí của bạn
+permission.xr.label = Truy cập thiết bị thực tế ảo
+permission.shortcuts.label = Ghi đè các phím tắt
+permission.focus-tab-by-prompt.label = Chuyển sang thẻ này
+permission.persistent-storage.label = Lưu trữ dữ liệu ở bộ nhớ lâu dài
+permission.canvas.label = Trích xuất dữ liệu canvas
+permission.midi.label = Truy cập thiết bị MIDI
+permission.midi-sysex.label = Truy cập thiết bị MIDI với hỗ trợ SysEx
+# LOCALIZATION NOTE (permission.open-protocol-handler.label):
+# Open as a verb. "This site may open applications".
+permission.open-protocol-handler.label = Mở ứng dụng
diff --git a/l10n-vi/browser/chrome/browser/syncSetup.properties b/l10n-vi/browser/chrome/browser/syncSetup.properties
new file mode 100644
index 0000000000..a688538107
--- /dev/null
+++ b/l10n-vi/browser/chrome/browser/syncSetup.properties
@@ -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/.
+
+# Several other strings are used (via Weave.Status.login), but they come from
+# /services/sync
+
+# Firefox Accounts based setup.
+continue.label = Tiếp tục
+
+relinkVerify.title = Cảnh báo gộp dữ liệu
+relinkVerify.heading = Bạn có chắc bạn muốn đăng nhập vào Đồng bộ không?
+# LOCALIZATION NOTE (relinkVerify.description): Email address of a user previously signed into sync.
+relinkVerify.description = Một người dùng khác đã đăng nhập vào đồng bộ hóa trên máy tính này. Nếu bây giờ bạn đăng nhập thì sẽ gộp dữ liệu dấu trang, mật khẩu và những thiết lập khác với %S
diff --git a/l10n-vi/browser/chrome/browser/taskbar.properties b/l10n-vi/browser/chrome/browser/taskbar.properties
new file mode 100644
index 0000000000..8c333ed5bd
--- /dev/null
+++ b/l10n-vi/browser/chrome/browser/taskbar.properties
@@ -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/.
+
+taskbar.tasks.newTab.label=Mở thẻ mới
+taskbar.tasks.newTab.description=Mở một thẻ trình duyệt mới.
+taskbar.tasks.newWindow.label=Mở cửa sổ mới
+taskbar.tasks.newWindow.description=Mở một cửa sổ trình duyệt mới.
+taskbar.tasks.newPrivateWindow.label=Cửa sổ riêng tư mới
+taskbar.tasks.newPrivateWindow.description=Mở một cửa sổ mới ở chế độ duyệt riêng tư.
+taskbar.frequent.label=Sử dụng thường xuyên
+taskbar.recent.label=Gần đây
diff --git a/l10n-vi/browser/chrome/browser/uiDensity.properties b/l10n-vi/browser/chrome/browser/uiDensity.properties
new file mode 100644
index 0000000000..329809ba09
--- /dev/null
+++ b/l10n-vi/browser/chrome/browser/uiDensity.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+uiDensity.menuitem-touch.acceltext=Chế độ máy tính bảng đã được bật
diff --git a/l10n-vi/browser/chrome/overrides/appstrings.properties b/l10n-vi/browser/chrome/overrides/appstrings.properties
new file mode 100644
index 0000000000..11a1b3ec1a
--- /dev/null
+++ b/l10n-vi/browser/chrome/overrides/appstrings.properties
@@ -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/.
+
+malformedURI2=Vui lòng kiểm tra lại URL đã chính xác hay chưa và thử lại lần nữa.
+fileNotFound=Firefox không thể tìm thấy tập tin tại %S.
+fileAccessDenied=Tập tin %S không thể đọc được.
+dnsNotFound2=Chúng tôi không thể kết nối đến máy chủ tại %S.
+unknownProtocolFound=Firefox không biết cách mở đường dẫn này, vì một trong số các protocol (%S) không được liên kết với bất kỳ chương trình nào hoặc không được cho phép trong trường hợp này.
+connectionFailure=Firefox không thể tạo kết nối tới máy chủ tại %S.
+netInterrupt=Kết nối tới %S bị đứt trong khi đang tải trang.
+netTimeout=Máy chủ tại %S phản hồi quá lâu.
+redirectLoop=Firefox phát hiện máy chủ đang chuyển hướng địa chỉ yêu cầu theo một cách mà sẽ chẳng bao giờ hoàn tất.
+## LOCALIZATION NOTE (confirmRepostPrompt): In this item, don’t translate "%S"
+confirmRepostPrompt=Để hiển thị trang này, %S phải gửi những thông tin làm lặp lại hành động đã thực hiện trước đó (chẳng hạn như một xác nhận tìm kiếm hoặc giao dịch).
+resendButton.label=Gửi lại
+unknownSocketType=Firefox không biết liên lạc với máy chủ này như thế nào.
+netReset=Kết nối tới máy chủ đã bị khởi tạo lại trong khi đang tải trang.
+notCached=Tài liệu này không còn hiện hữu.
+netOffline=Firefox hiện đang ở chế độ ngoại tuyến và không thể duyệt Web.
+isprinting=Không thể chỉnh sửa tài liệu trong khi đang in hoặc ở chế độ xem trước.
+deniedPortAccess=Địa chỉ này dùng một cổng mạng vốn thường được dùng cho mục đích khác chứ không phải duyệt Web. Firefox đã hủy bỏ yêu cầu này để bảo vệ bạn.
+proxyResolveFailure=Firefox đã được cấu hình sử dụng máy chủ proxy, nhưng không thể tìm thấy.
+proxyConnectFailure=Firefox đã được cấu hình sử dụng máy chủ proxy, nhưng proxy đang từ chối kết nối.
+contentEncodingError=Không thể hiển thị trang bạn muốn xem vì nó dùng một dạng thức nén bất hợp lệ hoặc không được hỗ trợ.
+unsafeContentType=Không thể hiển thị trang bạn muốn xem vì nó nằm trong một kiểu tập tin không an toàn. Vui lòng liên hệ người quản lí trang web để báo cho họ vấn đề này.
+externalProtocolTitle=Yêu cầu sử dụng chương trình bên ngoài
+externalProtocolPrompt=Cần mở một ứng dụng bên ngoài để có thể xử lí các liên kết %1$S:.\n\n\nLiên kết được yêu cầu:\n\n%2$S\n\nỨng dụng: %3$S\n\n\nNếu bạn không trông đợi yêu cầu này, thì đây có thể là một âm mưu nhằm khai thác điểm yếu trong chương trình đó. Hãy hủy bỏ yêu cầu này trừ khi bạn chắc chắn rằng nó không gây hại gì hết.\n
+#LOCALIZATION NOTE (externalProtocolUnknown): The following string is shown if the application name can't be determined
+externalProtocolUnknown=<Không rõ>
+externalProtocolChkMsg=Ghi nhớ lựa chọn của tôi cho các liên kết loại này.
+externalProtocolLaunchBtn=Chạy ứng dụng
+malwareBlocked=Trang web tại %S bị báo cáo là trang web ác ý và đã bị chặn dựa trên tùy chỉnh bảo mật của bạn.
+harmfulBlocked=Trang web %S được báo cáo là một trang web có khả năng gây hại và đã bị chặn dựa trên cấu hình bảo mật của bạn.
+unwantedBlocked=Trang web tại %S bị nghi ngờ tự động cài đặt phần mềm không mong muốn và đã bị chặn dựa trên tùy chỉnh bảo mật của bạn.
+deceptiveBlocked=Trang web tại %S này đã được báo cáo là trang lừa đảo và đã bị chặn dựa trên tùy chỉnh bảo mật của bạn.
+cspBlocked=Trang này có một chính sách bảo mật nội dung không cho phép nó được tải theo cách này.
+xfoBlocked=Trang này có chính sách X-Frame-Options để ngăn không cho nó được tải trong ngữ cảnh này.
+corruptedContentErrorv2=Trang tại %S đã bị vi phạm giao thức truyền thông mà không cho phép sửa.
+## LOCALIZATION NOTE (sslv3Used) - Do not translate "%S".
+sslv3Used=Firefox không thể đảm bảo an toàn dữ liệu cho bạn trên %S vì nó sử dụng SSLv3, một giao thức bảo mật không an toàn.
+inadequateSecurityError=Trang web đã cố gắng giao tiếp ở mức độ bảo mật thấp.
+blockedByPolicy=Tổ chức của bạn đã chặn quyền truy cập vào trang web này.
+networkProtocolError=Firefox đã phát hiện một vi phạm giao thức mạng mà không thể sửa chữa được.
diff --git a/l10n-vi/browser/crashreporter/crashreporter-override.ini b/l10n-vi/browser/crashreporter/crashreporter-override.ini
new file mode 100644
index 0000000000..0763ae57b0
--- /dev/null
+++ b/l10n-vi/browser/crashreporter/crashreporter-override.ini
@@ -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/.
+; This file is in the UTF-8 encoding
+[Strings]
+; LOCALIZATION NOTE (CrashReporterProductErrorText2): The %s is replaced with a string containing detailed information.
+CrashReporterProductErrorText2=Firefox gặp lỗi. Chúng tôi sẽ cố gắng khôi phục các thẻ và cửa sổ khi nó khởi động lại.\n\nThật không may là trình báo lỗi không thể gửi báo cáo.\n\nChi tiết: %s
+CrashReporterDescriptionText2=Firefox đã có vấn đề và bị lỗi. Chúng tôi sẽ cố gắng khôi phục các tab và cửa sổ của bạn khi nó khởi động lại.\n\nĐể giúp chúng tôi chẩn đoán và sửa vấn đề, bạn có thể gửi cho chúng tôi một bản báo cáo lỗi.
diff --git a/l10n-vi/browser/defaultagent/defaultagent_localized.ini b/l10n-vi/browser/defaultagent/defaultagent_localized.ini
new file mode 100644
index 0000000000..a47523192a
--- /dev/null
+++ b/l10n-vi/browser/defaultagent/defaultagent_localized.ini
@@ -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/.
+
+# This file is in the UTF-8 encoding
+[Strings]
+DefaultBrowserAgentTaskDescription=Tác vụ Default Browser Agent kiểm tra khi thay đổi mặc định từ %MOZ_APP_DISPLAYNAME% sang trình duyệt khác. Nếu xảy ra thay đổi trong các trường hợp đáng ngờ, nó sẽ nhắc người dùng thay đổi trở lại với %MOZ_APP_DISPLAYNAME% không quá 2 lần. Tác vụ này được cài đặt tự động bởi %MOZ_APP_DISPLAYNAME%, và được cài đặt lại khi %MOZ_APP_DISPLAYNAME% cập nhật. Để tắt tác vụ này, hãy cập nhật tùy chỉnh “default-browser-agent.enabled” trong trang about:config hoặc “DisableDefaultBrowserAgent” trong thiết lập chính sách doanh nghiệp %MOZ_APP_DISPLAYNAME% .
+
+DefaultBrowserNotificationTitle=Đặt %MOZ_APP_DISPLAYNAME% làm trình duyệt mặc định của bạn
+DefaultBrowserNotificationText=%MOZ_APP_DISPLAYNAME% không còn là trình duyệt mặc định của bạn. Đặt nó làm mặc định cho bạn?
+
+DefaultBrowserNotificationHeaderText=Tiếp tục sử dụng %MOZ_APP_DISPLAYNAME%?
+DefaultBrowserNotificationBodyText=Trình duyệt mặc định của bạn đã được thay đổi gần đây. Nhấn để khôi phục %MOZ_APP_DISPLAYNAME% về mặc định.
+DefaultBrowserNotificationYesButtonText=Đồng ý
+DefaultBrowserNotificationNoButtonText=Không
diff --git a/l10n-vi/browser/extensions/formautofill/formautofill.properties b/l10n-vi/browser/extensions/formautofill/formautofill.properties
new file mode 100644
index 0000000000..89cf360daa
--- /dev/null
+++ b/l10n-vi/browser/extensions/formautofill/formautofill.properties
@@ -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/.
+
+# LOCALIZATION NOTE (autofillOptionsLink, autofillOptionsLinkOSX): These strings are used in the doorhanger for
+# updating addresses. The link leads users to Form Autofill browser preferences.
+autofillOptionsLink = Tùy chọn tự động điền mẫu
+autofillOptionsLinkOSX = Tùy chỉnh tự động điền mẫu
+# LOCALIZATION NOTE (changeAutofillOptions, changeAutofillOptionsOSX): These strings are used on the doorhanger
+# that notifies users that addresses are saved. The button leads users to Form Autofill browser preferences.
+changeAutofillOptions = Thay đổi tùy chọn tự động điền biểu mẫu
+changeAutofillOptionsOSX = Thay đổi tùy chọn tự động điền biểu mẫu
+changeAutofillOptionsAccessKey = C
+# LOCALIZATION NOTE (addressesSyncCheckbox): If Sync is enabled, this checkbox is displayed on the doorhanger
+# shown when saving addresses.
+addressesSyncCheckbox = Chia sẻ địa chỉ với các thiết bị đồng bộ
+# LOCALIZATION NOTE (creditCardsSyncCheckbox): If Sync is enabled and credit card sync is available,
+# this checkbox is displayed on the doorhanger shown when saving credit card.
+creditCardsSyncCheckbox = Chia sẻ thẻ tín dụng với các thiết bị đồng bộ
+
+# LOCALIZATION NOTE (saveAddressesMessage): %S is brandShortName. This string is used on the doorhanger to
+# notify users that addresses are saved.
+saveAddressesMessage = %S lưu địa chỉ ngay bây giờ để bạn có thể điền vào biểu mẫu nhanh hơn.
+saveAddressDescriptionLabel = Địa chỉ để lưu:
+saveAddressLabel = Lưu địa chỉ
+saveAddressAccessKey = S
+# LOCALIZATION NOTE (updateAddressMessage, updateAddressDescriptionLabel, createAddressLabel, updateAddressLabel):
+# Used on the doorhanger when an address change is detected.
+updateAddressMessage = Bạn có muốn cập nhật địa chỉ của mình với thông tin mới này không?
+updateAddressOldDescriptionLabel = Địa chỉ cũ:
+updateAddressNewDescriptionLabel = Địa chỉ mới:
+createAddressLabel = Tạo địa chỉ mới
+createAddressAccessKey = C
+createAddressDescriptionLabel = Địa chỉ để tạo mới:
+cancelAddressLabel = Không lưu
+cancelAddressAccessKey = D
+updateAddressLabel = Cập nhật địa chỉ
+updateAddressAccessKey = U
+
+# LOCALIZATION NOTE (saveCreditCardMessage, saveCreditCardDescriptionLabel, saveCreditCardLabel, cancelCreditCardLabel, neverSaveCreditCardLabel):
+# Used on the doorhanger when users submit payment with credit card.
+# LOCALIZATION NOTE (saveCreditCardMessage): %S is brandShortName.
+saveCreditCardMessage = Bạn có muốn %S lưu thông tin thẻ tín dụng này? (Mã bảo mật sẽ không được lưu)
+saveCreditCardDescriptionLabel = Thẻ tín dụng để lưu:
+saveCreditCardLabel = Lưu thông tin thẻ tín dụng
+saveCreditCardAccessKey = S
+cancelCreditCardLabel = Không lưu
+cancelCreditCardAccessKey = D
+neverSaveCreditCardLabel = Không bao giờ lưu thông tin thẻ tín dụng
+neverSaveCreditCardAccessKey = N
+# LOCALIZATION NOTE (updateCreditCardMessage, updateCreditCardDescriptionLabel, createCreditCardLabel, updateCreditCardLabel):
+# Used on the doorhanger when an credit card change is detected.
+updateCreditCardMessage = Bạn có muốn cập nhật thẻ tín dụng của mình với thông tin mới này không?
+updateCreditCardDescriptionLabel = Thẻ tín dụng để cập nhật:
+createCreditCardLabel = Tạo thẻ tín dụng mới
+createCreditCardAccessKey = C
+updateCreditCardLabel = Cập nhật thẻ tín dụng
+updateCreditCardAccessKey = U
+# LOCALIZATION NOTE (openAutofillMessagePanel): Tooltip label for Form Autofill doorhanger icon on address bar.
+openAutofillMessagePanel = Mở bảng thông báo tự động điền biểu mẫu
+
+# LOCALIZATION NOTE (autocompleteFooterOption2):
+# Used as a label for the button, displayed at the bottom of the dropdown suggestion, to open Form Autofill browser preferences.
+autocompleteFooterOption2 = Tùy chọn tự động điền biểu mẫu
+# LOCALIZATION NOTE (autocompleteFooterOptionOSX2):
+# Used as a label for the button, displayed at the bottom of the dropdown suggestion, to open Form Autofill browser preferences.
+autocompleteFooterOptionOSX2 = Tùy chỉnh tự động điền biểu mẫu
+# LOCALIZATION NOTE (autocompleteFooterOptionShort2):
+# Used as a label for the button, displayed at the bottom of the dropdown suggestion, to open Form Autofill browser preferences.
+# The short version is used for inputs below a certain width (e.g. 150px).
+autocompleteFooterOptionShort2 = Tùy chọn tự động điền
+# LOCALIZATION NOTE (autocompleteFooterOptionOSXShort2):
+# Used as a label for the button, displayed at the bottom of the dropdown suggestion, to open Form Autofill browser preferences.
+# The short version is used for inputs below a certain width (e.g. 150px).
+autocompleteFooterOptionOSXShort2 = Tùy chỉnh tự động điền
+
+# LOCALIZATION NOTE (autocompleteManageCreditCards):
+# Used as a label for the button, displayed at the bottom of the dropdown suggestion, to open Form Autofill browser preferences.
+autocompleteManageCreditCards = Quản lý thẻ tín dụng
+# LOCALIZATION NOTE (autocompleteManageAddresses):
+# Used as a label for the button, displayed at the bottom of the dropdown suggestion, to open Form Autofill browser preferences.
+autocompleteManageAddresses = Quản lý địa chỉ
+# LOCALIZATION NOTE (category.address, category.name, category.organization2, category.tel, category.email):
+# Used in autofill drop down suggestion to indicate what other categories Form Autofill will attempt to fill.
+category.address = địa chỉ
+category.name = tên
+category.organization2 = tổ chức
+category.tel = điện thoại
+category.email = thư điện tử
+# LOCALIZATION NOTE (fieldNameSeparator): This is used as a separator between categories.
+fieldNameSeparator = ,\u0020
+# LOCALIZATION NOTE (phishingWarningMessage, phishingWarningMessage2): The warning
+# text that is displayed for informing users what categories are about to be filled.
+# "%S" will be replaced with a list generated from the pre-defined categories.
+# The text would be e.g. Also autofills organization, phone, email.
+phishingWarningMessage = Cũng tự động điền %S
+phishingWarningMessage2 = Tự động điền %S
+# LOCALIZATION NOTE (insecureFieldWarningDescription): %S is brandShortName. This string is used in drop down
+# suggestion when users try to autofill credit card on an insecure website (without https).
+insecureFieldWarningDescription = %S đã phát hiện một trang web không an toàn. Tự động điền biểu mẫu tạm thời bị tắt.
+# LOCALIZATION NOTE (clearFormBtnLabel2): Label for the button in the dropdown menu that used to clear the populated
+# form.
+clearFormBtnLabel2 = Xóa biểu mẫu tự động điền
+
+autofillHeader = Biểu mẫu & Tự động điền
+# LOCALIZATION NOTE (autofillAddressesCheckbox): Label for the checkbox that enables autofilling addresses.
+autofillAddressesCheckbox = Tự động điền các địa chỉ
+# LOCALIZATION NOTE (learnMoreLabel): Label for the link that leads users to the Form Autofill SUMO page.
+learnMoreLabel = Tìm hiểu thêm
+# LOCALIZATION NOTE (savedAddressesBtnLabel): Label for the button that opens a dialog that shows the
+# list of saved addresses.
+savedAddressesBtnLabel = Địa chỉ đã lưu…
+# LOCALIZATION NOTE (autofillCreditCardsCheckbox): Label for the checkbox that enables autofilling credit cards.
+autofillCreditCardsCheckbox = Tự điện điền các thẻ tín dụng
+# LOCALIZATION NOTE (savedCreditCardsBtnLabel): Label for the button that opens a dialog that shows the list
+# of saved credit cards.
+savedCreditCardsBtnLabel = Thẻ tín dụng đã lưu…
+
+autofillReauthCheckboxMac = Yêu cầu xác thực macOS để tự động điền, xem hoặc chỉnh sửa thẻ tín dụng được lưu trữ.
+autofillReauthCheckboxWin = Yêu cầu xác thực Windows để tự động điền, xem hoặc chỉnh sửa thẻ tín dụng được lưu trữ.
+autofillReauthCheckboxLin = Yêu cầu xác thực Linux để tự động điền, xem hoặc chỉnh sửa thẻ tín dụng được lưu trữ.
+
+# LOCALIZATION NOTE (autofillReauthOSDialogMac): This 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.
+autofillReauthOSDialogMac = thay đổi cài đặt xác thực
+autofillReauthOSDialogWin = Để thay đổi cài đặt xác thực, nhập thông tin đăng nhập Windows của bạn.
+autofillReauthOSDialogLin = Để thay đổi cài đặt xác thực, nhập thông tin đăng nhập Linux của bạn.
+
+useCreditCardPasswordPrompt.win = %S đang cố gắng sử dụng thông tin thẻ tín dụng được lưu trữ. Xác nhận quyền truy cập vào tài khoản Windows bên dưới.
+# LOCALIZATION NOTE (useCreditCardPasswordPrompt.macos): This 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.
+useCreditCardPasswordPrompt.macos = sử dụng thông tin thẻ tín dụng được lưu trữ
+useCreditCardPasswordPrompt.linux = %S đang cố gắng sử dụng thông tin thẻ tín dụng được lưu trữ.
diff --git a/l10n-vi/browser/extensions/report-site-issue/webcompat.properties b/l10n-vi/browser/extensions/report-site-issue/webcompat.properties
new file mode 100644
index 0000000000..b07af7b102
--- /dev/null
+++ b/l10n-vi/browser/extensions/report-site-issue/webcompat.properties
@@ -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/.
+
+# LOCALIZATION NOTE(wc-reporter.label2): This string will be used in the
+# Firefox page actions menu. Localized length should be considered.
+wc-reporter.label2=Báo cáo vấn đề về trang…
+# LOCALIZATION NOTE(wc-reporter.tooltip): A site compatibility issue is
+# a website bug that exists in one browser (Firefox), but not another.
+wc-reporter.tooltip=Báo cáo vấn đề về khả năng tương thích của trang
diff --git a/l10n-vi/browser/firefox-l10n.js b/l10n-vi/browser/firefox-l10n.js
new file mode 100644
index 0000000000..b410ad9aef
--- /dev/null
+++ b/l10n-vi/browser/firefox-l10n.js
@@ -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/.
+
+#filter substitution
+
diff --git a/l10n-vi/browser/installer/custom.properties b/l10n-vi/browser/installer/custom.properties
new file mode 100644
index 0000000000..2ad493a251
--- /dev/null
+++ b/l10n-vi/browser/installer/custom.properties
@@ -0,0 +1,93 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
+# custom string and always use the same one as used by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+REG_APP_DESC=$BrandShortName cho phép bạn duyệt web dễ dàng, an toàn. Một giao diện người dùng quen thuộc, tính năng bảo mật nâng cao bao gồm chống trộm cắp danh tính trực tuyến, và với công cụ tìm kiếm tích hợp sẽ giúp bạn tận dụng hết sức mạnh của web.
+PRIVATE_BROWSING_SHORTCUT_TITLE=$BrandShortName duyệt web riêng tư
+CONTEXT_OPTIONS=&Tùy chọn $BrandShortName
+CONTEXT_SAFE_MODE=$BrandShortName &Chế độ an toàn
+OPTIONS_PAGE_TITLE=Kiểu cài đặt
+OPTIONS_PAGE_SUBTITLE=Tùy chọn cài đặt
+SHORTCUTS_PAGE_TITLE=Tạo lối tắt
+SHORTCUTS_PAGE_SUBTITLE=Tạo các biểu tượng chương trình
+COMPONENTS_PAGE_TITLE=Cài đặt các thành phần không bắt buộc
+COMPONENTS_PAGE_SUBTITLE=Các thành phần được khuyên dùng
+OPTIONAL_COMPONENTS_DESC=Dịch vụ bảo trì sẽ cho phép bạn cập nhật $BrandShortName trong nền một cách tự động.
+MAINTENANCE_SERVICE_CHECKBOX_DESC=&Cài đặt Dịch vụ bảo trì
+SUMMARY_PAGE_TITLE=Tóm tắt
+SUMMARY_PAGE_SUBTITLE=Sẵn sàng cài đặt $BrandShortName
+SUMMARY_INSTALLED_TO=$BrandShortName sẽ được cài vào thư mục sau:
+SUMMARY_REBOOT_REQUIRED_INSTALL=Có thể cần khởi động lại máy tính để hoàn tất việc cài đặt.
+SUMMARY_REBOOT_REQUIRED_UNINSTALL=Có thể cần khởi động lại máy tính để hoàn tất việc gỡ bỏ.
+SUMMARY_TAKE_DEFAULTS=&Dùng $BrandShortName làm trình duyệt mặc định của tôi
+SUMMARY_INSTALL_CLICK=Nhấn “Cài đặt” để tiếp tục.
+SUMMARY_UPGRADE_CLICK=Nhấn “Nâng cấp” để tiếp tục.
+SURVEY_TEXT=&Vui lòng cho chúng tôi biết bạn nghĩ gì về $BrandShortName
+LAUNCH_TEXT=&Chạy $BrandShortName ngay bây giờ
+CREATE_ICONS_DESC=Tạo biểu tượng cho $BrandShortName:
+ICONS_DESKTOP=Trên &Desktop
+ICONS_STARTMENU=Trong thư mục Programs của Trình đơn &Start
+ICONS_TASKBAR=Trên thanh &tác vụ của tôi
+WARN_MANUALLY_CLOSE_APP_INSTALL=$BrandShortName phải được đóng trước khi tiến hành cài đặt.\n\nVui lòng đóng $BrandShortName để tiếp tục.
+WARN_MANUALLY_CLOSE_APP_UNINSTALL=$BrandShortName phải được đóng trước khi tiến hành gỡ bỏ.\n\nVui lòng đóng $BrandShortName để tiếp tục.
+WARN_MANUALLY_CLOSE_APP_REFRESH=$BrandShortName phải được đóng trước khi tiến hành làm mới.\n\nVui lòng đóng $BrandShortName để tiếp tục.
+WARN_WRITE_ACCESS=Bạn không có quyền ghi vào thư mục cài đặt.\n\nNhấn OK để chọn thư mục khác.
+WARN_DISK_SPACE=Bạn không có đủ dung lượng đĩa để cài vào thư mục này.\n\nNhấn OK để chọn thư mục khác.
+WARN_MIN_SUPPORTED_OSVER_MSG=Xin lỗi, $BrandShortName không thể cài đặt. Phiên bản này của $BrandShortName yêu cầu ${MinSupportedVer} hoặc mới hơn. Hãy nhấn nút OK để biết thêm thông tin.
+WARN_MIN_SUPPORTED_CPU_MSG=Xin lỗi, $BrandShortName không thể cài đặt. Phiên bản này của $BrandShortName yêu cầu bộ xử lý có hỗ trợ ${MinSupportedCPU}. Hãy nhấn nút OK để biết thêm thông tin.
+WARN_MIN_SUPPORTED_OSVER_CPU_MSG=Xin lỗi, $BrandShortName không thể cài đặt. Phiên bản này của $BrandShortName yêu cầu ${MinSupportedVer} hoặc mới hơn và bộ xử lý có hỗ trợ ${MinSupportedCPU}. Hãy nhấn nút OK để biết thêm thông tin.
+WARN_RESTART_REQUIRED_UNINSTALL=Máy tính của bạn phải được khởi động lại để hoàn tất việc gỡ bỏ $BrandShortName. Bạn có muốn khởi động lại ngay bây giờ?
+WARN_RESTART_REQUIRED_UPGRADE=Máy tính của bạn phải được khởi động lại để hoàn tất việc nâng cấp $BrandShortName. Bạn có muốn khởi động lại ngay bây giờ?
+ERROR_CREATE_DIRECTORY_PREFIX=Gặp lỗi khi tạo thư mục:
+ERROR_CREATE_DIRECTORY_SUFFIX=Nhấn “Hủy bỏ” (Cancel) để dừng việc cài đặt hoặc\n“Thử lại” (Retry) để thử lần nữa.
+
+UN_CONFIRM_PAGE_TITLE=Gỡ bỏ $BrandFullName
+UN_CONFIRM_PAGE_SUBTITLE=Gỡ bỏ $BrandFullName từ máy tính của bạn.
+UN_CONFIRM_UNINSTALLED_FROM=$BrandShortName sẽ được gỡ bỏ từ thư mục sau:
+UN_CONFIRM_CLICK=Nhấp “Gỡ bỏ” để tiếp tục.
+
+UN_REFRESH_PAGE_TITLE=Thay vào đó, làm mới $BrandShortName?
+UN_REFRESH_PAGE_EXPLANATION=Nếu bạn gặp sự cố với $BrandShortName, việc làm mới có thể giúp ích.\n\nĐiều này sẽ khôi phục cài đặt mặc định và xóa tiện ích mở rộng. Bắt đầu mới cho hiệu suất tối ưu.
+UN_REFRESH_LEARN_MORE=&Tìm hiểu thêm
+UN_REFRESH_BUTTON=&Làm mới $BrandShortName
+
+BANNER_CHECK_EXISTING=Đang kiểm tra phiên bản…
+
+STATUS_INSTALL_APP=Đang cài đặt $BrandShortName…
+STATUS_INSTALL_LANG=Đang cài đặt tập tin ngôn ngữ (${AB_CD})…
+STATUS_UNINSTALL_MAIN=Đang gỡ bỏ $BrandShortName…
+STATUS_CLEANUP=Dọn dẹp nhà cửa một chút…
+
+UN_SURVEY_CHECKBOX_LABEL=Cho Mozilla biết lý do bạn gỡ cài đặt $BrandShortName
+
+# _DESC strings support approximately 65 characters per line.
+# One line
+OPTIONS_SUMMARY=Chọn kiểu cài đặt bạn muốn, rồi nhấn “Tiếp tục”.
+# One line
+OPTION_STANDARD_DESC=$BrandShortName sẽ được cài đặt cùng các tùy chọn thông dụng.
+OPTION_STANDARD_RADIO=&Chuẩn
+# Two lines
+OPTION_CUSTOM_DESC=Bạn có thể chọn từng tùy chọn riêng lẻ. Dành cho người dùng có kinh nghiệm.
+OPTION_CUSTOM_RADIO=Tùy biến (&C)
+
+# LOCALIZATION NOTE:
+# The following text replaces the Install button text on the summary page.
+# Verify that the access key for InstallBtn (in override.properties) and
+# UPGRADE_BUTTON is not already used by SUMMARY_TAKE_DEFAULTS.
+UPGRADE_BUTTON=&Nâng cấp
diff --git a/l10n-vi/browser/installer/mui.properties b/l10n-vi/browser/installer/mui.properties
new file mode 100644
index 0000000000..375703fee3
--- /dev/null
+++ b/l10n-vi/browser/installer/mui.properties
@@ -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/.
+
+# To make the l10n tinderboxen see changes to this file you can change a value
+# name by adding - to the end of the name followed by chars (e.g. Branding-2).
+
+# LOCALIZATION NOTE:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
+# custom string and always use the same one as used by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+MUI_TEXT_WELCOME_INFO_TITLE=Chào mừng đến với trình cài đặt $BrandFullNameDA
+MUI_TEXT_WELCOME_INFO_TEXT=Trình cài đặt này sẽ hướng dẫn bạn việc cài đặt $BrandFullNameDA.\n\nBạn nên đóng tất cả các chương trình khác trước khi bắt đầu Cài đặt. Điều này sẽ giúp việc cập nhật các tập tin hệ thống có thể thực hiện được mà không cần phải khởi động lại.\n\n$_CLICK
+MUI_TEXT_COMPONENTS_TITLE=Chọn các thành phần
+MUI_TEXT_COMPONENTS_SUBTITLE=Chọn những tính năng của $BrandFullNameDA mà bạn muốn cài đặt.
+MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE=Mô tả
+MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO=Di chuột trên một thành phần để thấy mô tả của nó.
+MUI_TEXT_DIRECTORY_TITLE=Chọn đường dẫn cài đặt
+MUI_TEXT_DIRECTORY_SUBTITLE=Chọn thư mục để cài đặt $BrandFullNameDA.
+MUI_TEXT_INSTALLING_TITLE=Đang cài đặt
+MUI_TEXT_INSTALLING_SUBTITLE=Vui lòng chờ trong khi $BrandFullNameDA đang được cài đặt.
+MUI_TEXT_FINISH_TITLE=Cài đặt hoàn tất
+MUI_TEXT_FINISH_SUBTITLE=Cài đặt thành công.
+MUI_TEXT_ABORT_TITLE=Cài đặt bị hủy bỏ
+MUI_TEXT_ABORT_SUBTITLE=Cài đặt không thành công.
+MUI_BUTTONTEXT_FINISH=&Hoàn thành
+MUI_TEXT_FINISH_INFO_TITLE=Đã hoàn tất cài đặt $BrandFullNameDA
+MUI_TEXT_FINISH_INFO_TEXT=$BrandFullNameDA đã được cài vào máy bạn.\n\nNhấn “Hoàn thành” để đóng trình cài đặt này.
+MUI_TEXT_FINISH_INFO_REBOOT=Máy tính phải được khởi động lại để có thể hoàn tất việc cài đặt $BrandFullNameDA. Bạn có muốn khởi động lại ngay bây giờ?
+MUI_TEXT_FINISH_REBOOTNOW=Khởi động lại ngay
+MUI_TEXT_FINISH_REBOOTLATER=Tôi muốn khởi động lại sau
+MUI_TEXT_STARTMENU_TITLE=Chọn thư mục trên trình đơn Start
+MUI_TEXT_STARTMENU_SUBTITLE=Chọn một thư mục trên trình đơn Start cho các lối tắt của $BrandFullNameDA.
+MUI_INNERTEXT_STARTMENU_TOP=Chọn thư mục trên trình đơn Start mà bạn muốn dùng để tạo lối tắt cho chương trình. Bạn cũng có thể nhập tên để tạo thư mục mới.
+MUI_TEXT_ABORTWARNING=Bạn có thật sự muốn thoát trình cài đặt $BrandFullName?
+MUI_UNTEXT_WELCOME_INFO_TITLE=Chào mừng đến với trình gỡ bỏ $BrandFullNameDA
+MUI_UNTEXT_WELCOME_INFO_TEXT=Trình cài đặt này sẽ giúp bạn gỡ bỏ $BrandFullNameDA.\n\nTrước khi bắt đầu gỡ bỏ, hãy chắc chắn rằng $BrandFullNameDA không chạy.\n\n$_CLICK
+MUI_UNTEXT_CONFIRM_TITLE=Gỡ bỏ $BrandFullNameDA
+MUI_UNTEXT_CONFIRM_SUBTITLE=Gỡ bỏ $BrandFullNameDA từ máy tính của bạn.
+MUI_UNTEXT_UNINSTALLING_TITLE=Đang gỡ bỏ
+MUI_UNTEXT_UNINSTALLING_SUBTITLE=Vui lòng chờ trong khi $BrandFullNameDA đang được gỡ bỏ.
+MUI_UNTEXT_FINISH_TITLE=Gỡ bỏ hoàn tất
+MUI_UNTEXT_FINISH_SUBTITLE=Gỡ bỏ đã thành công.
+MUI_UNTEXT_ABORT_TITLE=Gỡ bỏ bị hủy bỏ
+MUI_UNTEXT_ABORT_SUBTITLE=Gỡ bỏ không thành công.
+MUI_UNTEXT_FINISH_INFO_TITLE=Đã hoàn tất gỡ bỏ $BrandFullNameDA
+MUI_UNTEXT_FINISH_INFO_TEXT=$BrandFullNameDA đã được gỡ bỏ khỏi máy tính của bạn.\n\nNhấn “Hoàn thành” để đóng trình cài đặt này.
+MUI_UNTEXT_FINISH_INFO_REBOOT=Máy tính phải được khởi động lại để có thể hoàn tất việc gỡ bỏ $BrandFullNameDA. Bạn có muốn khởi động lại ngay bây giờ?
+MUI_UNTEXT_ABORTWARNING=Bạn có thật sự muốn thoát trình gỡ bỏ $BrandFullName?
diff --git a/l10n-vi/browser/installer/nsisstrings.properties b/l10n-vi/browser/installer/nsisstrings.properties
new file mode 100644
index 0000000000..3e99cbfdf7
--- /dev/null
+++ b/l10n-vi/browser/installer/nsisstrings.properties
@@ -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/.
+
+# LOCALIZATION NOTE:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandProductName, $BrandFullName,
+# or $BrandFullNameDA with a custom string and always use the same one as used
+# by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+INSTALLER_WIN_CAPTION=Trình cài đặt $BrandShortName
+
+STUB_CLEANUP_PAVEOVER_HEADER2=$BrandShortName đã được cài đặt trước đó. Hãy cập nhật nó.
+STUB_CLEANUP_REINSTALL_HEADER2=$BrandShortName đã được cài đặt trước đó. Hãy tạo bạn một bản sao mới.
+
+STUB_CLEANUP_PAVEOVER_BUTTON2=Cập nhật
+STUB_CLEANUP_REINSTALL_BUTTON2=Cài đặt lại
+STUB_CLEANUP_CHECKBOX_LABEL2=Khôi phục cài đặt mặc định và loại bỏ các tiện ích cũ cho hiệu suất tối ưu
+
+STUB_INSTALLING_LABEL2=Đang cài đặt…
+STUB_INSTALLING_HEADLINE2=Tối ưu hóa cài đặt của bạn cho tốc độ, sự riêng tư và an toàn.
+STUB_INSTALLING_BODY2=$BrandShortName sẽ sẵn sàng chỉ sau vài phút.
+STUB_BLURB_FIRST1=Nhanh hơn, $BrandShortName đáp ứng nhanh nhất chưa từng thấy
+STUB_BLURB_SECOND1=Tải trang và chuyển đổi giữa các thẻ nhanh hơn
+STUB_BLURB_THIRD1=Trình duyệt riêng tư mạnh mẽ
+STUB_BLURB_FOOTER2=Được xây dựng vì mọi người, không vì lợi nhuận
+
+WARN_MIN_SUPPORTED_OSVER_MSG=Xin lỗi, $BrandShortName không thể cài đặt. Phiên bản này của $BrandShortName yêu cầu ${MinSupportedVer} hoặc mới hơn. Hãy nhấn nút OK để biết thêm thông tin.
+WARN_MIN_SUPPORTED_CPU_MSG=Xin lỗi, $BrandShortName không thể cài đặt. Phiên bản này của $BrandShortName yêu cầu bộ xử lý có hỗ trợ ${MinSupportedCPU}. Hãy nhấn nút OK để biết thêm thông tin.
+WARN_MIN_SUPPORTED_OSVER_CPU_MSG=Xin lỗi, $BrandShortName không thể cài đặt. Phiên bản này của $BrandShortName yêu cầu ${MinSupportedVer} hoặc mới hơn và bộ xử lý có hỗ trợ ${MinSupportedCPU}. Hãy nhấn nút OK để biết thêm thông tin.
+WARN_WRITE_ACCESS_QUIT=Bạn không có quyền truy cập để ghi vào thư mục cài đặt
+WARN_DISK_SPACE_QUIT=Bạn không có đủ dung lượng trống của ổ đĩa để cài đặt.
+
+ERROR_DOWNLOAD_CONT=Hừm. Vì một số lý do nào đó, chúng tôi không thể cài đặt $BrandShortName.\nNhấn OK để bắt đầu lại.
+
+STUB_CANCEL_PROMPT_HEADING=Bạn có muốn cài đặt $BrandShortName?
+STUB_CANCEL_PROMPT_MESSAGE=Nếu bạn hủy bỏ, $BrandShortName sẽ không được cài đặt.
+STUB_CANCEL_PROMPT_BUTTON_CONTINUE=Cài đặt $BrandShortName
+STUB_CANCEL_PROMPT_BUTTON_EXIT=Hủy bỏ
diff --git a/l10n-vi/browser/installer/override.properties b/l10n-vi/browser/installer/override.properties
new file mode 100644
index 0000000000..b557f87beb
--- /dev/null
+++ b/l10n-vi/browser/installer/override.properties
@@ -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/.
+
+# LOCALIZATION NOTE:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
+# custom string and always use the same one as used by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+# Strings that require a space at the end should be enclosed with double
+# quotes and the double quotes will be removed. To add quotes to the beginning
+# and end of a strong enclose the add and additional double quote to the
+# beginning and end of the string (e.g. ""This will include quotes"").
+
+SetupCaption=Cài đặt $BrandFullName
+UninstallCaption=Gỡ bỏ $BrandFullName
+BackBtn=< &Quay lại
+NextBtn=&Tiếp tục >
+AcceptBtn=Tôi &chấp nhận các điều khoản trong Thỏa thuận Giấy phép
+DontAcceptBtn=Tôi &không chấp nhận các điều khoản trong Thỏa thuận Giấy phép
+InstallBtn=&Cài đặt
+UninstallBtn=&Gỡ bỏ
+CancelBtn=Hủy bỏ
+CloseBtn=Đóng (&C)
+BrowseBtn=&Duyệt…
+ShowDetailsBtn=&Hiển thị chi tiết
+ClickNext=Nhấn “Tiếp tục” để tiếp tục.
+ClickInstall=Nhấn “Cài đặt” để bắt đầu cài đặt.
+ClickUninstall=Nhấn “Gỡ bỏ” để bắt đầu gỡ bỏ.
+Completed=Hoàn tất
+LicenseTextRB=Vui lòng xem thỏa thuận giấy phép trước khi cài đặt $BrandFullNameDA. Nếu bạn chấp nhận tất cả điều khoản của bản thỏa thuận, hãy chọn ô đầu tiên bên dưới. $_CLICK
+ComponentsText=Chọn các thành phần bạn muốn cài đặt và bỏ chọn các thành phần mà bạn không muốn. $_CLICK
+ComponentsSubText2_NoInstTypes=Chọn các thành phần muốn cài đặt:
+DirText=Sẽ cài đặt $BrandFullNameDA vào thư mục sau. Để cài vào thư mục khác, nhấn Duyệt và chọn một thư mục khác. $_CLICK
+DirSubText=Thư mục Đích
+DirBrowseText=Chọn thư mục để cài đặt $BrandFullNameDA:
+SpaceAvailable="Dung lượng hiện có: "
+SpaceRequired="Dung lượng yêu cầu: "
+UninstallingText=$BrandFullNameDA sẽ được gỡ bỏ khỏi thư mục sau. $_CLICK
+UninstallingSubText=Đang gỡ bỏ khỏi:
+FileError=Gặp lỗi khi mở tập tin để ghi: \r\n\r\n$0\r\n\r\nNhấn “Hủy bỏ” (Cancel) để dừng cài đặt,\r\n“Thử lại” (Retry) để thử lần nữa, hoặc\r\n“Bỏ qua” (Ignore) để bỏ qua tập tin này.
+FileError_NoIgnore=Gặp lỗi khi mở tập tin để ghi: \r\n\r\n$0\r\n\r\nNhấn “Thử lại” (Retry) để thử lần nữa, hoặc\r\n“Hủy bỏ” (Cancel) để dừng việc cài đặt.
+CantWrite="Không thể ghi: "
+CopyFailed=Thao tác sao chép thất bại
+CopyTo="Sao chép đến "
+Registering="Đang đăng kí: "
+Unregistering="Đang bỏ đăng kí: "
+SymbolNotFound="Không thể tìm biểu tượng: "
+CouldNotLoad="Không thể tải: "
+CreateFolder="Tạo thư mục: "
+CreateShortcut="Tạo lối tắt: "
+CreatedUninstaller="Đã tạo trình gỡ bỏ: "
+Delete="Xóa tập tin: "
+DeleteOnReboot="Xóa khi khởi động lại: "
+ErrorCreatingShortcut="Gặp lỗi khi tạo lối tắt: "
+ErrorCreating="Gặp lỗi khi tạo: "
+ErrorDecompressing=Gặp lỗi khi giải nén dữ liệu! Có thể trình cài đặt đã bị hư?
+ErrorRegistering=Lỗi đăng kí DLL
+ExecShell="ExecShell: "
+Exec="Thực thi: "
+Extract="Giải nén: "
+ErrorWriting="Giải nén: lỗi khi ghi vào tập tin "
+InvalidOpcode=Trình cài đặt bị hư: mã tác vụ bất hợp lệ
+NoOLE="Không có OLE cho: "
+OutputFolder="Thư mục đầu ra: "
+RemoveFolder="Gỡ bỏ thư mục: "
+RenameOnReboot="Đổi tên khi khởi động lại: "
+Rename="Đổi tên: "
+Skipped="Bỏ qua: "
+CopyDetails=Sao chép chi tiết vào bộ nhớ tạm
+LogInstall=Lưu kí tiến trình cài đặt
+Byte=B
+Kilo=K
+Mega=M
+Giga=G
diff --git a/l10n-vi/browser/langpack-metadata.ftl b/l10n-vi/browser/langpack-metadata.ftl
new file mode 100644
index 0000000000..ef992c41fb
--- /dev/null
+++ b/l10n-vi/browser/langpack-metadata.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/.
+
+
+## Strings used to define the metadata of langpacks published on addons.mozilla.org.
+## Only text elements and literals are supported for these strings.
+
+langpack-creator = Cộng đồng bản địa hóa Mozilla
+
+# To credit multiple contributors, use a comma-delimited list.
+# Example: Joe Solon, Suzy Solon
+langpack-contributors = Nguyễn Mạnh Hùng, Nguyễn Xuân Minh, Huỳnh Hải Đăng, Bùi Việt Khoa, Trần Nguyễn Sơn, Ngô Đức Trung, Nguyễn Hà Dương, Nguyễn Phan Hải, Đặng Duy Thanh
diff --git a/l10n-vi/browser/pdfviewer/chrome.properties b/l10n-vi/browser/pdfviewer/chrome.properties
new file mode 100644
index 0000000000..77eacbef64
--- /dev/null
+++ b/l10n-vi/browser/pdfviewer/chrome.properties
@@ -0,0 +1,20 @@
+# Copyright 2012 Mozilla Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Chrome notification bar messages and buttons
+unsupported_feature=Tài liệu PDF này có thể không được hiển thị đúng.
+unsupported_feature_forms=Tài liệu PDF này có chứa form. Tuy nhiên, chúng tôi chưa hỗ trợ điền form.
+unsupported_feature_signatures=Tài liệu PDF này có chứa chữ ký điện tử. Xác thực chữ ký không được hỗ trợ.
+open_with_different_viewer=Mở bằng chương trình khác
+open_with_different_viewer.accessKey=o
diff --git a/l10n-vi/browser/pdfviewer/viewer.properties b/l10n-vi/browser/pdfviewer/viewer.properties
new file mode 100644
index 0000000000..c817e7fb3c
--- /dev/null
+++ b/l10n-vi/browser/pdfviewer/viewer.properties
@@ -0,0 +1,302 @@
+# Copyright 2012 Mozilla Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Main toolbar buttons (tooltips and alt text for images)
+previous.title=Trang trước
+previous_label=Trước
+next.title=Trang Sau
+next_label=Tiếp
+
+# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
+page.title=Trang
+# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
+# representing the total number of pages in the document.
+of_pages=trên {{pagesCount}}
+# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
+# will be replaced by a number representing the currently visible page,
+# respectively a number representing the total number of pages in the document.
+page_of_pages=({{pageNumber}} trên {{pagesCount}})
+
+zoom_out.title=Thu nhỏ
+zoom_out_label=Thu nhỏ
+zoom_in.title=Phóng to
+zoom_in_label=Phóng to
+zoom.title=Thu phóng
+presentation_mode.title=Chuyển sang chế độ trình chiếu
+presentation_mode_label=Chế độ trình chiếu
+open_file.title=Mở tập tin
+open_file_label=Mở tập tin
+print.title=In
+print_label=In
+save.title=Lưu
+save_label=Lưu
+# LOCALIZATION NOTE (download_button.title): used in Firefox for Android as a tooltip for the download button (“download” is a verb).
+download_button.title=Tải xuống
+# LOCALIZATION NOTE (download_button_label): 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.
+download_button_label=Tải xuống
+bookmark1.title=Trang hiện tại (xem URL từ trang hiện tại)
+bookmark1_label=Trang hiện tại
+# LOCALIZATION NOTE (open_in_app.title): This string is used in Firefox for Android.
+open_in_app.title=Mở trong ứng dụng
+# LOCALIZATION NOTE (open_in_app_label): This string is used in Firefox for Android. Length of the translation matters since we are in a mobile context, with limited screen estate.
+open_in_app_label=Mở trong ứng dụng
+
+# Secondary toolbar and context menu
+tools.title=Công cụ
+tools_label=Công cụ
+first_page.title=Về trang đầu
+first_page_label=Về trang đầu
+last_page.title=Đến trang cuối
+last_page_label=Đến trang cuối
+page_rotate_cw.title=Xoay theo chiều kim đồng hồ
+page_rotate_cw_label=Xoay theo chiều kim đồng hồ
+page_rotate_ccw.title=Xoay ngược chiều kim đồng hồ
+page_rotate_ccw_label=Xoay ngược chiều kim đồng hồ
+
+cursor_text_select_tool.title=Kích hoạt công cụ chọn vùng văn bản
+cursor_text_select_tool_label=Công cụ chọn vùng văn bản
+cursor_hand_tool.title=Kích hoạt công cụ con trỏ
+cursor_hand_tool_label=Công cụ con trỏ
+
+scroll_page.title=Sử dụng cuộn trang hiện tại
+scroll_page_label=Cuộn trang hiện tại
+scroll_vertical.title=Sử dụng cuộn dọc
+scroll_vertical_label=Cuộn dọc
+scroll_horizontal.title=Sử dụng cuộn ngang
+scroll_horizontal_label=Cuộn ngang
+scroll_wrapped.title=Sử dụng cuộn ngắt dòng
+scroll_wrapped_label=Cuộn ngắt dòng
+
+spread_none.title=Không nối rộng trang
+spread_none_label=Không có phân cách
+spread_odd.title=Nối trang bài bắt đầu với các trang được đánh số lẻ
+spread_odd_label=Phân cách theo số lẻ
+spread_even.title=Nối trang bài bắt đầu với các trang được đánh số chẵn
+spread_even_label=Phân cách theo số chẵn
+
+# Document properties dialog box
+document_properties.title=Thuộc tính của tài liệu…
+document_properties_label=Thuộc tính của tài liệu…
+document_properties_file_name=Tên tập tin:
+document_properties_file_size=Kích thước:
+# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
+# will be replaced by the PDF file size in kilobytes, respectively in bytes.
+document_properties_kb={{size_kb}} KB ({{size_b}} byte)
+# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
+# will be replaced by the PDF file size in megabytes, respectively in bytes.
+document_properties_mb={{size_mb}} MB ({{size_b}} byte)
+document_properties_title=Tiêu đề:
+document_properties_author=Tác giả:
+document_properties_subject=Chủ đề:
+document_properties_keywords=Từ khóa:
+document_properties_creation_date=Ngày tạo:
+document_properties_modification_date=Ngày sửa đổi:
+# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
+# will be replaced by the creation/modification date, and time, of the PDF file.
+document_properties_date_string={{date}}, {{time}}
+document_properties_creator=Người tạo:
+document_properties_producer=Phần mềm tạo PDF:
+document_properties_version=Phiên bản PDF:
+document_properties_page_count=Tổng số trang:
+document_properties_page_size=Kích thước trang:
+document_properties_page_size_unit_inches=in
+document_properties_page_size_unit_millimeters=mm
+document_properties_page_size_orientation_portrait=khổ dọc
+document_properties_page_size_orientation_landscape=khổ ngang
+document_properties_page_size_name_a3=A3
+document_properties_page_size_name_a4=A4
+document_properties_page_size_name_letter=Thư
+document_properties_page_size_name_legal=Pháp lý
+# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
+# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
+# the size, respectively their unit of measurement and orientation, of the (current) page.
+document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
+# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
+# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
+# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
+document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
+# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
+# the document; usually called "Fast Web View" in English locales of Adobe software.
+document_properties_linearized=Xem nhanh trên web:
+document_properties_linearized_yes=Có
+document_properties_linearized_no=Không
+document_properties_close=Ðóng
+
+print_progress_message=Chuẩn bị trang để in…
+# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
+# a numerical per cent value.
+print_progress_percent={{progress}}%
+print_progress_close=Hủy bỏ
+
+# Tooltips and alt text for side panel toolbar buttons
+# (the _label strings are alt text for the buttons, the .title strings are
+# tooltips)
+toggle_sidebar.title=Bật/Tắt thanh lề
+toggle_sidebar_notification2.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)
+toggle_sidebar_label=Bật/Tắt thanh lề
+document_outline.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)
+document_outline_label=Bản phác tài liệu
+attachments.title=Hiện nội dung đính kèm
+attachments_label=Nội dung đính kèm
+layers.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)
+layers_label=Lớp
+thumbs.title=Hiển thị ảnh thu nhỏ
+thumbs_label=Ảnh thu nhỏ
+current_outline_item.title=Tìm mục phác thảo hiện tại
+current_outline_item_label=Mục phác thảo hiện tại
+findbar.title=Tìm trong tài liệu
+findbar_label=Tìm
+
+additional_layers=Các lớp bổ sung
+# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
+page_landmark=Trang {{page}}
+# Thumbnails panel item (tooltip and alt text for images)
+# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
+# number.
+thumb_page_title=Trang {{page}}
+# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
+# number.
+thumb_page_canvas=Ảnh thu nhỏ của trang {{page}}
+
+# Find panel button title and messages
+find_input.title=Tìm
+find_input.placeholder=Tìm trong tài liệu…
+find_previous.title=Tìm cụm từ ở phần trước
+find_previous_label=Trước
+find_next.title=Tìm cụm từ ở phần sau
+find_next_label=Tiếp
+find_highlight=Tô sáng tất cả
+find_match_case_label=Phân biệt hoa, thường
+find_match_diacritics_label=Khớp dấu phụ
+find_entire_word_label=Toàn bộ từ
+find_reached_top=Đã đến phần đầu tài liệu, quay trở lại từ cuối
+find_reached_bottom=Đã đến phần cuối của tài liệu, quay trở lại từ đầu
+# LOCALIZATION NOTE (find_match_count): The supported plural forms are
+# [one|two|few|many|other], with [other] as the default value.
+# "{{current}}" and "{{total}}" will be replaced by a number representing the
+# index of the currently active find result, respectively a number representing
+# the total number of matches in the document.
+find_match_count={[ plural(total) ]}
+find_match_count[one]={{current}} của {{total}} đã trùng
+find_match_count[two]={{current}} của {{total}} đã trùng
+find_match_count[few]={{current}} của {{total}} đã trùng
+find_match_count[many]={{current}} của {{total}} đã trùng
+find_match_count[other]={{current}} của {{total}} đã trùng
+# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
+# [zero|one|two|few|many|other], with [other] as the default value.
+# "{{limit}}" will be replaced by a numerical value.
+find_match_count_limit={[ plural(limit) ]}
+find_match_count_limit[zero]=Nhiều hơn {{limit}} đã trùng
+find_match_count_limit[one]=Nhiều hơn {{limit}} đã trùng
+find_match_count_limit[two]=Nhiều hơn {{limit}} đã trùng
+find_match_count_limit[few]=Nhiều hơn {{limit}} đã trùng
+find_match_count_limit[many]=Nhiều hơn {{limit}} đã trùng
+find_match_count_limit[other]=Nhiều hơn {{limit}} đã trùng
+find_not_found=Không tìm thấy cụm từ này
+
+# Predefined zoom values
+page_scale_width=Vừa chiều rộng
+page_scale_fit=Vừa chiều cao
+page_scale_auto=Tự động chọn kích thước
+page_scale_actual=Kích thước thực
+# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
+# numerical scale value.
+page_scale_percent={{scale}}%
+
+# Loading indicator messages
+loading_error=Lỗi khi tải tài liệu PDF.
+invalid_file_error=Tập tin PDF hỏng hoặc không hợp lệ.
+missing_file_error=Thiếu tập tin PDF.
+unexpected_response_error=Máy chủ có phản hồi lạ.
+rendering_error=Lỗi khi hiển thị trang.
+
+# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
+# replaced by the modification date, and time, of the annotation.
+annotation_date_string={{date}}, {{time}}
+
+# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
+# "{{type}}" will be replaced with 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"
+text_annotation_type.alt=[{{type}} Chú thích]
+password_label=Nhập mật khẩu để mở tập tin PDF này.
+password_invalid=Mật khẩu không đúng. Vui lòng thử lại.
+password_ok=OK
+password_cancel=Hủy bỏ
+
+printing_not_supported=Cảnh báo: In ấn không được hỗ trợ đầy đủ ở trình duyệt này.
+printing_not_ready=Cảnh báo: PDF chưa được tải hết để in.
+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.
+
+# Editor
+editor_free_text2.title=Văn bản
+editor_free_text2_label=Văn bản
+editor_ink2.title=Vẽ
+editor_ink2_label=Vẽ
+
+editor_stamp1.title=Thêm hoặc chỉnh sửa hình ảnh
+editor_stamp1_label=Thêm hoặc chỉnh sửa hình ảnh
+
+free_text2_default_content=Bắt đầu nhập…
+
+# Editor Parameters
+editor_free_text_color=Màu
+editor_free_text_size=Kích cỡ
+editor_ink_color=Màu
+editor_ink_thickness=Độ dày
+editor_ink_opacity=Độ mờ
+
+editor_stamp_add_image_label=Thêm hình ảnh
+editor_stamp_add_image.title=Thêm hình ảnh
+
+# Editor aria
+editor_free_text2_aria_label=Trình sửa văn bản
+editor_ink2_aria_label=Trình sửa nét vẽ
+editor_ink_canvas_aria_label=Hình ảnh do người dùng tạo
+
+# Alt-text dialog
+# LOCALIZATION NOTE (editor_alt_text_button_label): Alternative text (alt text) helps
+# when people can't see the image.
+editor_alt_text_button_label=Văn bản thay thế
+editor_alt_text_edit_button_label=Chỉnh sửa văn bản thay thế
+editor_alt_text_dialog_label=Chọn một lựa chọn
+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.
+editor_alt_text_add_description_label=Thêm một mô tả
+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.
+editor_alt_text_mark_decorative_label=Đánh dấu là trang trí
+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.
+editor_alt_text_cancel_button=Hủy bỏ
+editor_alt_text_save_button=Lưu
+editor_alt_text_decorative_tooltip=Đã đánh dấu là trang trí
+# This is a placeholder for the alt text input area
+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
+# LOCALIZATION NOTE (editor_resizer_label_topLeft): This is used in an aria label to help to understand the role of the resizer.
+editor_resizer_label_topLeft=Trên cùng bên trái — thay đổi kích thước
+# LOCALIZATION NOTE (editor_resizer_label_topMiddle): This is used in an aria label to help to understand the role of the resizer.
+editor_resizer_label_topMiddle=Trên cùng ở giữa — thay đổi kích thước
+# LOCALIZATION NOTE (editor_resizer_label_topRight): This is used in an aria label to help to understand the role of the resizer.
+editor_resizer_label_topRight=Trên cùng bên phải — thay đổi kích thước
+# LOCALIZATION NOTE (editor_resizer_label_middleRight): This is used in an aria label to help to understand the role of the resizer.
+editor_resizer_label_middleRight=Ở giữa bên phải — thay đổi kích thước
+# LOCALIZATION NOTE (editor_resizer_label_bottomRight): This is used in an aria label to help to understand the role of the resizer.
+editor_resizer_label_bottomRight=Dưới cùng bên phải — thay đổi kích thước
+# LOCALIZATION NOTE (editor_resizer_label_bottomMiddle): This is used in an aria label to help to understand the role of the resizer.
+editor_resizer_label_bottomMiddle=Ở giữa dưới cùng — thay đổi kích thước
+# LOCALIZATION NOTE (editor_resizer_label_bottomLeft): This is used in an aria label to help to understand the role of the resizer.
+editor_resizer_label_bottomLeft=Góc dưới bên trái — thay đổi kích thước
+# LOCALIZATION NOTE (editor_resizer_label_middleLeft): This is used in an aria label to help to understand the role of the resizer.
+editor_resizer_label_middleLeft=Ở giữa bên trái — thay đổi kích thước
diff --git a/l10n-vi/browser/updater/updater.ini b/l10n-vi/browser/updater/updater.ini
new file mode 100644
index 0000000000..d9f5eb4309
--- /dev/null
+++ b/l10n-vi/browser/updater/updater.ini
@@ -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/.
+
+# This file is in the UTF-8 encoding
+[Strings]
+TitleText=Cập nhật %MOZ_APP_DISPLAYNAME%
+InfoText=%MOZ_APP_DISPLAYNAME% đang cài đặt cập nhật cho bạn và sẽ khởi động sau giây lát…
+MozillaMaintenanceDescription=Dịch vụ bảo trì của Mozilla đảm bảo rằng bạn luôn có phiên bản Mozilla Firefox mới nhất và an toàn nhất. Giữ Firefox luôn được cập nhật sẽ giúp bạn an toàn. Mozilla khuyên bạn nên kích hoạt dịch vụ này.
diff --git a/l10n-vi/devtools/client/aboutdebugging.ftl b/l10n-vi/devtools/client/aboutdebugging.ftl
new file mode 100644
index 0000000000..43a8da1053
--- /dev/null
+++ b/l10n-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/l10n-vi/devtools/client/accessibility.ftl b/l10n-vi/devtools/client/accessibility.ftl
new file mode 100644
index 0000000000..df846f7064
--- /dev/null
+++ b/l10n-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/l10n-vi/devtools/client/accessibility.properties b/l10n-vi/devtools/client/accessibility.properties
new file mode 100644
index 0000000000..dc749b3887
--- /dev/null
+++ b/l10n-vi/devtools/client/accessibility.properties
@@ -0,0 +1,313 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Accessibility panel
+# which is available from the Web Developer sub-menu -> 'Accessibility'.
+# 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.
+
+# LOCALIZATION NOTE These strings are used inside the Accessibility panel
+# which is in the Developer Tools, available in the
+# Browser Tools sub-menu -> 'Web Developer Tools'
+#
+# 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.
+
+# LOCALIZATION NOTE (accessibility.role): A title text used for Accessibility
+# tree header column that represents accessible element role.
+accessibility.role=Vai trò
+
+# LOCALIZATION NOTE (accessibility.name): A title text used for Accessibility
+# tree header column that represents accessible element name.
+accessibility.name=Tên
+
+# LOCALIZATION NOTE (accessibility.logo): A title text used for Accessibility
+# logo used on the accessibility panel landing page.
+accessibility.logo=Logo trợ năng
+
+# LOCALIZATION NOTE (accessibility.properties): A title text used for header
+# for Accessibility details sidebar.
+accessibility.properties=Thuộc tính
+
+# LOCALIZATION NOTE (accessibility.treeName): A title text used for
+# Accessibility tree (that represents accessible element name) container.
+accessibility.treeName=Cây tiếp cận
+
+# LOCALIZATION NOTE (accessibility.accessible.selectElement.title): A title text
+# displayed on buttons next to accessible elements in the `relations` section, allowing the
+# user to select the element in the accessibility tree.
+
+# LOCALIZATION NOTE (accessibility.accessible.selectNodeInInspector.title): A title text
+# displayed on buttons next to nodes in the sidebar, allowing the user to select the node
+# in the Inspector panel.
+accessibility.accessible.selectNodeInInspector.title=Nhấn để chọn node trong trình kiểm tra
+
+# LOCALIZATION NOTE (accessibility.accessible.notAvailable): A title text
+# displayed when accessible sidebar panel does not have an accessible object to
+# display.
+accessibility.accessible.notAvailable=Thông tin có thể truy cập hiện không có sẵn
+
+# LOCALIZATION NOTE (accessibility.enable): A title text for Enable
+# accessibility button used to enable accessibility service.
+accessibility.enable=Bật tính năng trợ năng
+
+# LOCALIZATION NOTE (accessibility.enabling): A title text for Enable
+# accessibility button used when accessibility service is being enabled.
+accessibility.enabling=Đang bật tính năng trợ năng…
+
+# LOCALIZATION NOTE (accessibility.disable): A title text for Disable
+# accessibility button used to disable accessibility service.
+accessibility.disable=Tắt tính năng trợ năng
+
+# LOCALIZATION NOTE (accessibility.disabling): A title text for Disable
+# accessibility button used when accessibility service is being
+# disabled.
+accessibility.disabling=Đang tắt tính năng trợ năng…
+
+# LOCALIZATION NOTE (accessibility.pick): A title text for Picker button
+# button used to pick accessible objects from the page.
+accessibility.pick=Chọn đối tượng có thể truy cập từ trang
+
+# LOCALIZATION NOTE (accessibility.disable.disabledTitle): A title text used for
+# a tooltip for Disable accessibility button when accessibility service can not
+# be disabled. It is the case when a user is using a 3rd party accessibility
+# tool such as screen reader.
+accessibility.disable.disabledTitle=Không thể tắt dịch vụ trợ năng. Nó được sử dụng bên ngoài công cụ nhà phát triển.
+
+# LOCALIZATION NOTE (accessibility.disable.enabledTitle): A title text used for
+# a tooltip for Disable accessibility button when accessibility service can be
+# disabled.
+accessibility.disable.enabledTitle=Dịch vụ trợ năng sẽ được tắt cho tất cả các thẻ và cửa sổ.
+
+# LOCALIZATION NOTE (accessibility.enable.disabledTitle): A title text used for
+# a tooltip for Enabled accessibility button when accessibility service can not
+# be enabled.
+accessibility.enable.disabledTitle=Dịch vụ truy cập không thể được bật. Nó được tắt thông qua ưu tiên bảo mật dịch vụ tiếp cận.
+
+# LOCALIZATION NOTE (accessibility.enable.enabledTitle): A title text used for
+# a tooltip for Enabled accessibility button when accessibility service can be
+# enabled.
+accessibility.enable.enabledTitle=Dịch vụ trợ năng sẽ được bật cho tất cả các thẻ và cửa sổ.
+
+# LOCALIZATION NOTE (accessibility.learnMore): A text that is used as is or as textual
+# description in places that link to accessibility inspector documentation.
+accessibility.learnMore=Tìm hiểu thêm
+
+# LOCALIZATION NOTE (accessibility.description.general.p1): A title text for the first
+# paragraph, used when accessibility service description is provided before accessibility
+# inspector is enabled. %S in the content will be replaced by a link at run time
+# with the accessibility.learnMore string.
+accessibility.description.general.p1=Trình kiểm tra khả năng truy cập cho phép bạn kiểm tra cây khả năng truy cập trang hiện tại, được sử dụng bởi trình đọc màn hình và các công nghệ hỗ trợ khác. %S
+
+# LOCALIZATION NOTE (accessibility.description.general.p2): A title text for the second
+# paragraph, used when accessibility service description is provided before accessibility
+# inspector is enabled.
+accessibility.description.general.p2=Các tính năng trợ năng có thể ảnh hưởng đến hiệu suất của các bảng công cụ nhà phát triển khác và nên được tắt khi không sử dụng.
+
+# LOCALIZATION NOTE (accessibility.tree.menu.printToJSON): A title text used when a
+# context menu item for printing an accessible tree to JSON is rendered after triggering a
+# context menu for an accessible tree row.
+accessibility.tree.menu.printToJSON=In bằng JSON
+
+# LOCALIZATION NOTE (accessibility.checks): A title text used for header for checks
+# section in Accessibility details sidebar.
+accessibility.checks=Kiểm tra
+
+# LOCALIZATION NOTE (accessibility.checks.empty2): A title text used for indicating that
+# accessibility checks for a node yielded no results and another node should be
+# selected.
+accessibility.checks.empty2=Không kiểm tra nút này.
+
+# LOCALIZATION NOTE (accessibility.contrast.header): A title text used for header for
+# checks related to color and contrast.
+accessibility.contrast.header=Màu sắc và độ tương phản
+
+# LOCALIZATION NOTE (accessibility.contrast.error): A title text for the color
+# contrast ratio, used when the tool is unable to calculate the contrast ratio value.
+accessibility.contrast.error=Không thể tính toán
+
+# LOCALIZATION NOTE (accessibility.contrast.large.text): A title text for the color
+# contrast ratio label indicating that the color contrast criteria used is if for large
+# text. This is lower case because it's used as a label for a tree item in accessibility
+# tree.
+accessibility.contrast.large.text=văn bản lớn
+
+# LOCALIZATION NOTE (accessibility.contrast.large.title): A title text for the tooltip
+# used for the large text label (see accessibility.contrast.large.text).
+accessibility.contrast.large.title=Văn bản là 14 điểm và đậm hoặc lớn hơn, hoặc 18 điểm hoặc lớn hơn.
+
+# LOCALIZATION NOTE (accessibility.contrast.annotation.AA): A title text for the paragraph
+# describing that the given colour contrast satisfies AA standard from Web Content
+# Accessibility Guidelines. %S in the content will be replaced by a link at run time
+# with the accessibility.learnMore string.
+accessibility.contrast.annotation.AA=Đạt tiêu chuẩn WCAG AA cho văn bản có thể truy cập. %S
+
+# LOCALIZATION NOTE (accessibility.contrast.annotation.AAA): A title text for the
+# paragraph describing that the given colour contrast satisfies AAA standard from Web
+# Content Accessibility Guidelines. %S in the content will be replaced by a link at run
+# time with the accessibility.learnMore string.
+accessibility.contrast.annotation.AAA=Đạt tiêu chuẩn WCAG AAA cho văn bản có thể truy cập. %S
+
+# LOCALIZATION NOTE (accessibility.contrast.annotation.FAIL): A title text for the
+# paragraph describing that the given colour contrast fails to meet the minimum level from
+# Web Content Accessibility Guidelines. %S in the content will be replaced by a link at
+# run time with the accessibility.learnMore string.
+accessibility.contrast.annotation.FAIL=Không đạt tiêu chuẩn WCAG cho văn bản có thể truy cập. %S
+
+# LOCALIZATION NOTE (accessibility.contrast.annotation.transparent.error): A title text for the
+# paragraph suggesting a fix for error in color contrast calculation for text nodes with zero alpha.
+accessibility.contrast.annotation.transparent.error=Chọn một màu không trong suốt.
+
+# LOCALIZATION NOTE (accessibility.badges): A title text for the group of badges
+# that are rendered for each accessible row within the accessibility tree when
+# one or more accessibility checks fail.
+accessibility.badges=Kiểm tra khả năng tiếp cận
+
+# LOCALIZATION NOTE (accessibility.filter.none): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# resets all filtering in tree, and for the simulation menu item that resets
+# applied color matrices to the default matrix.
+accessibility.filter.none=Không
+
+# LOCALIZATION NOTE (accessibility.filter.all2): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# filters the tree based on all accessibility failures within it.
+accessibility.filter.all2=Tất cả vấn đề
+
+# LOCALIZATION NOTE (accessibility.filter.contrast): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# filters the tree based on contrast accessibility failures within it.
+accessibility.filter.contrast=Tương phản
+
+# LOCALIZATION NOTE (accessibility.filter.textLabel): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# filters the tree based on text label and name accessibility failures within it.
+accessibility.filter.textLabel=Nhãn văn bản
+
+# LOCALIZATION NOTE (accessibility.filter.keyboard): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# filters the tree based on keyboard accessibility failures within it.
+accessibility.filter.keyboard=Bàn phím
+
+# LOCALIZATION NOTE (accessibility.badge.contrast): A title text for the badge
+# that is rendered within the accessible row in the accessibility tree for a
+# given accessible object that does not satisfy the WCAG guideline for colour
+# contrast.
+accessibility.badge.contrast=độ tương phản
+
+# LOCALIZATION NOTE (accessibility.badge.contrast.warning): A label for the
+# badge and attached warning icon that is rendered within the accessible row in
+# the accessibility tree for a given accessible object that does not satisfy the
+# WCAG guideline for colour contrast.
+accessibility.badge.contrast.warning=cảnh báo tương phản
+
+# LOCALIZATION NOTE (accessibility.badge.keyboard): A title text for the
+# badge that is rendered within the accessible row in the accessibility tree for
+# a given accessible object that does not satisfy the WCAG guideline for
+# keyboard accessibility.
+accessibility.badge.keyboard=bàn phím
+
+# LOCALIZATION NOTE (accessibility.badge.textLabel): A title text for the
+# badge that is rendered within the accessible row in the accessibility tree for
+# a given accessible object that does not satisfy the WCAG guideline for text
+# alternative.
+accessibility.badge.textLabel=nhãn văn bản
+
+# LOCALIZATION NOTE (accessibility.badge.contrast.tooltip): A title text for the
+# badge tooltip that is rendered on mouse hover over the badge in the accessible
+# row in the accessibility tree for a given accessible object that does not
+# satisfy the WCAG guideline for colour contrast.
+accessibility.badge.contrast.tooltip=Không đạt tiêu chuẩn WCAG cho văn bản có thể truy cập.
+
+# LOCALIZATION NOTE (accessibility.badge.keyboard.tooltip): A title text
+# for the badge tooltip that is rendered on mouse hover over the badge in the
+# accessible row in the accessibility tree for a given accessible object that
+# does not satisfy the WCAG guideline for keyboard accessibility.
+accessibility.badge.keyboard.tooltip=Không đáp ứng các tiêu chuẩn WCAG cho khả năng truy cập bàn phím.
+
+# LOCALIZATION NOTE (accessibility.badge.textLabel.tooltip): A title text
+# for the badge tooltip that is rendered on mouse hover over the badge in the
+# accessible row in the accessibility tree for a given accessible object that
+# does not satisfy the WCAG guideline for text alternative.
+accessibility.badge.textLabel.tooltip=Không đạt tiêu chuẩn WCAG đối với văn bản thay thế.
+
+# LOCALIZATION NOTE (accessibility.tree.filters): A title text for the toolbar
+# within the main accessibility panel that contains a list of filters to be for
+# accessibility audit.
+accessibility.tree.filters=Kiểm tra các vấn đề:
+
+# LOCALIZATION NOTE (accessibility.tree.filters.prefs): A title text for the
+# preferences button tooltip that contains preferences for accessibility audit.
+accessibility.tree.filters.prefs=Cấu hình tùy chỉnh
+
+# LOCALIZATION NOTE (accessibility.progress.initializing): A title text for the
+# accessibility panel overlay shown when accessibility audit is starting up.
+accessibility.progress.initializing=Đang khởi tạo…
+
+# LOCALIZATION NOTE (accessibility.progress.initializing): A title text for the
+# accessibility panel overlay shown when accessibility audit is running showing
+# the number of nodes being audited. Semi-colon list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+accessibility.progress.progressbar=Đang kiểm tra #1 node
+
+# LOCALIZATION NOTE (accessibility.progress.finishing): A title text for the
+# accessibility panel overlay shown when accessibility audit is finishing up.
+accessibility.progress.finishing=Kết thúc lên...
+
+# LOCALIZATION NOTE (accessibility.pref.scroll.into.view.title): A title
+# text for the tooltip for the checkbox pref in the accessibility panel that
+# sets node auto scroll.
+accessibility.pref.scroll.into.view.title=Tự động cuộn nút đã chọn vào chế độ xem
+
+# LOCALIZATION NOTE (accessibility.pref.scroll.into.view.label): A title
+# text for the checkbox pref in the accessibility panel that sets node auto
+# scroll.
+accessibility.pref.scroll.into.view.label=Cuộn đến vị trí có thể xem
+
+# LOCALIZATION NOTE (accessibility.documentation.label): This is the label for
+# the Documentation menu item.
+accessibility.documentation.label=Tài liệu…
+
+# LOCALIZATION NOTE (accessibility.simulation): A title text for the toolbar
+# within the main accessibility panel that contains a list of simulations for
+# vision deficiencies.
+accessibility.simulation=Mô phỏng:
+
+# LOCALIZATION NOTE (accessibility.simulation.protanopia): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the protanopia simulation option.
+accessibility.simulation.protanopia=Protanopia (mù màu đỏ)
+
+# LOCALIZATION NOTE (accessibility.simulation.deuteranopia): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the deuteranopia simulation option.
+accessibility.simulation.deuteranopia=Deuteranopia (mù màu xanh lá)
+
+# LOCALIZATION NOTE (accessibility.simulation.tritanopia): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the tritanopia simulation option.
+accessibility.simulation.tritanopia=Tritanopia (mù màu xanh dương)
+
+# LOCALIZATION NOTE (accessibility.simulation.contrastLoss): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the contrast loss simulation option.
+# It is also shown in the simulation menu button in the accessibility panel and represent the
+# contrast loss simulation option currently selected.
+accessibility.simulation.contrastLoss=Mất tương phản
+
+# LOCALIZATION NOTE (accessibility.simulation.achromatopsia): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the achromatopsia simulation option.
+accessibility.simulation.achromatopsia=Achromatopsia (mù đơn sắc)
+
+# LOCALIZATION NOTE (accessibility.toolbar.displayTabbingOrder.label): A title text for a checkbox label
+# in the accessibility panel toolbar that turns on/off the overlay of focusable elements in their
+# tabbing order.
+accessibility.toolbar.displayTabbingOrder.label=Hiển thị thứ tự thẻ
+
+# LOCALIZATION NOTE (accessibility.toolbar.displayTabbingOrder.tooltip): A title text for a checkbox
+# tooltip in the accessibility panel toolbar that turns on/off the overlay of focusable elements in
+# their tabbing order.
+accessibility.toolbar.displayTabbingOrder.tooltip=Hiển thị thứ tự thẻ của các phần tử và chỉ số thẻ của chúng.
diff --git a/l10n-vi/devtools/client/animationinspector.properties b/l10n-vi/devtools/client/animationinspector.properties
new file mode 100644
index 0000000000..40a901443f
--- /dev/null
+++ b/l10n-vi/devtools/client/animationinspector.properties
@@ -0,0 +1,182 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Animation inspector
+# which is available as a sidebar panel in the Inspector.
+# 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.
+
+# LOCALIZATION NOTE (panel.noAnimation):
+# This is the label shown in the panel when there are no displayable animations.
+# (e.g. In case of user selected a non-element node or a node that is not animated).
+panel.noAnimation=Không tìm thấy hoạt hình nào cho phần tử hiện tại.\nNhấp một phần tử khác từ trang.
+
+# LOCALIZATION NOTE (player.animationDurationLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation duration.
+player.animationDurationLabel=Thời gian:
+
+# LOCALIZATION NOTE (player.infiniteDurationText):
+# This string is displayed in a tooltip on animation player widget, in case the
+# duration of the animation is infinite.
+player.infiniteDurationText=∞
+
+# LOCALIZATION NOTE (player.animationDelayLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation delay.
+player.animationDelayLabel=Độ trễ:
+
+# LOCALIZATION NOTE (player.animationEndDelayLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation endDelay.
+player.animationEndDelayLabel=Kết thúc độ trễ:
+
+# LOCALIZATION NOTE (player.animationRateLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation playback rate.
+player.animationRateLabel=Tỷ lệ phát lại:
+
+# LOCALIZATION NOTE (player.animationIterationCountLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the number of times the animation is set to repeat.
+player.animationIterationCountLabel=Lặp lại:
+
+# LOCALIZATION NOTE (player.infiniteIterationCount):
+# In case the animation repeats infinitely, this string is displayed next to the
+# player.animationIterationCountLabel string, instead of a number.
+player.infiniteIterationCount=&#8734;
+
+# LOCALIZATION NOTE (player.infiniteIterationCountText):
+# See player.infiniteIterationCount for a description of what this is.
+# Unlike player.infiniteIterationCount, this string isn't used in HTML, but in
+# a tooltip.
+player.infiniteIterationCountText=∞
+
+# LOCALIZATION NOTE (player.animationIterationStartLabel2):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the animation
+# iterationStart value.
+# %1$S will be replaced by the original iteration start value
+# %2$S will be replaced by the actual time of iteration start without time unit
+# e.g.
+# If iterationStart of animation is 0.5 and duration is 1 sec, the string will be
+# "Iteration start: 0.5 (0.5s)"
+player.animationIterationStartLabel2=Vòng lặp bắt đầu: %1$S(%2$S)
+
+# LOCALIZATION NOTE (player.animationOverallEasingLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the easing
+# that applies to a whole iteration of an animation as opposed to the
+# easing that applies between animation keyframes.
+player.animationOverallEasingLabel=Nới lỏng tổng thể:
+
+# LOCALIZATION NOTE (player.animationTimingFunctionLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the
+# animation-timing-function for CSS Animations.
+player.animationTimingFunctionLabel=Hàm thời gian hoạt hình:
+
+# LOCALIZATION NOTE (player.animationFillLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the animation
+# fill mode value.
+player.animationFillLabel=Điền:
+
+# LOCALIZATION NOTE (player.animationDirectionLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the animation
+# direction value.
+player.animationDirectionLabel=Hướng:
+
+# LOCALIZATION NOTE (player.timeLabel):
+# This string is displayed in each animation player widget, to indicate either
+# how long (in seconds) the animation lasts, or what is the animation's current
+# time (in seconds too);
+player.timeLabel=%Ss
+
+# LOCALIZATION NOTE (player.infiniteDurationText):
+# This string is displayed in animation player widget, in case the duration of the
+# animation is infinite.
+player.infiniteTimeLabel=∞
+
+# LOCALIZATION NOTE (player.playbackRateLabel):
+# This string is displayed in each animation player widget, as the label of
+# drop-down list items that can be used to change the rate at which the
+# animation runs (1× being the default, 2× being twice as fast).
+player.playbackRateLabel=%S×
+
+# LOCALIZATION NOTE (player.runningOnCompositorTooltip):
+# This string is displayed as a tooltip for the icon that indicates that the
+# animation is running on the compositor thread.
+player.runningOnCompositorTooltip=Hiệu ứng này đang chạy trên chủ đề tổng hợp
+
+# LOCALIZATION NOTE (player.allPropertiesOnCompositorTooltip):
+# This string is displayed as a tooltip for the icon that indicates that
+# all of animation is running on the compositor thread.
+player.allPropertiesOnCompositorTooltip=Tất cả thuộc tính hiệu ứng được tối ưu hóa
+
+# LOCALIZATION NOTE (player.somePropertiesOnCompositorTooltip):
+# This string is displayed as a tooltip for the icon that indicates that
+# all of animation is not running on the compositor thread.
+player.somePropertiesOnCompositorTooltip=Một số thuộc tính hiệu ứng được tối ưu hóa
+
+# LOCALIZATION NOTE (timeline.pausedButtonTooltip):
+# This string is displayed in the timeline toolbar, as the tooltip of the
+# pause/resume button that can be used to pause or resume the animations
+timeline.pausedButtonTooltip=Tiếp tục hiệu ứng
+
+# LOCALIZATION NOTE (timeline.resumedButtonTooltip):
+# This string is displayed in the timeline toolbar, as the tooltip of the
+# pause/resume button that can be used to pause or resume the animations
+timeline.resumedButtonTooltip=Tạm dừng hiệu ứng
+
+# LOCALIZATION NOTE (timeline.rewindButtonTooltip):
+# This string is displayed in the timeline toolbar, as the tooltip of the
+# rewind button that can be used to rewind the animations
+timeline.rewindButtonTooltip=Tua lại hiệu ứng
+
+# LOCALIZATION NOTE (timeline.timeGraduationLabel):
+# This string is displayed at the top of the animation panel, next to each time
+# graduation, to indicate what duration (in milliseconds) this graduation
+# corresponds to.
+timeline.timeGraduationLabel=%Sms
+
+# LOCALIZATION NOTE (timeline.cssanimation.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of a CSS Animation in the timeline UI.
+# %S will be replaced by the name of the animation at run-time.
+timeline.cssanimation.nameLabel=%S - Hiệu ứng CSS
+
+# LOCALIZATION NOTE (timeline.csstransition.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of a CSS Transition in the timeline UI.
+# %S will be replaced by the name of the transition at run-time.
+timeline.csstransition.nameLabel=%S - Chuyển hình CSS
+
+# LOCALIZATION NOTE (timeline.scriptanimation.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of a script-generated animation in the timeline UI.
+# %S will be replaced by the name of the animation at run-time.
+timeline.scriptanimation.nameLabel=%S - Hiệu ứng Script
+
+# LOCALIZATION NOTE (timeline.scriptanimation.unnamedLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over an unnamed script-generated animation in the timeline UI.
+timeline.scriptanimation.unnamedLabel=Đoạn mã hoạt hình
+
+# LOCALIZATION NOTE (timeline.unknown.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of an unknown animation type in the timeline UI.
+# This can happen if devtools couldn't figure out the type of the animation.
+# %S will be replaced by the name of the transition at run-time.
+timeline.unknown.nameLabel=%S
+
+# LOCALIZATION NOTE (detail.propertiesHeader.percentage):
+# This string is displayed on header label in .animated-properties-header.
+# %S represents the value in percentage with two decimal points, localized.
+# there are two "%" after %S to escape and display "%"
+detail.propertiesHeader.percentage=%S%%
diff --git a/l10n-vi/devtools/client/application.ftl b/l10n-vi/devtools/client/application.ftl
new file mode 100644
index 0000000000..dc655af1b1
--- /dev/null
+++ b/l10n-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/l10n-vi/devtools/client/boxmodel.properties b/l10n-vi/devtools/client/boxmodel.properties
new file mode 100644
index 0000000000..4da193a650
--- /dev/null
+++ b/l10n-vi/devtools/client/boxmodel.properties
@@ -0,0 +1,48 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE : FILE This file contains the Layout View strings.
+# The Layout View is a panel displayed in the computed view tab of the Inspector sidebar.
+
+# LOCALIZATION NOTE : FILE 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.
+
+# LOCALIZATION NOTE (boxmodel.title) This is the title of the box model panel and is
+# displayed as a label.
+boxmodel.title=Mô hình hộp
+
+# LOCALIZATION NOTE: (boxmodel.geometryButton.tooltip) This label is displayed as a
+# tooltip that appears when hovering over the button that allows users to edit the
+# position of an element in the page.
+boxmodel.geometryButton.tooltip=Chỉnh sửa vị trí
+
+# LOCALIZATION NOTE: (boxmodel.propertiesLabel) This label is displayed as the header
+# for showing and collapsing the properties underneath the box model in the layout view
+boxmodel.propertiesLabel=Thuộc tính mô hình hộp
+
+# LOCALIZATION NOTE (boxmodel.propertiesHideLabel):
+# This is the spoken label for the twisty.
+# If the properties are currently showing, it will say "Hide".
+boxmodel.propertiesHideLabel=Ẩn
+
+# LOCALIZATION NOTE (boxmodel.propertiesShowLabel):
+# This is the spoken label for the twisty.
+# If the properties are currently hidden, it will say "Show".
+boxmodel.propertiesShowLabel=Hiện
+
+# LOCALIZATION NOTE: (boxmodel.offsetParent) This label is displayed inside the list of
+# properties, below the box model, in the layout view. It is displayed next to the
+# position property, when position is absolute, relative, sticky. This label tells users
+# what the DOM node previewed next to it is: an offset parent for the position element.
+boxmodel.offsetParent=khoảng cách
+
+# LOCALIZATION NOTE: (boxmodel.offsetParent.title) This label is displayed as a
+# tooltip that appears when hovering over the offset label, inside the list of properties,
+# below the box model, in the layout view. This label tells users
+# what the DOM node previewed next to it is: an offset parent for the position element.
+boxmodel.offsetParent.title=Offset cha của phần tử được chọn
+
diff --git a/l10n-vi/devtools/client/changes.properties b/l10n-vi/devtools/client/changes.properties
new file mode 100644
index 0000000000..913f119c58
--- /dev/null
+++ b/l10n-vi/devtools/client/changes.properties
@@ -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/.
+
+# LOCALIZATION NOTE This file contains the strings for the Changes panel accessible from
+# the Inspector sidebar.
+
+# LOCALIZATION NOTE (changes.noChanges): This text is shown when no changes are available.
+changes.noChanges=Không có thay đổi được tìm thấy.
+
+# LOCALIZATION NOTE (changes.noChangesDescription): This text is shown when no changes are
+# available and provides additional context for the purpose of the Changes panel.
+changes.noChangesDescription=Thay đổi CSS trong trình kiểm tra sẽ xuất hiện ở đây.
+
+# LOCALIZATION NOTE (changes.inlineStyleSheetLabel): This label appears in the Changes
+# panel above changes done to inline stylesheets. The variable will be replaced with the
+# index of the stylesheet within its document like so: Inline #1
+changes.inlineStyleSheetLabel=Trong dòng %S
+
+# LOCALIZATION NOTE (changes.elementStyleLabel): This label appears in the Changes
+# panel above changes done to element styles.
+changes.elementStyleLabel=Phần tử
+
+# LOCALIZATION NOTE (changes.iframeLabel): This label appears next to URLs of stylesheets
+# and element inline styles hosted by iframes. Lowercase intentional.
+changes.iframeLabel=iframe
+
+# LOCALIZATION NOTE (changes.contextmenu.copy): Label for "Copy" option in Changes panel
+# context menu
+changes.contextmenu.copy=Sao chép
+
+# LOCALIZATION NOTE (changes.contextmenu.copy.accessKey): Access key for "Copy"
+# option in the Changes panel.
+changes.contextmenu.copy.accessKey=C
+
+# LOCALIZATION NOTE (changes.contextmenu.copyAllChanges): Label for "Copy All Changes"
+# option in Changes panel context menu which copies all changed CSS declarations from a
+# stylesheet
+changes.contextmenu.copyAllChanges=Sao chép tất cả thay đổi
+
+# LOCALIZATION NOTE (changes.contextmenu.copyAllChangesDescription): Detailed explanation
+# for "Copy All Changes" option in Changes panel. Used as title attribute on "Copy All
+# Changes" button
+changes.contextmenu.copyAllChangesDescription=Sao chép danh sách tất cả các thay đổi CSS vào bộ nhớ tạm.
+
+# LOCALIZATION NOTE (changes.contextmenu.copyDeclaration): Label for "Copy Declaration"
+# option in Changes panel context menu which copies the target CSS declaration.
+changes.contextmenu.copyDeclaration=Sao chép khai báo
+
+# LOCALIZATION NOTE (changes.contextmenu.copyRule): Label for "Copy Rule" option in
+# Changes panel context menu which copies the complete contents of a CSS rule.
+changes.contextmenu.copyRule=Sao chép quy tắc
+
+# LOCALIZATION NOTE (changes.contextmenu.copyRuleDescription): Detailed explanation for
+# "Copy Rule" option in Changes panel. Used as title attribute on "Copy Rule" button.
+changes.contextmenu.copyRuleDescription=Sao chép nội dung của quy tắc CSS này vào bộ nhớ tạm.
+
+# LOCALIZATION NOTE (changes.contextmenu.selectAll): Label for "Select All" option in the
+# Changes panel context menu to select all text content.
+changes.contextmenu.selectAll=Chọn tất cả
+
+# LOCALIZATION NOTE (changes.contextmenu.selectAll.accessKey): Access key for "Select All"
+# option in the Changes panel.
+changes.contextmenu.selectAll.accessKey=A
diff --git a/l10n-vi/devtools/client/compatibility.ftl b/l10n-vi/devtools/client/compatibility.ftl
new file mode 100644
index 0000000000..04ecfbfd7c
--- /dev/null
+++ b/l10n-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/l10n-vi/devtools/client/components.properties b/l10n-vi/devtools/client/components.properties
new file mode 100644
index 0000000000..d39100f736
--- /dev/null
+++ b/l10n-vi/devtools/client/components.properties
@@ -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 NOTE These strings are used in the shared React components,
+# so files in `devtools/client/shared/components/*`.
+
+# LOCALIZATION NOTE (frame.unknownSource): When we do not know the source filename of
+# a frame, we use this string instead.
+frame.unknownSource=(không xác định)
+
+# LOCALIZATION NOTE (frame.viewsourceindebugger): The label for the tooltip when hovering over
+# a source link that links to the debugger.
+# %S represents the URL to match in the debugger.
+frame.viewsourceindebugger=Xem nguồn trong trình gỡ lỗi → %S
+
+# LOCALIZATION NOTE (frame.viewsourceinstyleeditor): The label for the tooltip when hovering over
+# a source link that links to the Style Editor.
+# %S represents the URL to match in the style editor.
+frame.viewsourceinstyleeditor=Xem nguồn trong trình chỉnh sửa kiểu mẫu →%S
+
+# LOCALIZATION NOTE (notificationBox.closeTooltip): The content of a tooltip that
+# appears when hovering over the close button in a notification box.
+notificationBox.closeTooltip=Đóng thông báo này
+
+# LOCALIZATION NOTE (appErrorBoundary.description): This is the information displayed
+# once the panel errors.
+# %S represents the name of panel which has the crash.
+appErrorBoundary.description=Bảng %S đã bị đổ vỡ.
+
+# LOCALIZATION NOTE (appErrorBoundary.fileBugButton): This is the text that appears in
+# the button to visit the bug filing link.
+appErrorBoundary.fileBugButton=Báo cáo lỗi
+
+# LOCALIZATION NOTE (appErrorBoundary.reloadPanelInfo): This is the text that appears
+# after the panel errors to instruct the user to reload the panel.
+appErrorBoundary.reloadPanelInfo=Đóng và mở lại hộp công cụ để xóa lỗi này.
+
+# LOCALIZATION NOTE(searchModifier.regExpModifier): A search option
+# when searching text in a file
+searchModifier.regExpModifier=Sử dụng biểu thức chính quy
+
+# LOCALIZATION NOTE(searchModifier.caseSensitiveModifier): A search option
+# when searching text in a file
+searchModifier.caseSensitiveModifier=Phân biệt HOA-thường
+
+# LOCALIZATION NOTE(searchModifier.wholeWordModifier): A search option
+# when searching text in a file
+searchModifier.wholeWordModifier=Khớp cả từ
+
+# LOCALIZATION NOTE (searchBox.clearButtonTitle): The title of the SearchBox clear input
+# button, which is displayed when the input is not empty.
+searchBox.clearButtonTitle=Xoá bộ lọc
+
+# LOCALIZATION NOTE treeNode.collapseButtonTitle): The title of the Tree node toggle
+# button when the node is expanded.
+treeNode.collapseButtonTitle=Thu gọn
+
+# LOCALIZATION NOTE treeNode.expandButtonTitle): The title of the Tree node toggle
+# button when the node is collapsed.
+treeNode.expandButtonTitle=Mở rộng
diff --git a/l10n-vi/devtools/client/debugger.properties b/l10n-vi/devtools/client/debugger.properties
new file mode 100644
index 0000000000..8cd00bee9b
--- /dev/null
+++ b/l10n-vi/devtools/client/debugger.properties
@@ -0,0 +1,1117 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Debugger
+# which is available from the Browser Tools sub-menu -> 'Debugger'.
+# 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.
+
+# LOCALIZATION NOTE (collapseSources): This is the tooltip for the button
+# that collapses the Sources and Outlines panes in the debugger UI.
+collapseSources=Thu gọn ngăn nguồn và phác thảo
+
+# LOCALIZATION NOTE (collapseBreakpoints): This is the tooltip for the button
+# that collapses the Breakpoints panes in the debugger UI.
+collapseBreakpoints=Thu gọn ngăn điểm dừng
+
+# LOCALIZATION NOTE (copyToClipboard.label): This is the text that appears in the
+# context menu to copy the text that the user selected.
+copyToClipboard.label=Sao chép vào khay nhớ tạm
+copyToClipboard.accesskey=C
+
+# LOCALIZATION NOTE (copySource.label): This is the text that appears in the
+# context menu to copy all of the text in the open file.
+copySource.label=Sao chép văn bản nguồn
+copySource.accesskey=y
+
+# LOCALIZATION NOTE (copySourceUri2): This is the text that appears in the
+# context menu to copy the source URI of file open.
+copySourceUri2=Sao chép URI nguồn
+copySourceUri2.accesskey=u
+
+# LOCALIZATION NOTE (collapseAll.label): This is the text that appears in the
+# context menu to collapse a directory and all of its subdirectories.
+collapseAll.label=Thu gọn tất cả
+
+# LOCALIZATION NOTE (expandAll.label): This is the text that appears in the
+# context menu to expand a directory and all of its subdirectories.
+expandAll.label=Mở rộng tất cả
+
+# LOCALIZATION NOTE (setDirectoryRoot.label): This is the text that appears in the
+# context menu to set a directory as root directory
+setDirectoryRoot.label=Đặt thư mục gốc
+setDirectoryRoot.accesskey=r
+
+# LOCALIZATION NOTE (removeDirectoryRoot.label): This is the text that appears in the
+# context menu to remove a directory as root directory
+removeDirectoryRoot.label=Xóa thư mục gốc
+
+# LOCALIZATION NOTE (ignoreAll.label): Text associated with the ignore context menu item
+ignoreAll.label=Bỏ qua
+
+# LOCALIZATION NOTE (ignoreAllInGroup.label): This is the text that appears in the
+# context submenu to ignore all files inside of the selected group
+ignoreAllInGroup.label=Bỏ qua các tập tin trong nhóm này
+
+# LOCALIZATION NOTE (unignoreAllInGroup.label): This is the text that appears in the
+# context submenu to unignore all files inside of the selected group
+unignoreAllInGroup.label=Không bỏ qua các tập tin trong nhóm này
+
+# LOCALIZATION NOTE (ignoreAllOutsideGroup.label): This is the text that appears in the
+# context submenu to ignore all files outside of the selected group
+ignoreAllOutsideGroup.label=Bỏ qua các tập tin ngoài nhóm này
+
+# LOCALIZATION NOTE (unignoreAllOutsideGroup.label): This is the text that appears in the
+# context submenu to unignore all files outside of the selected group
+unignoreAllOutsideGroup.label=Không bỏ qua các tập tin ngoài nhóm này
+
+# LOCALIZATION NOTE (ignoreAllInDir.label): This is the text that appears in the
+# context submenu to ignore all files inside of the selected directory
+ignoreAllInDir.label=Bỏ qua các tập tin trong thư mục này
+
+# LOCALIZATION NOTE (unignoreAllInDir.label): This is the text that appears in the
+# context submenu to unignore all files inside of the selected directory
+unignoreAllInDir.label=Không bỏ qua các tập tin trong thư mục này
+
+# LOCALIZATION NOTE (ignoreAllOutsideDir.label): This is the text that appears in the
+# context submenu to ignore all files outside of the selected directory
+ignoreAllOutsideDir.label=Bỏ qua các tập tin ngoài thư mục này
+
+# LOCALIZATION NOTE (unignoreAllOutsideDir.label: This is the text that appears in the
+# context submenu to unignore all files outside of the selected directory
+unignoreAllOutsideDir.label=Không bỏ qua các tập tin ngoài thư mục này
+
+# LOCALIZATION NOTE (copyFunction.label): This is the text that appears in the
+# context menu to copy the function the user selected
+copyFunction.label=Sao chép hàm
+copyFunction.accesskey=F
+
+# LOCALIZATION NOTE (copyStackTrace): This is the text that appears in the
+# context menu to copy the stack trace methods, file names and row number.
+copyStackTrace=Sao chép stack trace
+copyStackTrace.accesskey=c
+
+# LOCALIZATION NOTE (restartFrame): This is the text that appears in the
+# context menu to restart a frame.
+restartFrame=Khởi động lại khung hình
+restartFrame.accesskey=r
+
+# LOCALIZATION NOTE (expandSources): This is the tooltip for the button
+# that expands the Sources and Outlines panes in the debugger UI.
+expandSources=Mở rộng ngăn nguồn và phác thảo
+
+# LOCALIZATION NOTE (expandBreakpoints): This is the tooltip for the button
+# that expands the Breakpoints panes in the debugger UI.
+expandBreakpoints=Mở rộng ngăn điểm dừng
+
+# LOCALIZATION NOTE (evaluateInConsole.label): Editor right-click menu item
+# to execute selected text in browser console.
+evaluateInConsole.label=Đánh giá trong bảng điều khiển
+
+# LOCALIZATION NOTE (pauseButtonTooltip): The tooltip that is displayed for the pause
+# button when the debugger is in a running state.
+pauseButtonTooltip=Tạm dùng %S
+
+# LOCALIZATION NOTE (pausePendingButtonTooltip): The tooltip that is displayed for
+# the pause button after it's been clicked but before the next JavaScript to run.
+pausePendingButtonTooltip=Chờ việc thực thi tiếp theo
+
+# LOCALIZATION NOTE (startTraceButtonTooltip): The label that is displayed on the trace
+# button in the top of the debugger right sidebar. %S is for the log output location (webconsole or stdout).
+
+# LOCALIZATION NOTE (stopTraceButtonTooltip): The label that is displayed on the trace
+# button in the top of the debugger right sidebar. This label is only displayed when we are current tracing
+# JavaScript.
+
+# LOCALIZATION NOTE (startTraceButtonTooltip): The label that is displayed on the trace
+# button in the top of the debugger right sidebar.
+# %1$S is for the key shortcut
+# %2$S is for the log output location (webconsole or stdout).
+
+# LOCALIZATION NOTE (stopTraceButtonTooltip): The label that is displayed on the trace
+# button in the top of the debugger right sidebar. This label is only displayed when we are current tracing
+# JavaScript.
+# %S is for the key shortcut
+
+# LOCALIZATION NOTE (traceInWebConsole): The label that is displayed in the context menu
+# of the trace button, which is in the top of the debugger right sidebar.
+# This is used to force logging JavaScript traces in the Web Console.
+
+# LOCALIZATION NOTE (traceInWebConsole): The label that is displayed in the context menu
+# of the trace button, which is in the top of the debugger right sidebar.
+# This is used to force logging JavaScript traces in the stdout.
+
+# LOCALIZATION NOTE (traceValues): The label that is displayed in the context menu
+# of the trace button, which is in the top of the debugger right sidebar.
+# This is used to enable logging arguments passed to function calls
+# as well as returned values (only for JS function calls, but not native function calls)
+
+# LOCALIZATION NOTE (traceOnNextLoad): The label that is displayed in the context menu
+# of the trace button, which is in the top of the debugger right sidebar.
+# This is used to automatically start the tracing on next user interaction (mousedown/keydown)
+traceOnNextInteraction=Chỉ theo dõi lần tương tác tiếp theo của người dùng (mousedown/keydown)
+
+# LOCALIZATION NOTE (resumeButtonTooltip): The label that is displayed on the pause
+# button when the debugger is in a paused state.
+resumeButtonTooltip=Tiếp tục %S
+
+# LOCALIZATION NOTE (stepOverTooltip): The label that is displayed on the
+# button that steps over a function call.
+stepOverTooltip=Bước qua %S
+
+# LOCALIZATION NOTE (stepInTooltip): The label that is displayed on the
+# button that steps into a function call.
+stepInTooltip=Bước vào %S
+
+# LOCALIZATION NOTE (stepOutTooltip): The label that is displayed on the
+# button that steps out of a function call.
+stepOutTooltip=Bước ra %S
+
+# LOCALIZATION NOTE (skipPausingTooltip.label): The tooltip text for disabling all
+# breakpoints and pausing triggers
+skipPausingTooltip.label=Vô hiệu hóa điểm dừng
+
+# LOCALIZATION NOTE (undoSkipPausingTooltip.label): The tooltip text for enabling all
+# breakpoints and pausing triggers
+undoSkipPausingTooltip.label=Kích hoạt tất cả các điểm dừng
+
+# LOCALIZATION NOTE (pauseOnDebuggerStatement): The pause on debugger statement checkbox label
+
+# LOCALIZATION NOTE (pauseOnExceptionsItem2): The pause on exceptions checkbox description
+# when the debugger will pause on all exceptions.
+pauseOnExceptionsItem2=Tạm dừng ở ngoại lệ
+
+# LOCALIZATION NOTE (pauseOnCaughtExceptionsItem): The pause on exceptions checkbox description
+# when the debugger should pause on caught exceptions
+pauseOnCaughtExceptionsItem=Tạm dừng việc bắt các ngoại lệ
+
+# LOCALIZATION NOTE (threadsHeader): The text to describe the threads header
+threadsHeader=Luồng
+
+# LOCALIZATION NOTE (mainThread): The text to describe the thread of the
+# program as opposed to worker threads.
+mainThread=Luồng chính
+
+# LOCALIZATION NOTE (pausedThread): The text to describe the status of paused threads
+
+# LOCALIZATION NOTE (noSourcesText): The text to display in the sources list
+# when there are no sources.
+noSourcesText=Trang này không có nguồn.
+
+# LOCALIZATION NOTE (ignoredSourcesHidden): Notification message displayed in the
+# sources list footer when ignored sources are hidden.
+
+# LOCALIZATION NOTE (showIgnoredSources): Notification button displayed in the
+# source next to the "ignored sources are hidden" string. Clicking on this link
+# shows all the ignored sources which are currently hidden.
+showIgnoredSources=Hiển thị tất cả các nguồn
+
+# LOCALIZATION NOTE (showIgnoredSources.tooltip.label): Message displayed in the tooltip of the notification
+# link displayed in the sources list footer when ignored sources are hidden.
+
+# LOCALIZATION NOTE (eventListenersHeader1): The text to display in the events
+# header.
+eventListenersHeader1=Điểm dừng trình xử lý sự kiện
+
+# LOCALIZATION NOTE (noDomMutationBreakpoints): The text to
+# display in the DOM Mutation Breakpoints pane when there are no events.
+# %S will be replaced by an active link using inspectorTool as text
+noDomMutationBreakpoints=Nhấp chuột phải vào một phần tử trong %S và chọn “Tạo điểm dừng trên…” để thêm điểm dừng
+
+# LOCALIZATION NOTE (inspectorTool): The text to describe the the Inspector tool
+inspectorTool=Trình kiểm tra
+
+# LOCALIZATION NOTE (eventListenersHeader1.placeholder): The placeholder text in
+# the event search input bar
+eventListenersHeader1.placeholder=Lọc theo loại sự kiện
+
+# LOCALIZATION NOTE (domMutationHeader): The text to display in the
+# DOM Mutation Breakpoints header
+
+# LOCALIZATION NOTE (domMutationTypes.attribute): The text to display in the
+# DOM Mutation Breakpoints panel for an attribute change
+
+# LOCALIZATION NOTE (domMutationTypes.removal): The text to display in the
+# DOM Mutation Breakpoints panel for a DOM node removal
+domMutationTypes.removal=Loại bỏ node
+
+# LOCALIZATION NOTE (domMutationTypes.subtree): The text to display in the
+# DOM Mutation Breakpoints panel for a DOM subtree change
+
+# LOCALIZATION NOTE (sources.search.key2): Key shortcut to open the search for
+# searching all the source files the debugger has seen.
+# Do not localize "CmdOrCtrl+P", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sources.search.key2=CmdOrCtrl+P
+
+# LOCALIZATION NOTE (sources.search.alt.key): A second key shortcut to open the
+# search for searching all the source files the debugger has seen.
+# Do not localize "CmdOrCtrl+O", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sources.search.alt.key=CmdOrCtrl+O
+
+# LOCALIZATION NOTE (projectTextSearch.key): A key shortcut to open the
+# full project text search for searching all the files the debugger has seen.
+# Do not localize "CmdOrCtrl+Shift+F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+projectTextSearch.key=CmdOrCtrl+Shift+F
+
+# LOCALIZATION NOTE (allShortcut.key): A key shortcut to open the
+# modal of full shortcuts list.
+# Do not localize "CmdOrCtrl+/", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+allShortcut.key=CmdOrCtrl+/
+
+# LOCALIZATION NOTE (functionSearch.key): A key shortcut to open the
+# modal for searching functions in a file.
+# Do not localize "CmdOrCtrl+Shift+O", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+functionSearch.key=CmdOrCtrl+Shift+O
+
+# LOCALIZATION NOTE (toggleBreakpoint.key): A key shortcut to toggle
+# breakpoints.
+# Do not localize "CmdOrCtrl+B", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+toggleBreakpoint.key=CmdOrCtrl+B
+
+# LOCALIZATION NOTE (toggleCondPanel.breakpoint.key): A key shortcut to toggle
+# the conditional panel for breakpoints.
+# Do not localize "CmdOrCtrl+Shift+B", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+toggleCondPanel.breakpoint.key=CmdOrCtrl+Shift+B
+
+# LOCALIZATION NOTE (toggleCondPanel.logPoint.key): A key shortcut to toggle
+# the conditional panel for log points.
+# Do not localize "CmdOrCtrl+Shift+Y", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+toggleCondPanel.logPoint.key=CmdOrCtrl+Shift+Y
+
+# LOCALIZATION NOTE (stepOut.key): A key shortcut to
+# step out.
+stepOut.key=Shift+F11
+
+# LOCALIZATION NOTE (shortcuts.header.editor): Sections header in
+# the shortcuts modal for keyboard shortcuts related to editing.
+shortcuts.header.editor=Trình soạn thảo
+
+# LOCALIZATION NOTE (shortcuts.header.stepping): Sections header in
+# the shortcuts modal for keyboard shortcuts related to stepping.
+
+# LOCALIZATION NOTE (shortcuts.header.search): Sections header in
+# the shortcuts modal for keyboard shortcuts related to search.
+shortcuts.header.search=Tìm kiếm
+
+# LOCALIZATION NOTE (projectTextSearch.placeholder): A placeholder shown
+# when searching across all of the files in a project.
+projectTextSearch.placeholder=Tìm trong tập tin…
+
+# LOCALIZATION NOTE (projectTextSearch.excludePatterns.label): A label shown
+# above the exclude patterns field when searching across all of the files in a project.
+projectTextSearch.excludePatterns.label=tập tin để loại trừ
+
+# LOCALIZATION NOTE (projectTextSearch.excludePatterns.placeholder): A placeholder shown
+# for the exclude patterns field when searching across all of the files in a project.
+projectTextSearch.excludePatterns.placeholder=ví dụ: **/node_modules/**,app.js
+
+# LOCALIZATION NOTE (projectTextSearch.noResults): The center pane Text Search
+# message when the query did not match any text of all files in a project.
+projectTextSearch.noResults=Không tìm thấy kết quả nào
+
+# LOCALIZATION NOTE (projectTextSearch.pageNavigated): Tooltip shown on the refresh
+# button, only when it is highlighted because the page navigated to a new document
+# and the results might be obsolete.
+projectTextSearch.refreshButtonTooltip=Nhấp để làm mới kết quả tìm kiếm
+
+# LOCALIZATION NOTE (projectTextSearch.pageNavigated): Tooltip shown on the refresh
+# button, only when it is highlighted because the page navigated to a new document
+# and the results might be obsolete.
+projectTextSearch.refreshButtonTooltipOnNavigation=Trang được điều hướng đến một document mới. Nhấp để làm mới kết quả tìm kiếm
+
+# LOCALIZATION NOTE (projectTextSearch.sourceNoLongerAvailable): Tooltip message shown
+# on Text Search results when the related source no longer exists.
+# This typically happens after navigating or reloading the page and search results are obsolete.
+
+# LOCALIZATION NOTE (sourceSearch.search.key2): Key shortcut to open the search
+# for searching within a the currently opened files in the editor
+# Do not localize "CmdOrCtrl+F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sourceSearch.search.key2=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (sourceSearch.search.placeholder): placeholder text in
+# the source search input bar
+sourceSearch.search.placeholder=Tìm kiếm trong tập tin…
+
+# LOCALIZATION NOTE (sourceSearch.search.placeholder2): placeholder text in
+# the source search input bar
+sourceSearch.search.placeholder2=Tìm trong tập tin…
+
+# LOCALIZATION NOTE (sourceSearch.resultsSummary2): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Shows a summary of the number of matches for autocomplete
+sourceSearch.resultsSummary2=#1 kết quả
+
+# LOCALIZATION NOTE (breakpointHeadingMenuItem.*): The text for all the elements
+# that are displayed in the breakpoint headings menu item popup.
+breakpointHeadingsMenuItem.enableInSource.label=Kích hoạt các điểm dừng
+breakpointHeadingsMenuItem.enableInSource.accesskey=E
+breakpointHeadingsMenuItem.disableInSource.label=Vô hiệu hóa điểm dừng
+breakpointHeadingsMenuItem.disableInSource.accesskey=D
+breakpointHeadingsMenuItem.removeInSource.label=Xóa điểm dừng
+breakpointHeadingsMenuItem.removeInSource.accesskey=R
+
+# LOCALIZATION NOTE (breakpointMenuItem): The text for all the elements that
+# are displayed in the breakpoints menu item popup.
+breakpointMenuItem.enableSelf2.label=Kích hoạt
+breakpointMenuItem.enableSelf2.accesskey=E
+breakpointMenuItem.disableSelf2.label=Tắt
+breakpointMenuItem.disableSelf2.accesskey=T
+breakpointMenuItem.deleteSelf2.label=Xóa
+breakpointMenuItem.deleteSelf2.accesskey=X
+breakpointMenuItem.disabledbg.label=Không bao giờ tạm dừng ở đây
+breakpointMenuItem.enabledbg.label=Tạm dừng ở đây
+breakpointMenuItem.enableOthers2.label=Kích hoạt các thứ khác
+breakpointMenuItem.enableOthers2.accesskey=o
+breakpointMenuItem.disableOthers2.label=Vô hiệu các thứ khác
+breakpointMenuItem.disableOthers2.accesskey=s
+breakpointMenuItem.deleteOthers2.label=Xóa các thứ khác
+breakpointMenuItem.deleteOthers2.accesskey=h
+breakpointMenuItem.enableAll2.label=Kích hoạt tất cả
+breakpointMenuItem.enableAll2.accesskey=b
+breakpointMenuItem.disableAll2.label=Tắt tất cả
+breakpointMenuItem.disableAll2.accesskey=t
+breakpointMenuItem.deleteAll2.label=Xóa tắt cả
+breakpointMenuItem.deleteAll2.accesskey=a
+breakpointMenuItem.removeCondition2.label=Xóa điều kiện
+breakpointMenuItem.removeCondition2.accesskey=c
+breakpointMenuItem.addCondition2.label=Thêm điều kiện
+breakpointMenuItem.addCondition2.accesskey=h
+breakpointMenuItem.editCondition2.label=Chỉnh sửa điều kiện
+breakpointMenuItem.editCondition2.accesskey=n
+breakpointMenuItem.enableSelf=Kích hoạt điểm dừng
+breakpointMenuItem.disableSelf=Vô hiệu breakpoint
+breakpointMenuItem.deleteSelf=Xóa breakpoint
+breakpointMenuItem.enableOthers=Kích hoạt các thứ khác
+breakpointMenuItem.disableOthers=Vô hiệu các thứ khác
+breakpointMenuItem.deleteOthers=Xóa các thứ khác
+breakpointMenuItem.enableAll=Kích hoạt tất cả các điểm dừng
+breakpointMenuItem.disableAll=Vô hiệu hóa tất cả các điểm dừng
+breakpointMenuItem.deleteAll=Gỡ bỏ tất cả các điểm dừng
+breakpointMenuItem.disableAllAtLine.label=Vô hiệu hóa điểm dừng trên dòng
+breakpointMenuItem.disableAllAtLine.accesskey=K
+breakpointMenuItem.enableAllAtLine.label=Kích hoạt điểm dừng trên dòng
+breakpointMenuItem.enableAllAtLine.accesskey=L
+breakpointMenuItem.removeAllAtLine.label=Xóa điểm dừng trên dòng
+breakpointMenuItem.removeAllAtLine.accesskey=X
+
+# LOCALIZATION NOTE (breakpoints.header): Breakpoints right sidebar pane header.
+breakpoints.header=Điểm dừng
+
+# LOCALIZATION NOTE (breakpoints.removeBreakpointTooltip): The tooltip that is displayed
+# for remove breakpoint button in right sidebar
+breakpoints.removeBreakpointTooltip=Xóa điểm dừng
+
+# LOCALIZATION NOTE (callStack.header): Call Stack right sidebar pane header.
+
+# LOCALIZATION NOTE (callStack.notPaused): Call Stack right sidebar pane
+# message when not paused.
+callStack.notPaused=Chưa dừng lại
+
+# LOCALIZATION NOTE (callStack.collapse): Call Stack right sidebar pane
+# message to hide some of the frames that are shown.
+callStack.collapse=Thu gọn hàng
+
+# LOCALIZATION NOTE (callStack.expand): Call Stack right sidebar pane
+# message to show more of the frames.
+callStack.expand=Mở rộng hàng
+
+# LOCALIZATION NOTE (callStack.group.expandTooltip): The text that will appear
+# when hovering a collapsed Group of frames in the callStack panel. `frames` is
+# always plural since a group can only exist if it contain more that 1 frame.
+# %S is replaced by the name of the library of the frames in the group.
+# example: `Show React frames`.
+callStack.group.expandTooltip=Hiển thị %S khung
+
+# LOCALIZATION NOTE (callStack.group.collapseTooltip): The text that will appear
+# when hovering an expanded Group of frames in the callStack panel. `frames` is
+# always plural since a group can only exist if it contain more that 1 frame.
+# %S is replaced by the name of the library of the frames in the group.
+# example: `Collapse React frames`.
+callStack.group.collapseTooltip=Thu gọn %S khung
+
+# LOCALIZATION NOTE (editor.searchResults1): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Editor Search bar message to summarize the selected search result. e.g. 5 of 10 results.
+editor.searchResults1=%d của #1 kết quả
+
+# LOCALIZATION NOTE (editor.noResultsFound): Editor Search bar message
+# for when no results found.
+editor.noResultsFound=Không tìm thấy kết quả nào
+
+# LOCALIZATION NOTE (editor.searchResults.nextResult): Editor Search bar
+# tooltip for traversing to the Next Result
+editor.searchResults.nextResult=Kết quả tiếp theo
+
+# LOCALIZATION NOTE (editor.searchResults.prevResult): Editor Search bar
+# tooltip for traversing to the Previous Result
+editor.searchResults.prevResult=Kết quả trước
+
+# LOCALIZATION NOTE (editor.continueToHere.label): Editor gutter context
+# menu item for jumping to a new paused location
+editor.continueToHere.label=Tiếp tục từ đây
+editor.continueToHere.accesskey=H
+
+# LOCALIZATION NOTE (editor.addBreakpoint): Editor gutter context menu item
+# for adding a breakpoint on a line.
+editor.addBreakpoint=Thêm điểm dừng
+
+# LOCALIZATION NOTE (editor.disableBreakpoint): Editor gutter context menu item
+# for disabling a breakpoint on a line.
+editor.disableBreakpoint=Vô hiệu hóa điểm dừng
+editor.disableBreakpoint.accesskey=D
+
+# LOCALIZATION NOTE (editor.enableBreakpoint): Editor gutter context menu item
+# for enabling a breakpoint on a line.
+editor.enableBreakpoint=Kích hoạt điểm dừng
+
+# LOCALIZATION NOTE (editor.removeBreakpoint): Editor gutter context menu item
+# for removing a breakpoint on a line.
+editor.removeBreakpoint=Xóa điểm dừng
+
+# LOCALIZATION NOTE (editor.addConditionBreakpoint): Editor gutter context
+# menu item for adding a breakpoint condition on a line.
+editor.addConditionBreakpoint=Thêm điều kiện
+editor.addConditionBreakpoint.accesskey=c
+
+# LOCALIZATION NOTE (editor.editConditionBreakpoint): Editor gutter context menu item
+# for setting a breakpoint condition on a line.
+editor.editConditionBreakpoint=Sửa điều kiện
+
+# LOCALIZATION NOTE (editor.addLogPoint): Editor gutter context
+# menu item for adding a log point on a line.
+editor.addLogPoint=Thêm nhật ký
+editor.addLogPoint.accesskey=l
+
+# LOCALIZATION NOTE (editor.editLogPoint): Editor gutter context menu item
+# for editing a log point already set on a line.
+editor.editLogPoint=Chỉnh sửa nhật ký
+editor.editLogPoint.accesskey=E
+
+# LOCALIZATION NOTE (editor.removeLogPoint): Context menu item for removing
+# a log point on a line.
+editor.removeLogPoint.label=Xóa nhật ký
+editor.removeLogPoint.accesskey=V
+
+# LOCALIZATION NOTE (editor.conditionalPanel.placeholder2): Placeholder text for
+# input element inside ConditionalPanel component
+editor.conditionalPanel.placeholder2=Điều kiện điểm dừng, ví dụ: items.length> 0
+
+# LOCALIZATION NOTE (editor.conditionalPanel.logPoint.placeholder2): Placeholder text for
+# input element inside ConditionalPanel component when a log point is set
+editor.conditionalPanel.logPoint.placeholder2=Nhật ký thông báo, ví dụ: displayName
+
+# LOCALIZATION NOTE (editor.jumpToMappedLocation1): Context menu item
+# for navigating to a source mapped location
+editor.jumpToMappedLocation1=Chuyển đến vị trí %S
+editor.jumpToMappedLocation1.accesskey=m
+
+# LOCALIZATION NOTE (downloadFile.label): Context menu item
+# for downloading a source's content
+downloadFile.label=Tải tập tin
+downloadFile.accesskey=d
+
+# LOCALIZATION NOTE (inlinePreview.show.label): Context menu item
+# for showing the inline preview blocks
+inlinePreview.show.label=Hiện bản xem trước nội tuyến
+
+# LOCALIZATION NOTE (inlinePreview.hide.label): Context menu item
+# for hiding the inline preview block
+inlinePreview.hide.label=Ẩn bản xem trước nội tuyến
+
+# LOCALIZATION NOTE (inlinePreview.toggle.label): Context menu item
+# that will toggle display of inline preview
+inlinePreview.toggle.label=Xem trước biến nội tuyến
+
+# LOCALIZATION NOTE (inlinePreview.toggle.tooltip): Context menu item
+# tooltip that will describe toggling inline preview
+inlinePreview.toggle.tooltip=Hiện bản xem trước nội tuyến trong trình chỉnh sửa gỡ lỗi
+
+# LOCALIZATION NOTE (editorWrapping.show.label): Context menu item
+# for showing the wrap lines block
+editorWrapping.show.label=Ngắt dòng
+
+# LOCALIZATION NOTE (editorWrapping.hide.label): Context menu item
+# for showing the wrap lines block
+editorWrapping.hide.label=Bỏ ngắt dòng
+
+# LOCALIZATION NOTE (editorWrapping.toggle.label): Context menu item
+# label for toggling the lines wrapping feature
+editorWrapping.toggle.label=Ngắt dòng
+
+# LOCALIZATION NOTE (editorWrapping.toggle.tooltip): Context menu item
+# tooltip for toggling the lines wrapping feature
+editorWrapping.toggle.tooltip=Ngắt dòng trong trình chỉnh sửa trình gỡ lỗi
+
+# LOCALIZATION NOTE (settings.button.label): Label for Settings button
+settings.button.label=Cài đặt trình gỡ lỗi
+
+# LOCALIZATION NOTE (settings.disableJavaScript.label): Context menu item
+# label for disabling JavaScript
+settings.disableJavaScript.label=Vô hiệu hóa JavaScript
+
+# LOCALIZATION NOTE (settings.disableJavaScript.tooltip): Context menu item
+# tooltip for disabling JavaScript
+settings.disableJavaScript.tooltip=Vô hiệu hóa JavaScript (yêu cầu làm mới)
+
+# LOCALIZATION NOTE (settings.toggleSourceMaps.tooltip): Context menu item
+# tooltip for toggling the source maps feature
+
+# LOCALIZATION NOTE (settings.toggleSourceMaps.label): Context menu item
+# label for toggling the source maps feature
+
+# LOCALIZATION NOTE (settings.hideIgnoredSources.tooltip): Context menu item
+# tooltip for hiding and showing all the ignored sources
+
+# LOCALIZATION NOTE (settings.hideIgnoredSources.label): Context menu item
+# label for hiding all ignored sources when enabled (indicated by the check mark)
+# Ignored sources will be shown when disabled (no check mark).
+
+# LOCALIZATION NOTE (settings.enableSourceMapIgnoreList.tooltip): Context menu item
+# tooltip for ignoring all sources on the sourcemaps ignore list.
+# Note: x_google_ignoreList should not be translated.
+
+# LOCALIZATION NOTE (settings.enableSourceMapIgnoreList.label): Context menu item
+# label for ignoring all sources on the sourcemaps ignore list when enabled
+# (indicated by the check mark). The sources on the ignore list are un-ignored
+# when disabled (no check mark).
+# Note: Make sure to also keep 'sourceFooter.ignoreList' in sync when this changes
+settings.enableSourceMapIgnoreList.label=Bỏ qua các tập lệnh đã biết của bên thứ ba
+
+# LOCALIZATION NOTE (preview.noProperties): Label shown in the preview
+# popup when there are no properties to show.
+preview.noProperties=Không có thuộc tính
+
+# LOCALIZATION NOTE (framework.disableGrouping): This is the text that appears in the
+# context menu to disable framework grouping.
+framework.disableGrouping.accesskey=u
+
+# LOCALIZATION NOTE (framework.enableGrouping): This is the text that appears in the
+# context menu to enable framework grouping.
+framework.enableGrouping.accesskey=u
+
+# LOCALIZATION NOTE (generated): Source Map term for a server source location
+generated=đã tạo
+
+# LOCALIZATION NOTE (original): Source Map term for a debugger UI source location
+original=gốc
+
+# LOCALIZATION NOTE (expressions.placeholder): Placeholder text for expression
+# input element
+expressions.placeholder=Thêm biến để theo dõi
+
+# LOCALIZATION NOTE (expressions.noOriginalScopes): Expressions right sidebar pane message
+# for when the`map variable names`is off and the debugger is paused in an original source
+
+# LOCALIZATION NOTE (expressions.errorMsg): Error text for expression
+# input element
+expressions.errorMsg=Biểu thức không hợp lệ…
+expressions.label=Thêm biến để theo dõi
+expressions.accesskey=e
+expressions.remove.tooltip=Xóa biến khỏi theo dõi
+
+# LOCALIZATION NOTE (xhrBreakpoints.header): The pause on any XHR breakpoints headings
+xhrBreakpoints.header=Điểm dừng XHR
+xhrBreakpoints.placeholder=Ngắt khi URL chứa
+xhrBreakpoints.label=Thêm điểm dừng XHR
+
+# LOCALIZATION NOTE (xhrBreakpoints.removeAll.tooltip): For the `Remove all XHR breakpoints' button in the header of the XHR breakpoints panel
+xhrBreakpoints.removeAll.tooltip=Xóa tất cả các điểm dừng XHR
+
+
+# LOCALIZATION NOTE (xhrBreakpoints.item.label): message displayed when reaching a breakpoint for XHR requests. %S is replaced by the path provided as condition for the breakpoint.
+xhrBreakpoints.item.label=URL chứa “%S”
+
+# LOCALIZATION NOTE (pauseOnAnyXHR): The pause on any XHR checkbox description
+# when the debugger will pause on any XHR requests.
+pauseOnAnyXHR=Tạm dừng trên bất kỳ URL nào
+
+# LOCALIZATION NOTE (watchpoints.submenu): This is the text for the watchpoints sub-menu.
+watchpoints.submenu=Tạo điểm dừng trên…
+
+# LOCALIZATION NOTE (watchpoints.getWatchpoint): This is the text that appears in the
+# watchpoints sub-menu to add a "get" watchpoint on an object property.
+watchpoints.getWatchpoint=Thuộc tính get
+
+# LOCALIZATION NOTE (watchpoints.setWatchpoint): This is the text that appears in the
+# watchpoints submenu to add a "set" watchpoint on an object property.
+watchpoints.setWatchpoint=Thuộc tính set
+
+# LOCALIZATION NOTE (watchpoints.getOrSetWatchpoint): This is the text that appears in the
+# watchpoints submenu to add a "set" watchpoint on an object property.
+watchpoints.getOrSetWatchpoint=Thuộc tính get hoặc set
+
+# LOCALIZATION NOTE (watchpoints.removeWatchpoint): This is the text that appears in the
+# context menu to delete a watchpoint on an object property.
+watchpoints.removeWatchpoint=Xoá điểm dừng
+
+# LOCALIZATION NOTE (watchpoints.removeWatchpointTooltip): This is the text that appears in the
+# tooltip to delete a watchpoint on an object property.
+watchpoints.removeWatchpointTooltip=Xoá điểm dừng
+
+# LOCALIZATION NOTE (sourceTabs.closeTab): Editor source tab context menu item
+# for closing the selected tab below the mouse.
+sourceTabs.closeTab=Đóng thẻ
+sourceTabs.closeTab.accesskey=n
+sourceTabs.closeTab.key=CmdOrCtrl+W
+
+# LOCALIZATION NOTE (sourceTabs.closeOtherTabs): Editor source tab context menu item
+# for closing the other tabs.
+sourceTabs.closeOtherTabs=Đóng các thẻ khác
+sourceTabs.closeOtherTabs.accesskey=k
+
+# LOCALIZATION NOTE (sourceTabs.closeTabsToEnd): Editor source tab context menu item
+# for closing the tabs to the end (the right for LTR languages) of the selected tab.
+sourceTabs.closeTabsToEnd=Đóng các thẻ ở bên phải
+sourceTabs.closeTabsToEnd.accesskey=p
+
+# LOCALIZATION NOTE (sourceTabs.closeAllTabs): Editor source tab context menu item
+# for closing all tabs.
+sourceTabs.closeAllTabs=Đóng tất cả các thẻ
+sourceTabs.closeAllTabs.accesskey=c
+
+# LOCALIZATION NOTE (sourceTabs.revealInTree): Editor source tab context menu item
+# for revealing source in tree.
+sourceTabs.revealInTree=Hiển thị trên cây
+sourceTabs.revealInTree.accesskey=r
+
+# LOCALIZATION NOTE (sourceTabs.prettyPrint): Editor source tab context menu item
+# for pretty printing the source.
+sourceTabs.prettyPrint=In đẹp mã nguồn
+sourceTabs.prettyPrint.accesskey=p
+
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.isPrettyPrintedMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file is already pretty printed.
+sourceFooter.prettyPrint.isPrettyPrintedMessage=Không thể in đẹp, tập tin đã được in đẹp
+
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.isOriginalMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file is an original source.
+sourceFooter.prettyPrint.isOriginalMessage=Không thể in đẹp tập tin gốc, tập tin đã có thể đọc được
+
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.hasSourceMapMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file has a valid sourcemap with original sources.
+
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.noContentMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file has no content.
+sourceFooter.prettyPrint.noContentMessage=Không thể in đẹp, tập tin không có nội dung
+
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.isNotJavascriptMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file is not JavaScript code.
+sourceFooter.prettyPrint.isNotJavascriptMessage=Không thể in đẹp, tập tin không phải là JavaScript
+
+# LOCALIZATION NOTE (sourceFooter.ignores): Tooltip text associated
+# with the ignores button
+sourceFooter.ignore=Bỏ qua nguồn
+
+# LOCALIZATION NOTE (sourceFooter.unignore): Tooltip text associated
+# with the ignore button
+sourceFooter.unignore=Không bỏ qua nguồn
+
+# LOCALIZATION NOTE (sourceFooter.ignoreList): Tooltip text associated
+# with the ignore source button when the selected source is on the ignore list
+sourceFooter.ignoreList=Source này nằm trong danh sách bỏ qua. Vui lòng tắt tuỳ chọn `Bỏ qua các tập lệnh đã biết của bên thứ ba` để bật nó.
+
+# LOCALIZATION NOTE (editorNotificationFooter.noOriginalScopes): The notification message displayed in the editor notification footer
+# when paused in an original file and original variable mapping is turned off
+# %S is text from the label for checkbox to show original scopes
+
+# LOCALIZATION NOTE (ignoreContextItem.ignore): Text associated
+# with the ignore context menu item
+ignoreContextItem.ignore=Bỏ qua nguồn
+ignoreContextItem.ignore.accesskey=I
+
+# LOCALIZATION NOTE (ignoreContextItem.unignore): Text associated
+# with the unignore context menu item
+ignoreContextItem.unignore=Không bỏ qua nguồn
+ignoreContextItem.unignore.accesskey=U
+
+# LOCALIZATION NOTE (overridesContextItem.override): Text associated
+# with the add overrides context menu item
+overridesContextItem.override.accesskey=o
+
+# LOCALIZATION NOTE (overridesContextItem.removeOverride): Text associated
+# with the remove override context menu item
+overridesContextItem.removeOverride.accesskey=o
+
+# LOCALIZATION NOTE (ignoreContextItem.ignoreLine): Text associated
+# with the ignore line context menu item
+ignoreContextItem.ignoreLine=Bỏ qua hàng
+ignoreContextItem.ignoreLine.accesskey=l
+
+# LOCALIZATION NOTE (ignoreContextItem.unignoreLine): Text associated
+# with the unignore line context menu item
+ignoreContextItem.unignoreLine=Không bỏ qua hàng
+ignoreContextItem.unignoreLine.accesskey=n
+
+# LOCALIZATION NOTE (ignoreContextItem.ignoreLines): Text associated
+# with the ignore lines context menu item
+ignoreContextItem.ignoreLines=Bỏ qua hàng
+ignoreContextItem.ignoreLines.accesskey=i
+
+# LOCALIZATION NOTE (ignoreContextItem.unignoreLines): Text associated
+# with the unignore lines context menu item
+ignoreContextItem.unignoreLines=Không bỏ qua hàng
+ignoreContextItem.unignoreLines.accesskey=u
+
+# LOCALIZATION NOTE (sourceFooter.mappedSource): Text associated
+# with a mapped source. %S is replaced by the source map origin.
+sourceFooter.mappedSource=(Từ %S)
+
+# LOCALIZATION NOTE (sourceFooter.mappedSourceTooltip): Tooltip text associated
+# with a mapped source. %S is replaced by the source map origin.
+sourceFooter.mappedSourceTooltip=(Nguồn được ánh xạ từ %S)
+
+# LOCALIZATION NOTE (sourceFooter.mappedOriginalSource.title): Text associated
+# with an original source mapped to a bundle. %S is replaced by the bundle url.
+sourceFooter.mappedOriginalSource.title=Từ %S
+
+# LOCALIZATION NOTE (sourceFooter.mappedOriginalSource.tooltip): Tooltip text associated
+# with an original source mapped to a bundle. %S is replaced by bundle url.
+
+# LOCALIZATION NOTE (sourceFooter.mappedGeneratedSource.title): Text associated
+# with a bundled source mapped to an original source. %S is replaced by the original source url.
+sourceFooter.mappedGeneratedSource.title=Đến %S
+
+# LOCALIZATION NOTE (sourceFooter.mappedGeneratedSource.tooltip): Tooltip text associated
+# with a bundled source mapped to an original source. %S is replaced by the original source url.
+
+# LOCALIZATION NOTE (sourceFooter.mappedSuffix): Text associated
+# with a mapped source. Displays next to URLs in tree and tabs.
+sourceFooter.mappedSuffix=(ánh xạ)
+
+# LOCALIZATION NOTE (sourceFooter.currentCursorPosition): Text associated
+# with the current cursor line and column
+sourceFooter.currentCursorPosition=(%1$S, %2$S)
+
+# LOCALIZATION NOTE (sourceFooter.currentCursorPosition.tooltip): Text associated
+# with the current cursor line and column
+sourceFooter.currentCursorPosition.tooltip=(Dòng %1$S, cột %2$S)
+
+# LOCALIZATION NOTE (sourceTabs.closeTabButtonTooltip): The tooltip that is displayed
+# for close tab button in source tabs.
+sourceTabs.closeTabButtonTooltip=Đóng thẻ
+
+# LOCALIZATION NOTE (scopes.header): Scopes right sidebar pane header.
+scopes.header=Phạm vi
+
+# LOCALIZATION NOTE (scopes.notAvailable): Scopes right sidebar pane message
+# for when the debugger is paused, but there isn't pause data.
+scopes.notAvailable=Phạm vi không có sẵn
+
+# LOCALIZATION NOTE (scopes.noOriginalScopes): Scopes right sidebar pane message
+# for when original variable mapping is disabled. This is only displayed when paused in an original source.
+# %S is text from the label for checkbox to show original scopes
+
+# LOCALIZATION NOTE (scopes.loadingOriginalScopes): Scopes right sidebar pane message
+# for when the debugger is still loading the original variable mapping information.
+
+# LOCALIZATION NOTE (scopes.notPaused): Scopes right sidebar pane message
+# for when the debugger is not paused.
+scopes.notPaused=Không dừng lại
+
+# LOCALIZATION NOTE (scopes.mapping.label): Scopes right sidebar pane
+# tooltip for checkbox and label
+
+# LOCALIZATION NOTE (eventlisteners.log.label): Event listeners tooltip for
+# checkbox and label
+eventlisteners.log.label=Ghi nhật ký các sự kiện vào bảng điều khiển
+
+# LOCALIZATION NOTE (eventlisteners.log): Checkbox label for logging events
+eventlisteners.log=Nhật ký
+
+# LOCALIZATION NOTE (scopes.helpTooltip.label): Scopes right sidebar pane
+# icon tooltip for link to MDN
+
+# LOCALIZATION NOTE (scopes.map.label): Checkbox label to map scopes
+
+# LOCALIZATION NOTE (scopes.showOriginalScopesHelpTooltip): Scopes right sidebar pane
+# icon tooltip for link to MDN
+
+# LOCALIZATION NOTE (scopes.showOriginalScopesTooltip): Scopes right sidebar pane
+# tooltip for checkbox and label
+
+# LOCALIZATION NOTE (scopes.showOriginalScopes): Checkbox label to show original scopes
+scopes.showOriginalScopes=Hiển thị các biến gốc
+
+# LOCALIZATION NOTE (scopes.block): Refers to a block of code in
+# the scopes pane when the debugger is paused.
+scopes.block=Khối
+
+# LOCALIZATION NOTE (sources.header): Sources left sidebar header
+sources.header=Nguồn
+
+# LOCALIZATION NOTE (outline.header): Outline left sidebar header
+outline.header=Phác thảo
+
+# LOCALIZATION NOTE (search.header): Search left sidebar header
+search.header=Tìm kiếm
+
+# LOCALIZATION NOTE (outline.placeholder): Placeholder text for the filter input
+# element
+outline.placeholder=Lọc hàm
+
+# LOCALIZATION NOTE (outline.sortLabel): Label for the sort button
+outline.sortLabel=Sắp xếp theo tên
+
+# LOCALIZATION NOTE (outline.noFunctions): Outline text when there are no functions to display
+outline.noFunctions=Không có hàm
+
+# LOCALIZATION NOTE (outline.noFileSelected): Outline text when there are no files selected
+outline.noFileSelected=Không có tập tin nào được chọn
+
+# LOCALIZATION NOTE (sources.search): Sources left sidebar prompt
+# e.g. Cmd+P to search. On a mac, we use the command unicode character.
+# On windows, it's ctrl.
+sources.search=Tìm với %S
+
+# LOCALIZATION NOTE (watchExpressions.header): Watch Expressions right sidebar
+# pane header.
+watchExpressions.header=Đang theo dõi biến
+
+# LOCALIZATION NOTE (watchExpressions.refreshButton): Watch Expressions header
+# button for refreshing the expressions.
+watchExpressions.refreshButton=Làm mới
+
+# LOCALIZATION NOTE (welcome.search): The center pane welcome panel's
+# search prompt. e.g. cmd+p to search for files. On windows, it's ctrl, on
+# a mac we use the unicode character.
+welcome.search=%S để tìm kiếm nguồn
+
+# LOCALIZATION NOTE (welcome.search2): The center pane welcome panel's
+# search prompt. e.g. cmd+p to search for files. On windows, it's ctrl, on
+# a mac we use the unicode character.
+welcome.search2=%S Đi đến tập tin
+
+# LOCALIZATION NOTE (welcome.findInFiles): The center pane welcome panel's
+# search prompt. e.g. cmd+f to search for files. On windows, it's ctrl+shift+f, on
+# a mac we use the unicode character.
+welcome.findInFiles=%S để tìm trong tập tin
+
+# LOCALIZATION NOTE (welcome.findInFiles2): The center pane welcome panel's
+# search prompt. e.g. cmd+f to search for files. On windows, it's ctrl+shift+f, on
+# a mac we use the unicode character.
+welcome.findInFiles2=%S Tìm trong tập tin
+
+# LOCALIZATION NOTE (welcome.allShortcuts): The label to open the modal of
+# shortcuts, displayed in the welcome panel.
+welcome.allShortcuts=Hiển thị tất cả các phím tắt
+
+# LOCALIZATION NOTE (sourceSearch.search): The center pane Source Search
+# prompt for searching for files.
+sourceSearch.search=Tìm kiếm nguồn…
+
+# LOCALIZATION NOTE (sourceSearch.search2): The center pane Source Search
+# prompt for searching for files.
+sourceSearch.search2=Đi đến tập tin…
+
+# LOCALIZATION NOTE (pauseOnExceptions): The pause on exceptions button tooltip
+# when the debugger will pause on all exceptions.
+pauseOnExceptions=Tạm dừng trên tất cả các ngoại lệ. Nhấn vào đây để bỏ qua các ngoại lệ
+
+# LOCALIZATION NOTE (loadingText): The text that is displayed in the script
+# editor when the loading process has started but there is no file to display
+# yet.
+loadingText=Đang tải…
+
+# LOCALIZATION NOTE (wasmIsNotAvailable): The text that is displayed in the
+# script editor when the WebAssembly source is not available.
+wasmIsNotAvailable=Vui lòng làm mới để gỡ lỗi mô-đun này
+
+# LOCALIZATION NOTE (errorLoadingText3): The text that is displayed in the debugger
+# viewer when there is an error loading a file
+errorLoadingText3=Lỗi khi tải URI này: %S
+
+# LOCALIZATION NOTE(gotoLineModal.placeholder): The placeholder
+# text displayed when the user searches for specific lines in a file
+gotoLineModal.placeholder=Chuyển đến dòng…
+
+# LOCALIZATION NOTE(gotoLineModal.title): The message shown to users
+# to open the go to line modal
+gotoLineModal.title=Đi đến dòng trong một tập tin
+
+# LOCALIZATION NOTE(gotoLineModal.key3): The shortcut for opening the
+# go to line modal
+# Do not localize "Ctrl+G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+gotoLineModal.key3=Ctrl+G
+
+# LOCALIZATION NOTE(symbolSearch.search.functionsPlaceholder): The placeholder
+# text displayed when the user searches for functions in a file
+symbolSearch.search.functionsPlaceholder=Tìm kiếm hàm…
+symbolSearch.search.functionsPlaceholder.title=Tìm kiếm hàm trong tập tin
+
+# LOCALIZATION NOTE(symbolSearch.search.variablesPlaceholder): The placeholder
+# text displayed when the user searches for variables in a file
+symbolSearch.search.variablesPlaceholder=Tìm kiếm biến…
+symbolSearch.search.variablesPlaceholder.title=Tìm kiếm biến trong tập tin
+
+# LOCALIZATION NOTE(symbolSearch.search.key2): The Key Shortcut for
+# searching for a function or variable
+# Do not localize "CmdOrCtrl+Shift+O", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+symbolSearch.search.key2=CmdOrCtrl+Shift+O
+
+experimental=Đây là một tính năng thử nghiệm
+
+# LOCALIZATION NOTE (ctrl): The text that is used for documenting
+# keyboard shortcuts that use the control key
+ctrl=Ctrl
+
+# LOCALIZATION NOTE (anonymousFunction): this string is used to display
+# JavaScript functions that have no given name - they are said to be
+# anonymous.
+anonymousFunction=<ẩn danh>
+
+# LOCALIZATION NOTE (stacktrace.asyncStack): this string is used to
+# indicate that a given stack frame has an async parent.
+# %S is the "Async Cause" of the frame.
+stacktrace.asyncStack=(Bất đồng bộ: %S)
+
+# LOCALIZATION NOTE (shortcuts.toggleBreakpoint): text describing
+# keyboard shortcut action for toggling breakpoint
+shortcuts.toggleBreakpoint=Bật/tắt điểm dừng
+shortcuts.toggleBreakpoint.accesskey=B
+
+# LOCALIZATION NOTE (shortcuts.toggleCondPanel.breakpoint): text describing
+# keyboard shortcut action for toggling conditional panel for breakpoints
+shortcuts.toggleCondPanel.breakpoint=Chỉnh sửa điểm dừng có điều kiện
+
+# LOCALIZATION NOTE (shortcuts.toggleCondPanel.logPoint): text describing
+# keyboard shortcut action for toggling conditional panel for log points
+shortcuts.toggleCondPanel.logPoint=Chỉnh sửa vị trí nhật ký
+
+# LOCALIZATION NOTE (shortcuts.pauseOrResume): text describing
+# keyboard shortcut action for pause of resume
+shortcuts.pauseOrResume=Tạm dừng/Tiếp tục
+
+# LOCALIZATION NOTE (shortcuts.stepOver): text describing
+# keyboard shortcut action for stepping over
+
+# LOCALIZATION NOTE (shortcuts.stepIn): text describing
+# keyboard shortcut action for stepping in
+
+# LOCALIZATION NOTE (shortcuts.stepOut): text describing
+# keyboard shortcut action for stepping out
+
+# LOCALIZATION NOTE (shortcuts.fileSearch): text describing
+# keyboard shortcut action for source file search
+shortcuts.fileSearch=Tìm kiếm tập tin nguồn
+
+# LOCALIZATION NOTE (shortcuts.fileSearch2): text describing
+# keyboard shortcut action for source file search
+shortcuts.fileSearch2=Đi đến tập tin
+
+# LOCALIZATION NOTE (shortcuts.gotoLine): text describing
+# keyboard shortcut for jumping to a specific line
+shortcuts.gotoLine=Đi tới dòng
+
+# LOCALIZATION NOTE (shortcuts.projectSearch): text describing
+# keyboard shortcut action for full project search
+shortcuts.projectSearch=Tìm kiếm toàn bộ dự án
+
+# LOCALIZATION NOTE (shortcuts.projectSearch2): text describing
+# keyboard shortcut action for full project search
+shortcuts.projectSearch2=Tìm trong tập tin
+
+# LOCALIZATION NOTE (shortcuts.functionSearch): text describing
+# keyboard shortcut action for function search
+shortcuts.functionSearch=Tìm kiếm hàm
+
+# LOCALIZATION NOTE (shortcuts.functionSearch2): text describing
+# keyboard shortcut action for function search
+shortcuts.functionSearch2=Tìm kiếm hàm
+
+# LOCALIZATION NOTE (shortcuts.buttonName): text describing
+# keyboard shortcut button text
+shortcuts.buttonName=Các phím tắt bàn phím
+
+# LOCALIZATION NOTE (variablesSeparatorLabel): The text that is displayed
+# in the variables list as a separator between the name and value.
+variablesSeparatorLabel=:
+variablesViewOptimizedOut=(tối ưu hóa)
+variablesViewUninitialized=(chưa được khởi tạo)
+variablesViewMissingArgs=(không có sẵn)
+
+# LOCALIZATION NOTE (variablesDomNodeValueTooltip): The text that is displayed
+# in a tooltip on the "open in inspector" button in the the variables list for a
+# DOMNode item.
+variablesDomNodeValueTooltip=Nhấp để chọn node trong trình kiểm tra
+
+# LOCALIZATION NOTE (variablesEditButtonTooltip): The text that is displayed
+# in the variables list on a getter or setter which can be edited.
+variablesEditButtonTooltip=Nhấn để thiết lập giá trị
+
+# LOCALIZATION NOTE (variablesViewErrorStacktrace): This is the text that is
+# shown before the stack trace in an error.
+
+# LOCALIZATION NOTE (variablesViewMoreObjects): the text that is displayed
+# when you have an object preview that does not show all of the elements. At the end of the list
+# you see "N more..." in the web console output.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of remaining items in the object
+# example: 3 more…
+variablesViewMoreObjects=#1 cái nữa...
+
+# LOCALIZATION NOTE (variablesEditableNameTooltip): The text that is displayed
+# in the variables list on an item with an editable name.
+variablesEditableNameTooltip=Kích đúp để chỉnh sửa
+
+# LOCALIZATION NOTE (variablesEditableValueTooltip): The text that is displayed
+# in the variables list on an item with an editable value.
+variablesEditableValueTooltip=Nhấn để thay đổi giá trị
+
+# LOCALIZATION NOTE (variablesCloseButtonTooltip): The text that is displayed
+# in the variables list on an item which can be removed.
+variablesCloseButtonTooltip=Nhấn để xóa bỏ
+
+# LOCALIZATION NOTE (configurable|...|Tooltip): The text that is displayed
+# in the variables list on certain variables or properties as tooltips.
+# Explanations of what these represent can be found at the following links:
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isExtensible
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isFrozen
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isSealed
+# It's probably best to keep these in English.
+configurableTooltip=có thể cấu hình
+enumerableTooltip=có thể đếm
+writableTooltip=có thể ghi
+frozenTooltip=đóng băng
+sealedTooltip=niêm phong
+extensibleTooltip=mở rộng
+overriddenTooltip=ghi đè
+WebIDLTooltip=WebIDL
+
+# LOCALIZATION NOTE (serviceWorkerInfo.parsed): State displayed for a service
+# worker that has been parsed.
+serviceWorkerInfo.parsed=đã phân tích cú pháp
+# LOCALIZATION NOTE (serviceWorkerInfo.installing): State displayed for a
+# service worker that is being installed.
+serviceWorkerInfo.installing=đang cài đặt
+# LOCALIZATION NOTE (serviceWorkerInfo.installed): State displayed for a
+# service worker that has finished being installed.
+serviceWorkerInfo.installed=đã cài đặt
+# LOCALIZATION NOTE (serviceWorkerInfo.activating): State displayed for a
+# service worker that is being activated.
+serviceWorkerInfo.activating=đang kích hoạt
+# LOCALIZATION NOTE (serviceWorkerInfo.activated): State displayed for a
+# service worker that has finished being activated.
+serviceWorkerInfo.activated=đã kích hoạt
+# LOCALIZATION NOTE (serviceWorkerInfo.redundant): State displayed for a
+# service worker that is redundant.
+serviceWorkerInfo.redundant=dư thừa
+# LOCALIZATION NOTE (serviceWorkerInfo.unknown): State displayed for a
+# service worker that is in an unknown state.
+serviceWorkerInfo.unknown=không xác định
diff --git a/l10n-vi/devtools/client/device.properties b/l10n-vi/devtools/client/device.properties
new file mode 100644
index 0000000000..470cf00d2a
--- /dev/null
+++ b/l10n-vi/devtools/client/device.properties
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside Device Emulation developer
+# tools. 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.
+
+# LOCALIZATION NOTE:
+# These strings are category names in a list of devices that a user can choose
+# to simulate (e.g. "ZTE Open C", "VIA Vixen", "720p HD Television", etc).
+device.phones=Điện thoại
+device.tablets=Máy tính bảng
+device.laptops=Máy tính xách tay
+device.televisions=Ti vi
+device.consoles=Máy chơi game
+device.watches=Đồng hồ
+device.custom=Tùy chỉnh
diff --git a/l10n-vi/devtools/client/dom.properties b/l10n-vi/devtools/client/dom.properties
new file mode 100644
index 0000000000..5d4832db56
--- /dev/null
+++ b/l10n-vi/devtools/client/dom.properties
@@ -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/.
+
+# LOCALIZATION NOTE These strings are used inside the DOM panel
+# which is available from the Web Developer sub-menu -> 'DOM'.
+# 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.
+
+# LOCALIZATION NOTE These strings are used inside the DOM panel
+# which is available from the Browser Tools sub-menu -> 'DOM'.
+# 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.
+
+# LOCALIZATION NOTE (dom.filterDOMPanel): A placeholder text used for
+# DOM panel search box.
+dom.filterDOMPanel=Bộ lọc bảng điều khiển DOM
+
+# LOCALIZATION NOTE (dom.refresh): A label for Refresh button in
+# DOM panel toolbar
+dom.refresh=Làm mới
diff --git a/l10n-vi/devtools/client/filterwidget.properties b/l10n-vi/devtools/client/filterwidget.properties
new file mode 100644
index 0000000000..aded6d2a40
--- /dev/null
+++ b/l10n-vi/devtools/client/filterwidget.properties
@@ -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 NOTE These strings are used in the CSS Filter Editor Widget
+# which can be found in a tooltip that appears in the Rule View when clicking
+# on a filter swatch displayed next to CSS declarations like 'filter: blur(2px)'.
+
+# LOCALIZATION NOTE (emptyFilterList):
+# This string is displayed when filter's list is empty
+# (no filter specified / all removed)
+emptyFilterList=Không chọn bộ lọc nào
+
+# LOCALIZATION NOTE (emptyPresetList):
+# This string is displayed when preset's list is empty
+emptyPresetList=Bạn không có bất kỳ cài đặt trước được lưu. \
+Bạn có thể lưu trữ các bộ lọc đặt trước bằng cách chọn tên và lưu chúng. \
+Các cài đặt trước có thể truy cập nhanh chóng và bạn có thể sử dụng lại chúng một cách dễ dàng.
+
+# LOCALIZATION NOTE (addUsingList):
+# This string is displayed under [emptyFilterList] when filter's
+# list is empty, guiding user to add a filter using the list below it
+addUsingList=Thêm một bộ lọc sử dụng danh sách bên dưới
+
+# LOCALIZATION NOTE (dropShadowPlaceholder):
+# This string is used as a placeholder for drop-shadow's input
+# in the filter list (shown when <input> is empty)
+dropShadowPlaceholder=x y bán-kính màu
+
+# LOCALIZATION NOTE (dragHandleTooltipText):
+# This string is used as a tooltip text (shown on mouse hover) on the
+# drag handles of filters which are used to re-order filters
+dragHandleTooltipText=Kéo lên hoặc xuống để sắp xếp lại bộ lọc
+
+# LOCALIZATION NOTE (labelDragTooltipText):
+# This string is used as a tooltip text (shown on mouse hover) on the
+# filters' labels which can be dragged left/right to increase/decrease
+# the filter's value (like photoshop)
+labelDragTooltipText=Kéo sang trái hoặc phải để giảm hoặc tăng giá trị
+
+# LOCALIZATION NOTE (filterListSelectPlaceholder):
+# This string is used as a preview option in the list of possible filters
+# <select>
+filterListSelectPlaceholder=Chọn một bộ lọc
+
+# LOCALIZATION NOTE (addNewFilterButton):
+# This string is displayed on a button used to add new filters
+addNewFilterButton=Thêm
+
+# LOCALIZATION NOTE (newPresetPlaceholder):
+# This string is used as a placeholder in the list of presets which is used to
+# save a new preset
+newPresetPlaceholder=Tên định sẵn
+
+# LOCALIZATION NOTE (savePresetButton):
+# This string is displayed on a button used to save a new preset
+savePresetButton=Lưu
+
+# LOCALIZATION NOTE(presetsToggleButton):
+# This string is used in a button which toggles the presets list
+presetsToggleButton=Cài đặt trước
diff --git a/l10n-vi/devtools/client/font-inspector.properties b/l10n-vi/devtools/client/font-inspector.properties
new file mode 100644
index 0000000000..84cdbde6ef
--- /dev/null
+++ b/l10n-vi/devtools/client/font-inspector.properties
@@ -0,0 +1,69 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE This file contains the Font Inspector strings.
+# The Font Inspector is a panel accessible in the Inspector sidebar.
+
+# LOCALIZATION NOTE (fontinspector.system) This label indicates that the font is a local
+# system font.
+fontinspector.system=hệ thống
+
+# LOCALIZATION NOTE (fontinspector.noFontsUsedOnCurrentElement): This label is shown when
+# no fonts were used on the selected element.
+fontinspector.noFontsUsedOnCurrentElement=Không có phông chữ được sử dụng trên các yếu tố hiện tại.
+
+# LOCALIZATION NOTE (fontinspector.copyURL): This is the text that appears in a tooltip
+# displayed when the user hovers over the copy icon next to the font URL.
+# Clicking the copy icon copies the full font URL to the user's clipboard
+fontinspector.copyURL=Sao chép URL
+
+# LOCALIZATION NOTE (fontinspector.customInstanceName): Think of instances as presets
+# (groups of settings that apply in bulk to a thing). Instances have names. When the user
+# creates a new instance, it doesn't have a name. This is the text that appears as the
+# default name for a new instance. It shows up in a dropdown from which users can select
+# between predefined instances and this custom instance.
+fontinspector.customInstanceName=Tùy chọn
+
+# LOCALIZATION NOTE (fontinspector.fontInstanceLabel): This label is shown next to the UI
+# in the font editor which allows a user to select a font instance option from a
+# dropdown. An instance is like a preset. A "font instance" is the term used by the font
+# authors to mean a group of predefined font settings.
+fontinspector.fontInstanceLabel=Thực thể
+
+# LOCALIZATION NOTE (fontinspector.fontSizeLabel): This label is shown next to the UI
+# in the font editor which allows the user to change the font size.
+fontinspector.fontSizeLabel=Kích thước
+
+# LOCALIZATION NOTE (fontinspector.fontWeightLabel): This label is shown next to the UI
+# in the font editor which allows the user to change the font weight.
+fontinspector.fontWeightLabel=Độ dày
+
+# LOCALIZATION NOTE (fontinspector.fontItalicLabel): This label is shown next to the UI
+# in the font editor which allows the user to change the style of the font to italic.
+fontinspector.fontItalicLabel=Nghiêng
+
+# LOCALIZATION NOTE (fontinspector.showMore): Label for a collapsed list of fonts.
+fontinspector.showMore=Xem thêm
+
+# LOCALIZATION NOTE (fontinspector.showLess): Label for an expanded list of fonts.
+fontinspector.showLess=Xem ít hơn
+
+# LOCALIZATION NOTE (fontinspector.letterSpacingLabel): Label for the UI to change the
+# letter spacing in the font editor.
+fontinspector.letterSpacingLabel=Khoảng cách
+
+# LOCALIZATION NOTE (fontinspector.lineHeightLabelCapitalized): Label for the UI to change the line height in the font editor.
+fontinspector.lineHeightLabelCapitalized=Chiều cao giữa các dòng
+
+# LOCALIZATION NOTE (fontinspector.allFontsOnPageHeader): Header for the section listing
+# all the fonts on the current page.
+fontinspector.allFontsOnPageHeader=Tất cả các phông chữ trên trang
+
+# LOCALIZATION NOTE (fontinspector.fontsUsedLabel): Label for the Font Editor section
+# which shows the fonts used on the selected element.
+fontinspector.fontsUsedLabel=Phông chữ đã sử dụng
+
+# LOCALIZATION NOTE (fontinspector.previewTextPlaceholder): Placeholder for the input
+# where the user can type text to get a preview of it using a font.
+fontinspector.previewTextPlaceholder=Xem trước phông chữ
diff --git a/l10n-vi/devtools/client/har.properties b/l10n-vi/devtools/client/har.properties
new file mode 100644
index 0000000000..790ab7369d
--- /dev/null
+++ b/l10n-vi/devtools/client/har.properties
@@ -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/.
+
+# LOCALIZATION NOTE These strings are used inside the Network Monitor
+# which is available from the Web Developer sub-menu -> 'Network Monitor'.
+# 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.
+
+# LOCALIZATION NOTE These strings are used inside the Network Monitor
+# which is available from the Browser Tools sub-menu -> 'Network Monitor'.
+# 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.
+
+# LOCALIZATION NOTE (har.responseBodyNotIncluded): A label used within
+# HAR file explaining that HTTP response bodies are not includes
+# in exported data.
+har.responseBodyNotIncluded=Không bao gồm phần body trong HTTP response.
+
+# LOCALIZATION NOTE (har.responseBodyNotIncluded): A label used within
+# HAR file explaining that HTTP request bodies are not includes
+# in exported data.
+har.requestBodyNotIncluded=Không bao gồm phần body trong HTTP request.
+
diff --git a/l10n-vi/devtools/client/inspector.properties b/l10n-vi/devtools/client/inspector.properties
new file mode 100644
index 0000000000..a00a465ff8
--- /dev/null
+++ b/l10n-vi/devtools/client/inspector.properties
@@ -0,0 +1,594 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Inspector
+# which is available from the Browser Tools sub-menu -> 'Inspect'.
+#
+# 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.
+
+inspector.panelLabel.markupView=Chế độ xem đánh dấu
+
+# LOCALIZATION NOTE (markupView.more.showing)
+# When there are too many nodes to load at once, we will offer to
+# show all the nodes.
+markupView.more.showing=Một số node đã bị ẩn.
+
+# LOCALIZATION NOTE (markupView.more.showAll2): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+markupView.more.showAll2=Hiển thị tất cả #1 node
+
+# LOCALIZATION NOTE (markupView.whitespaceOnly.label)
+# Used in the badge that appears when whitespace-only text nodes are displayed in the
+# inspector.
+markupView.whitespaceOnly.label=khoảng trắng
+
+# LOCALIZATION NOTE (markupView.unavailableChildren.label)
+# Used in the badge that appears when the Browser Toolbox is in "parent-process"
+# mode and the markup view cannot display the children from a content browser.
+markupView.unavailableChildren.label=không khả dụng
+
+# LOCALIZATION NOTE (markupView.unavailableChildren.title)
+# Title for the badge that appears when the Browser Toolbox is in "parent-process"
+# mode and the markup view cannot display the children from a content browser.
+markupView.unavailableChildren.title=Phần tử con của phần tử này không khả dụng với chế độ của hộp công cụ trình duyệt hiện tại
+
+# LOCALIZATION NOTE (markupView.whitespaceOnly)
+# Used in a tooltip that appears when the user hovers over whitespace-only text nodes in
+# the inspector. %S in the content will be replaced by the whitespace characters used in
+# the text node.
+markupView.whitespaceOnly=Node văn bản chỉ khoảng trắng: %S
+
+# LOCALIZATION NOTE (markupView.display.flex.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+
+# LOCALIZATION NOTE (markupView.display.inlineFlex.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+
+# LOCALIZATION NOTE (markupView.display.grid.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+
+# LOCALIZATION NOTE (markupView.display.inlineGrid.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+
+# LOCALIZATION NOTE (markupView.display.subgrid.tooltiptext)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.subgrid.tooltiptiptext=Phần tử này đưa ra nội dung của nó theo mô hình lưới nhưng trì hoãn định nghĩa của các hàng và/hoặc cột của nó vào thùng chứa lưới mẹ của nó.
+
+# LOCALIZATION NOTE (markupView.display.flowRoot.tooltiptext)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.flowRoot.tooltiptext=Phần tử này tạo ra một hộp phần tử khối thiết lập bối cảnh định dạng khối mới.
+
+# LOCALIZATION NOTE (markupView.display.contents.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.contents.tooltiptext2=Phần tử này không tự tạo ra một hộp cụ thể mà hiển thị nội dung của nó.
+
+# LOCALIZATION NOTE (markupView.event.tooltiptext)
+# Used in a tooltip that appears when the user hovers over 'event' badge in
+# the markup view.
+markupView.event.tooltiptext=Xử lý sự kiện
+
+# LOCALIZATION NOTE (markupView.event.tooltiptext)
+# Used in a tooltip that appears when the user hovers over 'event' badge in
+# the markup view.
+
+# LOCALIZATION NOTE (markupView.custom.tooltiptext)
+# Used in a tooltip that appears when the user hovers over 'custom' badge in
+# the markup view. Only displayed on custom elements with a shadow root attached.
+markupView.custom.tooltiptext=Hiển thị tùy chỉnh định nghĩa thành phần
+
+# LOCALIZATION NOTE (markupView.newAttribute.label)
+# This is used to speak the New Attribute button when editing a tag
+# and a screen reader user tabs to it. This string is not visible onscreen.
+markupView.newAttribute.label=Thuộc tính mới
+
+# LOCALIZATION NOTE (markupView.revealLink.tooltip)
+# Used as a tooltip for an icon in the markup view when displaying elements inserted in
+# <slot> nodes in a custom component. When clicking on the icon, the corresponding
+# non-slotted container will be selected
+markupView.revealLink.tooltip=Tiết lộ
+
+#LOCALIZATION NOTE: Used in the image preview tooltip when the image could not be loaded
+previewTooltip.image.brokenImage=Không thể tải hình ảnh
+
+# LOCALIZATION NOTE: Used in color picker tooltip when the eyedropper is disabled for
+# non-HTML documents
+eyedropper.disabled.title=Không có sẵn trong các tài liệu không phải HTML
+
+#LOCALIZATION NOTE: Used in the event tooltip to allow the debugger to be opened
+eventsTooltip.openInDebugger=Mở trong trình gỡ lỗi
+
+# LOCALIZATION NOTE: Used in the event tooltip for the toggle button.
+# Parameter is the event type (e.g. "click")
+
+#LOCALIZATION NOTE: Used in the event tooltip to allow the debugger to be opened
+eventsTooltip.openInDebugger2=Mở “%S” trong Trình gỡ lỗi
+
+#LOCALIZATION NOTE: Used in the event tooltip when a script's filename cannot be detected
+eventsTooltip.unknownLocation=Vị trí không rõ
+
+#LOCALIZATION NOTE: Used in the mouseover tooltip when hovering "Unknown location."
+eventsTooltip.unknownLocationExplanation=Vị trí ban đầu của người nghe này không thể được phát hiện. Có thể mã được dịch bởi một tiện ích như Babel.
+
+# LOCALIZATION NOTE: Label for the checkbox in the event tooltip that toggles event listeners
+# Parameter is the event type (e.g. "click")
+
+#LOCALIZATION NOTE: Used in the tooltip for Bubbling
+eventsTooltip.Bubbling=Bubbling
+
+#LOCALIZATION NOTE: Used in the tooltip for Capturing
+eventsTooltip.Capturing=Đang chụp
+
+# LOCALIZATION NOTE: Title of the iframe we use in the event tooltip to display the code of
+# the event listener. Parameter is the event type (e.g. "click")
+
+# LOCALIZATION NOTE (allTabsMenuButton.tooltip): The tooltip that gets
+# displayed when hovering over the tabs overflow button.
+allTabsMenuButton.tooltip=Hiện tất cả các thẻ
+
+# LOCALIZATION NOTE (inspector.showThreePaneMode): This is the tooltip for the button
+# that toggles on the 3 pane inspector mode.
+inspector.showThreePaneMode=Bật trình kiểm tra 3 ngăn
+
+# LOCALIZATION NOTE (inspector.hideThreePaneMode): This is the tooltip for the button
+# that toggles off the 3 pane inspector mode.
+inspector.hideThreePaneMode=Tắt trình kiểm tra 3 ngăn
+
+# LOCALIZATION NOTE (inspector.searchResultsCount2): This is the label that
+# will show up next to the inspector search box. %1$S is the current result
+# index and %2$S is the total number of search results. For example: "3 of 9".
+# This won't be visible until the search box is updated in Bug 835896.
+inspector.searchResultsCount2=%1$S trên %2$S
+
+# LOCALIZATION NOTE (inspector.searchResultsNone): This is the label that
+# will show up next to the inspector search box when no matches were found
+# for the given string.
+# This won't be visible until the search box is updated in Bug 835896.
+inspector.searchResultsNone=Không tìm thấy chuỗi phù hợp
+
+# LOCALIZATION NOTE (inspector.menu.openUrlInNewTab.label): This is the label of
+# a menu item in the inspector contextual-menu that appears when the user right-
+# clicks on the attribute of a node in the inspector that is a URL, and that
+# allows to open that URL in a new tab.
+inspector.menu.openUrlInNewTab.label=Mở liên kết trong thẻ mới
+
+# LOCALIZATION NOTE (inspector.menu.copyUrlToClipboard.label): This is the label
+# of a menu item in the inspector contextual-menu that appears when the user
+# right-clicks on the attribute of a node in the inspector that is a URL, and
+# that allows to copy that URL in the clipboard.
+inspector.menu.copyUrlToClipboard.label=Sao chép địa chỉ liên kết
+
+# LOCALIZATION NOTE (inspector.menu.selectElement.label): This is the label of a
+# menu item in the inspector contextual-menu that appears when the user right-
+# clicks on the attribute of a node in the inspector that is the ID of another
+# element in the DOM (like with <label for="input-id">), and that allows to
+# select that element in the inspector.
+inspector.menu.selectElement.label=Chọn phần tử #%S
+
+# LOCALIZATION NOTE (inspectorEditAttribute.label): This is the label of a
+# sub-menu "Attribute" in the inspector contextual-menu that appears
+# when the user right-clicks on the node in the inspector, and that allows
+# to edit an attribute on this node.
+inspectorEditAttribute.label=Chỉnh sửa thuộc tính "%S"
+inspectorEditAttribute.accesskey=E
+
+# LOCALIZATION NOTE (inspectorRemoveAttribute.label): This is the label of a
+# sub-menu "Attribute" in the inspector contextual-menu that appears
+# when the user right-clicks on the attribute of a node in the inspector,
+# and that allows to remove this attribute.
+inspectorRemoveAttribute.label=Xóa thuộc tính "%S"
+inspectorRemoveAttribute.accesskey=R
+
+# LOCALIZATION NOTE (inspectorCopyAttributeValue.label): This is the label of a
+# sub-menu "Attribute" in the inspector contextual-menu that appears
+# when the user right-clicks on the attribute of a node in the inspector,
+# and that allows to copy the attribute value to clipboard.
+inspectorCopyAttributeValue.label=Sao chép thuộc tính “%S”
+inspectorCopyAttributeValue.accesskey=V
+
+# LOCALIZATION NOTE (inspector.nodePreview.highlightNodeLabel):
+# This string is displayed in a tooltip that is shown when hovering over a the
+# inspector icon displayed next to a DOM node preview (e.g. next to something
+# like "div#foo.bar").
+# DOM node previews can be displayed in places like the animation-inspector, the
+# console or the object inspector.
+# The tooltip invites the user to click on the icon in order to highlight the
+# node in the page.
+inspector.nodePreview.highlightNodeLabel=Nhấn vào đây để tô sáng node này trong trang
+
+# LOCALIZATION NOTE (inspectorHTMLEdit.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users edit the
+# (outer) HTML of the current node
+inspectorXMLEdit.label=Chỉnh sửa dưới dạng XML
+inspectorHTMLEdit.label=Chỉnh sửa dưới dạng HTML
+inspectorSVGEdit.label=Chỉnh sửa dưới dạng SVG
+inspectorMathMLEdit.label=Chỉnh sửa dưới dạng MathML
+inspectorHTMLEdit.accesskey=E
+
+# LOCALIZATION NOTE (inspectorCopyInnerHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users copy the
+# inner HTML of the current node
+inspectorCopyInnerHTML.label=HTML bên trong
+inspectorCopyInnerHTML.accesskey=I
+
+# LOCALIZATION NOTE (inspectorCopyOuterHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users copy the
+# outer HTML of the current node
+inspectorCopyOuterHTML.label=HTML bên ngoài
+inspectorCopyOuterHTML.accesskey=O
+
+# LOCALIZATION NOTE (inspectorCopyCSSSelector.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the CSS Selector of the current node
+inspectorCopyCSSSelector.label=Bộ chọn CSS
+inspectorCopyCSSSelector.accesskey=S
+
+# LOCALIZATION NOTE (inspectorCopyCSSPath.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the full CSS path of the current node
+inspectorCopyCSSPath.label=Đường dẫn CSS
+inspectorCopyCSSPath.accesskey=P
+
+# LOCALIZATION NOTE (inspectorCopyXPath.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the XPath of the current node
+inspectorCopyXPath.label=XPath
+inspectorCopyXPath.accesskey=X
+
+# LOCALIZATION NOTE (inspectorPasteOuterHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste outer
+# HTML in the current node
+inspectorPasteOuterHTML.label=HTML bên ngoài
+inspectorPasteOuterHTML.accesskey=O
+
+# LOCALIZATION NOTE (inspectorPasteInnerHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste inner
+# HTML in the current node
+inspectorPasteInnerHTML.label=HTML bên trong
+inspectorPasteInnerHTML.accesskey=I
+
+# LOCALIZATION NOTE (inspectorHTMLPasteBefore.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste
+# the HTML before the current node
+inspectorHTMLPasteBefore.label=Ở trước
+inspectorHTMLPasteBefore.accesskey=B
+
+# LOCALIZATION NOTE (inspectorHTMLPasteAfter.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste
+# the HTML after the current node
+inspectorHTMLPasteAfter.label=Ở sau
+inspectorHTMLPasteAfter.accesskey=A
+
+# LOCALIZATION NOTE (inspectorHTMLPasteFirstChild.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users paste
+# the HTML as the first child the current node
+inspectorHTMLPasteFirstChild.label=Như là nút con đầu tiên
+inspectorHTMLPasteFirstChild.accesskey=F
+
+# LOCALIZATION NOTE (inspectorHTMLPasteLastChild.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users paste
+# the HTML as the last child the current node
+inspectorHTMLPasteLastChild.label=Như là nút con cuối cùng
+inspectorHTMLPasteLastChild.accesskey=L
+
+# LOCALIZATION NOTE (inspectorScrollNodeIntoView.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users scroll
+# the current node into view
+inspectorScrollNodeIntoView.label=Cuộn đến vị trí của phần tử này
+inspectorScrollNodeIntoView.accesskey=S
+
+# LOCALIZATION NOTE (inspectorHTMLDelete.label): This is the label shown in
+# the inspector contextual-menu for the item that lets users delete the
+# current node
+inspectorHTMLDelete.label=Xóa node
+inspectorHTMLDelete.accesskey=D
+
+# LOCALIZATION NOTE (inspectorAttributesSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the other
+# attribute items, which allow to:
+# - add new attribute
+# - edit attribute
+# - remove attribute
+inspectorAttributesSubmenu.label=Thuộc tính
+inspectorAttributesSubmenu.accesskey=A
+
+# LOCALIZATION NOTE (inspectorAddAttribute.label): This is the label shown in
+# the inspector contextual-menu for the item that lets users add attribute
+# to current node
+inspectorAddAttribute.label=Thêm thuộc tính
+inspectorAddAttribute.accesskey=A
+
+# LOCALIZATION NOTE (inspectorPseudoClassSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the pseudo-classes.
+inspectorPseudoClassSubmenu.label=Thay đổi pseudo-class
+
+# LOCALIZATION NOTE (inspectorBreakpointSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the DOM breakpoints.
+inspectorBreakpointSubmenu.label=Tạo điểm dừng trên…
+
+# LOCALIZATION NOTE (inspectorSubtreeModification.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users add a DOM breakpoint
+# for subtree modification.
+inspectorSubtreeModification.label=Sửa đổi cây con
+
+# LOCALIZATION NOTE (inspectorAttributeModification.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users add a DOM breakpoint
+# for attribute modification.
+inspectorAttributeModification.label=Sửa đổi thuộc tính
+
+# LOCALIZATION NOTE (inspectorNodeRemoval.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users add a DOM breakpoint
+# for node removal.
+inspectorNodeRemoval.label=Loại bỏ node
+
+# LOCALIZATION NOTE (inspectorSearchHTML.label3): This is the label that is
+# shown as the placeholder for the markup view search in the inspector.
+inspectorSearchHTML.label3=Tìm kiếm HTML
+
+# LOCALIZATION NOTE (inspectorImageDataUri.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the URL embedding the image data encoded in Base 64 (what we name
+# here Image Data URL). For more information:
+# https://developer.mozilla.org/en-US/docs/Web/HTTP/data_URIs
+inspectorImageDataUri.label=URL dữ liệu hình ảnh
+
+# LOCALIZATION NOTE (inspectorShowDOMProperties.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users see
+# the DOM properties of the current node. When triggered, this item
+# opens the split Console and displays the properties in its side panel.
+inspectorShowDOMProperties.label=Hiện thuộc tính DOM
+
+# LOCALIZATION NOTE (inspectorShowAccessibilityProperties.label): This is the
+# label shown in the inspector contextual-menu for the item that lets users see
+# the accessibility tree and accessibility properties of the current node.
+# When triggered, this item opens accessibility panel and selects an accessible
+# object for the given node.
+inspectorShowAccessibilityProperties.label=Hiển thị thuộc tính trợ năng
+
+# LOCALIZATION NOTE (inspectorUseInConsole.label): This is the label
+# shown in the inspector contextual-menu for the item that outputs a
+# variable for the current node to the console. When triggered,
+# this item opens the split Console.
+inspectorUseInConsole.label=Sử dụng trong bảng điều khiển
+
+# LOCALIZATION NOTE (inspectorExpandNode.label): This is the label
+# shown in the inspector contextual-menu for recursively expanding
+# mark-up elements
+inspectorExpandNode.label=Mở rộng tất cả
+
+# LOCALIZATION NOTE (inspectorCollapseAll.label): This is the label
+# shown in the inspector contextual-menu for recursively collapsing
+# mark-up elements
+inspectorCollapseAll.label=Thu gọn tất cả
+
+# LOCALIZATION NOTE (inspectorScreenshotNode.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users take
+# a screenshot of the currently selected node.
+inspectorScreenshotNode.label=Chụp ảnh màn hình node
+
+# LOCALIZATION NOTE (inspectorDuplicateNode.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users
+# duplicate the currently selected node.
+inspectorDuplicateNode.label=Nhân đôi node
+
+# LOCALIZATION NOTE (inspectorAddNode.label): This is the label shown in
+# the inspector toolbar for the button that lets users add elements to the
+# DOM (as children of the currently selected element).
+inspectorAddNode.label=Tạo node mới
+inspectorAddNode.accesskey=C
+
+# LOCALIZATION NOTE (inspectorCopyHTMLSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the other
+# copy items, which allow to:
+# - Copy Inner HTML
+# - Copy Outer HTML
+# - Copy Unique selector
+# - Copy Image data URI
+inspectorCopyHTMLSubmenu.label=Sao chép
+
+# LOCALIZATION NOTE (inspectorPasteHTMLSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the other
+# paste items, which allow to:
+# - Paste Inner HTML
+# - Paste Outer HTML
+# - Before
+# - After
+# - As First Child
+# - As Last Child
+inspectorPasteHTMLSubmenu.label=Dán
+
+# LOCALIZATION NOTE (inspectorCustomElementDefinition.label): This is the label
+# shown in the inspector contextual-menu for custom elements to which a shadow root has
+# been attached. Clicking on the menu item will open the Debugger on the custom element
+# definition location.
+inspectorCustomElementDefinition.label=Hiển thị phần tử tùy chỉnh
+
+# LOCALIZATION NOTE (inspector.searchHTML.key):
+# Key shortcut used to focus the DOM element search box on top-right corner of
+# the markup view
+inspector.searchHTML.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (markupView.hide.key):
+# Key shortcut used to hide the selected node in the markup view.
+markupView.hide.key=h
+
+# LOCALIZATION NOTE (markupView.edit.key):
+# Key shortcut used to hide the selected node in the markup view.
+markupView.edit.key=F2
+
+# LOCALIZATION NOTE (markupView.scrollInto.key):
+# Key shortcut used to scroll the webpage in order to ensure the selected node
+# is visible
+markupView.scrollInto.key=s
+
+# LOCALIZATION NOTE (inspector.sidebar.fontInspectorTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying the list of fonts used in the page.
+inspector.sidebar.fontInspectorTitle=Phông chữ
+
+# LOCALIZATION NOTE (inspector.sidebar.changesViewTitle):
+# Title of the Changes sidebar tab shown in the Inspector panel. The Changes panel shows
+# style changes made using DevTools.
+inspector.sidebar.changesViewTitle=Thay đổi
+
+# LOCALIZATION NOTE (inspector.sidebar.ruleViewTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying the list of CSS rules used
+# in the page.
+inspector.sidebar.ruleViewTitle=Quy tắc
+
+# LOCALIZATION NOTE (inspector.sidebar.computedViewTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying the list of computed CSS values
+# used in the page.
+inspector.sidebar.computedViewTitle=Tính toán
+
+# LOCALIZATION NOTE (inspector.sidebar.layoutViewTitle2):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying layout information defined in the page.
+inspector.sidebar.layoutViewTitle2=Bố cục
+
+# LOCALIZATION NOTE (inspector.sidebar.animationInspectorTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying animations defined in the page.
+inspector.sidebar.animationInspectorTitle=Hoạt hình
+
+# LOCALIZATION NOTE (inspector.sidebar.compatibilityViewTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying web compatibility information about the page.
+inspector.sidebar.compatibilityViewTitle=Tính tương thích
+
+# LOCALIZATION NOTE (inspector.eyedropper.label): A string displayed as the tooltip of
+# a button in the inspector which toggles the Eyedropper tool
+inspector.eyedropper.label=Lấy một màu từ trang
+
+# LOCALIZATION NOTE (inspector.breadcrumbs.label): A string visible only to a screen reader and
+# is used to label (using aria-label attribute) a container for inspector breadcrumbs
+inspector.breadcrumbs.label=Đánh dấu đường dẫn
+
+# LOCALIZATION NOTE (inspector.browserStyles.label): This is the label for the checkbox
+# that specifies whether the styles that are not from the user's stylesheet should be
+# displayed or not.
+inspector.browserStyles.label=Mẫu trình duyệt
+
+# LOCALIZATION NOTE (inspector.filterStyles.label): This is the label for the search box
+inspector.filterStyles.label=Lọc kiểu
+
+# LOCALIZATION NOTE (inspector.filterStyles.placeholder): This is the placeholder that
+# goes in the search box when no search term has been entered.
+inspector.filterStyles.placeholder=Lọc kiểu
+
+# LOCALIZATION NOTE (inspector.filterStylesClearButton.title): This is the title
+# for the search box clear button displayed when the input is not empty.
+inspector.filterStylesClearButton.title = Xoá bộ lọc
+
+# LOCALIZATION NOTE (inspector.addRule.tooltip): This is the tooltip shown when
+# hovering the `Add new rule` button in the rules view toolbar. This should
+# match ruleView.contextmenu.addNewRule in styleinspector.properties
+inspector.addRule.tooltip=Thêm quy tắc mới
+
+# LOCALIZATION NOTE (inspector.togglePseudo.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Pseudo Class Panel` button in the
+# rule view toolbar.
+inspector.togglePseudo.tooltip=Bật/tắt các lớp giả
+
+# LOCALIZATION NOTE (inspector.classPanel.toggleClass.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Class Panel` button in the
+# rule view toolbar.
+inspector.classPanel.toggleClass.tooltip=Bật/tắt lớp
+
+# LOCALIZATION NOTE (inspector.classPanel.newClass.placeholder): This is the placeholder
+# shown inside the text field used to add a new class in the rule-view.
+inspector.classPanel.newClass.placeholder=Thêm lớp mới
+
+# LOCALIZATION NOTE (inspector.classPanel.noClasses): This is the text displayed in the
+# class panel when the current element has no classes applied.
+inspector.classPanel.noClasses=Không có lớp về phần tử này
+
+# LOCALIZATION NOTE (inspector.noProperties): In the case where there are no CSS
+# properties to display e.g. due to search criteria this message is
+# displayed.
+inspector.noProperties=Không tìm thấy đặc tính CSS.
+
+# LOCALIZATION NOTE (inspector.printSimulation.tooltip):
+# This is the tooltip of the print simulation button in the Rule View toolbar
+# that toggles print simulation.
+inspector.printSimulation.tooltip = Chuyển đổi mô phỏng phương tiện in cho trang
+
+# LOCALIZATION NOTE (inspector.colorSchemeSimulationLight.tooltip):
+# This is the tooltip of the light color scheme simulation button in the Rule View
+# toolbar that toggles light color scheme simulation.
+inspector.colorSchemeSimulationLight.tooltip=Chuyển đổi sang mô phỏng bảng màu sáng cho trang
+
+# LOCALIZATION NOTE (inspector.colorSchemeSimulationDark.tooltip):
+# This is the tooltip of the dark color scheme simulation button in the Rule View
+# toolbar that toggles dark color scheme simulation.
+inspector.colorSchemeSimulationDark.tooltip=Chuyển đổi sang mô phỏng bảng màu tối cho trang
+
+# LOCALIZATION NOTE (markupView.scrollableBadge.label): This is the text displayed inside a
+# badge, in the inspector, next to nodes that are scrollable in the page.
+markupView.scrollableBadge.label=scroll
+
+# LOCALIZATION NOTE (markupView.scrollableBadge.tooltip): This is the tooltip that is displayed
+# when hovering over badges next to scrollable elements in the inspector.
+markupView.scrollableBadge.tooltip=Phần tử này có nội dung có thể cuộn.
+
+# LOCALIZATION NOTE (markupView.scrollableBadge.interactive.tooltip): This is the tooltip that is displayed
+# when hovering over interactive badges next to scrollable elements in the inspector.
+markupView.scrollableBadge.interactive.tooltip=Phần tử này có phần thanh cuộn. Nhấp để hiển thị những phần tử gây tràn.
+
+# LOCALIZATION NOTE (markupView.overflowBadge.label): This is the text displayed inside a
+# badge, in the inspector, next to nodes that are causing overflow in other elements.
+markupView.overflowBadge.label=overflow
+
+# LOCALIZATION NOTE (markupView.overflowBadge.tooltip): This is the tooltip that is displayed
+# when hovering over badges next to overflow causing elements in the inspector.
+markupView.overflowBadge.tooltip=Phần tử này làm tràn một phần tử ra bên ngoài.
+
+# LOCALIZATION NOTE (rulePreviewTooltip.noAssociatedRule): This is the text displayed inside
+# the RulePreviewTooltip when a rule cannot be found for a CSS property declaration.
+rulePreviewTooltip.noAssociatedRule=Không có quy tắc liên quan
+
+# LOCALIZATION NOTE (colorPickerTooltip.contrastAgainstBgTitle): A title text for the
+# contrast ratio value description that labels the background the color contrast ratio is calculated
+# against, used together with the actual background color. %S in the content will be replaced by a
+# span (containing bg color swatch) and textNode (containing bg color hex string) at run time
+colorPickerTooltip.contrastAgainstBgTitle=Được tính toán dựa trên màu nền: %S
+
+# LOCALIZATION NOTE (colorPickerTooltip.spectrumDraggerTitle): A title text for the
+# spectrum dragger panel in the color picker tooltip.
+colorPickerTooltip.spectrumDraggerTitle=Quang phổ màu
+
+# LOCALIZATION NOTE (colorPickerTooltip.eyedropperTitle): A title text for the
+# eyedropper in the color picker tooltip.
+colorPickerTooltip.eyedropperTitle=Chọn màu trên trang
+
+# LOCALIZATION NOTE (colorPickerTooltip.colorNameTitle): A title text for the
+# closest color name shown in the color picker tooltip, used together with the actual color.
+# %S in the content will be replaced by the color name the current color is closest to.
+colorPickerTooltip.colorNameTitle=Gần nhất với: %S
+
+# LOCALIZATION NOTE (colorPickerTooltip.hueSliderTitle): A title text for the
+# hue slider in the color picker tooltip.
+colorPickerTooltip.hueSliderTitle=Tông màu
+
+# LOCALIZATION NOTE (colorPickerTooltip.alphaSliderTitle): A title text for the
+# alpha slider in the color picker tooltip.
+colorPickerTooltip.alphaSliderTitle=Độ mờ
+
+# LOCALIZATION NOTE (colorPickerTooltip.contrast.large.title): A title text for the color
+# contrast ratio description in the color picker tooltip, used together with the specification
+# that the color contrast criteria used is for large text. %S in the content will be replaced by a
+# large text indicator span at run time.
+colorPickerTooltip.contrast.large.title=Độ tương phản %S:
diff --git a/l10n-vi/devtools/client/jsonview.properties b/l10n-vi/devtools/client/jsonview.properties
new file mode 100644
index 0000000000..0a3bd3ec6b
--- /dev/null
+++ b/l10n-vi/devtools/client/jsonview.properties
@@ -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/.
+
+# LOCALIZATION NOTE These strings are used in the JSON View tool
+# that is used to inspect application/json document types loaded
+# in the browser.
+
+# LOCALIZATION NOTE 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.
+
+# LOCALIZATION NOTE (jsonViewer.tab.JSON, jsonViewer.tab.RawData,
+# jsonViewer.tab.Headers): Label for a panel tab.
+jsonViewer.tab.JSON=JSON
+jsonViewer.tab.RawData=Dữ liệu thô
+jsonViewer.tab.Headers=Tiêu đề
+
+# LOCALIZATION NOTE (jsonViewer.responseHeaders, jsonViewer.requestHeaders):
+# Label for header groups within the 'Headers' panel.
+jsonViewer.responseHeaders=Tiêu đề phản hồi
+jsonViewer.requestHeaders=Tiêu đề yêu cầu
+
+# LOCALIZATION NOTE (jsonViewer.Save): Label for save command
+jsonViewer.Save=Lưu
+
+# LOCALIZATION NOTE (jsonViewer.Copy): Label for clipboard copy command
+jsonViewer.Copy=Sao chép
+
+# LOCALIZATION NOTE (jsonViewer.ExpandAll): Label for expanding all nodes
+jsonViewer.ExpandAll=Mở rộng tất cả
+
+jsonViewer.ExpandAllSlow=Mở rộng tất cả (chậm)
+
+# LOCALIZATION NOTE (jsonViewer.CollapseAll): Label for collapsing all nodes
+jsonViewer.CollapseAll=Thu gọn tất cả
+
+# LOCALIZATION NOTE (jsonViewer.PrettyPrint): Label for JSON
+# pretty print action button.
+jsonViewer.PrettyPrint=In đẹp
+
+# LOCALIZATION NOTE (jsonViewer.filterJSON): Label used in search box
+# at the top right cornder of the JSON Viewer.
+jsonViewer.filterJSON=Bộ lọc JSON
+
diff --git a/l10n-vi/devtools/client/layout.properties b/l10n-vi/devtools/client/layout.properties
new file mode 100644
index 0000000000..5fc25d4392
--- /dev/null
+++ b/l10n-vi/devtools/client/layout.properties
@@ -0,0 +1,137 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE This file contains the Layout Inspector strings.
+# The Layout Inspector is a panel accessible in the Inspector sidebar.
+
+# LOCALIZATION NOTE (flexbox.header): The accordion header for the Flexbox panel when
+# no flex container or item is selected.
+flexbox.header=Flexbox
+
+# LOCALIZATION NOTE (flexbox.backButtonLabel): The spoken label for the button
+# that returns from the display of a flex item to the flex item list.
+# This label is spoken by screen readers, not displayed on screen.
+flexbox.backButtonLabel=Quay lại với ngăn chứa Flex
+
+# LOCALIZATION (flexbox.flexContainer): The accordion header for the Flexbox panel
+# when a flex container is selected.
+flexbox.flexContainer=Ngăn chứa Flex
+
+# LOCALIZATION NOTE) (flexbox.flexItemOf): The accordion header for the Flexbox panel
+# when a flex item is selected. %s represents the flex container selector.
+flexbox.flexItemOf=Mục flex của %S
+
+# LOCALIZATION NOTE (flexbox.noFlexboxeOnThisPage): In the case where there are no CSS
+# flex containers to display.
+flexbox.noFlexboxeOnThisPage=Chọn một ngăn chứa Flex hoặc mục để tiếp tục.
+
+# LOCALIZATION NOTE (flexbox.flexItems): Header label displayed for the flex item list.
+flexbox.flexItems=Mục flex
+
+# LOCALIZATION NOTE (flexbox.noFlexItems): Label shown in the flex items list section if
+# there are no flex items for the flex container to display.
+flexbox.noFlexItems=Không có mục flex
+
+# LOCALIZATION NOTE (flexbox.itemSizing.baseSizeSectionHeader): Header label displayed
+# at the start of the flex item sizing Base Size section.
+flexbox.itemSizing.baseSizeSectionHeader=Kích thước cơ sở
+
+# LOCALIZATION NOTE (flexbox.itemSizing.flexibilitySectionHeader): Header label displayed
+# at the start of the flex item sizing Flexibility section.
+flexbox.itemSizing.flexibilitySectionHeader=Tính linh hoạt
+
+# LOCALIZATION NOTE (flexbox.itemSizing.minSizeSectionHeader): Header label displayed
+# at the start of the flex item sizing Minimum Size section.
+flexbox.itemSizing.minSizeSectionHeader=Kích thước nhỏ nhất
+
+# LOCALIZATION NOTE (flexbox.itemSizing.maxSizeSectionHeader): Header label displayed at
+# the start of the flex item sizing Maximum Size section.
+flexbox.itemSizing.maxSizeSectionHeader=Kích thước lớn nhất
+
+# LOCALIZATION NOTE (flexbox.itemSizing.finalSizeSectionHeader): Header label displayed at
+# the start of the flex item sizing Final Size section.
+flexbox.itemSizing.finalSizeSectionHeader=Kích thước cuối cùng
+
+# LOCALIZATION NOTE (flexbox.itemSizing.itemContentSize): Label shown in the flex item
+# sizing panel. It tells users that a given item’s base size was calculated from its
+# content size when unconstrained.
+flexbox.itemSizing.itemContentSize=Kích thước nội dung
+
+# LOCALIZATION NOTE (flexbox.itemSizing.clampedToMax): Label shown in the flexbox item
+# sizing panel. It tells users that a given item attempted to grow but ended up being
+# clamped to a smaller max size.
+# (Note that clamp is a common word in flexbox terminology. It refers to constraining an
+# item's size to some defined min/max-width/height set on the element, even though there
+# might have been room for it to grow, or reason for it to shrink more).
+flexbox.itemSizing.clampedToMax=Các mục đã được kẹp với kích thước lớn nhất của nó.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.clampedToMin): Label shown in the flexbox item
+# sizing panel. It tells users that a given item attempted to grow but ended up being
+# clamped to a larger min size.
+# (Note that clamp is a common word in flexbox terminology. It refers to constraining an
+# item's size to some defined min/max-width/height set on the element, even though there
+# might have been room for it to grow, or reason for it to shrink more).
+flexbox.itemSizing.clampedToMin=Các mục đã được kẹp với kích thước nhỏ nhất của nó.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.setToGrow): Label shown in the flex item sizing
+# panel. It tells users that a given item was set to grow.
+flexbox.itemSizing.setToGrow=Mục đã được thiết lập để phát triển.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.setToShrink): Label shown in the flexbox item
+# sizing panel. It tells users that a given item was set to shrink.
+flexbox.itemSizing.setToShrink=Mục đã được thiết lập để thu nhỏ.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.notSetToGrow): Label shown in the
+# flexbox item sizing panel. It tells users that a given item was not set to grow, even
+# though there might have been space on the flex line for it to grow.
+flexbox.itemSizing.notSetToGrow=Mục không được thiết lập để phát triển.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.notSetToShrink): Label shown in the
+# flexbox item sizing panel. It tells users that a given item did not shrink even though
+# there might not have been enough space on the flex line for all items to fit.
+flexbox.itemSizing.notSetToShrink=Mục không được thiết lập để thu nhỏ.
+
+# LOCALIZATION NOTE (flexbox.togglesFlexboxHighlighter2): The tooltip text for the Flexbox
+# toggle button.
+flexbox.togglesFlexboxHighlighter2=Chuyển đến công cụ tô sáng Flexbox
+
+# LOCALIZATION NOTE (layout.overlayCheckbox.label): Label used for checkboxes in the grid
+# sections of the layout panel that control the display of the grid highlighter.
+
+# LOCALIZATION NOTE (layout.cannotShowGridOutline, layout.cannotSHowGridOutline.title):
+# In the case where the grid outline cannot be effectively displayed.
+layout.cannotShowGridOutline=Không thể hiển thị phác thảo cho lưới này
+layout.cannotShowGridOutline.title=Phác thảo lưới đã chọn không thể phù hợp một cách hiệu quả bên trong bảng bố trí để có thể sử dụng được.
+
+# LOCALIZATION NOTE (layout.displayAreaNames): Label of the display area names setting
+# option in the CSS Grid panel.
+layout.displayAreaNames=Hiển thị tên vùng
+
+# LOCALIZATION NOTE (layout.displayLineNumbers): Label of the display line numbers
+# setting option in the CSS Grid panel.
+layout.displayLineNumbers=Hiển thị số thứ tự dòng
+
+# LOCALIZATION NOTE (layout.extendLinesInfinitely): Label of the extend lines
+# infinitely setting option in the CSS Grid panel.
+layout.extendLinesInfinitely=Mở rộng dòng vô hạn
+
+# LOCALIZATION NOTE (layout.header): The accordion header for the CSS Grid panel.
+layout.header=Lưới
+
+# LOCALIZATION NOTE (layout.gridDisplaySettings): The header for the grid display
+# settings container in the CSS Grid panel.
+layout.gridDisplaySettings=Cài đặt hiển thị lưới
+
+# LOCALIZATION NOTE (layout.noGridsOnThisPage): In the case where there are no CSS grid
+# containers to display.
+layout.noGridsOnThisPage=Lưới CSS không được sử dụng trên trang này
+
+# LOCALIZATION NOTE (layout.overlayGrid): Alternate header for the list of grid container
+# elements if only one item can be selected.
+layout.overlayGrid=Lớp phủ lưới
+
+# LOCALIZATION NOTE (layout.colorSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a color swatch in the layout panel (for flexbox/grid highlighter color).
+# %s represents the current selected color in hex format (e.g. #FF0000).
+layout.colorSwatch.tooltip=Mẫu màu: %S. Bấm để mở bộ chọn màu
diff --git a/l10n-vi/devtools/client/memory.properties b/l10n-vi/devtools/client/memory.properties
new file mode 100644
index 0000000000..5059937330
--- /dev/null
+++ b/l10n-vi/devtools/client/memory.properties
@@ -0,0 +1,434 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Memory Tools
+# which is available from the Web Developer sub-menu -> 'Memory'.
+# 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.
+
+# LOCALIZATION NOTE These strings are used inside the Memory Tools
+# which is available from the Browser Tools sub-menu -> 'Memory'.
+# 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.
+
+# LOCALIZATION NOTE (snapshot.io.save): The label for the link that saves a
+# snapshot to disk.
+snapshot.io.save=Lưu
+
+# LOCALIZATION NOTE (snapshot.io.delete): The label for the link that deletes
+# a snapshot
+snapshot.io.delete=Xóa
+
+# LOCALIZATION NOTE (snapshot.io.save.window): The title for the window
+# displayed when saving a snapshot to disk.
+snapshot.io.save.window=Lưu Snapshot
+
+# LOCALIZATION NOTE (snapshot.io.import.window): The title for the window
+# displayed when importing a snapshot form disk.
+snapshot.io.import.window=Nhập Snapshot
+
+# LOCALIZATION NOTE (snapshot.io.filter): The title for the filter used to
+# filter file types (*.fxsnapshot)
+snapshot.io.filter=Firefox Snapshots
+
+# LOCALIZATION NOTE (aggregate.mb): The label annotating the number of bytes (in
+# megabytes) in a snapshot. %S represents the value, rounded to 2 decimal
+# points.
+aggregate.mb=%S MB
+
+# LOCALIZATION NOTE (snapshot-title.loading): The title for a snapshot before
+# it has a creation time to display.
+snapshot-title.loading=Đang xử lý…
+
+# LOCALIZATION NOTE (checkbox.recordAllocationStacks): The label describing the
+# boolean checkbox whether or not to record call stacks.
+checkbox.recordAllocationStacks=Ghi lại
+
+# LOCALIZATION NOTE (checkbox.recordAllocationStacks.tooltip): The tooltip for
+# the label describing the boolean checkbox whether or not to record call
+# stacks.
+checkbox.recordAllocationStacks.tooltip=Chuyển đổi bản ghi của ngăn xếp cuộc gọi khi một đối tượng được phân bổ. Ảnh chụp nhanh sau đó sẽ có thể nhóm và gắn nhãn các đối tượng bằng các ngăn xếp lệnh gọi, nhưng chỉ với các đối tượng được tạo sau khi bật tùy chọn này. Bản ghi ngăn xếp lệnh gọi có ảnh hưởng đến hiệu suất.
+
+# LOCALIZATION NOTE (toolbar.displayBy): The label describing the select menu
+# options of the display options.
+toolbar.displayBy=Nhóm theo:
+
+# LOCALIZATION NOTE (toolbar.displayBy.tooltip): The tooltip for the label
+# describing the select menu options of the display options.
+toolbar.displayBy.tooltip=Thay đổi cách các đối tượng được nhóm
+
+# LOCALIZATION NOTE (toolbar.pop-view): The text in the button to go back to the
+# previous view.
+toolbar.pop-view=←
+
+# LOCALIZATION NOTE (toolbar.pop-view.label): The text for the label for the
+# button to go back to the previous view.
+toolbar.pop-view.label=Quay trở lại tổng hợp
+
+# LOCALIZATION NOTE (toolbar.viewing-individuals): The text letting the user
+# know that they are viewing individual nodes from a census group.
+toolbar.viewing-individuals=⁂ Xem các cá nhân trong nhóm
+
+# LOCALIZATION NOTE (censusDisplays.coarseType.tooltip): The tooltip for the
+# "coarse type" display option.
+censusDisplays.coarseType.tooltip=Nhóm các mục theo kiểu của chúng
+
+# LOCALIZATION NOTE (censusDisplays.allocationStack.tooltip): The tooltip for
+# the "call stack" display option.
+censusDisplays.allocationStack.tooltip=Các mục nhóm theo ngăn xếp JavaScript được ghi lại khi đối tượng được phân bổ
+
+# LOCALIZATION NOTE (censusDisplays.invertedAllocationStack.tooltip): The
+# tooltip for the "inverted call stack" display option.
+censusDisplays.invertedAllocationStack.tooltip=Các mục nhóm theo ngăn xếp lệnh gọi JavaScript đảo ngược được ghi lại khi đối tượng được tạo
+
+# LOCALIZATION NOTE (toolbar.labelBy): The label describing the select menu
+# options of the label options.
+toolbar.labelBy=Dán nhãn bởi:
+
+# LOCALIZATION NOTE (toolbar.labelBy.tooltip): The tooltip for the label describing the
+# select menu options of the label options.
+toolbar.labelBy.tooltip=Thay đổi cách các đối tượng được dán nhãn
+
+# LOCALIZATION NOTE (dominatorTreeDisplays.coarseType.tooltip): The tooltip for
+# the "coarse type" dominator tree display option.
+dominatorTreeDisplays.coarseType.tooltip=Dán nhãn các đối tượng theo các danh mục mà chúng phù hợp
+
+# LOCALIZATION NOTE (dominatorTreeDisplays.allocationStack.tooltip): The
+# tooltip for the "call stack" dominator tree display option.
+dominatorTreeDisplays.allocationStack.tooltip=Dán nhãn các đối tượng theo JavaScript stack được ghi lại khi nó được phân bổ
+
+# LOCALIZATION NOTE (treeMapDisplays.coarseType.tooltip): The tooltip for
+# the "coarse type" tree map display option.
+treeMapDisplays.coarseType.tooltip=Dán nhãn các đối tượng theo các danh mục mà chúng phù hợp
+
+# LOCALIZATION NOTE (toolbar.view): The label for the view selector in the
+# toolbar.
+toolbar.view=Xem:
+
+# LOCALIZATION NOTE (toolbar.view.tooltip): The tooltip for the label for the
+# view selector in the toolbar.
+toolbar.view.tooltip=Thay đổi cách hiển thị snapshot
+
+# LOCALIZATION NOTE (toolbar.view.census): The label for the census view option
+# in the toolbar.
+toolbar.view.census=Tổng hợp
+
+# LOCALIZATION NOTE (toolbar.view.census.tooltip): The tooltip for the label for
+# the census view option in the toolbar.
+toolbar.view.census.tooltip=Xem tóm tắt nội dung snapshot bằng cách tổng hợp các đối tượng thành các nhóm
+
+# LOCALIZATION NOTE (toolbar.view.dominators): The label for the dominators view
+# option in the toolbar.
+toolbar.view.dominators=Thống đốc
+
+# LOCALIZATION NOTE (toolbar.view.dominators.tooltip): The tooltip for the label
+# for the dominators view option in the toolbar.
+toolbar.view.dominators.tooltip=Xem cây thống trị và bề mặt các cấu trúc lớn nhất trong snapshot
+
+# LOCALIZATION NOTE (toolbar.view.treemap): The label for the tree map option
+# in the toolbar.
+toolbar.view.treemap=Bản đồ hình cây
+
+# LOCALIZATION NOTE (toolbar.view.treemap.tooltip): The tooltip for the label for
+# the tree map view option in the toolbar.
+toolbar.view.treemap.tooltip=Trực quan hóa việc sử dụng bộ nhớ: các khối lớn hơn chiếm tỷ lệ sử dụng bộ nhớ lớn hơn
+
+# LOCALIZATION NOTE (take-snapshot): The label describing the button that
+# initiates taking a snapshot, either as the main label, or a tooltip.
+take-snapshot=Tạo snapshot
+
+# LOCALIZATION NOTE (import-snapshot): The label describing the button that
+# initiates importing a snapshot.
+import-snapshot=Nhập…
+
+# LOCALIZATION NOTE (clear-snapshots.tooltip): The tooltip for the button that
+# deletes existing snapshot.
+clear-snapshots.tooltip=Xóa tất cả các snapshot
+
+# LOCALIZATION NOTE (diff-snapshots.tooltip): The tooltip for the button that
+# initiates selecting two snapshots to diff with each other.
+diff-snapshots.tooltip=So sánh các snapshot
+
+# LOCALIZATION NOTE (filter.placeholder): The placeholder text used for the
+# memory tool's filter search box.
+filter.placeholder=Bộ lọc
+
+# LOCALIZATION NOTE (filter.tooltip): The tooltip text used for the memory
+# tool's filter search box.
+filter.tooltip=Lọc nội dung của snapshot
+
+# LOCALIZATION NOTE (tree-item.view-individuals.tooltip): The tooltip for the
+# button to view individuals in this group.
+tree-item.view-individuals.tooltip=Xem các nút riêng lẻ trong nhóm này và các đường dẫn duy trì của chúng
+
+# LOCALIZATION NOTE (tree-item.load-more): The label for the links to fetch the
+# lazily loaded sub trees in the dominator tree view.
+tree-item.load-more=Xem thêm…
+
+# LOCALIZATION NOTE (tree-item.rootlist): The label for the root of the
+# dominator tree.
+tree-item.rootlist=GC Roots
+
+# LOCALIZATION NOTE (tree-item.nostack): The label describing the row in the heap tree
+# that represents a row broken down by call stack when no stack was available.
+tree-item.nostack=(không có stack có sẵn)
+
+# LOCALIZATION NOTE (tree-item.nofilename): The label describing the row in the
+# heap tree that represents a row broken down by filename when no filename was
+# available.
+tree-item.nofilename=(không có tên tập tin nào)
+
+# LOCALIZATION NOTE (tree-item.root): The label describing the row in the heap tree
+# that represents the root of the tree when inverted.
+tree-item.root=(gốc)
+
+# LOCALIZATION NOTE (tree-item.percent2): A percent of bytes or count displayed in the tree view.
+# there are two "%" after %S to escape and display "%"
+tree-item.percent2=%S%%
+
+# LOCALIZATION NOTE (diffing.baseline): The name of the baseline snapshot in a
+# diffing comparison.
+diffing.baseline=Baseline
+
+# LOCALIZATION NOTE (diffing.comparison): The name of the snapshot being
+# compared to the baseline in a diffing comparison.
+diffing.comparison=So sánh
+
+# LOCALIZATION NOTE (diffing.prompt.selectBaseline): The prompt to select the
+# first snapshot when doing a diffing comparison.
+diffing.prompt.selectBaseline=Chọn snapshot của baseline
+
+# LOCALIZATION NOTE (diffing.prompt.selectComparison): The prompt to select the
+# second snapshot when doing a diffing comparison.
+diffing.prompt.selectComparison=Chọn snapshot để so sánh với baseline
+
+# LOCALIZATION NOTE (diffing.state.error): The label describing the diffing
+# state ERROR, used in the snapshot list when an error occurs while diffing two
+# snapshots.
+diffing.state.error=Lỗi
+
+# LOCALIZATION NOTE (diffing.state.error.full): The text describing the diffing
+# state ERROR, used in the main view when an error occurs while diffing two
+# snapshots.
+diffing.state.error.full=Có lỗi trong khi so sánh snapshot.
+
+# LOCALIZATION NOTE (diffing.state.taking-diff): The label describing the diffin
+# state TAKING_DIFF, used in the snapshots list when computing the difference
+# between two snapshots.
+diffing.state.taking-diff=Đang tính toán sự khác biệt…
+
+# LOCALIZATION NOTE (diffing.state.taking-diff.full): The label describing the
+# diffing state TAKING_DIFF, used in the main view when computing the difference
+# between two snapshots.
+diffing.state.taking-diff.full=Đang tính toán sự khác biệt…
+
+# LOCALIZATION NOTE (diffing.state.selecting): The label describing the diffing
+# state SELECTING.
+diffing.state.selecting=Chọn hai snapshot để so sánh
+
+# LOCALIZATION NOTE (diffing.state.selecting.full): The label describing the
+# diffing state SELECTING, used in the main view when selecting snapshots to
+# diff.
+diffing.state.selecting.full=Chọn hai snapshot để so sánh
+
+# LOCALIZATION NOTE (dominatorTree.state.computing): The label describing the
+# dominator tree state COMPUTING.
+dominatorTree.state.computing=Đang tạo báo cáo dominator…
+
+# LOCALIZATION NOTE (dominatorTree.state.computing.full): The label describing the
+# dominator tree state COMPUTING, used in the dominator tree view.
+dominatorTree.state.computing.full=Đang tạo báo cáo dominator…
+
+# LOCALIZATION NOTE (dominatorTree.state.fetching): The label describing the
+# dominator tree state FETCHING.
+dominatorTree.state.fetching=Đang tính kích thước…
+
+# LOCALIZATION NOTE (dominatorTree.state.fetching.full): The label describing the
+# dominator tree state FETCHING, used in the dominator tree view.
+dominatorTree.state.fetching.full=Đang tính toán kích thước dominator còn giữ lại…
+
+# LOCALIZATION NOTE (dominatorTree.state.incrementalFetching): The label
+# describing the dominator tree state INCREMENTAL_FETCHING.
+dominatorTree.state.incrementalFetching=Đang lấy…
+
+# LOCALIZATION NOTE (dominatorTree.state.incrementalFetching.full): The label describing the
+# dominator tree state INCREMENTAL_FETCHING, used in the dominator tree view.
+dominatorTree.state.incrementalFetching.full=Đang lấy thêm…
+
+# LOCALIZATION NOTE (dominatorTree.state.error): The label describing the
+# dominator tree state ERROR.
+dominatorTree.state.error=Lỗi
+
+# LOCALIZATION NOTE (dominatorTree.state.error.full): The label describing the
+# dominator tree state ERROR, used in the dominator tree view.
+dominatorTree.state.error.full=Đã có một lỗi khi xử lý cây dominator
+
+# LOCALIZATION NOTE (snapshot.state.saving.full): The label describing the
+# snapshot state SAVING, used in the main heap view.
+snapshot.state.saving.full=Đang lưu ảnh chụp…
+
+# LOCALIZATION NOTE (snapshot.state.reading.full): The label describing the
+# snapshot state READING, and SAVED, due to these states being combined
+# visually, used in the main heap view.
+snapshot.state.reading.full=Đang đọc snapshot…
+
+# LOCALIZATION NOTE (snapshot.state.saving-census.full): The label describing
+# the snapshot state SAVING, used in the main heap view.
+snapshot.state.saving-census.full=Đang tạo báo cáo tổng hợp…
+
+# LOCALIZATION NOTE (snapshot.state.saving-tree-map.full): The label describing
+# the snapshot state SAVING, used in the main heap view.
+snapshot.state.saving-tree-map.full=Đang lưu bản đồ cây…
+
+# LOCALIZATION NOTE (snapshot.state.error.full): The label describing the
+# snapshot state ERROR, used in the main heap view.
+snapshot.state.error.full=Có lỗi khi xử lý snapshot này.
+
+# LOCALIZATION NOTE (individuals.state.error): The short message displayed when
+# there is an error fetching individuals from a group.
+individuals.state.error=Lỗi
+
+# LOCALIZATION NOTE (individuals.state.error.full): The longer message displayed
+# when there is an error fetching individuals from a group.
+individuals.state.error.full=Đã có một lỗi khi lấy các cá thể trong nhóm
+
+# LOCALIZATION NOTE (individuals.state.fetching): The short message displayed
+# while fetching individuals.
+individuals.state.fetching=Đang nạp…
+
+# LOCALIZATION NOTE (individuals.state.fetching.full): The longer message
+# displayed while fetching individuals.
+individuals.state.fetching.full=Đang nạp các cá nhân trong nhóm…
+
+# LOCALIZATION NOTE (individuals.field.node): The header label for an individual
+# node.
+individuals.field.node=Node
+
+# LOCALIZATION NOTE (individuals.field.node.tooltip): The tooltip for the header
+# label for an individual node.
+individuals.field.node.tooltip=Node cá nhân trong snapshot
+
+# LOCALIZATION NOTE (snapshot.state.saving): The label describing the snapshot
+# state SAVING, used in the snapshot list view
+snapshot.state.saving=Đang lưu snapshot…
+
+# LOCALIZATION NOTE (snapshot.state.importing): The label describing the
+# snapshot state IMPORTING, used in the snapshot list view
+snapshot.state.importing=Đang nhập snapshot…
+
+# LOCALIZATION NOTE (snapshot.state.reading): The label describing the snapshot
+# state READING, and SAVED, due to these states being combined visually, used in
+# the snapshot list view.
+snapshot.state.reading=Đang đọc snapshot…
+
+# LOCALIZATION NOTE (snapshot.state.saving-census): The label describing the
+# snapshot state SAVING, used in snapshot list view.
+snapshot.state.saving-census=Đang lưu báo cáo…
+
+# LOCALIZATION NOTE (snapshot.state.saving-census): The label describing the
+# snapshot state SAVING, used in snapshot list view.
+snapshot.state.saving-tree-map=Đang lưu bản đồ cây…
+
+# LOCALIZATION NOTE (snapshot.state.error): The label describing the snapshot
+# state ERROR, used in the snapshot list view.
+snapshot.state.error=Lỗi
+
+# LOCALIZATION NOTE (heapview.no-difference): Message displayed when there is no
+# difference between two snapshots.
+heapview.no-difference=Không có sự khác biệt giữa baseline và so sánh.
+
+# LOCALIZATION NOTE (heapview.none-match): Message displayed when there are no
+# matches when filtering.
+heapview.none-match=Không tìm thấy chuỗi giống.
+
+# LOCALIZATION NOTE (heapview.none-match): Message displayed when there report
+# is empty.
+heapview.empty=Trống.
+
+# LOCALIZATION NOTE (heapview.noAllocationStacks): The message displayed to
+# users when selecting a display by "call stack" but no call stacks
+# were recorded in the heap snapshot.
+heapview.noAllocationStacks=Không tìm thấy call stacks. Ghi lại call stacks trước khi tạo snapshot.
+
+# LOCALIZATION NOTE (heapview.field.retainedSize): The name of the column in the
+# dominator tree view for retained byte sizes.
+heapview.field.retainedSize=Kích thước giữ lại (Bytes)
+
+# LOCALIZATION NOTE (heapview.field.retainedSize.tooltip): The tooltip for the
+# column header in the dominator tree view for retained byte sizes.
+heapview.field.retainedSize.tooltip=Tổng kích thước của chính đối tượng và kích thước của tất cả các đối tượng khác được giữ bởi nó
+
+# LOCALIZATION NOTE (heapview.field.shallowSize): The name of the column in the
+# dominator tree view for shallow byte sizes.
+heapview.field.shallowSize=Kích thước nông (Bytes)
+
+# LOCALIZATION NOTE (heapview.field.shallowSize.tooltip): The tooltip for the
+# column header in the dominator tree view for shallow byte sizes.
+heapview.field.shallowSize.tooltip=Kích thước của chính đối tượng
+
+# LOCALIZATION NOTE (dominatortree.field.label): The name of the column in the
+# dominator tree for an object's label.
+dominatortree.field.label=Thống đốc
+
+# LOCALIZATION NOTE (dominatortree.field.label.tooltip): The tooltip for the column
+# header in the dominator tree view for an object's label.
+dominatortree.field.label.tooltip=Nhãn cho một đối tượng trong bộ nhớ
+
+# LOCALIZATION NOTE (heapview.field.bytes): The name of the column in the heap
+# view for bytes.
+heapview.field.bytes=Byte
+
+# LOCALIZATION NOTE (heapview.field.bytes.tooltip): The tooltip for the column
+# header in the heap view for bytes.
+heapview.field.bytes.tooltip=Số lượng byte được đưa lên bởi nhóm này, ngoại trừ các nhóm con
+
+# LOCALIZATION NOTE (heapview.field.count): The name of the column in the heap
+# view for count.
+heapview.field.count=Tổng số
+
+# LOCALIZATION NOTE (heapview.field.count.tooltip): The tooltip for the column
+# header in the heap view for count.
+heapview.field.count.tooltip=Số lượng đối tượng có thể tiếp cận trong nhóm này, ngoại trừ các nhóm con
+
+# LOCALIZATION NOTE (heapview.field.totalbytes): The name of the column in the
+# heap view for total bytes.
+heapview.field.totalbytes=Tổng số byte
+
+# LOCALIZATION NOTE (heapview.field.totalbytes.tooltip): The tooltip for the
+# column header in the heap view for total bytes.
+heapview.field.totalbytes.tooltip=Số lượng byte được đưa lên bởi nhóm này, bao gồm các nhóm con
+
+# LOCALIZATION NOTE (heapview.field.totalcount): The name of the column in the
+# heap view for total count.
+heapview.field.totalcount=Tổng cộng
+
+# LOCALIZATION NOTE (heapview.field.totalcount.tooltip): The tooltip for the
+# column header in the heap view for total count.
+heapview.field.totalcount.tooltip=Số lượng đối tượng có thể tiếp cận trong nhóm này, bao gồm các nhóm con
+
+# LOCALIZATION NOTE (heapview.field.name): The name of the column in the heap
+# view for name.
+heapview.field.name=Nhóm
+
+# LOCALIZATION NOTE (heapview.field.name.tooltip): The tooltip for the column
+# header in the heap view for name.
+heapview.field.name.tooltip=Tên của nhóm này
+
+# LOCALIZATION NOTE (shortest-paths.header): The header label for the shortest
+# paths pane.
+shortest-paths.header=Đường dẫn duy trì (từ Garbage Collector Roots)
+
+# LOCALIZATION NOTE (shortest-paths.select-node): The message displayed in the
+# shortest paths pane when a node is not yet selected.
+shortest-paths.select-node=Chọn một mục để xem các đường dẫn duy trì của nó
+
+# LOCALIZATION NOTE (tree-map.node-count): The label for the count value of a
+# node in the tree map
+tree-map.node-count=lần
diff --git a/l10n-vi/devtools/client/menus.properties b/l10n-vi/devtools/client/menus.properties
new file mode 100644
index 0000000000..98fe4778ee
--- /dev/null
+++ b/l10n-vi/devtools/client/menus.properties
@@ -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/.
+
+# LOCALIZATION NOTE (devtoolsRemoteDebugging.label): This is the label for the menu item
+# in Tools > Web Developer. Clicking on this menu item will open about:debugging which
+# acts as a hub for debugging remote devices.
+devtoolsRemoteDebugging.label = Trình gỡ lỗi từ xa
+devtoolsRemoteDebugging.accesskey = R
+
+browserConsoleCmd.label = Cửa sổ dòng lệnh của trình duyệt
+browserConsoleCmd.accesskey = B
+
+responsiveDesignMode.label = Chế độ thiết kế tương thích
+responsiveDesignMode.accesskey = R
+
+eyedropper.label = Lấy mẫu màu
+eyedropper.accesskey = Y
+
+# LOCALIZATION NOTE (browserToolboxMenu.label): This is the label for the
+# application menu item that opens the browser toolbox UI in the Tools menu.
+browserToolboxMenu.label = Hộp công cụ của trình duyệt
+browserToolboxMenu.accesskey = e
+
+webDeveloperToolsMenu.label = Công cụ phát triển Web
+webDeveloperToolsMenu.accesskey = T
+
+extensionsForDevelopersCmd.label = Tiện ích mở rộng dành cho nhà phát triển
+extensionsForDevelopersCmd.accesskey = f
diff --git a/l10n-vi/devtools/client/netmonitor.properties b/l10n-vi/devtools/client/netmonitor.properties
new file mode 100644
index 0000000000..0b79be8bb9
--- /dev/null
+++ b/l10n-vi/devtools/client/netmonitor.properties
@@ -0,0 +1,1695 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Network Monitor
+# which is available from the Browser Tools sub-menu -> 'Network Monitor'.
+# 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.
+
+# LOCALIZATION NOTE (netmonitor.security.state.secure)
+# This string is used as an tooltip for request that was performed over secure
+# channel i.e. the connection was encrypted.
+netmonitor.security.state.secure=Kết nối được sử dụng để lấy tài nguyên này an toàn.
+
+# LOCALIZATION NOTE (netmonitor.security.state.insecure)
+# This string is used as an tooltip for request that was performed over insecure
+# channel i.e. the connection was not https
+netmonitor.security.state.insecure=Kết nối được sử dụng để lấy tài nguyên này không an toàn.
+
+# LOCALIZATION NOTE (netmonitor.security.state.broken)
+# This string is used as an tooltip for request that failed due to security
+# issues.
+netmonitor.security.state.broken=Một lỗi bảo mật đã ngăn tài nguyên được tải.
+
+# LOCALIZATION NOTE (netmonitor.security.state.weak)
+# This string is used as an tooltip for request that had minor security issues
+netmonitor.security.state.weak=Tài nguyên này đã được chuyển qua một kết nối sử dụng mã hóa yếu.
+
+# LOCALIZATION NOTE (netmonitor.security.enabled):
+# This string is used to indicate that a specific security feature is used by
+# a connection in the security details tab.
+# For example: "HTTP Strict Transport Security: Enabled"
+netmonitor.security.enabled=Đã bật
+
+# LOCALIZATION NOTE (netmonitor.security.disabled):
+# This string is used to indicate that a specific security feature is not used by
+# a connection in the security details tab.
+# For example: "HTTP Strict Transport Security: Disabled"
+netmonitor.security.disabled=Đã tắt
+
+# LOCALIZATION NOTE (netmonitor.security.hostHeader):
+# This string is used as a header for section containing security information
+# related to the remote host. %S is replaced with the domain name of the remote
+# host. For example: Host example.com
+netmonitor.security.hostHeader=Máy chủ %S:
+
+# LOCALIZATION NOTE (netmonitor.security.notAvailable):
+# This string is used to indicate that a certain piece of information is not
+# available to be displayed. For example a certificate that has no organization
+# defined:
+# Organization: <Not Available>
+netmonitor.security.notAvailable=<Không sẵn sàng>
+
+# LOCALIZATION NOTE (collapseDetailsPane): This is the tooltip for the button
+# that collapses the network details pane in the UI.
+collapseDetailsPane=Ẩn chi tiết yêu cầu
+
+# LOCALIZATION NOTE (collapseActionPane): This is the tooltip for the button
+# that collapses the network action pane in the UI.
+collapseActionPane=Ẩn hành động mạng
+
+# LOCALIZATION NOTE (allTabsMenuButton.tooltip): The tooltip that gets
+# displayed when hovering over the tabs overflow button.
+allTabsMenuButton.tooltip=Hiện tất cả các thẻ
+
+# LOCALIZATION NOTE (headersEmptyText): This is the text displayed in the
+# headers tab of the network details pane when there are no headers available.
+headersEmptyText=Yêu cầu này không có header
+
+# LOCALIZATION NOTE (headersFilterText): This is the text displayed in the
+# headers tab of the network details pane for the filtering input.
+headersFilterText=Lọc header
+
+# LOCALIZATION NOTE (messagesEmptyText): This is the text displayed in the
+# WebSockets tab of the network details pane when there are no frames available.
+messagesEmptyText=Không có tin nhắn cho yêu cầu này
+
+# LOCALIZATION NOTE (cookiesEmptyText): This is the text displayed in the
+# cookies tab of the network details pane when there are no cookies available.
+cookiesEmptyText=Yêu cầu này không có cookie
+
+# LOCALIZATION NOTE (cookiesFilterText): This is the text displayed in the
+# cookies tab of the network details pane for the filtering input.
+cookiesFilterText=Lọc cookie
+
+# LOCALIZATION NOTE (responseEmptyText): This is the text displayed in the
+# response tab of the network details pane when the response is empty or not
+# available for shown.
+responseEmptyText=Không có dữ liệu phản hồi có sẵn cho yêu cầu này
+
+# LOCALIZATION NOTE (paramsNoPayloadText): This is the text displayed in the
+# request tab of the network details pane when there are no params available.
+paramsNoPayloadText=Không có payload cho yêu cầu này
+
+# LOCALIZATION NOTE (paramsFilterText): This is the text displayed in the
+# request tab of the network details pane for the filtering input.
+paramsFilterText=Lọc tham số yêu cầu
+
+# LOCALIZATION NOTE (paramsQueryString): This is the label displayed
+# in the network details request tab identifying the query string.
+paramsQueryString=Chuỗi truy vấn
+
+# LOCALIZATION NOTE (paramsFormData): This is the label displayed
+# in the network details request tab identifying the form data.
+paramsFormData=Dữ liệu biểu mẫu
+
+# LOCALIZATION NOTE (paramsPostPayload): This is the label displayed
+# in the network details request tab identifying the request payload.
+paramsPostPayload=Payload yêu cầu
+
+# LOCALIZATION NOTE (netmonitor.request.raw): This is the label displayed
+# on the button in the network details request tab that toggles the
+# view of the network request between the raw data and the formatted display.
+netmonitor.request.raw=Raw
+
+# LOCALIZATION NOTE (requestHeaders): This is the label displayed
+# in the network details headers tab identifying the request headers.
+requestHeaders=Header yêu cầu
+
+# LOCALIZATION NOTE (requestHeadersFromUpload): This is the label displayed
+# in the network details headers tab identifying the request headers from
+# the upload stream of a POST request's body.
+requestHeadersFromUpload=Yêu cầu header từ luồng tải lên
+
+# LOCALIZATION NOTE (responseHeaders): This is the label displayed
+# in the network details headers tab identifying the response headers.
+responseHeaders=Phản hồi header
+
+# LOCALIZATION NOTE (requestCookies): This is the label displayed
+# in the network details request tab identifying the request cookies.
+requestCookies=Cookie yêu cầu
+
+# LOCALIZATION NOTE (responseCookies): This is the label displayed
+# in the network details request tab identifying the response cookies.
+responseCookies=Cookie phản hồi
+
+# LOCALIZATION NOTE (responsePayload): This is the label displayed
+# in the network details response tab identifying the response payload.
+responsePayload=Payload phản hồi
+
+# LOCALIZATION NOTE (netmonitor.response.raw): This is the label displayed
+# on the button in the network details response tab that toggles the
+# view of the network response between the raw data and the formatted display.
+netmonitor.response.raw=Raw
+
+# LOCALIZATION NOTE (netmonitor.response.html): This is the text displayed
+# in the response tab of the network details pane for an HTML preview.
+netmonitor.response.html=HTML
+
+# LOCALIZATION NOTE (jsonFilterText): This is the text displayed
+# in the response tab of the network details pane for the JSON filtering input.
+jsonFilterText=Lọc thuộc tính
+
+# LOCALIZATION NOTE (jsonScopeName): This is the text displayed
+# in the response tab of the network details pane for a JSON scope.
+jsonScopeName=JSON
+
+# LOCALIZATION NOTE (jsonpScopeName): This is the text displayed
+# in the response tab of the network details pane for a JSONP scope.
+jsonpScopeName=JSONP → callback %S()
+
+# LOCALIZATION NOTE (jsonXssiStripped): This is the text displayed
+# in a notification in the response tab of the network details pane
+# when a JSON payload had XSSI escape characters which were removed
+jsonXssiStripped=Chuỗi “%S” đã bị xóa khỏi phần đầu của JSON được hiển thị bên dưới
+
+# LOCALIZATION NOTE (responseTruncated): This is the text displayed
+# in the response tab of the network details pane when the response is over
+# the truncation limit and thus was truncated.
+responseTruncated=Phản hồi đã bị cắt ngắn
+
+# LOCALIZATION NOTE (requestTruncated): This is the text displayed
+# in the request tab of the network details pane when the request is over
+# the truncation limit and thus was truncated.
+requestTruncated=Yêu cầu đã bị cắt ngắn
+
+# LOCALIZATION NOTE (networkMenu.raced): This is the label displayed
+# in the network menu specifying the transfer or a request is
+# raced. %S refers to the current transfer size.
+networkMenu.raced=%S (đã truyền)
+
+# LOCALIZATION NOTE (networkMenu.sortedAsc): This is the tooltip displayed
+# in the network table toolbar, for any column that is sorted ascending.
+networkMenu.sortedAsc=Đã sắp xếp tăng dần
+
+# LOCALIZATION NOTE (networkMenu.sortedDesc): This is the tooltip displayed
+# in the network table toolbar, for any column that is sorted descending.
+networkMenu.sortedDesc=Đã sắp xếp giảm dần
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.perf): A tooltip explaining
+# what the perf button does
+networkMenu.summary.tooltip.perf=Bắt đầu phân tích hiệu suất
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.domContentLoaded): A tooltip explaining
+# what the DOMContentLoaded label displays
+networkMenu.summary.tooltip.domContentLoaded=Thời gian khi xảy ra sự kiện “DOMContentLoad”
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.load): A tooltip explaining
+# what the load label displays
+networkMenu.summary.tooltip.load=Thời gian khi xảy ra sự kiện “load”
+
+# LOCALIZATION NOTE (networkMenu.summary.requestsCount2): This label is displayed
+# in the network table footer providing the number of requests
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+networkMenu.summary.requestsCount2=#1 yêu cầu
+
+# LOCALIZATION NOTE (networkMenu.summary.requestsCountEmpty): This label is displayed
+# in the network table footer when there are no requests
+networkMenu.summary.requestsCountEmpty=Không có yêu cầu
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.requestsCount): A tooltip explaining
+# what the requestsCount label displays
+networkMenu.summary.tooltip.requestsCount=Số lượng yêu cầu
+
+# LOCALIZATION NOTE (networkMenu.summary.transferred): This label is displayed
+# in the network table footer providing the transferred size.
+networkMenu.summary.transferred=Đã truyền %S / %S
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.transferred): A tooltip explaining
+# what the transferred label displays
+networkMenu.summary.tooltip.transferred=Kích cỡ/kích cỡ truyền tải của tất cả các yêu cầu
+
+# LOCALIZATION NOTE (networkMenu.summary.finish): This label is displayed
+# in the network table footer providing the transfer time.
+networkMenu.summary.finish=Đã xong: %S
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.finish): A tooltip explaining
+# what the finish label displays
+networkMenu.summary.tooltip.finish=Tổng thời gian cần thiết để tải tất cả các yêu cầu
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.framesCount2): This label is displayed
+# in the messages table footer providing the number of frames
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+networkMenu.ws.summary.framesCount2=#1 tin nhắn
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.framesCountEmpty): This label is displayed
+# in the messages table footer when there are no frames
+networkMenu.ws.summary.framesCountEmpty=Không có tin nhắn
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesCount): A tooltip explaining
+# what the framesCount label displays
+networkMenu.ws.summary.tooltip.framesCount=Số lượng tin nhắn
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesTotalSize): A tooltip explaining
+# what the framesTotalSize label displays
+networkMenu.ws.summary.tooltip.framesTotalSize=Tổng kích thước của các tin nhắn được hiển thị
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.label.framesTranferredSize): A label showing
+# summary size info related to the current list of WS messages
+# %1$S is the total size of the transferred data, %2$S is the size of sent data, %3$S is the size of received data.
+networkMenu.ws.summary.label.framesTranferredSize=Tổng số %1$S, %2$S đã gửi, %3$S đã nhận
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesTotalTime): A tooltip explaining
+# what framesTotalTime displays
+networkMenu.ws.summary.tooltip.framesTotalTime=Tổng thời gian từ tin nhắn đầu tiên đến tin nhắn cuối cùng được hiển thị
+
+# LOCALIZATION NOTE (networkMenu.sizeB): This is the label displayed
+# in the network menu specifying the size of a request (in bytes).
+networkMenu.sizeB=%S B
+
+# LOCALIZATION NOTE (networkMenu.size.kB): This is the label displayed
+# in the network menu specifying the size of a request (in kilobytes).
+networkMenu.size.kB=%S kB
+
+# LOCALIZATION NOTE (networkMenu.sizeMB): This is the label displayed
+# in the network menu specifying the size of a request (in megabytes).
+networkMenu.sizeMB=%S MB
+
+# LOCALIZATION NOTE (networkMenu.sizeGB): This is the label displayed
+# in the network menu specifying the size of a request (in gigabytes).
+networkMenu.sizeGB=%S GB
+
+# LOCALIZATION NOTE (networkMenu.sizeUnavailable): This is the label displayed
+# in the network menu specifying the transferred size of a request is
+# unavailable.
+networkMenu.sizeUnavailable=—
+
+# LOCALIZATION NOTE (networkMenu.sizeUnavailable.title): This is the tooltip
+# displayed in the network menu specifying that the transferred size of a
+# request is unavailable.
+networkMenu.sizeUnavailable.title=Kích thước truyền tải không có sẵn
+
+# LOCALIZATION NOTE (networkMenu.sizeCached): This is the label displayed
+# in the network menu and the headers panel specifying the transfer or a request is
+# cached.
+networkMenu.sizeCached=đã lưu trữ
+
+# LOCALIZATION NOTE (networkMenu.sizeServiceWorker): This is the label displayed
+# in the network menu and the headers panel specifying the transferred of a request
+# computed by a service worker.
+networkMenu.sizeServiceWorker=service worker
+
+# LOCALIZATION NOTE (networkMenu.blocked2): This is a generic message for a
+# URL that has been blocked for an unknown reason
+networkMenu.blocked2=Đã chặn
+
+# LOCALIZATION NOTE (networkMenu.blockedby): This is a generic message for a
+# URL that has been blocked by an extension
+# %S is the extension name.
+networkMenu.blockedby=Bị chặn bởi %S
+
+# LOCALIZATION NOTE (networkMenu.blockedTooltip): This is a the text displayed
+# as a tooltip for the blocked icon in the request list
+networkMenu.blockedTooltip=Đã chặn
+
+# LOCALIZATION NOTE (networkMenu.totalMS2): This is the label displayed
+# in the network menu specifying the time for a request to finish (in milliseconds).
+networkMenu.totalMS2=%S ms
+
+# This string is used to concatenate tooltips (netmonitor.waterfall.tooltip.*)
+# in the requests waterfall for total time (in milliseconds). \\u0020 represents
+# a whitespace. You can replace this with a different character, e.g. an hyphen
+# or a period, if a comma doesn't work for your language.
+netmonitor.waterfall.tooltip.separator=,\u0020
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.total): This is part of the tooltip
+# displayed in the requests waterfall for total time (in milliseconds).
+netmonitor.waterfall.tooltip.total=Tổng cộng %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.blocked): This is part of the tooltip
+# displayed in the requests waterfall for blocked time (in milliseconds).
+netmonitor.waterfall.tooltip.blocked=Đã chặn %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.dns): This is part of the tooltip
+# displayed in the requests waterfall for dns time (in milliseconds).
+netmonitor.waterfall.tooltip.dns=DNS %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.ssl): This is part of the tooltip
+# displayed in the requests waterfall for tls setup time (in milliseconds).
+netmonitor.waterfall.tooltip.ssl=TLS %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.connect): This is part of the tooltip
+# displayed in the requests waterfall for connect time (in milliseconds).
+netmonitor.waterfall.tooltip.connect=Kết nối %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.send): This is part of the tooltip
+# displayed in the requests waterfall for send time (in milliseconds).
+netmonitor.waterfall.tooltip.send=Gửi %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.wait): This is part of the tooltip
+# displayed in the requests waterfall for wait time (in milliseconds).
+netmonitor.waterfall.tooltip.wait=Chờ %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.receive): This is part of the tooltip
+# displayed in the requests waterfall for receive time (in milliseiconds).
+netmonitor.waterfall.tooltip.receive=Nhận %S ms
+
+# LOCALIZATION NOTE (netmonitor.timings.requestTiming): This is the title of the existing
+# section in Timings side panel. This section contains request timings.
+netmonitor.timings.requestTiming=Thời gian gửi yêu cầu
+
+# LOCALIZATION NOTE (netmonitor.timings.serverTiming): This is the title of a new section
+# in Timings side panel. This section contains server timings transferred from the server
+# through the "Server-Timing" header.
+netmonitor.timings.serverTiming=Thời gian máy chủ
+
+# LOCALIZATION NOTE (netmonitor.timings.serviceWorkerTiming): This is the title of a new section
+# in Timings side panel. This section contains service worker timings transferred from the
+# service worker.
+
+# LOCALIZATION NOTE (netmonitor.timings.queuedAt): This is relative queued time to the
+# first request. %S is time expressed in milliseconds or minutes.
+netmonitor.timings.queuedAt=Hàng đợi: %S
+
+# LOCALIZATION NOTE (netmonitor.timings.startedAt): Relative to the first request,
+# when the request actually started. %S is time expressed in milliseconds or minutes.
+netmonitor.timings.startedAt=Bắt đầu: %S
+
+# LOCALIZATION NOTE (netmonitor.timings.downloadedAt): Relative to first request,
+# when the request actually finished downloading.
+# %S is time expressed in milliseconds or minutes.
+netmonitor.timings.downloadedAt=Đã tải xuống: %S
+
+# LOCALIZATION NOTE (netmonitor.timings.noTimings): Message that displays in the
+# timings pane when thea request has been blocked
+netmonitor.timings.noTimings=Không có thời gian cho yêu cầu này
+
+# LOCALIZATION NOTE (networkMenu.millisecond): This is the label displayed
+# in the network menu specifying timing interval divisions (in milliseconds).
+networkMenu.millisecond=%S ms
+
+# LOCALIZATION NOTE (networkMenu.second): This is the label displayed
+# in the network menu specifying timing interval divisions (in seconds).
+networkMenu.second=%S s
+
+# LOCALIZATION NOTE (networkMenu.minute): This is the label displayed
+# in the network menu specifying timing interval divisions (in minutes).
+networkMenu.minute=%S phút
+
+# LOCALIZATION NOTE (pieChart.loading): This is the label displayed
+# for pie charts (e.g., in the performance analysis view) when there is
+# no data available yet.
+pieChart.loading=Đang tải
+
+# LOCALIZATION NOTE (pieChart.unavailable): This is the label displayed
+# for pie charts (e.g., in the performance analysis view) when there is
+# no data available, even after loading it.
+pieChart.unavailable=Trống
+
+# LOCALIZATION NOTE (pieChart.ariaLabel): This is the text used for the aria-label attribute
+# for SVG pie charts (e.g., in the performance analysis view).
+pieChart.ariaLabel=Biểu đồ hình tròn thể hiện kích thước của từng loại yêu cầu tương ứng với nhau
+
+# LOCALIZATION NOTE (pieChart.sliceAriaLabel): This is the text used for the aria-label attribute
+# for SVG pie charts slices (e.g., in the performance analysis view).
+# %1$S is the slice label (e.g. "html")
+# %2$S is the percentage (e.g. "33.23%").
+pieChart.sliceAriaLabel=%1$S: %2$S
+
+# LOCALIZATION NOTE (tableChart.loading): This is the label displayed
+# for table charts (e.g., in the performance analysis view) when there is
+# no data available yet.
+tableChart.loading=Vui lòng chờ…
+
+# LOCALIZATION NOTE (tableChart.unavailable): This is the label displayed
+# for table charts (e.g., in the performance analysis view) when there is
+# no data available, even after loading it.
+tableChart.unavailable=Không có dữ liệu
+
+# LOCALIZATION NOTE (charts.size.kB): This is the label displayed
+# in pie or table charts specifying the size of a request (in kilobytes).
+charts.size.kB=%S kB
+
+# LOCALIZATION NOTE (charts.transferredSize.kB): This is the label displayed
+# in pie or table charts specifying the size of a transferred request (in kilobytes).
+charts.transferredSize.kB=%S kB
+
+# LOCALIZATION NOTE (charts.totalS): This is the label displayed
+# in pie or table charts specifying the time for a request to finish (in seconds).
+charts.totalS=%S s
+
+# LOCALIZATION NOTE (charts.totalTransferredSize.kB): This is the label displayed
+# in the performance analysis view for total transferred size, in kilobytes.
+charts.totalTransferredSize.kB=Kích thước truyền tải: %S kB
+
+# LOCALIZATION NOTE (charts.cacheEnabled): This is the label displayed
+# in the performance analysis view for "cache enabled" charts.
+charts.cacheEnabled=Bộ nhớ đệm đã lưu trữ
+
+# LOCALIZATION NOTE (charts.cacheDisabled): This is the label displayed
+# in the performance analysis view for "cache disabled" charts.
+charts.cacheDisabled=Bộ nhớ đệm không lưu trữ
+
+# LOCALIZATION NOTE (charts.learnMore): This is the label displayed
+# in the performance analysis view, with a link to external documentation.
+charts.learnMore=Tìm hiểu thêm về phân tích hiệu suất
+
+# LOCALIZATION NOTE (charts.totalSize.kB): This is the label displayed
+# in the performance analysis view for total requests size, in kilobytes.
+charts.totalSize.kB=Kích cỡ: %S kB
+
+# LOCALIZATION NOTE (charts.totalSeconds): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This is the label displayed in the performance analysis view for the
+# total requests time, in seconds.
+charts.totalSeconds=Thời gian: #1 giây
+
+# LOCALIZATION NOTE (charts.totalSecondsNonBlocking): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This is the label displayed in the performance analysis view for the
+# total requests time (non-blocking), in seconds.
+charts.totalSecondsNonBlocking=Thời gian không bị chặn: #1 giây
+
+# LOCALIZATION NOTE (charts.totalCached): This is the label displayed
+# in the performance analysis view for total cached responses.
+charts.totalCached=Phản hồi lưu trong bộ nhớ đệm: %S
+
+# LOCALIZATION NOTE (charts.totalCount): This is the label displayed
+# in the performance analysis view for total requests.
+charts.totalCount=Tổng số yêu cầu: %S
+
+# LOCALIZATION NOTE (charts.requestsNumber): This is the label for the header column in
+# the performance analysis view for the number of requests. The label is not visible on screen,
+# but is set in the DOM for accessibility sake.
+charts.requestsNumber=Số lượng yêu cầu
+
+# LOCALIZATION NOTE (charts.size): This is the label displayed
+# in the header column in the performance analysis view for size of the request.
+charts.size=Kích cỡ
+
+# LOCALIZATION NOTE (charts.type): This is the label displayed
+# in the header column in the performance analysis view for type of request.
+charts.type=Kiểu
+
+# LOCALIZATION NOTE (charts.transferred): This is the label displayed
+# in the header column in the performance analysis view for transferred
+# size of the request.
+charts.transferred=Đã truyền tải
+
+# LOCALIZATION NOTE (charts.time): This is the label displayed
+# in the header column in the performance analysis view for time of request.
+charts.time=Thời gian
+
+# LOCALIZATION NOTE (charts.nonBlockingTime): This is the label displayed
+# in the header column in the performance analysis view for non blocking
+# time of request.
+charts.nonBlockingTime=Thời gian không bị chặn
+
+# LOCALIZATION NOTE (netRequest.originalFileURL.tooltip): This is the tooltip
+# displayed for the file's original URL value displayed in the file column of
+# a request.
+netRequest.originalFileURL.tooltip=Gốc: %S
+
+# LOCALIZATION NOTE (netRequest.decodedFileURL.tooltip): This is the tooltip
+# displayed for the file's decoded URL value displayed in the file column of
+# a request.
+netRequest.decodedFileURL.tooltip=Đã giải mã: %S
+
+# LOCALIZATION NOTE (certmgr.subjectinfo.label):
+# A label used for a certificate section in security tab.
+# This section displays Name and organization who has been assigned the fingerprints
+certmgr.subjectinfo.label=Cấp cho
+
+# LOCALIZATION NOTE (certmgr.certdetail.cn):
+# A label used for Issued To and Issued By sub-section in security tab
+certmgr.certdetail.cn=Tên thông thường (CN):
+
+# LOCALIZATION NOTE (certmgr.certdetail.o):
+# A label used for Issued To and Issued By sub-section in security tab
+certmgr.certdetail.o=Tổ chức (O):
+
+# LOCALIZATION NOTE (certmgr.certdetail.ou):
+# A label used for Issued To and Issued By sub-section in security tab
+certmgr.certdetail.ou=Đơn vị của tổ chức (OU):
+
+# LOCALIZATION NOTE (certmgr.issuerinfo.label):
+# A label used for a certificate section in security tab
+# This section displays Name and organization who issued the fingerprints
+certmgr.issuerinfo.label=Cấp bởi
+
+# LOCALIZATION NOTE (certmgr.periodofvalidity.label):
+# A label used for a certificate section in security tab
+# This section displays the valid period of this fingerprints
+certmgr.periodofvalidity.label=Thời gian hiệu lực
+
+# LOCALIZATION NOTE (certmgr.begins):
+# A label used for Period of Validity sub-section in security tab
+certmgr.begins=Bắt đầu vào:
+
+# LOCALIZATION NOTE (certmgr.expires):
+# A label used for Period of Validity sub-section in security tab
+certmgr.expires=Kết thúc vào:
+
+# LOCALIZATION NOTE (certmgr.fingerprints.label):
+# A label used for a certificate section in security tab
+# This section displays the valid period of this fingerprints
+certmgr.fingerprints.label=Mã vân tay
+
+# LOCALIZATION NOTE (certmgr.certdetail.sha256fingerprint):
+# A label used for Fingerprints sub-section in security tab
+certmgr.certdetail.sha256fingerprint=Mã vân tay SHA-256:
+
+# LOCALIZATION NOTE (certmgr.certdetail.sha1fingerprint):
+# A label used for Fingerprints sub-section in security tab
+certmgr.certdetail.sha1fingerprint=Mã vân tay SHA1:
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.label):
+# This string is used as a label in the security tab.
+certmgr.certificateTransparency.label=Minh bạch:
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.status.ok):
+# This string is used to indicate that there are valid signed certificate
+# timestamps. This is a property for the 'Transparency'
+# field in the security tab.
+certmgr.certificateTransparency.status.ok=Bản ghi SCT hợp lệ
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.status.notEnoughSCTS):
+# This string is used to indicate that there are not enough valid signed
+# certificate timestamps. This is a property for the 'Transparency'
+# field in the security tab.
+certmgr.certificateTransparency.status.notEnoughSCTS=Không đủ SCTs
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.status.notDiverseSCTS):
+# This string is used to indicate that there ar not enough diverse signed
+# certificate timestamps. This is a property for the 'Transparency'
+# field in the security tab.
+certmgr.certificateTransparency.status.notDiverseSCTS=SCTs không đa dạng
+
+# LOCALIZATION NOTE (netmonitor.perfNotice1/2/3): These are the labels displayed
+# in the network table when empty to start performance analysis.
+netmonitor.perfNotice1=• Nhấp vào
+netmonitor.perfNotice2=nút để bắt đầu phân tích hiệu suất.
+netmonitor.perfNotice3=Phân tích
+
+# LOCALIZATION NOTE (netmonitor.reload1/2/3): These are the labels displayed
+# in the network table when empty to start logging network requests.
+netmonitor.reloadNotice1=• Thực hiện một yêu cầu hoặc
+netmonitor.reloadNotice2=Tải lại
+netmonitor.reloadNotice3=trang để xem thông tin chi tiết về hoạt động mạng.
+netmonitor.emptyBrowserToolbox=Thực hiện yêu cầu xem thông tin chi tiết về hoạt động mạng.
+
+# LOCALIZATION NOTE (netmonitor.toolbar.status3): This is the label displayed
+# in the network table toolbar, above the "status" column.
+netmonitor.toolbar.status3=Trạng thái
+
+# LOCALIZATION NOTE (netmonitor.toolbar.method): This is the label displayed
+# in the network table toolbar, above the "method" column.
+netmonitor.toolbar.method=Phương thức
+
+# LOCALIZATION NOTE (netmonitor.toolbar.priority): This is the label displayed
+# in the network table toolbar, above the "priority" column.
+netmonitor.toolbar.priority=Ưu tiên
+
+# LOCALIZATION NOTE (netmonitor.toolbar.file): This is the label displayed
+# in the network table toolbar, above the "file" column.
+netmonitor.toolbar.file=Tập tin
+
+# LOCALIZATION NOTE (netmonitor.toolbar.url): This is the label displayed
+# in the network table toolbar, above the "url" column.
+netmonitor.toolbar.url=URL
+
+# LOCALIZATION NOTE (netmonitor.toolbar.protocol): This is the label displayed
+# in the network table toolbar, above the "protocol" column.
+netmonitor.toolbar.protocol=Giao thức
+
+# LOCALIZATION NOTE (netmonitor.toolbar.domain): This is the label displayed
+# in the network table toolbar, above the "domain" column.
+netmonitor.toolbar.domain=Tên miền
+
+# LOCALIZATION NOTE (netmonitor.toolbar.remoteip): This is the label displayed
+# in the network table toolbar, above the "remoteip" column.
+netmonitor.toolbar.remoteip=IP từ xa
+
+# LOCALIZATION NOTE (netmonitor.toolbar.initiator): This is the label displayed
+# in the network table toolbar, above the "initiator" column.
+netmonitor.toolbar.initiator=Bộ khởi tạo
+
+# LOCALIZATION NOTE (netmonitor.toolbar.type): This is the label displayed
+# in the network table toolbar, above the "type" column.
+netmonitor.toolbar.type=Kiểu
+
+# LOCALIZATION NOTE (netmonitor.toolbar.cookies): This is the label displayed
+# in the network table toolbar, above the "cookies" column.
+netmonitor.toolbar.cookies=Cookie
+
+# LOCALIZATION NOTE (netmonitor.toolbar.setCookies): This is the label displayed
+# in the network table toolbar, above the "set cookies" column.
+# Set-Cookie is a HTTP response header. This string is the plural form of it.
+# See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie
+netmonitor.toolbar.setCookies=Set-Cookies
+
+# LOCALIZATION NOTE (netmonitor.toolbar.scheme): This is the label displayed
+# in the network table toolbar, above the "scheme" column.
+netmonitor.toolbar.scheme=Kế hoạch
+
+# LOCALIZATION NOTE (netmonitor.toolbar.startTime): This is the label displayed
+# in the network table toolbar, above the "start time" column, which is the time
+# from start of 1st request until the start of this request.
+netmonitor.toolbar.startTime=Thời gian bắt đầu
+
+# LOCALIZATION NOTE (netmonitor.toolbar.endTime): This is the label displayed
+# in the network table toolbar, above the "end time" column, which is the time
+# from start of 1st request until the end of this response.
+netmonitor.toolbar.endTime=Thời gian kết thúc
+
+# LOCALIZATION NOTE (netmonitor.toolbar.responseTime): This is the label displayed
+# in the network table toolbar, above the "response time" column, which is the time
+# from start of 1st request until the beginning of download of this response.
+netmonitor.toolbar.responseTime=Thời gian đáp ứng
+
+# LOCALIZATION NOTE (netmonitor.toolbar.duration): This is the label displayed
+# in the network table toolbar, above the "duration" column, which is the time
+# from start of this request until the end of this response.
+netmonitor.toolbar.duration=Thời gian
+
+# LOCALIZATION NOTE (netmonitor.toolbar.latency): This is the label displayed
+# in the network table toolbar, above the "latency" column, which is the time
+# from end of this request until the beginning of download of this response.
+netmonitor.toolbar.latency=Độ trễ
+
+# LOCALIZATION NOTE (netmonitor.toolbar.transferred): This is the label displayed
+# in the network table toolbar, above the "transferred" column and in general
+# section of the headers panel, which is the compressed / encoded size.
+netmonitor.toolbar.transferred=Đã truyền tải
+
+# LOCALIZATION NOTE (netmonitor.toolbar.contentSize): This is the label displayed
+# in the network table toolbar, above the "size" column, which is the
+# uncompressed / decoded size.
+netmonitor.toolbar.contentSize=Kích cỡ
+
+# LOCALIZATION NOTE (netmonitor.toolbar.waterfall): This is the label displayed
+# in the network table toolbar, above the "waterfall" column.
+netmonitor.toolbar.waterfall=Dòng thời gian
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.size): This is the label displayed
+# in the messages table header, above the "size" column.
+netmonitor.ws.toolbar.size=Kích thước
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.data): This is the label displayed
+# in the messages table header, above the "data" column.
+netmonitor.ws.toolbar.data=Dữ liệu
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.opCode): This is the label displayed
+# in the messages table header, above the "opCode" column.
+netmonitor.ws.toolbar.opCode=OpCode
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.maskBit): This is the label displayed
+# in the messages table header, above the "maskBit" column.
+netmonitor.ws.toolbar.maskBit=MaskBit
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.finBit): This is the label displayed
+# in the messages table header, above the "finBit" column.
+netmonitor.ws.toolbar.finBit=FinBit
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.time): This is the label displayed
+# in the messages table header, above the "time" column.
+netmonitor.ws.toolbar.time=Thời gian
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.eventName): This is the label displayed
+# in the messages table header, above the "eventName" column.
+netmonitor.ws.toolbar.eventName=Tên sự kiện
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.retry): This is the label displayed
+# in the messages table header, above the "retry" column.
+netmonitor.ws.toolbar.retry=Thử lại
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.lastEventId): This is the label displayed
+# in the messages table header, above the "lastEventId" column.
+netmonitor.ws.toolbar.lastEventId=ID sự kiện cuối cùng
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.clear): This is the label displayed
+# in the messages panel toolbar for the "Clear" button.
+netmonitor.ws.toolbar.clear=Xóa
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.filterFreetext.label): This is the label
+# displayed in the messages panel toolbar for the frames filtering textbox.
+netmonitor.ws.toolbar.filterFreetext.label=Lọc tin nhắn
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.filterFreetext.key): This is the
+# shortcut key to focus on the messages panel toolbar messages filtering textbox
+netmonitor.ws.toolbar.filterFreetext.key=CmdOrCtrl+E
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.resetColumns): This is the label
+# displayed in the messages panel table header context menu.
+netmonitor.ws.toolbar.resetColumns=Đặt lại các cột
+
+# LOCALIZATION NOTE (netmonitor.ws.context.all): This is the label displayed
+# on the context menu that shows "All" WebSocket frames.
+netmonitor.ws.context.all=Tất cả
+
+# LOCALIZATION NOTE (netmonitor.ws.context.all.accesskey): This is the access key
+# for the "All" menu item displayed in the context menu in the websocket toolbar.
+netmonitor.ws.context.all.accesskey=A
+
+# LOCALIZATION NOTE (netmonitor.ws.context.sent): This is the label displayed
+# on the context menu that shows "Sent" WebSocket frames.
+netmonitor.ws.context.sent=Gửi
+
+# LOCALIZATION NOTE (netmonitor.ws.context.sent.accesskey): This is the access key
+# for the "Sent" menu item displayed in the context menu in the websocket toolbar.
+netmonitor.ws.context.sent.accesskey=S
+
+# LOCALIZATION NOTE (netmonitor.ws.context.received): This is the label displayed
+# on the context menu that shows "Received" WebSocket frames.
+netmonitor.ws.context.received=Đã nhận
+
+# LOCALIZATION NOTE (netmonitor.ws.context.received.accesskey): This is the access key
+# for the "Received" menu item displayed in the context menu in the websocket toolbar.
+netmonitor.ws.context.received.accesskey=R
+
+# LOCALIZATION NOTE (netmonitor.ws.context.controlFrames): This is the label displayed
+# on the context menu that shows "Control Frames" WebSocket frames.
+netmonitor.ws.context.controlFrames=Điều khiển
+
+# LOCALIZATION NOTE (netmonitor.ws.context.controlFrames.accesskey): This is the access key
+# for the "Control Frames" menu item displayed in the context menu in the websocket toolbar.
+netmonitor.ws.context.controlFrames.accesskey=o
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrame): This is the label displayed
+# on the context menu that shows "Copy Message".
+netmonitor.ws.context.copyFrame=Sao chép tin nhắn
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrame.accesskey): This is the access key
+# for the "Copy Message" menu item displayed in the context menu of a WebSocket frame.
+netmonitor.ws.context.copyFrame.accesskey=C
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsBase64): This is the label displayed
+# on the context menu that shows "Copy as Base64" displayed in the context menu of a binary WebSocket frame.
+netmonitor.ws.context.copyFrameAsBase64=Sao chép dưới dạng Base64
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsBase64.accesskey): This is the access key
+# for the "Copy as Base64" menu item displayed in the context menu of a binary WebSocket frame.
+netmonitor.ws.context.copyFrameAsBase64.accesskey=B
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsHex): This is the label displayed
+# on the context menu that shows "Copy as Hex" displayed in the context menu of a binary WebSocket frame.
+netmonitor.ws.context.copyFrameAsHex=Sao chép dưới dạng Hex
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsHex.accesskey): This is the access key
+# for the "Copy as Hex" menu item displayed in the context menu of a binary WebSocket frame.
+netmonitor.ws.context.copyFrameAsHex.accesskey=H
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsText): This is the label displayed
+# on the context menu that shows "Copy as Text" displayed in the context menu of a binary WebSocket frame.
+netmonitor.ws.context.copyFrameAsText=Sao chép dưới dạng văn bản
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsText.accesskey): This is the access key
+# for the "Copy as Text" menu item displayed in the context menu of a binary WebSocket frame.
+netmonitor.ws.context.copyFrameAsText.accesskey=T
+
+# LOCALIZATION NOTE (netmonitor.ws.connection.closed): This is the text displayed in the
+# websocket messages panel when the connection is closed
+netmonitor.ws.connection.closed=Kết nối đã bị đóng
+
+# LOCALIZATION NOTE (netmonitor.ws.type.sent): This is the label used as
+# accessible text for the "sent" type icon in the websocket table's "data" column.
+netmonitor.ws.type.sent=Gửi
+
+# LOCALIZATION NOTE (netmonitor.ws.type.received): This is the label used as
+# accessible text for the "received" type icon in the websocket table's "data" column.
+netmonitor.ws.type.received=Đã nhận
+
+# LOCALIZATION NOTE (netmonitor.ws.rawData.header): This is the label displayed
+# in the messages panel identifying the raw data.
+netmonitor.ws.rawData.header=Dữ liệu thô (%S)
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.inputPlaceholder): This is the label
+# displayed in the search toolbar for the search input as the placeholder.
+netmonitor.search.toolbar.inputPlaceholder=Tìm trong tài nguyên…
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.close): This is the label
+# displayed in the search toolbar to close the search panel.
+netmonitor.search.toolbar.close=Đóng bảng tìm kiếm
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.clear): This is the label
+# displayed in the search toolbar to clear the search panel.
+netmonitor.search.toolbar.clear=Xóa kết quả tìm kiếm
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.caseSensitive): This is the label
+# displayed in the search toolbar to do a case sensitive search.
+netmonitor.search.toolbar.caseSensitive=Phân biệt HOA-thường
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.fetching): This is the label
+# displayed in the search results status bar when status is set to fetching.
+netmonitor.search.status.labels.fetching=Đang tìm kiếm…
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.canceled): This is the label
+# displayed in the search results status bar when status is set to cancelled.
+netmonitor.search.status.labels.canceled=Đã hủy bỏ tìm kiếm.
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.done): This is the label
+# displayed in the search results status bar when status is set to done.
+# %1$S is the number of matching lines in search results (netmonitor.search.status.labels.matchingLines)
+# %2$S is the number of files in which matching lines were found (netmonitor.search.status.labels.fileCount)
+netmonitor.search.status.labels.done=Đã tìm kiếm xong. %1$S %2$S.
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.matchingLines): Semi-colon list of plural forms.
+# This is the label displayed in the search results status bar showing matching lines found.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of matching lines found
+netmonitor.search.status.labels.matchingLines=Tìm thấy #1 dòng phù hợp
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.fileCount): Semi-colon list of plural forms.
+# This is the label displayed in the search results status bar showing file count
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of files in which matching lines were found
+netmonitor.search.status.labels.fileCount=trong #1 tập tin
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.error): This is the label
+# displayed in the search results status bar when status is set to error.
+netmonitor.search.status.labels.error=Lỗi khi tìm kiếm.
+
+# LOCALIZATION NOTE (netmonitor.toolbar.requestBlocking): This is the tooltip displayed
+# over the toolbar's Request Blocking button
+netmonitor.toolbar.requestBlocking=Request Blocking
+
+# LOCALIZATION NOTE (netmonitor.actionbar.requestBlocking2): This is the label displayed
+# in the action bar's request blocking tab
+netmonitor.actionbar.requestBlocking2=Đang chặn
+
+# LOCALIZATION NOTE (netmonitor.actionbar.enableBlocking): This is the label displayed
+# in request blocking tab to represent if requests blocking should be enabled
+netmonitor.actionbar.enableBlocking=Kích hoạt yêu cầu chặn
+
+# LOCALIZATION NOTE (netmonitor.actionbar.blockSearchPlaceholder): This is the
+# placeholder text for the request addition form
+netmonitor.actionbar.blockSearchPlaceholder=Chặn tài nguyên khi URL chứa
+
+# LOCALIZATION NOTE (netmonitor.actionbar.removeBlockedUrl): This is the
+# tooltip shown over the remove button for blocked URL item
+netmonitor.actionbar.removeBlockedUrl=Xóa mẫu
+
+# LOCALIZATION NOTE (netmonitor.actionbar.requestBlockingUsageNotice): This is the
+# usage notice displayed when network blocking list is empty
+netmonitor.actionbar.requestBlockingUsageNotice=Thêm các mẫu URL ở đây để chặn các yêu cầu phù hợp.
+
+# LOCALIZATION NOTE (netmonitor.actionbar.requestBlockingAddNotice): This is the
+# add notice that explains ways to add blocking pattern that is displayed when
+# network blocking list is empty
+netmonitor.actionbar.requestBlockingAddNotice=Bắt đầu bằng cách thêm một mẫu hoặc kéo một hàng từ bảng mạng.
+
+# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.removeAllBlockedUrls): This is the
+# context menu item for removing all blocked URLs
+netmonitor.requestBlockingMenu.removeAllBlockedUrls=Xóa tắt cả
+
+# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.enableAllBlockedUrls): This is the
+# context menu item for enabling all blocked URLs
+netmonitor.requestBlockingMenu.enableAllBlockedUrls=Bật tất cả
+
+# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.disableAllBlockedUrls): This is the
+# context menu item for disabling all blocked URLs
+netmonitor.requestBlockingMenu.disableAllBlockedUrls=Tắt tất cả
+
+# LOCALIZATION NOTE (netmonitor.actionbar.search): This is the label displayed
+# in the action bar's search tab
+netmonitor.actionbar.search=Tìm kiếm
+
+# LOCALIZATION NOTE (netmonitor.actionbar.HTTPCustomRequest): This is the label displayed
+# in the action bar's edit and resend tab
+netmonitor.actionbar.HTTPCustomRequest=Yêu cầu mới
+
+# LOCALIZATION NOTE (messagesTruncated): This is the text displayed
+# in the messages panel when the number of messages is over the
+# truncation limit.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+netmonitor.ws.truncated-messages.warning=#1 tin nhắn đã bị cắt bớt để bảo tồn bộ nhớ
+
+# LOCALIZATION NOTE (disableMessagesTruncation): This is the text displayed
+# in the messages panel checkbox label for toggling message truncation.
+toggleMessagesTruncation=Giữ tất cả các tin nhắn trong tương lai
+
+# LOCALIZATION NOTE (toggleMessagesTruncation.title): This is the title used
+# to describe the checkbox used to toggle message truncation.
+toggleMessagesTruncation.title=Giữ tất cả các tin nhắn trong tương lai hoặc tiếp tục hiển thị các tin nhắn bị cắt ngắn
+
+# LOCALIZATION NOTE (messageDataTruncated): This is the text displayed
+# to describe to describe data truncation in the messages panel.
+messageDataTruncated=Dữ liệu bị cắt ngắn
+
+# LOCALIZATION NOTE (netmonitor.tab.headers): This is the label displayed
+# in the network details pane identifying the headers tab.
+netmonitor.tab.headers=Header
+
+# LOCALIZATION NOTE (netmonitor.tab.messages): This is the label displayed
+# in the network details pane identifying the messages tab.
+netmonitor.tab.messages=Tin nhắn
+
+# LOCALIZATION NOTE (netmonitor.tab.cookies): This is the label displayed
+# in the network details pane identifying the cookies tab.
+netmonitor.tab.cookies=Cookie
+
+# LOCALIZATION NOTE (netmonitor.tab.cache): This is the label displayed
+# in the network details pane identifying the cache tab.
+netmonitor.tab.cache=Bộ nhớ đệm
+
+# LOCALIZATION NOTE (netmonitor.tab.params): This is the label displayed
+# in the network details pane identifying the params tab.
+netmonitor.tab.params=Tham số
+
+# LOCALIZATION NOTE (netmonitor.tab.request): This is the label displayed
+# in the network details pane identifying the request tab.
+netmonitor.tab.request=Yêu cầu
+
+# LOCALIZATION NOTE (netmonitor.tab.response): This is the label displayed
+# in the network details pane identifying the response tab.
+netmonitor.tab.response=Phản hồi
+
+# LOCALIZATION NOTE (netmonitor.tab.timings): This is the label displayed
+# in the network details pane identifying the timings tab.
+netmonitor.tab.timings=Thời gian
+
+# LOCALIZATION NOTE (netmonitor.tab.stackTrace): This is the label displayed
+# in the network details pane identifying the stack-trace tab.
+netmonitor.tab.stackTrace=Ngăn xếp dấu vết
+
+# LOCALIZATION NOTE (netmonitor.tab.security): This is the label displayed
+# in the network details pane identifying the security tab.
+netmonitor.tab.security=Bảo mật
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.all): This is the label displayed
+# in the network toolbar for the "All" filtering button.
+netmonitor.toolbar.filter.all=Tất cả
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.html): This is the label displayed
+# in the network toolbar for the "HTML" filtering button.
+netmonitor.toolbar.filter.html=HTML
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.css): This is the label displayed
+# in the network toolbar for the "CSS" filtering button.
+netmonitor.toolbar.filter.css=CSS
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.js): This is the label displayed
+# in the network toolbar for the "JS" filtering button.
+netmonitor.toolbar.filter.js=JS
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.xhr): This is the label displayed
+# in the network toolbar for the "XHR" filtering button.
+netmonitor.toolbar.filter.xhr=XHR
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.fonts): This is the label displayed
+# in the network toolbar for the "Fonts" filtering button.
+netmonitor.toolbar.filter.fonts=Phông
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.images): This is the label displayed
+# in the network toolbar for the "Images" filtering button.
+netmonitor.toolbar.filter.images=Hình ảnh
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.media): This is the label displayed
+# in the network toolbar for the "Media" filtering button.
+netmonitor.toolbar.filter.media=Đa phương tiện
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.flash): This is the label displayed
+# in the network toolbar for the "Flash" filtering button.
+netmonitor.toolbar.filter.flash=Flash
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.ws): This is the label displayed
+# in the network toolbar for the "WS" filtering button.
+netmonitor.toolbar.filter.ws=WS
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.other): This is the label displayed
+# in the network toolbar for the "Other" filtering button.
+netmonitor.toolbar.filter.other=Khác
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.label): This is the label
+# displayed in the network toolbar for the url filtering textbox.
+netmonitor.toolbar.filterFreetext.label=Lọc URL
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.key): This is the
+# shortcut key to focus on the toolbar url filtering textbox
+netmonitor.toolbar.filterFreetext.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (netmonitor.toolbar.search.key): This is the
+# shortcut key to toggle the search panel
+netmonitor.toolbar.search.key=CmdOrCtrl+Shift+F
+
+# LOCALIZATION NOTE (netmonitor.toolbar.copy.key): This is the
+# shortcut key to copy a selected request url from the network table
+netmonitor.toolbar.copy.key=CmdOrCtrl+C
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.learnMore): This is
+# the title used for MDN icon in filtering textbox
+netmonitor.toolbar.filterFreetext.learnMore=Tìm hiểu thêm về lọc
+
+# LOCALIZATION NOTE (netmonitor.toolbar.enablePersistentLogs.label): This is the label
+# displayed for the checkbox for enabling persistent logs.
+netmonitor.toolbar.enablePersistentLogs.label=Nhật ký lâu dài
+
+# LOCALIZATION NOTE (netmonitor.toolbar.enablePersistentLogs.tooltip): This is the tooltip
+# displayed for the checkbox for enabling persistent logs.
+netmonitor.toolbar.enablePersistentLogs.tooltip=Nếu bạn bật tùy chọn này, danh sách yêu cầu sẽ không bị xóa mỗi lần bạn điều hướng đến một trang mới
+
+# LOCALIZATION NOTE (netmonitor.toolbar.disableCache.label): This is the label
+# displayed for the checkbox for disabling browser cache.
+netmonitor.toolbar.disableCache.label=Vô hiệu hóa bộ nhớ đệm
+
+# LOCALIZATION NOTE (netmonitor.toolbar.disableCache.tooltip): This is the tooltip
+# displayed for the checkbox for disabling browser cache.
+netmonitor.toolbar.disableCache.tooltip=Vô hiệu hóa bộ nhớ đệm HTTP
+
+# LOCALIZATION NOTE (netmonitor.toolbar.clear): This is the label displayed
+# in the network toolbar for the "Clear" button.
+netmonitor.toolbar.clear=Xóa trắng
+
+# LOCALIZATION NOTE (netmonitor.toolbar.toggleRecording): This is the label displayed
+# in the network toolbar for the toggle recording button.
+netmonitor.toolbar.toggleRecording=Tạm dừng/tiếp tục ghi nhật ký mạng
+
+# LOCALIZATION NOTE (netmonitor.toolbar.search): This is the tooltip label displayed
+# in the network toolbar for the search button.
+netmonitor.toolbar.search=Tìm kiếm
+
+# LOCALIZATION NOTE (netmonitor.toolbar.HTTPCustomRequest): This is the tooltip label displayed
+# in the network toolbar for the new HTTP Custom Request button.
+netmonitor.toolbar.HTTPCustomRequest=Yêu cầu mới
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resetColumns): This is the label
+# displayed in the network table header context menu.
+netmonitor.toolbar.resetColumns=Đặt lại các cột
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resetSorting): This is the label
+# displayed in the network table header context menu to reset sorting
+netmonitor.toolbar.resetSorting=Đặt lại sắp xếp
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resizeColumnToFitContent): This is the label
+# displayed in the network table header context menu to resize a column to fit its content
+netmonitor.toolbar.resizeColumnToFitContent=Thay đổi kích thước cột để phù hợp với nội dung
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resizeColumnToFitContent.title): This is the title
+# tooltip displayed when draggable resizer in network table headers is hovered
+netmonitor.toolbar.resizeColumnToFitContent.title=Nhấp đúp để phù hợp với cột theo nội dung
+
+# LOCALIZATION NOTE (netmonitor.toolbar.timings): This is the label
+# displayed in the network table header context menu for the timing submenu
+netmonitor.toolbar.timings=Thời gian
+
+# LOCALIZATION NOTE (netmonitor.toolbar.responseHeaders): This is the
+# label displayed in the network table header context menu for the
+# response headers submenu.
+netmonitor.toolbar.responseHeaders=Phản hồi header
+
+# LOCALIZATION NOTE (netmonitor.headers.toolbar.block): This is the
+# label displayed in the network details headers tab identifying the
+# block url toolbar button.
+netmonitor.headers.toolbar.block=Chặn
+
+# LOCALIZATION NOTE (netmonitor.headers.address): This is the label displayed
+# in the network details headers tab identifying the remote address.
+netmonitor.headers.address=Địa chỉ
+
+# LOCALIZATION NOTE (netmonitor.headers.proxyAddress): This is the label displayed
+# in the network details headers tab identifying the proxy address.
+netmonitor.headers.proxyAddress=Địa chỉ proxy
+
+# LOCALIZATION NOTE (netmonitor.headers.status): This is the label displayed
+# in the network details headers tab identifying the status code.
+netmonitor.headers.status=Trạng thái
+
+# LOCALIZATION NOTE (netmonitor.headers.proxyStatus): This is the label displayed
+# in the network details headers tab identifying the status code for the proxy.
+netmonitor.headers.proxyStatus=Trạng thái proxy
+
+# LOCALIZATION NOTE (netmonitor.headers.size): This is the label displayed
+# in the network details headers tab identifying the size.
+netmonitor.headers.size=Kích thước
+
+# LOCALIZATION NOTE (networkMenu.headers.sizeDetails): This label is displayed
+# in the network details headers tab providing the size details.
+# %1$S is the transferred size, %2$S is the size.
+netmonitor.headers.sizeDetails=%1$S (kích thước %2$S)
+
+# LOCALIZATION NOTE (netmonitor.headers.version): This is the label displayed
+# in the network details headers tab identifying the http version.
+netmonitor.headers.version=Phiên bản
+
+# LOCALIZATION NOTE (netmonitor.headers.proxyVersion): This is the label displayed
+# in the network details headers tab identifying the http version of the proxy.
+netmonitor.headers.proxyVersion=Phiên bản proxy
+
+# LOCALIZATION NOTE (netmonitor.summary.learnMore): This is the label displayed
+# in the network details headers tab, with a link to external documentation for
+# status codes.
+netmonitor.summary.learnMore=Tìm hiểu thêm về mã trạng thái
+
+# LOCALIZATION NOTE (netmonitor.headers.referrerPolicy): This is the label displayed
+# in the network details headers tab identifying the referrer policy.
+netmonitor.headers.referrerPolicy=Referrer Policy
+
+# LOCALIZATION NOTE (netmonitor.headers.contentBlocking): This is the label displayed
+# in the network details headers tab identifying the content blocking mode.
+netmonitor.headers.contentBlocking=Đang chặn
+
+# LOCALIZATION NOTE (netmonitor.headers.requestPriority): This is the label displayed
+# in the network details headers tab identifying the request priority.
+netmonitor.headers.requestPriority=Yêu cầu ưu tiên
+
+# LOCALIZATION NOTE (netmonitor.headers.dns): This is the label displayed
+# in the network details headers tab identifying the DNS resolution.
+netmonitor.headers.dns=Phân giải DNS
+
+# LOCALIZATION NOTE (netmonitor.headers.dns.basic): This is the label value displayed
+# in the network details headers tab identifying the Basic DNS resolution.
+netmonitor.headers.dns.basic=Hệ thống
+
+# LOCALIZATION NOTE (netmonitor.headers.dns.doh): This is the label value displayed
+# in the network details headers tab identifying the DNS over HTTPS resolution.
+netmonitor.headers.dns.overHttps=DNS qua HTTPS
+
+# LOCALIZATION NOTE (netmonitor.summary.editAndResend): This is the label displayed
+# on the button in the headers tab that opens a form to edit and resend the currently
+# displayed request
+netmonitor.summary.editAndResend=Chỉnh sửa và gửi lại
+
+# LOCALIZATION NOTE (netmonitor.headers.raw): This is the label displayed
+# on the button in the headers tab that toggle view for raw request/response headers
+# from the currently displayed request
+netmonitor.headers.raw=Raw
+
+# LOCALIZATION NOTE (netmonitor.headers.blockedByCORS): This is the message displayed
+# in the notification shown when a request has been blocked by CORS with a more
+# specific reason shown in the parenthesis
+netmonitor.headers.blockedByCORS=Nội dung phản hồi không khả dụng cho script (Lý do: %S)
+
+#LOCALIZATION NOTE (netmonitor.headers.blockedByCORSTooltip): This is the tooltip
+# displayed on the learnmore link of the blocked by CORS notification.
+netmonitor.headers.blockedByCORSTooltip=Tìm hiểu thêm về lỗi CORS này
+
+# LOCALIZATION NOTE (netmonitor.response.name): This is the label displayed
+# in the network details response tab identifying an image's file name or font face's name.
+netmonitor.response.name=Tên:
+
+# LOCALIZATION NOTE (netmonitor.response.dimensions): This is the label displayed
+# in the network details response tab identifying an image's dimensions.
+netmonitor.response.dimensions=Kích cỡ:
+
+# LOCALIZATION NOTE (netmonitor.response.mime): This is the label displayed
+# in the network details response tab identifying an image's or font's MIME type.
+netmonitor.response.mime=Kiểu MIME:
+
+# LOCALIZATION NOTE (netmonitor.response.fontPreviewFailed): This is the notice displayed
+# in the network details response tab if the font preview could not be generated due to
+# an error.
+netmonitor.response.fontPreviewFailed=Không thể tạo bản xem trước phông chữ
+
+# LOCALIZATION NOTE (netmonitor.timings.blocked): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "blocked" state.
+netmonitor.timings.blocked=Đã chặn:
+
+# LOCALIZATION NOTE (netmonitor.timings.dns): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "dns" state.
+netmonitor.timings.dns=Độ phân giải DNS:
+
+# LOCALIZATION NOTE (netmonitor.timings.ssl): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "tls" handshake state.
+netmonitor.timings.ssl=Thiết lập TLS:
+
+# LOCALIZATION NOTE (netmonitor.timings.connect): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "connect" state.
+netmonitor.timings.connect=Đang kết nối:
+
+# LOCALIZATION NOTE (netmonitor.timings.send): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "send" state.
+netmonitor.timings.send=Đang gửi:
+
+# LOCALIZATION NOTE (netmonitor.timings.wait): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "wait" state.
+netmonitor.timings.wait=Đang chờ:
+
+# LOCALIZATION NOTE (netmonitor.timings.receive): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "receive" state.
+netmonitor.timings.receive=Đang nhận:
+
+# LOCALIZATION NOTE (netmonitor.timings.launchServiceWorker): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# during the launch of the service worker.
+
+# LOCALIZATION NOTE (netmonitor.timings.requestToServiceWorker): This is the label displayed
+# in the network details timings tab identifying the amount of time spent while a request is
+# made to the service worker.
+
+# LOCALIZATION NOTE (netmonitor.timings.handledByServiceWorker): This is the label displayed
+# in the network details timings tab identifying the amount of time spent while a request is
+# handled by the service worker.
+
+# LOCALIZATION NOTE (netmonitor.timings.learnMore): This is the label displayed
+# in the network details timings tab, with a link to external documentation
+netmonitor.timings.learnMore=Tìm hiểu thêm về thời gian
+
+# LOCALIZATION NOTE (netmonitor.audits.slowIconTooltip): This is the tooltip text displayed
+# in the network request list file column, on the slow icon button.
+# %1$S is the waiting time %2$S is the slow threshold.
+netmonitor.audits.slowIconTooltip=Thời gian phản hồi máy chủ chậm (%1$S). Thời gian tối đa được đề xuất là %2$S.
+
+# LOCALIZATION NOTE (netmonitor.security.warning.cipher): A tooltip
+# for warning icon that indicates a connection uses insecure cipher suite.
+netmonitor.security.warning.cipher=Các mật mã được sử dụng để mã hóa không còn được dùng nữa và không an toàn.
+
+# LOCALIZATION NOTE (netmonitor.security.error): This is the label displayed
+# in the security tab if a security error prevented the connection.
+netmonitor.security.error=Có lỗi đã xảy ra:
+
+# LOCALIZATION NOTE (netmonitor.security.protocolVersion): This is the label displayed
+# in the security tab describing TLS/SSL protocol version.
+netmonitor.security.protocolVersion=Phiên bản giao thức:
+
+# LOCALIZATION NOTE (netmonitor.security.cipherSuite): This is the label displayed
+# in the security tab describing the cipher suite used to secure this connection.
+netmonitor.security.cipherSuite=Thuật toán mật mã:
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup): This is the label displayed
+# in the security tab describing the key exchange group suite used to secure
+# this connection.
+netmonitor.security.keaGroup=Nhóm trao đổi chính:
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup.none): This is the label
+# displayed in the security tab describing the case when no group was used.
+netmonitor.security.keaGroup.none=không có
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup.custom): This is the label
+# displayed in the security tab describing the case when a custom group was used.
+netmonitor.security.keaGroup.custom=tùy biến
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup.unknown): This is the value
+# displayed in the security tab describing an unknown group.
+netmonitor.security.keaGroup.unknown=nhóm không rõ
+
+# LOCALIZATION NOTE (netmonitor.security.signatureScheme): This is the label
+# displayed in the security tab describing the signature scheme used by for
+# the server certificate in this connection.
+netmonitor.security.signatureScheme=Sơ đồ chữ ký:
+
+# LOCALIZATION NOTE (netmonitor.security.signatureScheme.none): This is the
+# label displayed in the security tab describing the case when no signature
+# was used.
+netmonitor.security.signatureScheme.none=không có
+
+# LOCALIZATION NOTE (netmonitor.security.signatureScheme.unknown): This is the
+# value displayed in the security tab describing an unknown signature scheme.
+netmonitor.security.signatureScheme.unknown=sơ đồ chữ ký không xác định
+
+# LOCALIZATION NOTE (netmonitor.security.hsts): This is the label displayed
+# in the security tab describing the usage of HTTP Strict Transport Security.
+netmonitor.security.hsts=HTTP Strict Transport Security:
+
+# LOCALIZATION NOTE (netmonitor.security.hpkp): This is the label displayed
+# in the security tab describing the usage of Public Key Pinning.
+netmonitor.security.hpkp=Public Key Pinning:
+
+# LOCALIZATION NOTE (netmonitor.security.connection): This is the label displayed
+# in the security tab describing the section containing information related to
+# the secure connection.
+netmonitor.security.connection=Kết nối:
+
+# LOCALIZATION NOTE (netmonitor.security.certificate): This is the label displayed
+# in the security tab describing the server certificate section.
+netmonitor.security.certificate=Chứng chỉ:
+
+# LOCALIZATION NOTE (netmonitor.trackingResource.tooltip): This is the label used
+# in the Network monitor panel as a tooltip for tracking resource icon.
+netmonitor.trackingResource.tooltip=URL này khớp với trình theo dõi đã biết và nó sẽ bị chặn khi bật chặn nội dung.
+
+# LOCALIZATION NOTE (netmonitor.trackingResource.enhancedTrackingProtection): This is
+# the label used in the Network monitor panel for showing enhanced tracking protection.
+netmonitor.trackingResource.enhancedTrackingProtection=Trình chống theo dõi nâng cao
+
+# LOCALIZATION NOTE (netmonitor.enhancedTrackingProtection.learnMore): This is the label
+# displayed in the network details headers tab, with a link to external documentation for
+# enhanced tracking protection.
+netmonitor.enhancedTrackingProtection.learnMore=Tìm hiểu thêm về chống theo dõi nâng cao
+
+# LOCALIZATION NOTE (netmonitor.context.copyValue): This is the label displayed
+# for the copy sub-menu in the context menu for a request
+netmonitor.context.copyValue=Sao chép giá trị
+
+# LOCALIZATION NOTE (netmonitor.context.copyValue.accesskey): This is the access key
+# for the copy menu/sub-menu displayed in the context menu for a request
+netmonitor.context.copyValue.accesskey=C
+
+# LOCALIZATION NOTE (netmonitor.context.copyUrl): This is the label displayed
+# on the context menu that copies the selected request's url
+netmonitor.context.copyUrl=Sao chép URL
+
+# LOCALIZATION NOTE (netmonitor.context.copyUrl.accesskey): This is the access key
+# for the Copy URL menu item displayed in the context menu for a request
+netmonitor.context.copyUrl.accesskey=U
+
+# LOCALIZATION NOTE (netmonitor.context.copyUrlParams): This is the label displayed
+# on the context menu that copies the selected request's url parameters
+netmonitor.context.copyUrlParams=Sao chép tham số URL
+
+# LOCALIZATION NOTE (netmonitor.context.copyUrlParams.accesskey): This is the access key
+# for the Copy URL Parameters menu item displayed in the context menu for a request
+netmonitor.context.copyUrlParams.accesskey=P
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestData): This is the label displayed
+# on the context menu that copies the selected request's data
+netmonitor.context.copyRequestData=Sao chép dữ liệu %S
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestData.accesskey): This is the access key
+# for the Copy POST/PATCH/PUT/DELETE Data menu item displayed in the context menu for a request
+netmonitor.context.copyRequestData.accesskey=D
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsPowerShell): This is the label displayed
+# on the context menu that copies the selected request as a PowerShell command.
+netmonitor.context.copyAsPowerShell=Sao chép dưới dạng PowerShell
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsPowerShell.accesskey): This is the access key
+# for the Copy as PowerShell menu item displayed in the context menu for a request
+netmonitor.context.copyAsPowerShell.accesskey=S
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsCurl): This is the label displayed
+# on the context menu that copies the selected request as a cURL command.
+# The capitalization is part of the official name and should be used throughout all languages.
+# http://en.wikipedia.org/wiki/CURL
+netmonitor.context.copyAsCurl=Sao chép như cURL
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsCurl.accesskey): This is the access key
+# for the Copy as cURL menu item displayed in the context menu for a request
+netmonitor.context.copyAsCurl.accesskey=C
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsCurl.*): This is the template used to add
+# a target platform to the label for "Copy as cURL" command
+# e.g. Copy as cURL (Windows)
+# Localized label for "Copy as cURL": %S
+netmonitor.context.copyAsCurl.win=%S (Windows)
+netmonitor.context.copyAsCurl.win.accesskey=C
+netmonitor.context.copyAsCurl.posix=%S (POSIX)
+netmonitor.context.copyAsCurl.posix.accesskey=P
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsFetch): This is the label displayed
+# on the context menu that copies the selected request as a fetch request.
+netmonitor.context.copyAsFetch=Sao chép dưới dạng Fetch
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsFetch.accesskey): This is the access key
+# for the Copy as fetch menu item displayed in the context menu for a request
+netmonitor.context.copyAsFetch.accesskey=F
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestHeaders): This is the label displayed
+# on the context menu that copies the selected item's request headers
+netmonitor.context.copyRequestHeaders=Sao chép yêu cầu header
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestHeaders.accesskey): This is the access key
+# for the Copy Request Headers menu item displayed in the context menu for a request
+netmonitor.context.copyRequestHeaders.accesskey=Q
+
+# LOCALIZATION NOTE (netmonitor.context.copyResponseHeaders): This is the label displayed
+# on the context menu that copies the selected item's response headers
+netmonitor.context.copyResponseHeaders=Sao chép phản hồi header
+
+# LOCALIZATION NOTE (netmonitor.context.copyResponseHeaders.accesskey): This is the access key
+# for the Copy Response Headers menu item displayed in the context menu for a response
+netmonitor.context.copyResponseHeaders.accesskey=S
+
+# LOCALIZATION NOTE (netmonitor.context.copyResponse): This is the label displayed
+# on the context menu that copies the selected response as a string
+netmonitor.context.copyResponse=Sao chép phản hồi
+
+# LOCALIZATION NOTE (netmonitor.context.copyResponse.accesskey): This is the access key
+# for the Copy Response menu item displayed in the context menu for a request
+netmonitor.context.copyResponse.accesskey=R
+
+# LOCALIZATION NOTE (netmonitor.context.copyImageAsDataUri): This is the label displayed
+# on the context menu that copies the selected image as data uri
+netmonitor.context.copyImageAsDataUri=Sao chép hình ảnh dưới dạng dữ liệu URI
+
+# LOCALIZATION NOTE (netmonitor.context.copyImageAsDataUri.accesskey): This is the access key
+# for the Copy Image As Data URI menu item displayed in the context menu for a request
+netmonitor.context.copyImageAsDataUri.accesskey=I
+
+# LOCALIZATION NOTE (netmonitor.context.useAsFetch): This is the label displayed
+# on the context menu that copies the selected request as a fetch command.
+netmonitor.context.useAsFetch=Sử dụng như Fetch trong bảng điều khiển
+
+# LOCALIZATION NOTE (netmonitor.context.useAsFetch.accesskey): This is the access key
+# for the Copy as fetch menu item displayed in the context menu for a request
+netmonitor.context.useAsFetch.accesskey=F
+
+# LOCALIZATION NOTE (netmonitor.context.saveImageAs): This is the label displayed
+# on the context menu that save the Image
+netmonitor.context.saveImageAs=Lưu ảnh dưới dạng
+
+# LOCALIZATION NOTE (netmonitor.context.saveImageAs.accesskey): This is the access key
+# for the Copy Image As Data URI menu item displayed in the context menu for a request
+netmonitor.context.saveImageAs.accesskey=V
+
+# LOCALIZATION NOTE (netmonitor.context.copyAll): This is the label displayed
+# on the context menu that copies all data
+netmonitor.context.copyAll=Sao chép tất cả
+
+# LOCALIZATION NOTE (netmonitor.context.copyAll.accesskey): This is the access key
+# for the Copy All menu item displayed in the context menu for a properties view panel
+netmonitor.context.copyAll.accesskey=A
+
+# LOCALIZATION NOTE (netmonitor.context.copyAllAsHar): This is the label displayed
+# on the context menu that copies all as HAR format
+netmonitor.context.copyAllAsHar=Sao chép tất cả dưới dạng HAR
+
+# LOCALIZATION NOTE (netmonitor.context.copyAllAsHar.accesskey): This is the access key
+# for the Copy All As HAR menu item displayed in the context menu for a network panel
+netmonitor.context.copyAllAsHar.accesskey=O
+
+# LOCALIZATION NOTE (netmonitor.context.saveAllAsHar): This is the label displayed
+# on the context menu that saves all as HAR format
+netmonitor.context.saveAllAsHar=Lưu tất cả dưới dạng HAR
+
+# LOCALIZATION NOTE (netmonitor.context.saveAllAsHar.accesskey): This is the access key
+# for the Save All As HAR menu item displayed in the context menu for a network panel
+netmonitor.context.saveAllAsHar.accesskey=H
+
+# LOCALIZATION NOTE (netmonitor.context.importHar.accesskey): This is the access key
+# for the Import HAR menu item displayed in the context menu for a network panel
+netmonitor.context.importHar.accesskey=I
+
+# LOCALIZATION NOTE (netmonitor.har.importHarDialogTitle): This is a label
+# used for import file open dialog
+netmonitor.har.importHarDialogTitle=Nhập tập tin HAR
+
+# LOCALIZATION NOTE (netmonitor.har.importDialogHARFilter):
+# This string is displayed as a filter for importing HAR file
+netmonitor.har.importDialogHARFilter=Tập tin HAR
+
+# LOCALIZATION NOTE (netmonitor.har.importDialogAllFilter):
+# This string is displayed as a filter for importing HAR file
+netmonitor.har.importDialogAllFilter=Tất cả tập tin
+
+# LOCALIZATION NOTE (netmonitor.context.resend.label): This is the label displayed
+# on the context menu that resends the currently displayed request immediately
+netmonitor.context.resend.label=Gửi lại
+
+# LOCALIZATION NOTE (netmonitor.context.resend.accesskey): This is the access key
+# for the "Resend" menu item displayed in the context menu for a request
+netmonitor.context.resend.accesskey=n
+
+# LOCALIZATION NOTE (netmonitor.context.editAndResend): This is the label displayed
+# on the context menu that opens a form to edit and resend the currently
+# displayed request
+netmonitor.context.editAndResend=Chỉnh sửa và gửi lại
+
+# LOCALIZATION NOTE (netmonitor.context.editAndResend.accesskey): This is the access key
+# for the "Edit and Resend" menu item displayed in the context menu for a request
+netmonitor.context.editAndResend.accesskey=E
+
+# LOCALIZATION NOTE (netmonitor.context.blockURL): This is the label displayed
+# on the context menu that blocks any requests matching the selected request's URL.
+netmonitor.context.blockURL=Chặn URL
+
+# LOCALIZATION NOTE (netmonitor.context.unblockURL): This is the label displayed
+# on the context menu that unblocks any requests matching the selected request's URL.
+netmonitor.context.unblockURL=Bỏ chặn URL
+
+# LOCALIZATION NOTE (netmonitor.context.newTab): This is the label
+# for the Open in New Tab menu item displayed in the context menu of the
+# network container
+netmonitor.context.newTab=Mở trong thẻ mới
+
+# LOCALIZATION NOTE (netmonitor.context.newTab.accesskey): This is the access key
+# for the Open in New Tab menu item displayed in the context menu of the
+# network container
+netmonitor.context.newTab.accesskey=T
+
+# LOCALIZATION NOTE (netmonitor.context.openInDebugger): This is the label
+# for the Open in Debugger menu item displayed in the context menu of the
+# network container
+netmonitor.context.openInDebugger=Mở trong trình gỡ lỗi
+
+# LOCALIZATION NOTE (netmonitor.context.openInDebugger.accesskey): This is the access key
+# for the Open in Debugger menu item displayed in the context menu of the
+# network container
+netmonitor.context.openInDebugger.accesskey=D
+
+# LOCALIZATION NOTE (netmonitor.context.openInStyleEditor): This is the label
+# for the Open in Style Editor menu item displayed in the context menu of the
+# network container
+netmonitor.context.openInStyleEditor=Mở trong Trình chỉnh sửa kiểu
+
+# LOCALIZATION NOTE (netmonitor.context.openInStyleEditor.accesskey): This is
+# the access key for the Open in Style Editor menu item displayed in the
+# context menu of the network container
+netmonitor.context.openInStyleEditor.accesskey=S
+
+# LOCALIZATION NOTE (netmonitor.context.perfTools): This is the label displayed
+# on the context menu that shows the performance analysis tools
+netmonitor.context.perfTools=Bắt đầu phân tích hiệu suất…
+
+# LOCALIZATION NOTE (netmonitor.context.perfTools.accesskey): This is the access key
+# for the performance analysis menu item displayed in the context menu for a request
+netmonitor.context.perfTools.accesskey=A
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequest): This is the label displayed
+# as the title of the new custom request form
+netmonitor.custom.newRequest=Yêu cầu mới
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequestMethodLabel): This is the label displayed
+# above the method text input field of the new custom request form
+netmonitor.custom.newRequestMethodLabel=Phương thức
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequestUrlLabel): This is the label displayed
+# above the url text input field of the new custom request form
+netmonitor.custom.newRequestUrlLabel=URL
+
+# LOCALIZATION NOTE (netmonitor.custom.query): This is the label displayed
+# above the query string entry in the custom request form
+netmonitor.custom.query=Chuỗi truy vấn
+
+# LOCALIZATION NOTE (netmonitor.custom.urlParameters): This is the label displayed
+# above the query string entry in the custom request form
+netmonitor.custom.urlParameters=Tham số URL
+
+# LOCALIZATION NOTE (netmonitor.custom.headers): This is the label displayed
+# above the request headers entry in the custom request form
+netmonitor.custom.headers=Yêu cầu header
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequestHeaders): This is the label displayed
+# above the request headers entry in the new custom request form
+netmonitor.custom.newRequestHeaders=Header
+
+# LOCALIZATION NOTE (netmonitor.custom.placeholder.name): This is the placeholder displayed
+# on the input on the headers and query params on new custom request form
+netmonitor.custom.placeholder.name=tên
+
+# LOCALIZATION NOTE (netmonitor.custom.placeholder.value): This is the placeholder displayed
+# on the input on the headers and query params on new custom request form
+netmonitor.custom.placeholder.value=giá trị
+
+# LOCALIZATION NOTE (netmonitor.custom.postBody): This is the label displayed
+# above the request body entry in the new custom request form
+netmonitor.custom.postBody=Nội dung
+
+# LOCALIZATION NOTE (netmonitor.custom.postBody.placeholder): This is the placeholder displayed
+# on the textarea body in the new custom request form
+netmonitor.custom.postBody.placeholder=payload
+
+# LOCALIZATION NOTE (netmonitor.custom.postData): This is the label displayed
+# above the request body entry in the custom request form
+netmonitor.custom.postData=Yêu cầu phần thân
+
+# LOCALIZATION NOTE (netmonitor.custom.send): This is the label displayed
+# on the button which sends the custom request
+netmonitor.custom.send=Gửi
+
+# LOCALIZATION NOTE (netmonitor.custom.cancel): This is the label displayed
+# on the button which cancels and closes the custom request form
+netmonitor.custom.cancel=Hủy bỏ
+
+# LOCALIZATION NOTE (netmonitor.custom.clear): This is the label displayed
+# on the button which clears the content of the new custom request panel
+netmonitor.custom.clear=Xóa
+
+# LOCALIZATION NOTE (netmonitor.custom.removeItem): This is the
+# tooltip shown over the remove button for headers and query params item
+netmonitor.custom.removeItem=Xóa mục
+
+# LOCALIZATION NOTE (netmonitor.backButton): This is the label displayed
+# on the button which exists the performance statistics view
+netmonitor.backButton=Quay lại
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.simple): This is the tooltip of the
+# column status code, when request is not being cached or is not from a service worker
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.simple = %1$S %2$S
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.cached): This is the tooltip of
+# the column status code, when the request is cached
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.cached = %1$S %2$S (được lưu trữ)
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.worker): This is the tooltip of
+# the column status code, when the request is from a service worker
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.worker = %1$S %2$S (service worker)
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.cachedworker): This is the tooltip
+# of the column status code, when the request is cached and is from a service worker
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.cachedworker = %1$S %2$S (đã lưu trữ, service worker)
+
+# LOCALIZATION NOTE (netmonitor.label.dropHarFiles): This is a label
+# rendered within the Network panel when *.har file(s) are dragged
+# over the content.
+netmonitor.label.dropHarFiles = Thả tập tin HAR vào đây
+
+# LOCALIZATION NOTE (netmonitor.label.har): This is a label used
+# as a tooltip for toolbar drop-down button with HAR actions
+netmonitor.label.har=Xuất/nhập HAR
+
+# LOCALIZATION NOTE (netmonitor.cache.cache): This is the label text for the parent
+# node in the TreeView.
+netmonitor.cache.cache=Bộ nhớ đệm
+
+# LOCALIZATION NOTE (netmonitor.cache.empty): This is the text displayed when cache
+# information is not available.
+netmonitor.cache.empty=Không có thông tin bộ nhớ đệm
+
+# LOCALIZATION NOTE (netmonitor.cache.notAvailable): This is the text displayed under
+# a node that has no information available.
+netmonitor.cache.notAvailable=Không có sẵn
+
+# LOCALIZATION NOTE (netmonitor.cache.dataSize): This is the label text for
+# the datasize of the cached object.
+netmonitor.cache.dataSize=Kích thước dữ liệu
+
+# LOCALIZATION NOTE (netmonitor.cache.expires): This is the label text for the
+# expires time of the cached object.
+netmonitor.cache.expires=Hết hạn
+
+# LOCALIZATION NOTE (netmonitor.cache.fetchCount): This is the label text for the
+# fetch count of the cached object.
+netmonitor.cache.fetchCount=Số lần tải
+
+# LOCALIZATION NOTE (netmonitor.cache.lastFetched): This is the label text for the
+# last fetched date/time of the cached object.
+netmonitor.cache.lastFetched=Lần tải cuối
+
+# LOCALIZATION NOTE (netmonitor.cache.lastModified): This is the label text for the
+# last modified date/time of the cached object.
+netmonitor.cache.lastModified=Sửa đổi lần cuối
+
+# LOCALIZATION NOTE (netmonitor.cache.device): This is the label text for the device
+# where a cached object was fetched from (e.g. "disk").
+netmonitor.cache.device=Thiết bị
+
+# LOCALIZATION NOTE (netmonitor.settings.menuTooltip): This is the tooltip that gets displayed
+# when the settings menu button is hovered.
+netmonitor.settings.menuTooltip=Cài đặt mạng
+
+# LOCALIZATION NOTE (netmonitor.settings.importHarTooltip): This is the tooltip that gets displayed
+# when the HAR import menu item is hovered
+netmonitor.settings.importHarTooltip=Nhập tập tin HAR của dữ liệu mạng
+
+# LOCALIZATION NOTE (netmonitor.settings.saveHarTooltip): This is the tooltip that gets displayed
+# when the HAR save menu item is hovered
+netmonitor.settings.saveHarTooltip=Lưu dữ liệu mạng vào tập tin HAR
+
+# LOCALIZATION NOTE (netmonitor.settings.copyHarTooltip): This is the tooltip that gets displayed
+# when the HAR copy menu item is hovered
+netmonitor.settings.copyHarTooltip=Sao chép dữ liệu mạng vào bộ nhớ tạm
diff --git a/l10n-vi/devtools/client/network-throttling.properties b/l10n-vi/devtools/client/network-throttling.properties
new file mode 100644
index 0000000000..ef86e8392c
--- /dev/null
+++ b/l10n-vi/devtools/client/network-throttling.properties
@@ -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/.
+
+# LOCALIZATION NOTE These strings are used inside the NetworkThrottlingMenu
+# component used to throttle network bandwidth.
+#
+# 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.
+
+# LOCALIZATION NOTE (responsive.noThrottling): UI option in a menu to configure
+# network throttling. This option is the default and disables throttling so you
+# just have normal network conditions. There is not very much room in the UI
+# so a short string would be best if possible.
+responsive.noThrottling=Không điều chỉnh
+
+# LOCALIZATION NOTE (throttling.profile.description): Tooltip for the throttling
+# menu button, which gives details about the currently selected profile.
+# %1$S: Download speed value (number)
+# %2$S: Download speed unit (eg "Kbps", "Mbps")
+# %3$S: Upload speed value (number)
+# %4$S: Upload speed unit (eg "Kbps", "Mbps")
+# %5$S: Latency value, (number, in ms)
+throttling.profile.description = tải xuống %1$S%2$S, tải lên %3$S%4$S, độ trễ %5$Sms
diff --git a/l10n-vi/devtools/client/perftools.ftl b/l10n-vi/devtools/client/perftools.ftl
new file mode 100644
index 0000000000..91a9f0bf64
--- /dev/null
+++ b/l10n-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/l10n-vi/devtools/client/responsive.properties b/l10n-vi/devtools/client/responsive.properties
new file mode 100644
index 0000000000..c2c958defd
--- /dev/null
+++ b/l10n-vi/devtools/client/responsive.properties
@@ -0,0 +1,182 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Responsive Design Mode,
+# available from the Web Developer sub-menu -> 'Responsive Design Mode'.
+#
+# 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.
+
+# LOCALIZATION NOTE These strings are used inside the Responsive Design Mode,
+# available from the Browser Tools sub-menu -> 'Responsive Design Mode'.
+#
+# 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.
+
+# LOCALIZATION NOTE (responsive.editDeviceList2): Context menu item displayed in the
+# device selector.
+responsive.editDeviceList2=Chỉnh sửa danh sách…
+
+# LOCALIZATION NOTE (responsive.exit): Tooltip text of the exit button.
+responsive.exit=Đóng chế độ thiết kế tương thích
+
+# LOCALIZATION NOTE (responsive.rotate): Tooltip text of the rotate button.
+responsive.rotate=Xoay khung nhìn
+
+# LOCALIZATION NOTE (responsive.responsiveMode): Placeholder text for the
+# device selector.
+responsive.responsiveMode=Tương thích
+
+# LOCALIZATION NOTE (responsive.enableTouch): Tooltip text for the touch
+# simulation button when it's disabled.
+responsive.enableTouch=Bật giả lập chạm màn hình
+
+# LOCALIZATION NOTE (responsive.disableTouch): Tooltip text for the touch
+# simulation button when it's enabled.
+responsive.disableTouch=Tắt giả lập chạm màn hình
+
+# LOCALIZATION NOTE (responsive.screenshot): Tooltip of the screenshot button.
+responsive.screenshot=Chụp ảnh màn hình của khung nhìn
+
+# LOCALIZATION NOTE (responsive.screenshotGeneratedFilename): The auto generated
+# filename.
+# The first argument (%1$S) is the date string in yyyy-mm-dd format and the
+# second argument (%2$S) is the time string in HH.MM.SS format.
+responsive.screenshotGeneratedFilename=Ảnh chụp màn hình %1$S tại %2$S
+
+# LOCALIZATION NOTE (responsive.remoteOnly): Message displayed in the tab's
+# notification box if a user tries to open Responsive Design Mode in a
+# non-remote tab.
+responsive.remoteOnly=Chế độ thiết kế tương thích chỉ có sẵn cho các thẻ trình duyệt từ xa, chẳng hạn như chúng được sử dụng cho các nội dung web ở chế độ đa tiến trình của Firefox.
+
+# LOCALIZATION NOTE (responsive.changeDevicePixelRatio): Tooltip for the
+# device pixel ratio dropdown when is enabled.
+responsive.changeDevicePixelRatio=Thay đổi tỷ lệ pixel thiết bị của khung nhìn
+
+# LOCALIZATION NOTE (responsive.devicePixelRatio.auto): Tooltip for the device pixel ratio
+# dropdown when it is disabled because a device is selected.
+# The argument (%1$S) is the selected device (e.g. iPhone 6) that set
+# automatically the device pixel ratio value.
+responsive.devicePixelRatio.auto=Tỷ lệ pixel thiết bị tự động được đặt bởi %1$S
+
+# LOCALIZATION NOTE (responsive.customDeviceName): Default value in a form to
+# add a custom device based on an arbitrary size (no association to an existing
+# device).
+responsive.customDeviceName=Thiết bị tùy chỉnh
+
+# LOCALIZATION NOTE (responsive.customDeviceNameFromBase): Default value in a
+# form to add a custom device based on the properties of another. %1$S is the
+# name of the device we're staring from, such as "Apple iPhone 6".
+responsive.customDeviceNameFromBase=%1$S (Tùy chỉnh)
+
+# LOCALIZATION NOTE (responsive.addDevice2): Button text that reveals a form to
+# be used for adding custom devices.
+responsive.addDevice2=Thêm thiết bị tùy chỉnh…
+
+# LOCALIZATION NOTE (responsive.deviceAdderName): Label of form field for the
+# name of a new device.
+responsive.deviceAdderName=Tên
+
+# LOCALIZATION NOTE (responsive.deviceAdderSize): Label of form field for the
+# size of a new device.
+responsive.deviceAdderSize=Kích thước
+
+# LOCALIZATION NOTE (responsive.deviceAdderPixelRatio2): Label of form field for
+# the device pixel ratio of a new device.
+responsive.deviceAdderPixelRatio2=Tỉ lệ pixel của thiết bị
+
+# LOCALIZATION NOTE (responsive.deviceAdderUserAgent2): Label of form field for
+# the user agent of a new device.
+responsive.deviceAdderUserAgent2=Chuỗi đại diện người dùng
+
+# LOCALIZATION NOTE (responsive.deviceAdderTouch2): Label of form field for the
+# touch input support of a new device.
+responsive.deviceAdderTouch2=Màn hình cảm ứng
+
+# LOCALIZATION NOTE (responsive.deviceAdderSave): Button text that submits a
+# form to add a new device.
+responsive.deviceAdderSave=Lưu
+
+# LOCALIZATION NOTE (responsive.deviceAdderCancel): Button text that cancels a
+# form to add a new device.
+responsive.deviceAdderCancel=Hủy bỏ
+
+# LOCALIZATION NOTE (responsive.deviceDetails): Tooltip that appears when
+# hovering on a device in the device modal. %1$S is the width of the device.
+# %2$S is the height of the device. %3$S is the device pixel ratio value of the
+# device. %4$S is the user agent of the device. %5$S is a boolean value
+# noting whether touch input is supported.
+responsive.deviceDetails=Kích thước: %1$S x %2$S\nDPR: %3$S\nUA: %4$S\nChạm: %5$S
+
+# LOCALIZATION NOTE (responsive.deviceDetails.browserAndOS): Used to display the browser
+# and the OS in a tooltip that appears when hovering on a device in the device modal.
+# %1$S: browser
+# %2$S: OS
+responsive.deviceDetails.browserAndOS=%1$S trên %2$S
+
+# LOCALIZATION NOTE (responsive.deviceDetails.size): Used to display the pixel
+# size in a tooltip that appears when hovering on a device in the device modal.
+# %1$S: width
+# %2$S: height
+responsive.deviceDetails.size=Kích thước: %1$S x %2$S
+
+# LOCALIZATION NOTE (responsive.deviceDetails.DPR): Used to display the DPR in a tooltip
+# that appears when hovering on a device in the device modal.
+# %1$S: device pixel ratio
+responsive.deviceDetails.DPR=DPR: %1$S
+
+# LOCALIZATION NOTE (responsive.deviceDetails.UA): Used to display the UA in a tooltip
+# that appears when hovering on a device in the device modal.
+# %1$S: user agent
+responsive.deviceDetails.UA=UA: %1$S
+
+# LOCALIZATION NOTE (responsive.deviceDetails.touch): Used to display a boolean value
+# which is whether the touch input is supported or not in a tooltip that appears when
+# hovering on a device in the device modal.
+# %1$S: touch
+responsive.deviceDetails.touch=Chạm: %1$S
+
+# LOCALIZATION NOTE (responsive.devicePixelRatioOption): UI option in a menu to configure
+# the device pixel ratio. %1$S is the devicePixelRatio value of the device.
+responsive.devicePixelRatioOption=DPR: %1$S
+
+# LOCALIZATION NOTE (responsive.reloadConditions.touchSimulation): Label on checkbox used
+# to select whether to reload when touch simulation is toggled.
+responsive.reloadConditions.touchSimulation=Tải lại khi mô phỏng cảm ứng được bật/tắt
+
+# LOCALIZATION NOTE (responsive.reloadConditions.userAgent): Label on checkbox used
+# to select whether to reload when user agent is changed.
+responsive.reloadConditions.userAgent=Tải lại khi chuỗi đại diện người dùng thay đổi
+
+# LOCALIZATION NOTE (responsive.reloadNotification.description2): Text in notification bar
+# shown on first open to clarify that some features need a reload to apply.
+responsive.reloadNotification.description2=Thay đổi mô phỏng thiết bị yêu cầu tải lại để áp dụng đầy đủ. Tải lại tự động được tắt theo mặc định để tránh mất bất kỳ thay đổi nào trong DevTools. Bạn có thể kích hoạt tải lại thông qua menu Cài đặt.
+
+# LOCALIZATION NOTE (responsive.leftAlignViewport): Label on checkbox used in the settings
+# menu.
+responsive.leftAlignViewport=Khung nhìn bên trái
+
+# LOCALIZATION NOTE (responsive.customUserAgent): This is the placeholder for the user
+# agent input in the responsive design mode toolbar.
+responsive.customUserAgent=Tùy chỉnh chuỗi đại diện người dùng
+
+responsive.showUserAgentInput=Hiện chuỗi đại diện người dùng
+
+# LOCALIZATION NOTE (responsive.deviceSettings): The header text for the device settings
+# view.
+responsive.deviceSettings=Cài đặt thiết bị
+
+# LOCALIZATION NOTE (responsive.deviceNameAlreadyInUse): This is the text shown when adding a new
+# device with an already existing device name.
+responsive.deviceNameAlreadyInUse=Tên thiết bị đã được sử dụng
+
+# LOCALIZATION NOTE (responsive.deviceFormUpdate): Button text that updates a custom
+# device when the form is submitted.
+responsive.deviceFormUpdate=Cập nhật
diff --git a/l10n-vi/devtools/client/shared.properties b/l10n-vi/devtools/client/shared.properties
new file mode 100644
index 0000000000..09ab2f1961
--- /dev/null
+++ b/l10n-vi/devtools/client/shared.properties
@@ -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/.
+
+# LOCALIZATION NOTE (dimensions): This is used to display the dimensions
+# of a node or image, like 100×200.
+dimensions=%S\u00D7%S
+
+# LOCALIZATION NOTE (boxModelSize.accessibleLabel): This is used to read the
+# dimensions of a node by a screen reader. This helps communicate
+# the visual information in a more explicit form. Example:
+# Size: Width 100, height 200.
+boxModelSize.accessibleLabel=Kích thước: %1$S chiều rộng, %2$S chiều cao
+
+# LOCALIZATION NOTE (boxModelInfo.accessibleLabel): This is used to read the
+# dimensions and position of a node by a screen reader. This helps communicate
+# the visual information in a more explicit form. Example:
+# Dimensions: Width 100, height 200, position static.
+boxModelInfo.accessibleLabel=Kích thước: Chiều rộng %1$S, chiều cao %2$S, vị trí %3$S
+
+# LOCALIZATION NOTE (boxModelEditable.accessibleLabel): The string spoken by
+# screen readers for each button in the box model view that opens that property
+# for editing. %1$S is the property displayed in the tooltip when hovering.
+# %2$S is the value that is visually displayed.
+# Example: margin-left: 0.
+boxModelEditable.accessibleLabel=%1$S: %2$S
diff --git a/l10n-vi/devtools/client/sourceeditor.properties b/l10n-vi/devtools/client/sourceeditor.properties
new file mode 100644
index 0000000000..8f41257937
--- /dev/null
+++ b/l10n-vi/devtools/client/sourceeditor.properties
@@ -0,0 +1,117 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Source Editor component.
+# This component is used whenever source code is displayed for the purpose of
+# being edited, inside the Firefox developer tools - current examples are the
+# Scratchpad and the Style Editor tools.
+
+# LOCALIZATION NOTE These strings are used inside the Source Editor component.
+# This component is used whenever source code is displayed for the purpose of
+# being edited, inside the Firefox developer tools (like Style Editor).
+
+# LOCALIZATION NOTE 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.
+
+# LOCALIZATION NOTE (findCmd.promptMessage): This is the message shown when
+# the user wants to search for a string in the code. You can
+# access this feature by pressing Ctrl-F on Windows/Linux or Cmd-F on Mac.
+findCmd.promptMessage=Tìm kiếm:
+
+# LOCALIZATION NOTE (gotoLineCmd.promptTitle): This is the dialog title used
+# when the user wants to jump to a specific line number in the code. You can
+# access this feature by pressing Ctrl-J on Windows/Linux or Cmd-J on Mac.
+gotoLineCmd.promptTitle=Chuyển đến dòng…
+
+# LOCALIZATION NOTE (autocompletion.docsLink): This is the text shown on
+# the link inside of the documentation popup. If you type 'document' in Scratchpad
+# then press Shift+Space you can see the popup.
+autocompletion.docsLink=tài liệu
+
+# LOCALIZATION NOTE (autocompletion.notFound): This is the text shown in
+# the documentation popup if Tern fails to find a type for the object.
+autocompletion.notFound=không tìm thấy
+
+# LOCALIZATION NOTE (jumpToLine.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to jump to
+# a specific line in the editor.
+jumpToLine.commandkey=J
+
+# LOCALIZATION NOTE (toggleComment.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to either
+# comment or uncomment selected lines in the editor.
+toggleComment.commandkey=/
+
+# LOCALIZATION NOTE (indentLess.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to reduce
+# indentation level in CodeMirror. However, its default value also used by
+# the Toolbox to switch between tools so we disable it.
+#
+# DO NOT translate this key without proper synchronization with toolbox.dtd.
+indentLess.commandkey=[
+
+# LOCALIZATION NOTE (indentMore.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to increase
+# indentation level in CodeMirror. However, its default value also used by
+# the Toolbox to switch between tools
+#
+# DO NOT translate this key without proper synchronization with toolbox.dtd.
+indentMore.commandkey=]
+
+# LOCALIZATION NOTE (moveLineUp.commandkey): This is the combination of keys
+# used to move the current line up.
+# Do not localize "Alt", "Up", or change the format of the string. These are key
+# identifiers, not messages displayed to the user.
+moveLineUp.commandkey=Alt-Up
+
+# LOCALIZATION NOTE (moveLineDown.commandkey): This is the combination of keys
+# used to move the current line up.
+# Do not localize "Alt", "Down", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+moveLineDown.commandkey=Alt-Down
+
+# LOCALIZATION NOTE (autocompletion.commandkey): This is the key, used with
+# Ctrl, for code autocompletion.
+# Do not localize "Space", it's the key identifier, not a message displayed to
+# the user.
+autocompletion.commandkey=Space
+
+# LOCALIZATION NOTE (showInformation2.commandkey): This is the combination of
+# keys used to display more information, like type inference.
+# Do not localize "Shift", "Ctrl", "Space", or change the format of the string.
+# These are key identifiers, not messages displayed to the user.
+showInformation2.commandkey=Shift-Ctrl-Space
+
+# LOCALIZATION NOTE (find.key):
+# Key shortcut used to find the typed search
+# Do not localize "CmdOrCtrl", "F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+find.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (replaceAll.key):
+# Key shortcut used to replace the content of the editor
+# Do not localize "Shift", "CmdOrCtrl", "F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+replaceAll.key=Shift+CmdOrCtrl+F
+
+# LOCALIZATION NOTE (replaceAllMac.key):
+# Key shortcut used to replace the content of the editor on Mac
+# Do not localize "Alt", "CmdOrCtrl", "F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+replaceAllMac.key=Alt+CmdOrCtrl+F
+
+# LOCALIZATION NOTE (findNext.key):
+# Key shortcut used to find again the typed search
+# Do not localize "CmdOrCtrl", "G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+findNext.key=CmdOrCtrl+G
+
+# LOCALIZATION NOTE (findPrev.key):
+# Key shortcut used to find the previous typed search
+# Do not localize "Shift", "CmdOrCtrl", "G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+findPrev.key=Shift+CmdOrCtrl+G
diff --git a/l10n-vi/devtools/client/startup.properties b/l10n-vi/devtools/client/startup.properties
new file mode 100644
index 0000000000..9277248d3f
--- /dev/null
+++ b/l10n-vi/devtools/client/startup.properties
@@ -0,0 +1,248 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (optionsButton.tooltip): This is used as the tooltip
+# for the options panel tab.
+optionsButton.tooltip=Tùy chọn hộp công cụ
+
+# LOCALIZATION NOTE (options.label): This is used as the label of the tab in
+# the devtools window.
+options.label=Tùy chọn
+
+# LOCALIZATION NOTE (options.panelLabel): This is used as the label for the
+# toolbox panel.
+options.panelLabel=Bảng tùy chọn hộp công cụ
+
+# LOCALIZATION NOTE (options.darkTheme.label2)
+# Used as a label for dark theme
+options.darkTheme.label2=Tối
+
+# LOCALIZATION NOTE (options.lightTheme.label2)
+# Used as a label for light theme
+options.lightTheme.label2=Sáng
+
+# LOCALIZATION NOTE (performance.label):
+# This string is displayed in the title of the tab when the profiler is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+performance.label=Hiệu suất
+
+# LOCALIZATION NOTE (performance.panelLabel):
+# This is used as the label for the toolbox panel.
+performance.panelLabel=Bảng công cụ hiệu năng
+
+# LOCALIZATION NOTE (performance.accesskey)
+# Used for the menuitem in the tool menu
+performance.accesskey=P
+
+# LOCALIZATION NOTE (performance.tooltip):
+# This string is displayed in the tooltip of the tab when the profiler is
+# displayed inside the developer tools window.
+# Keyboard shortcut for Performance Tools will be shown inside brackets.
+performance.tooltip=Hiệu suất (%S)
+
+# LOCALIZATION NOTE (MenuWebconsole.label): the string displayed in the Tools
+# menu as a shortcut to open the devtools with the Web Console tab selected.
+MenuWebconsole.label=Bảng điều khiển web
+
+# LOCALIZATION NOTE (ToolboxTabWebconsole.label): the string displayed as the
+# label of the tab in the devtools window.
+ToolboxTabWebconsole.label=Bảng điều khiển
+
+# LOCALIZATION NOTE (ToolboxWebConsole.panelLabel): the string used as the
+# label for the toolbox panel.
+ToolboxWebConsole.panelLabel=Bảng điều khiển
+
+# LOCALIZATION NOTE (ToolboxWebconsole.tooltip2): the string displayed in the
+# tooltip of the tab when the Web Console is displayed inside the developer
+# tools window.
+# Keyboard shortcut for Console will be shown inside the brackets.
+ToolboxWebconsole.tooltip2=Bảng điều khiẻn web (%S)
+
+webConsoleCmd.accesskey=W
+
+# LOCALIZATION NOTE (ToolboxDebugger.label):
+# This string is displayed in the title of the tab when the debugger is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+ToolboxDebugger.label=Trình gỡ lỗi
+
+# LOCALIZATION NOTE (ToolboxDebugger.panelLabel):
+# This is used as the label for the toolbox panel.
+ToolboxDebugger.panelLabel=Bảng gỡ lỗi
+
+# LOCALIZATION NOTE (ToolboxDebugger.tooltip4):
+# This string is displayed in the tooltip of the tab when the debugger is
+# displayed inside the developer tools window.
+ToolboxDebugger.tooltip4=Trình gỡ lỗi JavaScript (%S)
+
+# LOCALIZATION NOTE (debuggerMenu.accesskey)
+# Used for the menuitem in the tool menu
+debuggerMenu.accesskey=D
+
+# LOCALIZATION NOTE (ToolboxStyleEditor.label):
+# This string is displayed in the title of the tab when the style editor is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+ToolboxStyleEditor.label=Trình soạn thảo kiểu mẫu
+
+# LOCALIZATION NOTE (ToolboxStyleEditor.panelLabel):
+# This is used as the label for the toolbox panel.
+ToolboxStyleEditor.panelLabel=Bảng trình soạn thảo kiểu mẫu
+
+# LOCALIZATION NOTE (ToolboxStyleEditor.tooltip3):
+# This string is displayed in the tooltip of the tab when the style editor is
+# displayed inside the developer tools window.
+# A keyboard shortcut for Stylesheet Editor will be shown inside the latter pair of brackets.
+ToolboxStyleEditor.tooltip3=Trình soạn thảo kiểu mẫu (CSS) (%S)
+
+# LOCALIZATION NOTE (open.accesskey): The access key used to open the style
+# editor.
+open.accesskey=l
+
+# LOCALIZATION NOTE (inspector.*)
+# Used for the menuitem in the tool menu
+inspector.label=Trình kiểm tra
+inspector.accesskey=I
+
+# LOCALIZATION NOTE (inspector.panelLabel)
+# Labels applied to the panel and views within the panel in the toolbox
+inspector.panelLabel=Bảng kiểm tra
+
+# LOCALIZATION NOTE (inspector.tooltip2)
+# Keyboard shortcut for DOM and Style Inspector will be shown inside brackets.
+inspector.tooltip2=Trình kiểm tra DOM và kiểu mẫu (%S)
+
+# LOCALIZATION NOTE (inspector.mac.tooltip)
+# This is the exact same string as inspector.tooltip2, except that we show it
+# on mac only, where we support toggling the inspector with either cmd+shift+C,
+# or cmd+opt+C
+inspector.mac.tooltip=Trình kiểm tra DOM và kiểu mẫu (%1$S hoặc %2$S)
+
+# LOCALIZATION NOTE (netmonitor.label):
+# This string is displayed in the title of the tab when the Network Monitor is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+netmonitor.label=Mạng
+
+# LOCALIZATION NOTE (netmonitor.panelLabel):
+# This is used as the label for the toolbox panel.
+netmonitor.panelLabel=Bảng điều khiển mạng
+
+# LOCALIZATION NOTE (netmonitor.accesskey)
+# Used for the menuitem in the tool menu
+netmonitor.accesskey=N
+
+# LOCALIZATION NOTE (netmonitor.tooltip2):
+# This string is displayed in the tooltip of the tab when the Network Monitor is
+# displayed inside the developer tools window.
+# Keyboard shortcut for Network Monitor will be shown inside the brackets.
+netmonitor.tooltip2=Giám sát mạng (%S)
+
+# LOCALIZATION NOTE (storage.accesskey): The access key used to open the storage
+# editor.
+storage.accesskey=a
+
+# LOCALIZATION NOTE (storage.label):
+# This string is displayed as the label of the tab in the developer tools window
+storage.label=Lưu trữ
+
+# LOCALIZATION NOTE (storage.menuLabel):
+# This string is displayed in the Tools menu as a shortcut to open the devtools
+# with the Storage Inspector tab selected.
+storage.menuLabel=Trình kiểm tra lưu trữ
+
+# LOCALIZATION NOTE (storage.panelLabel):
+# This string is used as the aria-label for the iframe of the Storage Inspector
+# tool in developer tools toolbox.
+storage.panelLabel=Bảng điều khiển lưu trữ
+
+# LOCALIZATION NOTE (storage.tooltip3):
+# This string is displayed in the tooltip of the tab when the storage editor is
+# displayed inside the developer tools window.
+# A keyboard shortcut for Storage Inspector will be shown inside the brackets.
+storage.tooltip3=Trình kiểm tra lưu trữ (Cookie, lưu trữ cục bộ, …) (%S)
+
+# LOCALIZATION NOTE (memory.label): This string is displayed in the title of the
+# tab when the memory tool is displayed inside the developer tools window and in
+# the Developer Tools Menu.
+memory.label=Bộ nhớ
+
+# LOCALIZATION NOTE (memory.panelLabel): This is used as the label for the
+# toolbox panel.
+memory.panelLabel=Bảng điều khiển bộ nhớ
+
+# LOCALIZATION NOTE (memory.tooltip): This string is displayed in the tooltip of
+# the tab when the memory tool is displayed inside the developer tools window.
+memory.tooltip=Bộ nhớ
+
+# LOCALIZATION NOTE (dom.label):
+# This string is displayed in the title of the tab when the DOM panel is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+dom.label=DOM
+
+# LOCALIZATION NOTE (dom.panelLabel):
+# This is used as the label for the toolbox panel.
+dom.panelLabel=Bảng điều khiển DOM
+
+# LOCALIZATION NOTE (dom.accesskey)
+# Used for the menuitem in the tool menu
+dom.accesskey=D
+
+# LOCALIZATION NOTE (dom.tooltip):
+# This string is displayed in the tooltip of the tab when the DOM is
+# displayed inside the developer tools window.
+# Keyboard shortcut for DOM panel will be shown inside the brackets.
+dom.tooltip=DOM (%S)
+
+# LOCALIZATION NOTE (accessibility.label):
+# This string is displayed in the title of the tab when the Accessibility panel
+# is displayed inside the developer tools window and in the Developer Tools Menu.
+accessibility.label=Trợ năng
+
+# LOCALIZATION NOTE (accessibility.panelLabel):
+# This is used as the label for the toolbox panel.
+accessibility.panelLabel=Bảng điều khiển trợ năng
+
+# LOCALIZATION NOTE (accessibility.accesskey)
+# Used for the menuitem in the tool menu
+accessibility.accesskey=y
+
+# LOCALIZATION NOTE (accessibility.tooltip3):
+# This string is displayed in the tooltip of the tab when the Accessibility is
+# displayed inside the developer tools window.
+# Keyboard shortcut for Accessibility panel will be shown inside the brackets.
+accessibility.tooltip3=Trợ năng (%S)
+
+# LOCALIZATION NOTE (application.label):
+# This string is displayed in the title of the tab when the Application panel
+# is displayed inside the developer tools window and in the Developer Tools Menu.
+application.label=Ứng dụng
+
+# LOCALIZATION NOTE (application.panelLabel):
+# This is used as the label for the toolbox panel.
+application.panelLabel=Bảng ứng dụng
+
+# LOCALIZATION NOTE (application.tooltip):
+# This string is displayed in the tooltip of the tab when the Application panel is
+# displayed inside the developer tools window.
+application.tooltip=Bảng ứng dụng
+
+# LOCALIZATION NOTE (toolbox.buttons.responsive):
+# This is the tooltip of the button in the toolbox toolbar that toggles
+# the Responsive mode.
+# Keyboard shortcut will be shown inside brackets.
+toolbox.buttons.responsive = Chế độ thiết kế tương thích (%S)
+
+# LOCALIZATION NOTE (toolbox.buttons.screenshot):
+# This is the tooltip of the button in the toolbox toolbar that allows you to
+# take a screenshot of the entire page
+toolbox.buttons.screenshot = Chụp ảnh màn hình của toàn bộ trang
+
+# LOCALIZATION NOTE (toolbox.buttons.rulers):
+# This is the tooltip of the button in the toolbox toolbar that toggles the
+# rulers in the page
+toolbox.buttons.rulers = Bật/tắt thước kẻ cho trang
+
+# LOCALIZATION NOTE (toolbox.buttons.measure):
+# This is the tooltip of the button in the toolbox toolbar that toggles the
+# measuring tools
+toolbox.buttons.measure = Đo một phần của trang
+
diff --git a/l10n-vi/devtools/client/storage.ftl b/l10n-vi/devtools/client/storage.ftl
new file mode 100644
index 0000000000..0d23ee4833
--- /dev/null
+++ b/l10n-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/l10n-vi/devtools/client/styleeditor.ftl b/l10n-vi/devtools/client/styleeditor.ftl
new file mode 100644
index 0000000000..1e17cccccc
--- /dev/null
+++ b/l10n-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/l10n-vi/devtools/client/styleeditor.properties b/l10n-vi/devtools/client/styleeditor.properties
new file mode 100644
index 0000000000..9ebddb278f
--- /dev/null
+++ b/l10n-vi/devtools/client/styleeditor.properties
@@ -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/.
+
+# LOCALIZATION NOTE These strings are used inside the Style Editor.
+# LOCALIZATION NOTE 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.
+
+# LOCALIZATION NOTE (inlineStyleSheet): This is the name used for an style sheet
+# that is declared inline in the <style> element. Shown in the stylesheets list.
+# the argument is the index (order) of the containing <style> element in the
+# document.
+inlineStyleSheet=<inline style sheet #%S>
+
+# LOCALIZATION NOTE (newStyleSheet): This is the default name for a new
+# user-created style sheet.
+newStyleSheet=Style sheet mới #%S
+
+# LOCALIZATION NOTE (ruleCount.label): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This is shown in the style sheets list.
+# #1 rule.
+# example: 111 rules.
+ruleCount.label=#1 quy tắc.
+
+# LOCALIZATION NOTE (error-load): This is shown when loading fails.
+error-load=Không thể tải xuống style sheet.
+
+# LOCALIZATION NOTE (error-save): This is shown when saving fails.
+error-save=Không thể lưu lại style sheet.
+
+# LOCALIZATION NOTE (importStyleSheet.title): This is the file picker title,
+# when you import a style sheet into the Style Editor.
+importStyleSheet.title=Nhập style sheet
+
+# LOCALIZATION NOTE (importStyleSheet.filter): This is the *.css filter title
+importStyleSheet.filter=Tập tin CSS
+
+# LOCALIZATION NOTE (saveStyleSheet.title): This is the file picker title,
+# when you save a style sheet from the Style Editor.
+saveStyleSheet.title=Lưu style sheet
+
+# LOCALIZATION NOTE (saveStyleSheet.filter): This is the *.css filter title
+saveStyleSheet.filter=Tập tin CSS
+
+# LOCALIZATION NOTE (saveStyleSheet.commandkey): This the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to Save
+saveStyleSheet.commandkey=S
+
+# LOCALIZATION NOTE (focusFilterInput.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to focus the
+# filter input. Don't use "F" as it's used by the CodeMirror editor to perform an
+# in-file search; if possible, keep it the same as sources.search.key2.
+focusFilterInput.commandkey=P
+
+# LOCALIZATION NOTE (showOriginalSources.label): This is the label on the context
+# menu item to toggle showing original sources in the editor.
+showOriginalSources.label=Hiển thị nguồn gốc
+
+# LOCALIZATION NOTE (showOriginalSources.accesskey): This is the access key for
+# the menu item to toggle showing original sources in the editor.
+showOriginalSources.accesskey=o
+
+# LOCALIZATION NOTE (showAtRulesSidebar.label): This is the label on the context
+# menu item to toggle showing at-rules shortcuts in a sidebar.
+# "@media" and "@supports" should not be translated as they are CSS rule identifiers.
+showAtRulesSidebar.label=Hiển thị thanh bên At-rules (@media, @supports, …)
+
+# LOCALIZATION NOTE (showAtRulesSidebar.accesskey): This is the access key for
+# the menu item to toggle showing the at-rules sidebar.
+showAtRulesSidebar.accesskey=a
diff --git a/l10n-vi/devtools/client/toolbox-options.ftl b/l10n-vi/devtools/client/toolbox-options.ftl
new file mode 100644
index 0000000000..a6f101d3a2
--- /dev/null
+++ b/l10n-vi/devtools/client/toolbox-options.ftl
@@ -0,0 +1,131 @@
+# 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.
+# The label for the checkbox option to enable simplified highlighting on page elements
+# within the inspector for users who enabled prefers-reduced-motion = reduce
+options-inspector-simplified-highlighters-label = Sử dụng công cụ tô sáng đơn giản hơn với prefers-reduced-motion
+
+## "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/l10n-vi/devtools/client/toolbox.ftl b/l10n-vi/devtools/client/toolbox.ftl
new file mode 100644
index 0000000000..b4e2952ac7
--- /dev/null
+++ b/l10n-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/l10n-vi/devtools/client/toolbox.properties b/l10n-vi/devtools/client/toolbox.properties
new file mode 100644
index 0000000000..62308ae51b
--- /dev/null
+++ b/l10n-vi/devtools/client/toolbox.properties
@@ -0,0 +1,265 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (toolbox.titleTemplate1): This is the template
+# used to format the title of the toolbox.
+# The URL of the page being targeted: %1$S.
+toolbox.titleTemplate1=Công cụ dành cho nhà phát triển - %1$S
+
+# LOCALIZATION NOTE (toolbox.titleTemplate2): This is the template
+# used to format the title of the toolbox.
+# The page title or other name for the thing being targeted: %1$S
+# The URL of the page being targeted: %2$S.
+toolbox.titleTemplate2=Công cụ dành cho nhà phát triển - %1$S - %2$S
+
+# LOCALIZATION NOTE (toolbox.multiProcessBrowserToolboxTitle): Title used for
+# the Browser Toolbox when the pref `devtools.browsertoolbox.scope` is set to "everything".
+# This Browser Toolbox allows to debug the parent process as well as the content
+# processes in the same toolbox.
+toolbox.multiProcessBrowserToolboxTitle=Hộp công cụ của trình duyệt đa tiến trình
+
+# LOCALIZATION NOTE (toolbox.parentProcessBrowserToolboxTitle): Title used for
+# the Browser Toolbox when the pref `devtools.browsertoolbox.scope` is set to "parent-process".
+# This Browser Toolbox allows to debug only the parent process resources.
+
+# LOCALIZATION NOTE (toolbox.defaultTitle): This is used as the tool
+# name when no tool is selected.
+toolbox.defaultTitle=Công cụ phát triển
+
+# LOCALIZATION NOTE (toolbox.label): This is used as the label for the
+# toolbox as a whole
+toolbox.label=Công cụ phát triển
+
+# LOCALIZATION NOTE (options.autoTheme.label)
+# Used as a label for auto theme
+options.autoTheme.label=Tự động
+
+# LOCALIZATION NOTE (options.toolNotSupportedMarker): This is the template
+# used to add a * marker to the label for the Options Panel tool checkbox for the
+# tool which is not supported for the current toolbox target.
+# The name of the tool: %1$S.
+options.toolNotSupportedMarker=%1$S *
+
+# LOCALIZATION NOTE (toolbox.pickButton.tooltip)
+# This is the tooltip of the element picker button in the toolbox toolbar.
+# %S is the keyboard shortcut that toggles the element picker.
+toolbox.elementPicker.tooltip=Chọn một yếu tố từ trang (%S)
+
+# LOCALIZATION NOTE (toolbox.pickButton.mac.tooltip)
+# Like toolbox.pickButton.tooltip, but for macOS there are two possible keyboard
+# shortcuts: Cmd+Shift+C or Cmd+Opt+C
+toolbox.elementPicker.mac.tooltip=Chọn một yếu tố từ trang (%1$S hoặc %2$S)
+
+# LOCALIZATION NOTE (toolbox.androidElementPicker.tooltip)
+# This is the tooltip of the element picker button in the about:devtools-toolbox toolbox toolbar
+# when debugging an Android device
+# %S is the keyboard shortcut that toggles the element picker.
+toolbox.androidElementPicker.tooltip=Chọn một phần tử từ điện thoại Android (%S)
+
+# LOCALIZATION NOTE (toolbox.androidElementPicker.mac.tooltip)
+# Like toolbox.androidElementPicker.tooltip, but for macOS as there are two possible keyboard
+# shortcuts (Cmd+Shift+C or Cmd+Opt+C)
+# %1$S and %2$S are the keyboard shortcuts that toggle the element picker.
+toolbox.androidElementPicker.mac.tooltip=Chọn một phần tử từ điện thoại Android (%1$S hoặc %2$S)
+
+# LOCALIZATION NOTE (toolbox.elementPicker.key)
+# Key shortcut used to toggle the element picker.
+toolbox.elementPicker.key=CmdOrCtrl+Shift+C
+
+# LOCALIZATION NOTE (toolbox.elementPicker.mac.key)
+# Key shortcut used to toggle the element picker for macOS.
+toolbox.elementPicker.mac.key=Cmd+Opt+C
+
+# LOCALIZATION NOTE (toolbox.viewCssSourceInStyleEditor.label)
+# Used as a message in either tooltips or contextual menu items to open the
+# corresponding URL as a css file in the Style-Editor tool.
+# DEV NOTE: Mostly used wherever toolbox.viewSourceInStyleEditorByXX is used.
+toolbox.viewCssSourceInStyleEditor.label=Mở tập tin trong trình soạn thảo kiểu mẫu
+
+# LOCALIZATION NOTE (toolbox.viewJsSourceInDebugger.label)
+# Used as a message in either tooltips or contextual menu items to open the
+# corresponding URL as a js file in the Debugger tool.
+# DEV NOTE: Mostly used wherever toolbox.viewSourceInDebugger is used.
+toolbox.viewJsSourceInDebugger.label=Mở tập tin trong trình gỡ lỗi
+
+toolbox.resumeOrderWarning=Trang đã không tiếp tục sau khi trình gỡ lỗi được đính kèm. Để khắc phục điều này, vui lòng đóng và mở lại hộp công cụ.
+
+# LOCALIZATION NOTE (toolbox.help.key)
+# Key shortcut used to open the options panel
+toolbox.help.key=F1
+
+# LOCALIZATION NOTE (toolbox.nextTool.key)
+# Key shortcut used to select the next tool
+toolbox.nextTool.key=CmdOrCtrl+]
+
+# LOCALIZATION NOTE (toolbox.previousTool.key)
+# Key shortcut used to select the previous tool
+toolbox.previousTool.key=CmdOrCtrl+[
+
+# LOCALIZATION NOTE (toolbox.zoom*.key)
+# Key shortcuts used to zomm in/out or reset the toolbox
+# Should match full-zoom-*-shortcut values from browserSets.ftl
+toolbox.zoomIn.key=CmdOrCtrl+Plus
+toolbox.zoomIn2.key=CmdOrCtrl+=
+
+toolbox.zoomOut.key=CmdOrCtrl+-
+toolbox.zoomOut2.key=
+
+toolbox.zoomReset.key=CmdOrCtrl+0
+toolbox.zoomReset2.key=
+
+# LOCALIZATION NOTE (toolbox.reload*.key)
+# Key shortcuts used to reload the page
+toolbox.reload.key=CmdOrCtrl+R
+toolbox.reload2.key=F5
+
+# LOCALIZATION NOTE (toolbox.forceReload*.key)
+# Key shortcuts used to force reload of the page by bypassing caches
+toolbox.forceReload.key=CmdOrCtrl+Shift+R
+toolbox.forceReload2.key=CmdOrCtrl+F5
+
+# LOCALIZATION NOTE (toolbox.toggleHost.key)
+# Key shortcut used to move the toolbox in bottom or side of the browser window
+toolbox.toggleHost.key=CmdOrCtrl+Shift+D
+
+# LOCALIZATION NOTE (toolbox.closeToolbox.key) Key shortcut used to close the toolbox
+toolbox.closeToolbox.key=CmdOrCtrl+W
+
+# LOCALIZATION NOTE (toolbox.toggleToolbox.key) Key shortcut used to toggle the toolbox
+toolbox.toggleToolbox.key=CmdOrCtrl+Shift+I
+
+# LOCALIZATION NOTE (toolbox.toggleToolboxOSX.key) Key shortcut used to toggle the toolbox
+toolbox.toggleToolboxOSX.key=CmdOrCtrl+Alt+I
+
+# LOCALIZATION NOTE (toolbox.toggleToolboxF12.key) Key shortcut used to toggle the toolbox
+toolbox.toggleToolboxF12.key=F12
+
+# LOCALIZATION NOTE (toolbox.frames.tooltip): This is the label for
+# the iframes menu list that appears only when the document has some.
+# It allows you to switch the context of the whole toolbox.
+toolbox.frames.tooltip=Chọn một iframe làm tài liệu được nhắm mục tiêu hiện tại
+
+# LOCALIZATION NOTE (toolbox.frames.disabled.tooltip): This is the title
+# displayed as a tooltip of the iframes menu button, when disabled. The button
+# is normally hidden when no frames are available. But if the user is on the
+# DevTools Options panel, the button is always shown for discoverability.
+toolbox.frames.disabled.tooltip=Nút này chỉ khả dụng trên các trang có vài iframe
+
+# LOCALIZATION NOTE (toolbox.showFrames.key)
+# Key shortcut used to show frames menu when 'frames' button is focused
+toolbox.showFrames.key=Alt+Down
+
+# LOCALIZATION NOTE (toolbox.meatballMenu.button.tooltip): This is the tooltip
+# for the "..." button on the developer tools toolbox.
+toolbox.meatballMenu.button.tooltip=Tùy chỉnh công cụ dành cho nhà phát triển và nhận trợ giúp
+
+# LOCALIZATION NOTE (toolbox.closebutton.tooltip): This is the tooltip for
+# the close button the developer tools toolbox.
+toolbox.closebutton.tooltip=Đóng công cụ phát triển
+
+# LOCALIZATION NOTE (toolbox.errorCountButton.tooltip): This is the tooltip for
+# the error count button displayed in the developer tools toolbox.
+toolbox.errorCountButton.tooltip=Hiện bảng điều khiển phân chia
+
+# LOCALIZATION NOTE (toolbox.errorCountButton.description): This is the description that
+# will be used for the error count button in the devTools settings panel.
+toolbox.errorCountButton.description=Hiển thị số lỗi trên trang
+
+# LOCALIZATION NOTE (toolbox.sourceMapFailure): This is shown in the web console
+# when there is a failure to fetch or parse a source map.
+# The text of the error: %1$S
+# The URL that caused DevTools to try to fetch a source map: %2$S
+# The URL of the source map itself: %3$S
+toolbox.sourceMapFailure=Lỗi bản đồ nguồn: %1$S\nURL nguồn: %2$S\nURL bản đồ nguồn: %3$S
+
+# LOCALIZATION NOTE (toolbox.sourceMapSourceFailure): This is shown in
+# the web console when there is a failure to fetch or parse an
+# original source that was mentioned in a source map.
+# The text of the error: %1$S
+# The URL of the source: %2$S
+toolbox.sourceMapSourceFailure=Lỗi khi tìm nạp nguồn ban đầu: %1$S\nURL nguồn: %2$S
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.runtimeLabel): This is displayed as a toolbox
+# header in about:devtools-toolbox. about:devtools-toolbox is used for instance when
+# inspecting tabs in about:debugging.
+# e.g. Mozilla Fennec (65.0a1)
+# The name of runtime: %1$S
+# The version of runtime: %2$S
+toolbox.debugTargetInfo.runtimeLabel=%1$S (%2$S)
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.runtimeLabel.thisRuntime): this is displayed
+# as a toolbox header in about:devtools-toolbox, when inspecting the current Firefox runtime
+# (for instance, when inspecting one of its tabs in about:debugging)
+# e.g. This Firefox (65.0a1)
+# The name of the current runtime/application (brandShorterName): %1$S
+# The version of runtime: %2$S
+toolbox.debugTargetInfo.runtimeLabel.thisRuntime=%1$S này (%2$S)
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.tabTitleRemote):
+# Used as the tab title for about:devtools-toolbox when connected to a remote target.
+# The connection type (see toolbox.debugTargetInfo.connection.*): %1$S
+# The target type (see toolbox.debugTargetInfo.targetType.*): %2$S
+# The target name (retrieved from DevTools, eg the extension's name): %3$S
+toolbox.debugTargetInfo.tabTitleRemote=Hộp công cụ (%1$S) - %2$S / %3$S
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.tabTitleLocal):
+# Used as the tab title for about:devtools-toolbox when connected to This Firefox.
+# The target type (see toolbox.debugTargetInfo.targetType.*): %1$S
+# The target name (retrieved from DevTools, eg the extension's name): %2$S
+toolbox.debugTargetInfo.tabTitleLocal=Hộp công cụ - %1$S / %2$S
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.tabTitleError):
+# Used as the tab title for about:devtools-toolbox when it failed to connect to the
+# target.
+toolbox.debugTargetInfo.tabTitleError=Hộp công cụ - xảy ra lỗi
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.connection.*): This is displayed in the
+# toolbox header in about:devtools-toolbox, to indicate how the connection to the
+# runtime being inspected was made.
+toolbox.debugTargetInfo.connection.usb=USB
+toolbox.debugTargetInfo.connection.network=Mạng
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.reload):
+# Used as the reload button tooltip
+toolbox.debugTargetInfo.reload=Tải lại
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.forward):
+# Used as the navigation's "forward" button tooltip
+toolbox.debugTargetInfo.forward=Tiến
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.back):
+# Used as the navigation's "back" button tooltip
+toolbox.debugTargetInfo.back=Quay lại
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.targetType.*): This is displayed as the
+# alt attribute for an icon in the toolbox header in about:devtools-toolbox,
+# to indicate what is the type of the debug target being inspected.
+toolbox.debugTargetInfo.targetType.extension=Tiện ích mở rộng
+toolbox.debugTargetInfo.targetType.process=Quá trình
+toolbox.debugTargetInfo.targetType.tab=Thẻ
+toolbox.debugTargetInfo.targetType.worker=Worker
+
+# LOCALIZATION NOTE (browserToolbox.statusMessage): This is the label
+# shown next to status details when the Browser Toolbox fails to connect or
+# appears to be taking a while to do so.
+browserToolbox.statusMessage=Trạng thái kết nối hộp công cụ trình duyệt:
+
+# LOCALIZATION NOTE (toolbox.debugTargetErrorPage.title): This is the title
+# for the Error view shown by the toolbox when a connection to a debug target
+# could not be made
+toolbox.debugTargetErrorPage.title = Lỗi
+
+# LOCALIZATION NOTE (toolbox.debugTargetErrorPage.description): This is the
+# text that appears in the Error view and explains to the user that an error
+# has happened while trying to connect to a debug target
+toolbox.debugTargetErrorPage.description = Không thể kết nối với mục tiêu gỡ lỗi. Xem chi tiết lỗi bên dưới:
+
+# LOCALIZATION NOTE (options.deprecationNotice): This is the text that appears in the
+# settings panel for panel that will be removed in future releases.
+# This entire text is treated as a link to an MDN page.
+options.deprecationNotice=Không còn được dùng nữa. Tìm hiểu thêm…
+
+# LOCALIZATION NOTE (options.enableMultiProcessToolbox): This is the text that appears in the
+# settings panel for the checkbox that enables the Multiprocess Browser Toolbox.
+options.enableMultiProcessToolbox=Kích hoạt hộp công cụ của trình duyệt đa tiến trình (yêu cầu khởi động lại Hộp công cụ của trình duyệt)
diff --git a/l10n-vi/devtools/client/tooltips.ftl b/l10n-vi/devtools/client/tooltips.ftl
new file mode 100644
index 0000000000..9a8f00f5fd
--- /dev/null
+++ b/l10n-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/l10n-vi/devtools/client/webconsole.properties b/l10n-vi/devtools/client/webconsole.properties
new file mode 100644
index 0000000000..8b89fb8dd5
--- /dev/null
+++ b/l10n-vi/devtools/client/webconsole.properties
@@ -0,0 +1,570 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# LOCALIZATION NOTE
+# 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.
+
+# LOCALIZATION NOTE (multiProcessBrowserConsole.title): Title of the Browser
+# Console window when the pref `devtools.browsertoolbox.scope` is set to "everything". This
+# Browser Console will log messages from all processes, not just the the parent
+# process.
+multiProcessBrowserConsole.title=Bảng điều khiển trình duyệt đa tiến trình
+
+# LOCALIZATION NOTE (parentProcessBrowserConsole.title): Title used for
+# the Browser Console when the pref `devtools.browsertoolbox.scope` is set to "parent-process".
+
+# LOCALIZATION NOTE (timestampFormat): %1$02S = hours (24-hour clock),
+# %2$02S = minutes, %3$02S = seconds, %4$03S = milliseconds.
+timestampFormat=%02S:%02S:%02S.%03S
+
+ConsoleAPIDisabled=API ghi nhật ký bảng điều khiển Web (console.log, console.info, console.warn, console.error) đã bị vô hiệu hóa bởi một tập lệnh trên trang này.
+
+# LOCALIZATION NOTE (webConsoleXhrIndicator): the indicator displayed before
+# a URL in the Web Console that was requested using an XMLHttpRequest.
+webConsoleXhrIndicator=XHR
+
+# LOCALIZATION NOTE (webConsoleMoreInfoLabel): the more info tag displayed
+# after security related web console messages.
+webConsoleMoreInfoLabel=Tìm hiểu thêm
+
+# LOCALIZATION NOTE (stacktrace.anonymousFunction): this string is used to
+# display JavaScript functions that have no given name - they are said to be
+# anonymous. Test console.trace() in the webconsole.
+stacktrace.anonymousFunction=<ẩn danh>
+
+# LOCALIZATION NOTE (stacktrace.asyncStack): this string is used to
+# indicate that a given stack frame has an async parent.
+# %S is the "Async Cause" of the frame.
+stacktrace.asyncStack=(Async: %S)
+
+# LOCALIZATION NOTE (timeLog): this string is used to display the result of
+# the console.timeLog() call. Parameters: %1$S is the name of the timer, %2$S
+# is the number of milliseconds.
+timeLog=%1$S: %2$Sms
+
+# LOCALIZATION NOTE (console.timeEnd): this string is used to display the result of
+# the console.timeEnd() call. Parameters: %1$S is the name of the timer, %2$S
+# is the number of milliseconds.
+console.timeEnd=%1$S: %2$Sms - đã hết giờ
+
+# LOCALIZATION NOTE (consoleCleared): this string is displayed when receiving a
+# call to console.clear() to let the user know the previous messages of the
+# console have been removed programmatically.
+consoleCleared=Bảng điều khiển đã bị xóa.
+
+# LOCALIZATION NOTE (preventedConsoleClear): this string is displayed when receiving a
+# call to console.clear() when the user has the "Persist logs" option enabled, to let the
+# user know the console method call was ignored.
+# "Persist Logs" should be kept in sync with webconsole.console.settings.menu.item.enablePersistentLogs.label
+preventedConsoleClear=console.clear() đã không thực thi do “Nhật ký lâu dài”
+
+# LOCALIZATION NOTE (noCounterLabel): this string is used to display
+# count-messages with no label provided.
+noCounterLabel=<không nhãn>
+
+# LOCALIZATION NOTE (counterDoesntExist): this string is displayed when
+# console.countReset() is called with a counter that doesn't exist.
+counterDoesntExist=Counter “%S” không tồn tại.
+
+# LOCALIZATION NOTE (noGroupLabel): this string is used to display
+# console.group messages with no label provided.
+noGroupLabel=<không có nhóm nhãn>
+
+maxTimersExceeded=Vượt quá thời gian tối đa cho phép.
+timerAlreadyExists=Timer “%S” đã tồn tại.
+timerDoesntExist=Timer “%S” không tồn tại.
+timerJSError=Không thể xử lý tên timer.
+
+# LOCALIZATION NOTE (connectionTimeout): message displayed when the Remote Web
+# Console fails to connect to the server due to a timeout.
+connectionTimeout=Hết thời gian kết nối. Kiểm tra bảng điều khiển lỗi ở cả hai đầu để biết thông báo lỗi tiềm ẩn. Mở lại bảng điều khiển web để thử lại.
+
+# LOCALIZATION NOTE (propertiesFilterPlaceholder): this is the text that
+# appears in the filter text box for the properties view container.
+propertiesFilterPlaceholder=Thuộc tính bộ lọc
+
+# LOCALIZATION NOTE (messageRepeats.tooltip2): the tooltip text that is displayed
+# when you hover the red bubble that shows how many times a message is repeated
+# in the web console output.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of message repeats
+# example: 3 repeats
+messageRepeats.tooltip2=#1 lập lại
+
+# LOCALIZATION NOTE (openNodeInInspector): the text that is displayed in a
+# tooltip when hovering over the inspector icon next to a DOM Node in the console
+# output
+openNodeInInspector=Nhấn vào đây để chọn node trong trình kiểm tra
+
+# LOCALIZATION NOTE (selfxss.msg): the text that is displayed when
+# a new user of the developer tools pastes code into the console
+# %1 is the text of selfxss.okstring
+selfxss.msg=Cảnh báo lừa đảo: Cẩn thận khi dán những thứ bạn không hiểu. Điều này có thể cho phép kẻ tấn công đánh cắp danh tính của bạn hoặc kiểm soát máy tính của bạn. Vui lòng nhập ‘%S’ bên dưới (không cần nhấn enter) để cho phép dán.
+
+# LOCALIZATION NOTE (selfxss.okstring): the string to be typed
+# in by a new user of the developer tools when they receive the sefxss.msg prompt.
+# Please avoid using non-keyboard characters here
+selfxss.okstring=allow pasting
+
+# LOCALIZATION NOTE (messageToggleDetails): the text that is displayed when
+# you hover the arrow for expanding/collapsing the message details. For
+# console.error() and other messages we show the stacktrace.
+messageToggleDetails=Hiển thị/ẩn chi tiết tin nhắn.
+
+# LOCALIZATION NOTE (groupToggle): the text that is displayed when
+# you hover the arrow for expanding/collapsing the messages of a group.
+groupToggle=Hiển thị/ẩn nhóm.
+
+# LOCALIZATION NOTE (table.index, table.iterationIndex, table.key, table.value):
+# the column header displayed in the console table widget.
+table.index=(index)
+table.iterationIndex=(iteration index)
+table.key=Khóa
+table.value=Giá trị
+
+# LOCALIZATION NOTE (level.error, level.warn, level.info, level.log, level.debug):
+# tooltip for icons next to console output
+level.error=Lỗi
+level.warn=Cảnh báo
+level.info=Thông tin
+level.log=Nhật ký
+level.debug=Gỡ lỗi
+
+# LOCALIZATION NOTE (logpoint.title)
+# Tooltip shown for logpoints sent from the debugger
+logpoint.title=Điểm ghi từ trình gỡ lỗi
+
+# LOCALIZATION NOTE (logtrace.title)
+# Tooltip shown for JavaScript tracing logs
+logtrace.title=Theo dõi JavaScript
+
+# LOCALIZATION NOTE (blockedReason.title)
+# Tooltip shown for blocked network events sent from the network panel
+blockedrequest.label=Bị chặn bởi DevTools
+
+# LOCALIZATION NOTE (webconsole.disableIcon.title)
+# Tooltip shown for disabled console messages
+webconsole.disableIcon.title=Thông báo này không còn hoạt động, thông tin chi tiết về thông báo không có sẵn nữa
+
+# LOCALIZATION NOTE (webconsole.find.key)
+# Key shortcut used to focus the search box on upper right of the console
+webconsole.find.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (webconsole.close.key)
+# Key shortcut used to close the Browser console (doesn't work in regular web console)
+webconsole.close.key=CmdOrCtrl+W
+
+# LOCALIZATION NOTE (webconsole.clear.key*)
+# Key shortcut used to clear the console output
+webconsole.clear.key=Ctrl+Shift+L
+webconsole.clear.keyOSX=Ctrl+L
+webconsole.clear.alternativeKeyOSX=Cmd+K
+
+# LOCALIZATION NOTE (webconsole.menu.copyURL.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# copies the URL displayed in the message to the clipboard.
+webconsole.menu.copyURL.label=Sao chép địa chỉ liên kết
+webconsole.menu.copyURL.accesskey=a
+
+# LOCALIZATION NOTE (webconsole.menu.openURL.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# opens the URL displayed in a new browser tab.
+webconsole.menu.openURL.label=Mở URL trong thẻ mới
+webconsole.menu.openURL.accesskey=T
+
+# LOCALIZATION NOTE (webconsole.menu.openInNetworkPanel.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# opens the network message in the Network panel
+webconsole.menu.openInNetworkPanel.label=Mở trong bảng điều khiển mạng
+webconsole.menu.openInNetworkPanel.accesskey=N
+
+# LOCALIZATION NOTE (webconsole.menu.resendNetworkRequest.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# resends the network request
+webconsole.menu.resendNetworkRequest.label=Gửi lại yêu cầu
+webconsole.menu.resendNetworkRequest.accesskey=n
+
+# LOCALIZATION NOTE (webconsole.menu.openNodeInInspector.label)
+# Label used for a context-menu item displayed for DOM Node logs. Clicking on it will
+# reveal that specific DOM Node in the Inspector.
+webconsole.menu.openNodeInInspector.label=Hiển thị trong trình kiểm tra
+webconsole.menu.openNodeInInspector.accesskey=Q
+
+# LOCALIZATION NOTE (webconsole.menu.storeAsGlobalVar.label)
+# Label used for a context-menu item displayed for object/variable logs. Clicking on it
+# creates a new global variable pointing to the logged variable.
+webconsole.menu.storeAsGlobalVar.label=Lưu trữ dưới dạng biến toàn cục
+webconsole.menu.storeAsGlobalVar.accesskey=S
+
+# LOCALIZATION NOTE (webconsole.menu.copyMessage.label)
+# Label used for a context-menu item displayed for any log. Clicking on it will copy the
+# content of the log (or the user selection, if any).
+webconsole.menu.copyMessage.label=Sao chép tin nhắn
+webconsole.menu.copyMessage.accesskey=C
+
+# LOCALIZATION NOTE (webconsole.menu.copyObject.label)
+# Label used for a context-menu item displayed for object/variable log. Clicking on it
+# will copy the object/variable.
+webconsole.menu.copyObject.label=Sao chép đối tượng
+webconsole.menu.copyObject.accesskey=o
+
+# LOCALIZATION NOTE (webconsole.menu.openInSidebar.label)
+# Label used for a context-menu item displayed for object/variable logs. Clicking on it
+# opens the webconsole sidebar for the logged variable.
+webconsole.menu.openInSidebar.label1=Kiểm tra đối tượng trong thanh lề
+webconsole.menu.openInSidebar.accesskey=V
+
+# LOCALIZATION NOTE (webconsole.menu.copyAllMessages.label)
+# Label used for a context-menu item displayed on the output. Clicking on it
+# copies the entire output of the console to the clipboard.
+webconsole.menu.copyAllMessages.label=Sao chép tất cả tin nhắn
+webconsole.menu.copyAllMessages.accesskey=M
+
+# LOCALIZATION NOTE (webconsole.menu.saveAllMessagesFile.label)
+# Label used for a context-menu item displayed on the output. Clicking on it
+# opens a file picker to allow the user save a file containing
+# the output of the console.
+webconsole.menu.saveAllMessagesFile.label=Lưu tất cả tin nhắn vào tập tin
+webconsole.menu.saveAllMessagesFile.accesskey=F
+
+# LOCALIZATION NOTE (webconsole.clearButton.tooltip)
+# Label used for the tooltip on the clear logs button in the console top toolbar bar.
+# Clicking on it will clear the content of the console.
+webconsole.clearButton.tooltip=Xóa đầu ra của bảng điều khiển Web
+
+# LOCALIZATION NOTE (webconsole.toggleFilterButton.tooltip)
+# Label used for the tooltip on the toggle filter bar button in the console top
+# toolbar bar. Clicking on it will toggle the visibility of an additional bar which
+# contains filter buttons.
+webconsole.toggleFilterButton.tooltip=Bật/Tắt thanh lọc
+
+# LOCALIZATION NOTE (webconsole.filterInput.placeholder)
+# Label used for for the placeholder on the filter input, in the console top toolbar.
+webconsole.filterInput.placeholder=Đầu ra của bộ lọc
+
+# LOCALIZATION NOTE (webconsole.errorsFilterButton.label)
+# Label used as the text of the "Errors" button in the additional filter toolbar.
+# It shows or hides error messages, either inserted in the page using
+# console.error() or as a result of a javascript error..
+webconsole.errorsFilterButton.label=Lỗi
+
+# LOCALIZATION NOTE (webconsole.warningsFilterButton.label)
+# Label used as the text of the "Warnings" button in the additional filter toolbar.
+# It shows or hides warning messages, inserted in the page using console.warn().
+webconsole.warningsFilterButton.label=Cảnh báo
+
+# LOCALIZATION NOTE (webconsole.logsFilterButton.label)
+# Label used as the text of the "Logs" button in the additional filter toolbar.
+# It shows or hides log messages, inserted in the page using console.log().
+webconsole.logsFilterButton.label=Nhật ký
+
+# LOCALIZATION NOTE (webconsole.infoFilterButton.label)
+# Label used as the text of the "Info" button in the additional filter toolbar.
+# It shows or hides info messages, inserted in the page using console.info().
+webconsole.infoFilterButton.label=Thông tin
+
+# LOCALIZATION NOTE (webconsole.debugFilterButton.label)
+# Label used as the text of the "Debug" button in the additional filter toolbar.
+# It shows or hides debug messages, inserted in the page using console.debug().
+webconsole.debugFilterButton.label=Gỡ lỗi
+
+# LOCALIZATION NOTE (webconsole.cssFilterButton.label)
+# Label used as the text of the "CSS" button in the additional filter toolbar.
+# It shows or hides CSS warning messages, inserted in the page by the browser
+# when there are CSS errors in the page.
+webconsole.cssFilterButton.label=CSS
+
+# LOCALIZATION NOTE (webconsole.cssFilterButton.inactive.tooltip)
+# Label used as the tooltip of the "CSS" button in the additional filter toolbar, when the
+# filter is inactive (=unchecked).
+webconsole.cssFilterButton.inactive.tooltip=Biểu định kiểu web sẽ được sửa lại để kiểm tra lỗi. Làm mới trang để xem lỗi từ các biểu định kiểu web được sửa đổi từ Javascript.
+
+# LOCALIZATION NOTE (webconsole.xhrFilterButton.label)
+# Label used as the text of the "XHR" button in the additional filter toolbar.
+# It shows or hides messages displayed when the page makes an XMLHttpRequest or
+# a fetch call.
+webconsole.xhrFilterButton.label=XHR
+
+# LOCALIZATION NOTE (webconsole.requestsFilterButton.label)
+# Label used as the text of the "Requests" button in the additional filter toolbar.
+# It shows or hides messages displayed when the page makes a network call, for example
+# when an image or a scripts is requested.
+webconsole.requestsFilterButton.label=Yêu cầu
+
+# LOCALIZATION NOTE (webconsole.filteredMessagesByText.label)
+# Text on the filter input displayed when some console messages are hidden because the
+# user has filled in the input.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# example: 345 hidden.
+webconsole.filteredMessagesByText.label=#1 đã ẩn
+
+# LOCALIZATION NOTE (webconsole.filteredMessagesByText.tooltip)
+# Tooltip on the filter input "hidden" text, displayed when some console messages are
+# hidden because the user has filled in the input.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# example: 345 items hidden by text filter.
+webconsole.filteredMessagesByText.tooltip=#1 đã ẩn bởi bộ lọc văn bản
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.menuButton.tooltip)
+# Tooltip for the filter bar preferences menu. This menu will display multiple perefences for the
+# filter bar, such as enabling the compact toolbar mode, enable the timestamps, persist logs, etc
+webconsole.console.settings.menu.button.tooltip=Cài đặt bảng điều khiển
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.compactToolbar.label)
+# Label for the `Compact Toolbar` preference option. This will turn the message filters buttons
+# into a Menu Button, making the filter bar more compact.
+webconsole.console.settings.menu.item.compactToolbar.label=Thanh công cụ thu gọn
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.timestamps.label)
+# Label for enabling the timestamps in the Web Console.
+webconsole.console.settings.menu.item.timestamps.label=Hiển thị dấu thời gian
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.timestamps.tooltip)
+webconsole.console.settings.menu.item.timestamps.tooltip=Nếu bạn bật lệnh tùy chọn này và đầu ra trong bảng điều khiển Web sẽ hiển thị dấu thời gian
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.warningGroups.label)
+# Label for grouping the similar messages in the Web Console
+webconsole.console.settings.menu.item.warningGroups.label=Gộp thông báo tương tự
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.warningGroups.tooltip)
+webconsole.console.settings.menu.item.warningGroups.tooltip=Khi được bật, các thông báo tương tự được đặt thành các nhóm
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.autocomplete.label)
+# Label for enabling autocomplete for input in the Web Console
+webconsole.console.settings.menu.item.autocomplete.label=Kích hoạt tự động hoàn thành
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.autocomplete.tooltip)
+webconsole.console.settings.menu.item.autocomplete.tooltip=Nếu bạn bật tùy chọn này, input sẽ hiển thị các đề xuất khi bạn nhập vào nó
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.enablePersistentLogs.label)
+webconsole.console.settings.menu.item.enablePersistentLogs.label=Nhật ký lâu dài
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.enablePersistentLogs.tooltip)
+webconsole.console.settings.menu.item.enablePersistentLogs.tooltip=Nếu bạn bật tùy chọn này, danh sách thông tin ra sẽ không bị xóa mỗi lần bạn điều hướng đến một trang mới
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.instantEvaluation.label)
+webconsole.console.settings.menu.item.instantEvaluation.label=Xem kết quả tức thì
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.instantEvaluation.tooltip)
+webconsole.console.settings.menu.item.instantEvaluation.tooltip=Nếu bạn bật tùy chọn này, input sẽ được đánh giá ngay lập tức khi bạn nhập vào nó
+
+# LOCALIZATION NOTE (browserconsole.enableNetworkMonitoring.label)
+# Label used in the browser console / browser toolbox console. This label is used for a checkbox that
+# allows the user enable monitoring of network requests.
+browserconsole.enableNetworkMonitoring.label=Bật giám sát mạng
+# LOCALIZATION NOTE (browserconsole.enableNetworkMonitoring.tooltip)
+# Tooltip for the "Enable Network Monitoring" check item.
+browserconsole.enableNetworkMonitoring.tooltip=Bật tính năng này để bắt đầu nghe các yêu cầu mạng
+
+# LOCALIZATION NOTE (webconsole.navigated): this string is used in the console when the
+# current inspected page is navigated to a new location.
+# Parameters: %S is the new URL.
+webconsole.navigated=Đã điều hướng đến %S
+
+# LOCALIZATION NOTE (webconsole.closeSplitConsoleButton.tooltip): This is the tooltip for
+# the close button of the split console.
+webconsole.closeSplitConsoleButton.tooltip=Đóng bảng điều khiển phân chia (Esc)
+
+# LOCALIZATION NOTE (webconsole.closeSidebarButton.tooltip): This is the tooltip for
+# the close button of the sidebar.
+webconsole.closeSidebarButton.tooltip=Đóng thanh lề
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.input.placeHolder):
+# This string is displayed in the placeholder of the reverse search input in the console.
+webconsole.reverseSearch.input.placeHolder=Tìm kiếm lịch sử
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.result.closeButton.tooltip):
+# This string is displayed in the tooltip of the close button in the reverse search toolbar.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.reverseSearch.closeButton.tooltip=Đóng (%S)
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.results):
+# This string is displayed in the reverse search UI when there are at least one result
+# to the search.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 index of current search result displayed.
+# #2 total number of search results.
+webconsole.reverseSearch.results=#1 trong #2 kết quả
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.noResult):
+# This string is displayed in the reverse search UI when there is no results to the search.
+webconsole.reverseSearch.noResult=Không có kết quả
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.result.previousButton.tooltip):
+# This string is displayed in the tooltip of the "previous result" button in the reverse search toolbar.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.reverseSearch.result.previousButton.tooltip=Kết quả trước (%S)
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.result.nextButton.tooltip):
+# This string is displayed in the tooltip of the "next result" button in the reverse search toolbar.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.reverseSearch.result.nextButton.tooltip=Kết quả tiếp theo (%S)
+
+# LOCALIZATION NOTE (webconsole.confirmDialog.getter.label)
+# Label used for the "invoke getter" confirm dialog that appears in the console when
+# a user tries to autocomplete a property with a getter.
+# Example: given the following object `x = {get y() {}}`, when the user types `x.y.`, it
+# would return "Invoke getter y to retrieve the property list?".
+# Parameters: %S is the name of the getter.
+webconsole.confirmDialog.getter.label=Gọi getter %S để lấy danh sách thuộc tính?
+
+# LOCALIZATION NOTE (webconsole.confirmDialog.getter.invokeButtonLabelWithShortcut)
+# Label used for the confirm button in the "invoke getter" dialog that appears in the
+# console when a user tries to autocomplete a property with a getter.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.confirmDialog.getter.invokeButtonLabelWithShortcut=Gọi (%S)
+
+# LOCALIZATION NOTE (webconsole.confirmDialog.getter.closeButton.tooltip)
+# Label used as the tooltip for the close button in the "invoke getter" dialog that
+# appears in the console when a user tries to autocomplete a property with a getter.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.confirmDialog.getter.closeButton.tooltip=Đóng (%S)
+
+# LOCALIZATION NOTE (webconsole.cssWarningElements.label)
+# Label for the list of HTML elements matching the selector associated
+# with the CSS warning. Parameters: %S is the CSS selector.
+webconsole.cssWarningElements.label=Các phần tử phù hợp với bộ chọn: %S
+
+# LOCALIZATION NOTE (webconsole.message.componentDidCatch.label)
+# Label displayed when the webconsole couldn't handle a given packet.
+# Parameters: %S is the URL to file a bug about the error.
+webconsole.message.componentDidCatch.label=[LỖI DEVTOOLS] Chúng tôi xin lỗi, chúng tôi không thể kết xuất thông báo. Điều này không nên xảy ra - vui lòng gửi lỗi tại %S với siêu dữ liệu thông báo trong mô tả.
+
+# LOCALIZATION NOTE (webconsole.message.commands.copyValueToClipboard)
+# Label displayed when the string is copied to the clipboard as a result of a copy command,
+# in the console, for example, copy({hello: "world"}).
+webconsole.message.commands.copyValueToClipboard=Chuỗi đã được sao chép vào khay nhớ tạm.
+
+# LOCALIZATION NOTE (webconsole.error.commands.copyError):
+# the error that is displayed when the "copy" command can't stringify an object
+# "copy" should not be translated, because is a function name.
+# Parameters: %S is the original error message
+webconsole.error.commands.copyError=Lệnh `copy` không thành công, không thể stringified: %S
+
+# LOCALIZATION NOTE (webconsole.message.commands.blockedUR)
+# Label displayed when the :block <url> command is successful
+# Parameters: %S is the URL filter
+webconsole.message.commands.blockedURL=Các yêu cầu gửi đến đường dẫn chứa “%S” hiện đã bị khóa
+
+# LOCALIZATION NOTE (webconsole.message.commands.unblockedURL)
+# Label displayed when the :unblock <url> command is successful
+# Parameters: %S is the URL filter
+webconsole.message.commands.unblockedURL=Đã xóa bộ lọc chặn “%S”
+
+# LOCALIZATION NOTE (webconsole.messages.commands.blockArgMissing)
+# Message displayed when no filter is passed to block/unblock command
+webconsole.messages.commands.blockArgMissing=Không chọn bộ lọc nào
+
+# LOCALIZATION NOTE (webconsole.message.componentDidCatch.copyButton.label)
+# Label displayed on the button next to the message we display when the webconsole
+# couldn't handle a given packet (See webconsole.message.componentDidCatch.label).
+webconsole.message.componentDidCatch.copyButton.label=Sao chép siêu dữ liệu thông báo vào bộ nhớ tạm
+
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.label)
+# Label used for the text of the execute button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+webconsole.editor.toolbar.executeButton.label=Chạy
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.reverseSearchButton.openReverseSearch.tooltip)
+# Label used for the tooltip on the reverse search button for opening the Reverse Search UI.
+# The Reverse Search is a feature that mimics the bash-like reverse search of
+# command history in WebConsole, searching commands from the last item backwards.
+# Parameters: %S is the keyboard shortcut.
+webconsole.editor.toolbar.reverseSearchButton.openReverseSearch.tooltip=Mở trình tìm kiếm ngược lịch sử (%S)
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.reverseSearchButton.closeReverseSearch.tooltip)
+# Label used for the tooltip on the reverse search button for closing the Reverse Search UI.
+# The Reverse Search is a feature that mimics the bash-like reverse search of
+# command history in WebConsole, searching commands from the last item backwards.
+# Parameters: %S is the keyboard shortcut.
+webconsole.editor.toolbar.reverseSearchButton.closeReverseSearch.tooltip=Đóng trình tìm kiếm ngược lịch sử (%S)
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.tooltip)
+# Label used for the tooltip on the execute button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+# Parameters: %S is the keyboard shortcut.
+webconsole.editor.toolbar.executeButton.tooltip=Chạy biểu thức (%S). Điều này sẽ không xóa input.
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.prettyPrintButton.tooltip)
+# Label used for the tooltip on the prettyPrint button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+webconsole.editor.toolbar.prettyPrintButton.tooltip=In đẹp mã nguồn
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.tooltip)
+# Label used for the tooltip on the history previous expression, in the editor toolbar,
+# which is displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+webconsole.editor.toolbar.history.prevExpressionButton.tooltip=Biểu hiện trước đó
+
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.tooltip)
+# Label used for the tooltip on the history next expression, in the editor toolbar,
+# which is displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+webconsole.editor.toolbar.history.nextExpressionButton.tooltip=Biểu hiện tiếp theo
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.closeButton.tooltip2)
+# Label used for the tooltip on the close button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+# Parameters: %S is the keyboard shortcut.
+webconsole.editor.toolbar.closeButton.tooltip2=Chuyển về chế độ trực tiếp (%S)
+
+# LOCALIZATION NOTE (webconsole.input.openEditorButton.tooltip2)
+# Label used for the tooltip on the open editor button, in console input, which is
+# displayed when the console is in regular mode.
+# Parameters: %S is the keyboard shortcut.
+webconsole.input.openEditorButton.tooltip2=Chuyển sang chế độ soạn thảo (%S)
+
+# LOCALIZATION NOTE (webconsole.warningGroup.messageCount.tooltip): the tooltip text
+# displayed when you hover a warning group badge (i.e. repeated warning messages for a
+# given category, for example Content Blocked messages) in the web console output.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of message in the group.
+# example: 3 messages
+webconsole.warningGroup.messageCount.tooltip=#1 thông báo
+
+# LOCALIZATION NOTE (webconsole.input.editor.onboarding.label): the text that is displayed
+# when displaying the multiline-input mode for the first time, until the user dismiss the
+# text.
+# Parameters: %1$S is Enter key, %2$S is the shortcut to evaluate the expression (
+# Ctrl+Enter or Cmd+Enter on OSX).
+webconsole.input.editor.onboarding.label=Lặp lại mã của bạn nhanh hơn với chế độ soạn thảo nhiều dòng mới. Sử dụng %1$S để thêm dòng mới và %2$S để chạy.
+
+# LOCALIZATION NOTE (webconsole.input.editor.onboarding.dismiss.label): the text that is
+# displayed in the multiline-input mode onboarding UI to dismiss it.
+webconsole.input.editor.onboarding.dismiss.label=Đã hiểu!
+
+# LOCALIZATION NOTE (webconsole.enterKey): The text that will be used to represent the
+# Enter key in the editor onboarding UI, as well as on the Editor toolbar "Run" button
+# tooltip.
+webconsole.enterKey=Enter
+
+# LOCALIZATION NOTE (webconsole.input.openJavaScriptFile): This is a label
+# used for opening a file in the console input (Ctrl+O or Cmd+O on OSX while
+# being focused on the input).
+webconsole.input.openJavaScriptFile=Mở tập tin JavaScript
+
+# LOCALIZATION NOTE (webconsole.input.openJavaScriptFileFilter):
+# This string is displayed as a filter when opening a file in the console input.
+webconsole.input.openJavaScriptFileFilter=Tập tin JavaScript
+
+# LOCALIZATION NOTE (webconsole.input.selector.top): This is the term used
+# to describe the primary thread of execution in the page
+webconsole.input.selector.top=Trên cùng
+
+# LOCALIZATION NOTE (webconsole.input.selector.tooltip): This is the tooltip
+# shown when users select a thread that they want to evaluate an
+# expression for.
+webconsole.input.selector.tooltip=Chọn bối cảnh đánh giá
+
+# LOCALIZATION NOTE (webconsole.group.cookieSameSiteLaxByDefaultEnabled2): do not translate 'SameSite'.
+webconsole.group.cookieSameSiteLaxByDefaultEnabled2=Một số cookie đang sử dụng sai thuộc tính “SameSite“, do đó có thể không hoạt động như mong đợi
+# LOCALIZATION NOTE (webconsole.group.cookieSameSiteLaxByDefaultDisabled2): do not translate 'SameSite'.
+webconsole.group.cookieSameSiteLaxByDefaultDisabled2=Một số cookie đang sử dụng sai thuộc tính được đề xuất “SameSite“
+
+# LOCALIZATION NOTE (webconsole.group.csp): do not translate
+# 'Content-Security-Policy', as that's the name of the header.
+webconsole.group.csp=Cảnh báo Content-Security-Policy
diff --git a/l10n-vi/devtools/shared/accessibility.properties b/l10n-vi/devtools/shared/accessibility.properties
new file mode 100644
index 0000000000..d132f5ed95
--- /dev/null
+++ b/l10n-vi/devtools/shared/accessibility.properties
@@ -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/.
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio): A title text for the color contrast
+# ratio description, used by the accessibility highlighter to display the value. %S in the
+# content will be replaced by the contrast ratio numerical value.
+accessibility.contrast.ratio=Độ tương phản: %S
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio.error): A title text for the color
+# contrast ratio, used when the tool is unable to calculate the contrast ratio value.
+accessibility.contrast.ratio.error=Không thể tính toán
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio.label): A title text for the color
+# contrast ratio description, used together with the actual values.
+accessibility.contrast.ratio.label=Độ tương phản:
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio.label.large): A title text for the color
+# contrast ratio description that also specifies that the color contrast criteria used is
+# if for large text.
+accessibility.contrast.ratio.label.large=Độ tương phản (văn bản lớn):
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.area): A title text that
+# describes that currently selected accessible object for an <area> element must have
+# its name provided via the alt attribute.
+accessibility.text.label.issue.area = Sử dụng thuộc tính “alt” để gắn nhãn các phần tử “area” có các thuộc tính “href”.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.dialog): A title text that
+# describes that currently selected accessible object for a dialog should have a name
+# provided.
+accessibility.text.label.issue.dialog = Hộp thoại nên được dán nhãn.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.document.title): A title text that
+# describes that currently selected accessible object for a document must have a name
+# provided via title.
+accessibility.text.label.issue.document.title = Tài liệu phải có tiêu đề.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.embed): A title text that
+# describes that currently selected accessible object for an <embed> must have a name
+# provided.
+accessibility.text.label.issue.embed = Nội dung nhúng phải được dán nhãn.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.figure): A title text that
+# describes that currently selected accessible object for a figure should have a name
+# provided.
+accessibility.text.label.issue.figure = Số liệu với chú thích tùy chọn nên được dán nhãn.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.fieldset): A title text that
+# describes that currently selected accessible object for a <fieldset> must have a name
+# provided.
+accessibility.text.label.issue.fieldset = Các phần tử của “fieldset” phải được dán nhãn.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.fieldset.legend2): A title text that
+# describes that currently selected accessible object for a <fieldset> must have a name
+# provided via <legend> element.
+accessibility.text.label.issue.fieldset.legend2 = Sử dụng phần tử “legend” để gắn nhãn cho “fieldset”.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.form): A title text that
+# describes that currently selected accessible object for a form element must have a name
+# provided.
+accessibility.text.label.issue.form = Các yếu tố hình thức phải được dán nhãn.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.form.visible): A title text that
+# describes that currently selected accessible object for a form element should have a name
+# provided via a visible label/element.
+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.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.frame): A title text that
+# describes that currently selected accessible object for a <frame> must have a name
+# provided.
+accessibility.text.label.issue.frame = Các phần tử “frame” phải được dán nhãn.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.glyph): A title text that
+# describes that currently selected accessible object for a <mglyph> must have a name
+# provided via alt attribute.
+accessibility.text.label.issue.glyph = Sử dụng thuộc tính “alt” để ghi nhãn các yếu tố “mglylyph”.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.heading): A title text that
+# describes that currently selected accessible object for a heading must have a name
+# provided.
+accessibility.text.label.issue.heading = Headings phải được dán nhãn.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.heading.content): A title text that
+# describes that currently selected accessible object for a heading must have visible
+# content.
+accessibility.text.label.issue.heading.content = Headings nên có nội dung văn bản hiển thị.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.iframe): A title text that
+# describes that currently selected accessible object for an <iframe> have a name
+# provided via title attribute.
+accessibility.text.label.issue.iframe = Sử dụng thuộc tính “title” để mô tả nội dung của “iframe”.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.image): A title text that
+# describes that currently selected accessible object for graphical content must have a
+# name provided.
+accessibility.text.label.issue.image = Nội dung với hình ảnh phải được dán nhãn.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.interactive): A title text that
+# describes that currently selected accessible object for interactive element must have a
+# name provided.
+accessibility.text.label.issue.interactive = Các yếu tố tương tác phải được dán nhãn.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.optgroup.label2): A title text that
+# describes that currently selected accessible object for an <optgroup> must have a
+# name provided via label attribute.
+accessibility.text.label.issue.optgroup.label2 = Sử dụng thuộc tính “label” để gắn nhãn “optgroup”.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.toolbar): A title text that
+# describes that currently selected accessible object for a toolbar must have a
+# name provided when there is more than one toolbar in the document.
+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ụ.
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.semantics): A title text that
+# describes that currently selected accessible object is focusable and should
+# indicate that it could be interacted with.
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.tabindex): A title text that
+# describes that currently selected accessible object has a corresponding
+# DOMNode that defines a tabindex attribute greater that 0 which can result in
+# unexpected behaviour when navigating with keyboard.
+accessibility.keyboard.issue.tabindex=Tránh sử dụng thuộc tính “tabindex” lớn hơn 0.
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.action): A title text that
+# describes that currently selected accessible object is interactive but can not
+# be activated using keyboard or accessibility API.
+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.
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.focusable): A title text that
+# describes that currently selected accessible object is interactive but is not
+# focusable with a keyboard.
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.focus.visible): A title text
+# that describes that currently selected accessible object is focusable but
+# might not have appropriate focus styling.
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.mouse.only): A title text that
+# describes that currently selected accessible object is not focusable and not
+# semantic but can be activated via mouse (e.g. has click handler).
+
diff --git a/l10n-vi/devtools/shared/debugger-paused-reasons.ftl b/l10n-vi/devtools/shared/debugger-paused-reasons.ftl
new file mode 100644
index 0000000000..d252f6bd7e
--- /dev/null
+++ b/l10n-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/l10n-vi/devtools/shared/debugger.properties b/l10n-vi/devtools/shared/debugger.properties
new file mode 100644
index 0000000000..70c405fc59
--- /dev/null
+++ b/l10n-vi/devtools/shared/debugger.properties
@@ -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/.
+
+# LOCALIZATION NOTE These strings are used inside the Debugger
+# which is available from the Web Developer sub-menu -> 'Debugger'.
+# 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.
+
+# LOCALIZATION NOTE These strings are used inside the Debugger
+# which is available from the Browser Tools sub-menu -> 'Debugger'.
+# 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.
+
+# LOCALIZATION NOTE (remoteIncomingPromptTitle): The title displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptTitle=Kết nối đến
+
+# LOCALIZATION NOTE (remoteIncomingPromptHeader): Header displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptHeader=Một yêu cầu đến để cho phép kết nối gỡ lỗi từ xa đã được phát hiện. Một máy khách từ xa có thể kiểm soát hoàn toàn trình duyệt của bạn!
+# LOCALIZATION NOTE (remoteIncomingPromptClientEndpoint): Part of the prompt
+# dialog for the user to choose whether an incoming connection should be
+# allowed.
+# %1$S: The host and port of the client such as "127.0.0.1:6000"
+remoteIncomingPromptClientEndpoint=Điểm cuối máy khách: %1$S
+# LOCALIZATION NOTE (remoteIncomingPromptServerEndpoint): Part of the prompt
+# dialog for the user to choose whether an incoming connection should be
+# allowed.
+# %1$S: The host and port of the server such as "127.0.0.1:6000"
+remoteIncomingPromptServerEndpoint=Điểm cuối máy chủ: %1$S
+# LOCALIZATION NOTE (remoteIncomingPromptFooter): Footer displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptFooter=Cho phép kết nối?
+
+# LOCALIZATION NOTE (remoteIncomingPromptDisable): The label displayed on the
+# third button in the incoming connection dialog that lets the user disable the
+# remote debugger server.
+remoteIncomingPromptDisable=Vô hiệu hóa
+
+# LOCALIZATION NOTE (clientSendOOBTitle): The title displayed on the dialog that
+# instructs the user to transfer an authentication token to the server.
+clientSendOOBTitle=Nhận dạng máy khách
+# LOCALIZATION NOTE (clientSendOOBHeader): Header displayed on the dialog that
+# instructs the user to transfer an authentication token to the server.
+clientSendOOBHeader=Điểm cuối bạn đang kết nối cần thêm thông tin để xác thực kết nối này. Vui lòng cung cấp token bên dưới trong lời nhắc xuất hiện ở bên kia.
+# LOCALIZATION NOTE (clientSendOOBHash): Part of the dialog that instructs the
+# user to transfer an authentication token to the server.
+# %1$S: The client's cert fingerprint
+clientSendOOBHash=Chứng chỉ của tôi: %1$S
+# LOCALIZATION NOTE (clientSendOOBToken): Part of the dialog that instructs the
+# user to transfer an authentication token to the server.
+# %1$S: The authentication token that the user will transfer.
+clientSendOOBToken=Token: %1$S
+
+# LOCALIZATION NOTE (serverReceiveOOBTitle): The title displayed on the dialog
+# that instructs the user to provide an authentication token from the client.
+serverReceiveOOBTitle=Cung cấp token máy khách
+# LOCALIZATION NOTE (serverReceiveOOBBody): Main text displayed on the dialog
+# that instructs the user to provide an authentication token from the client.
+serverReceiveOOBBody=Máy khách sẽ được hiển thị một giá trị token. Nhập giá trị toekn đó vào đây để hoàn tất xác thực với máy khách này.
diff --git a/l10n-vi/devtools/shared/eyedropper.properties b/l10n-vi/devtools/shared/eyedropper.properties
new file mode 100644
index 0000000000..bb45d4aa6c
--- /dev/null
+++ b/l10n-vi/devtools/shared/eyedropper.properties
@@ -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/.
+
+# LOCALIZATION NOTE These strings are used in the Eyedropper color tool.
+# LOCALIZATION NOTE 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.
+
+# LOCALIZATION NOTE (colorValue.copied): This text is displayed when the user selects a
+# color with the eyedropper and it's copied to the clipboard.
+colorValue.copied=đã sao chép
diff --git a/l10n-vi/devtools/shared/highlighters.ftl b/l10n-vi/devtools/shared/highlighters.ftl
new file mode 100644
index 0000000000..56ca1c9bb0
--- /dev/null
+++ b/l10n-vi/devtools/shared/highlighters.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/.
+
+
+### 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
+# The text displayed in a toolbox notification message which is only displayed
+# if prefers-reduced-motion is enabled (via OS-level settings or by using the
+# ui.prefersReducedMotion=1 preference).
+simple-highlighters-message = Khi prefers-reduced-motion được bật, công cụ tô sáng đơn giản hơn có thể được bật trong bảng cài đặt, để tránh màu sắc nhấp nháy.
+# 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/l10n-vi/devtools/shared/screenshot.properties b/l10n-vi/devtools/shared/screenshot.properties
new file mode 100644
index 0000000000..140ce55476
--- /dev/null
+++ b/l10n-vi/devtools/shared/screenshot.properties
@@ -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 NOTE These strings are used inside Web Console commands.
+# The Web Console command line is available from the Web Developer sub-menu
+# -> 'Web Console'.
+#
+# 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.
+
+# LOCALIZATION NOTE 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'
+#
+# 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.
+
+# LOCALIZATION NOTE (screenshotDesc) A very short description of the
+# 'screenshot' command. Displayed when the --help flag is passed to
+# the screenshot command.
+screenshotDesc=Lưu một hình ảnh của trang
+
+# LOCALIZATION NOTE (screenshotFilenameDesc) A very short string to describe
+# the 'filename' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotFilenameDesc=Tên tập tin đích
+
+# LOCALIZATION NOTE (screenshotFilenameManual) A fuller description of the
+# 'filename' parameter to the 'screenshot' command.
+screenshotFilenameManual=Tên tập tin (nên ở định dạng ‘.png’) để chúng tôi ghi lại ảnh màn hình.
+
+# LOCALIZATION NOTE (screenshotClipboardDesc) A very short string to describe
+# the 'clipboard' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotClipboardDesc=Sao chép ảnh chụp màn hình vào bộ nhớ tạm? (true/false)
+
+# LOCALIZATION NOTE (screenshotClipboardManual) A fuller description of the
+# 'clipboard' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotClipboardManual=Chọn đúng nếu bạn muốn sao chép ảnh chụp màn hình thay vì lưu lại ra một tập tin.
+
+# LOCALIZATION NOTE (screenshotGroupOptions) A label for the optional options of
+# the screenshot command. Displayed when the --help flag is passed to the
+# screenshot command.
+screenshotGroupOptions=Tùy chọn
+
+# LOCALIZATION NOTE (screenshotDelayDesc) A very short string to describe
+# the 'delay' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotDelayDesc=Trì hoãn (giây)
+
+# LOCALIZATION NOTE (screenshotDelayManual) A fuller description of the
+# 'delay' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotDelayManual=Thời gian chờ (giây) trước khi chụp ảnh màn hình
+
+# LOCALIZATION NOTE (screenshotDPRDesc) A very short string to describe
+# the 'dpr' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotDPRDesc=Tỷ lệ pixel thiết bị
+
+# LOCALIZATION NOTE (screenshotDPRManual) A fuller description of the
+# 'dpr' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotDPRManual=Tỷ lệ pixel của thiết bị sẽ sử dụng khi chụp ảnh màn hình
+
+# LOCALIZATION NOTE (screenshotFullPageDesc) A very short string to describe
+# the 'fullpage' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFullPageDesc=Chọn toàn bộ trang? (true/false)
+
+# LOCALIZATION NOTE (screenshotFullPageManual) A fuller description of the
+# 'fullpage' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFullPageManual=Chọn đúng nếu ảnh chụp màn hình bao gồm các phần của trang web bên ngoài đường biên cuộn hiện tại.
+
+# LOCALIZATION NOTE (screenshotFileDesc) A very short string to describe
+# the 'file' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFileDesc=Lưu vào tập tin? (true/false)
+
+# LOCALIZATION NOTE (screenshotFileManual) A fuller description of the
+# 'file' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFileManual=Chọn đúng nếu ảnh chụp màn hình sẽ lưu tập tin ngay cả khi các tùy chọn khác được bật (ví dụ: bộ nhớ tạm).
+
+# LOCALIZATION NOTE (screenshotGeneratedFilename) The auto generated filename
+# when no file name is provided. The first argument (%1$S) is the date string
+# in yyyy-mm-dd format and the second argument (%2$S) is the time string
+# in HH.MM.SS format. Please don't add the extension here.
+screenshotGeneratedFilename=Ảnh chụp màn hình %1$S lúc %2$S
+
+# LOCALIZATION NOTE (screenshotErrorSavingToFile) Text displayed to user upon
+# encountering error while saving the screenshot to the file specified.
+# The argument (%1$S) is the filename.
+screenshotErrorSavingToFile=Lỗi khi lưu %1$S
+
+# LOCALIZATION NOTE (screenshotSavedToFile) Text displayed to user when the
+# screenshot is successfully saved to the file specified.
+# The argument (%1$S) is the filename.
+screenshotSavedToFile=Đã lưu vào %1$S
+
+# LOCALIZATION NOTE (screenshotErrorCopying) Text displayed to user upon
+# encountering error while copying the screenshot to clipboard.
+screenshotErrorCopying=Xảy ra lỗi trong khi sao chép ảnh chụp màn hình vào bộ nhớ tạm.
+
+# LOCALIZATION NOTE (screenshotCopied) Text displayed to user when the
+# screenshot is successfully copied to the clipboard.
+screenshotCopied=Đã sao chép ảnh chụp màn hình vào bộ nhớ tạm.
+
+# LOCALIZATION NOTE (inspectNodeDesc) A very short string to describe the
+# 'node' parameter to the 'inspect' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+inspectNodeDesc=Bộ chọn CSS
+
+# LOCALIZATION NOTE (inspectNodeManual) A fuller description of the 'node'
+# parameter to the 'inspect' command. Displayed when the --help flag is
+# passed to the `screenshot command.
+inspectNodeManual=Bộ chọn CSS để sử dụng với document.querySelector xác định một phần tử
+
+# LOCALIZATION NOTE (screenshotTruncationWarning) Text displayed to user when the image
+# that would be created by the screenshot is too big and needs to be truncated to avoid
+# errors.
+# The first parameter is the width of the final image and the second parameter is the
+# height of the image.
+screenshotTruncationWarning=Vì hình ảnh được tạo quá lớn, nó đã bị cắt thành %1$S×%2$S
+
+# LOCALIZATION NOTE (screenshotDPRDecreasedWarning2) Text displayed to user when
+# taking the screenshot initially failed. When the Device Pixel Ratio is larger
+# than 1.0 a second try immediately after displaying this message is attempted.
+screenshotDPRDecreasedWarning=Tỷ lệ pixel của thiết bị đã bị giảm xuống 1 vì hình ảnh được tạo quá lớn
+
+# LOCALIZATION NOTE (screenshotRenderingError) Text displayed to user upon
+# encountering an error while rendering the screenshot. This most often happens when the
+# resulting image is too large to be rendered.
+screenshotRenderingError=Xảy ra lỗi trong khi tạo hình ảnh. Hình ảnh thu được có thể quá lớn.
+
+# LOCALIZATION NOTE (screenshotNoSelectorMatchWarning) Text displayed to user when the
+# provided selector for the screenshot does not match any element on the page.
+# The argument (%1$S) is selector.
+screenshotNoSelectorMatchWarning=‘%S’ không khớp với bất kỳ phần tử nào trên trang.
diff --git a/l10n-vi/devtools/shared/shared.properties b/l10n-vi/devtools/shared/shared.properties
new file mode 100644
index 0000000000..0978450dee
--- /dev/null
+++ b/l10n-vi/devtools/shared/shared.properties
@@ -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/.
+
+# LOCALIZATION NOTE (ellipsis): The ellipsis (three dots) character
+ellipsis=…
diff --git a/l10n-vi/devtools/shared/styleinspector.properties b/l10n-vi/devtools/shared/styleinspector.properties
new file mode 100644
index 0000000000..24d217a26f
--- /dev/null
+++ b/l10n-vi/devtools/shared/styleinspector.properties
@@ -0,0 +1,267 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Style Inspector.
+#
+# 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.
+
+
+# LOCALIZATION NOTE (rule.status): For each style property the panel shows
+# the rules which hold that specific property. For every rule, the rule status
+# is also displayed: a rule can be the best match, a match, a parent match, or a
+# rule did not match the element the user has highlighted.
+rule.status.BEST=Kết quả đúng nhất
+rule.status.MATCHED=Đã khớp
+rule.status.PARENT_MATCH=Khớp với cha
+
+# LOCALIZATION NOTE (rule.sourceElement, rule.sourceInline,
+# rule.sourceConstructed): For each style property the panel shows the rules
+# which hold that specific property.
+# For every rule, the rule source is also displayed: a rule can come from a
+# file, from the same page (inline), from a constructed style sheet
+# (constructed), or from the element itself (element).
+rule.sourceInline=inline
+rule.sourceConstructed=constructed
+rule.sourceElement=element
+
+# LOCALIZATION NOTE (rule.inheritedFrom): Shown for CSS rules
+# that were inherited from a parent node. Will be passed a node
+# identifier of the parent node.
+# e.g "Inherited from body#bodyID"
+rule.inheritedFrom=Được kế thừa từ %S
+
+# LOCALIZATION NOTE (rule.keyframe): Shown for CSS Rules keyframe header.
+# Will be passed an identifier of the keyframe animation name.
+rule.keyframe=Khung hình chính %S
+
+# LOCALIZATION NOTE (rule.userAgentStyles): Shown next to the style sheet
+# link for CSS rules that were loaded from a user agent style sheet.
+# These styles will not be editable, and will only be visible if the
+# devtools.inspector.showUserAgentStyles pref is true.
+rule.userAgentStyles=(chuỗi đại diện người dùng)
+
+# LOCALIZATION NOTE (rule.pseudoElement): Shown for CSS rules
+# pseudo element header
+rule.pseudoElement=Pseudo-elements
+
+# LOCALIZATION NOTE (rule.selectedElement): Shown for CSS rules element header if
+# pseudo elements are present in the rule view.
+rule.selectedElement=Phần tử này
+
+# LOCALIZATION NOTE (rule.warning.title): When an invalid property value is
+# entered into the rule view a warning icon is displayed. This text is used for
+# the title attribute of the warning icon.
+rule.warning.title=Giá trị thuộc tính không hợp lệ
+
+# LOCALIZATION NOTE (rule.warningName.title): When an invalid property name is
+# entered into the rule view a warning icon is displayed. This text is used for
+# the title attribute of the warning icon.
+rule.warningName.title=Tên tài sản không hợp lệ
+
+# LOCALIZATION NOTE (rule.filterProperty.title): Text displayed in the tooltip
+# of the search button that is shown next to a property that has been overridden
+# in the rule view.
+rule.filterProperty.title=Quy tắc lọc chứa thuộc tính này
+
+# LOCALIZATION NOTE (rule.empty): Text displayed when the highlighter is
+# first opened and there's no node selected in the rule view.
+rule.empty=Không có thành phần nào được chọn.
+
+# LOCALIZATION NOTE (rule.variableValue): Text displayed in a tooltip
+# when the mouse is over a variable use (like "var(--something)") in
+# the rule view. The first argument is the variable name and the
+# second argument is the value.
+rule.variableValue=%S = %S
+
+# LOCALIZATION NOTE (rule.variableUnset): Text displayed in a tooltip
+# when the mouse is over a variable use (like "var(--something)"),
+# where the variable is not set. the rule view. The argument is the
+# variable name.
+rule.variableUnset=%S chưa được đặt
+
+# LOCALIZATION NOTE (rule.selectorHighlighter.tooltip): Text displayed in a
+# tooltip when the mouse is over a selector highlighter icon in the rule view.
+rule.selectorHighlighter.tooltip=Tô sáng tất cả các yếu tố phù hợp với bộ chọn này
+
+# LOCALIZATION NOTE (rule.colorSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a color swatch in the rule view.
+rule.colorSwatch.tooltip=Nhấp để mở bộ chọn màu, Shift+nhấp để thay đổi định dạng màu
+
+# LOCALIZATION NOTE (rule.bezierSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a cubic-bezier swatch in the rule view.
+rule.bezierSwatch.tooltip=Nhấn vào đây để mở chức năng chỉnh sửa thời gian
+
+# LOCALIZATION NOTE (rule.filterSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a filter swatch in the rule view.
+rule.filterSwatch.tooltip=Nhấn vào đây để mở trình chỉnh sửa bộ lọc
+
+# LOCALIZATION NOTE (rule.angleSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a angle swatch in the rule view.
+rule.angleSwatch.tooltip=Shift+bấm để thay đổi định dạng góc
+
+# LOCALIZATION NOTE (rule.flexToggle.tooltip): Text displayed in a tooltip
+# when the mouse is over a Flexbox toggle icon in the rule view.
+rule.flexToggle.tooltip=Nhấp để chuyển đổi công cụ đánh dấu Flexbox
+
+# LOCALIZATION NOTE (rule.gridToggle.tooltip): Text displayed in a tooltip
+# when the mouse is over a CSS Grid toggle icon in the rule view.
+rule.gridToggle.tooltip=Nhấn vào đây để bật/tắt công cụ đánh dấu lưới CSS
+
+# LOCALIZATION NOTE (rule.filterStyles.placeholder): This is the placeholder that
+# goes in the search box when no search term has been entered.
+rule.filterStyles.placeholder=Các kiểu lọc
+
+# LOCALIZATION NOTE (rule.addRule.tooltip): This is the tooltip shown when
+# hovering the `Add new rule` button in the rules view toolbar.
+rule.addRule.tooltip=Thêm quy tắc mới
+
+# LOCALIZATION NOTE (rule.togglePseudo.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Pseudo Class Panel` button in the
+# rule view toolbar.
+rule.togglePseudo.tooltip=Chuyển đổi các lớp giả định
+
+# LOCALIZATION NOTE (rule.classPanel.toggleClass.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Class Panel` button in the
+# rule view toolbar.
+rule.classPanel.toggleClass.tooltip=Chuyển đổi các lớp
+
+# LOCALIZATION NOTE (rule.classPanel.newClass.placeholder): This is the placeholder
+# shown inside the text field used to add a new class in the rule-view.
+rule.classPanel.newClass.placeholder=Thêm lớp mới
+
+# LOCALIZATION NOTE (rule.classPanel.noClasses): This is the text displayed in the
+# class panel when the current element has no classes applied.
+rule.classPanel.noClasses=Không có lớp về phần tử này
+
+# LOCALIZATION NOTE (rule.printSimulation.tooltip):
+# This is the tooltip of the print simulation button in the Rule View toolbar
+# that toggles print simulation.
+rule.printSimulation.tooltip=Chuyển đổi mô phỏng phương tiện in cho trang
+
+# LOCALIZATION NOTE (rule.colorSchemeSimulation.tooltip):
+# This is the tooltip of the color scheme simulation button in the Rule View
+# toolbar that toggles color-scheme simulation.
+rule.colorSchemeSimulation.tooltip=Chuyển đổi mô phỏng sơ đồ màu cho trang
+
+# LOCALIZATION NOTE (rule.twistyCollapse.label): The text a screen reader
+# speaks when the header of a rule is expanded.
+rule.twistyCollapse.label=Thu gọn
+
+# LOCALIZATION NOTE (rule.twistyExpand.label): The text a screen reader
+# speaks when the header of a rule is collapsed.
+rule.twistyExpand.label=Mở rộng
+
+# LOCALIZATION NOTE (rule.expandableContainerToggleButton.title):
+# This is the tooltip for expandable container toggle button in the Rule View (Pseudo-elements, keyframes, …)
+rule.expandableContainerToggleButton.title=Bật/tắt bảng
+
+# LOCALIZATION NOTE (rule.containerQuery.selectContainerButton.tooltip): Text displayed in a
+# tooltip when the mouse is over the icon to select a container in a container query in the rule view.
+rule.containerQuery.selectContainerButton.tooltip=Nhấp để chọn vùng chứa node
+
+# LOCALIZATION NOTE (rule.propertyToggle.label):
+# This is the label for the checkbox input in the rule view that allow to disable/re-enable
+# a specific property in a rule.
+# The argument is the property name.
+rule.propertyToggle.label=Kích hoạt thuộc tính %S
+
+# LOCALIZATION NOTE (rule.newPropertyName.label):
+# This is the label for the new property input in the rule view.
+rule.newPropertyName.label=Tên thuộc tính mới
+
+# LOCALIZATION NOTE (rule.propertyName.label):
+# This is the label for the property name input in the rule view.
+rule.propertyName.label=Tên thuộc tính
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyColor): Text displayed in the rule
+# and computed view context menu when a color value was clicked.
+styleinspector.contextmenu.copyColor=Sao chép màu
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyColor.accessKey): Access key for
+# the rule and computed view context menu "Copy Color" entry.
+styleinspector.contextmenu.copyColor.accessKey=L
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyUrl): In rule and computed view :
+# text displayed in the context menu for an image URL.
+# Clicking it copies the URL to the clipboard of the user.
+styleinspector.contextmenu.copyUrl=Sao chép URL
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyUrl.accessKey): Access key for
+# the rule and computed view context menu "Copy URL" entry.
+styleinspector.contextmenu.copyUrl.accessKey=U
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyImageDataUrl): In rule and computed view :
+# text displayed in the context menu for an image URL.
+# Clicking it copies the image as Data-URL to the clipboard of the user.
+styleinspector.contextmenu.copyImageDataUrl=Sao chép dữ liệu URL hình ảnh
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyImageDataUrl.accessKey): Access key for
+# the rule and computed view context menu "Copy Image Data-URL" entry.
+styleinspector.contextmenu.copyImageDataUrl.accessKey=I
+
+# LOCALIZATION NOTE (styleinspector.copyImageDataUrlError): Text set in the clipboard
+# if an error occurs when using the copyImageDataUrl context menu action
+# (invalid image link, timeout, etc...)
+styleinspector.copyImageDataUrlError=Không thể sao chép dữ liệu URL hình ảnh
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.toggleOrigSources): Text displayed in the rule view
+# context menu.
+styleinspector.contextmenu.toggleOrigSources=Hiển thị nguồn gốc
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.toggleOrigSources.accessKey): Access key for
+# the rule view context menu "Show original sources" entry.
+styleinspector.contextmenu.toggleOrigSources.accessKey=O
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.addNewRule): Text displayed in the
+# rule view context menu for adding a new rule to the element.
+# This should match inspector.addRule.tooltip in inspector.properties
+styleinspector.contextmenu.addNewRule=Thêm quy tắc mới
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.addNewRule.accessKey): Access key for
+# the rule view context menu "Add rule" entry.
+styleinspector.contextmenu.addNewRule.accessKey=R
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.selectAll): Text displayed in the
+# computed view context menu.
+styleinspector.contextmenu.selectAll=Chọn tất cả
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.selectAll.accessKey): Access key for
+# the computed view context menu "Select all" entry.
+styleinspector.contextmenu.selectAll.accessKey=A
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copy): Text displayed in the
+# computed view context menu.
+styleinspector.contextmenu.copy=Sao chép
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copy.accessKey): Access key for
+# the computed view context menu "Copy" entry.
+styleinspector.contextmenu.copy.accessKey=C
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyLocation): Text displayed in the
+# rule view context menu for copying the source location.
+styleinspector.contextmenu.copyLocation=Sao chép địa chỉ
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyDeclaration): Text
+# displayed in the rule view context menu for copying the CSS declaration.
+styleinspector.contextmenu.copyDeclaration=Sao chép khai báo
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyPropertyName): Text displayed in
+# the rule view context menu for copying the property name.
+styleinspector.contextmenu.copyPropertyName=Sao chép tên tài sản
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyPropertyValue): Text displayed in
+# the rule view context menu for copying the property value.
+styleinspector.contextmenu.copyPropertyValue=Sao chép giá trị tài sản
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyRule): Text displayed in the
+# rule view context menu for copying the rule.
+styleinspector.contextmenu.copyRule=Sao chép quy tắc
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copySelector): Text displayed in the
+# rule view context menu for copying the selector.
+styleinspector.contextmenu.copySelector=Sao chép bộ chọn
diff --git a/l10n-vi/devtools/shared/webconsole-commands.ftl b/l10n-vi/devtools/shared/webconsole-commands.ftl
new file mode 100644
index 0000000000..8c44dafa31
--- /dev/null
+++ b/l10n-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/l10n-vi/devtools/startup/key-shortcuts.ftl b/l10n-vi/devtools/startup/key-shortcuts.ftl
new file mode 100644
index 0000000000..bbc2c7ca1e
--- /dev/null
+++ b/l10n-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/l10n-vi/dom/chrome/accessibility/AccessFu.properties b/l10n-vi/dom/chrome/accessibility/AccessFu.properties
new file mode 100644
index 0000000000..54bd9d9b9b
--- /dev/null
+++ b/l10n-vi/dom/chrome/accessibility/AccessFu.properties
@@ -0,0 +1,94 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this file,
+# You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Roles
+menubar = thanh menu
+scrollbar = thanh cuộn
+grip = chỗ bám
+alert = cảnh báo
+menupopup = menu bật lên
+document = tài liệu
+pane = ô nội dung
+dialog = hộp thoại
+separator = dấu ngăn cách
+toolbar = thanh công cụ
+statusbar = thanh trạng thái
+table = bảng
+columnheader = tiêu đề cột
+rowheader = tiêu đề hàng
+column = cột
+row = hàng
+cell = ô trong bảng
+link = liên kết
+list = danh sách
+listitem = mục trong danh sách
+outline = phác thảo
+outlineitem = đề mục phác thảo
+pagetab = thẻ
+propertypage = trang thuộc tính
+graphic = đồ họa
+switch = đổi
+pushbutton = nút bấm
+checkbutton = nút đánh dấu chọn
+radiobutton = nút radio
+combobox = hộp combo
+progressbar = thanh tiến trình
+slider = thanh trượt
+spinbutton = nút quay
+diagram = biểu đồ
+animation = hoạt hình
+equation = phương trình
+buttonmenu = nút mở ra menu
+whitespace = khoảng trắng
+pagetablist = danh sách thẻ
+canvas = khung vẽ
+checkmenuitem = mục đánh dấu
+passwordtext = văn bản mật khẩu
+radiomenuitem = mục radio
+textcontainer = khung chứa văn bản
+togglebutton = nút bật/tắt
+treetable = bảng dạng cây
+header = header
+footer = footer
+paragraph = đoạn văn
+entry = ô nhập
+caption = tựa đề
+heading = đề mục
+section = mục/phần
+form = biểu mẫu
+comboboxlist = danh sách hộp chọn
+comboboxoption = mục trong hộp chọn
+imagemap = bản đồ hình ảnh
+listboxoption = tùy chọn
+listbox = hộp danh sách
+flatequation = phương trình phẳng
+gridcell = ô lưới
+note = ghi chú
+figure = hình
+definitionlist = danh sách định nghĩa
+term = thuật ngữ
+definition = giải nghĩa
+
+mathmltable = bảng toán
+mathmlcell = ô
+mathmlroot = gốc
+
+# More sophisticated roles which are not actual numeric roles
+textarea = vùng văn bản
+
+
+# More sophisticated object descriptions
+headingLevel = tiêu đề cấp %S
+
+# Landmark announcements
+banner = biểu ngữ
+complementary = bổ sung
+contentinfo = thông tin nội dung
+main = chính
+navigation = duyệt
+search = tìm kiếm
+region = vùng
+
+# Object states
+stateRequired = yêu cầu
diff --git a/l10n-vi/dom/chrome/accessibility/mac/accessible.properties b/l10n-vi/dom/chrome/accessibility/mac/accessible.properties
new file mode 100644
index 0000000000..4a7f5d4d01
--- /dev/null
+++ b/l10n-vi/dom/chrome/accessibility/mac/accessible.properties
@@ -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/.
+
+jump = Nhảy
+press = Ấn
+check = Chọn
+uncheck = Bỏ Chọn
+select = Chọn
+open = Mở
+close = Đóng
+switch = Chuyển
+click = Nhấp
+collapse= Thu gọn
+expand = Mở rộng
+activate= Kích hoạt
+cycle = Xoay
+# An action provided to accessibility clients such as screen readers to allow
+# them to click an element when the click will be handled by a container
+# (ancestor) element. This is not normally reported to users.
+click ancestor = Vùng chứa nhấp chuột
+
+# Universal Access API support
+# (Mac Only)
+# The Role Description for AXWebArea (the web widget). Like in Safari.
+htmlContent = Nội dung HTML
+# The Role Description for the Tab button.
+tab = thẻ
+# The Role Description for definition list dl, dt and dd
+term = thuật ngữ
+definition = định nghĩa
+# The Role Description for an input type="search" text field
+searchTextField = trường tìm kiếm văn bản
+# Role Description (exposed as AXTitle) for datepickers
+dateField = trường ngày tháng
+# The Role Description for WAI-ARIA Landmarks
+application = ứng dụng
+search = tìm kiếm
+banner = biểu ngữ
+navigation = duyệt
+complementary = bổ sung
+content = nội dung
+main = chính
+# The (spoken) role description for various WAI-ARIA roles
+alert = cảnh báo
+alertDialog = hộp thoại cảnh báo
+dialog = hộp thoại
+article = bài viết
+document = tài liệu
+# The (spoken) role description for the WAI-ARIA figure role
+# https://w3c.github.io/aria/core-aam/core-aam.html#role-map-figure
+figure = hình
+# The (spoken) role description for the WAI-ARIA heading role
+# https://w3c.github.io/aria/core-aam/core-aam.html#role-map-heading
+heading = tiêu đề
+log = bản ghi
+marquee = vùng đánh dấu
+math = toán học
+note = ghi chú
+region = vùng
+status = trạng thái ứng dụng
+timer = hẹn giờ
+tooltip = chú giải
+separator = dấu ngăn cách
+tabPanel = bảng thẻ
+# The roleDescription for the html:mark element
+highlight = tô sáng
+# The roleDescription for the details element
+details = chi tiết
+# The roleDescription for the summary element
+summary = tóm tắt
diff --git a/l10n-vi/dom/chrome/accessibility/unix/accessible.properties b/l10n-vi/dom/chrome/accessibility/unix/accessible.properties
new file mode 100644
index 0000000000..d494a0adcd
--- /dev/null
+++ b/l10n-vi/dom/chrome/accessibility/unix/accessible.properties
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+jump = Nhảy
+press = Ấn
+check = Chọn
+uncheck = Bỏ Chọn
+select = Chọn
+open = Mở
+close = Đóng
+switch = Chuyển
+click = Nhấp
+collapse= Thu gọn
+expand = Mở rộng
+activate= Kích hoạt
+cycle = Xoay
+# An action provided to accessibility clients such as screen readers to allow
+# them to click an element when the click will be handled by a container
+# (ancestor) element. This is not normally reported to users.
+click ancestor = Vùng chứa nhấp chuột
diff --git a/l10n-vi/dom/chrome/accessibility/win/accessible.properties b/l10n-vi/dom/chrome/accessibility/win/accessible.properties
new file mode 100644
index 0000000000..350192bffa
--- /dev/null
+++ b/l10n-vi/dom/chrome/accessibility/win/accessible.properties
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+jump = Nhảy
+press = Nhấp
+check = Chọn
+uncheck = Bỏ chọn
+select = Chọn
+open = Mở
+close = Đóng
+switch = Chuyển
+click = Nhấp
+collapse= Thu gọn
+expand = Mở rộng
+activate= Kích hoạt
+cycle = Xoay
+# An action provided to accessibility clients such as screen readers to allow
+# them to click an element when the click will be handled by a container
+# (ancestor) element. This is not normally reported to users.
+click ancestor = Vùng chứa nhấp chuột
diff --git a/l10n-vi/dom/chrome/appstrings.properties b/l10n-vi/dom/chrome/appstrings.properties
new file mode 100644
index 0000000000..79354a8e78
--- /dev/null
+++ b/l10n-vi/dom/chrome/appstrings.properties
@@ -0,0 +1,37 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+malformedURI2=Vui lòng kiểm tra lại URL đã chính xác hay chưa và thử lại lần nữa.
+fileNotFound=Không tìm thấy tập tin %S. Vui lòng kiểm tra vị trí và thử lại.
+fileAccessDenied=Tập tin %S không thể đọc được.
+dnsNotFound2=Không tìm thấy %S. Vui lòng kiểm tra tên và thử lại.
+unknownProtocolFound=Một trong số các giao thức sau (%S) chưa được đăng ký hoặc không được cho phép trong trường hợp này.
+connectionFailure=Đã thử kết nối tới %S và bị từ chối.
+netInterrupt=Kết nối tới %S đã bị ngắt đột ngột. Tuy nhiên, một số dữ liệu có thể đã được truyền tải xong.
+netTimeout=Kết nối tới %S đã đứt do chờ quá lâu.
+redirectLoop=Vượt quá giới hạn chuyển hướng của URL này. Không thể mở trang được yêu cầu. Điều này có thể do cookie bị chặn.
+confirmRepostPrompt=Để hiển thị trang này, ứng dụng phải gửi đi thông tin lặp lại các hành động đã thực hiện trước đó (như xác nhận tìm kiếm hay xác nhận đặt hàng).
+resendButton.label=Gửi lại
+unknownSocketType=Không thể hiển thị tài liệu này trừ khi bạn cài đặt Personal Security Manager (PSM). Vui lòng tải xuống và cài đặt PSM rồi thử lại, hoặc liên hệ với quản trị hệ thống của bạn.
+netReset=Tài liệu không chứa dữ liệu.
+notCached=Tài liệu này không còn hiện hữu.
+netOffline=Không thể hiển thị tài liệu này khi đang ngoại tuyến. Để kết nối trực tuyến, bỏ chọn Làm việc ngoại tuyến trên menu Tập tin.
+isprinting=Không thể chỉnh sửa tài liệu trong khi đang in hoặc ở chế độ xem trước.
+deniedPortAccess=Truy cập tới cổng này đã bị vô hiệu hóa vì lí do bảo mật.
+proxyResolveFailure=Không thể tìm thấy máy chủ proxy mà bạn đã cấu hình. Vui lòng kiểm tra thiết lập proxy và thử lại.
+proxyConnectFailure=Đã thử kết nối tới máy chủ proxy bạn thiết lập nhưng bị từ chối. Vui lòng kiểm tra thiết lập proxy và thử lại.
+contentEncodingError=Không thể hiển thị trang bạn muốn xem vì nó dùng một dạng thức nén bất hợp lệ hoặc không được hỗ trợ.
+unsafeContentType=Không thể hiển thị trang bạn muốn xem vì nó nằm trong một kiểu tập tin không an toàn. Vui lòng liên hệ người quản lí trang web để báo cho họ vấn đề này.
+malwareBlocked=Trang web tại %S bị báo cáo là trang web ác ý và đã bị chặn dựa trên tùy chỉnh bảo mật của bạn.
+harmfulBlocked=Trang web %S được báo cáo là một trang web có khả năng gây hại và đã bị chặn dựa trên cấu hình bảo mật của bạn.
+unwantedBlocked=Trang web tại %S bị báo cáo là có cài đặt phần mềm không mong muốn và đã bị chặn dựa trên tùy chỉnh bảo mật của bạn.
+deceptiveBlocked=Trang web tại %S bị báo cáo là trang web lừa đảo và đã bị chặn dựa trên tùy chỉnh bảo mật của bạn.
+cspBlocked=Trang này có một chính sách bảo mật nội dung không cho phép nó được tải theo cách này.
+xfoBlocked=Trang này có chính sách X-Frame-Options để ngăn không cho nó được tải trong ngữ cảnh này.
+corruptedContentErrorv2=Trang tại %S đã bị vi phạm giao thức truyền thông mà không cho phép sửa.
+sslv3Used=Không thể đảm bảo an toàn dữ liệu của bạn trên %S vì nó sử dụng SSLv3, một giao thức bảo mật không an toàn.
+weakCryptoUsed=Chủ sở hữu của %S đã cấu hình trang web của họ không đúng. Để bảo vệ thông tin của bạn khỏi không bị trộm cắp, kết nối tới trang web này đã bị ngắt.
+inadequateSecurityError=Trang web đã cố gắng giao tiếp ở mức độ bảo mật thấp.
+blockedByPolicy=Tổ chức của bạn đã chặn quyền truy cập vào trang web này.
+networkProtocolError=Firefox đã phát hiện một vi phạm giao thức mạng mà không thể sửa chữa được.
diff --git a/l10n-vi/dom/chrome/dom/dom.properties b/l10n-vi/dom/chrome/dom/dom.properties
new file mode 100644
index 0000000000..1f045e1876
--- /dev/null
+++ b/l10n-vi/dom/chrome/dom/dom.properties
@@ -0,0 +1,440 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+KillScriptTitle=Cảnh báo: Tập lệnh không đáp ứng
+KillScriptMessage=Trình duyệt đang bận xử lý một tập lệnh trong trang này, hoặc đã dừng xử lý. Bạn có thể dừng xử lý ngay, hoặc tiếp tục xem nếu có thể hoàn tất xử lý.
+KillScriptWithDebugMessage=Trình duyệt đang bận xử lý một tập lệnh trong trang này, hoặc đã dừng xử lý. Bạn có thể dừng xử lý ngay, mở tập lệnh bằng trình gỡ lỗi, hoặc để tập lệnh tiếp tục chạy.
+KillScriptLocation=Tập lệnh: %S
+
+KillAddonScriptTitle=Cảnh báo: Tập lệnh tiện ích không phản hồi
+# LOCALIZATION NOTE (KillAddonScriptMessage): %1$S is the name of an extension.
+# %2$S is the name of the application (e.g., Firefox).
+KillAddonScriptMessage=Một tập lệnh từ tiện ích mở rộng “%1$S” đang chạy trên trang này và khiến %2$S không phản hồi.\n\nNó có thể đang bận hoặc có thể đã ngừng phản hồi vĩnh viễn. Bạn có thể dừng tập lệnh ngay bây giờ hoặc bạn có thể tiếp tục xem nó có hoàn thành hay không.
+KillAddonScriptGlobalMessage=Ngăn tập lệnh mở rộng chạy trên trang này cho đến khi tải lại lần sau
+
+StopScriptButton=Dừng tập lệnh
+DebugScriptButton=Gỡ lỗi tập lệnh
+WaitForScriptButton=Tiếp tục
+DontAskAgain=Đừng &hỏi lại
+WindowCloseBlockedWarning=Đoạn mã sẽ không đóng cửa sổ mà không phải do nó mở.
+OnBeforeUnloadTitle=Bạn có chắc không?
+OnBeforeUnloadMessage2=Trang này yêu cầu bạn xác nhận rằng bạn muốn rời khỏi — thông tin bạn đã nhập có thể sẽ không được lưu.
+OnBeforeUnloadStayButton=Ở lại trang
+OnBeforeUnloadLeaveButton=Rời khỏi trang
+EmptyGetElementByIdParam=Chuỗi trống đã được đưa sang getElementById().
+SpeculationFailed2=Một cây không cân bằng được viết bằng cách sử dụng document.write() làm cho dữ liệu từ mạng phân tích lại. Thông tin thêm: https://developer.mozilla.org/docs/Glossary/speculative_parsing
+DocumentWriteIgnored=Một lệnh gọi tới document.write() từ một mã script nạp không đồng bộ bên ngoài đã bị bỏ qua.
+# LOCALIZATION NOTE (EditorFileDropFailed): Do not translate contenteditable, %S is the error message explaining why the drop failed.
+EditorFileDropFailed=Lỗi kéo thả tập tin vào phần tử có thuộc tính contenteditable: %S.
+FormValidationTextTooLong=Vui lòng rút ngắn đoạn này xuống còn %S kí tự hoặc ít hơn (bạn hiện đang dùng %S kí tự).
+FormValidationTextTooShort=Vui lòng sử dụng ít nhất %S ký tự (bạn hiện đang sử dụng %S ký tự).
+FormValidationValueMissing=Vui lòng điền vào trường này.
+FormValidationCheckboxMissing=Vui lòng đánh dấu ô này nếu bạn muốn tiến hành.
+FormValidationRadioMissing=Vui lòng chọn một trong các tùy chọn này.
+FormValidationFileMissing=Vui lòng chọn một tập tin.
+FormValidationSelectMissing=Vui lòng chọn một mục trong danh sách.
+FormValidationInvalidEmail=Vui lòng điền một địa chỉ email.
+FormValidationInvalidURL=Vui lòng điền một URL.
+FormValidationInvalidDate=Vui lòng nhập ngày hợp lệ.
+FormValidationInvalidTime=Vui lòng nhập thời gian hợp lệ.
+FormValidationInvalidDateTime=Vui lòng nhập ngày và giờ hợp lệ.
+FormValidationInvalidDateMonth=Vui lòng nhập tháng hợp lệ.
+FormValidationInvalidDateWeek=Vui lòng nhập tuần hợp lệ.
+FormValidationPatternMismatch=Vui lòng khớp định dạng được yêu cầu.
+# LOCALIZATION NOTE (FormValidationPatternMismatchWithTitle): %S is the (possibly truncated) title attribute value.
+FormValidationPatternMismatchWithTitle=Vui lòng khớp định dạng được yêu cầu: %S.
+# LOCALIZATION NOTE (FormValidationNumberRangeOverflow): %S is a number.
+FormValidationNumberRangeOverflow=Vui lòng chọn một giá trị không lớn hơn %S.
+# LOCALIZATION NOTE (FormValidationDateTimeRangeOverflow): %S is a date or a time.
+FormValidationDateTimeRangeOverflow=Vui lòng chọn một ngày không muộn hơn %S.
+# LOCALIZATION NOTE (FormValidationNumberRangeUnderflow): %S is a number.
+FormValidationNumberRangeUnderflow=Vui lòng chọn một giá trị không nhỏ hơn %S.
+# LOCALIZATION NOTE (FormValidationDateTimeRangeUnderflow): %S is a date or a time.
+FormValidationDateTimeRangeUnderflow=Vui lòng chọn một ngày không sớm hơn %S.
+# LOCALIZATION NOTE (FormValidationStepMismatch): both %S can be a number, a date or a time.
+FormValidationStepMismatch=Vui lòng chọn một giá trị hợp lệ. Hai giá trị hợp lệ gần nhất là %S và %S.
+# LOCALIZATION NOTE (FormValidationStepMismatchOneValue): %S can be a number, a date or a time. This is called instead of FormValidationStepMismatch when the second value is the same as the first.
+FormValidationStepMismatchOneValue=Vui lòng chọn một giá trị hợp lệ. Giá trị hợp lệ gần nhất là %S.
+# LOCALIZATION NOTE (FormValidationTimeReversedRangeUnderflowAndOverflow): %1$S,%2$S are time.
+FormValidationTimeReversedRangeUnderflowAndOverflow=Vui lòng chọn giá trị trong khoảng từ %1$S đến %2$S.
+FormValidationBadInputNumber=Vui lòng nhập số.
+FullscreenDeniedDisabled=Yêu cầu toàn màn hình đã bị từ chối vì API toàn màn hình bị tắt theo ưu tiên của người dùng.
+FullscreenDeniedFocusedPlugin=Yêu cầu toàn màn hình đã bị từ chối vì một phần bổ trợ có cửa sổ được chọn.
+FullscreenDeniedHidden=Yêu cầu toàn màn hình đã bị từ chối vì tài liệu không còn hiển thị.
+FullscreenDeniedHTMLDialog=Yêu cầu toàn màn hình đã bị từ chối vì phần tử yêu cầu là phần tử <dialog>.
+FullscreenDeniedContainerNotAllowed=Yêu cầu hiển thị toàn màn hình bị từ chối vì có ít nhất một trang không phải là iframe hoặc không có thuộc tính "allowfullscreen".
+FullscreenDeniedNotInputDriven=Yêu cầu toàn màn hình đã bị từ chối vì Element.requestFullscreen() không được gọi từ bên trong trình xử lý sự kiện do người dùng tạo.
+FullscreenDeniedMouseEventOnlyLeftBtn=Yêu cầu toàn màn hình đã bị từ chối vì hàm Element.requestFullscreen() được gọi từ bên trong một trình xử lý sự kiện chuột mà không được kích hoạt bằng nút chuột trái.
+FullscreenDeniedNotHTMLSVGOrMathML=Yêu cầu chế độ toàn màn hình bị từ chối vì phần tử được yêu cầu không phải là <svg>, <math>, hay một phần tử HTML.
+FullscreenDeniedNotInDocument=Yêu cầu toàn màn hình đã bị từ chối vì không còn yêu cầu yếu tố trong tài liệu của nó.
+FullscreenDeniedMovedDocument=Yêu cầu toàn màn hình đã bị từ chối vì yêu cầu yếu tố đã di chuyển tài liệu.
+FullscreenDeniedLostWindow=Yêu cầu toàn màn hình đã bị từ chối vì chúng tôi không còn một cửa sổ.
+FullscreenDeniedSubDocFullscreen=Yêu cầu toàn màn hình đã bị từ chối vì một tài liệu con của tài liệu yêu cầu toàn màn hình đã ở chế độ toàn màn hình.
+FullscreenDeniedNotFocusedTab=Yêu cầu toàn màn hình đã bị từ chối vì yếu tố yêu cầu không nằm trong thẻ hiện đang chọn.
+FullscreenDeniedFeaturePolicy=Yêu cầu toàn màn hình đã bị từ chối vì các chỉ thị FeaturePolicy.
+FullscreenExitWindowFocus=Thoát toàn màn hình vì một cửa sổ đã được chọn.
+RemovedFullscreenElement=Đã thoát toàn màn hình vì yếu tố toàn màn hình đã bị xóa khỏi tài liệu.
+FocusedWindowedPluginWhileFullscreen=Thoát toàn màn hình vì cửa sổ của phần bổ trợ đã được chọn.
+PointerLockDeniedDisabled=Yêu cầu khóa con trỏ bị từ chối vì API khóa con trỏ đã bị tắt bởi cấu hình tùy chọn của người dùng.
+PointerLockDeniedInUse=Yêu cầu khóa con trỏ đã bị từ chối vì con trỏ hiện tại đang được điều khiển bởi một document khác.
+PointerLockDeniedNotInDocument=Yêu cầu khóa con trỏ đã bị từ chối vì phần tử yêu cầu không có trong document.
+PointerLockDeniedSandboxed=Yêu cầu khóa con trỏ đã bị từ chối vì API khóa con trỏ bị hạn chế qua sandbox.
+PointerLockDeniedHidden=Yêu cầu khóa con trỏ đã bị từ chối vì document đang không hiển thị.
+PointerLockDeniedNotFocused=Yêu cầu khóa con trỏ đã bị từ chối vì document không được chọn.
+PointerLockDeniedFailedToLock=Yêu cầu khóa con trỏ đã bị từ chối vì trình duyệt không khóa được con trỏ.
+HTMLSyncXHRWarning=Việc phân tích HTML trong XMLHttpRequest không được hỗ trợ ở chế độ đồng bộ.
+# LOCALIZATION NOTE: %S is the name of the header in question
+ForbiddenHeaderWarning=Cố gắng đặt một tiêu đề không được phép đã bị từ chối: %S
+ResponseTypeSyncXHRWarning=Việc dùng thuộc tính responseType của XMLHttpRequest không được hỗ trợ ở chế độ đồng bộ trong phạm vi cửa sổ.
+TimeoutSyncXHRWarning=Việc dùng thuộc tính timeout của XMLHttpRequest không còn được hỗ trợ ở chế độ đồng bộ trong phạm vi cửa sổ.
+# LOCALIZATION NOTE: Do not translate navigator.sendBeacon, unload, pagehide, or XMLHttpRequest.
+UseSendBeaconDuringUnloadAndPagehideWarning=Việc sử dụng navigator.sendBeacon thay vì synchronous XMLHttpRequest trong khi unload và pagehide sẽ cải thiện trải nghiệm người dùng.
+JSONCharsetWarning=Sử dụng mã hóa không phải UTF-8 để nhận JSON bằng XMLHttpRequest là vi phạm. Việc giải mã JSON chỉ hỗ trợ UTF-8.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and createMediaElementSource.
+MediaElementAudioSourceNodeCrossOrigin=HTMLMediaElement được chuyển cho createMediaElementSource có nhiều tài nguyên, node sẽ xuất hiện im lặng.
+# LOCALIZATION NOTE: Do not translate MediaStream and createMediaStreamSource.
+MediaStreamAudioSourceNodeCrossOrigin=MediaStream được chuyển cho createMediaElementSource có nhiều tài nguyên, node sẽ xuất hiện im lặng.
+# LOCALIZATION NOTE : Do not translate MediaStreamTrack and createMediaStreamTrackSource.
+MediaStreamTrackAudioSourceNodeCrossOrigin=MediaStreamTrack được chuyển cho createMediaElementSource có nhiều tài nguyên, node sẽ xuất hiện im lặng.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and MediaStream.
+MediaElementAudioCaptureOfMediaStreamError=HTMLMediaEuity đã chụp đang phát MediaStream. Chỉnh âm lượng hoặc trạng thái tắt tiếng hiện không được hỗ trợ.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and MediaStream.
+MediaLoadExhaustedCandidates=Không thể tải xuống các nguồn tài nguyên. Phương tiện đã tạm dừng tải.
+MediaLoadSourceMissingSrc=Phần tử <source> không có thuộc tính “src”. Nguồn media không tải được.
+MediaStreamAudioSourceNodeDifferentRate=Kết nối AudioNodes từ AudioContexts với tốc độ mẫu khác nhau hiện không được hỗ trợ.
+# LOCALIZATION NOTE: %1$S is the Http error code the server returned (e.g. 404, 500, etc), %2$S is the URL of the media resource which failed to load.
+MediaLoadHttpError=Không tải được HTTP với trạng thái %1$S. Không tải được media từ %2$S.
+# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load.
+MediaLoadInvalidURI=URI không hợp lệ. Việc tải tập tin media từ nguồn %S thất bại.
+# LOCALIZATION NOTE: %1$S is the media resource's format/codec type (basically equivalent to the file type, e.g. MP4,AVI,WMV,MOV etc), %2$S is the URL of the media resource which failed to load.
+MediaLoadUnsupportedTypeAttribute=Định dạng "%1$S" không được hỗ trợ. Việc tải media từ %2$S thất bại.
+MediaLoadUnsupportedTypeAttributeLoadingNextChild=Thuộc tính được chỉ định “type” của “%1$S” không được hỗ trợ. Tải tài nguyên phương tiện %2$S không thành công. Đang thử tải từ phần tử <source> tiếp theo.
+# LOCALIZATION NOTE: %1$S is the MIME type HTTP header being sent by the web server, %2$S is the URL of the media resource which failed to load.
+MediaLoadUnsupportedMimeType=Máy chủ không hỗ trợ HTTP "Content-Type" của "%1$S". Không tải được media từ %2$S.
+# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load because of error in decoding.
+MediaLoadDecodeError=Tài nguyên %S không thể giải mã.
+MediaWidevineNoWMF=Đang thử chạy Widevine mà không có Windows Media Foundation. Xem thêm tại https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaWMFNeeded=Để phát định dạng video %S, bạn cần cài đặt thêm phần mềm Microsoft, xem https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaPlatformDecoderNotFound=Video trên trang này không thể phát. Hệ thống của bạn có thể không có codec video cần thiết cho: %S
+MediaUnsupportedLibavcodec=Video trên trang này có thể được phát. Hệ thống của bạn có phiên bản libavcodec không được hỗ trợ
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeError=Không thể giải mã tài nguyên phương tiện %1$S, lỗi: %2$S
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeWarning=Tài nguyên phương tiện %1$S có thể được giải mã, nhưng có lỗi: %2$S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaCannotPlayNoDecoders=Không thể chạy phương tiện. Không có bộ giải mã cho các định dạng được yêu cầu: %S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaNoDecoders=Không có bộ giải mã cho một số định dạng được yêu cầu: %S
+MediaCannotInitializePulseAudio=Không thể sử dụng PulseAudio
+# LOCALIZATION NOTE: %S is the URL of the web page which is not served on HTTPS and thus is not encrypted and considered insecure.
+MediaEMEInsecureContextDeprecatedWarning=Encrypted Media Extensions tại %S trong ngữ cảnh không an toàn (nghĩa là không phải HTTPS) không còn được phát triển và sẽ sớm bị xóa. Bạn nên xem xét chuyển sang một origin an toàn như HTTPS.
+# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (either an audioCapabilities or a videoCapabilities) that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
+# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (a "codecs" string in the "contentType") that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
+# LOCALIZATION NOTE: Do not translate "Mutation Event" and "MutationObserver"
+MutationEventWarning=Mutation Events đã dừng phát triển. Sử dụng MutationObserver để thay thế.
+BlockAutoplayError=Tự động phát chỉ được phép khi được người dùng chấp thuận, trang web được kích hoạt bởi người dùng hoặc phương tiện bị tắt tiếng.
+BlockAutoplayWebAudioStartError=Một AudioContext đã bị ngăn bắt đầu tự động. Nó phải được tạo hoặc tiếp tục lại sau một cử chỉ của người dùng trên trang.
+# LOCALIZATION NOTE: Do not translate "Components"
+ComponentsWarning=Components đã dừng phát triển. Nó sẽ sớm bị xóa.
+PluginHangUITitle=Cảnh báo: phần bổ trợ không đáp ứng
+PluginHangUIMessage=%S có thể đang bận, hoặc đã bị treo. Bạn có thể tắt phần bổ trợ ngay bây giờ, hoặc tiếp tục đợi nếu muốn nó hoàn tất việc xử lý.
+PluginHangUIWaitButton=Tiếp tục
+PluginHangUIStopButton=Tắt phần bổ trợ
+# LOCALIZATION NOTE: Do not translate "NodeIterator" or "detach()".
+NodeIteratorDetachWarning=Lời gọi hàm detach() trên NodeIterator không còn có tác dụng.
+# LOCALIZATION NOTE: Do not translate "LenientThis" and "this"
+LenientThisWarning=Bỏ qua nhận hoặc tập hợp các thuộc tính có [LenientThis] bởi vì đối tượng “this” có thể không chính xác.
+# LOCALIZATION NOTE: Do not translate "captureEvents()" or "addEventListener()"
+UseOfCaptureEventsWarning=captureEvents() đã dừng phát triển. Để nâng cấp mã của bạn, hãy dùng phương pháp DOM 2 addEventListener(). Xem thêm trợ giúp ở http://developer.mozilla.org/en/docs/DOM:element.addEventListener
+# LOCALIZATION NOTE: Do not translate "releaseEvents()" or "removeEventListener()"
+UseOfReleaseEventsWarning=releaseEvents() đã dừng phát triển. Để nâng cấp mã của bạn, hãy dùng phương pháp DOM 2 removeEventListener(). Xem thêm trợ giúp ở http://developer.mozilla.org/en/docs/DOM:element.removeEventListener
+# LOCALIZATION NOTE: Do not translate "XMLHttpRequest"
+SyncXMLHttpRequestWarning=Synchronous XMLHttpRequest trên luồng chính đã dừng phát triển vì những tác động bất lợi của nó đối với trải nghiệm của người dùng cuối. Để được trợ giúp thêm, hãy xem tại http://xhr.spec.whatwg.org/
+# LOCALIZATION NOTE: Do not translate "XMLHttpRequest"
+# LOCALIZATION NOTE: Do not translate "window.controllers/Controllers"
+Window_Cc_ontrollersWarning=window.controllers/Controllers đã dừng phát triển. Không sử dụng nó để phát hiện UA.
+ImportXULIntoContentWarning=Việc nhập các node XUL vào một content document hiện đã dừng phát triển. Tính năng này có thể sẽ sớm bị loại bỏ.
+# LOCALIZATION NOTE: Do not translate "IndexedDB".
+IndexedDBTransactionAbortNavigation=Giao dịch IndexedDB mà nó chưa hoàn tất đã bị hủy bỏ do điều hướng trang.
+# LOCALIZATION NOTE: Do not translate Will-change, %1$S,%2$S are numbers.
+IgnoringWillChangeOverBudgetWarning=Việc tiêu thụ bộ nhớ will-change là rất lớn. Mức giới hạn được tính bằng diện tích bề mặt của document nhân với %1$S (%2$S px). Sự xuất hiện của will-change vượt quá mức giới hạn này sẽ bị loại bỏ.
+# LOCALIZATION NOTE: Do not translate "Worker".
+HittingMaxWorkersPerDomain2=Không thể bắt đầu Worker ngay lập tức vì các tài liệu khác có cùng origin đã sử dụng số lượng worker tối đa. Worker hiện đã được xếp hàng đợi và sẽ được bắt đầu sau khi một số Worker khác đã hoàn thành.
+# LOCALIZATION NOTE: Do not translate "Application Cache API", "AppCache" and "ServiceWorker".
+AppCacheWarning=Application Cache API (AppCache) đã dừng phái triển và sẽ bị xóa trong tương lai. Vui lòng xem xét sử dụng ServiceWorker cho việc hỗ trợ ngoại tuyến.
+# LOCALIZATION NOTE: Do not translate "Worker".
+EmptyWorkerSourceWarning=Đang thử tạo Worker từ một nguồn trống. Đây có vẻ là vô tình.
+NavigatorGetUserMediaWarning=navigator.mozGetUserMedia đã được thay thế bằng navigator.mediaDevices.getUserMedia
+# LOCALIZATION NOTE: Do not translate "RTCPeerConnection", "getLocalStreams", "getRemoteStreams", "getSenders" or "getReceivers".
+RTCPeerConnectionGetStreamsWarning=RTCPeerConnection.getLocalStreams/getRemoteStreams đã dừng phát triển. Sử dụng RTCPeerConnection.getSenders/getReceivers để thay thế.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL.
+InterceptionFailedWithURL=Không thể tải ‘%S’. Một ServiceWorker đã chặn yêu cầu và gặp phải lỗi không mong muốn.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "cors", "Response", "same-origin" or "Request". %1$S is a URL, %2$S is a URL.
+CorsResponseForSameOriginRequest=Không thể tải ‘%1$S’ với phản hồi ‘%2$S’. Một ServiceWorker không được phép tổng hợp một Response cors cho một same-origin Request.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "FetchEvent.respondWith()", "FetchEvent", "no-cors", "opaque", "Response", or "RequestMode". %1$S is a URL. %2$S is a RequestMode value.
+BadOpaqueInterceptionRequestModeWithURL=Không thể tải ‘%1$S’. Một ServiceWorker đã chuyển một opaque Response cho FetchEvent.respondWith() trong khi xử lý FetchEvent ‘%2$S’. Đối tượng Opaque Response chỉ hợp lệ khi RequestMode là ‘no-cors’.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Error", "Response", "FetchEvent.respondWith()", or "fetch()". %S is a URL.
+InterceptedErrorResponseWithURL=Không thể tải ‘%S’. Một ServiceWorker đã chuyển một Error Response cho FetchEvent.respondWith(). Điều này thường có nghĩa là ServiceWorker đã thực hiện một lệnh gọi fetch() không hợp lệ.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", or "Response.clone()". %S is a URL.
+InterceptedUsedResponseWithURL=Không thể tải ‘%S’. Một ServiceWorker đã chuyển một Response đã sử dụng tới FetchEvent.respondWith(). Nội dung của Response chỉ có thể được đọc một lần. Sử dụng Response.clone() để truy cập nội dung nhiều lần.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "opaqueredirect", "Response", "FetchEvent.respondWith()", or "FetchEvent". %S is a URL.
+BadOpaqueRedirectInterceptionWithURL=Không thể tải ‘%S’. Một ServiceWorker đã chuyển một opaqueredirect Response tới FetchEvent.respondWith() trong khi xử lý một FetchEvent không điều hướng.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", "RedirectMode" or "follow". %S is a URL.
+BadRedirectModeInterceptionWithURL=Không thể tải ‘%S’. Một ServiceWorker đã chuyển một Response được chuyển hướng tới FetchEvent.respondWith() trong khi RedirectMode không phải là ‘follow’.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker" or "FetchEvent.preventDefault()". %S is a URL.
+InterceptionCanceledWithURL=Không thể tải ‘%S’. ServiceWorker đã hủy tải bằng cách gọi FetchEvent.preventDefault().
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", or "FetchEvent.respondWith()". %1$S is a URL. %2$S is an error string.
+InterceptionRejectedResponseWithURL=Không tải được ‘%1$S’. Một ServiceWorker đã chuyển một promise cho FetchEvent.respondWith() mà nó đã bị từ chối với ‘%2$S’.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", "FetchEvent.respondWith()", or "Response". %1$S is a URL. %2$S is an error string.
+InterceptedNonResponseWithURL=Không thể tải ‘%1$S’. Một ServiceWorker đã chuyển một promise cho FetchEvent.respondWith() mà nó được giải quyết với giá trị Response không phản hồi ‘%2$S’.
+
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Service-Worker-Allowed" or "HTTP". %1$S and %2$S are URLs.
+ServiceWorkerScopePathMismatch=Không thể đăng ký ServiceWorker: Đường dẫn của phạm vi được cung cấp ‘%1$S’ không nằm trong phạm vi tối đa được phép ‘%2$S’. Điều chỉnh phạm vi, di chuyển tập lệnh Service Worker hoặc sử dụng Service-Worker-Allowed HTTP header để cho phép phạm vi.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker, %2$S is a stringified numeric HTTP status code like "404" and %3$S is a URL.
+ServiceWorkerRegisterNetworkError=Không thể đăng ký/cập nhật ServiceWorker cho phạm vi ‘%1$S’: Không tải được với trạng thái %2$S cho tập lệnh ‘%3$S’.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker, %2$S is a MIME Media Type like "text/plain" and %3$S is a URL.
+ServiceWorkerRegisterMimeTypeError2=Không thể đăng ký/cập nhật ServiceWorker cho phạm vi ‘%1$S’: Content-Type nhận được của ‘%2$S’ không hợp lệ cho tập lệnh ‘%3$S’. Phải là kiểu JavaScript MIME.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerRegisterStorageError=Không thể đăng ký/cập nhật ServiceWorker cho phạm vi ‘%S’: Quyền truy cập bộ nhớ bị hạn chế trong bối cảnh này do cài đặt người dùng hoặc chế độ duyệt web riêng tư.
+ServiceWorkerGetRegistrationStorageError=Không nhận được (các) đăng ký của service worker: Quyền truy cập bộ nhớ bị hạn chế trong ngữ cảnh này do cài đặt người dùng hoặc chế độ duyệt web riêng tư.
+ServiceWorkerGetClientStorageError=Không tải được service worker của (các) máy khách: Quyền truy cập bộ nhớ bị hạn chế trong ngữ cảnh này do cài đặt người dùng hoặc chế độ duyệt web riêng tư.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker" and "postMessage". %S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerPostMessageStorageError=ServiceWorker cho phạm vi ‘%S’ không thể thực thi ‘postMessage‘ vì quyền truy cập bộ nhớ bị hạn chế trong ngữ cảnh này do cài đặt người dùng hoặc chế độ duyệt web riêng tư.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerGraceTimeoutTermination=Đang chấm dứt ServiceWorker cho phạm vi ‘%1$S’ với promises đang chờ xử lý waitUntil/respondWith vì hết thời gian gia hạn.
+# LOCALIZATION NOTE (ServiceWorkerNoFetchHandler): Do not translate "Fetch".
+ExecCommandCutCopyDeniedNotInputDriven=document.execCommand(‘cut’/‘copy’) đã bị từ chối vì nó không được gọi từ bên trong một event handler ngắn do người dùng tạo đang chạy.
+ManifestIdIsInvalid=Id member không phân giải thành một URL hợp lệ.
+ManifestIdNotSameOrigin=Id member phải có cùng nguồn gốc với start_url member.
+ManifestShouldBeObject=Manifest nên là một đối tượng.
+ManifestScopeURLInvalid=URL phạm vi không hợp lệ.
+ManifestScopeNotSameOrigin=URL phạm vi phải cùng origin với tài liệu.
+ManifestStartURLOutsideScope=URL bắt đầu nằm ngoài phạm vi, vì vậy phạm vi không hợp lệ.
+ManifestStartURLInvalid=URL bắt đầu không hợp lệ.
+ManifestStartURLShouldBeSameOrigin=URL bắt đầu phải cùng origin với tài liệu.
+# LOCALIZATION NOTE: %1$S is the name of the object whose property is invalid. %2$S is the name of the invalid property. %3$S is the expected type of the property value. E.g. "Expected the manifest's start_url member to be a string."
+# LOCALIZATION NOTE: %1$S is the name of the property whose value is invalid. %2$S is the (invalid) value of the property. E.g. "theme_color: 42 is not a valid CSS color."
+ManifestInvalidCSSColor=%1$S: %2$S không phải là màu CSS hợp lệ.
+# LOCALIZATION NOTE: %1$S is the name of the property whose value is invalid. %2$S is the (invalid) value of the property. E.g. "lang: 42 is not a valid language code."
+ManifestLangIsInvalid=%1$S: %2$S không phải là mã ngôn ngữ hợp lệ.
+# LOCALIZATION NOTE: %1$S is the name of the parent property whose value is invalid (e.g., "icons"). %2$S is the index of the image object that is invalid (from 0). %3$S is the name of actual member that is invalid. %4$S is the invalid value. E.g. "icons item at index 2 is invalid. The src member is an invalid URL http://:Invalid"
+# LOCALIZATION NOTE: %1$S is the name of the parent property that that contains the unusable image object (e.g., "icons"). %2$S is the index of the image object that is unusable (from 0). E.g. "icons item at index 2 lacks a usable purpose. It will be ignored."
+# LOCALIZATION NOTE: %1$S is the name of the parent property that contains the unsupported value (e.g., "icons"). %2$S is the index of the image object that has the unsupported value (from 0). %3$S are the unknown purposes. E.g. "icons item at index 2 includes unsupported purpose(s): a b."
+# LOCALIZATION NOTE: %1$S is the name of the parent property that has a repeated purpose (e.g., "icons"). %2$S is the index of the image object that has the repeated purpose (from 0). %3$S is the repeated purposes. E.g. "icons item at index 2 includes repeated purpose(s): a b."
+PatternAttributeCompileFailure=Không thể kiểm tra <input pattern='%S'> vì pattern không phải là regexp hợp lệ: %S
+# LOCALIZATION NOTE: Do not translate "postMessage" or DOMWindow. %S values are origins, like https://domain.com:port
+TargetPrincipalDoesNotMatch=Không thể thực thi ‘postMessage’ trên ‘DOMWindow’: Origin đích được cung cấp (‘%S’) không khớp với origin của cửa sổ người nhận (‘%S’).
+# LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
+RewriteYouTubeEmbed=Đang viết lại YouTube Flash nhúng (%S) thành iframe nhúng (%S). Vui lòng cập nhật trang để sử dụng iframe thay thế cho embed/object, nếu có thể.
+# LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
+RewriteYouTubeEmbedPathParams=Đang viết lại YouTube Flash nhúng (%S) thành iframe nhúng (%S). Các tham số không được hỗ trợ bởi iframe nhúng và đã chuyển đổi. Vui lòng cập nhật trang để sử dụng iframe thay thế cho embed/object, nếu có thể.
+# LOCALIZATION NOTE: This error is reported when the "Encryption" header for an
+# incoming push message is missing or invalid. Do not translate "ServiceWorker",
+# "Encryption", and "salt". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncryptionHeader=ServiceWorker cho phạm vi ‘%1$S’ không thể giải mã thông báo đẩy. Tiêu đề ‘Encryption’ phải bao gồm một tham số ‘salt‘ duy nhất cho mỗi thông báo. Xem tại https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 để biết thêm thông tin.
+# LOCALIZATION NOTE: This error is reported when the "Crypto-Key" header for an
+# incoming push message is missing or invalid. Do not translate "ServiceWorker",
+# "Crypto-Key", and "dh". %1$S is the ServiceWorker scope URL.
+PushMessageBadCryptoKeyHeader=ServiceWorker cho phạm vi ‘%1$S’ không thể giải mã thông báo đẩy. Tiêu đề ‘Crypto-Key‘ phải bao gồm tham số ‘dh‘ chứa khóa công khai của máy chủ ứng dụng. Xem tại https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 để biết thêm thông tin.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt because the deprecated
+# "Encryption-Key" header for an incoming push message is missing or invalid.
+# Do not translate "ServiceWorker", "Encryption-Key", "dh", "Crypto-Key", and
+# "Content-Encoding: aesgcm". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncryptionKeyHeader=ServiceWorker cho phạm vi ‘%1$S’ không thể giải mã thông báo đẩy. Header ‘Encryption-Key’ phải bao gồm tham số ‘dh‘. Header này đã dừng phát triển và sẽ sớm bị xóa. Vui lòng sử dụng ‘Crypto-Key‘ với ‘Content-Encoding: aesgcm‘ để thay thế. Xem tại https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 để biết thêm thông tin.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "Content-Encoding" header is missing or contains an
+# unsupported encoding. Do not translate "ServiceWorker", "Content-Encoding",
+# "aesgcm", and "aesgcm128". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncodingHeader=ServiceWorker cho phạm vi ‘%1$S’ không giải mã được thông báo đẩy. Header ‘Content-Encoding‘ phải là ‘aesgcm‘. ‘aesgcm128‘ được cho phép, nhưng đã dừng phát triển và sẽ sớm bị xóa. Xem https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-2 để biết thêm thông tin.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "dh" parameter is not valid base64url. Do not translate
+# "ServiceWorker", "dh", "Crypto-Key", and "base64url". %1$S is the
+# ServiceWorker scope URL.
+PushMessageBadSenderKey=ServiceWorker cho phạm vi ‘%1$S’ không giải mã được thông báo đẩy. Tham số ‘dh‘ trong header ‘Crypto-Key‘ phải là khóa công khai Diffie-Hellman của máy chủ ứng dụng, được mã hóa base64url (https://tools.ietf.org/html/rfc7515#appendix-C) và ở dạng “uncompressed” hoặc “raw” (65 byte trước khi mã hóa). Xem https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 để biết thêm thông tin.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "salt" parameter is not valid base64url. Do not translate
+# "ServiceWorker", "salt", "Encryption", and "base64url". %1$S is the
+# ServiceWorker scope URL.
+PushMessageBadSalt=ServiceWorker cho phạm vi ‘%1$S’ không giải mã được thông báo đẩy. Tham số ‘salt’ trong header ‘Encryption’ phải được mã hóa base64url (https://tools.ietf.org/html/rfc7515#appendix-C), và có ít nhất 16 byte trước khi mã hóa. Xem https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 để biết thêm thông tin.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "rs" parameter is not a number, or is less than the pad size.
+# Do not translate "ServiceWorker", "rs", or "Encryption". %1$S is the
+# ServiceWorker scope URL. %2$S is the minimum value (1 for aesgcm128, 2 for
+# aesgcm).
+PushMessageBadRecordSize=ServiceWorker cho phạm vi ‘%1$S’ không giải mã được thông báo đẩy. Tham số ‘rs‘ của header ‘Encryption‘ phải nằm trong khoảng %2$S đến 2^36-31 hoặc bị bỏ qua hoàn toàn. Xem https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 để biết thêm thông tin.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because an encrypted record is shorter than the pad size, the pad is larger
+# than the record, or any of the padding bytes are non-zero. Do not translate
+# "ServiceWorker". %1$S is the ServiceWorker scope URL. %2$S is the pad size
+# (1 for aesgcm128, 2 for aesgcm).
+PushMessageBadPaddingError=ServiceWorker cho phạm vi ‘%1$S’ không giải mã được thông báo đẩy. Bản ghi trong thông báo được mã hóa không được pad chính xác. Xem https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-2 để biết thêm thông tin.
+# LOCALIZATION NOTE: This error is reported when push message decryption fails
+# and no specific error info is available. Do not translate "ServiceWorker".
+# %1$S is the ServiceWorker scope URL.
+PushMessageBadCryptoError=ServiceWorker cho phạm vi ‘%1$S’ không giải mã được thông báo đẩy. Để được trợ giúp về mã hóa, vui lòng xem https://developer.mozilla.org/docs/Web/API/Push_API/Using_the_Push_API#Encryption
+# LOCALIZATION NOTE: %1$S is the type of a DOM event. 'passive' is a literal parameter from the DOM spec.
+PreventDefaultFromPassiveListenerWarning=Đang bỏ qua lệnh gọi ‘preventDefault()’ trong sự kiện của kiểu ‘%1$S’ từ một listener được đăng ký là ‘passive’.
+# LOCALIZATION NOTE: 'ImageBitmapRenderingContext.transferImageBitmap' and 'ImageBitmapRenderingContext.transferFromImageBitmap' should not be translated
+ImageBitmapRenderingContext_TransferImageBitmapWarning=ImageBitmapRenderingContext.transferImageBitmap đã dừng phát triển và sẽ sớm bị xóa. Sử dụng ImageBitmapRenderingContext.transferFromImageBitmap để thay thế.
+IIRFilterChannelCountChangeWarning=Các thay đổi về số lượng kênh IIRFilterNode có thể tạo ra sự cố âm thanh.
+BiquadFilterChannelCountChangeWarning=Các thay đổi về số lượng kênh BiquadFilterNode có thể tạo ra sự cố âm thanh.
+# LOCALIZATION NOTE: Do not translate ".png"
+GenericImageNamePNG=ảnh.png
+GenericFileName=tập tin
+GeolocationInsecureRequestIsForbidden=Yêu cầu về vị trí địa lý chỉ có thể được thực hiện trong ngữ cảnh an toàn.
+NotificationsInsecureRequestIsForbidden=Quyền thông báo chỉ có thể được yêu cầu trong một bối cảnh an toàn.
+NotificationsCrossOriginIframeRequestIsForbidden=Quyền thông báo chỉ có thể được yêu cầu trong tài liệu top-level hoặc same-origin iframe.
+NotificationsRequireUserGestureDeprecationWarning=Yêu cầu quyền thông báo bên ngoài event handler ngắn đang chạy do người dùng tạo đã dừng phát triển và sẽ không được hỗ trợ trong tương lai.
+# LOCALIZATION NOTE: Do not translate "content", "Window", and "window.top"
+WindowContentUntrustedWarning=Thuộc tính ‘content’ của đối tượng Window đã dừng phát triển. Vui lòng sử dụng ‘window.top’ để thay thế.
+# LOCALIZATION NOTE: The first %S is the tag name of the element that starts the loop, the second %S is the element's ID.
+SVGRefLoopWarning=SVG <%S> với ID “%S” có một vòng lặp tham chiếu.
+# LOCALIZATION NOTE: The first %S is the tag name of the element in the chain where the chain was broken, the second %S is the element's ID.
+SVGRefChainLengthExceededWarning=Chuỗi tham chiếu SVG <%S> quá dài đã bị bỏ qua ở phần tử có ID “%S”.
+# LOCALIZATION NOTE: Do not translate SVGSVGElement.deselectAll.
+SVGDeselectAll=SVGSVGElement.deselectAll không còn được phát triển vì nó sao chép chức năng từ Selection API.
+# LOCALIZATION NOTE: Do not translate SVGGraphicsElement.nearestViewportElement or SVGElement.viewportElement.
+SVGNearestViewportElement=SVGGraphicsElement.nearestViewportElement không còn được phát triển và sẽ bị xóa trong tương lai. Thay vào đó, hãy sử dụng SVGElement.viewportElement.
+# LOCALIZATION NOTE: Do not translate SVGGraphicsElement.farthestViewportElement.
+SVGFarthestViewportElement=SVGGraphicsElement.farthestViewportElement không còn được phát triển và sẽ bị xóa trong tương lai.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceEmpty=Thuộc tính ‘%S’ của phần tử <script> bị trống.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceInvalidUri=Thuộc tính ‘%S’ của phần tử <script> không phải là URI hợp lệ: “%S”
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceLoadFailed=Không thể tải cho <script> với nguồn “%S”.
+ModuleSourceLoadFailed=Không thể tải module có nguồn “%S”.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceMalformed=URI nguồn <script> không đúng định dạng: “%S”.
+ModuleSourceMalformed=URI nguồn module không đúng định dạng: “%S”.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceNotAllowed=URI nguồn <script> không được phép trong tài liệu này: “%S”.
+ModuleSourceNotAllowed=URI nguồn module không được phép trong tài liệu này: “%S”.
+WebExtContentScriptModuleSourceNotAllowed=Nội dung tập lệnh WebExtension chỉ có thể tải các module với moz-extension URLs hoặc không: “%S”.
+ModuleResolveFailureNoWarn=Lỗi khi giải quyết thông số module “%S”.
+ModuleResolveFailureWarnRelative=Lỗi khi giải quyết thông số module “%S”. Các thông số module tương đối phải bắt đầu bằng “./”, “../” hoặc “/”.
+ImportMapAddressesNotStrings=Địa chỉ cần phải là chuỗi.
+ImportMapInvalidAddress=Địa chỉ “%S” không hợp lệ.
+# %1$S is the specifier key, %2$S is the URL.
+# LOCALIZATION NOTE: Do not translate "<script type='importmap'>", "src".
+# LOCALIZATION NOTE: %1$S is the invalid property value and %2$S is the property name.
+# LOCALIZATION NOTE: Do not translate "ReadableStream".
+ReadableStreamReadingFailed=Không thể đọc dữ liệu từ ReadableStream: “%S”.
+# LOCALIZATION NOTE: Do not translate "registerProtocolHandler"
+RegisterProtocolHandlerPrivateBrowsingWarning=Không thể sử dụng registerProtocolHandler trong chế độ duyệt web riêng tư.
+MotionEventWarning=Các cảm biến chuyển động đã dừng phát triển.
+OrientationEventWarning=Các cảm biến định hướng đã dừng phát triển.
+ProximityEventWarning=Các cảm biến tiệm cận đã dừng phát triển.
+AmbientLightEventWarning=Các cảm biến ánh sáng xung quanh đã dừng phát triển.
+UnsupportedEntryTypesIgnored=Bỏ qua entryTypes không được hỗ trợ: %S.
+AllEntryTypesIgnored=Không có entryTypes hợp lệ; hủy bỏ đăng ký.
+# LOCALIZATION NOTE: do not localize key=“%S” modifiers=“%S” id=“%S”
+GTK2Conflict2=Key event không có sẵn trong GTK2: key=“%S” modifiers=“%S” id=“%S”
+WinConflict2=Key event không có sẵn trên một số bố cục bàn phím: key=“%S” modifiers=“%S” id=“%S”
+# LOCALIZATION NOTE: do not translated "document.domain"
+
+#LOCALIZATION NOTE(DeprecatedTestingInterfaceWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingInterfaceWarning=TestingDeprecatedInterface là giao diện chỉ thử nghiệm và đây là thông báo thử nghiệm đã dừng phát triển.
+#LOCALIZATION NOTE(DeprecatedTestingMethodWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingMethodWarning=TestingDeprecatedInterface.deprecatedMethod() là phương thức chỉ thử nghiệm và đây là thông báo thử nghiệm đã dừng phát triển.
+#LOCALIZATION NOTE(DeprecatedTestingAttributeWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingAttributeWarning=TestingDeprecatedInterface.deprecatedAttribute là thuộc tính chỉ thử nghiệm và đây là thông báo thử nghiệm đã dừng phát triển.
+# LOCALIZATION NOTE (CreateImageBitmapCanvasRenderingContext2DWarning): Do not translate CanvasRenderingContext2D and createImageBitmap.
+CreateImageBitmapCanvasRenderingContext2DWarning=CanvasRenderingContext2D trong createImageBitmap đã dừng phát triển.
+
+# LOCALIZATION NOTE (DrawWindowCanvasRenderingContext2DWarning): Do not translate CanvasRenderingContext2D, drawWindow and tabs.captureTab.
+DrawWindowCanvasRenderingContext2DWarning=Phương thức drawWindow từ CanvasRenderingContext2D đã dừng phát triển. Sử dụng API tiện ích mở rộng tabs.captureTab để thay thế https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/tabs/captureTab
+
+# LOCALIZATION NOTE (MozRequestFullScreenDeprecatedPrefixWarning): Do not translate mozRequestFullScreen.
+MozRequestFullScreenDeprecatedPrefixWarning=mozRequestFullScreen() đã dừng phát triển.
+# LOCALIZATION NOTE (MozfullscreenchangeDeprecatedPrefixWarning): Do not translate onmozfullscreenchange.
+MozfullscreenchangeDeprecatedPrefixWarning=onmozfullscreenchange đã dừng phát triển.
+# LOCALIZATION NOTE (MozfullscreenerrorDeprecatedPrefixWarning): Do not translate onmozfullscreenerror.
+MozfullscreenerrorDeprecatedPrefixWarning=onmozfullscreenerror đã dừng phát triển.
+# LOCALIZATION NOTE(External_AddSearchProviderWarning): Do not translate AddSearchProvider.
+External_AddSearchProviderWarning=AddSearchProvider đã dừng phát triển.
+
+# LOCALIZATION NOTE: Do not translate "MouseEvent.mozPressure" and "PointerEvent.pressure".
+MouseEvent_MozPressureWarning=MouseEvent.mozPressure đã dừng phát triển. Sử dụng PointerEvent.pressure để thay thế.
+# LOCALIZATION NOTE: Do not translate small, normal, big and mathsize.
+MathML_DeprecatedMathSizeValueWarning=“small”, “normal” và “big” là các giá trị đã dừng phát triển và sẽ bị xóa trong tương lai.
+# LOCALIZATION NOTE: Do not translate veryverythinmathspace, verythinmathspace,
+# thinmathspace, mediummathspace, thickmathspace, verythickmathspace, veryverythickmathspace and MathML.
+MathML_DeprecatedMathSpaceValueWarning=“veryverythinmathspace”, “verythinmathspace”, “thinmathspace”, “mediummathspace”, “thickmathspace”, “verythickmathspace” và “veryverythickmathspace” là các giá trị đã dừng phát triển cho MathML lengths và sẽ bị xóa trong tương lai.
+# LOCALIZATION NOTE: Do not translate MathML, background, color, fontfamily, fontsize, fontstyle and fontweight.
+MathML_DeprecatedStyleAttributeWarning=Các thuộc tính MathML “background”, “color”, “fontfamily”, “fontsize”, “fontstyle” và “fontweight” đã dừng phát triển và sẽ bị xóa trong tương lai.
+# LOCALIZATION NOTE: Do not translate "MouseEvent.mozInputSource" and "PointerEvent.pointerType".
+MozInputSourceWarning=MouseEvent.mozInputSource không còn được dùng nữa. Thay vào đó hãy sử dụng PointerEvent.pointerType.
+# LOCALIZATION NOTE: Do not translate "initMouseEvent()" and "MouseEvent()".
+InitMouseEventWarning=initMouseEvent() không còn được dừng nữa. Thay vào đó hãy sử dụng constructor MouseEvent().
+# LOCALIZATION NOTE: Do not translate "initNSMouseEvent()" and "MouseEvent()".
+InitNSMouseEventWarning=initNSMouseEvent() không còn được dùng nữa. Thay vào đó hãy sử dụng constructor MouseEvent().
+# LOCALIZATION NOTE: Do not translate MathML. %S is the deprecated length value.
+MathML_DeprecatedMathSpaceValue2Warning=Giá trị độ dài MathML “%S” không còn được dùng nữa và sẽ bị xóa trong tương lai.
+# LOCALIZATION NOTE: Do not translate mathvariant or MathML. %S is the deprecated value of the mathvariant attribute.
+MathML_DeprecatedMathVariantWarning=“mathvariant='%S'” trong phần tử MathML không còn được dùng nữa và sẽ bị xóa trong tương lai.
+# LOCALIZATION NOTE: Do not translate MathML and STIXGeneral. %S is a documentation URL.
+MathML_DeprecatedStixgeneralOperatorStretchingWarning=Hỗ trợ hiển thị các toán tử MathML kéo dài với phông chữ STIXGeneral đã dừng phát triển và có thể bị xóa trong tương lai. Để biết chi tiết về các phông chữ mới hơn sẽ tiếp tục được hỗ trợ, hãy xem %S
+# LOCALIZATION NOTE: Do not translate MathML and scriptminsize.
+MathML_DeprecatedScriptminsizeAttributeWarning=Thuộc tính MathML “scriptminsize” không được dùng nữa và sẽ bị xóa trong tương lai.
+# LOCALIZATION NOTE: Do not translate MathML and scriptsizemultiplier.
+MathML_DeprecatedScriptsizemultiplierAttributeWarning=Thuộc tính MathML “scriptsizemultiplier” không được dùng nữa và sẽ bị xóa trong tương lai.
+FormSubmissionUntrustedEventWarning=Gửi biểu mẫu thông qua sự kiện gửi không đáng tin cậy không được dùng nữa và sẽ bị xóa trong tương lai.
+
+# LOCALIZATION NOTE: Do not translate "sizeToContent()".
+SizeToContentWarning=sizeToContent() không còn được dùng nữa và sẽ bị xóa trong tương lai.
+
+WebShareAPI_Failed=Thao tác chia sẻ thất bại.
+WebShareAPI_Aborted=Hoạt động chia sẻ đã bị hủy bỏ.
+# LOCALIZATION NOTE (UnknownProtocolNavigationPrevented): %1$S is the destination URL.
+UnknownProtocolNavigationPrevented=Điều hướng đến “%1$S” bị chặn do giao thức không xác định.
+# LOCALIZATION NOTE: %S is the URL of the resource in question
+
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), iframe, allow-same-origin and sandbox (though you may translate "sandboxed").
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), iframe, allow-storage-access-by-user-activation and sandbox (though you may translate "sandboxed").
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess() and iframe.
+RequestStorageAccessNested=document.requestStorageAccess() không thể được gọi trong một iframe lồng nhau.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(). In some locales it may be preferable to not translate "event handler", either.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), Permissions Policy and storage-access.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess()
+# LOCALIZATION NOTE: Do not translate "Location" and "History".
+LocChangeFloodingPrevented=Quá nhiều lệnh gọi đến các API vị trí hoặc lịch sử trong một khung thời gian ngắn.
+FolderUploadPrompt.title = Xác nhận tải lên
+# LOCALIZATION NOTE: %S is the name of the folder the user selected in the file picker.
+FolderUploadPrompt.message = Bạn có chắc chắn muốn tải lên tất cả các tệp từ “%S” không? Chỉ làm điều này nếu bạn tin tưởng trang web.
+FolderUploadPrompt.acceptButtonLabel = Tải lên
+InputPickerBlockedNoUserActivation=Bộ chọn <input> đã bị chặn do thiếu người dùng kích hoạt.
+ExternalProtocolFrameBlockedNoUserActivation=Iframe với giao thức bên ngoài đã bị chặn do thiếu người dùng kích hoạt hoặc do chưa đủ thời gian kể từ khi iframe đó được tải lần cuối.
+MultiplePopupsBlockedNoUserActivation=Việc mở nhiều cửa sổ bật lên đã bị chặn do thiếu người dùng kích hoạt.
+# LOCALIZATION NOTE: %S is the URL of the preload that was ignored.
+PreloadIgnoredInvalidAttr=Tải trước của %S đã bị bỏ qua do không rõ giá trị “as” hoặc “type”, hoặc không khớp thuộc tính “media”.
+# LOCALIZATION NOTE: %S is the blob URL. Don't translate "agent cluster".
+BlobDifferentClusterError=Không thể truy cập URL blob “%S” từ một agent cluster khác.
+# LOCALIZATION NOTE: %S is the blob URL. Don't translate "partition key".
+# LOCALIZATION NOTE: Do not translate "Element.setCapture()" and "Element.setPointerCapture()"".
+ElementSetCaptureWarning=Element.setCapture() đã dừng phát triển. Sử dụng Element.setPointerCapture() để thay thế. Để thêm trợ giúp, hãy xem https://developer.mozilla.org/docs/Web/API/Element/setPointerCapture
+# LOCALIZATION NOTE: Do not translate "Element.releaseCapture()" and "Element.releasePointerCapture()".
+ElementReleaseCaptureWarning=Element.releaseCapture() đã dừng phát triển. Sử dụng Element.releasePointerCapture() để thay thế. Để thêm trợ giúp, hãy xem https://developer.mozilla.org/docs/Web/API/Element/releasePointerCapture
+# LOCALIZATION NOTE: Do not translate "Document.releaseCapture()" and "Element.releasePointerCapture()".
+DocumentReleaseCaptureWarning=Document.releaseCapture() đã dừng phát triển. Sử dụng Element.releasePointerCapture() để thay thế. Để thêm trợ giúp, hãy xem https://developer.mozilla.org/docs/Web/API/Element/releasePointerCapture
+
+# LOCALIZATION NOTE: Don't translate browser.runtime.lastError, %S is the error message from the unchecked value set on browser.runtime.lastError.
+WebExtensionUncheckedLastError=Giá trị browser.runtime.lastError không được check: %S
+
+# LOCALIZATION NOTE: Do not translate "OffscreenCanvas.toBlob()" and "OffscreenCanvas.convertToBlob()".
+OffscreenCanvasToBlobWarning=OffscreenCanvas.toBlob() đã dừng phát triển. Sử dụng OffscreenCanvas.convertToBlob() để thay thế.
+
+# LOCALIZATION NOTE: Do not translate "InstallTrigger"
+InstallTriggerDeprecatedWarning=InstallTrigger đã dừng phát triển và sẽ bị xóa trong tương lai.
+# LOCALIZATION NOTE: Do not translate "InstallTrigger.install()"
+InstallTriggerInstallDeprecatedWarning=InstallTrigger.install() đã dừng phát triển và sẽ bị xóa trong tương lai. Để được trợ giúp thêm, hãy xem https://extensionworkshop.com/documentation/publish/self-distribution/
+
+# LOCALIZATION NOTE: Do not translate "HTMLOptionsCollection.length". %1$S is the invalid value, %2$S is the current limit.
+
+# LOCALIZATION NOTE: Do not translate "isExternalCTAP2SecurityKeySupported".
+IsExternalCTAP2SecurityKeySupportedWarning=isExternalCTAP2SecurityKeySupported() đã dừng phát triển.
+
+# LOCALIZATION NOTE: Do not translate "name="
diff --git a/l10n-vi/dom/chrome/global-strres.properties b/l10n-vi/dom/chrome/global-strres.properties
new file mode 100644
index 0000000000..2ef36d887e
--- /dev/null
+++ b/l10n-vi/dom/chrome/global-strres.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+16389=Không xác định được lỗi gì đã xảy ra (%1$S)
diff --git a/l10n-vi/dom/chrome/layout/HtmlForm.properties b/l10n-vi/dom/chrome/layout/HtmlForm.properties
new file mode 100644
index 0000000000..b8fb53aaa2
--- /dev/null
+++ b/l10n-vi/dom/chrome/layout/HtmlForm.properties
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+Reset=Đặt lại
+Submit=Gửi truy vấn
+Browse=Chọn tập tin…
+FileUpload=Tải lên một tập tin
+DirectoryUpload=Chọn thư mục để tải lên
+DirectoryPickerOkButtonLabel=Tải lên
+ForgotPostWarning=Form có chứa enctype=%S, nhưng không chứa method=post. Chương trình sẽ gửi form với method=GET và không dùng enctype.
+ForgotFileEnctypeWarning=Form có chứa tập tin để gửi lên, nhưng thiếu method=POST và enctype=multipart/form-data trên. Tập tin này sẽ không được gửi đi.
+# LOCALIZATION NOTE (DefaultFormSubject): %S will be replaced with brandShortName
+DefaultFormSubject=Gửi Post từ %S
+CannotEncodeAllUnicode=Một biểu mẫu vừa được gửi với bảng mã %S. Bảng mã này không thể mã hóa được tất cả các ký tự unicode, vì vậy thông tin gửi lên có thể bị lỗi. Để tránh vấn đề này, trang web cần được sửa để biểu mẫu được gửi với bảng mã UTF-8, hoặc làm cho toàn bộ trang dùng UTF-8, hoặc định rõ thuộc tính accept-charset=utf-8 vào phần tử của biểu mẫu.
+AllSupportedTypes=Tất cả các kiểu được hỗ trợ
+# LOCALIZATION NOTE (NoFileSelected): this string is shown on a
+# <input type='file'> when there is no file selected yet.
+NoFileSelected=Chưa chọn tập tin.
+# LOCALIZATION NOTE (NoFilesSelected): this string is shown on a
+# <input type='file' multiple> when there is no file selected yet.
+NoFilesSelected=Chưa chọn tập tin.
+# LOCALIZATION NOTE (NoDirSelected): this string is shown on a
+# <input type='file' directory/webkitdirectory> when there is no directory
+# selected yet.
+NoDirSelected=Không thư mục nào được chọn.
+# LOCALIZATION NOTE (XFilesSelected): this string is shown on a
+# <input type='file' multiple> when there are more than one selected file.
+# %S will be a number greater or equal to 2.
+XFilesSelected=%S tập tin được chọn.
+ColorPicker=Chọn màu
+# LOCALIZATION NOTE (DefaultSummary): this string is shown on a <details> when
+# it has no direct <summary> child. Google Chrome should already have this
+# string translated.
+DefaultSummary=Chi tiết
diff --git a/l10n-vi/dom/chrome/layout/MediaDocument.properties b/l10n-vi/dom/chrome/layout/MediaDocument.properties
new file mode 100644
index 0000000000..e94a34126f
--- /dev/null
+++ b/l10n-vi/dom/chrome/layout/MediaDocument.properties
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#LOCALIZATION NOTE (ImageTitleWithDimensions2AndFile): first %S is filename, second %S is type, third %S is width and fourth %S is height
+#LOCALIZATION NOTE (ImageTitleWithoutDimensions): first %S is filename, second %S is type
+#LOCALIZATION NOTE (ImageTitleWithDimensions2): first %S is type, second %S is width and third %S is height
+#LOCALIZATION NOTE (ImageTitleWithNeitherDimensionsNorFile): first %S is type
+#LOCALIZATION NOTE (MediaTitleWithFile): first %S is filename, second %S is type
+#LOCALIZATION NOTE (MediaTitleWithNoInfo): first %S is type
+ImageTitleWithDimensions2AndFile=%S (Ảnh %S, %S × %S pixel)
+ImageTitleWithoutDimensions=%S (Ảnh %S)
+ImageTitleWithDimensions2=(Ảnh %S, %Sx%S pixels)
+ImageTitleWithNeitherDimensionsNorFile=(Ảnh %S)
+MediaTitleWithFile=%S (Đối tượng %S)
+MediaTitleWithNoInfo=(Đối tượng %S)
+
+InvalidImage=Ảnh “%S” không hiển thị được, vì nó chứa lỗi.
+UnsupportedImage=Không thể hiển thị hình ảnh “%S” vì nó yêu cầu các tính năng không được hỗ trợ.
+ScaledImage=Đã chỉnh tỉ lệ (%S%%)
+
+TitleWithStatus=%S - %S
diff --git a/l10n-vi/dom/chrome/layout/css.properties b/l10n-vi/dom/chrome/layout/css.properties
new file mode 100644
index 0000000000..392c6da802
--- /dev/null
+++ b/l10n-vi/dom/chrome/layout/css.properties
@@ -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/.
+
+MimeNotCss=Stylesheet %1$S không tải được vì kiểu MIME của nó, "%2$S", không phải là "text/css".
+MimeNotCssWarn=Stylesheet %1$S vẫn tải được ở dạng CSS mặc dù kiểu MIME, "%2$S", không phải là "text/css".
+
+PEDeclDropped=Khai báo bị bỏ.
+PEDeclSkipped=Nhảy sang khai báo kế tiếp.
+PEUnknownProperty=Không rõ thuộc tính '%1$S'.
+PEPRSyntaxFieldEmptyInput=Bộ mô tả cú pháp @property bị trống.
+PEPRSyntaxFieldInvalidNameStart=Bộ mô tả cú pháp @property ‘%S’ chứa tên thành phần bắt đầu bằng ký tự không hợp lệ.
+PEPRSyntaxFieldInvalidName=Bộ mô tả cú pháp @property ‘%S’ chứa tên thành phần có ký tự không hợp lệ.
+PEPRSyntaxFieldUnclosedDataTypeName=Bộ mô tả cú pháp @property ‘%S’ chứa một tên kiểu dữ liệu không tìm thấy điểm kết thúc.
+PEPRSyntaxFieldUnexpectedEOF=Bộ mô tả cú pháp @property ‘%S’ chưa hoàn chỉnh.
+PEPRSyntaxFieldUnknownDataTypeName=Bộ mô tả cú pháp @property ‘%S’ chứa một tên kiểu dữ liệu không xác định.
+PEValueParsingError=Lỗi trong khi phân tích giá trị cho '%1$S'.
+PEUnknownAtRule=Không nhận dạng at-rule hoặc lỗi phân tích at-rule '%1$S'.
+PEMQUnexpectedOperator=Toán tử lỗi trong danh sách phương tiện.
+PEMQUnexpectedToken=Token lỗi ‘%1$S’ trong danh sách phương tiện.
+PEAtNSUnexpected=Token lỗi trong @namespace: '%1$S'.
+PEKeyframeBadName=Cần định danh cho tên của quy tắc @keyframes.
+PEBadSelectorRSIgnored=Bộ quy tắc bị bỏ qua do bộ chọn tồi.
+PEBadSelectorKeyframeRuleIgnored=Quy tắc Keyframe đã bị bỏ qua do selector không hợp lệ.
+PESelectorGroupNoSelector=Cần selector.
+PESelectorGroupExtraCombinator=Kết hợp Dangling
+PEClassSelNotIdent=Cần định danh cho lớp selector nhưng lại thấy '%1$S'.
+PETypeSelNotType=Cần tên thành phần hoặc '*' nhưng lại thấy '%1$S'.
+PEUnknownNamespacePrefix=Không rõ tiền tố namespace '%1$S'.
+PEAttributeNameExpected=Cần định danh cho tên thuộc tính nhưng lại thấy '%1$S'.
+PEAttributeNameOrNamespaceExpected=Cần tên thuộc tính hoặc namespace nhưng lại thấy '%1$S'.
+PEAttSelNoBar=Cần '|' nhưng lại thấy '%1$S'.
+PEAttSelUnexpected=Dấu thừa trong thuộc tính selector: '%1$S'.
+PEAttSelBadValue=Cần định danh hoặc chuỗi cho giá trị trong attribute selector nhưng lại thấy '%1$S'.
+PEPseudoSelBadName=Cần định danh cho pseudo-class hoặc pseudo-element nhưng lại thấy '%1$S'.
+PEPseudoSelEndOrUserActionPC=Yêu cầu kết thúc bộ chọn hoặc hành động người dùng pseudo-class sau pseudo-element nhưng lại thấy ‘%1$S’.
+PEPseudoSelUnknown=Không rõ pseudo-class hoặc pseudo-element '%1$S'.
+PEPseudoClassArgNotIdent=Cần định danh cho tham số pseudo-class nhưng lại thấy '%1$S'.
+PEColorNotColor=Cần color nhưng lại thấy '%1$S'.
+PEParseDeclarationDeclExpected=Cần declaration nhưng lại thấy '%1$S'.
+PEUnknownFontDesc=Không rõ descriptor '%1$S' trong quy tắc @font-face.
+PEMQExpectedFeatureName=Yêu cầu tên chức năng đa phương tiện nhưng lại thấy '%1$S'.
+PEMQNoMinMaxWithoutValue=Tính năng đa phương tiện với min- hoặc max- phải có một giá trị.
+PEMQExpectedFeatureValue=Đã tìm thấy giá trị không hợp lệ đối với tính năng đa phương tiện.
+PEExpectedNoneOrURL=Yêu cầu ‘none’ hoặc URL nhưng lại thấy ‘%1$S’.
+PEExpectedNoneOrURLOrFilterFunction=Yêu cầu ‘none’, URL, hoặc hàm bộ lọc nhưng lại thấy ‘%1$S’.
+PEDisallowedImportRule=Quy tắc @import hiện chưa hợp lệ trong stylesheets được xây dựng.
+PENeverMatchingHostSelector=Selector :host trong ‘%S’ không hữu dụng và sẽ không bao giờ khớp kết quả. Có thể bạn muốn sử dụng :host()?
+
+TooLargeDashedRadius=Border radius quá lớn với kiểu ‘dashed’ (giới hạn là 100000px). Đang render với kiểu solid.
+TooLargeDottedRadius=Border radius quá lớn với kiểu ‘dotted’ (giới hạn là 100000px). Đang render với kiểu solid.
diff --git a/l10n-vi/dom/chrome/layout/htmlparser.properties b/l10n-vi/dom/chrome/layout/htmlparser.properties
new file mode 100644
index 0000000000..55e15c80f1
--- /dev/null
+++ b/l10n-vi/dom/chrome/layout/htmlparser.properties
@@ -0,0 +1,129 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Encoding warnings and errors
+EncNoDeclarationFrame=Bảng mã của một tài liệu trong khung chưa được định nghĩa. Tài liệu có thể xuất hiện khác nếu xem ngoài khung.
+EncXmlDecl=Mã hóa ký tự của tài liệu HTML được khai báo bằng cú pháp khai báo XML. Điều này là không phù hợp và việc khai báo mã hóa bằng thẻ meta ở phần đầu của thẻ head sẽ hiệu quả hơn.
+EncMetaUnsupported=Mã hóa kí tự không được hỗ trợ được khai báo trong thẻ meta của tài liệu HTML. Sự khai báo này không được chấp nhận.
+EncProtocolUnsupported=Mã hóa kí tự không được hỗ trợ được khai báo ở tầng giao thức truyền dữ liêu. Sự khai báo này không được chấp nhận.
+EncMetaUtf16=Một thẻ meta được dùng để khai báo kiểu mã hóa kí tự UTF-16. Khai báo UTF-8 được sự dụng để thay thế.
+EncMetaUserDefined=Thẻ meta được sử dụng để khai báo ký tự mã hóa x-user-defined. Nó cũng giống như việc khai báo một windows-1252 thay vì sự tương thích với các phông chữ truyền thống sai định dạng. Trang web này phải chuyển sang định dạng Unicode.
+# The audience of the following message isn't the author of the document but other people debugging browser behavior.
+
+# The bulk of the messages below are derived from
+# https://hg.mozilla.org/projects/htmlparser/file/1f633cef7de7/src/nu/validator/htmlparser/impl/ErrorReportingTokenizer.java
+# which is available under the MIT license.
+
+# Tokenizer errors
+errGarbageAfterLtSlash=Có ký tự rác sau “</”.
+errLtSlashGt=Thấy “</>”. Có thể do: unescaped “<” (escape ở dạng “&lt;”) hoặc viết sai thẻ kết thúc.
+errCharRefLacksSemicolon=Character reference không được kết thúc bởi dấu chấm phẩy.
+errNoDigitsInNCR=Không có chữ số nào trong tham chiếu ký tự.
+errGtInSystemId=thuộc về định danh hệ thống.
+errGtInPublicId=">" thuộc về định danh chung.\u0020
+errNamelessDoctype=Doctype không tên.
+errConsecutiveHyphens=Các dấu gạch ngang liên tiếp không kết thúc một ghi chú. “--” không được phép chứa bên trong một ghi chú, nhưng e.g. “- -” được phép.
+errPrematureEndOfComment=Ghi chú chưa được kết thúc. Sử dụng "-->" để kết thúc đúng một ghi chú.
+errBogusComment=Ghi chú giả.
+errUnquotedAttributeLt="<" là một giá trị chưa được quoted; có thể nguyên nhân là do thiếu ">" ngay trước đó.
+errUnquotedAttributeGrave="`" là một giá trị chưa được quoted; có thể nguyên nhân là do sử dụng sai ký tự dùng để quote.
+errUnquotedAttributeQuote=Dấu nháy (quote) xuất hiện trong thuộc tính unquoted. Nguyên nhân có thể: Hai hay nhiều thuộc tính được truyền cùng nhau hoặc một chuỗi truy vấn URL (URL query string) xuất hiện trong giá trị của một thuộc tính unquote.
+errUnquotedAttributeEquals=“=Ký tự " xuất hiện trong thuộc tính unquoted. Nguyên nhân có thể: Hai hay nhiều thuộc tính được truyền cùng nhau hoặc một chuỗi truy vấn URL (URL query string) xuất hiện trong giá trị của một thuộc tính unquote.
+errSlashNotFollowedByGt=A slash was not immediate followed by “>”.
+errNoSpaceBetweenAttributes=Không có khoảng trắng giữa các thuộc tính.
+errUnquotedAttributeStartLt=“<” at the start of an unquoted attribute value. Probable cause: Missing “>” immediately before
+errUnquotedAttributeStartGrave=Ký tự "`" bắt đầu giá trị một thuộc tính unquoted. Nguyên nhân có thể: Sử dụng sai ký tự dùng để quote.
+errUnquotedAttributeStartEquals=“=" xuất hiện ở vị trí bắt đầu của một giá trị thuộc tính không được trích dẫn. Nguyên nhân có thể: Thiếu mất cặp dấu bằng.
+errAttributeValueMissing=Giá trị thuộc tính bị thiếu.
+errBadCharBeforeAttributeNameLt=Dấu "<" xuất hiện thay vì tên thuộc tính. Nguyên nhân có thể: Thiếu mất dấu ">" ở phía trước.
+errEqualsSignBeforeAttributeName=Dấu "=" xuất hiện thay vì tên thuộc tính. Nguyên nhân có thể: Thuộc tính bị thiếu tên.
+errBadCharAfterLt=Ký tự sai sau “<”. Có thể do: Không thoát “<”. Hãy thử kết thúc với “&lt;”.
+errLtGt=Thấy “<>”. Có thể do: “<” không thoát (hãy thoát thành “&lt;”) hoặc viết sai thẻ bắt đầu.
+errProcessingInstruction=Xuất hiện "<?". Nguyên nhân có thể: Chỉ dẫn xử lý XML (XML processing instruction) được đặt trong HTML. (Trong HTML, chỉ dẫn xử lý XML không được hỗ trợ.)
+errUnescapedAmpersandInterpretedAsCharacterReference=Chuỗi sau “&” được hiểu là một ký tự tham chiếu. (“&” nên được thoát là “&amp;”.)
+errNotSemicolonTerminated=Ký tự đặc biệt được định nghĩa không kết thúc với một dấu chấm phẩy. (Hoặc "&" nên được thoát là “&amp;”.)
+errNoNamedCharacterMatch=“&” không bắt đâu một ký tự tham chiếu. (“&” nên được thoát là “&amp;”.)
+errQuoteBeforeAttributeName=Dấu nháy (quote) thay vì tên thuộc tính. Nguyên nhân có thể: Thiếu mất dấu "=" ở phía trước.
+errLtInAttributeName=Dấu "<" nằm trong tên thuộc tính. Nguyên nhân có thể: Thiếu mất đấu ">" ở phía trước.
+errQuoteInAttributeName=Xuất hiện dấu nháy (quote) trong tên thuộc tính. Nguyên nhân có thể: Ở phía trước số lượng dấu nháy không tạo thành đúng cặp.
+errExpectedPublicId=Doctype kết thúc tại vị trí lẽ ra thuộc về một public identifier (định danh công cộng).
+errBogusDoctype=Doctype không tồn tại.
+maybeErrAttributesOnEndTag=Thẻ kết thúc lại có thuộc tính.
+maybeErrSlashInEndTag=Dấu “/” thừa ở cuối thẻ kết thúc.
+errNcrNonCharacter=Character reference (ký tự tham chiếu) sẽ được biến đổi thành một non-character.
+errNcrSurrogate=Character reference (ký tự tham chiếu) sẽ được biến đổi thành một surrogate (đại diện).
+errNcrControlChar=Character reference (ký tự tham chiếu) sẽ được biến đổi thành một control character (ký tự điều khiển).
+errNcrCr=Một numeric character reference (ký tự tham chiếu số) được biến đổi thành dấu xuống dòng.
+errNcrInC1Range=Một numeric character reference (ký tự tham chiếu số) được biến đổi thành C1 controls range (miền điều khiển C1).
+errEofInPublicId=Cuối tập tin bên trong định danh công cộng.
+errEofInComment=Cuối tập tin bên trong lời chú thích.
+errEofInDoctype=Cuối tập tin bên trong doctype.
+errEofInAttributeValue=Kết thúc tập tin khi đang bên trong một giá trị thuộc tính. Loại bỏ thẻ.
+errEofInAttributeName=Kết thúc tập tin xảy ra bên trong một tên thuộc tính. Loại bỏ thẻ.
+errEofWithoutGt=Kết thúc tập tin trong khi thẻ trước đó không được kết thúc bởi ">". Loại bỏ thẻ.
+errEofInTagName=Thấy dấu hiệu kết thúc tập tin khi tìm kiếm tên thẻ. Bỏ qua thẻ.
+errEofInEndTag=Cuối tập tin bên trong thẻ đóng. Bỏ qua thẻ.
+errEofAfterLt=Cuối tập tin sau ký tự “<”.
+errNcrOutOfRange=Character reference (tham chiếu ký tự) nằm ngoài khoảng Unicode cho phép.
+errNcrUnassigned=Character reference (tham chiếu ký tự) biến đổi thành một permanent unassigned code point.
+errDuplicateAttribute=Trùng lặp thuộc tính.
+errEofInSystemId=Cuối tập tin bên trong định danh hệ thống.
+errExpectedSystemId=Thay vì một system identifier (định dang hệ thống) thì doctype lại kết thúc.
+errMissingSpaceBeforeDoctypeName=Thiếu khoảng trắng trước tên doctype.
+errNestedComment=Đã thấy “<!--” trong một bình luận. Nguyên nhân có thể xảy ra: Nhận xét lồng nhau (không được phép).
+errNcrZero=Character reference (tham chiếu ký tự) biến đổi số 0.
+errNoSpaceBetweenDoctypeSystemKeywordAndQuote=Không có khoảng trắng giữa từ khóa doctype "SYSTEM" và dấu nháy.
+errNoSpaceBetweenPublicAndSystemIds=Không có khoảng trắng giữa doctype public và system identifier (định dang hệ thống).
+errNoSpaceBetweenDoctypePublicKeywordAndQuote=Không có khoảng trắng giữa từ khóa doctype "PUBLIC" và dấu nháy.
+
+# Tree builder errors
+errDeepTree=Cây tài liệu quá sâu. Cây được làm phẳng đến độ sâu 513 yếu tố.
+errStrayStartTag2=Thẻ bắt đầu thừa “%1$S”.
+errStrayEndTag=Thẻ kết thúc thừa “%1$S”.
+errUnclosedElements=Tìm thấy thẻ kết thúc “%1$S” nhưng vẫn còn phần tử đang mở.
+errUnclosedElementsImplied=Thẻ kết thúc “%1$S” được hiểu mặc định nhưng vẫn còn phần tử đang mở.
+errUnclosedElementsCell=Ô bảng được ngầm định hiểu là kết thúc nhưng vẫn còn phần tử đang mở.
+errStrayDoctype=doctype thừa.
+errAlmostStandardsDoctype=Doctype gần đặt chuẩn. Lẽ ra nên là “<!DOCTYPE html>”.
+errQuirkyDoctype=Doctype què quặt. Lẽ ra nên là “<!DOCTYPE html>”.
+errAlmostStandardsDoctypeVerbose=Trang này gần như đang ở chế độ tiêu chuẩn. Bố cục trang có thể bị ảnh hưởng. Đối với chế độ tiêu chuẩn, hãy sử dụng “<!DOCTYPE html>”.
+errQuirkyDoctypeVerbose=Trang này đang ở chế độ Quirks. Bố cục trang có thể bị ảnh hưởng. Đối với chế độ tiêu chuẩn, hãy sử dụng “<!DOCTYPE html>”.
+errNonSpaceInTrailer=Phát hiện ký tự không phải là khoảng trắng tại cuối trang.
+errNonSpaceAfterFrameset=Phát hiện ký tự không phải là khoảng trắng sau “frameset”.
+errNonSpaceInFrameset=Phát hiện ký tự không phải là khoảng trắng trong “frameset”.
+errNonSpaceAfterBody=Phát hiện ký tự không phải là khoảng trắng sau body.
+errNonSpaceInColgroupInFragment=Phát hiện ký tự không phải là khoảng trắng trong "colgroup" khi parse fragment.
+errNonSpaceInNoscriptInHead=Phát hiện ký tự không phải là khoảng trắng trong "noscript" trong "head".
+errFooBetweenHeadAndBody=Phát hiện phần tử “%1$S” giữa “head” và “body”.
+errStartTagWithoutDoctype=Phát hiện bắt đầu một thẻ thay vì doctype. Lẽ ra nên là “<!DOCTYPE html>”.
+errNoSelectInTableScope=Không có "select" trong phạm vi bảng.
+errStartSelectWhereEndSelectExpected=Phát hiện bắt đầu thẻ “select” tại vị trí lẽ ra là kết thúc một thẻ.
+errStartTagWithSelectOpen=“%1$S” bắt đầu thẻ với “select” mở.
+errBadStartTagInNoscriptInHead=Thẻ bắt đầu “%1$S” không hợp lệ trong “noscript” ở “head”.
+errImage=Đã có thẻ mở đầu "image".
+errFooSeenWhenFooOpen2=Đã thấy thẻ bắt đầu “%1$S” nhưng một phần tử cùng loại đã được mở.
+errHeadingWhenHeadingOpen=Heading không thể là con của một heading khác.
+errFramesetStart=Tìm thấy thẻ mở đầu “frameset”.
+errNoCellToClose=Không còn ô để đóng.
+errStartTagInTable=Thẻ mở đầu “%1$S” phát hiện trong “table”.
+errFormWhenFormOpen=Tìm thấy một thẻ mở đầu “form”, nhưng đã có một phần tử “form” khác đang được phân tích. Không được phép lồng biểu mẫu. Thẻ được loại bỏ.
+errTableSeenWhileTableOpen=Phát hiện thẻ mở đầu “table” trong khi thẻ “table” đằng trước vẫn đang mở.
+errStartTagInTableBody=Thẻ mở đầu “%1$S” trong thân bảng.
+errEndTagSeenWithoutDoctype=Thẻ kết thúc mà chưa có thẻ doctype ở phía trước. Hãy thêm “<!DOCTYPE html>”.
+errEndTagAfterBody=Tìm thấy thẻ kết thúc phía sau phần "body".
+errEndTagSeenWithSelectOpen=Thẻ kết thúc “%1$S” với "select" đang mở.
+errGarbageInColgroup=Garbage trong mảnh "colgroup"
+errEndTagBr=Thẻ kết thúc “br”.
+errNoElementToCloseButEndTagSeen=Không có phần tử “%1$S” mặc dù tồn tại thẻ kết thúc “%1$S”.
+errHtmlStartTagInForeignContext=Thẻ HTML mở đầu “%1$S” tồn tại ở một namespace khác.
+errNoTableRowToClose=Không có dòng để đóng.
+errNonSpaceInTable=Kí tự không phải dấu cách bị đặt sai trong bảng.
+errUnclosedChildrenInRuby=Thành phần con chưa được đóng trong "ruby".
+errStartTagSeenWithoutRuby=Thẻ bắt đầu “%1$S” không được mở bằng phần tử “ruby”.
+errSelfClosing=Thẻ tự đóng (“/>”) được dùng cho phần tử HTML có nội dung. Bỏ dấu “/” và xem nó như một thẻ mở đầu.
+errNoCheckUnclosedElementsOnStack=Tồn tại phần tử chưa được đóng trong ngăn xếp.
+errEndTagDidNotMatchCurrentOpenElement=Thẻ mở đầu “%1$S” không khớp với tên của phần tử đang mở (“%2$S”).
+errEndTagViolatesNestingRules=Thẻ kết thúc "%1$S" vi phạm luật lồng nhau.
+errEndWithUnclosedElements=Phát hiện thẻ kết thúc “%1$S” nhưng vẫn còn phần tử đang mở.
+errListUnclosedStartTags=Phần tử hoặc các phần tử không được đóng hết.
diff --git a/l10n-vi/dom/chrome/layout/layout_errors.properties b/l10n-vi/dom/chrome/layout/layout_errors.properties
new file mode 100644
index 0000000000..0ae326f058
--- /dev/null
+++ b/l10n-vi/dom/chrome/layout/layout_errors.properties
@@ -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/.
+
+ImageMapRectBoundsError=Thuộc tính “coords” của tag <area shape="rect"> không ở định dạng “left,top,right,bottom”.
+ImageMapCircleWrongNumberOfCoords=Thuộc tính “coords” của tag <area shape="circle"> không ở định dạng “center-x,center-y,radius”.
+ImageMapCircleNegativeRadius=Thuộc tính “coords” của tag <area shape="circle"> không thể là bán kính âm.
+ImageMapPolyWrongNumberOfCoords=Thuộc tính “coords” của tag <area shape="poly"> không ở định dạng “x1,y1,x2,y2 …”.
+ImageMapPolyOddNumberOfCoords=Thuộc tính “coords” của tag <area shape="poly"> không có tọa độ “y” cuối (dạng đúng là “x1,y1,x2,y2 …”).
+
+ScrollLinkedEffectFound3=Trang web này dường như sử dụng hiệu ứng định vị scroll-linked. Điều này có thể không hoạt động tốt với tính năng quét không đồng bộ; xem https://firefox-source-docs.mozilla.org/performance/scroll-linked_effects.html để biết thêm chi tiết và tham gia thảo luận về các công cụ và tính năng liên quan!
+
+## LOCALIZATION NOTE(CompositorAnimationWarningContentTooLargeArea):
+## %1$S is an integer value of the area of the frame
+## %2$S is an integer value of the area of a limit based on the viewport size
+CompositorAnimationWarningContentTooLargeArea=Không thể chạy hoạt ảnh trên bộ tổng hợp vì diện tích của khung (%1$S) quá lớn so với khung nhìn (lớn hơn %2$S)
+## LOCALIZATION NOTE(CompositorAnimationWarningContentTooLarge2):
+## (%1$S, %2$S) is a pair of integer values of the frame size
+## (%3$S, %4$S) is a pair of integer values of a limit based on the viewport size
+## (%5$S, %6$S) is a pair of integer values of an absolute limit
+CompositorAnimationWarningContentTooLarge2=Không thể chạy hoạt ảnh trên bộ tổng hợp vì kích thước khung (%1$S, %2$S) quá lớn so với chế độ xem (lớn hơn (%3$S, %4$S)) hoặc lớn hơn mức tối đa giá trị cho phép (%5$S, %6$S)
+## LOCALIZATION NOTE(CompositorAnimationWarningTransformBackfaceVisibilityHidden):
+## 'backface-visibility: hidden' is a CSS property, don't translate it.
+CompositorAnimationWarningTransformBackfaceVisibilityHidden=Hoạt ảnh của thay đổi ‘backface-visibility: hidden’ không thể chạy trên bộ tổng hợp
+## LOCALIZATION NOTE(CompositorAnimationWarningTransformSVG,
+## CompositorAnimationWarningTransformWithGeometricProperties,
+## CompositorAnimationWarningTransformWithSyncGeometricAnimations,
+## CompositorAnimationWarningTransformFrameInactive,
+## CompositorAnimationWarningOpacityFrameInactive):
+## 'transform' and 'opacity' mean CSS property names, don't translate it.
+CompositorAnimationWarningTransformSVG=Hoạt ảnh của ‘transform’ trên các phần tử với biến đổi SVG không thể chạy trên bộ tổng hợp
+CompositorAnimationWarningTransformWithGeometricProperties=Hoạt ảnh của ‘transform’ không thể chạy trên bộ tổng hợp khi các thuộc tính hình học được tạo thành trên cùng một phần tử
+CompositorAnimationWarningTransformWithSyncGeometricAnimations=Hoạt ảnh của ‘transform’ không thể chạy trên bộ tổng hợp vì nó phải được đồng bộ hóa với hoạt ảnh của các thuộc tính hình học bắt đầu cùng một lúc
+CompositorAnimationWarningTransformFrameInactive=Không thể chạy hoạt ảnh trên bộ tổng hợp vì khung không được đánh dấu hoạt động cho hoạt ảnh ‘transform’
+CompositorAnimationWarningTransformIsBlockedByImportantRules=Không thể chạy hoạt ảnh chuyển đổi trên bộ tổng hợp vì các thuộc tính liên quan đến chuyển đổi bị ghi đè bởi quy tắc !important
+CompositorAnimationWarningOpacityFrameInactive=Không thể chạy hoạt ảnh trên bộ tổng hợp vì khung không được đánh dấu hoạt động cho hoạt ảnh ‘opacity’
+CompositorAnimationWarningHasRenderingObserver=Không thể chạy hoạt ảnh trên bộ tổng hợp vì phần tử này có kết xuất trình quan sát (-moz-element hoặc SVG clipping/masking)
+CompositorAnimationWarningHasCurrentColor=Không thể chạy hình động của ‘background-color’ trên bộ tổng hợp với keyframe ‘current-color’.
+
+## LOCALIZATION NOTE: Do not translate zoom, calc(), "transform", "transform-origin: 0 0"
+ZoomPropertyWarning=Trang này sử dụng thuộc tính phi tiêu chuẩn “zoom”. Cân nhắc sử dụng calc() trong các giá trị thuộc tính có liên quan, hoặc sử dụng “transform” cùng với “transform-origin: 0 0”.
+
+## LOCALIZATION NOTE(PrincipalWritingModePropagationWarning):
+## Do not translate <html>, <body>, CSS, "writing-mode", "direction", "text-orientation", :root, and "The Principal Writing Mode" because they are technical terms.
+PrincipalWritingModePropagationWarning=Khi render phần tử <html>, các giá trị được sử dụng của các thuộc tính CSS “writing-mode”, “direction”, và “text-orientation” trong phần tử <html> được lấy từ các giá trị được tính toán của phần tử <body>, không phải các giá trị của phần tử <html>. Xem xét thiết lập các thuộc tính này trên lớp giả CSS :root. Để biết thêm thông tin hãy xem “The Principal Writing Mode” trong https://www.w3.org/TR/css-writing-modes-3/#principal-flow
+
+## LOCALIZATION NOTE(ScrollAnchoringDisabledInContainer):
+## %1$S is an integer value with the total number of adjustments
+## %2$S is a floating point value with the average distance adjusted
+## %3$S is a floating point value with the total adjusted distance
+ScrollAnchoringDisabledInContainer=Scroll anchoring đã bị vô hiệu hóa trong scroll container do có quá nhiều điều chỉnh liên tiếp (%1$S) với tổng khoảng cách quá ít (trung bình %2$S px, tổng %3$S px).
+
+ForcedLayoutStart=Bố cục đã bị buộc trước khi trang được tải đầy đủ. Nếu stylesheet chưa được tải, điều này có thể gây ra nội dung không được chỉnh sửa.
diff --git a/l10n-vi/dom/chrome/layout/printing.properties b/l10n-vi/dom/chrome/layout/printing.properties
new file mode 100644
index 0000000000..78c538b47f
--- /dev/null
+++ b/l10n-vi/dom/chrome/layout/printing.properties
@@ -0,0 +1,56 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Page number formatting
+## @page_number The current page number
+#LOCALIZATION NOTE (pagenumber): Do not translate %ld in the following line.
+# Place the word %ld where the page number and number of pages should be
+# The first %ld will receive the the page number
+pagenumber=%1$d
+
+# Page number formatting
+## @page_number The current page number
+## @page_total The total number of pages
+#LOCALIZATION NOTE (pageofpages): Do not translate %ld in the following line.
+# Place the word %ld where the page number and number of pages should be
+# The first %ld will receive the the page number
+# the second %ld will receive the total number of pages
+pageofpages=%1$d trong %2$d
+
+PrintToFile=In thành Tập tin
+print_error_dialog_title=Lỗi Máy In
+printpreview_error_dialog_title=Lỗi khi xem trước trang in
+
+# Printing error messages.
+#LOCALIZATION NOTE: Some of these messages come in pairs, one
+# for printing and one for print previewing. You can remove that
+# distinction in your language by removing the entity with the _PP
+# suffix; then the entity without a suffix will be used for both.
+# You can also add that distinction to any of the messages that don't
+# already have it by adding a new entity with a _PP suffix.
+#
+# For instance, if you delete PERR_GFX_PRINTER_DOC_IS_BUSY_PP, then
+# the PERR_GFX_PRINTER_DOC_IS_BUSY message will be used for that error
+# condition when print previewing as well as when printing. If you
+# add PERR_FAILURE_PP, then PERR_FAILURE will only be used when
+# printing, and PERR_FAILURE_PP will be used under the same conditions
+# when print previewing.
+#
+PERR_FAILURE=Đã xảy ra lỗi khi in.
+
+PERR_ABORT=Việc in ấn đã bị hủy bỏ.
+PERR_NOT_AVAILABLE=Một số chức năng in hiện tại chưa có.
+PERR_NOT_IMPLEMENTED=Một vài tính năng in ấn chưa được bổ sung.
+PERR_OUT_OF_MEMORY=Không đủ bộ nhớ để in.
+PERR_UNEXPECTED=Gặp vấn đề đột xuất trong khi in.
+
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE=Không có máy in nào.
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE_PP=Không có máy in nào, không thể xem trước trang in.
+PERR_GFX_PRINTER_NAME_NOT_FOUND=Không tìm thấy máy in đã chọn.
+PERR_GFX_PRINTER_COULD_NOT_OPEN_FILE=Lỗi mở tập tin đầu ra để in ra tập tin.
+PERR_GFX_PRINTER_STARTDOC=Việc in thất bại ngay khi bắt đầu.
+PERR_GFX_PRINTER_ENDDOC=Việc in thất bại khi hoàn tất.
+PERR_GFX_PRINTER_STARTPAGE=Việc in thất bại khi bắt đầu trang mới.
+PERR_GFX_PRINTER_DOC_IS_BUSY=Không thể in tài liệu vào lúc này, vì vẫn chưa nạp xong.
+PERR_GFX_PRINTER_DOC_IS_BUSY_PP=Không thể xem trước trang của tài liệu này, nó vẫn đang tải.
diff --git a/l10n-vi/dom/chrome/layout/xmlparser.properties b/l10n-vi/dom/chrome/layout/xmlparser.properties
new file mode 100644
index 0000000000..7cd7ab1cc1
--- /dev/null
+++ b/l10n-vi/dom/chrome/layout/xmlparser.properties
@@ -0,0 +1,48 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Map Expat error codes to error strings
+1 = tràn bộ nhớ
+2 = lỗi cú pháp
+3 = không tìm thấy phần tử gốc
+4 = không đúng dạng
+5 = dấu chưa đóng
+6 = kí tự bộ phận
+7 = thẻ không khớp
+8 = trùng thuộc tính
+9 = kí tự thừa sau phần tử document
+10 = thông số tham chiếu đối tượng không hợp lệ
+11 = đối tượng chưa được định nghĩa
+12 = đối tượng tham chiếu đệ qui
+13 = đối tượng dị bộ
+14 = tham chiếu tới số kí tự sai
+15 = tham chiếu tới đối tượng nhị phân
+16 = tham chiếu tới đối tượng bên ngoài trong thuộc tính
+17 = khai báo của xml không ở đầu đối tượng bên ngoài
+18 = không rõ bảng mã
+19 = bảng mã được chỉ định trong khai báo của XML không đúng
+20 = phần CDATA chưa đóng
+21 = lỗi khi xử lí tham chiếu tới đối tượng bên ngoài
+22 = tài liệu không đứng một mình
+23 = tình trạng hỏng của trình phân tích
+24 = đối tượng được khai báo trong tham số đối tượng
+27 = tiền tố không qui định giới hạn cho namespace
+28 = phải khai báo tiền tố
+29 = đánh dấu không hoàn tất trong thực thể tham số
+30 = khai báo XML không đúng mẫu
+31 = khai báo văn bản không đúng mẫu
+32 = kí tự sai trong định danh công cộng
+38 = tiền tố qui định kiểu (xml) phải được khai báo hoặc gắn với namespace khác
+39 = tiền tố qui định kiểu (xmlns) không được phép khai báo hoặc không khai báo.
+40 = tiền tố không được gắn với một trong các tên namespace dành riêng.
+
+# %1$S is replaced by the Expat error string, may be followed by Expected (see below)
+# %2$S is replaced by URL
+# %3$u is replaced by line number
+# %4$u is replaced by column number
+XMLParsingError = Lỗi Phân tích XML: %1$S\nĐịa chỉ: %2$S\nDòng số %3$u, Cột %4$u:
+
+# %S is replaced by a tag name.
+# This gets appended to the error string if the error is mismatched tag.
+Expected = . Cần: </%S>.
diff --git a/l10n-vi/dom/chrome/layout/xul.properties b/l10n-vi/dom/chrome/layout/xul.properties
new file mode 100644
index 0000000000..abbb7980d1
--- /dev/null
+++ b/l10n-vi/dom/chrome/layout/xul.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+PINotInProlog=<?%1$S?> hướng dẫn xử lí không còn hiệu quả bên ngoài prolog nữa (xem bug 360119).
diff --git a/l10n-vi/dom/chrome/mathml/mathml.properties b/l10n-vi/dom/chrome/mathml/mathml.properties
new file mode 100644
index 0000000000..6597b5a65d
--- /dev/null
+++ b/l10n-vi/dom/chrome/mathml/mathml.properties
@@ -0,0 +1,15 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+InvalidChild=Đánh dấu không hợp lệ: <%1$S> không phải là con của <%2$S>.
+ChildCountIncorrect=Đánh dấu không hợp lệ: số lượng thẻ con cho thẻ <%1$S/> không chính xác.
+DuplicateMprescripts=Đánh dấu không hợp lệ: có nhiều hơn một thẻ <mprescripts/> trong <mmultiscripts/>.
+# LOCALIZATION NOTE: The first child of <mmultiscript/> is the base, that is the element to which scripts are attached.
+NoBase=Đánh dấu không hợp lệ: Thiếu một phần tử cơ sở trong <mmultiscripts/>. Không tìm thấy.
+SubSupMismatch=Đánh dấu không hợp lệ: Không đủ cặp subscript/superscript trong thẻ <mmultiscripts/>.
+
+# LOCALIZATION NOTE: When localizing the single quotes ('), follow the conventions in css.properties for your target locale.
+AttributeParsingError=Lỗi phân tích giá trị '%1$S' cho thuộc tính '%2$S' của <%3$S/>. Thuộc tính bị bỏ qua.
+AttributeParsingErrorNoTag=Lỗi phân tích giá trị '%1$S' cho thuộc tính '%2$S' . Thuộc tính bị bỏ qua.
+LengthParsingError=Lỗi phân tích '%1$S' giá trị thuộc tính MathML chẳng hạn như lỗi độ dài. Thuộc tính bị bỏ qua.
diff --git a/l10n-vi/dom/chrome/nsWebBrowserPersist.properties b/l10n-vi/dom/chrome/nsWebBrowserPersist.properties
new file mode 100644
index 0000000000..3e368c3c27
--- /dev/null
+++ b/l10n-vi/dom/chrome/nsWebBrowserPersist.properties
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+readError=Không thể lưu %S, vì không thể đọc tập tin nguồn được.\n\nHãy thử lại sau, hoặc liên hệ quản trị máy chủ.
+writeError=Không thể lưu %S, vì một lỗi không rõ lí do đã xảy ra.\n\nHãy thử lưu vào một nơi khác.
+launchError=Không thể mở %S, vì một lỗi không rõ lí do đã xảy ra.\n\nHãy thử lưu vào ổ đĩa trước rồi sau đó mới mở tập tin.
+diskFull=Không đủ dung lượng trống trên ổ đĩa để lưu %S.\n\nXóa bớt những tập tin không cần thiết và thử lại, hoặc lưu vào nơi khác.
+readOnly=Không thể lưu %S, vì ổ đĩa, thư mục, hoặc tập tin đã được bảo vệ chống ghi.\n\nBật tính năng ghi cho đĩa và thử lại, hoặc lưu vào nơi khác.
+accessError=Không thể lưu %S, vì bạn không thể thay đổi nội dung của thư mục đó.\n\nThay đổi thuộc tính của thư mục và thử lại, hoặc lưu vào nơi khác.
+SDAccessErrorCardReadOnly=Không thể tải tập tin vì thẻ SD đang được sử dụng.
+SDAccessErrorCardMissing=Không thể tải tập tin vì không có thẻ SD.
+helperAppNotFound=Không thể mở %S, vì không có ứng dụng trợ giúp nào đi kèm với loại tập tin này. Thay đổi ứng dụng đi kèm trong tùy chọn hệ thống của bạn.
+noMemory=Không đủ bộ nhớ để thực hiện lệnh bạn yêu cầu.\n\nHãy đóng vài ứng dụng khác rồi thử lại.
+title=Đang tải xuống %S
+fileAlreadyExistsError=Không thể lưu %S, vì đã tồn tại một tập tin có cùng tên với thư mục '_files'.\n\nHãy thử lưu vào nơi khác.
+fileNameTooLongError=Không thể lưu %S, vì tên tập tin quá dài.\n\nHãy thử lưu với tên ngắn hơn.
diff --git a/l10n-vi/dom/chrome/security/caps.properties b/l10n-vi/dom/chrome/security/caps.properties
new file mode 100644
index 0000000000..9edc578dd2
--- /dev/null
+++ b/l10n-vi/dom/chrome/security/caps.properties
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+CheckLoadURIError = Lỗi Bảo mật: Nội dung ở %S có thể không tải hoặc liên kết đến %S.
+CheckSameOriginError = Lỗi Bảo mật: Nội dung ở %S có thể không tải dữ liệu từ %S.
+ExternalDataError = Lỗi bảo mật: các nội dung tại %S đã cố gắng để tải %S, nhưng có thể không nạp dữ liệu bên ngoài khi được sử dụng như một hình ảnh.
+
+CreateWrapperDenied = Không được phép tạo bao bọc cho đối tượng hoặc lớp %S
+CreateWrapperDeniedForOrigin = Từ chối quyền hạn đối với việc <%2$S> tạo gói bọc cho đối tượng của class %1$S
diff --git a/l10n-vi/dom/chrome/security/csp.properties b/l10n-vi/dom/chrome/security/csp.properties
new file mode 100644
index 0000000000..ee0531ba72
--- /dev/null
+++ b/l10n-vi/dom/chrome/security/csp.properties
@@ -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/.
+
+# CSP Warnings:
+# LOCALIZATION NOTE (CSPViolation):
+# %1$S is the reason why the resource has not been loaded.
+CSPViolation = Các cài đặt của trang đã chặn tải tài nguyên: %1$S
+# LOCALIZATION NOTE (CSPViolationWithURI):
+# %1$S is the directive that has been violated.
+# %2$S is the URI of the resource which violated the directive.
+CSPViolationWithURI = Các cài đặt trang khác đã chặn tải tài nguyên ở %2$S (“%1$S”).
+# LOCALIZATION NOTE (CSPROViolation):
+# %1$S is the reason why the resource has not been loaded.
+CSPROViolation = Đã xảy ra vi phạm đối với chính sách CSP chỉ báo cáo (“%1$S”). Hành vi đã được cho phép và một báo cáo CSP đã được gửi.
+# LOCALIZATION NOTE (CSPROViolationWithURI):
+# %1$S is the directive that has been violated.
+# %2$S is the URI of the resource which violated the directive.
+CSPROViolationWithURI = Các cài đặt của trang đã quan sát việc tải tài nguyên ở %2$S (“%1$S”). Một báo cáo CSP đang được gửi.
+# LOCALIZATION NOTE (triedToSendReport):
+# %1$S is the URI we attempted to send a report to.
+triedToSendReport = Gửi báo cáo đến URI không hợp lệ: "%1$S"
+tooManyReports = Đã ngăn việc gửi quá nhiều báo cáo CSP trong một khoảng thời gian ngắn.
+# LOCALIZATION NOTE (couldNotParseReportURI):
+# %1$S is the report URI that could not be parsed
+couldNotParseReportURI = không thể phân tích URI của báo cáo: %1$S
+# LOCALIZATION NOTE (couldNotProcessUnknownDirective):
+# %1$S is the unknown directive
+couldNotProcessUnknownDirective = Không thể xử lý directive không rõ '%1$S'
+# LOCALIZATION NOTE (ignoringUnknownOption):
+# %1$S is the option that could not be understood
+ignoringUnknownOption = Bỏ qua tùy chọn không xác định %1$S
+# LOCALIZATION NOTE (ignoringDuplicateSrc):
+# %1$S defines the duplicate src
+ignoringDuplicateSrc = Bỏ qua nguồn trùng lặp %1$S
+# LOCALIZATION NOTE (ignoringNonAsciiToken):
+# %1$S defines the name of the directive
+# %2$S is the token string containing non-ASCII characters.
+ignoringNonAsciiToken = Đang bỏ qua lệnh ‘%1$S’ với token không phải ASCII ‘%2$S’
+# LOCALIZATION NOTE (ignoringSrcFromMetaCSP):
+# %1$S defines the ignored src
+ignoringSrcFromMetaCSP = Bỏ qua nguồn ‘%1$S’, (Không được hỗ trợ khi được gửi qua phần tử meta).
+# LOCALIZATION NOTE (ignoringSrcWithinNonceOrHashDirective):
+# %1$S is the ignored src (e.g. "unsafe-inline")
+# %2$S is the directive (e.g. "script-src-elem")
+ignoringSrcWithinNonceOrHashDirective = Đang bỏ qua “%1$S” ở trong %2$S: nonce-source hoặc hash-source đã được chỉ định
+# LOCALIZATION NOTE (ignoringScriptSrcForStrictDynamic):
+# %1$S is the ignored src
+# %1$S is the directive src (e.g. "script-src-elem")
+# 'strict-dynamic' should not be localized
+ignoringScriptSrcForStrictDynamic = Đang bỏ qua “%1$S” ở trong %2$S: ‘strict-dynamic’ đã được chỉ định
+# LOCALIZATION NOTE (ignoringStrictDynamic):
+# %1$S is the ignored src
+ignoringStrictDynamic = Bỏ qua nguồn “%1$S” (Chỉ được hỗ trợ trong script-src).
+# LOCALIZATION NOTE (ignoringUnsafeEval):
+# %1$S is the csp directive (e.g. script-src-elem)
+# 'unsafe-eval' and 'wasm-unsafe-eval' should not be localized
+ignoringUnsafeEval = Đang bỏ qua ‘unsafe-eval’ hoặc ‘wasm-unsafe-eval’ ở trong “%1$S”.
+# LOCALIZATION NOTE (strictDynamicButNoHashOrNonce):
+# %1$S is the csp directive that contains 'strict-dynamic'
+# 'strict-dynamic' should not be localized
+strictDynamicButNoHashOrNonce = Từ khóa ‘strict-dynamic’ trong “%1$S” không có mã khai báo hợp lệ hoặc hash có thể chặn tất cả các tập lệnh tải
+# LOCALIZATION NOTE (reportURInotHttpsOrHttp2):
+# %1$S is the ETLD of the report URI that is not HTTP or HTTPS
+reportURInotHttpsOrHttp2 = URI báo cáo (%1$S) phải là URI HTTP hoặc HTTPS.
+# LOCALIZATION NOTE (reportURInotInReportOnlyHeader):
+# %1$S is the ETLD of the page with the policy
+reportURInotInReportOnlyHeader = Trang web này (%1$S) có chính sách Chỉ báo cáo mà không có URI báo cáo. CSP sẽ không chặn và không thể báo cáo vi phạm chính sách này.
+# LOCALIZATION NOTE (failedToParseUnrecognizedSource):
+# %1$S is the CSP Source that could not be parsed
+failedToParseUnrecognizedSource = Lỗi phân tách nguồn chưa xác định %1$S
+# LOCALIZATION NOTE (upgradeInsecureRequest):
+# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+upgradeInsecureRequest = Nâng cấp yêu cầu không an toàn ‘%1$S’ để sử dụng ‘%2$S’
+# LOCALIZATION NOTE (ignoreSrcForDirective):
+ignoreSrcForDirective = Bỏ qua srcs cho chỉ thị ‘%1$S’
+# LOCALIZATION NOTE (hostNameMightBeKeyword):
+# %1$S is the hostname in question and %2$S is the keyword
+hostNameMightBeKeyword = Giải thích %1$S dưới dạng tên máy chủ, không phải từ khóa. Nếu bạn dự định đây là một từ khóa, hãy sử dụng ‘%2$S’ (được gói trong các trích dẫn đơn).
+# LOCALIZATION NOTE (notSupportingDirective):
+# directive is not supported (e.g. 'reflected-xss')
+notSupportingDirective = Không hỗ trợ chỉ thị ‘%1$S’. Chỉ thị và giá trị sẽ bị bỏ qua.
+# LOCALIZATION NOTE (blockAllMixedContent):
+# %1$S is the URL of the blocked resource load.
+blockAllMixedContent = Đang chặn yêu cầu không an toàn ‘%1$S’.
+# LOCALIZATION NOTE (ignoringDirectiveWithNoValues):
+# %1$S is the name of a CSP directive that requires additional values
+ignoringDirectiveWithNoValues = Bỏ qua ‘%1$S’ vì nó không chứa bất kỳ tham số nào.
+# LOCALIZATION NOTE (ignoringReportOnlyDirective):
+# %1$S is the directive that is ignored in report-only mode.
+ignoringReportOnlyDirective = Bỏ qua thuộc tính sandbox khi gửi với chính sách ‘%1$S’
+# LOCALIZATION NOTE (IgnoringSrcBecauseOfDirective):
+# %1$S is the name of the src that is ignored.
+# %2$S is the name of the directive that causes the src to be ignored.
+IgnoringSrcBecauseOfDirective=Đang bỏ qua ‘%1$S’ vì chỉ thị ‘%2$S’.
+# LOCALIZATION NOTE (IgnoringSourceWithinDirective):
+# %1$S is the ignored src
+# %2$S is the directive which supports src
+IgnoringSourceWithinDirective = Bỏ qua nguồn “%1$S” (Không được hỗ trợ trong ‘%2$S’).
+# LOCALIZATION NOTE (IgnoringSourceWithinDirective):
+# %1$S is the ignored src
+
+
+# CSP Errors:
+# LOCALIZATION NOTE (couldntParseInvalidSource):
+# %1$S is the source that could not be parsed
+couldntParseInvalidSource = Không thể phân tích nguồn %1$S không hợp lệ
+# LOCALIZATION NOTE (couldntParseInvalidHost):
+# %1$S is the host that's invalid
+couldntParseInvalidHost = Không thể phân tích máy chủ %1$S không hợp lệ
+# LOCALIZATION NOTE (couldntParsePort):
+# %1$S is the string source
+couldntParsePort = Không thể phân tích cổng trong %1$S
+# LOCALIZATION NOTE (duplicateDirective):
+# %1$S is the name of the duplicate directive
+duplicateDirective = Đã xác định chỉ thị %1$S bị trùng. Ngoại trừ trường hợp đầu tiên, tất cả còn lại đều bị bỏ qua.
+# LOCALIZATION NOTE (couldntParseInvalidSandboxFlag):
+# %1$S is the option that could not be understood
+couldntParseInvalidSandboxFlag = Không thể phân tích cú pháp gắn cờ hộp cát không hợp lệ ‘%1$S’
+
+# LOCALIZATION NOTE (CSPMessagePrefix):
+# Do not translate "Content-Security-Policy", only handle spacing for the colon.
+# %S is a console message that is being prefixed here.
+CSPMessagePrefix = Content-Security-Policy: %S
diff --git a/l10n-vi/dom/chrome/security/security.properties b/l10n-vi/dom/chrome/security/security.properties
new file mode 100644
index 0000000000..b658312772
--- /dev/null
+++ b/l10n-vi/dom/chrome/security/security.properties
@@ -0,0 +1,170 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Mixed Content Blocker
+# LOCALIZATION NOTE: "%1$S" is the URI of the blocked mixed content resource
+BlockMixedDisplayContent = Đã chặn việc tải các nội dung bị trộn lẫn thụ động từ "%1$S"
+BlockMixedActiveContent = Đã chặn việc tải các nội dung bị trộn lẫn chủ động từ "%1$S"
+
+# CORS
+# LOCALIZATION NOTE: Do not translate "Access-Control-Allow-Origin", Access-Control-Allow-Credentials, Access-Control-Allow-Methods, Access-Control-Allow-Headers
+CORSDisabled=Yêu cầu Cross-Origin đã bị chặn: Same Origin Policy không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: CORS bị vô hiệu hóa).
+CORSDidNotSucceed2=Yêu cầu Cross-Origin bị chặn: Chính sách Same Origin không cho phép đọc tài nguyên từ xa tại %1$S. (Lý do: Yêu cầu CORS không thành công). Mã trạng thái: %2$S.
+CORSOriginHeaderNotAdded=Yêu cầu Cross-Origin đã bị chặn: Same Origin Policy không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: Không thể thêm CORS header ‘Origin’).
+CORSExternalRedirectNotAllowed=Yêu cầu Cross-Origin đã bị chặn: Same Origin Policy không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: CORS yêu cầu chuyển hướng bên ngoài không được cho phép).
+CORSRequestNotHttp=Yêu cầu Cross-Origin đã bị chặn: Same Origin Policy không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: CORS yêu cầu không http).
+CORSMissingAllowOrigin2=Yêu cầu Cross-Origin bị chặn: Chính sách Same Origin không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: CORS header thiếu ‘Access-Control-Allow-Origin’). Mã trạng thái: %2$S.
+CORSMultipleAllowOriginNotAllowed=Yêu cầu Cross-Origin đã bị chặn: Same Origin Policy không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: Nhiều CORS header ‘Access-Control-Allow-Origin’ không được cho phép).
+CORSAllowOriginNotMatchingOrigin=Yêu cầu Cross-Origin đã bị chặn: Same Origin Policy không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: CORS header ‘Access-Control-Allow-Origin’ không khớp với ‘%2$S’).
+CORSNotSupportingCredentials=Yêu cầu Cross-Origin đã bị chặn: Same Origin Policy không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: Chứng chỉ không được hỗ trợ nếu CORS header ‘Access-Control-Allow-Origin’ là ‘*’).
+CORSMethodNotFound=Yêu cầu Cross-Origin đã bị chặn: Same Origin Policy không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: Không tìm thấy phương thức trong CORS header ‘Access-Control-Allow-Methods’).
+CORSMissingAllowCredentials=Yêu cầu Cross-Origin đã bị chặn: Same Origin Policy không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: phải là giá trị ‘true’ trong CORS header ‘Access-Control-Allow-Credentials’).
+CORSPreflightDidNotSucceed3=Yêu cầu Cross-Origin bị chặn: Chính sách Same Origin không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: CORS preflight phản hồi không thành công). Mã trạng thái: %2$S.
+CORSInvalidAllowMethod=Yêu cầu Cross-Origin đã bị chặn: Same Origin Policy không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: token ‘%2$S’ không hợp lệ trong CORS header ‘Access-Control-Allow-Methods’).
+CORSInvalidAllowHeader=Yêu cầu Cross-Origin đã bị chặn: Same Origin Policy không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: token ‘%2$S’ không hợp lệ trong CORS header ‘Access-Control-Allow-Headers’).
+CORSMissingAllowHeaderFromPreflight2=Yêu cầu Cross-Origin đã bị chặn: Same Origin Policy không cho phép đọc tài nguyên từ xa ở %1$S. (Lý do: header ‘%2$S’ không được phép theo header ‘Access-Control-Allow-Headers’ từ CORS preflight response).
+CORSAllowHeaderFromPreflightDeprecation=Cảnh báo yêu cầu Cross-Origin: Same Origin Policy sẽ không cho phép đọc tài nguyên từ xa tại %1$S trong tương lai. (Lý do: Khi `Access-Control-Allow-Headers` là `*`, header `Authorization` sẽ không được bao gồm. Để thêm header `Authorization`, nó phải được liệt kê rõ ràng trong header CORS `Access-Control-Allow-Headers`).
+
+# LOCALIZATION NOTE: Do not translate "Strict-Transport-Security", "HSTS", "max-age" or "includeSubDomains"
+STSUnknownError=Strict-Transport-Security: Xảy ra lỗi không xác định khi xử lý header được chỉ định bởi trang web.
+STSCouldNotParseHeader=Strict-Transport-Security: Trang web đã chỉ định một header không thể được phân tích cú pháp thành công.
+STSNoMaxAge=Strict-Transport-Security: Trang web đã chỉ định một header không bao gồm chỉ thị ‘max-age’.
+STSMultipleMaxAges=Strict-Transport-Security: Trang web đã chỉ định một header bao gồm nhiều chỉ thị ‘max-age’.
+STSInvalidMaxAge=Strict-Transport-Security: Trang web đã chỉ định một header bao gồm chỉ thị ‘max-age’ không hợp lệ.
+STSMultipleIncludeSubdomains=Strict-Transport-Security: Trang web đã chỉ định một header bao gồm nhiều chỉ thị ‘includeSubDomains’.
+STSInvalidIncludeSubdomains=Strict-Transport-Security: Trang web đã chỉ định một header bao gồm một chỉ thị ‘includeSubDomains’ không hợp lệ.
+STSCouldNotSaveState=Strict-Transport-Security: Đã xảy ra lỗi khi lưu ý trang web là máy chủ Strict-Transport-Security.
+
+InsecurePasswordsPresentOnPage=Các trường mật khẩu hiện trên trang (http://) không an toàn. Đây là một rủi ro bảo mật cho phép đánh cắp thông tin đăng nhập của người dùng.
+InsecureFormActionPasswordsPresent=Các trường mật khẩu có trong một biểu mẫu với biểu mẫu hành động (http://) không an toàn. Đây là một rủi ro bảo mật cho phép đánh cắp thông tin đăng nhập của người dùng.
+InsecurePasswordsPresentOnIframe=Các trường mật khẩu hiện trên iframe (http://) không an toàn. Đây là một rủi ro bảo mật cho phép đánh cắp thông tin đăng nhập của người dùng.
+# LOCALIZATION NOTE: "%1$S" is the URI of the insecure mixed content resource
+LoadingMixedActiveContent2=Đang tải nội dung hoạt động hỗn hợp (không an toàn) “%1$S” trên một trang an toàn
+LoadingMixedDisplayContent2=Đang tải nội dung hiển thị hỗn hợp (không an toàn) “%1$S” trên một trang an toàn
+LoadingMixedDisplayObjectSubrequestDeprecation=Tải nội dung hỗn hợp (không an toàn) “%1$S” trong một bổ trợ trên trang bảo mật không được khuyến khích và sẽ bị chặn trong tương lai.
+# LOCALIZATION NOTE: "%S" is the URI of the insecure mixed content download
+MixedContentBlockedDownload = Đã chặn tải xuống nội dung không an toàn “%S”.
+
+# LOCALIZATION NOTE: "%S" is the URI of the insecure mixed content download
+BlockedInsecureDownload = Chúng tôi đã chặn nội dung tải xuống không an toàn: “%S”.
+
+# LOCALIZATION NOTE: Do not translate "allow-scripts", "allow-same-origin", "sandbox" or "iframe"
+BothAllowScriptsAndSameOriginPresent=Một iframe có cả allow-scripts và allow-same-origin cho thuộc tính sandbox của nó có thể loại bỏ hộp cát của nó.
+# LOCALIZATION NOTE: Do not translate "allow-top-navigation-by-user-activation", "allow-top-navigation", "sandbox" or "iframe"
+BothAllowTopNavigationAndUserActivationPresent=Một iframe có cả hai allow-top-navigation và allow-top-navigation-by-user-activation cho thuộc tính sandbox của nó sẽ cho phép điều hướng nội dung đến bối cảnh duyệt cấp cao nhất.
+
+# Sub-Resource Integrity
+# LOCALIZATION NOTE: Do not translate "script" or "integrity". "%1$S" is the invalid token found in the attribute.
+MalformedIntegrityHash=Phần tử script có hash không đúng định dạng trong thuộc tính integrity của nó: “%1$S”. Định dạng đúng là “<hash algorithm>-<hash value>”.
+# LOCALIZATION NOTE: Do not translate "integrity"
+InvalidIntegrityLength=Hash chứa trong thuộc tính integrity có độ dài không đúng.
+# LOCALIZATION NOTE: Do not translate "integrity"
+InvalidIntegrityBase64=Không thể giải mã hash chứa trong thuộc tính integrity.
+# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the type of hash algorithm in use (e.g. "sha256"). "%2$S" is the value we saw.
+IntegrityMismatch2=Không có giá trị hash nào của “%1$S” trong thuộc tính integrity khớp với nội dung của nguồn phụ. Giá trị băm được tính toán là “%2$S”.
+# LOCALIZATION NOTE: "%1$S" is the URI of the sub-resource that cannot be protected using SRI.
+IneligibleResource=“%1$S” không đủ điều kiện để kiểm tra tính toàn vẹn vì nó không là CORS-enabled cũng không là same-origin.
+# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the invalid hash algorithm found in the attribute.
+UnsupportedHashAlg=Thuật toán hash không được hỗ trợ trong thuộc tính integrity: “%1$S”
+# LOCALIZATION NOTE: Do not translate "integrity"
+NoValidMetadata=Thuộc tính integrity không chứa bất kỳ siêu dữ liệu (metadata) hợp lệ.
+
+# LOCALIZATION NOTE: Do not translate "RC4".
+WeakCipherSuiteWarning=Trang web này sử dụng mật mã RC4 để mã hóa, nó không còn dùng nữa và không an toàn.
+
+DeprecatedTLSVersion2=Trang web này sử dụng phiên bản TLS không dùng nữa. Vui lòng nâng cấp lên TLS 1.2 hoặc 1.3.
+
+#XCTO: nosniff
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options: nosniff".
+MimeTypeMismatch2=Tài nguyên từ “%1$S” bị chặn do kiểu MIME (“%2$S”) không khớp (X-Content-Type-Options: nosniff).
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options" and also do not translate "nosniff".
+XCTOHeaderValueMissing=Cảnh báo X-Content-Type-Options header: giá trị là “%1$S”; ý của bạn là gửi “nosniff”?
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options" and also do not translate "nosniff".
+XTCOWithMIMEValueMissing=Tài nguyên từ “%1$S” không được hiển thị do loại MIME không xác định, không chính xác hoặc bị thiếu (X-Content-Type-Options: nosniff).
+
+BlockScriptWithWrongMimeType2=Script từ “%1$S” đã bị chặn vì kiểu MIME (“%2$S”) không được cho phép.
+WarnScriptWithWrongMimeType=Script từ “%1$S” đã được tải ngay cả khi kiểu MIME của nó (“%2$S”) không phải là kiểu MIME JavaScript hợp lệ.
+# LOCALIZATION NOTE: Do not translate "importScripts()"
+BlockImportScriptsWithWrongMimeType=Đã chặn việc tải script từ “%1$S” bằng importScripts() do kiểu MIME (“%2$S”) không được cho phép.
+BlockWorkerWithWrongMimeType=Đã chặn việc tải trình làm việc từ “%1$S” do kiểu MIME (“%2$S”) không được phép.
+BlockModuleWithWrongMimeType=Đã chặn việc tải mô-đun từ “%1$S” do kiểu MIME (“%2$S”) không được cho phép.
+
+# LOCALIZATION NOTE: Do not translate "data: URI".
+BlockTopLevelDataURINavigation=Điều hướng đến toplevel data: URI không được cho phép (Chặn tải của: “%1$S”)
+BlockRedirectToDataURI=Chuyển hướng đến dữ liệu: URI không được phép (Bị chặn tải: “%1$S”)
+
+# LOCALIZATION NOTE: Do not translate "file: URI". “%1$S” is the whole URI of the loaded file. “%2$S” is the MIME type e.g. "text/plain".
+BlockFileScriptWithWrongMimeType=Đang tải tập lệnh từ tập tin: URI (“%1$S”) đã bị chặn vì kiểu MIME của nó (“%2$S”) không phải là kiểu MIME JavaScript hợp lệ.
+
+# LOCALIZATION NOTE: “%S” is the whole URI of the loaded file.
+BlockExtensionScriptWithWrongExt=Tải tập lệnh với URI “%S” đã bị chặn vì phần mở rộng tệp không được phép.
+
+RestrictBrowserEvalUsage=eval() và eval-like không được phép sử dụng trong quy trình cha hoặc trong bối cảnh hệ thống (Đã chặn sử dụng trong “%1$S”)
+
+# LOCALIZATION NOTE (MixedContentAutoUpgrade):
+# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+MixedContentAutoUpgrade=Nâng cấp yêu cầu hiển thị không an toàn ‘%1$S’ để sử dụng ‘%2$S’
+# LOCALIZATION NOTE (RunningClearSiteDataValue):
+# %S is the URI of the resource whose data was cleaned up
+RunningClearSiteDataValue=Clear-Site-Data header buộc phải dọn sạch dữ liệu của “%S”.
+UnknownClearSiteDataValue=Clear-Site-Data header được tìm thấy. Giá trị không xác định “%S”.
+
+# Reporting API
+ReportingHeaderInvalidJSON=Header báo cáo: giá trị JSON nhận được không hợp lệ.
+ReportingHeaderInvalidNameItem=Header báo cáo: tên cho nhóm không hợp lệ.
+ReportingHeaderDuplicateGroup=Header báo cáo: bỏ qua nhóm trùng lặp có tên là “%S”.
+ReportingHeaderInvalidItem=Header báo cáo: bỏ qua mục không hợp lệ có tên là “%S”.
+ReportingHeaderInvalidEndpoint=Header báo cáo: bỏ qua điểm cuối không hợp lệ cho mục có tên là “%S”.
+# LOCALIZATION NOTE(ReportingHeaderInvalidURLEndpoint): %1$S is the invalid URL, %2$S is the group name
+ReportingHeaderInvalidURLEndpoint=Header báo cáo: bỏ qua điểm cuối URL không hợp lệ “%1$S” cho mục có tên là “%2$S”.
+
+FeaturePolicyUnsupportedFeatureName=Chính sách tính năng: Bỏ qua tên tính năng không được hỗ trợ “%S”.
+# TODO: would be nice to add a link to the Feature-Policy MDN documentation here. See bug 1449501
+FeaturePolicyInvalidEmptyAllowValue= Chính sách tính năng: Bỏ qua danh sách cho phép tính năng trống: “%S”.
+# TODO: would be nice to add a link to the Feature-Policy MDN documentation here. See bug 1449501
+FeaturePolicyInvalidAllowValue=Chính sách tính năng: Bỏ qua giá trị cho phép không được hỗ trợ “%S”.
+
+# LOCALIZATION NOTE: "%1$S" is the limitation length (bytes) of referrer URI, "%2$S" is the origin of the referrer URI.
+ReferrerLengthOverLimitation=HTTP Referrer header: Độ dài vượt quá giới hạn “%1$S” byte - sẽ tách referrer header làm origin: “%2$S”
+# LOCALIZATION NOTE: "%1$S" is the limitation length (bytes) of referrer URI, "%2$S" is the origin of the referrer URI.
+ReferrerOriginLengthOverLimitation=HTTP Referrer header: Độ dài của origin trong referrer vượt quá giới hạn “%1$S” byte - sẽ loại bỏ referrer với origin “%2$S”.
+
+# LOCALIZATION NOTE: Do not translate "no-referrer-when-downgrade", "origin-when-cross-origin" and "unsafe-url". %S is the URI of the loading channel.
+ReferrerPolicyDisallowRelaxingWarning=Chính sách Referrer: Các chính sách ít bị hạn chế hơn, bao gồm ‘no-referrer-when-downgrade’, ‘origin-when-cross-origin’ và ‘unsafe-url’, sẽ sớm bị bỏ qua đối với yêu cầu cross-site: %S
+# LOCALIZATION NOTE: %1$S is the ignored referrer policy, %2$S is the URI of the loading channel.
+ReferrerPolicyDisallowRelaxingMessage=Chính sách Referrer: Đang bỏ qua chính sách referrer ít bị hạn chế hơn “%1$S” cho yêu cầu cross-site: %2$S
+
+# X-Frame-Options
+# LOCALIZATION NOTE(XFrameOptionsInvalid): %1$S is the header value, %2$S is frame URI. Do not translate "X-Frame-Options".
+XFrameOptionsInvalid = Đã tìm thấy tiêu đề X-Frame-Options không hợp lệ khi tải “%2$S”: “%1$S” không phải là một chỉ thị hợp lệ.
+# LOCALIZATION NOTE(XFrameOptionsDeny): %1$S is the header value, %2$S is frame URI and %3$S is the parent document URI. Do not translate "X-Frame-Options".
+XFrameOptionsDeny=Quá trình tải của “%2$S” vào một frame bị từ chối bởi chỉ thị “X-Frame-Options“ đã được đặt thành “%1$S“.
+
+# HTTPS-Only Mode
+# LOCALIZATION NOTE: %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+HTTPSOnlyUpgradeRequest = Nâng cấp yêu cầu không an toàn “%1$S” để sử dụng “%2$S”.
+# LOCALIZATION NOTE: %1$S is the URL of request.
+HTTPSOnlyNoUpgradeException = Do sự miễn trừ, yêu cầu không an toàn “%1$S” đã không được nâng cấp.
+# LOCALIZATION NOTE: %1$S is the URL of the failed request; %2$S is an error-code.
+HTTPSOnlyFailedRequest = Yêu cầu không an toàn “%1$S” không thể nâng cấp. (%2$S)
+# LOCALIZATION NOTE: %S is the URL of the failed request;
+HTTPSOnlyFailedDowngradeAgain = Nâng cấp yêu cầu không an toàn “%S” không thành công. Đang hạ cấp xuống “http” một lần nữa.
+# LOCALIZATION NOTE: Hints or indicates a new transaction for a URL is likely coming soon. We use
+# a speculative connection to start a TCP connection so that the resource is immediately ready
+# when the transaction is actually submitted. HTTPS-Only and HTTPS-First will upgrade such
+# speculative TCP connections from http to https.
+# %1$S is the URL of the upgraded speculative TCP connection; %2$S is the upgraded scheme.
+HTTPSOnlyUpgradeSpeculativeConnection = Nâng cấp kết nối TCP suy đoán không an toàn “%1$S” để sử dụng “%2$S”.
+
+HTTPSFirstSchemeless = Nâng cấp URL được tải trong thanh địa chỉ mà không có sơ đồ giao thức rõ ràng để sử dụng HTTPS.
+
+# LOCALIZATION NOTE: %S is the URL of the blocked request;
+IframeSandboxBlockedDownload = Tải xuống của “%S” đã bị chặn do iframe đang kích hoạt đã đặt cờ thành sandbox.
+
+# LOCALIZATION NOTE: %S is the URL of the blocked request;
+SandboxBlockedCustomProtocols = Đã chặn điều hướng đến giao thức tùy chỉnh “%S” từ một sandboxed context.
+
+# Sanitizer API
+# LOCALIZATION NOTE: Please do not localize "DocumentFragment". It's the name of an API.
+SanitizerRcvdNoInput = Dữ liệu trống hoặc không có đầu vào. Đang trả lại một DocumentFragment trống.
diff --git a/l10n-vi/dom/chrome/svg/svg.properties b/l10n-vi/dom/chrome/svg/svg.properties
new file mode 100644
index 0000000000..6cdaff7151
--- /dev/null
+++ b/l10n-vi/dom/chrome/svg/svg.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+AttributeParseWarning=Giá trị không mong đợi %2$S đang phân tích thuộc tính %1$S.
diff --git a/l10n-vi/dom/chrome/xslt/xslt.properties b/l10n-vi/dom/chrome/xslt/xslt.properties
new file mode 100644
index 0000000000..dcf5a1f46f
--- /dev/null
+++ b/l10n-vi/dom/chrome/xslt/xslt.properties
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+1 = Thất bại khi phân tích một stylesheet XSLT.
+2 = Thất bại khi phân tích một biểu thức XPath.
+3 =
+4 = Thất bại khi chuyển đổi XSLT.
+5 = Sai hàm XSLT/XPath.
+6 = Bảng kiểu XSLT (có thể) chứa đệ qui.
+7 = Giá trị thuộc tính không hợp lệ trong XSLT 1.0.
+8 = Cần một biểu thức XPath để trả lại một NodeSet.
+9 = Chuyển đổi XSLT bị hủy bỏ bởi <xsl:message>.
+10 = Một lỗi mạng đã xảy ra khi tải một bảng kiểu XSLT:
+11 = Một stylesheet XSLT không chứa kiểu mime XML:
+12 = Một stylesheet XSLT nhập trực tiếp hoặc gián tiếp hoặc chứa chính nó:
+13 = Nột hàm XPath được gọi với số đối số sai.
+14 = Một hàm mở rộng XPath được gọi.
+15 = Phân tích XPath thất bại: cần ')':
+16 = Phân tích XPath thất bại: sai trục:
+17 = Phân tích XPath thất bại: cần kiểm tra Tên hoặc Nodetype:
+18 = Phân tích XPath thất bại: cần ']':
+19 = Phân tích XPath thất bại: sai tên biến:
+20 = Phân tích XPath thất bại: bất ngờ kết thúc biểu thức:
+21 = Phân tích XPath thất bại: cần toán tử:
+22 = Phân tích XPath thất bại: chưa đóng kí tự sai:
+23 = Phân tích XPath thất bại: thừa ':':
+24 = Phân tích XPath thất bại: thừa '!', phủ định là not():
+25 = Phân tích XPath thất bại: tìm thấy kí tự không hợp lệ:
+26 = Phân tích XPath thất bại: cần toán tử nhị phân:
+27 = Một stylesheet XSLT đã bị chặn vì lí do bảo mật.
+28 = Định lượng biểu thức bất hợp lệ.
+29 = Dấu ngoặc ôm không cân bằng.
+30 = Đang tạo một phần tử với QName bất hợp lệ.
+31 = Gắn kết biến che đậy gắn kết biến trong cùng khuôn mẫu.
+32 = Không có quyền gọi hàm chính.
+
+LoadingError = Gặp lỗi khi tải stylesheet: %S
+TransformError = Gặp lỗi khi chuyển đổi XSLT: %S
diff --git a/l10n-vi/dom/dom/XMLPrettyPrint.ftl b/l10n-vi/dom/dom/XMLPrettyPrint.ftl
new file mode 100644
index 0000000000..a96ead168c
--- /dev/null
+++ b/l10n-vi/dom/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/l10n-vi/dom/dom/media.ftl b/l10n-vi/dom/dom/media.ftl
new file mode 100644
index 0000000000..8a3cea8585
--- /dev/null
+++ b/l10n-vi/dom/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/l10n-vi/extensions/spellcheck/hunspell/vi-x-KieuCu.[Chuan].aff b/l10n-vi/extensions/spellcheck/hunspell/vi-x-KieuCu.[Chuan].aff
new file mode 100644
index 0000000000..17bef9a1f9
--- /dev/null
+++ b/l10n-vi/extensions/spellcheck/hunspell/vi-x-KieuCu.[Chuan].aff
@@ -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/.
+
+SET UTF-8
+TRY naohiugtcedmylrbvskpxqfjwzNAOHIUGTCEDMYLRBVSKPXQFJWZ-
+
+MAP 40
+MAP ảã
+MAP ẩẫ
+MAP ẳẵ
+MAP ẻẽ
+MAP ểễ
+MAP ỉĩ
+MAP ỏõ
+MAP ổỗ
+MAP ởỡ
+MAP ủũ
+MAP ửữ
+MAP ỷỹ
+MAP (iêu)(iu)(ưu)
+MAP (iếu)(íu)(ứu)
+MAP (iều)(ìu)(ừu)
+MAP (iểu)(ỉu)(ửu)
+MAP (iễu)(ĩu)(ữu)
+MAP (iệu)(ịu)(ựu)
+MAP (ịc)(ịch)
+MAP (íc)(ích)
+MAP aàảãáạ
+MAP ăằẳẵắặ
+MAP âầẩẫấậ
+MAP eèẻẽéẹ
+MAP êềểễếệ
+MAP iìỉĩíị
+MAP oòỏõóọ
+MAP ôồổỗốộ
+MAP ơờởỡớợ
+MAP uùủũúụ
+MAP ưừửữứự
+MAP yỳỷỹýỵ
+MAP aàảãáạăằẳẵắặâầẩẫấậ
+MAP eèẻẽéẹêềểễếệ
+MAP oòỏõóọôồổỗốộơờởỡớợ
+MAP uùủũúụưừửữứự
+MAP óòỏaàáả
+MAP óóỏeèéẻ
+MAP úùủụyýỳỷỵ
+MAP uưoờớỡởợ
+
+REP 20
+REP dz d
+REP ch tr
+REP d đ
+REP đ d
+REP d gi
+REP f ph
+REP g gh
+REP gh g
+REP gi d
+REP j g
+REP ng ngh
+REP ngh ng
+REP ou uo
+REP ou ươ
+REP uo ươ
+REP s x
+REP tr ch
+REP x s
+REP w qu
+REP z d
diff --git a/l10n-vi/extensions/spellcheck/hunspell/vi-x-KieuCu.[Chuan].dic b/l10n-vi/extensions/spellcheck/hunspell/vi-x-KieuCu.[Chuan].dic
new file mode 100644
index 0000000000..1daab905cc
--- /dev/null
+++ b/l10n-vi/extensions/spellcheck/hunspell/vi-x-KieuCu.[Chuan].dic
@@ -0,0 +1,6632 @@
+6631
+ABC
+ASCII
+GIF
+HCM
+HK
+HTML
+HĐND
+JPEG
+LHQ
+Nguyễn
+Nẵng
+PDF
+PNG
+Phan
+RAM
+TCVN
+TV
+Telex
+Tp
+UBND
+URL
+Unicode
+VIQR
+VISCII
+VN
+VNI
+a
+ai
+am
+an
+ang
+anh
+ao
+au
+ba
+bai
+ban
+bang
+banh
+bao
+basoi
+bay
+be
+bem
+ben
+beng
+beo
+bi
+bia
+bin
+binh
+biên
+biêng
+biếc
+biếm
+biến
+biếng
+biết
+biếu
+biền
+biển
+biểu
+biện
+biệt
+bo
+bom
+bon
+bong
+boong
+boóng
+bu
+bua
+bung
+buôn
+buông
+buýt
+buốt
+buồi
+buồm
+buồn
+buồng
+buổi
+buộc
+buột
+bà
+bài
+bàm
+bàn
+bàng
+bành
+bào
+bàu
+bày
+bá
+bác
+bách
+bái
+bám
+bán
+báng
+bánh
+báo
+bát
+báu
+bân
+bâng
+bâu
+bây
+bã
+bãi
+bão
+bè
+bèm
+bèn
+bèo
+bé
+béc
+bén
+béng
+béo
+bép
+bét
+bê
+bên
+bênh
+bêu
+bì
+bìa
+bìm
+bình
+bìu
+bí
+bích
+bím
+bính
+bít
+bíu
+bò
+bòi
+bòm
+bòn
+bòng
+bó
+bóc
+bói
+bón
+bóng
+bóp
+bót
+bô
+bôi
+bôm
+bôn
+bông
+bõ
+bõm
+bõng
+bù
+bùa
+bùi
+bùm
+bùn
+bùng
+bú
+búa
+búi
+bún
+búng
+búp
+bút
+băm
+băn
+băng
+bĩ
+bĩnh
+bĩu
+bũm
+bơ
+bơi
+bơm
+bơn
+bư
+bưa
+bưng
+bưu
+bươi
+bươm
+bươn
+bương
+bươu
+bước
+bướm
+bướng
+bướp
+bướu
+bưởi
+bượt
+bạ
+bạc
+bạch
+bại
+bạn
+bạnh
+bạo
+bạp
+bạt
+bạu
+bả
+bải
+bản
+bảng
+bảnh
+bảo
+bảu
+bảy
+bấc
+bấm
+bấn
+bấp
+bất
+bấu
+bấy
+bầm
+bần
+bầng
+bầu
+bầy
+bẩm
+bẩn
+bẩy
+bẫm
+bẫy
+bậc
+bậm
+bận
+bập
+bật
+bậu
+bậy
+bắc
+bắn
+bắng
+bắp
+bắt
+bằm
+bằn
+bằng
+bẳn
+bẵng
+bặm
+bặn
+bặng
+bặp
+bặt
+bẹ
+bẹn
+bẹo
+bẹp
+bẹt
+bẻ
+bẻm
+bẻo
+bẽ
+bẽn
+bẽo
+bế
+bến
+bếp
+bết
+bề
+bền
+bềnh
+bều
+bể
+bễ
+bệ
+bệch
+bện
+bệnh
+bệt
+bệu
+bỉ
+bỉm
+bỉnh
+bỉu
+bị
+bịa
+bịch
+bịn
+bịnh
+bịp
+bịt
+bịu
+bọ
+bọc
+bọn
+bọng
+bọp
+bọt
+bỏ
+bỏi
+bỏm
+bỏng
+bố
+bốc
+bối
+bốn
+bống
+bốp
+bốt
+bồ
+bồi
+bồm
+bồn
+bồng
+bổ
+bổi
+bổn
+bổng
+bỗ
+bỗng
+bộ
+bộc
+bội
+bộn
+bộng
+bộp
+bột
+bớ
+bới
+bớp
+bớt
+bờ
+bời
+bờm
+bờn
+bở
+bởi
+bỡ
+bỡn
+bợ
+bợm
+bợn
+bợp
+bợt
+bụ
+bụa
+bục
+bụi
+bụm
+bụng
+bụp
+bụt
+bủ
+bủa
+bủm
+bủn
+bủng
+bứ
+bức
+bứng
+bứt
+bừa
+bừng
+bửa
+bửng
+bửu
+bữa
+bự
+bựa
+bực
+bựt
+ca
+cai
+cam
+can
+canh
+cao
+cau
+cay
+cha
+chai
+chan
+chang
+chanh
+chao
+chau
+chay
+che
+chem
+chen
+cheng
+cheo
+chi
+chia
+chim
+chinh
+chiu
+chiêm
+chiên
+chiêng
+chiêu
+chiếc
+chiếm
+chiến
+chiếng
+chiếp
+chiết
+chiếu
+chiền
+chiềng
+chiều
+chiểu
+chiện
+cho
+choang
+choi
+chong
+choài
+choàng
+choái
+choán
+choáng
+choãi
+choèn
+choòng
+choăn
+choạc
+choạng
+choạp
+choảng
+choắt
+choẹt
+chu
+chua
+chui
+chum
+chun
+chung
+chuyên
+chuyến
+chuyền
+chuyển
+chuyện
+chuôi
+chuôm
+chuông
+chuẩn
+chuếch
+chuệch
+chuốc
+chuối
+chuốt
+chuồi
+chuồn
+chuồng
+chuỗi
+chuộc
+chuội
+chuộng
+chuột
+chà
+chài
+chàm
+chàng
+chành
+chào
+chày
+chá
+chác
+chái
+chán
+cháng
+chánh
+cháo
+chát
+cháu
+cháy
+châm
+chân
+châu
+chây
+chã
+chãi
+chão
+chè
+chèn
+chèo
+ché
+chém
+chén
+chéo
+chép
+chét
+chê
+chêm
+chênh
+chì
+chìa
+chìm
+chình
+chìu
+chí
+chích
+chím
+chín
+chính
+chíp
+chít
+chíu
+chò
+chòi
+chòm
+chòng
+chó
+chóa
+chóc
+chóe
+chói
+chóng
+chóp
+chót
+chôm
+chôn
+chông
+chõ
+chõm
+chõng
+chù
+chùa
+chùi
+chùm
+chùn
+chùng
+chùy
+chú
+chúa
+chúc
+chúi
+chúm
+chúng
+chút
+chăm
+chăn
+chăng
+chĩa
+chĩn
+chĩnh
+chũi
+chũm
+chũn
+chơ
+chơi
+chơm
+chơn
+chư
+chưa
+chưn
+chưng
+chương
+chước
+chướng
+chườm
+chường
+chưởi
+chưởng
+chưỡng
+chược
+chượp
+chạ
+chạc
+chạch
+chạm
+chạn
+chạng
+chạnh
+chạo
+chạp
+chạt
+chạy
+chả
+chải
+chảnh
+chảo
+chảu
+chảy
+chấm
+chấn
+chấp
+chất
+chấu
+chấy
+chầm
+chần
+chầu
+chầy
+chẩm
+chẩn
+chẫu
+chậc
+chậm
+chận
+chập
+chật
+chậu
+chắc
+chắm
+chắn
+chắp
+chắt
+chằm
+chằn
+chằng
+chẳng
+chẵn
+chặc
+chặm
+chặn
+chặng
+chặp
+chặt
+chẹn
+chẹo
+chẹp
+chẹt
+chẻ
+chẻm
+chẻn
+chẻo
+chẽ
+chẽn
+chế
+chếch
+chếnh
+chết
+chề
+chềm
+chềnh
+chểnh
+chễm
+chễnh
+chệ
+chệch
+chện
+chệnh
+chỉ
+chỉn
+chỉnh
+chị
+chịa
+chịt
+chịu
+chọ
+chọc
+chọe
+chọi
+chọn
+chọt
+chỏ
+chỏm
+chỏn
+chỏng
+chốc
+chối
+chốn
+chống
+chốp
+chốt
+chồ
+chồi
+chồm
+chồn
+chồng
+chổi
+chổng
+chỗ
+chỗm
+chộ
+chội
+chộn
+chộp
+chột
+chớ
+chới
+chớm
+chớp
+chớt
+chờ
+chờm
+chờn
+chở
+chởm
+chợ
+chợn
+chợp
+chợt
+chục
+chụm
+chụp
+chụt
+chủ
+chủn
+chủng
+chứ
+chứa
+chức
+chứng
+chừ
+chừa
+chừng
+chửa
+chửi
+chửng
+chữ
+chữa
+chững
+chực
+co
+coi
+com
+con
+cong
+coong
+coóc
+cu
+cua
+cui
+cum
+cun
+cung
+cuốc
+cuối
+cuốn
+cuống
+cuồn
+cuồng
+cuỗm
+cuộc
+cuội
+cuộn
+cuộng
+cà
+cài
+càn
+càng
+cành
+cào
+càu
+cày
+cá
+các
+cách
+cái
+cám
+cán
+cáng
+cánh
+cáo
+cáp
+cát
+cáu
+cáy
+câm
+cân
+câng
+câu
+cây
+cãi
+cò
+còi
+còm
+còn
+còng
+có
+cóc
+cói
+cóng
+cóp
+cót
+cô
+côi
+côm
+côn
+công
+cõi
+cõng
+cù
+cùi
+cùm
+cùn
+cùng
+cú
+cúa
+cúc
+cúi
+cúm
+cúng
+cúp
+cút
+căm
+căn
+căng
+cũ
+cũi
+cũn
+cũng
+cơ
+cơi
+cơm
+cơn
+cư
+cưa
+cưng
+cưu
+cương
+cước
+cưới
+cướp
+cười
+cườm
+cường
+cưỡi
+cưỡng
+cạ
+cạc
+cạch
+cạm
+cạn
+cạnh
+cạo
+cạp
+cạu
+cạy
+cả
+cải
+cảm
+cản
+cảng
+cảnh
+cảo
+cảu
+cảy
+cấc
+cấm
+cấn
+cấp
+cất
+cấu
+cấy
+cầm
+cần
+cầu
+cầy
+cẩm
+cẩn
+cẩu
+cẩy
+cẫm
+cẫn
+cẫng
+cận
+cập
+cật
+cậu
+cậy
+cắc
+cắm
+cắn
+cắp
+cắt
+cằm
+cằn
+cẳn
+cẳng
+cẵng
+cặc
+cặm
+cặn
+cặp
+cặt
+cọ
+cọc
+cọm
+cọn
+cọng
+cọp
+cọt
+cỏ
+cỏi
+cỏm
+cỏn
+cỏng
+cố
+cốc
+cối
+cốm
+cốn
+cống
+cốp
+cốt
+cồ
+cồm
+cồn
+cồng
+cổ
+cổi
+cổn
+cổng
+cỗ
+cỗi
+cộ
+cộc
+cội
+cộm
+cộn
+cộng
+cộp
+cột
+cớ
+cớm
+cớn
+cớt
+cờ
+cời
+cờn
+cởi
+cỡ
+cỡi
+cỡm
+cỡn
+cợn
+cợt
+cụ
+cục
+cụi
+cụm
+cụng
+cụp
+cụt
+củ
+của
+củi
+củn
+củng
+cứ
+cứa
+cức
+cứng
+cứt
+cứu
+cừ
+cừu
+cử
+cửa
+cửi
+cửng
+cửu
+cữ
+cữu
+cự
+cựa
+cực
+cựu
+da
+dai
+dam
+dan
+dang
+danh
+dao
+day
+de
+deo
+di
+dim
+dinh
+diêm
+diên
+diêu
+diếc
+diếp
+diết
+diếu
+diềm
+diều
+diễm
+diễn
+diễu
+diệc
+diện
+diệp
+diệt
+diệu
+do
+doa
+doan
+doanh
+doi
+dom
+don
+dong
+doành
+doãi
+doãn
+doãng
+du
+dua
+dun
+dung
+duy
+duyên
+duyệt
+duềnh
+duốc
+duỗi
+dà
+dài
+dàn
+dàng
+dành
+dào
+dàu
+dày
+dá
+dác
+dái
+dám
+dán
+dáng
+dát
+dáy
+dâm
+dân
+dâng
+dâu
+dây
+dã
+dãi
+dãy
+dè
+dèn
+dé
+dép
+dê
+dênh
+dì
+dìa
+dìm
+dìu
+dí
+dích
+dím
+dính
+díp
+díu
+dò
+dòi
+dòm
+dòng
+dó
+dóa
+dóc
+dóm
+dón
+dót
+dô
+dôi
+dông
+dõi
+dõng
+dù
+dùa
+dùi
+dùn
+dùng
+dúa
+dúi
+dúm
+dún
+dúng
+dút
+dăm
+dăn
+dăng
+dĩ
+dĩa
+dĩnh
+dũ
+dũi
+dũng
+dơ
+dơi
+dư
+dưa
+dưng
+dương
+dưới
+dướng
+dường
+dưỡng
+dược
+dượng
+dượt
+dạ
+dạc
+dại
+dạm
+dạn
+dạng
+dạo
+dạt
+dạy
+dả
+dải
+dảy
+dấm
+dấn
+dấp
+dấu
+dấy
+dầm
+dần
+dầu
+dẩn
+dẫm
+dẫn
+dẫu
+dẫy
+dậm
+dận
+dập
+dật
+dậu
+dậy
+dắng
+dắt
+dằm
+dằn
+dằng
+dẳng
+dặc
+dặm
+dặn
+dặng
+dặt
+dẹp
+dẹt
+dẻ
+dẻo
+dẽ
+dế
+dề
+dềnh
+dể
+dễ
+dện
+dệt
+dị
+dịch
+dịp
+dịt
+dịu
+dọa
+dọc
+dọi
+dọn
+dọng
+dọp
+dỏ
+dỏm
+dỏng
+dốc
+dối
+dốt
+dồi
+dồn
+dỗ
+dỗi
+dội
+dộng
+dột
+dớ
+dớp
+dờ
+dời
+dở
+dởm
+dỡ
+dợ
+dụ
+dục
+dụm
+dụng
+dứ
+dứa
+dức
+dứt
+dừ
+dừa
+dừng
+dử
+dửng
+dữ
+dự
+dựa
+dực
+dựng
+e
+em
+email
+en
+eng
+eo
+ga
+gai
+gam
+gan
+gang
+ganh
+gao
+gau
+gay
+gen
+ghe
+ghen
+ghi
+ghim
+ghiếc
+ghiền
+ghè
+ghèn
+ghé
+ghém
+ghép
+ghét
+ghê
+ghì
+ghìm
+ghẹ
+ghẹn
+ghẹo
+ghẻ
+ghẽ
+ghế
+ghếch
+ghề
+ghềnh
+ghểnh
+ghệt
+gi
+gia
+giai
+giam
+gian
+giang
+gianh
+giao
+gieo
+gio
+gioi
+gion
+giong
+gip
+giu
+giua
+giun
+giuộc
+già
+giàn
+giàng
+giành
+giào
+giàu
+giày
+giá
+giác
+giám
+gián
+giáng
+giáo
+giáp
+giát
+giâm
+giâu
+giây
+giã
+giãi
+giãn
+giãy
+gièm
+gié
+giéo
+giê
+giêng
+giò
+giòi
+giòn
+gió
+gióc
+giói
+gión
+gióng
+giô
+giôn
+giông
+giùi
+giùm
+giú
+giúi
+giúp
+giăm
+giăng
+giũ
+giũa
+giơ
+giương
+giướng
+giường
+giượng
+giạ
+giại
+giạng
+giạt
+giả
+giải
+giảm
+giản
+giảng
+giảnh
+giảo
+giảu
+giấc
+giấm
+giấp
+giấu
+giấy
+giầm
+giần
+giầu
+giầy
+giẫm
+giẫy
+giậm
+giận
+giập
+giật
+giậu
+giắn
+giắt
+giằm
+giằn
+giằng
+giặc
+giặm
+giặn
+giặt
+giẹo
+giẹp
+giẻ
+giếc
+giếm
+giếng
+giết
+giề
+giền
+giềng
+giễu
+giọ
+giọc
+giọi
+giọng
+giọt
+giỏ
+giỏi
+giỏn
+giỏng
+giối
+giống
+giốt
+giồ
+giồi
+giồng
+giổi
+giỗ
+giộ
+giội
+giộp
+giới
+giờ
+giời
+giờn
+giở
+giỡn
+giụa
+giục
+giụi
+giủi
+giừ
+giữ
+giữa
+giựt
+go
+gom
+gon
+goòng
+gram
+gu
+guốc
+guồi
+guồng
+guộc
+gà
+gài
+gàn
+gàng
+gành
+gào
+gàu
+gá
+gác
+gái
+gán
+gánh
+gáo
+gáp
+gáu
+gáy
+gâm
+gân
+gâu
+gây
+gã
+gãi
+gãy
+gì
+gìm
+gìn
+gí
+gích
+gíp
+gò
+gòn
+góa
+góc
+gói
+góp
+gót
+gô
+gôm
+gôn
+gông
+gõ
+gù
+gùi
+gùn
+gùng
+gút
+găm
+găn
+găng
+gũi
+gơ
+gươm
+gương
+gườm
+gường
+gưỡng
+gượm
+gượng
+gạ
+gạc
+gạch
+gạn
+gạnh
+gạo
+gạt
+gả
+gảy
+gấc
+gấm
+gấp
+gấu
+gấy
+gầm
+gần
+gầu
+gầy
+gẩm
+gẫm
+gẫu
+gậm
+gập
+gật
+gậy
+gắm
+gắn
+gắng
+gắp
+gắt
+gằm
+gằn
+gặc
+gặm
+gặn
+gặng
+gặp
+gặt
+gỉ
+gọi
+gọn
+gọng
+gọt
+gỏi
+gỏng
+gốc
+gối
+gốm
+gồ
+gồi
+gồm
+gồng
+gổ
+gỗ
+gộ
+gộc
+gội
+gộp
+gột
+gớm
+gờ
+gờm
+gờn
+gở
+gởi
+gỡ
+gợi
+gợn
+gợt
+gụ
+gục
+gụi
+gụt
+gừ
+gừng
+gửi
+ha
+hai
+ham
+han
+hang
+hanh
+hao
+hau
+hay
+he
+hem
+hen
+heo
+hi
+hia
+him
+hiu
+hiên
+hiêng
+hiếm
+hiến
+hiếng
+hiếp
+hiếu
+hiềm
+hiền
+hiểm
+hiển
+hiểu
+hiện
+hiệp
+hiệu
+ho
+hoa
+hoan
+hoang
+hoay
+hoe
+hoen
+hoi
+hom
+hon
+hong
+hoài
+hoàn
+hoàng
+hoành
+hoác
+hoán
+hoáy
+hoãn
+hoét
+hoăm
+hoăng
+hoạch
+hoại
+hoạn
+hoạnh
+hoạt
+hoải
+hoảng
+hoảnh
+hoắc
+hoắm
+hoắt
+hoẳn
+hoẵng
+hoặc
+hoẹt
+hoẻn
+hu
+hua
+hum
+hun
+hung
+huy
+huynh
+huyên
+huyết
+huyền
+huyễn
+huyện
+huyệt
+huân
+huê
+huênh
+huých
+huýt
+huơ
+huấn
+huếch
+huề
+huệ
+huống
+huỳnh
+huỵch
+hy
+hà
+hài
+hàm
+hàn
+hàng
+hành
+hào
+hàu
+há
+hác
+hách
+hái
+hám
+hán
+háng
+hánh
+háo
+hát
+háu
+háy
+hâm
+hân
+hâu
+hây
+hãi
+hãm
+hãn
+hãng
+hãnh
+hão
+hãy
+hè
+hèm
+hèn
+hèo
+hé
+héc
+héo
+hét
+hê
+hên
+hênh
+hì
+hình
+hí
+hích
+híp
+hít
+hò
+hòa
+hòe
+hòi
+hòm
+hòn
+hòng
+hóa
+hóc
+hói
+hóm
+hóng
+hóp
+hót
+hô
+hôi
+hôm
+hôn
+hông
+hõm
+hù
+hùa
+hùm
+hùn
+hùng
+hú
+húc
+húi
+húng
+húp
+hút
+húy
+hăm
+hăng
+hĩm
+hĩnh
+hũ
+hũm
+hơ
+hơi
+hơn
+hư
+hưng
+hưu
+hương
+hươu
+hước
+hướm
+hướng
+hường
+hưởng
+hượm
+hạ
+hạc
+hạch
+hại
+hạm
+hạn
+hạng
+hạnh
+hạo
+hạp
+hạt
+hả
+hải
+hảm
+hảng
+hảo
+hấn
+hấng
+hấp
+hất
+hấu
+hấy
+hầm
+hầu
+hầy
+hẩm
+hẩng
+hẩu
+hẩy
+hẫng
+hẫu
+hậm
+hận
+hập
+hậu
+hắc
+hắn
+hắng
+hắt
+hằm
+hằn
+hằng
+hẳn
+hẵng
+hặc
+hẹ
+hẹm
+hẹn
+hẹp
+hẻm
+hẻo
+hếch
+hến
+hết
+hếu
+hề
+hềnh
+hể
+hển
+hểnh
+hệ
+hệch
+hệt
+hỉ
+hỉnh
+hịch
+họ
+họa
+học
+họe
+họng
+họp
+hỏa
+hỏi
+hỏm
+hỏn
+hỏng
+hố
+hốc
+hối
+hống
+hốt
+hồ
+hồi
+hồn
+hồng
+hổ
+hổi
+hổm
+hổn
+hổng
+hỗ
+hỗn
+hỗng
+hộ
+hộc
+hội
+hộn
+hộp
+hột
+hớ
+hớm
+hớn
+hớp
+hớt
+hờ
+hời
+hờn
+hở
+hởi
+hỡi
+hợi
+hợm
+hợp
+hợt
+hục
+hụi
+hụm
+hụp
+hụt
+hủ
+hủi
+hủn
+hủy
+hứa
+hức
+hứng
+hừ
+hừm
+hừng
+hử
+hửng
+hữ
+hững
+hữu
+hự
+hực
+hựu
+i
+im
+in
+inh
+internet
+intranet
+iu
+ka
+ke
+kem
+ken
+keng
+keo
+kha
+khai
+kham
+khan
+khang
+khanh
+khao
+khau
+khay
+khe
+khem
+khen
+kheo
+khi
+khin
+khinh
+khiu
+khiêm
+khiên
+khiêng
+khiêu
+khiếm
+khiến
+khiếp
+khiết
+khiếu
+khiền
+khiển
+khiễng
+kho
+khoa
+khoai
+khoan
+khoang
+khoanh
+khoe
+khoeo
+khom
+khoào
+khoác
+khoái
+khoán
+khoáng
+khoát
+khoáy
+khoèo
+khoét
+khoăm
+khoăn
+khoải
+khoản
+khoảng
+khoảnh
+khoắm
+khoắn
+khoắng
+khoắt
+khoằm
+khu
+khua
+khui
+khum
+khung
+khuy
+khuya
+khuynh
+khuyên
+khuyến
+khuyết
+khuyển
+khuân
+khuâng
+khuây
+khuê
+khuôn
+khuông
+khuơ
+khuất
+khuấy
+khuẩn
+khuếch
+khuỳnh
+khuỵu
+khuỷu
+khà
+khàn
+khàng
+khá
+khác
+khách
+khái
+khám
+khán
+kháng
+khánh
+kháo
+kháp
+khát
+kháu
+kháy
+khâm
+khân
+khâu
+khè
+khèn
+khèo
+khé
+khén
+khéo
+khép
+khét
+khê
+khênh
+khêu
+khì
+khìn
+khí
+khía
+khích
+khít
+khíu
+khò
+khòm
+khòng
+khó
+khóa
+khóc
+khóe
+khói
+khóm
+khô
+khôi
+khôn
+không
+khù
+khùng
+khú
+khúc
+khúm
+khăm
+khăn
+khăng
+khĩnh
+khơ
+khơi
+khư
+khươi
+khươm
+khươn
+khương
+khước
+khướt
+khướu
+khạc
+khạng
+khạo
+khả
+khải
+khảm
+khản
+khảng
+khảnh
+khảo
+khảy
+khấc
+khấm
+khấn
+khấp
+khất
+khấu
+khẩn
+khẩu
+khẩy
+khập
+khật
+khắc
+khắm
+khắng
+khắp
+khắt
+khằng
+khẳm
+khẳn
+khẳng
+khặc
+khẹc
+khẻ
+khẻo
+khẽ
+khế
+khề
+khều
+khểnh
+khệ
+khệnh
+khỉ
+khỉnh
+khịa
+khịt
+khọm
+khỏa
+khỏe
+khỏi
+khỏng
+khố
+khốc
+khối
+khốn
+khống
+khổ
+khổn
+khổng
+khớ
+khớp
+khờ
+khởi
+khụ
+khục
+khụt
+khủ
+khủng
+khứ
+khứa
+khứng
+khứu
+khừ
+khừng
+khử
+khựng
+ki
+kia
+kim
+kinh
+kiêm
+kiên
+kiêng
+kiêu
+kiếm
+kiến
+kiếp
+kiết
+kiếu
+kiềm
+kiền
+kiềng
+kiều
+kiểm
+kiểng
+kiểu
+kiễng
+kiệm
+kiện
+kiệt
+kiệu
+kè
+kèm
+kèn
+kèo
+ké
+kéc
+kém
+kén
+kéo
+kép
+két
+kê
+kênh
+kêu
+kì
+kìa
+kìm
+kình
+kí
+kích
+kín
+kính
+kíp
+kít
+ký
+kĩ
+kẹ
+kẹn
+kẹo
+kẹp
+kẹt
+kẻ
+kẻng
+kẻo
+kẽ
+kẽm
+kẽo
+kế
+kếch
+kếp
+kết
+kề
+kềm
+kền
+kềnh
+kều
+kể
+kệ
+kệch
+kệnh
+kỉ
+kỉnh
+kị
+kịch
+kịp
+kịt
+kỳ
+kỵ
+kỷ
+kỹ
+la
+lai
+lam
+lan
+lang
+lanh
+lao
+lau
+lay
+le
+lem
+len
+leng
+leo
+li
+lia
+lim
+lin
+linh
+liu
+liêm
+liên
+liêng
+liêu
+liếc
+liếm
+liến
+liếng
+liếp
+liềm
+liền
+liều
+liểng
+liễm
+liễn
+liễu
+liệm
+liệng
+liệp
+liệt
+liệu
+lo
+loa
+loan
+loang
+loanh
+loay
+loe
+loen
+loi
+lom
+lon
+long
+loong
+loài
+loàn
+loàng
+loáng
+loát
+loãng
+loét
+loăng
+loạc
+loại
+loạn
+loạng
+loạt
+loảng
+loắt
+loằng
+loẹt
+lu
+lua
+lui
+lum
+lung
+luya
+luyến
+luyện
+luân
+luôm
+luôn
+luông
+luýnh
+luấn
+luẩn
+luận
+luật
+luốc
+luống
+luốt
+luồn
+luồng
+luỗng
+luộc
+luộm
+ly
+là
+lài
+làm
+làn
+làng
+lành
+lào
+làu
+lá
+lác
+lách
+lái
+lán
+láng
+lánh
+láo
+láp
+lát
+láu
+láy
+lâm
+lân
+lâng
+lâu
+lây
+lã
+lãi
+lãm
+lãn
+lãng
+lãnh
+lão
+lè
+lèm
+lèn
+lèo
+lé
+léc
+lém
+lén
+léng
+léo
+lép
+lét
+lê
+lên
+lênh
+lêu
+lì
+lìa
+lìm
+lình
+lìu
+lí
+lính
+líp
+lít
+líu
+lò
+lòa
+lòe
+lòi
+lòm
+lòn
+lòng
+ló
+lóc
+lóe
+lói
+lóm
+lóng
+lóp
+lót
+lô
+lôi
+lôm
+lông
+lõ
+lõi
+lõm
+lõng
+lù
+lùa
+lùi
+lùm
+lùn
+lùng
+lú
+lúa
+lúc
+lúi
+lúm
+lún
+lúng
+lúp
+lút
+lý
+lăm
+lăn
+lăng
+lĩnh
+lũ
+lũi
+lũm
+lũn
+lũng
+lũy
+lơ
+lơi
+lơn
+lư
+lưng
+lưu
+lươm
+lươn
+lương
+lưới
+lướng
+lướt
+lười
+lườm
+lườn
+lường
+lưỡi
+lưỡng
+lược
+lượm
+lượn
+lượng
+lượt
+lạ
+lạc
+lạch
+lại
+lạm
+lạn
+lạng
+lạnh
+lạo
+lạp
+lạt
+lạu
+lạy
+lả
+lải
+lảm
+lảng
+lảnh
+lảo
+lảu
+lảy
+lấc
+lấm
+lấn
+lấp
+lất
+lấy
+lầm
+lần
+lầu
+lầy
+lẩm
+lẩn
+lẩu
+lẩy
+lẫm
+lẫn
+lẫy
+lận
+lập
+lật
+lậu
+lắc
+lắm
+lắng
+lắp
+lắt
+lằm
+lằn
+lằng
+lẳm
+lẳn
+lẳng
+lẵng
+lặc
+lặm
+lặn
+lặng
+lặp
+lặt
+lẹ
+lẹm
+lẹn
+lẹo
+lẹp
+lẹt
+lẻ
+lẻm
+lẻn
+lẻng
+lẻo
+lẽ
+lẽn
+lẽo
+lếch
+lết
+lếu
+lề
+lềnh
+lều
+lể
+lểu
+lễ
+lễu
+lệ
+lệch
+lệnh
+lỉm
+lỉnh
+lị
+lịa
+lịch
+lịm
+lịnh
+lịu
+lọ
+lọc
+lọi
+lọm
+lọn
+lọng
+lọt
+lỏi
+lỏm
+lỏn
+lỏng
+lố
+lốc
+lối
+lốm
+lốn
+lốp
+lốt
+lồ
+lồi
+lồm
+lồn
+lồng
+lổ
+lổm
+lổn
+lổng
+lỗ
+lỗi
+lộ
+lộc
+lội
+lộm
+lộn
+lộng
+lộp
+lột
+lớ
+lới
+lớn
+lớp
+lớt
+lờ
+lời
+lờm
+lờn
+lở
+lởi
+lởm
+lởn
+lỡ
+lỡm
+lợ
+lợi
+lợm
+lợn
+lợp
+lợt
+lụ
+lụa
+lục
+lụi
+lụn
+lụng
+lụp
+lụt
+lụy
+lủ
+lủi
+lủm
+lủn
+lủng
+lứa
+lức
+lứt
+lừ
+lừa
+lừng
+lử
+lửa
+lửng
+lữ
+lữa
+lững
+lự
+lựa
+lực
+lựng
+lựu
+lỵ
+ma
+mai
+man
+mang
+manh
+mao
+mau
+may
+me
+mem
+men
+meo
+mi
+mia
+mim
+min
+minh
+miên
+miêu
+miến
+miếng
+miết
+miếu
+miền
+miều
+miễn
+miễu
+miện
+miệng
+miệt
+mo
+moay
+moi
+mom
+mon
+mong
+moóc
+mu
+mua
+mui
+mum
+mun
+mung
+muôi
+muôn
+muông
+muối
+muốn
+muống
+muốt
+muồi
+muỗi
+muỗm
+muỗng
+muội
+muộn
+mà
+mài
+màn
+màng
+mành
+mào
+màu
+mày
+má
+mác
+mách
+mái
+mán
+máng
+mánh
+máo
+mát
+máu
+máy
+mâm
+mân
+mâng
+mâu
+mây
+mã
+mãi
+mãn
+mãng
+mãnh
+mão
+mè
+mèm
+mèn
+mèng
+mèo
+mé
+mém
+mén
+méo
+mép
+mét
+mê
+mên
+mênh
+mì
+mìn
+mình
+mí
+mía
+mích
+mím
+míp
+mít
+míu
+mò
+mòi
+mòm
+mòn
+mòng
+mó
+móc
+mói
+móm
+món
+móng
+móp
+mót
+mô
+môi
+môm
+môn
+mông
+mõ
+mõm
+mù
+mùa
+mùi
+mùn
+mùng
+mú
+múa
+múc
+múi
+múm
+mún
+múp
+mút
+măm
+măn
+măng
+mĩ
+mĩm
+mũ
+mũi
+mũm
+mơ
+mơi
+mơn
+mưa
+mưu
+mươi
+mương
+mướn
+mướp
+mướt
+mười
+mường
+mượn
+mượt
+mạ
+mạc
+mạch
+mại
+mạn
+mạng
+mạnh
+mạo
+mạp
+mạt
+mạy
+mả
+mải
+mảng
+mảnh
+mảy
+mấn
+mấp
+mất
+mấu
+mấy
+mầm
+mần
+mầng
+mầu
+mẩm
+mẩn
+mẩy
+mẫm
+mẫn
+mẫu
+mận
+mập
+mật
+mậu
+mắc
+mắm
+mắn
+mắng
+mắt
+mằn
+mẳn
+mặc
+mặn
+mặt
+mẹ
+mẹo
+mẹp
+mẹt
+mẻ
+mẻo
+mẽ
+mế
+mếch
+mến
+mếu
+mề
+mềm
+mền
+mễ
+mệ
+mệnh
+mệt
+mỉ
+mỉa
+mỉm
+mị
+mịch
+mịn
+mịnh
+mịt
+mọc
+mọi
+mọn
+mọng
+mọt
+mỏ
+mỏi
+mỏm
+mỏng
+mố
+mốc
+mối
+mống
+mốt
+mồ
+mồi
+mồm
+mồn
+mồng
+mổ
+mổng
+mỗ
+mỗi
+mộ
+mộc
+mộng
+một
+mớ
+mới
+mớm
+mớp
+mờ
+mời
+mờm
+mở
+mởn
+mỡ
+mụ
+mục
+mụi
+mụn
+mụp
+mủ
+mủi
+mủm
+mủn
+mủng
+mứa
+mức
+mứt
+mứu
+mừng
+mửa
+mựa
+mực
+mỹ
+na
+nai
+nam
+nan
+nang
+nanh
+nao
+nau
+nay
+ne
+nem
+nen
+neo
+nga
+ngai
+ngam
+ngan
+ngang
+ngao
+ngau
+ngay
+nghe
+nghi
+nghinh
+nghiu
+nghiêm
+nghiên
+nghiêng
+nghiêu
+nghiến
+nghiền
+nghiễm
+nghiệm
+nghiện
+nghiệp
+nghiệt
+nghè
+nghèn
+nghèo
+nghé
+nghén
+nghét
+nghê
+nghênh
+nghêu
+nghì
+nghìn
+nghí
+nghít
+nghĩ
+nghĩa
+nghẹn
+nghẹo
+nghẹt
+nghẻo
+nghẽn
+nghẽo
+nghếch
+nghề
+nghều
+nghển
+nghểnh
+nghễ
+nghễnh
+nghễu
+nghệ
+nghệch
+nghện
+nghỉ
+nghỉm
+nghỉn
+nghỉnh
+nghỉu
+nghị
+nghịch
+nghịt
+nghịu
+ngoa
+ngoan
+ngoang
+ngoao
+ngoay
+ngoe
+ngoi
+ngon
+ngong
+ngoài
+ngoàm
+ngoác
+ngoách
+ngoái
+ngoáo
+ngoáy
+ngoãn
+ngoèo
+ngoéo
+ngoét
+ngoại
+ngoạm
+ngoạn
+ngoải
+ngoảng
+ngoảnh
+ngoảy
+ngoắc
+ngoắt
+ngoằn
+ngoằng
+ngoẵng
+ngoặc
+ngoặt
+ngoẻn
+ngu
+nguy
+nguyên
+nguyền
+nguyện
+nguyệt
+nguýt
+nguẩy
+nguồi
+nguồn
+nguội
+nguỷu
+ngà
+ngài
+ngàm
+ngàn
+ngàng
+ngành
+ngào
+ngàu
+ngày
+ngác
+ngách
+ngái
+ngám
+ngán
+ngáng
+ngáo
+ngáp
+ngát
+ngáu
+ngáy
+ngâm
+ngân
+ngâu
+ngây
+ngã
+ngãi
+ngãng
+ngão
+ngò
+ngòi
+ngòm
+ngòn
+ngòng
+ngó
+ngóc
+ngóe
+ngói
+ngóm
+ngón
+ngóng
+ngóp
+ngót
+ngô
+ngôi
+ngôn
+ngông
+ngõ
+ngõa
+ngõi
+ngõng
+ngùi
+ngùng
+ngú
+ngúc
+ngúng
+ngút
+ngăm
+ngăn
+ngũ
+ngơ
+ngơi
+ngơm
+ngơn
+ngư
+ngưa
+ngưng
+ngưu
+ngươi
+ngước
+người
+ngường
+ngưởng
+ngưỡng
+ngược
+ngượng
+ngạc
+ngạch
+ngại
+ngạn
+ngạnh
+ngạo
+ngạt
+ngả
+ngải
+ngảnh
+ngấc
+ngấm
+ngấn
+ngấp
+ngất
+ngấu
+ngấy
+ngầm
+ngần
+ngầu
+ngầy
+ngẩm
+ngẩn
+ngẩng
+ngẫm
+ngẫn
+ngẫu
+ngậm
+ngận
+ngập
+ngật
+ngậu
+ngậy
+ngắc
+ngắm
+ngắn
+ngắt
+ngằn
+ngẳng
+ngẵng
+ngặt
+ngọ
+ngọc
+ngọn
+ngọng
+ngọt
+ngỏ
+ngỏm
+ngỏn
+ngỏng
+ngố
+ngốc
+ngốn
+ngốt
+ngồi
+ngồm
+ngồn
+ngồng
+ngổ
+ngổm
+ngổn
+ngỗ
+ngỗng
+ngộ
+ngộc
+ngộn
+ngột
+ngớ
+ngớn
+ngớp
+ngớt
+ngờ
+ngời
+ngờm
+ngỡ
+ngợ
+ngợi
+ngợm
+ngợp
+ngụ
+ngụa
+ngục
+ngụm
+ngụp
+ngụy
+ngủ
+ngủi
+ngủn
+ngứ
+ngứa
+ngứt
+ngừ
+ngừa
+ngừng
+ngửa
+ngửi
+ngửng
+ngữ
+ngự
+ngựa
+ngực
+nha
+nhai
+nham
+nhan
+nhang
+nhanh
+nhao
+nhau
+nhay
+nhe
+nhem
+nhen
+nheo
+nhi
+nhinh
+nhiu
+nhiên
+nhiêu
+nhiếc
+nhiếp
+nhiều
+nhiễm
+nhiễn
+nhiễu
+nhiệm
+nhiệt
+nho
+nhoai
+nhoang
+nhoay
+nhoe
+nhoen
+nhoi
+nhom
+nhong
+nhoài
+nhoàm
+nhoáng
+nhoáy
+nhoèn
+nhoét
+nhoạng
+nhoẹt
+nhoẻn
+nhu
+nhui
+nhung
+nhuyễn
+nhuôm
+nhuần
+nhuận
+nhuế
+nhuệ
+nhuốc
+nhuốm
+nhuộm
+nhà
+nhài
+nhàm
+nhàn
+nhàng
+nhành
+nhào
+nhàu
+nhày
+nhá
+nhác
+nhách
+nhái
+nhám
+nháng
+nhánh
+nháo
+nháp
+nhát
+nháy
+nhâm
+nhân
+nhâng
+nhâu
+nhây
+nhã
+nhãi
+nhãn
+nhãng
+nhão
+nhè
+nhèm
+nhèo
+nhé
+nhén
+nhéo
+nhép
+nhét
+nhênh
+nhì
+nhìn
+nhí
+nhía
+nhích
+nhím
+nhín
+nhíp
+nhít
+nhíu
+nhò
+nhòa
+nhòe
+nhòm
+nhó
+nhóa
+nhóc
+nhóe
+nhói
+nhóm
+nhón
+nhóng
+nhóp
+nhót
+nhô
+nhôi
+nhôm
+nhôn
+nhông
+nhõ
+nhõm
+nhõn
+nhù
+nhùi
+nhùn
+nhùng
+nhú
+nhúa
+nhúc
+nhúm
+nhún
+nhúng
+nhút
+nhăm
+nhăn
+nhăng
+nhĩ
+nhũ
+nhũn
+nhũng
+nhơ
+nhơi
+nhơm
+nhơn
+như
+nhưng
+nhương
+nhướng
+nhường
+nhưỡng
+nhược
+nhượng
+nhạc
+nhạn
+nhạnh
+nhạo
+nhạp
+nhạt
+nhạy
+nhả
+nhải
+nhảm
+nhản
+nhảnh
+nhảu
+nhảy
+nhấc
+nhấm
+nhấn
+nhấp
+nhất
+nhầm
+nhần
+nhầy
+nhẩm
+nhẫn
+nhẫy
+nhậm
+nhận
+nhập
+nhật
+nhậu
+nhậy
+nhắc
+nhắm
+nhắn
+nhắng
+nhắp
+nhắt
+nhằm
+nhằn
+nhằng
+nhẳn
+nhẳng
+nhẵn
+nhẵng
+nhặm
+nhặn
+nhặng
+nhặt
+nhẹ
+nhẹm
+nhẹn
+nhẹo
+nhẹp
+nhẹt
+nhẻ
+nhẻm
+nhẽ
+nhẽo
+nhện
+nhệu
+nhỉ
+nhỉnh
+nhị
+nhịn
+nhịp
+nhịt
+nhịu
+nhọ
+nhọc
+nhọn
+nhọt
+nhỏ
+nhỏm
+nhỏng
+nhố
+nhốc
+nhối
+nhốn
+nhốt
+nhồi
+nhồm
+nhồn
+nhồng
+nhổ
+nhổm
+nhổn
+nhộn
+nhộng
+nhột
+nhớ
+nhớm
+nhớn
+nhớp
+nhớt
+nhờ
+nhời
+nhờn
+nhở
+nhởn
+nhỡ
+nhợ
+nhợt
+nhụ
+nhụa
+nhục
+nhụi
+nhụng
+nhụt
+nhụy
+nhủ
+nhủi
+nhủn
+nhứ
+nhức
+nhứt
+nhừ
+nhử
+nhửng
+những
+nhự
+nhựa
+nhựt
+ni
+nia
+nin
+ninh
+niu
+niêm
+niên
+niêu
+niết
+niềm
+niền
+niềng
+niễng
+niệm
+niệt
+niệu
+no
+noa
+noi
+nom
+non
+nong
+noãn
+nua
+nung
+nuôi
+nuông
+nuốc
+nuối
+nuốm
+nuốt
+nuộc
+nuột
+nà
+nài
+nàn
+nàng
+nành
+nào
+này
+ná
+nác
+nách
+nái
+nám
+nán
+náng
+nánh
+náo
+nát
+náu
+náy
+nân
+nâng
+nâu
+nây
+nã
+não
+nãy
+nè
+nèo
+né
+ném
+nén
+néo
+nép
+nét
+nê
+nêm
+nên
+nêu
+nì
+nình
+ních
+nín
+nính
+níp
+nít
+níu
+nò
+nòi
+nó
+nóc
+nói
+nón
+nóng
+nót
+nô
+nôi
+nôm
+nôn
+nông
+nõ
+nõn
+nùi
+nùn
+nùng
+núc
+núi
+núm
+núng
+núp
+nút
+năm
+năn
+năng
+nĩa
+nũng
+nơ
+nơi
+nơm
+nư
+nưa
+nưng
+nương
+nước
+nướng
+nườm
+nường
+nược
+nượp
+nạ
+nạc
+nại
+nạm
+nạn
+nạng
+nạnh
+nạo
+nạp
+nạt
+nạy
+nả
+nải
+nản
+nảy
+nấc
+nấm
+nấng
+nấp
+nấu
+nấy
+nầm
+nần
+nầy
+nẩy
+nẫng
+nẫu
+nậm
+nậng
+nập
+nậu
+nậy
+nắc
+nắm
+nắn
+nắng
+nắp
+nằm
+nằn
+nằng
+nặc
+nặn
+nặng
+nẹp
+nẹt
+nẻ
+nẻo
+nếm
+nến
+nếp
+nết
+nếu
+nề
+nền
+nể
+nệ
+nệm
+nện
+nỉ
+nịch
+nịnh
+nịt
+nịu
+nọ
+nọc
+nọn
+nọng
+nọt
+nỏ
+nỏi
+nố
+nốc
+nối
+nống
+nốt
+nồ
+nồi
+nồm
+nồng
+nổ
+nổi
+nỗ
+nỗi
+nỗng
+nộ
+nội
+nộm
+nộn
+nộp
+nột
+nớ
+nới
+nớp
+nớt
+nờ
+nờm
+nở
+nỡ
+nỡm
+nợ
+nợp
+nụ
+nục
+nủa
+nứa
+nức
+nứt
+nừng
+nửa
+nữ
+nữa
+nự
+nực
+nựng
+o
+oa
+oai
+oan
+oang
+oanh
+oe
+oi
+om
+ong
+oàm
+oàng
+oành
+oác
+oách
+oái
+oán
+oát
+oăm
+oăng
+oạch
+oại
+oạp
+oải
+oản
+oắt
+oằn
+oẳn
+oẳng
+oặt
+pa
+palăng
+pan
+pao
+pe
+pha
+phai
+phang
+phanh
+phao
+phau
+phay
+phe
+phen
+pheo
+phi
+phim
+phin
+phinh
+phiu
+phiên
+phiêu
+phiếm
+phiến
+phiết
+phiếu
+phiền
+phiện
+phiệt
+pho
+phoi
+phom
+phong
+phu
+phui
+phun
+phung
+phuy
+phà
+phàm
+phàn
+phàng
+phành
+phào
+phá
+phác
+phách
+phái
+phán
+pháo
+pháp
+phát
+phân
+phây
+phè
+phèn
+phèng
+phèo
+phéng
+phép
+phét
+phê
+phên
+phì
+phìa
+phình
+phí
+phía
+phích
+phím
+phính
+phò
+phòi
+phòng
+phó
+phóc
+phóng
+phót
+phô
+phôi
+phôm
+phông
+phù
+phùn
+phùng
+phú
+phúc
+phún
+phúng
+phút
+phăm
+phăn
+phăng
+phĩnh
+phũ
+phơ
+phơi
+phơn
+phưng
+phương
+phước
+phướn
+phướng
+phường
+phưỡn
+phượng
+phượu
+phạch
+phạm
+phạn
+phạng
+phạt
+phả
+phải
+phản
+phảng
+phảy
+phấn
+phấp
+phất
+phầm
+phần
+phẩm
+phẩn
+phẩy
+phẫn
+phẫu
+phận
+phập
+phật
+phắc
+phắn
+phắp
+phắt
+phẳng
+phẹt
+phế
+phếch
+phết
+phề
+phềnh
+phều
+phễn
+phễu
+phệ
+phệnh
+phệt
+phỉ
+phỉnh
+phị
+phịa
+phịch
+phịt
+phịu
+phọng
+phọt
+phỏng
+phố
+phốc
+phối
+phốp
+phồ
+phồm
+phồn
+phồng
+phổ
+phổi
+phổng
+phỗng
+phộng
+phới
+phớt
+phờ
+phở
+phỡn
+phụ
+phục
+phụng
+phụt
+phủ
+phủi
+phứa
+phức
+phứt
+phừng
+phựa
+phựt
+pi
+pin
+ping
+pom
+pu
+pác
+páp
+pê
+pô
+pông
+pơ
+qua
+quai
+quan
+quang
+quanh
+quao
+quau
+quay
+que
+quen
+queo
+quoàng
+quoạng
+quoắt
+quy
+quyên
+quyến
+quyết
+quyền
+quyển
+quyện
+quyệt
+quà
+quài
+quàn
+quàng
+quành
+quào
+quàu
+quày
+quá
+quác
+quách
+quái
+quán
+quáng
+quánh
+quáo
+quát
+quáu
+quân
+quây
+quãng
+què
+quèn
+quèo
+qué
+quén
+quéo
+quét
+quê
+quên
+quít
+quý
+quýnh
+quýt
+quăm
+quăn
+quăng
+quơ
+quạ
+quạc
+quạch
+quại
+quạng
+quạnh
+quạt
+quạu
+quạy
+quả
+quải
+quản
+quảng
+quảy
+quấc
+quấn
+quất
+quấy
+quần
+quầng
+quầy
+quẩn
+quẩng
+quẩy
+quẫn
+quẫy
+quận
+quật
+quậy
+quắc
+quắm
+quắn
+quắp
+quắt
+quằn
+quẳm
+quẳng
+quặc
+quặm
+quặn
+quặng
+quặp
+quặt
+quẹo
+quẹt
+quẻ
+quẽ
+quế
+quết
+quếu
+quềnh
+quều
+quệ
+quệch
+quện
+quệnh
+quệt
+quịt
+quốc
+quớ
+quờ
+quở
+quỳ
+quỳnh
+quỵ
+quỵt
+quỷ
+quỷnh
+quỹ
+ra
+rai
+ram
+ran
+rang
+ranh
+rao
+rau
+ray
+re
+ren
+reng
+reo
+ri
+ria
+rim
+rin
+rinh
+riu
+riêng
+riêu
+riết
+riếu
+riềm
+riềng
+riệt
+ro
+roa
+roi
+rom
+rong
+ru
+rua
+rum
+run
+rung
+ruốc
+ruối
+ruồi
+ruồng
+ruổi
+ruỗng
+ruộm
+ruộng
+ruột
+rà
+rài
+ràn
+ràng
+rành
+rào
+rày
+rá
+rác
+rách
+rái
+rám
+rán
+ráng
+ráo
+ráp
+rát
+ráy
+râm
+rân
+râu
+rây
+rã
+rãi
+rãnh
+rão
+rãy
+rè
+rèm
+rèn
+rèo
+ré
+rén
+réo
+rét
+rê
+rên
+rêu
+rì
+rìa
+rình
+rìu
+rí
+rích
+rít
+ríu
+rò
+ròi
+ròm
+ròng
+ró
+róc
+rói
+róm
+rón
+róng
+rót
+rô
+rôm
+rông
+rõ
+rõi
+rù
+rùa
+rùm
+rùn
+rùng
+rú
+rúc
+rúi
+rúm
+rún
+rúng
+rúp
+rút
+răm
+răn
+răng
+rĩ
+rũ
+rũa
+rơ
+rơi
+rơm
+rơn
+rư
+rưa
+rưng
+rươi
+rươm
+rương
+rước
+rưới
+rướm
+rướn
+rười
+rườm
+rườn
+rường
+rưởi
+rưỡi
+rượi
+rượn
+rượt
+rượu
+rạ
+rạc
+rạch
+rạn
+rạng
+rạo
+rạp
+rạt
+rạy
+rả
+rải
+rảnh
+rảo
+rảy
+rấm
+rấn
+rấp
+rất
+rầm
+rần
+rầu
+rầy
+rẩm
+rẩy
+rẫm
+rẫy
+rậm
+rận
+rập
+rật
+rắc
+rắm
+rắn
+rắp
+rắt
+rằm
+rằn
+rằng
+rặng
+rặt
+rẹo
+rẹt
+rẻ
+rẻng
+rẻo
+rẽ
+rế
+rếch
+rến
+rếp
+rết
+rề
+rền
+rều
+rể
+rểnh
+rễ
+rệ
+rệch
+rện
+rệp
+rệt
+rệu
+rỉ
+rỉa
+rỉnh
+rịa
+rịch
+rịn
+rịt
+rọ
+rọc
+rọi
+rọm
+rọt
+rỏ
+rỏm
+rỏn
+rốc
+rối
+rốn
+rống
+rốp
+rốt
+rồ
+rồi
+rồm
+rồng
+rổ
+rổi
+rổng
+rỗ
+rỗi
+rỗng
+rộ
+rộc
+rộm
+rộn
+rộng
+rộp
+rớ
+rớm
+rớt
+rờ
+rời
+rờm
+rờn
+rở
+rởm
+rởn
+rỡ
+rỡn
+rợ
+rợi
+rợm
+rợn
+rợp
+rợt
+rục
+rụi
+rụng
+rụt
+rủ
+rủa
+rủi
+rủn
+rủng
+rứa
+rức
+rứt
+rừng
+rửa
+rửng
+rữa
+rựa
+rực
+sa
+sai
+sam
+san
+sang
+sanh
+sao
+sau
+say
+se
+sen
+seo
+si
+sim
+sin
+sinh
+siu
+siêng
+siêu
+siết
+siểm
+siểng
+siễn
+so
+soa
+soi
+son
+song
+soong
+soài
+soái
+soán
+soát
+soóc
+soạn
+soạng
+soạt
+su
+sui
+sum
+sun
+sung
+suy
+suyển
+suyễn
+suê
+suôn
+suông
+suýt
+suất
+suối
+suốt
+suồng
+suỵt
+sà
+sài
+sàm
+sàn
+sàng
+sành
+sào
+sá
+sác
+sách
+sái
+sám
+sán
+sáng
+sánh
+sáo
+sáp
+sát
+sáu
+sâm
+sân
+sâu
+sây
+sã
+sãi
+sè
+sèo
+séc
+sém
+sét
+sê
+sên
+sênh
+sêu
+sì
+sình
+sính
+sít
+sò
+sòa
+sòi
+sòm
+sòng
+sóc
+sói
+sóm
+són
+sóng
+sót
+sô
+sôi
+sông
+sõi
+sõng
+sù
+sùi
+sùm
+sùng
+sú
+súc
+sún
+súng
+súp
+sút
+súy
+săm
+săn
+săng
+sĩ
+sũng
+sơ
+sơm
+sơn
+sư
+sưa
+sưng
+sưu
+sương
+sướng
+sướt
+sườn
+sường
+sưởi
+sượng
+sượt
+sạ
+sạch
+sạm
+sạn
+sạo
+sạp
+sạt
+sả
+sải
+sản
+sảng
+sảnh
+sảo
+sảy
+sấm
+sấn
+sấp
+sất
+sấu
+sấy
+sầm
+sần
+sầu
+sầy
+sẩm
+sẩn
+sẩy
+sẫm
+sậm
+sập
+sật
+sậu
+sậy
+sắc
+sắm
+sắn
+sắng
+sắp
+sắt
+sằng
+sẵn
+sặc
+sặm
+sặt
+sẹ
+sẹm
+sẹo
+sẻ
+sẻn
+sẽ
+sến
+sếp
+sếu
+sề
+sền
+sể
+sểnh
+sễ
+sệ
+sệt
+sỉ
+sỉa
+sỉnh
+sị
+sịa
+sịch
+sịt
+sọ
+sọc
+sọm
+sọt
+sỏ
+sỏi
+số
+sốc
+sống
+sốp
+sốt
+sồ
+sồi
+sồn
+sồng
+sổ
+sổi
+sổng
+sỗ
+sộ
+sộp
+sột
+sớ
+sới
+sớm
+sớn
+sớt
+sờ
+sờm
+sờn
+sở
+sởi
+sởn
+sỡ
+sợ
+sợi
+sụ
+sụa
+sục
+sụm
+sụn
+sụp
+sụt
+sủa
+sủi
+sủng
+sứ
+sứa
+sức
+sứt
+sừn
+sừng
+sử
+sửa
+sửng
+sửu
+sữa
+sững
+sự
+sực
+sựng
+sựt
+ta
+tai
+tam
+tan
+tang
+tanh
+tao
+tay
+te
+tem
+ten
+teng
+teo
+tha
+thai
+tham
+than
+thang
+thanh
+thao
+thau
+thay
+the
+then
+theo
+thi
+thia
+thin
+thinh
+thiu
+thiêm
+thiên
+thiêng
+thiêu
+thiếc
+thiến
+thiếp
+thiết
+thiếu
+thiềm
+thiền
+thiềng
+thiều
+thiểm
+thiển
+thiểu
+thiện
+thiệp
+thiệt
+thiệu
+tho
+thoa
+thoai
+thoang
+thoi
+thom
+thon
+thong
+thoàn
+thoái
+thoán
+thoáng
+thoát
+thoăn
+thoại
+thoạt
+thoải
+thoảng
+thoắng
+thoắt
+thu
+thua
+thui
+thum
+thun
+thung
+thuyên
+thuyết
+thuyền
+thuê
+thuôn
+thuần
+thuẫn
+thuận
+thuật
+thuế
+thuể
+thuốc
+thuốn
+thuồn
+thuồng
+thuổng
+thuỗn
+thuộc
+thuộm
+thuở
+thà
+thài
+thàm
+thành
+thào
+thày
+thá
+thác
+thách
+thái
+thám
+thán
+tháng
+thánh
+tháo
+tháp
+tháu
+tháy
+thâm
+thân
+thâu
+thây
+thãi
+thè
+thèm
+thèn
+thèo
+thé
+thép
+thét
+thê
+thêm
+thênh
+thêu
+thì
+thìa
+thìn
+thình
+thìu
+thí
+thía
+thích
+thím
+thín
+thính
+thíp
+thít
+thò
+thòa
+thòi
+thòm
+thòng
+thó
+thóa
+thóc
+thói
+thóp
+thót
+thô
+thôi
+thôn
+thông
+thõng
+thù
+thùa
+thùi
+thùm
+thùng
+thùy
+thú
+thúc
+thúi
+thúng
+thút
+thúy
+thăm
+thăn
+thăng
+thũng
+thơ
+thơi
+thơm
+thơn
+thư
+thưa
+thưng
+thương
+thước
+thướt
+thườn
+thường
+thưởng
+thưỡi
+thưỡn
+thược
+thượng
+thượt
+thạc
+thạch
+thạnh
+thạo
+thạp
+thả
+thải
+thảm
+thản
+thảng
+thảnh
+thảo
+thảy
+thấm
+thấp
+thất
+thấu
+thấy
+thầm
+thần
+thầu
+thầy
+thẩm
+thẩn
+thẩu
+thẫm
+thẫn
+thậm
+thận
+thập
+thật
+thắc
+thắm
+thắn
+thắng
+thắp
+thắt
+thằn
+thằng
+thẳm
+thẳng
+thặng
+thẹn
+thẹo
+thẹp
+thẻ
+thẻo
+thẽ
+thế
+thếch
+thếp
+thết
+thề
+thềm
+thều
+thể
+thểu
+thệ
+thện
+thỉ
+thỉnh
+thỉu
+thị
+thịch
+thịnh
+thịt
+thịu
+thọ
+thọc
+thọt
+thỏ
+thỏa
+thỏi
+thỏm
+thố
+thốc
+thối
+thốn
+thống
+thốt
+thồ
+thồi
+thồm
+thồn
+thổ
+thổi
+thổn
+thộc
+thộn
+thộp
+thớ
+thớt
+thờ
+thời
+thờn
+thở
+thợ
+thợt
+thụ
+thục
+thụi
+thụng
+thụp
+thụt
+thụy
+thủ
+thủa
+thủi
+thủm
+thủng
+thủy
+thứ
+thức
+thừ
+thừa
+thừng
+thử
+thửa
+thững
+thự
+thực
+ti
+tia
+tim
+tin
+tinh
+tiu
+tivi
+tiêm
+tiên
+tiêng
+tiêu
+tiếc
+tiếm
+tiến
+tiếng
+tiếp
+tiết
+tiếu
+tiềm
+tiền
+tiều
+tiểu
+tiễn
+tiễu
+tiệc
+tiệm
+tiện
+tiệp
+tiệt
+to
+toa
+toan
+toang
+toanh
+toe
+toen
+toi
+tom
+ton
+tong
+toong
+tout
+toài
+toàn
+toàng
+toác
+toái
+toán
+toáng
+toát
+toáy
+toèn
+toét
+toòng
+toạc
+toại
+toản
+toẹt
+tra
+trai
+tram
+tran
+trang
+tranh
+trao
+trau
+tre
+treo
+tri
+trinh
+triêng
+triêu
+triến
+triết
+triền
+triềng
+triều
+triển
+triện
+triệng
+triệt
+triệu
+tro
+troi
+tron
+trong
+tru
+trui
+trun
+trung
+truy
+truyền
+truyện
+truân
+truông
+truất
+truật
+truồng
+truột
+trà
+trài
+tràm
+tràn
+tràng
+trành
+trào
+tràu
+trày
+trá
+trác
+trách
+trái
+trám
+trán
+tráng
+tránh
+tráo
+tráp
+trát
+trâm
+trân
+trâng
+trâu
+trây
+trã
+trãi
+trè
+trèm
+trèn
+trèo
+trém
+tréo
+trét
+trê
+trên
+trêu
+trì
+trình
+trìu
+trí
+trích
+trít
+trò
+tròi
+tròm
+tròn
+tròng
+tróc
+trói
+tróm
+tróng
+trót
+trô
+trôi
+trôm
+trôn
+trông
+trõm
+trõn
+trù
+trùi
+trùm
+trùn
+trùng
+trú
+trúc
+trúm
+trúng
+trút
+trăm
+trăn
+trăng
+trĩ
+trĩnh
+trĩu
+trũi
+trũng
+trơ
+trơi
+trơn
+trưa
+trưng
+trương
+trước
+trướng
+trườn
+trường
+trưởng
+trưỡng
+trượng
+trượt
+trạc
+trạch
+trại
+trạm
+trạng
+trạo
+trạy
+trả
+trải
+trảm
+trảng
+trảo
+trảu
+trảy
+trấn
+trấp
+trấu
+trầm
+trần
+trầu
+trầy
+trẩn
+trẩu
+trẩy
+trẫm
+trậm
+trận
+trập
+trật
+trắc
+trắm
+trắng
+trắt
+trằm
+trằn
+trặc
+trặn
+trẹ
+trẹo
+trẹt
+trẻ
+trẻo
+trẽ
+trẽn
+trếch
+trết
+trề
+trễ
+trệ
+trệch
+trệt
+trệu
+trỉa
+trị
+trịa
+trịch
+trịnh
+trịt
+trọ
+trọc
+trọi
+trọn
+trọng
+trọt
+trỏ
+trỏi
+trỏng
+trố
+trốc
+trối
+trốn
+trống
+trồ
+trồi
+trồng
+trổ
+trổi
+trổng
+trỗ
+trộ
+trộc
+trội
+trộm
+trộn
+trớ
+trớn
+trớp
+trớt
+trờ
+trời
+trờn
+trở
+trợ
+trợn
+trợt
+trụ
+trụa
+trục
+trụi
+trụm
+trụn
+trụng
+trụp
+trụt
+trụy
+trủ
+trứ
+trứng
+trừ
+trừa
+trừng
+trửng
+trữ
+trự
+trực
+tu
+tua
+tui
+tum
+tun
+tung
+tuy
+tuyn
+tuyên
+tuyến
+tuyết
+tuyền
+tuyển
+tuyệt
+tuân
+tuôn
+tuông
+tuấn
+tuất
+tuần
+tuế
+tuếch
+tuệ
+tuệch
+tuốt
+tuồn
+tuồng
+tuổi
+tuộc
+tuột
+ty
+tà
+tài
+tàn
+tàng
+tành
+tào
+tàu
+tày
+tá
+tác
+tách
+tái
+tám
+tán
+táng
+tánh
+táo
+táp
+tát
+táu
+táy
+tâm
+tân
+tâng
+tâu
+tây
+tã
+tãi
+tè
+tèm
+tèn
+tèo
+té
+téc
+tém
+tép
+tét
+tê
+têm
+tên
+tênh
+têt
+têu
+tì
+tìm
+tình
+tí
+tía
+tích
+tím
+tín
+tính
+típ
+tít
+tíu
+tò
+tòa
+tòe
+tòi
+tòm
+tòn
+tòng
+tó
+tóc
+tóe
+tói
+tóm
+tóp
+tót
+tô
+tôi
+tôm
+tôn
+tông
+tõe
+tõm
+tù
+tùm
+tùng
+tùy
+tú
+túc
+túi
+túm
+túng
+túp
+tút
+túy
+tăm
+tăn
+tăng
+tĩ
+tĩnh
+tĩu
+tũm
+tơ
+tơi
+tư
+tưa
+tưng
+tươi
+tươm
+tương
+tước
+tưới
+tướn
+tướng
+tướp
+tướt
+tườm
+tường
+tườu
+tưởi
+tưởng
+tược
+tượng
+tượp
+tượt
+tạ
+tạc
+tạch
+tại
+tạm
+tạng
+tạnh
+tạo
+tạp
+tạt
+tả
+tải
+tản
+tảng
+tảo
+tấc
+tấm
+tấn
+tấp
+tất
+tấu
+tấy
+tầm
+tần
+tầng
+tầy
+tẩm
+tẩn
+tẩu
+tẩy
+tận
+tập
+tật
+tậu
+tắc
+tắm
+tắn
+tắp
+tắt
+tằm
+tằn
+tằng
+tẳn
+tặc
+tặn
+tặng
+tẹo
+tẹp
+tẹt
+tẻ
+tẻm
+tẻo
+tẽ
+tẽn
+tế
+tếch
+tết
+tếu
+tề
+tềnh
+tể
+tểnh
+tễ
+tễnh
+tệ
+tệp
+tỉ
+tỉa
+tỉm
+tỉnh
+tị
+tịch
+tịnh
+tịt
+tịu
+tọa
+tọc
+tọng
+tọp
+tọt
+tỏ
+tỏa
+tỏe
+tỏi
+tỏm
+tỏng
+tố
+tốc
+tối
+tốn
+tống
+tốp
+tốt
+tồ
+tồi
+tồn
+tồng
+tổ
+tổn
+tổng
+tộ
+tộc
+tội
+tột
+tớ
+tới
+tớn
+tớp
+tớt
+tờ
+tời
+tởm
+tợ
+tợn
+tợp
+tụ
+tục
+tụi
+tụm
+tụng
+tụt
+tụy
+tủ
+tủa
+tủi
+tủm
+tủn
+tủy
+tứ
+tứa
+tức
+từ
+từng
+tử
+tửa
+tửng
+tửu
+tự
+tựa
+tựu
+tỵ
+tỷ
+u
+um
+un
+ung
+uy
+uyên
+uyển
+uôm
+uất
+uẩn
+uẩy
+uế
+uể
+uốn
+uống
+uổng
+uột
+uở
+uỳnh
+uỵch
+v
+va
+vai
+van
+vang
+vanh
+vao
+vay
+ve
+ven
+veo
+vi
+vinh
+viêm
+viên
+viếng
+viết
+viền
+viển
+viễn
+việc
+viện
+việt
+vo
+voan
+voi
+von
+vong
+vu
+vua
+vui
+vun
+vung
+vuông
+vuốt
+vuột
+và
+vài
+vàm
+vàn
+vàng
+vành
+vào
+vày
+vá
+vác
+vách
+vái
+ván
+váng
+vánh
+váo
+váp
+vát
+váy
+vâm
+vân
+vâng
+vây
+vã
+vãi
+vãn
+vãng
+vãnh
+vè
+vèo
+vé
+véc
+vén
+véo
+vét
+vê
+vên
+vênh
+vêu
+vì
+ví
+vía
+vích
+vít
+víu
+vò
+vòi
+vòm
+vòn
+vòng
+vó
+vóc
+vói
+vón
+vóng
+vót
+vô
+vôi
+vôn
+vông
+võ
+võng
+vù
+vùa
+vùi
+vùn
+vùng
+vú
+vúc
+vút
+văn
+văng
+vĩ
+vĩnh
+vũ
+vũm
+vũng
+vơ
+vơi
+vưng
+vưu
+vươn
+vương
+vướng
+vườn
+vưởng
+vược
+vượn
+vượng
+vượt
+vạ
+vạc
+vạch
+vại
+vạm
+vạn
+vạng
+vạnh
+vạp
+vạt
+vạy
+vả
+vải
+vảng
+vảy
+vấn
+vấp
+vất
+vấu
+vấy
+vần
+vầng
+vầu
+vầy
+vẩn
+vẩu
+vẩy
+vẫn
+vẫy
+vậm
+vận
+vập
+vật
+vậy
+vắc
+vắn
+vắng
+vắt
+vằm
+vằn
+vằng
+vẳng
+vặc
+vặn
+vặt
+vẹm
+vẹn
+vẹo
+vẹt
+vẻ
+vẻn
+vẻo
+vẽ
+vế
+vếch
+vết
+vếu
+về
+vền
+vều
+vểnh
+vệ
+vện
+vệt
+vỉ
+vỉa
+vị
+vịm
+vịn
+vịnh
+vịt
+vọ
+vọc
+vọi
+vọng
+vọp
+vọt
+vỏ
+vỏn
+vỏng
+vố
+vốc
+vối
+vốn
+vống
+vồ
+vồi
+vồn
+vồng
+vổ
+vổng
+vỗ
+vội
+vớ
+với
+vớt
+vờ
+vời
+vờn
+vở
+vởn
+vỡ
+vợ
+vợi
+vợt
+vụ
+vục
+vụn
+vụng
+vụt
+vức
+vứt
+vừa
+vừng
+vửng
+vữa
+vững
+vựa
+vực
+vựng
+web
+xa
+xam
+xan
+xang
+xanh
+xao
+xay
+xe
+xem
+xen
+xeo
+xi
+xia
+xim
+xin
+xinh
+xit
+xiêm
+xiên
+xiêu
+xiếc
+xiết
+xiềng
+xiểm
+xiển
+xiểng
+xo
+xoa
+xoan
+xoang
+xoay
+xoe
+xoen
+xoi
+xom
+xon
+xong
+xoong
+xoài
+xoàm
+xoàn
+xoàng
+xoành
+xoác
+xoát
+xoáy
+xoèn
+xoét
+xoăn
+xoạc
+xoạch
+xoạng
+xoải
+xoảng
+xoắn
+xoẹt
+xu
+xua
+xui
+xum
+xung
+xuy
+xuya
+xuynh
+xuyên
+xuyến
+xuyết
+xuân
+xuây
+xuê
+xuôi
+xuýt
+xuất
+xuẩn
+xuề
+xuềnh
+xuể
+xuệch
+xuống
+xuồng
+xuổng
+xuỵt
+xà
+xài
+xàm
+xàng
+xành
+xào
+xàu
+xá
+xác
+xách
+xái
+xám
+xán
+xáo
+xáp
+xát
+xáy
+xâm
+xâu
+xây
+xã
+xè
+xèn
+xèng
+xèo
+xé
+xéc
+xén
+xéo
+xép
+xét
+xê
+xên
+xênh
+xêu
+xì
+xình
+xìu
+xí
+xía
+xích
+xính
+xít
+xíu
+xòa
+xòe
+xòm
+xòng
+xó
+xóa
+xóc
+xói
+xóm
+xón
+xóp
+xót
+xô
+xôi
+xôm
+xôn
+xông
+xõa
+xõm
+xõng
+xù
+xùi
+xùm
+xùng
+xùy
+xú
+xúc
+xúi
+xúm
+xúng
+xúp
+xút
+xúy
+xăm
+xăn
+xăng
+xĩnh
+xũ
+xơ
+xơi
+xơm
+xơn
+xưa
+xưng
+xương
+xước
+xướng
+xười
+xưởng
+xược
+xạ
+xạc
+xạch
+xạo
+xạp
+xạu
+xả
+xảm
+xảnh
+xảo
+xảu
+xảy
+xấc
+xấp
+xấu
+xầm
+xẩm
+xẩn
+xẩu
+xẩy
+xập
+xắc
+xắm
+xắn
+xắp
+xằng
+xẵng
+xẹc
+xẹo
+xẹp
+xẹt
+xẻ
+xẻn
+xẻng
+xẻo
+xẽo
+xế
+xếch
+xếp
+xềm
+xềnh
+xều
+xể
+xệ
+xệch
+xệp
+xệu
+xỉ
+xỉa
+xỉn
+xỉnh
+xỉu
+xị
+xịch
+xịt
+xịu
+xọ
+xọc
+xọe
+xọp
+xỏ
+xỏa
+xỏng
+xố
+xốc
+xối
+xốn
+xống
+xốp
+xốt
+xồ
+xồm
+xồn
+xồng
+xổ
+xổi
+xổm
+xổng
+xộc
+xộn
+xộp
+xớ
+xới
+xớp
+xớt
+xờ
+xờm
+xở
+xởi
+xởn
+xỡ
+xợp
+xợt
+xụ
+xục
+xụi
+xụp
+xủng
+xứ
+xức
+xứng
+xừ
+xử
+xửa
+xửng
+xực
+y
+yên
+yêng
+yêu
+yếm
+yến
+yết
+yếu
+yểm
+yểng
+yểu
+ào
+ác
+ách
+ái
+ám
+án
+áng
+ánh
+áo
+áp
+át
+áy
+âm
+ân
+âu
+èo
+éc
+ém
+én
+éo
+ép
+ét
+êm
+êu
+ìn
+ình
+ích
+ín
+ít
+òa
+òi
+òm
+òng
+óc
+óe
+ói
+óng
+óp
+ót
+ôi
+ôm
+ôn
+ông
+ùa
+ùm
+ùn
+ùng
+úa
+úi
+úm
+úng
+úp
+út
+úy
+ăm
+ăn
+ăng
+đa
+đai
+đam
+đan
+đang
+đanh
+đao
+đau
+đay
+đe
+đem
+đen
+đeo
+đi
+đin
+đinh
+điên
+điêu
+điếc
+điếm
+điếng
+điếu
+điền
+điều
+điểm
+điển
+điểu
+điệm
+điện
+điệp
+điệu
+đo
+đoan
+đoi
+đom
+đon
+đong
+đoài
+đoàn
+đoàng
+đoành
+đoái
+đoán
+đoãng
+đoạn
+đoạt
+đoản
+đoảng
+đu
+đua
+đui
+đum
+đun
+đung
+đuôi
+đuốc
+đuối
+đuổi
+đuỗn
+đuột
+đà
+đài
+đàm
+đàn
+đàng
+đành
+đào
+đày
+đá
+đác
+đách
+đái
+đám
+đán
+đáng
+đánh
+đáo
+đáp
+đát
+đáy
+đâm
+đâu
+đây
+đã
+đãi
+đãng
+đãy
+đè
+đèm
+đèn
+đèo
+đéc
+đéo
+đét
+đê
+đêm
+đên
+đênh
+đêu
+đì
+đìa
+đình
+đìu
+đía
+đích
+đính
+đít
+đò
+đòi
+đòm
+đòn
+đòng
+đó
+đóa
+đóc
+đói
+đóm
+đón
+đóng
+đót
+đô
+đôi
+đôm
+đôn
+đông
+đõ
+đù
+đùa
+đùi
+đùm
+đùn
+đùng
+đú
+đúc
+đúm
+đún
+đúng
+đúp
+đút
+đăm
+đăng
+đĩ
+đĩa
+đĩnh
+đũa
+đũng
+đơ
+đơm
+đơn
+đưa
+đưng
+đương
+đước
+đười
+đườn
+đường
+đưỡn
+được
+đượm
+đạc
+đạch
+đại
+đạm
+đạn
+đạo
+đạp
+đạt
+đả
+đảm
+đản
+đảng
+đảo
+đảy
+đấm
+đấng
+đất
+đấu
+đấy
+đầm
+đần
+đầu
+đầy
+đẩu
+đẩy
+đẫm
+đẫn
+đẫy
+đậm
+đận
+đập
+đật
+đậu
+đậy
+đắc
+đắm
+đắn
+đắng
+đắp
+đắt
+đằm
+đằn
+đằng
+đẳng
+đẵm
+đẵn
+đẵng
+đặc
+đặn
+đặng
+đặt
+đẹn
+đẹp
+đẹt
+đẻ
+đẽ
+đẽo
+đế
+đếch
+đếm
+đến
+đề
+đềm
+đền
+đềnh
+đều
+để
+đểnh
+đểu
+đễ
+đễnh
+đệ
+đệm
+đệp
+đỉa
+đỉnh
+địa
+địch
+định
+địt
+địu
+đọ
+đọa
+đọc
+đọi
+đọn
+đọng
+đọp
+đọt
+đỏ
+đỏi
+đỏm
+đố
+đốc
+đối
+đốm
+đốn
+đống
+đốp
+đốt
+đồ
+đồi
+đồm
+đồn
+đồng
+đổ
+đổi
+đổng
+đỗ
+đỗi
+độ
+độc
+đội
+độn
+động
+độp
+đột
+đớ
+đới
+đớn
+đớp
+đớt
+đờ
+đời
+đờm
+đờn
+đởm
+đởn
+đỡ
+đợ
+đợi
+đợp
+đợt
+đụ
+đục
+đụn
+đụng
+đụp
+đụt
+đủ
+đủi
+đủng
+đứ
+đứa
+đức
+đứng
+đứt
+đừ
+đừa
+đừng
+đử
+đực
+đựng
+ĩnh
+ơi
+ơn
+ưa
+ưng
+ưu
+ươi
+ươm
+ươn
+ương
+ước
+ướm
+ướp
+ướt
+ườn
+ưỡn
+ạ
+ạch
+ạnh
+ạo
+ạt
+ả
+ải
+ảm
+ảng
+ảnh
+ảo
+ấm
+ấn
+ấp
+ất
+ấu
+ấy
+ầm
+ầy
+ẩm
+ẩn
+ẩu
+ẩy
+ậc
+ậm
+ập
+ắc
+ắng
+ắp
+ắt
+ằng
+ẳng
+ẵm
+ặc
+ặp
+ẹ
+ẹo
+ẹp
+ẹt
+ẻn
+ẻo
+ẽo
+ế
+ếch
+ếm
+ề
+ềnh
+ễnh
+ệ
+ệch
+ện
+ệnh
+ỉ
+ỉa
+ỉm
+ỉn
+ỉu
+ị
+ịch
+ịt
+ọ
+ọc
+ọe
+ọi
+ọp
+ọt
+ỏe
+ỏi
+ỏm
+ỏn
+ỏng
+ố
+ốc
+ối
+ốm
+ống
+ốp
+ốt
+ồ
+ồm
+ồn
+ồng
+ổ
+ổi
+ổn
+ổng
+ộ
+ộc
+ộn
+ộp
+ớ
+ới
+ớm
+ớn
+ớt
+ờ
+ờn
+ở
+ỡm
+ợ
+ợt
+ụ
+ụa
+ục
+ụp
+ụt
+ủ
+ủa
+ủi
+ủn
+ủng
+ủy
+ứ
+ứa
+ức
+ứng
+ừ
+ừng
+ửng
+ựa
+ực
+ỷ
diff --git a/l10n-vi/extensions/spellcheck/hunspell/vi-x-KieuMoi.[KhongChuan].aff b/l10n-vi/extensions/spellcheck/hunspell/vi-x-KieuMoi.[KhongChuan].aff
new file mode 100644
index 0000000000..17bef9a1f9
--- /dev/null
+++ b/l10n-vi/extensions/spellcheck/hunspell/vi-x-KieuMoi.[KhongChuan].aff
@@ -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/.
+
+SET UTF-8
+TRY naohiugtcedmylrbvskpxqfjwzNAOHIUGTCEDMYLRBVSKPXQFJWZ-
+
+MAP 40
+MAP ảã
+MAP ẩẫ
+MAP ẳẵ
+MAP ẻẽ
+MAP ểễ
+MAP ỉĩ
+MAP ỏõ
+MAP ổỗ
+MAP ởỡ
+MAP ủũ
+MAP ửữ
+MAP ỷỹ
+MAP (iêu)(iu)(ưu)
+MAP (iếu)(íu)(ứu)
+MAP (iều)(ìu)(ừu)
+MAP (iểu)(ỉu)(ửu)
+MAP (iễu)(ĩu)(ữu)
+MAP (iệu)(ịu)(ựu)
+MAP (ịc)(ịch)
+MAP (íc)(ích)
+MAP aàảãáạ
+MAP ăằẳẵắặ
+MAP âầẩẫấậ
+MAP eèẻẽéẹ
+MAP êềểễếệ
+MAP iìỉĩíị
+MAP oòỏõóọ
+MAP ôồổỗốộ
+MAP ơờởỡớợ
+MAP uùủũúụ
+MAP ưừửữứự
+MAP yỳỷỹýỵ
+MAP aàảãáạăằẳẵắặâầẩẫấậ
+MAP eèẻẽéẹêềểễếệ
+MAP oòỏõóọôồổỗốộơờởỡớợ
+MAP uùủũúụưừửữứự
+MAP óòỏaàáả
+MAP óóỏeèéẻ
+MAP úùủụyýỳỷỵ
+MAP uưoờớỡởợ
+
+REP 20
+REP dz d
+REP ch tr
+REP d đ
+REP đ d
+REP d gi
+REP f ph
+REP g gh
+REP gh g
+REP gi d
+REP j g
+REP ng ngh
+REP ngh ng
+REP ou uo
+REP ou ươ
+REP uo ươ
+REP s x
+REP tr ch
+REP x s
+REP w qu
+REP z d
diff --git a/l10n-vi/extensions/spellcheck/hunspell/vi-x-KieuMoi.[KhongChuan].dic b/l10n-vi/extensions/spellcheck/hunspell/vi-x-KieuMoi.[KhongChuan].dic
new file mode 100644
index 0000000000..d9395e9b75
--- /dev/null
+++ b/l10n-vi/extensions/spellcheck/hunspell/vi-x-KieuMoi.[KhongChuan].dic
@@ -0,0 +1,6632 @@
+6631
+ABC
+ASCII
+GIF
+HCM
+HK
+HTML
+HĐND
+JPEG
+LHQ
+Nguyễn
+Nẵng
+PDF
+PNG
+Phan
+RAM
+TCVN
+TV
+Telex
+Tp
+UBND
+URL
+Unicode
+VIQR
+VISCII
+VN
+VNI
+a
+ai
+am
+an
+ang
+anh
+ao
+au
+ba
+bai
+ban
+bang
+banh
+bao
+basoi
+bay
+be
+bem
+ben
+beng
+beo
+bi
+bia
+bin
+binh
+biên
+biêng
+biếc
+biếm
+biến
+biếng
+biết
+biếu
+biền
+biển
+biểu
+biện
+biệt
+bo
+bom
+bon
+bong
+boong
+boóng
+bu
+bua
+bung
+buôn
+buông
+buýt
+buốt
+buồi
+buồm
+buồn
+buồng
+buổi
+buộc
+buột
+bà
+bài
+bàm
+bàn
+bàng
+bành
+bào
+bàu
+bày
+bá
+bác
+bách
+bái
+bám
+bán
+báng
+bánh
+báo
+bát
+báu
+bân
+bâng
+bâu
+bây
+bã
+bãi
+bão
+bè
+bèm
+bèn
+bèo
+bé
+béc
+bén
+béng
+béo
+bép
+bét
+bê
+bên
+bênh
+bêu
+bì
+bìa
+bìm
+bình
+bìu
+bí
+bích
+bím
+bính
+bít
+bíu
+bò
+bòi
+bòm
+bòn
+bòng
+bó
+bóc
+bói
+bón
+bóng
+bóp
+bót
+bô
+bôi
+bôm
+bôn
+bông
+bõ
+bõm
+bõng
+bù
+bùa
+bùi
+bùm
+bùn
+bùng
+bú
+búa
+búi
+bún
+búng
+búp
+bút
+băm
+băn
+băng
+bĩ
+bĩnh
+bĩu
+bũm
+bơ
+bơi
+bơm
+bơn
+bư
+bưa
+bưng
+bưu
+bươi
+bươm
+bươn
+bương
+bươu
+bước
+bướm
+bướng
+bướp
+bướu
+bưởi
+bượt
+bạ
+bạc
+bạch
+bại
+bạn
+bạnh
+bạo
+bạp
+bạt
+bạu
+bả
+bải
+bản
+bảng
+bảnh
+bảo
+bảu
+bảy
+bấc
+bấm
+bấn
+bấp
+bất
+bấu
+bấy
+bầm
+bần
+bầng
+bầu
+bầy
+bẩm
+bẩn
+bẩy
+bẫm
+bẫy
+bậc
+bậm
+bận
+bập
+bật
+bậu
+bậy
+bắc
+bắn
+bắng
+bắp
+bắt
+bằm
+bằn
+bằng
+bẳn
+bẵng
+bặm
+bặn
+bặng
+bặp
+bặt
+bẹ
+bẹn
+bẹo
+bẹp
+bẹt
+bẻ
+bẻm
+bẻo
+bẽ
+bẽn
+bẽo
+bế
+bến
+bếp
+bết
+bề
+bền
+bềnh
+bều
+bể
+bễ
+bệ
+bệch
+bện
+bệnh
+bệt
+bệu
+bỉ
+bỉm
+bỉnh
+bỉu
+bị
+bịa
+bịch
+bịn
+bịnh
+bịp
+bịt
+bịu
+bọ
+bọc
+bọn
+bọng
+bọp
+bọt
+bỏ
+bỏi
+bỏm
+bỏng
+bố
+bốc
+bối
+bốn
+bống
+bốp
+bốt
+bồ
+bồi
+bồm
+bồn
+bồng
+bổ
+bổi
+bổn
+bổng
+bỗ
+bỗng
+bộ
+bộc
+bội
+bộn
+bộng
+bộp
+bột
+bớ
+bới
+bớp
+bớt
+bờ
+bời
+bờm
+bờn
+bở
+bởi
+bỡ
+bỡn
+bợ
+bợm
+bợn
+bợp
+bợt
+bụ
+bụa
+bục
+bụi
+bụm
+bụng
+bụp
+bụt
+bủ
+bủa
+bủm
+bủn
+bủng
+bứ
+bức
+bứng
+bứt
+bừa
+bừng
+bửa
+bửng
+bửu
+bữa
+bự
+bựa
+bực
+bựt
+ca
+cai
+cam
+can
+canh
+cao
+cau
+cay
+cha
+chai
+chan
+chang
+chanh
+chao
+chau
+chay
+che
+chem
+chen
+cheng
+cheo
+chi
+chia
+chim
+chinh
+chiu
+chiêm
+chiên
+chiêng
+chiêu
+chiếc
+chiếm
+chiến
+chiếng
+chiếp
+chiết
+chiếu
+chiền
+chiềng
+chiều
+chiểu
+chiện
+cho
+choang
+choi
+chong
+choài
+choàng
+choá
+choái
+choán
+choáng
+choãi
+choèn
+choé
+choòng
+choăn
+choạc
+choạng
+choạp
+choảng
+choắt
+choẹ
+choẹt
+chu
+chua
+chui
+chum
+chun
+chung
+chuyên
+chuyến
+chuyền
+chuyển
+chuyện
+chuôi
+chuôm
+chuông
+chuẩn
+chuếch
+chuệch
+chuốc
+chuối
+chuốt
+chuồi
+chuồn
+chuồng
+chuỗi
+chuộc
+chuội
+chuộng
+chuột
+chuỳ
+chà
+chài
+chàm
+chàng
+chành
+chào
+chày
+chá
+chác
+chái
+chán
+cháng
+chánh
+cháo
+chát
+cháu
+cháy
+châm
+chân
+châu
+chây
+chã
+chãi
+chão
+chè
+chèn
+chèo
+ché
+chém
+chén
+chéo
+chép
+chét
+chê
+chêm
+chênh
+chì
+chìa
+chìm
+chình
+chìu
+chí
+chích
+chím
+chín
+chính
+chíp
+chít
+chíu
+chò
+chòi
+chòm
+chòng
+chó
+chóc
+chói
+chóng
+chóp
+chót
+chôm
+chôn
+chông
+chõ
+chõm
+chõng
+chù
+chùa
+chùi
+chùm
+chùn
+chùng
+chú
+chúa
+chúc
+chúi
+chúm
+chúng
+chút
+chăm
+chăn
+chăng
+chĩa
+chĩn
+chĩnh
+chũi
+chũm
+chũn
+chơ
+chơi
+chơm
+chơn
+chư
+chưa
+chưn
+chưng
+chương
+chước
+chướng
+chườm
+chường
+chưởi
+chưởng
+chưỡng
+chược
+chượp
+chạ
+chạc
+chạch
+chạm
+chạn
+chạng
+chạnh
+chạo
+chạp
+chạt
+chạy
+chả
+chải
+chảnh
+chảo
+chảu
+chảy
+chấm
+chấn
+chấp
+chất
+chấu
+chấy
+chầm
+chần
+chầu
+chầy
+chẩm
+chẩn
+chẫu
+chậc
+chậm
+chận
+chập
+chật
+chậu
+chắc
+chắm
+chắn
+chắp
+chắt
+chằm
+chằn
+chằng
+chẳng
+chẵn
+chặc
+chặm
+chặn
+chặng
+chặp
+chặt
+chẹn
+chẹo
+chẹp
+chẹt
+chẻ
+chẻm
+chẻn
+chẻo
+chẽ
+chẽn
+chế
+chếch
+chếnh
+chết
+chề
+chềm
+chềnh
+chểnh
+chễm
+chễnh
+chệ
+chệch
+chện
+chệnh
+chỉ
+chỉn
+chỉnh
+chị
+chịa
+chịt
+chịu
+chọ
+chọc
+chọi
+chọn
+chọt
+chỏ
+chỏm
+chỏn
+chỏng
+chốc
+chối
+chốn
+chống
+chốp
+chốt
+chồ
+chồi
+chồm
+chồn
+chồng
+chổi
+chổng
+chỗ
+chỗm
+chộ
+chội
+chộn
+chộp
+chột
+chớ
+chới
+chớm
+chớp
+chớt
+chờ
+chờm
+chờn
+chở
+chởm
+chợ
+chợn
+chợp
+chợt
+chục
+chụm
+chụp
+chụt
+chủ
+chủn
+chủng
+chứ
+chứa
+chức
+chứng
+chừ
+chừa
+chừng
+chửa
+chửi
+chửng
+chữ
+chữa
+chững
+chực
+co
+coi
+com
+con
+cong
+coong
+coóc
+cu
+cua
+cui
+cum
+cun
+cung
+cuốc
+cuối
+cuốn
+cuống
+cuồn
+cuồng
+cuỗm
+cuộc
+cuội
+cuộn
+cuộng
+cà
+cài
+càn
+càng
+cành
+cào
+càu
+cày
+cá
+các
+cách
+cái
+cám
+cán
+cáng
+cánh
+cáo
+cáp
+cát
+cáu
+cáy
+câm
+cân
+câng
+câu
+cây
+cãi
+cò
+còi
+còm
+còn
+còng
+có
+cóc
+cói
+cóng
+cóp
+cót
+cô
+côi
+côm
+côn
+công
+cõi
+cõng
+cù
+cùi
+cùm
+cùn
+cùng
+cú
+cúa
+cúc
+cúi
+cúm
+cúng
+cúp
+cút
+căm
+căn
+căng
+cũ
+cũi
+cũn
+cũng
+cơ
+cơi
+cơm
+cơn
+cư
+cưa
+cưng
+cưu
+cương
+cước
+cưới
+cướp
+cười
+cườm
+cường
+cưỡi
+cưỡng
+cạ
+cạc
+cạch
+cạm
+cạn
+cạnh
+cạo
+cạp
+cạu
+cạy
+cả
+cải
+cảm
+cản
+cảng
+cảnh
+cảo
+cảu
+cảy
+cấc
+cấm
+cấn
+cấp
+cất
+cấu
+cấy
+cầm
+cần
+cầu
+cầy
+cẩm
+cẩn
+cẩu
+cẩy
+cẫm
+cẫn
+cẫng
+cận
+cập
+cật
+cậu
+cậy
+cắc
+cắm
+cắn
+cắp
+cắt
+cằm
+cằn
+cẳn
+cẳng
+cẵng
+cặc
+cặm
+cặn
+cặp
+cặt
+cọ
+cọc
+cọm
+cọn
+cọng
+cọp
+cọt
+cỏ
+cỏi
+cỏm
+cỏn
+cỏng
+cố
+cốc
+cối
+cốm
+cốn
+cống
+cốp
+cốt
+cồ
+cồm
+cồn
+cồng
+cổ
+cổi
+cổn
+cổng
+cỗ
+cỗi
+cộ
+cộc
+cội
+cộm
+cộn
+cộng
+cộp
+cột
+cớ
+cớm
+cớn
+cớt
+cờ
+cời
+cờn
+cởi
+cỡ
+cỡi
+cỡm
+cỡn
+cợn
+cợt
+cụ
+cục
+cụi
+cụm
+cụng
+cụp
+cụt
+củ
+của
+củi
+củn
+củng
+cứ
+cứa
+cức
+cứng
+cứt
+cứu
+cừ
+cừu
+cử
+cửa
+cửi
+cửng
+cửu
+cữ
+cữu
+cự
+cựa
+cực
+cựu
+da
+dai
+dam
+dan
+dang
+danh
+dao
+day
+de
+deo
+di
+dim
+dinh
+diêm
+diên
+diêu
+diếc
+diếp
+diết
+diếu
+diềm
+diều
+diễm
+diễn
+diễu
+diệc
+diện
+diệp
+diệt
+diệu
+do
+doa
+doan
+doanh
+doi
+dom
+don
+dong
+doành
+doá
+doãi
+doãn
+doãng
+doạ
+du
+dua
+dun
+dung
+duy
+duyên
+duyệt
+duềnh
+duốc
+duỗi
+dà
+dài
+dàn
+dàng
+dành
+dào
+dàu
+dày
+dá
+dác
+dái
+dám
+dán
+dáng
+dát
+dáy
+dâm
+dân
+dâng
+dâu
+dây
+dã
+dãi
+dãy
+dè
+dèn
+dé
+dép
+dê
+dênh
+dì
+dìa
+dìm
+dìu
+dí
+dích
+dím
+dính
+díp
+díu
+dò
+dòi
+dòm
+dòng
+dó
+dóc
+dóm
+dón
+dót
+dô
+dôi
+dông
+dõi
+dõng
+dù
+dùa
+dùi
+dùn
+dùng
+dúa
+dúi
+dúm
+dún
+dúng
+dút
+dăm
+dăn
+dăng
+dĩ
+dĩa
+dĩnh
+dũ
+dũi
+dũng
+dơ
+dơi
+dư
+dưa
+dưng
+dương
+dưới
+dướng
+dường
+dưỡng
+dược
+dượng
+dượt
+dạ
+dạc
+dại
+dạm
+dạn
+dạng
+dạo
+dạt
+dạy
+dả
+dải
+dảy
+dấm
+dấn
+dấp
+dấu
+dấy
+dầm
+dần
+dầu
+dẩn
+dẫm
+dẫn
+dẫu
+dẫy
+dậm
+dận
+dập
+dật
+dậu
+dậy
+dắng
+dắt
+dằm
+dằn
+dằng
+dẳng
+dặc
+dặm
+dặn
+dặng
+dặt
+dẹp
+dẹt
+dẻ
+dẻo
+dẽ
+dế
+dề
+dềnh
+dể
+dễ
+dện
+dệt
+dị
+dịch
+dịp
+dịt
+dịu
+dọc
+dọi
+dọn
+dọng
+dọp
+dỏ
+dỏm
+dỏng
+dốc
+dối
+dốt
+dồi
+dồn
+dỗ
+dỗi
+dội
+dộng
+dột
+dớ
+dớp
+dờ
+dời
+dở
+dởm
+dỡ
+dợ
+dụ
+dục
+dụm
+dụng
+dứ
+dứa
+dức
+dứt
+dừ
+dừa
+dừng
+dử
+dửng
+dữ
+dự
+dựa
+dực
+dựng
+e
+em
+email
+en
+eng
+eo
+ga
+gai
+gam
+gan
+gang
+ganh
+gao
+gau
+gay
+gen
+ghe
+ghen
+ghi
+ghim
+ghiếc
+ghiền
+ghè
+ghèn
+ghé
+ghém
+ghép
+ghét
+ghê
+ghì
+ghìm
+ghẹ
+ghẹn
+ghẹo
+ghẻ
+ghẽ
+ghế
+ghếch
+ghề
+ghềnh
+ghểnh
+ghệt
+gi
+gia
+giai
+giam
+gian
+giang
+gianh
+giao
+gieo
+gio
+gioi
+gion
+giong
+gip
+giu
+giua
+giun
+giuộc
+già
+giàn
+giàng
+giành
+giào
+giàu
+giày
+giá
+giác
+giám
+gián
+giáng
+giáo
+giáp
+giát
+giâm
+giâu
+giây
+giã
+giãi
+giãn
+giãy
+gièm
+gié
+giéo
+giê
+giêng
+giò
+giòi
+giòn
+gió
+gióc
+giói
+gión
+gióng
+giô
+giôn
+giông
+giùi
+giùm
+giú
+giúi
+giúp
+giăm
+giăng
+giũ
+giũa
+giơ
+giương
+giướng
+giường
+giượng
+giạ
+giại
+giạng
+giạt
+giả
+giải
+giảm
+giản
+giảng
+giảnh
+giảo
+giảu
+giấc
+giấm
+giấp
+giấu
+giấy
+giầm
+giần
+giầu
+giầy
+giẫm
+giẫy
+giậm
+giận
+giập
+giật
+giậu
+giắn
+giắt
+giằm
+giằn
+giằng
+giặc
+giặm
+giặn
+giặt
+giẹo
+giẹp
+giẻ
+giếc
+giếm
+giếng
+giết
+giề
+giền
+giềng
+giễu
+giọ
+giọc
+giọi
+giọng
+giọt
+giỏ
+giỏi
+giỏn
+giỏng
+giối
+giống
+giốt
+giồ
+giồi
+giồng
+giổi
+giỗ
+giộ
+giội
+giộp
+giới
+giờ
+giời
+giờn
+giở
+giỡn
+giụa
+giục
+giụi
+giủi
+giừ
+giữ
+giữa
+giựt
+go
+gom
+gon
+goá
+goòng
+gram
+gu
+guốc
+guồi
+guồng
+guộc
+gà
+gài
+gàn
+gàng
+gành
+gào
+gàu
+gá
+gác
+gái
+gán
+gánh
+gáo
+gáp
+gáu
+gáy
+gâm
+gân
+gâu
+gây
+gã
+gãi
+gãy
+gì
+gìm
+gìn
+gí
+gích
+gíp
+gò
+gòn
+góc
+gói
+góp
+gót
+gô
+gôm
+gôn
+gông
+gõ
+gù
+gùi
+gùn
+gùng
+gút
+găm
+găn
+găng
+gũi
+gơ
+gươm
+gương
+gườm
+gường
+gưỡng
+gượm
+gượng
+gạ
+gạc
+gạch
+gạn
+gạnh
+gạo
+gạt
+gả
+gảy
+gấc
+gấm
+gấp
+gấu
+gấy
+gầm
+gần
+gầu
+gầy
+gẩm
+gẫm
+gẫu
+gậm
+gập
+gật
+gậy
+gắm
+gắn
+gắng
+gắp
+gắt
+gằm
+gằn
+gặc
+gặm
+gặn
+gặng
+gặp
+gặt
+gỉ
+gọi
+gọn
+gọng
+gọt
+gỏi
+gỏng
+gốc
+gối
+gốm
+gồ
+gồi
+gồm
+gồng
+gổ
+gỗ
+gộ
+gộc
+gội
+gộp
+gột
+gớm
+gờ
+gờm
+gờn
+gở
+gởi
+gỡ
+gợi
+gợn
+gợt
+gụ
+gục
+gụi
+gụt
+gừ
+gừng
+gửi
+ha
+hai
+ham
+han
+hang
+hanh
+hao
+hau
+hay
+he
+hem
+hen
+heo
+hi
+hia
+him
+hiu
+hiên
+hiêng
+hiếm
+hiến
+hiếng
+hiếp
+hiếu
+hiềm
+hiền
+hiểm
+hiển
+hiểu
+hiện
+hiệp
+hiệu
+ho
+hoa
+hoan
+hoang
+hoay
+hoe
+hoen
+hoi
+hom
+hon
+hong
+hoà
+hoài
+hoàn
+hoàng
+hoành
+hoá
+hoác
+hoán
+hoáy
+hoãn
+hoè
+hoét
+hoăm
+hoăng
+hoạ
+hoạch
+hoại
+hoạn
+hoạnh
+hoạt
+hoả
+hoải
+hoảng
+hoảnh
+hoắc
+hoắm
+hoắt
+hoẳn
+hoẵng
+hoặc
+hoẹ
+hoẹt
+hoẻn
+hu
+hua
+hum
+hun
+hung
+huy
+huynh
+huyên
+huyết
+huyền
+huyễn
+huyện
+huyệt
+huân
+huê
+huênh
+huý
+huých
+huýt
+huơ
+huấn
+huếch
+huề
+huệ
+huống
+huỳnh
+huỵch
+huỷ
+hy
+hà
+hài
+hàm
+hàn
+hàng
+hành
+hào
+hàu
+há
+hác
+hách
+hái
+hám
+hán
+háng
+hánh
+háo
+hát
+háu
+háy
+hâm
+hân
+hâu
+hây
+hãi
+hãm
+hãn
+hãng
+hãnh
+hão
+hãy
+hè
+hèm
+hèn
+hèo
+hé
+héc
+héo
+hét
+hê
+hên
+hênh
+hì
+hình
+hí
+hích
+híp
+hít
+hò
+hòi
+hòm
+hòn
+hòng
+hóc
+hói
+hóm
+hóng
+hóp
+hót
+hô
+hôi
+hôm
+hôn
+hông
+hõm
+hù
+hùa
+hùm
+hùn
+hùng
+hú
+húc
+húi
+húng
+húp
+hút
+hăm
+hăng
+hĩm
+hĩnh
+hũ
+hũm
+hơ
+hơi
+hơn
+hư
+hưng
+hưu
+hương
+hươu
+hước
+hướm
+hướng
+hường
+hưởng
+hượm
+hạ
+hạc
+hạch
+hại
+hạm
+hạn
+hạng
+hạnh
+hạo
+hạp
+hạt
+hả
+hải
+hảm
+hảng
+hảo
+hấn
+hấng
+hấp
+hất
+hấu
+hấy
+hầm
+hầu
+hầy
+hẩm
+hẩng
+hẩu
+hẩy
+hẫng
+hẫu
+hậm
+hận
+hập
+hậu
+hắc
+hắn
+hắng
+hắt
+hằm
+hằn
+hằng
+hẳn
+hẵng
+hặc
+hẹ
+hẹm
+hẹn
+hẹp
+hẻm
+hẻo
+hếch
+hến
+hết
+hếu
+hề
+hềnh
+hể
+hển
+hểnh
+hệ
+hệch
+hệt
+hỉ
+hỉnh
+hịch
+họ
+học
+họng
+họp
+hỏi
+hỏm
+hỏn
+hỏng
+hố
+hốc
+hối
+hống
+hốt
+hồ
+hồi
+hồn
+hồng
+hổ
+hổi
+hổm
+hổn
+hổng
+hỗ
+hỗn
+hỗng
+hộ
+hộc
+hội
+hộn
+hộp
+hột
+hớ
+hớm
+hớn
+hớp
+hớt
+hờ
+hời
+hờn
+hở
+hởi
+hỡi
+hợi
+hợm
+hợp
+hợt
+hục
+hụi
+hụm
+hụp
+hụt
+hủ
+hủi
+hủn
+hứa
+hức
+hứng
+hừ
+hừm
+hừng
+hử
+hửng
+hữ
+hững
+hữu
+hự
+hực
+hựu
+i
+im
+in
+inh
+internet
+intranet
+iu
+ka
+ke
+kem
+ken
+keng
+keo
+kha
+khai
+kham
+khan
+khang
+khanh
+khao
+khau
+khay
+khe
+khem
+khen
+kheo
+khi
+khin
+khinh
+khiu
+khiêm
+khiên
+khiêng
+khiêu
+khiếm
+khiến
+khiếp
+khiết
+khiếu
+khiền
+khiển
+khiễng
+kho
+khoa
+khoai
+khoan
+khoang
+khoanh
+khoe
+khoeo
+khom
+khoào
+khoá
+khoác
+khoái
+khoán
+khoáng
+khoát
+khoáy
+khoèo
+khoé
+khoét
+khoăm
+khoăn
+khoả
+khoải
+khoản
+khoảng
+khoảnh
+khoắm
+khoắn
+khoắng
+khoắt
+khoằm
+khoẻ
+khu
+khua
+khui
+khum
+khung
+khuy
+khuya
+khuynh
+khuyên
+khuyến
+khuyết
+khuyển
+khuân
+khuâng
+khuây
+khuê
+khuôn
+khuông
+khuơ
+khuất
+khuấy
+khuẩn
+khuếch
+khuỳnh
+khuỵu
+khuỷu
+khà
+khàn
+khàng
+khá
+khác
+khách
+khái
+khám
+khán
+kháng
+khánh
+kháo
+kháp
+khát
+kháu
+kháy
+khâm
+khân
+khâu
+khè
+khèn
+khèo
+khé
+khén
+khéo
+khép
+khét
+khê
+khênh
+khêu
+khì
+khìn
+khí
+khía
+khích
+khít
+khíu
+khò
+khòm
+khòng
+khó
+khóc
+khói
+khóm
+khô
+khôi
+khôn
+không
+khù
+khùng
+khú
+khúc
+khúm
+khăm
+khăn
+khăng
+khĩnh
+khơ
+khơi
+khư
+khươi
+khươm
+khươn
+khương
+khước
+khướt
+khướu
+khạc
+khạng
+khạo
+khả
+khải
+khảm
+khản
+khảng
+khảnh
+khảo
+khảy
+khấc
+khấm
+khấn
+khấp
+khất
+khấu
+khẩn
+khẩu
+khẩy
+khập
+khật
+khắc
+khắm
+khắng
+khắp
+khắt
+khằng
+khẳm
+khẳn
+khẳng
+khặc
+khẹc
+khẻ
+khẻo
+khẽ
+khế
+khề
+khều
+khểnh
+khệ
+khệnh
+khỉ
+khỉnh
+khịa
+khịt
+khọm
+khỏi
+khỏng
+khố
+khốc
+khối
+khốn
+khống
+khổ
+khổn
+khổng
+khớ
+khớp
+khờ
+khởi
+khụ
+khục
+khụt
+khủ
+khủng
+khứ
+khứa
+khứng
+khứu
+khừ
+khừng
+khử
+khựng
+ki
+kia
+kim
+kinh
+kiêm
+kiên
+kiêng
+kiêu
+kiếm
+kiến
+kiếp
+kiết
+kiếu
+kiềm
+kiền
+kiềng
+kiều
+kiểm
+kiểng
+kiểu
+kiễng
+kiệm
+kiện
+kiệt
+kiệu
+kè
+kèm
+kèn
+kèo
+ké
+kéc
+kém
+kén
+kéo
+kép
+két
+kê
+kênh
+kêu
+kì
+kìa
+kìm
+kình
+kí
+kích
+kín
+kính
+kíp
+kít
+ký
+kĩ
+kẹ
+kẹn
+kẹo
+kẹp
+kẹt
+kẻ
+kẻng
+kẻo
+kẽ
+kẽm
+kẽo
+kế
+kếch
+kếp
+kết
+kề
+kềm
+kền
+kềnh
+kều
+kể
+kệ
+kệch
+kệnh
+kỉ
+kỉnh
+kị
+kịch
+kịp
+kịt
+kỳ
+kỵ
+kỷ
+kỹ
+la
+lai
+lam
+lan
+lang
+lanh
+lao
+lau
+lay
+le
+lem
+len
+leng
+leo
+li
+lia
+lim
+lin
+linh
+liu
+liêm
+liên
+liêng
+liêu
+liếc
+liếm
+liến
+liếng
+liếp
+liềm
+liền
+liều
+liểng
+liễm
+liễn
+liễu
+liệm
+liệng
+liệp
+liệt
+liệu
+lo
+loa
+loan
+loang
+loanh
+loay
+loe
+loen
+loi
+lom
+lon
+long
+loong
+loà
+loài
+loàn
+loàng
+loáng
+loát
+loãng
+loè
+loé
+loét
+loăng
+loạc
+loại
+loạn
+loạng
+loạt
+loảng
+loắt
+loằng
+loẹt
+lu
+lua
+lui
+lum
+lung
+luya
+luyến
+luyện
+luân
+luôm
+luôn
+luông
+luýnh
+luấn
+luẩn
+luận
+luật
+luốc
+luống
+luốt
+luồn
+luồng
+luỗng
+luộc
+luộm
+luỵ
+luỹ
+ly
+là
+lài
+làm
+làn
+làng
+lành
+lào
+làu
+lá
+lác
+lách
+lái
+lán
+láng
+lánh
+láo
+láp
+lát
+láu
+láy
+lâm
+lân
+lâng
+lâu
+lây
+lã
+lãi
+lãm
+lãn
+lãng
+lãnh
+lão
+lè
+lèm
+lèn
+lèo
+lé
+léc
+lém
+lén
+léng
+léo
+lép
+lét
+lê
+lên
+lênh
+lêu
+lì
+lìa
+lìm
+lình
+lìu
+lí
+lính
+líp
+lít
+líu
+lò
+lòi
+lòm
+lòn
+lòng
+ló
+lóc
+lói
+lóm
+lóng
+lóp
+lót
+lô
+lôi
+lôm
+lông
+lõ
+lõi
+lõm
+lõng
+lù
+lùa
+lùi
+lùm
+lùn
+lùng
+lú
+lúa
+lúc
+lúi
+lúm
+lún
+lúng
+lúp
+lút
+lý
+lăm
+lăn
+lăng
+lĩnh
+lũ
+lũi
+lũm
+lũn
+lũng
+lơ
+lơi
+lơn
+lư
+lưng
+lưu
+lươm
+lươn
+lương
+lưới
+lướng
+lướt
+lười
+lườm
+lườn
+lường
+lưỡi
+lưỡng
+lược
+lượm
+lượn
+lượng
+lượt
+lạ
+lạc
+lạch
+lại
+lạm
+lạn
+lạng
+lạnh
+lạo
+lạp
+lạt
+lạu
+lạy
+lả
+lải
+lảm
+lảng
+lảnh
+lảo
+lảu
+lảy
+lấc
+lấm
+lấn
+lấp
+lất
+lấy
+lầm
+lần
+lầu
+lầy
+lẩm
+lẩn
+lẩu
+lẩy
+lẫm
+lẫn
+lẫy
+lận
+lập
+lật
+lậu
+lắc
+lắm
+lắng
+lắp
+lắt
+lằm
+lằn
+lằng
+lẳm
+lẳn
+lẳng
+lẵng
+lặc
+lặm
+lặn
+lặng
+lặp
+lặt
+lẹ
+lẹm
+lẹn
+lẹo
+lẹp
+lẹt
+lẻ
+lẻm
+lẻn
+lẻng
+lẻo
+lẽ
+lẽn
+lẽo
+lếch
+lết
+lếu
+lề
+lềnh
+lều
+lể
+lểu
+lễ
+lễu
+lệ
+lệch
+lệnh
+lỉm
+lỉnh
+lị
+lịa
+lịch
+lịm
+lịnh
+lịu
+lọ
+lọc
+lọi
+lọm
+lọn
+lọng
+lọt
+lỏi
+lỏm
+lỏn
+lỏng
+lố
+lốc
+lối
+lốm
+lốn
+lốp
+lốt
+lồ
+lồi
+lồm
+lồn
+lồng
+lổ
+lổm
+lổn
+lổng
+lỗ
+lỗi
+lộ
+lộc
+lội
+lộm
+lộn
+lộng
+lộp
+lột
+lớ
+lới
+lớn
+lớp
+lớt
+lờ
+lời
+lờm
+lờn
+lở
+lởi
+lởm
+lởn
+lỡ
+lỡm
+lợ
+lợi
+lợm
+lợn
+lợp
+lợt
+lụ
+lụa
+lục
+lụi
+lụn
+lụng
+lụp
+lụt
+lủ
+lủi
+lủm
+lủn
+lủng
+lứa
+lức
+lứt
+lừ
+lừa
+lừng
+lử
+lửa
+lửng
+lữ
+lữa
+lững
+lự
+lựa
+lực
+lựng
+lựu
+lỵ
+ma
+mai
+man
+mang
+manh
+mao
+mau
+may
+me
+mem
+men
+meo
+mi
+mia
+mim
+min
+minh
+miên
+miêu
+miến
+miếng
+miết
+miếu
+miền
+miều
+miễn
+miễu
+miện
+miệng
+miệt
+mo
+moay
+moi
+mom
+mon
+mong
+moóc
+mu
+mua
+mui
+mum
+mun
+mung
+muôi
+muôn
+muông
+muối
+muốn
+muống
+muốt
+muồi
+muỗi
+muỗm
+muỗng
+muội
+muộn
+mà
+mài
+màn
+màng
+mành
+mào
+màu
+mày
+má
+mác
+mách
+mái
+mán
+máng
+mánh
+máo
+mát
+máu
+máy
+mâm
+mân
+mâng
+mâu
+mây
+mã
+mãi
+mãn
+mãng
+mãnh
+mão
+mè
+mèm
+mèn
+mèng
+mèo
+mé
+mém
+mén
+méo
+mép
+mét
+mê
+mên
+mênh
+mì
+mìn
+mình
+mí
+mía
+mích
+mím
+míp
+mít
+míu
+mò
+mòi
+mòm
+mòn
+mòng
+mó
+móc
+mói
+móm
+món
+móng
+móp
+mót
+mô
+môi
+môm
+môn
+mông
+mõ
+mõm
+mù
+mùa
+mùi
+mùn
+mùng
+mú
+múa
+múc
+múi
+múm
+mún
+múp
+mút
+măm
+măn
+măng
+mĩ
+mĩm
+mũ
+mũi
+mũm
+mơ
+mơi
+mơn
+mưa
+mưu
+mươi
+mương
+mướn
+mướp
+mướt
+mười
+mường
+mượn
+mượt
+mạ
+mạc
+mạch
+mại
+mạn
+mạng
+mạnh
+mạo
+mạp
+mạt
+mạy
+mả
+mải
+mảng
+mảnh
+mảy
+mấn
+mấp
+mất
+mấu
+mấy
+mầm
+mần
+mầng
+mầu
+mẩm
+mẩn
+mẩy
+mẫm
+mẫn
+mẫu
+mận
+mập
+mật
+mậu
+mắc
+mắm
+mắn
+mắng
+mắt
+mằn
+mẳn
+mặc
+mặn
+mặt
+mẹ
+mẹo
+mẹp
+mẹt
+mẻ
+mẻo
+mẽ
+mế
+mếch
+mến
+mếu
+mề
+mềm
+mền
+mễ
+mệ
+mệnh
+mệt
+mỉ
+mỉa
+mỉm
+mị
+mịch
+mịn
+mịnh
+mịt
+mọc
+mọi
+mọn
+mọng
+mọt
+mỏ
+mỏi
+mỏm
+mỏng
+mố
+mốc
+mối
+mống
+mốt
+mồ
+mồi
+mồm
+mồn
+mồng
+mổ
+mổng
+mỗ
+mỗi
+mộ
+mộc
+mộng
+một
+mớ
+mới
+mớm
+mớp
+mờ
+mời
+mờm
+mở
+mởn
+mỡ
+mụ
+mục
+mụi
+mụn
+mụp
+mủ
+mủi
+mủm
+mủn
+mủng
+mứa
+mức
+mứt
+mứu
+mừng
+mửa
+mựa
+mực
+mỹ
+na
+nai
+nam
+nan
+nang
+nanh
+nao
+nau
+nay
+ne
+nem
+nen
+neo
+nga
+ngai
+ngam
+ngan
+ngang
+ngao
+ngau
+ngay
+nghe
+nghi
+nghinh
+nghiu
+nghiêm
+nghiên
+nghiêng
+nghiêu
+nghiến
+nghiền
+nghiễm
+nghiệm
+nghiện
+nghiệp
+nghiệt
+nghè
+nghèn
+nghèo
+nghé
+nghén
+nghét
+nghê
+nghênh
+nghêu
+nghì
+nghìn
+nghí
+nghít
+nghĩ
+nghĩa
+nghẹn
+nghẹo
+nghẹt
+nghẻo
+nghẽn
+nghẽo
+nghếch
+nghề
+nghều
+nghển
+nghểnh
+nghễ
+nghễnh
+nghễu
+nghệ
+nghệch
+nghện
+nghỉ
+nghỉm
+nghỉn
+nghỉnh
+nghỉu
+nghị
+nghịch
+nghịt
+nghịu
+ngoa
+ngoan
+ngoang
+ngoao
+ngoay
+ngoe
+ngoi
+ngon
+ngong
+ngoài
+ngoàm
+ngoác
+ngoách
+ngoái
+ngoáo
+ngoáy
+ngoã
+ngoãn
+ngoèo
+ngoé
+ngoéo
+ngoét
+ngoại
+ngoạm
+ngoạn
+ngoải
+ngoảng
+ngoảnh
+ngoảy
+ngoắc
+ngoắt
+ngoằn
+ngoằng
+ngoẵng
+ngoặc
+ngoặt
+ngoẻn
+ngu
+nguy
+nguyên
+nguyền
+nguyện
+nguyệt
+nguýt
+nguẩy
+nguồi
+nguồn
+nguội
+nguỵ
+nguỷu
+ngà
+ngài
+ngàm
+ngàn
+ngàng
+ngành
+ngào
+ngàu
+ngày
+ngác
+ngách
+ngái
+ngám
+ngán
+ngáng
+ngáo
+ngáp
+ngát
+ngáu
+ngáy
+ngâm
+ngân
+ngâu
+ngây
+ngã
+ngãi
+ngãng
+ngão
+ngò
+ngòi
+ngòm
+ngòn
+ngòng
+ngó
+ngóc
+ngói
+ngóm
+ngón
+ngóng
+ngóp
+ngót
+ngô
+ngôi
+ngôn
+ngông
+ngõ
+ngõi
+ngõng
+ngùi
+ngùng
+ngú
+ngúc
+ngúng
+ngút
+ngăm
+ngăn
+ngũ
+ngơ
+ngơi
+ngơm
+ngơn
+ngư
+ngưa
+ngưng
+ngưu
+ngươi
+ngước
+người
+ngường
+ngưởng
+ngưỡng
+ngược
+ngượng
+ngạc
+ngạch
+ngại
+ngạn
+ngạnh
+ngạo
+ngạt
+ngả
+ngải
+ngảnh
+ngấc
+ngấm
+ngấn
+ngấp
+ngất
+ngấu
+ngấy
+ngầm
+ngần
+ngầu
+ngầy
+ngẩm
+ngẩn
+ngẩng
+ngẫm
+ngẫn
+ngẫu
+ngậm
+ngận
+ngập
+ngật
+ngậu
+ngậy
+ngắc
+ngắm
+ngắn
+ngắt
+ngằn
+ngẳng
+ngẵng
+ngặt
+ngọ
+ngọc
+ngọn
+ngọng
+ngọt
+ngỏ
+ngỏm
+ngỏn
+ngỏng
+ngố
+ngốc
+ngốn
+ngốt
+ngồi
+ngồm
+ngồn
+ngồng
+ngổ
+ngổm
+ngổn
+ngỗ
+ngỗng
+ngộ
+ngộc
+ngộn
+ngột
+ngớ
+ngớn
+ngớp
+ngớt
+ngờ
+ngời
+ngờm
+ngỡ
+ngợ
+ngợi
+ngợm
+ngợp
+ngụ
+ngụa
+ngục
+ngụm
+ngụp
+ngủ
+ngủi
+ngủn
+ngứ
+ngứa
+ngứt
+ngừ
+ngừa
+ngừng
+ngửa
+ngửi
+ngửng
+ngữ
+ngự
+ngựa
+ngực
+nha
+nhai
+nham
+nhan
+nhang
+nhanh
+nhao
+nhau
+nhay
+nhe
+nhem
+nhen
+nheo
+nhi
+nhinh
+nhiu
+nhiên
+nhiêu
+nhiếc
+nhiếp
+nhiều
+nhiễm
+nhiễn
+nhiễu
+nhiệm
+nhiệt
+nho
+nhoai
+nhoang
+nhoay
+nhoe
+nhoen
+nhoi
+nhom
+nhong
+nhoà
+nhoài
+nhoàm
+nhoá
+nhoáng
+nhoáy
+nhoè
+nhoèn
+nhoé
+nhoét
+nhoạng
+nhoẹt
+nhoẻn
+nhu
+nhui
+nhung
+nhuyễn
+nhuôm
+nhuần
+nhuận
+nhuế
+nhuệ
+nhuốc
+nhuốm
+nhuộm
+nhuỵ
+nhà
+nhài
+nhàm
+nhàn
+nhàng
+nhành
+nhào
+nhàu
+nhày
+nhá
+nhác
+nhách
+nhái
+nhám
+nháng
+nhánh
+nháo
+nháp
+nhát
+nháy
+nhâm
+nhân
+nhâng
+nhâu
+nhây
+nhã
+nhãi
+nhãn
+nhãng
+nhão
+nhè
+nhèm
+nhèo
+nhé
+nhén
+nhéo
+nhép
+nhét
+nhênh
+nhì
+nhìn
+nhí
+nhía
+nhích
+nhím
+nhín
+nhíp
+nhít
+nhíu
+nhò
+nhòm
+nhó
+nhóc
+nhói
+nhóm
+nhón
+nhóng
+nhóp
+nhót
+nhô
+nhôi
+nhôm
+nhôn
+nhông
+nhõ
+nhõm
+nhõn
+nhù
+nhùi
+nhùn
+nhùng
+nhú
+nhúa
+nhúc
+nhúm
+nhún
+nhúng
+nhút
+nhăm
+nhăn
+nhăng
+nhĩ
+nhũ
+nhũn
+nhũng
+nhơ
+nhơi
+nhơm
+nhơn
+như
+nhưng
+nhương
+nhướng
+nhường
+nhưỡng
+nhược
+nhượng
+nhạc
+nhạn
+nhạnh
+nhạo
+nhạp
+nhạt
+nhạy
+nhả
+nhải
+nhảm
+nhản
+nhảnh
+nhảu
+nhảy
+nhấc
+nhấm
+nhấn
+nhấp
+nhất
+nhầm
+nhần
+nhầy
+nhẩm
+nhẫn
+nhẫy
+nhậm
+nhận
+nhập
+nhật
+nhậu
+nhậy
+nhắc
+nhắm
+nhắn
+nhắng
+nhắp
+nhắt
+nhằm
+nhằn
+nhằng
+nhẳn
+nhẳng
+nhẵn
+nhẵng
+nhặm
+nhặn
+nhặng
+nhặt
+nhẹ
+nhẹm
+nhẹn
+nhẹo
+nhẹp
+nhẹt
+nhẻ
+nhẻm
+nhẽ
+nhẽo
+nhện
+nhệu
+nhỉ
+nhỉnh
+nhị
+nhịn
+nhịp
+nhịt
+nhịu
+nhọ
+nhọc
+nhọn
+nhọt
+nhỏ
+nhỏm
+nhỏng
+nhố
+nhốc
+nhối
+nhốn
+nhốt
+nhồi
+nhồm
+nhồn
+nhồng
+nhổ
+nhổm
+nhổn
+nhộn
+nhộng
+nhột
+nhớ
+nhớm
+nhớn
+nhớp
+nhớt
+nhờ
+nhời
+nhờn
+nhở
+nhởn
+nhỡ
+nhợ
+nhợt
+nhụ
+nhụa
+nhục
+nhụi
+nhụng
+nhụt
+nhủ
+nhủi
+nhủn
+nhứ
+nhức
+nhứt
+nhừ
+nhử
+nhửng
+những
+nhự
+nhựa
+nhựt
+ni
+nia
+nin
+ninh
+niu
+niêm
+niên
+niêu
+niết
+niềm
+niền
+niềng
+niễng
+niệm
+niệt
+niệu
+no
+noa
+noi
+nom
+non
+nong
+noãn
+nua
+nung
+nuôi
+nuông
+nuốc
+nuối
+nuốm
+nuốt
+nuộc
+nuột
+nà
+nài
+nàn
+nàng
+nành
+nào
+này
+ná
+nác
+nách
+nái
+nám
+nán
+náng
+nánh
+náo
+nát
+náu
+náy
+nân
+nâng
+nâu
+nây
+nã
+não
+nãy
+nè
+nèo
+né
+ném
+nén
+néo
+nép
+nét
+nê
+nêm
+nên
+nêu
+nì
+nình
+ních
+nín
+nính
+níp
+nít
+níu
+nò
+nòi
+nó
+nóc
+nói
+nón
+nóng
+nót
+nô
+nôi
+nôm
+nôn
+nông
+nõ
+nõn
+nùi
+nùn
+nùng
+núc
+núi
+núm
+núng
+núp
+nút
+năm
+năn
+năng
+nĩa
+nũng
+nơ
+nơi
+nơm
+nư
+nưa
+nưng
+nương
+nước
+nướng
+nườm
+nường
+nược
+nượp
+nạ
+nạc
+nại
+nạm
+nạn
+nạng
+nạnh
+nạo
+nạp
+nạt
+nạy
+nả
+nải
+nản
+nảy
+nấc
+nấm
+nấng
+nấp
+nấu
+nấy
+nầm
+nần
+nầy
+nẩy
+nẫng
+nẫu
+nậm
+nậng
+nập
+nậu
+nậy
+nắc
+nắm
+nắn
+nắng
+nắp
+nằm
+nằn
+nằng
+nặc
+nặn
+nặng
+nẹp
+nẹt
+nẻ
+nẻo
+nếm
+nến
+nếp
+nết
+nếu
+nề
+nền
+nể
+nệ
+nệm
+nện
+nỉ
+nịch
+nịnh
+nịt
+nịu
+nọ
+nọc
+nọn
+nọng
+nọt
+nỏ
+nỏi
+nố
+nốc
+nối
+nống
+nốt
+nồ
+nồi
+nồm
+nồng
+nổ
+nổi
+nỗ
+nỗi
+nỗng
+nộ
+nội
+nộm
+nộn
+nộp
+nột
+nớ
+nới
+nớp
+nớt
+nờ
+nờm
+nở
+nỡ
+nỡm
+nợ
+nợp
+nụ
+nục
+nủa
+nứa
+nức
+nứt
+nừng
+nửa
+nữ
+nữa
+nự
+nực
+nựng
+o
+oa
+oai
+oan
+oang
+oanh
+oe
+oi
+om
+ong
+oà
+oàm
+oàng
+oành
+oác
+oách
+oái
+oán
+oát
+oé
+oăm
+oăng
+oạch
+oại
+oạp
+oải
+oản
+oắt
+oằn
+oẳn
+oẳng
+oặt
+oẹ
+oẻ
+pa
+palăng
+pan
+pao
+pe
+pha
+phai
+phang
+phanh
+phao
+phau
+phay
+phe
+phen
+pheo
+phi
+phim
+phin
+phinh
+phiu
+phiên
+phiêu
+phiếm
+phiến
+phiết
+phiếu
+phiền
+phiện
+phiệt
+pho
+phoi
+phom
+phong
+phu
+phui
+phun
+phung
+phuy
+phà
+phàm
+phàn
+phàng
+phành
+phào
+phá
+phác
+phách
+phái
+phán
+pháo
+pháp
+phát
+phân
+phây
+phè
+phèn
+phèng
+phèo
+phéng
+phép
+phét
+phê
+phên
+phì
+phìa
+phình
+phí
+phía
+phích
+phím
+phính
+phò
+phòi
+phòng
+phó
+phóc
+phóng
+phót
+phô
+phôi
+phôm
+phông
+phù
+phùn
+phùng
+phú
+phúc
+phún
+phúng
+phút
+phăm
+phăn
+phăng
+phĩnh
+phũ
+phơ
+phơi
+phơn
+phưng
+phương
+phước
+phướn
+phướng
+phường
+phưỡn
+phượng
+phượu
+phạch
+phạm
+phạn
+phạng
+phạt
+phả
+phải
+phản
+phảng
+phảy
+phấn
+phấp
+phất
+phầm
+phần
+phẩm
+phẩn
+phẩy
+phẫn
+phẫu
+phận
+phập
+phật
+phắc
+phắn
+phắp
+phắt
+phẳng
+phẹt
+phế
+phếch
+phết
+phề
+phềnh
+phều
+phễn
+phễu
+phệ
+phệnh
+phệt
+phỉ
+phỉnh
+phị
+phịa
+phịch
+phịt
+phịu
+phọng
+phọt
+phỏng
+phố
+phốc
+phối
+phốp
+phồ
+phồm
+phồn
+phồng
+phổ
+phổi
+phổng
+phỗng
+phộng
+phới
+phớt
+phờ
+phở
+phỡn
+phụ
+phục
+phụng
+phụt
+phủ
+phủi
+phứa
+phức
+phứt
+phừng
+phựa
+phựt
+pi
+pin
+ping
+pom
+pu
+pác
+páp
+pê
+pô
+pông
+pơ
+qua
+quai
+quan
+quang
+quanh
+quao
+quau
+quay
+que
+quen
+queo
+quoàng
+quoạng
+quoắt
+quy
+quyên
+quyến
+quyết
+quyền
+quyển
+quyện
+quyệt
+quà
+quài
+quàn
+quàng
+quành
+quào
+quàu
+quày
+quá
+quác
+quách
+quái
+quán
+quáng
+quánh
+quáo
+quát
+quáu
+quân
+quây
+quãng
+què
+quèn
+quèo
+qué
+quén
+quéo
+quét
+quê
+quên
+quít
+quý
+quýnh
+quýt
+quăm
+quăn
+quăng
+quơ
+quạ
+quạc
+quạch
+quại
+quạng
+quạnh
+quạt
+quạu
+quạy
+quả
+quải
+quản
+quảng
+quảy
+quấc
+quấn
+quất
+quấy
+quần
+quầng
+quầy
+quẩn
+quẩng
+quẩy
+quẫn
+quẫy
+quận
+quật
+quậy
+quắc
+quắm
+quắn
+quắp
+quắt
+quằn
+quẳm
+quẳng
+quặc
+quặm
+quặn
+quặng
+quặp
+quặt
+quẹo
+quẹt
+quẻ
+quẽ
+quế
+quết
+quếu
+quềnh
+quều
+quệ
+quệch
+quện
+quệnh
+quệt
+quịt
+quốc
+quớ
+quờ
+quở
+quỳ
+quỳnh
+quỵ
+quỵt
+quỷ
+quỷnh
+quỹ
+ra
+rai
+ram
+ran
+rang
+ranh
+rao
+rau
+ray
+re
+ren
+reng
+reo
+ri
+ria
+rim
+rin
+rinh
+riu
+riêng
+riêu
+riết
+riếu
+riềm
+riềng
+riệt
+ro
+roa
+roi
+rom
+rong
+ru
+rua
+rum
+run
+rung
+ruốc
+ruối
+ruồi
+ruồng
+ruổi
+ruỗng
+ruộm
+ruộng
+ruột
+rà
+rài
+ràn
+ràng
+rành
+rào
+rày
+rá
+rác
+rách
+rái
+rám
+rán
+ráng
+ráo
+ráp
+rát
+ráy
+râm
+rân
+râu
+rây
+rã
+rãi
+rãnh
+rão
+rãy
+rè
+rèm
+rèn
+rèo
+ré
+rén
+réo
+rét
+rê
+rên
+rêu
+rì
+rìa
+rình
+rìu
+rí
+rích
+rít
+ríu
+rò
+ròi
+ròm
+ròng
+ró
+róc
+rói
+róm
+rón
+róng
+rót
+rô
+rôm
+rông
+rõ
+rõi
+rù
+rùa
+rùm
+rùn
+rùng
+rú
+rúc
+rúi
+rúm
+rún
+rúng
+rúp
+rút
+răm
+răn
+răng
+rĩ
+rũ
+rũa
+rơ
+rơi
+rơm
+rơn
+rư
+rưa
+rưng
+rươi
+rươm
+rương
+rước
+rưới
+rướm
+rướn
+rười
+rườm
+rườn
+rường
+rưởi
+rưỡi
+rượi
+rượn
+rượt
+rượu
+rạ
+rạc
+rạch
+rạn
+rạng
+rạo
+rạp
+rạt
+rạy
+rả
+rải
+rảnh
+rảo
+rảy
+rấm
+rấn
+rấp
+rất
+rầm
+rần
+rầu
+rầy
+rẩm
+rẩy
+rẫm
+rẫy
+rậm
+rận
+rập
+rật
+rắc
+rắm
+rắn
+rắp
+rắt
+rằm
+rằn
+rằng
+rặng
+rặt
+rẹo
+rẹt
+rẻ
+rẻng
+rẻo
+rẽ
+rế
+rếch
+rến
+rếp
+rết
+rề
+rền
+rều
+rể
+rểnh
+rễ
+rệ
+rệch
+rện
+rệp
+rệt
+rệu
+rỉ
+rỉa
+rỉnh
+rịa
+rịch
+rịn
+rịt
+rọ
+rọc
+rọi
+rọm
+rọt
+rỏ
+rỏm
+rỏn
+rốc
+rối
+rốn
+rống
+rốp
+rốt
+rồ
+rồi
+rồm
+rồng
+rổ
+rổi
+rổng
+rỗ
+rỗi
+rỗng
+rộ
+rộc
+rộm
+rộn
+rộng
+rộp
+rớ
+rớm
+rớt
+rờ
+rời
+rờm
+rờn
+rở
+rởm
+rởn
+rỡ
+rỡn
+rợ
+rợi
+rợm
+rợn
+rợp
+rợt
+rục
+rụi
+rụng
+rụt
+rủ
+rủa
+rủi
+rủn
+rủng
+rứa
+rức
+rứt
+rừng
+rửa
+rửng
+rữa
+rựa
+rực
+sa
+sai
+sam
+san
+sang
+sanh
+sao
+sau
+say
+se
+sen
+seo
+si
+sim
+sin
+sinh
+siu
+siêng
+siêu
+siết
+siểm
+siểng
+siễn
+so
+soa
+soi
+son
+song
+soong
+soà
+soài
+soái
+soán
+soát
+soóc
+soạn
+soạng
+soạt
+su
+sui
+sum
+sun
+sung
+suy
+suyển
+suyễn
+suê
+suôn
+suông
+suý
+suýt
+suất
+suối
+suốt
+suồng
+suỵt
+sà
+sài
+sàm
+sàn
+sàng
+sành
+sào
+sá
+sác
+sách
+sái
+sám
+sán
+sáng
+sánh
+sáo
+sáp
+sát
+sáu
+sâm
+sân
+sâu
+sây
+sã
+sãi
+sè
+sèo
+séc
+sém
+sét
+sê
+sên
+sênh
+sêu
+sì
+sình
+sính
+sít
+sò
+sòi
+sòm
+sòng
+sóc
+sói
+sóm
+són
+sóng
+sót
+sô
+sôi
+sông
+sõi
+sõng
+sù
+sùi
+sùm
+sùng
+sú
+súc
+sún
+súng
+súp
+sút
+săm
+săn
+săng
+sĩ
+sũng
+sơ
+sơm
+sơn
+sư
+sưa
+sưng
+sưu
+sương
+sướng
+sướt
+sườn
+sường
+sưởi
+sượng
+sượt
+sạ
+sạch
+sạm
+sạn
+sạo
+sạp
+sạt
+sả
+sải
+sản
+sảng
+sảnh
+sảo
+sảy
+sấm
+sấn
+sấp
+sất
+sấu
+sấy
+sầm
+sần
+sầu
+sầy
+sẩm
+sẩn
+sẩy
+sẫm
+sậm
+sập
+sật
+sậu
+sậy
+sắc
+sắm
+sắn
+sắng
+sắp
+sắt
+sằng
+sẵn
+sặc
+sặm
+sặt
+sẹ
+sẹm
+sẹo
+sẻ
+sẻn
+sẽ
+sến
+sếp
+sếu
+sề
+sền
+sể
+sểnh
+sễ
+sệ
+sệt
+sỉ
+sỉa
+sỉnh
+sị
+sịa
+sịch
+sịt
+sọ
+sọc
+sọm
+sọt
+sỏ
+sỏi
+số
+sốc
+sống
+sốp
+sốt
+sồ
+sồi
+sồn
+sồng
+sổ
+sổi
+sổng
+sỗ
+sộ
+sộp
+sột
+sớ
+sới
+sớm
+sớn
+sớt
+sờ
+sờm
+sờn
+sở
+sởi
+sởn
+sỡ
+sợ
+sợi
+sụ
+sụa
+sục
+sụm
+sụn
+sụp
+sụt
+sủa
+sủi
+sủng
+sứ
+sứa
+sức
+sứt
+sừn
+sừng
+sử
+sửa
+sửng
+sửu
+sữa
+sững
+sự
+sực
+sựng
+sựt
+ta
+tai
+tam
+tan
+tang
+tanh
+tao
+tay
+te
+tem
+ten
+teng
+teo
+tha
+thai
+tham
+than
+thang
+thanh
+thao
+thau
+thay
+the
+then
+theo
+thi
+thia
+thin
+thinh
+thiu
+thiêm
+thiên
+thiêng
+thiêu
+thiếc
+thiến
+thiếp
+thiết
+thiếu
+thiềm
+thiền
+thiềng
+thiều
+thiểm
+thiển
+thiểu
+thiện
+thiệp
+thiệt
+thiệu
+tho
+thoa
+thoai
+thoang
+thoi
+thom
+thon
+thong
+thoà
+thoàn
+thoá
+thoái
+thoán
+thoáng
+thoát
+thoăn
+thoại
+thoạt
+thoả
+thoải
+thoảng
+thoắng
+thoắt
+thu
+thua
+thui
+thum
+thun
+thung
+thuyên
+thuyết
+thuyền
+thuê
+thuôn
+thuý
+thuần
+thuẫn
+thuận
+thuật
+thuế
+thuể
+thuốc
+thuốn
+thuồn
+thuồng
+thuổng
+thuỗn
+thuộc
+thuộm
+thuở
+thuỳ
+thuỵ
+thuỷ
+thà
+thài
+thàm
+thành
+thào
+thày
+thá
+thác
+thách
+thái
+thám
+thán
+tháng
+thánh
+tháo
+tháp
+tháu
+tháy
+thâm
+thân
+thâu
+thây
+thãi
+thè
+thèm
+thèn
+thèo
+thé
+thép
+thét
+thê
+thêm
+thênh
+thêu
+thì
+thìa
+thìn
+thình
+thìu
+thí
+thía
+thích
+thím
+thín
+thính
+thíp
+thít
+thò
+thòi
+thòm
+thòng
+thó
+thóc
+thói
+thóp
+thót
+thô
+thôi
+thôn
+thông
+thõng
+thù
+thùa
+thùi
+thùm
+thùng
+thú
+thúc
+thúi
+thúng
+thút
+thăm
+thăn
+thăng
+thũng
+thơ
+thơi
+thơm
+thơn
+thư
+thưa
+thưng
+thương
+thước
+thướt
+thườn
+thường
+thưởng
+thưỡi
+thưỡn
+thược
+thượng
+thượt
+thạc
+thạch
+thạnh
+thạo
+thạp
+thả
+thải
+thảm
+thản
+thảng
+thảnh
+thảo
+thảy
+thấm
+thấp
+thất
+thấu
+thấy
+thầm
+thần
+thầu
+thầy
+thẩm
+thẩn
+thẩu
+thẫm
+thẫn
+thậm
+thận
+thập
+thật
+thắc
+thắm
+thắn
+thắng
+thắp
+thắt
+thằn
+thằng
+thẳm
+thẳng
+thặng
+thẹn
+thẹo
+thẹp
+thẻ
+thẻo
+thẽ
+thế
+thếch
+thếp
+thết
+thề
+thềm
+thều
+thể
+thểu
+thệ
+thện
+thỉ
+thỉnh
+thỉu
+thị
+thịch
+thịnh
+thịt
+thịu
+thọ
+thọc
+thọt
+thỏ
+thỏi
+thỏm
+thố
+thốc
+thối
+thốn
+thống
+thốt
+thồ
+thồi
+thồm
+thồn
+thổ
+thổi
+thổn
+thộc
+thộn
+thộp
+thớ
+thớt
+thờ
+thời
+thờn
+thở
+thợ
+thợt
+thụ
+thục
+thụi
+thụng
+thụp
+thụt
+thủ
+thủa
+thủi
+thủm
+thủng
+thứ
+thức
+thừ
+thừa
+thừng
+thử
+thửa
+thững
+thự
+thực
+ti
+tia
+tim
+tin
+tinh
+tiu
+tivi
+tiêm
+tiên
+tiêng
+tiêu
+tiếc
+tiếm
+tiến
+tiếng
+tiếp
+tiết
+tiếu
+tiềm
+tiền
+tiều
+tiểu
+tiễn
+tiễu
+tiệc
+tiệm
+tiện
+tiệp
+tiệt
+to
+toa
+toan
+toang
+toanh
+toe
+toen
+toi
+tom
+ton
+tong
+toong
+tout
+toà
+toài
+toàn
+toàng
+toác
+toái
+toán
+toáng
+toát
+toáy
+toè
+toèn
+toé
+toét
+toòng
+toạ
+toạc
+toại
+toả
+toản
+toẹt
+toẻ
+toẽ
+tra
+trai
+tram
+tran
+trang
+tranh
+trao
+trau
+tre
+treo
+tri
+trinh
+triêng
+triêu
+triến
+triết
+triền
+triềng
+triều
+triển
+triện
+triệng
+triệt
+triệu
+tro
+troi
+tron
+trong
+tru
+trui
+trun
+trung
+truy
+truyền
+truyện
+truân
+truông
+truất
+truật
+truồng
+truột
+truỵ
+trà
+trài
+tràm
+tràn
+tràng
+trành
+trào
+tràu
+trày
+trá
+trác
+trách
+trái
+trám
+trán
+tráng
+tránh
+tráo
+tráp
+trát
+trâm
+trân
+trâng
+trâu
+trây
+trã
+trãi
+trè
+trèm
+trèn
+trèo
+trém
+tréo
+trét
+trê
+trên
+trêu
+trì
+trình
+trìu
+trí
+trích
+trít
+trò
+tròi
+tròm
+tròn
+tròng
+tróc
+trói
+tróm
+tróng
+trót
+trô
+trôi
+trôm
+trôn
+trông
+trõm
+trõn
+trù
+trùi
+trùm
+trùn
+trùng
+trú
+trúc
+trúm
+trúng
+trút
+trăm
+trăn
+trăng
+trĩ
+trĩnh
+trĩu
+trũi
+trũng
+trơ
+trơi
+trơn
+trưa
+trưng
+trương
+trước
+trướng
+trườn
+trường
+trưởng
+trưỡng
+trượng
+trượt
+trạc
+trạch
+trại
+trạm
+trạng
+trạo
+trạy
+trả
+trải
+trảm
+trảng
+trảo
+trảu
+trảy
+trấn
+trấp
+trấu
+trầm
+trần
+trầu
+trầy
+trẩn
+trẩu
+trẩy
+trẫm
+trậm
+trận
+trập
+trật
+trắc
+trắm
+trắng
+trắt
+trằm
+trằn
+trặc
+trặn
+trẹ
+trẹo
+trẹt
+trẻ
+trẻo
+trẽ
+trẽn
+trếch
+trết
+trề
+trễ
+trệ
+trệch
+trệt
+trệu
+trỉa
+trị
+trịa
+trịch
+trịnh
+trịt
+trọ
+trọc
+trọi
+trọn
+trọng
+trọt
+trỏ
+trỏi
+trỏng
+trố
+trốc
+trối
+trốn
+trống
+trồ
+trồi
+trồng
+trổ
+trổi
+trổng
+trỗ
+trộ
+trộc
+trội
+trộm
+trộn
+trớ
+trớn
+trớp
+trớt
+trờ
+trời
+trờn
+trở
+trợ
+trợn
+trợt
+trụ
+trụa
+trục
+trụi
+trụm
+trụn
+trụng
+trụp
+trụt
+trủ
+trứ
+trứng
+trừ
+trừa
+trừng
+trửng
+trữ
+trự
+trực
+tu
+tua
+tui
+tum
+tun
+tung
+tuy
+tuyn
+tuyên
+tuyến
+tuyết
+tuyền
+tuyển
+tuyệt
+tuân
+tuôn
+tuông
+tuý
+tuấn
+tuất
+tuần
+tuế
+tuếch
+tuệ
+tuệch
+tuốt
+tuồn
+tuồng
+tuổi
+tuộc
+tuột
+tuỳ
+tuỵ
+tuỷ
+ty
+tà
+tài
+tàn
+tàng
+tành
+tào
+tàu
+tày
+tá
+tác
+tách
+tái
+tám
+tán
+táng
+tánh
+táo
+táp
+tát
+táu
+táy
+tâm
+tân
+tâng
+tâu
+tây
+tã
+tãi
+tè
+tèm
+tèn
+tèo
+té
+téc
+tém
+tép
+tét
+tê
+têm
+tên
+tênh
+têt
+têu
+tì
+tìm
+tình
+tí
+tía
+tích
+tím
+tín
+tính
+típ
+tít
+tíu
+tò
+tòi
+tòm
+tòn
+tòng
+tó
+tóc
+tói
+tóm
+tóp
+tót
+tô
+tôi
+tôm
+tôn
+tông
+tõm
+tù
+tùm
+tùng
+tú
+túc
+túi
+túm
+túng
+túp
+tút
+tăm
+tăn
+tăng
+tĩ
+tĩnh
+tĩu
+tũm
+tơ
+tơi
+tư
+tưa
+tưng
+tươi
+tươm
+tương
+tước
+tưới
+tướn
+tướng
+tướp
+tướt
+tườm
+tường
+tườu
+tưởi
+tưởng
+tược
+tượng
+tượp
+tượt
+tạ
+tạc
+tạch
+tại
+tạm
+tạng
+tạnh
+tạo
+tạp
+tạt
+tả
+tải
+tản
+tảng
+tảo
+tấc
+tấm
+tấn
+tấp
+tất
+tấu
+tấy
+tầm
+tần
+tầng
+tầy
+tẩm
+tẩn
+tẩu
+tẩy
+tận
+tập
+tật
+tậu
+tắc
+tắm
+tắn
+tắp
+tắt
+tằm
+tằn
+tằng
+tẳn
+tặc
+tặn
+tặng
+tẹo
+tẹp
+tẹt
+tẻ
+tẻm
+tẻo
+tẽ
+tẽn
+tế
+tếch
+tết
+tếu
+tề
+tềnh
+tể
+tểnh
+tễ
+tễnh
+tệ
+tệp
+tỉ
+tỉa
+tỉm
+tỉnh
+tị
+tịch
+tịnh
+tịt
+tịu
+tọc
+tọng
+tọp
+tọt
+tỏ
+tỏi
+tỏm
+tỏng
+tố
+tốc
+tối
+tốn
+tống
+tốp
+tốt
+tồ
+tồi
+tồn
+tồng
+tổ
+tổn
+tổng
+tộ
+tộc
+tội
+tột
+tớ
+tới
+tớn
+tớp
+tớt
+tờ
+tời
+tởm
+tợ
+tợn
+tợp
+tụ
+tục
+tụi
+tụm
+tụng
+tụt
+tủ
+tủa
+tủi
+tủm
+tủn
+tứ
+tứa
+tức
+từ
+từng
+tử
+tửa
+tửng
+tửu
+tự
+tựa
+tựu
+tỵ
+tỷ
+u
+um
+un
+ung
+uy
+uyên
+uyển
+uôm
+uý
+uất
+uẩn
+uẩy
+uế
+uể
+uốn
+uống
+uổng
+uột
+uở
+uỳnh
+uỵch
+uỷ
+v
+va
+vai
+van
+vang
+vanh
+vao
+vay
+ve
+ven
+veo
+vi
+vinh
+viêm
+viên
+viếng
+viết
+viền
+viển
+viễn
+việc
+viện
+việt
+vo
+voan
+voi
+von
+vong
+vu
+vua
+vui
+vun
+vung
+vuông
+vuốt
+vuột
+và
+vài
+vàm
+vàn
+vàng
+vành
+vào
+vày
+vá
+vác
+vách
+vái
+ván
+váng
+vánh
+váo
+váp
+vát
+váy
+vâm
+vân
+vâng
+vây
+vã
+vãi
+vãn
+vãng
+vãnh
+vè
+vèo
+vé
+véc
+vén
+véo
+vét
+vê
+vên
+vênh
+vêu
+vì
+ví
+vía
+vích
+vít
+víu
+vò
+vòi
+vòm
+vòn
+vòng
+vó
+vóc
+vói
+vón
+vóng
+vót
+vô
+vôi
+vôn
+vông
+võ
+võng
+vù
+vùa
+vùi
+vùn
+vùng
+vú
+vúc
+vút
+văn
+văng
+vĩ
+vĩnh
+vũ
+vũm
+vũng
+vơ
+vơi
+vưng
+vưu
+vươn
+vương
+vướng
+vườn
+vưởng
+vược
+vượn
+vượng
+vượt
+vạ
+vạc
+vạch
+vại
+vạm
+vạn
+vạng
+vạnh
+vạp
+vạt
+vạy
+vả
+vải
+vảng
+vảy
+vấn
+vấp
+vất
+vấu
+vấy
+vần
+vầng
+vầu
+vầy
+vẩn
+vẩu
+vẩy
+vẫn
+vẫy
+vậm
+vận
+vập
+vật
+vậy
+vắc
+vắn
+vắng
+vắt
+vằm
+vằn
+vằng
+vẳng
+vặc
+vặn
+vặt
+vẹm
+vẹn
+vẹo
+vẹt
+vẻ
+vẻn
+vẻo
+vẽ
+vế
+vếch
+vết
+vếu
+về
+vền
+vều
+vểnh
+vệ
+vện
+vệt
+vỉ
+vỉa
+vị
+vịm
+vịn
+vịnh
+vịt
+vọ
+vọc
+vọi
+vọng
+vọp
+vọt
+vỏ
+vỏn
+vỏng
+vố
+vốc
+vối
+vốn
+vống
+vồ
+vồi
+vồn
+vồng
+vổ
+vổng
+vỗ
+vội
+vớ
+với
+vớt
+vờ
+vời
+vờn
+vở
+vởn
+vỡ
+vợ
+vợi
+vợt
+vụ
+vục
+vụn
+vụng
+vụt
+vức
+vứt
+vừa
+vừng
+vửng
+vữa
+vững
+vựa
+vực
+vựng
+web
+xa
+xam
+xan
+xang
+xanh
+xao
+xay
+xe
+xem
+xen
+xeo
+xi
+xia
+xim
+xin
+xinh
+xit
+xiêm
+xiên
+xiêu
+xiếc
+xiết
+xiềng
+xiểm
+xiển
+xiểng
+xo
+xoa
+xoan
+xoang
+xoay
+xoe
+xoen
+xoi
+xom
+xon
+xong
+xoong
+xoà
+xoài
+xoàm
+xoàn
+xoàng
+xoành
+xoá
+xoác
+xoát
+xoáy
+xoã
+xoè
+xoèn
+xoét
+xoăn
+xoạc
+xoạch
+xoạng
+xoả
+xoải
+xoảng
+xoắn
+xoẹ
+xoẹt
+xu
+xua
+xui
+xum
+xung
+xuy
+xuya
+xuynh
+xuyên
+xuyến
+xuyết
+xuân
+xuây
+xuê
+xuôi
+xuý
+xuýt
+xuất
+xuẩn
+xuề
+xuềnh
+xuể
+xuệch
+xuống
+xuồng
+xuổng
+xuỳ
+xuỵt
+xà
+xài
+xàm
+xàng
+xành
+xào
+xàu
+xá
+xác
+xách
+xái
+xám
+xán
+xáo
+xáp
+xát
+xáy
+xâm
+xâu
+xây
+xã
+xè
+xèn
+xèng
+xèo
+xé
+xéc
+xén
+xéo
+xép
+xét
+xê
+xên
+xênh
+xêu
+xì
+xình
+xìu
+xí
+xía
+xích
+xính
+xít
+xíu
+xòm
+xòng
+xó
+xóc
+xói
+xóm
+xón
+xóp
+xót
+xô
+xôi
+xôm
+xôn
+xông
+xõm
+xõng
+xù
+xùi
+xùm
+xùng
+xú
+xúc
+xúi
+xúm
+xúng
+xúp
+xút
+xăm
+xăn
+xăng
+xĩnh
+xũ
+xơ
+xơi
+xơm
+xơn
+xưa
+xưng
+xương
+xước
+xướng
+xười
+xưởng
+xược
+xạ
+xạc
+xạch
+xạo
+xạp
+xạu
+xả
+xảm
+xảnh
+xảo
+xảu
+xảy
+xấc
+xấp
+xấu
+xầm
+xẩm
+xẩn
+xẩu
+xẩy
+xập
+xắc
+xắm
+xắn
+xắp
+xằng
+xẵng
+xẹc
+xẹo
+xẹp
+xẹt
+xẻ
+xẻn
+xẻng
+xẻo
+xẽo
+xế
+xếch
+xếp
+xềm
+xềnh
+xều
+xể
+xệ
+xệch
+xệp
+xệu
+xỉ
+xỉa
+xỉn
+xỉnh
+xỉu
+xị
+xịch
+xịt
+xịu
+xọ
+xọc
+xọp
+xỏ
+xỏng
+xố
+xốc
+xối
+xốn
+xống
+xốp
+xốt
+xồ
+xồm
+xồn
+xồng
+xổ
+xổi
+xổm
+xổng
+xộc
+xộn
+xộp
+xớ
+xới
+xớp
+xớt
+xờ
+xờm
+xở
+xởi
+xởn
+xỡ
+xợp
+xợt
+xụ
+xục
+xụi
+xụp
+xủng
+xứ
+xức
+xứng
+xừ
+xử
+xửa
+xửng
+xực
+y
+yên
+yêng
+yêu
+yếm
+yến
+yết
+yếu
+yểm
+yểng
+yểu
+ào
+ác
+ách
+ái
+ám
+án
+áng
+ánh
+áo
+áp
+át
+áy
+âm
+ân
+âu
+èo
+éc
+ém
+én
+éo
+ép
+ét
+êm
+êu
+ìn
+ình
+ích
+ín
+ít
+òi
+òm
+òng
+óc
+ói
+óng
+óp
+ót
+ôi
+ôm
+ôn
+ông
+ùa
+ùm
+ùn
+ùng
+úa
+úi
+úm
+úng
+úp
+út
+ăm
+ăn
+ăng
+đa
+đai
+đam
+đan
+đang
+đanh
+đao
+đau
+đay
+đe
+đem
+đen
+đeo
+đi
+đin
+đinh
+điên
+điêu
+điếc
+điếm
+điếng
+điếu
+điền
+điều
+điểm
+điển
+điểu
+điệm
+điện
+điệp
+điệu
+đo
+đoan
+đoi
+đom
+đon
+đong
+đoài
+đoàn
+đoàng
+đoành
+đoá
+đoái
+đoán
+đoãng
+đoạ
+đoạn
+đoạt
+đoản
+đoảng
+đu
+đua
+đui
+đum
+đun
+đung
+đuôi
+đuốc
+đuối
+đuổi
+đuỗn
+đuột
+đà
+đài
+đàm
+đàn
+đàng
+đành
+đào
+đày
+đá
+đác
+đách
+đái
+đám
+đán
+đáng
+đánh
+đáo
+đáp
+đát
+đáy
+đâm
+đâu
+đây
+đã
+đãi
+đãng
+đãy
+đè
+đèm
+đèn
+đèo
+đéc
+đéo
+đét
+đê
+đêm
+đên
+đênh
+đêu
+đì
+đìa
+đình
+đìu
+đía
+đích
+đính
+đít
+đò
+đòi
+đòm
+đòn
+đòng
+đó
+đóc
+đói
+đóm
+đón
+đóng
+đót
+đô
+đôi
+đôm
+đôn
+đông
+đõ
+đù
+đùa
+đùi
+đùm
+đùn
+đùng
+đú
+đúc
+đúm
+đún
+đúng
+đúp
+đút
+đăm
+đăng
+đĩ
+đĩa
+đĩnh
+đũa
+đũng
+đơ
+đơm
+đơn
+đưa
+đưng
+đương
+đước
+đười
+đườn
+đường
+đưỡn
+được
+đượm
+đạc
+đạch
+đại
+đạm
+đạn
+đạo
+đạp
+đạt
+đả
+đảm
+đản
+đảng
+đảo
+đảy
+đấm
+đấng
+đất
+đấu
+đấy
+đầm
+đần
+đầu
+đầy
+đẩu
+đẩy
+đẫm
+đẫn
+đẫy
+đậm
+đận
+đập
+đật
+đậu
+đậy
+đắc
+đắm
+đắn
+đắng
+đắp
+đắt
+đằm
+đằn
+đằng
+đẳng
+đẵm
+đẵn
+đẵng
+đặc
+đặn
+đặng
+đặt
+đẹn
+đẹp
+đẹt
+đẻ
+đẽ
+đẽo
+đế
+đếch
+đếm
+đến
+đề
+đềm
+đền
+đềnh
+đều
+để
+đểnh
+đểu
+đễ
+đễnh
+đệ
+đệm
+đệp
+đỉa
+đỉnh
+địa
+địch
+định
+địt
+địu
+đọ
+đọc
+đọi
+đọn
+đọng
+đọp
+đọt
+đỏ
+đỏi
+đỏm
+đố
+đốc
+đối
+đốm
+đốn
+đống
+đốp
+đốt
+đồ
+đồi
+đồm
+đồn
+đồng
+đổ
+đổi
+đổng
+đỗ
+đỗi
+độ
+độc
+đội
+độn
+động
+độp
+đột
+đớ
+đới
+đớn
+đớp
+đớt
+đờ
+đời
+đờm
+đờn
+đởm
+đởn
+đỡ
+đợ
+đợi
+đợp
+đợt
+đụ
+đục
+đụn
+đụng
+đụp
+đụt
+đủ
+đủi
+đủng
+đứ
+đứa
+đức
+đứng
+đứt
+đừ
+đừa
+đừng
+đử
+đực
+đựng
+ĩnh
+ơi
+ơn
+ưa
+ưng
+ưu
+ươi
+ươm
+ươn
+ương
+ước
+ướm
+ướp
+ướt
+ườn
+ưỡn
+ạ
+ạch
+ạnh
+ạo
+ạt
+ả
+ải
+ảm
+ảng
+ảnh
+ảo
+ấm
+ấn
+ấp
+ất
+ấu
+ấy
+ầm
+ầy
+ẩm
+ẩn
+ẩu
+ẩy
+ậc
+ậm
+ập
+ắc
+ắng
+ắp
+ắt
+ằng
+ẳng
+ẵm
+ặc
+ặp
+ẹ
+ẹo
+ẹp
+ẹt
+ẻn
+ẻo
+ẽo
+ế
+ếch
+ếm
+ề
+ềnh
+ễnh
+ệ
+ệch
+ện
+ệnh
+ỉ
+ỉa
+ỉm
+ỉn
+ỉu
+ị
+ịch
+ịt
+ọ
+ọc
+ọi
+ọp
+ọt
+ỏi
+ỏm
+ỏn
+ỏng
+ố
+ốc
+ối
+ốm
+ống
+ốp
+ốt
+ồ
+ồm
+ồn
+ồng
+ổ
+ổi
+ổn
+ổng
+ộ
+ộc
+ộn
+ộp
+ớ
+ới
+ớm
+ớn
+ớt
+ờ
+ờn
+ở
+ỡm
+ợ
+ợt
+ụ
+ụa
+ục
+ụp
+ụt
+ủ
+ủa
+ủi
+ủn
+ủng
+ứ
+ứa
+ức
+ứng
+ừ
+ừng
+ửng
+ựa
+ực
+ỷ
diff --git a/l10n-vi/mobile/android/chrome/browser.properties b/l10n-vi/mobile/android/chrome/browser.properties
new file mode 100644
index 0000000000..fa2f1f3b65
--- /dev/null
+++ b/l10n-vi/mobile/android/chrome/browser.properties
@@ -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/.
+
+# Popup Blocker
+
+# In Extension.jsm
+
+
+# LOCALIZATION NOTE (password.logins): Label that will be used in
+ # Web Console API
+stacktrace.anonymousFunction=<vô danh>
+stacktrace.outputMessage=Truy stack từ %S, hàm %S, dòng %S.
+timer.start=%S: Đã khởi động đồng hồ
+
+# LOCALIZATION NOTE (timer.end):
+# This string is used to display the result of the console.timeEnd() call.
+# %1$S=name of timer, %2$S=number of milliseconds
+timer.end=%1$S: %2$Sms
+
+# Site settings dialog
+
+# In ContextualIdentityService.jsm
+
+# LOCALIZATION NOTE (userContextPersonal.label,
+# userContextWork.label,
+# userContextShopping.label,
+# userContextBanking.label,
+# userContextNone.label):
+# These strings specify the four predefined contexts included in support of the
+# Contextual Identity / Containers project. Each context is meant to represent
+# the context that the user is in when interacting with the site. Different
+# contexts will store cookies and other information from those sites in
+# different, isolated locations. You can enable the feature by typing
+# about:config in the URL bar and changing privacy.userContext.enabled to true.
+# Once enabled, you can open a new tab in a specific context by clicking
+# File > New Container Tab > (1 of 4 contexts). Once opened, you will see these
+# strings on the right-hand side of the URL bar.
+# In android this will be only exposed by web extensions
+userContextPersonal.label = Cá nhân
+userContextWork.label = Công việc
+userContextBanking.label = Ngân hàng
+userContextShopping.label = Mua sắm
+
diff --git a/l10n-vi/mobile/android/chrome/passwordmgr.properties b/l10n-vi/mobile/android/chrome/passwordmgr.properties
new file mode 100644
index 0000000000..9e5faa0fdb
--- /dev/null
+++ b/l10n-vi/mobile/android/chrome/passwordmgr.properties
@@ -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/.
+
+# String will be replaced by brandShortName.
+saveLogin=Bạn có muốn %S nhớ thông tin đăng nhập này?
+rememberButton=Lưu lại
+neverButton=Không bao giờ
+
+# String is the login's hostname
+updatePassword=Cập nhật mật khẩu đã lưu cho %S?
+updatePasswordNoUser=Cập nhật mật khẩu đã lưu cho thông tin đăng nhập này?
+updateButton=Cập nhật
+dontUpdateButton=Không cập nhật
+
+userSelectText2=Chọn đăng nhập để cập nhật:
+passwordChangeTitle=Xác nhận Thay đổi Mật khẩu
+
+username=Tên đăng nhập
+password=Mật khẩu
diff --git a/l10n-vi/mobile/android/mobile-l10n.js b/l10n-vi/mobile/android/mobile-l10n.js
new file mode 100644
index 0000000000..b410ad9aef
--- /dev/null
+++ b/l10n-vi/mobile/android/mobile-l10n.js
@@ -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/.
+
+#filter substitution
+
diff --git a/l10n-vi/mobile/android/mobile/android/aboutConfig.ftl b/l10n-vi/mobile/android/mobile/android/aboutConfig.ftl
new file mode 100644
index 0000000000..20ea4c8f2a
--- /dev/null
+++ b/l10n-vi/mobile/android/mobile/android/aboutConfig.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/.
+
+config-toolbar-search =
+ .placeholder = Tìm kiếm
+config-new-pref-name =
+ .placeholder = Tên
+
+config-new-pref-value-boolean = Luận lí
+config-new-pref-value-string = Chuỗi
+config-new-pref-value-integer = Số nguyên
+
+config-new-pref-string =
+ .placeholder = Nhập một chuỗi
+config-new-pref-number =
+ .placeholder = Nhập một số
+config-new-pref-cancel-button = Hủy bỏ
+config-new-pref-create-button = Tạo
+config-new-pref-change-button = Thay đổi
+
+config-pref-toggle-button = Bật/Tắt
+config-pref-reset-button = Mặc định
+
+config-context-menu-copy-pref-name =
+ .label = Sao chép tên
+config-context-menu-copy-pref-value =
+ .label = Sao chép giá trị
diff --git a/l10n-vi/mobile/android/mobile/android/geckoViewConsole.ftl b/l10n-vi/mobile/android/mobile/android/geckoViewConsole.ftl
new file mode 100644
index 0000000000..5fa942af12
--- /dev/null
+++ b/l10n-vi/mobile/android/mobile/android/geckoViewConsole.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/.
+
+
+## Web Console API (in GeckoViewConsole.sys.mjs)
+
+console-stacktrace-anonymous-function = <vô danh>
+# Variables:
+# $filename (String): Source file name
+# $functionName (String): JavaScript function name
+# $lineNumber (String): The line number of the stacktrace call
+console-stacktrace = Truy stack từ { $filename }, hàm { $functionName }, dòng { $lineNumber }.
+# Variables:
+# $name (String): user-defined name for the timer
+console-timer-start = { $name }: Đã khởi động đồng hồ
+# This string is used to display the result of the console.timeEnd() call.
+#
+# Variables:
+# $name (String): user-defined name for the timer
+# $duration (String): number of milliseconds
+console-timer-end = { $name }: { $duration }ms
diff --git a/l10n-vi/mobile/chrome/region.properties b/l10n-vi/mobile/chrome/region.properties
new file mode 100644
index 0000000000..7204fdac3d
--- /dev/null
+++ b/l10n-vi/mobile/chrome/region.properties
@@ -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 https://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: REVIEW_REQUIRED
+# Please do not commit any changes to this file without a review from the
+# l10n-drivers team (this includes en-US). In order to get one, please file
+# a bug, add the "productization" keyword and CC l10n@mozilla.com.
+
+# 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/.
+
+# Increment this number when anything gets changed in the list below. This will
+# cause Firefox to re-read these prefs and inject any new handlers into the
+# profile database. Note that "new" is defined as "has a different URL"; this
+# means that it's not possible to update the name of existing handler, so don't
+# make any spelling errors here.
+gecko.handlerService.defaultHandlersVersion=3
+
+# The default set of protocol handlers for mailto:
+gecko.handlerService.schemes.mailto.0.name=Yahoo! Mail
+gecko.handlerService.schemes.mailto.0.uriTemplate=https://compose.mail.yahoo.com/?To=%s
+gecko.handlerService.schemes.mailto.1.name=Gmail
+gecko.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s
+
+# This is the default set of web based feed handlers shown in the reader
+# selection UI
+browser.contentHandlers.types.0.title=My Yahoo!
+browser.contentHandlers.types.0.uri=https://add.my.yahoo.com/rss?url=%s
+
diff --git a/l10n-vi/netwerk/necko.properties b/l10n-vi/netwerk/necko.properties
new file mode 100644
index 0000000000..feda012ef5
--- /dev/null
+++ b/l10n-vi/netwerk/necko.properties
@@ -0,0 +1,100 @@
+# 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/.
+
+3=Đang giải quyết máy chủ %1$S…
+4=Đã kết nối tới %1$S…
+5=Đang gửi yêu cầu đến %1$S…
+6=Đang tải dữ liệu từ %1$S…
+7=Đang kết nối tới %1$S…
+8=Đã đọc %1$S
+9=Đã ghi %1$S
+10=Đang đợi %1$S…
+11=Đã giải quyết máy chủ %1$S…
+12=Thực hiện giao thức TLS tới %1$S…
+13=Giao thức TLS đã kết thúc tới %1$S…
+
+RepostFormData=Trang web này đang chuyển hướng sang một địa chỉ mới. Bạn có muốn gửi lại các thông tin đã nhập sang địa chỉ mới không?
+
+# Directory listing strings
+DirTitle=Chỉ số của %1$S
+DirGoUp=Chuyển lên thư mục cha
+ShowHidden=Hiện các đối tượng ẩn
+DirColName=Tên
+DirColSize=Kích thước
+DirColMTime=Sửa đổi lần cuối
+DirFileLabel=Tập tin:
+
+SuperfluousAuth=Bạn sắp đăng nhập vào trang "%1$S" với tên người dùng "%2$S", nhưng trang này không yêu cầu xác minh. Đây có thể là một sự lừa đảo.\n\nCó phải "%1$S" là trang bạn muốn vào?
+AutomaticAuth=Bạn sắp đăng nhập vào trang "%1$S" với tên người dùng "%2$S".
+
+TrackerUriBlocked=Tài nguyên tại “%1$S” đã bị chặn do chặn nội dung được bật.
+UnsafeUriBlocked=Tài nguyên tại “%1$S” đã bị chặn bởi chế độ duyệt web an toàn.
+
+# LOCALIZATION NOTE (StrictUrlProtocolSetter): %1$S is the URL that has attempted to be changed. %2$S is the invalid target protocol.
+StrictUrlProtocolSetter=Url “%1$S“ thay đổi thành giao thức “%2$S“ đã bị chặn.
+
+# LOCALIZATION NOTE (CORPBlocked): %1$S is the URL of the blocked resource. %2$S is the URL of the MDN page about CORP.
+CORPBlocked=Tài nguyên tại “%1$S” đã bị chặn do header Cross-Origin-Resource-Policy (hoặc thiếu nó). Xem %2$S
+CookieBlockedByPermission=Yêu cầu truy cập cookie hoặc bộ nhớ trên “%1$S” bị chặn vì quyền cookie tùy chỉnh.
+CookieBlockedTracker=Yêu cầu truy cập cookie hoặc bộ nhớ trên “%1$S” bị chặn vì nó đến từ trình theo dõi và chặn nội dung được bật.
+CookieBlockedAll=Yêu cầu truy cập cookie hoặc bộ nhớ trên “%1$S” bị chặn vì chúng tôi đang chặn tất cả các yêu cầu truy cập lưu trữ.
+CookieBlockedForeign=Yêu cầu truy cập cookie hoặc bộ nhớ trên “%1$S” đã bị chặn vì chúng tôi đang chặn tất cả yêu cầu truy cập bộ nhớ của bên thứ ba và chặn nội dung được bật.
+# As part of dynamic state partitioning, third-party resources might be limited to "partitioned" storage access that is separate from the first-party context.
+# This allows e.g. cookies to still be set, and prevents tracking without totally blocking storage access. This message is shown in the web console when this happens
+# to inform developers that their storage is isolated.
+CookiePartitionedForeign2=Quyền truy cập cookie hoặc bộ nhớ riêng biệt đã được cung cấp cho “%1$S”. Điều này là do nó được tải trong ngữ cảnh của bên thứ ba và tính năng cô lập trạng thái động được bật.
+
+# LOCALIZATION NOTE (CookieAllowedForOriginByStorageAccessAPI): %2$S and %1$S are URLs.
+CookieAllowedForOriginByStorageAccessAPI=Đã cấp quyền truy cập bộ nhớ cho origin “%2$S” trên “%1$S”.
+# LOCALIZATION NOTE (CookieAllowedForOriginByHeuristic): %2$S and %1$S are URLs.
+CookieAllowedForOriginByHeuristic=Đã tự động cấp quyền truy cập bộ nhớ cho origin “%2$S” trên “%1$S”.
+# LOCALIZATION NOTE (CookieAllowedForFpiByHeuristic): %2$S and %1$S are URLs.
+CookieAllowedForFpiByHeuristic=Quyền truy cập bộ nhớ tự động được cấp cho isolation First-Party “%2$S” trên “%1$S”.
+
+# LOCALIZATION NOTE(CookieRejectedNonRequiresSecure2): %1$S is the cookie name. Do not localize "SameSite=None" and "secure".
+CookieRejectedNonRequiresSecure2=Cookie “%1$S” bị từ chối vì nó có thuộc tính “SameSite=None” nhưng thiếu thuộc tính “secure”.
+# LOCALIZATION NOTE(CookieRejectedNonRequiresSecureForBeta3): %1$S is the cookie name. %2$S is a URL. Do not localize "SameSite", "SameSite=None" and "secure".
+CookieRejectedNonRequiresSecureForBeta3=Cookie “%1$S” sẽ sớm bị từ chối vì nó có thuộc tính “SameSite” được đặt thành “None” mà không có thuộc tính “secure”. Để biết thêm về thuộc tính “SameSite”, hãy đọc %2$S
+# LOCALIZATION NOTE(CookieLaxForced2): %1$S is the cookie name. Do not localize "SameSite", "Lax" and "SameSite=Lax".
+CookieLaxForced2=Cookie “%1$S” có chính sách “SameSite” được đặt thành “Lax” vì nó thiếu thuộc tính “SameSite” và “SameSite=Lax” là giá trị mặc định cho thuộc tính này.
+# LOCALIZATION NOTE(CookieLaxForcedForBeta2): %1$S is the cookie name. %2$S is a URL. Do not localize "SameSite", "Lax" and "SameSite=Lax", "SameSite=None".
+CookieLaxForcedForBeta2=Cookie “%1$S” không có giá trị thuộc tính “SameSite” thích hợp. Sau này, các cookie không có thuộc tính “SameSite” hoặc có giá trị không hợp lệ sẽ được coi là “Lax”. Điều này có nghĩa là cookie sẽ không còn được gửi trong ngữ cảnh của bên thứ ba. Nếu ứng dụng của bạn phụ thuộc vào việc cookie này có sẵn trong các ngữ cảnh như vậy, vui lòng thêm thuộc tính “SameSite=None” vào nó. Để biết thêm về thuộc tính “SameSite”, đọc %2$S
+# LOCALIZATION NOTE(CookieSameSiteValueInvalid2): %1$S is cookie name. Do not localize "SameSite", "Lax", "Strict" and "None"
+CookieSameSiteValueInvalid2=Giá trị không hợp lệ của “SameSite“ của cookie “%1$S”. Các giá trị được hỗ trợ là: “Lax“, “Strict“, “None“.
+# LOCALIZATION NOTE (CookieOversize): %1$S is the cookie name. %2$S is the number of bytes. "B" means bytes.
+CookieOversize=Cookie “%1$S” không hợp lệ vì kích thước của nó quá lớn. Kích thước tối đa là %2$S B.
+# LOCALIZATION NOTE (CookiePathOversize): %1$S is the cookie name. %2$S is the number of bytes. "B" means bytes.
+CookiePathOversize=Cookie “%1$S” không hợp lệ vì kích thước đường dẫn của nó quá lớn. Kích thước tối đa là %2$S B.
+# LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
+CookieRejectedByPermissionManager=Cookie “%1$S” đã bị từ chối bởi quyền do người dùng đặt.
+# LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
+CookieRejectedInvalidCharName=Cookie “%1$S” đã bị từ chối vì các ký tự không hợp lệ trong tên.
+# LOCALIZATION NOTE (CookieRejectedInvalidDomain): %1$S is the cookie name.
+CookieRejectedInvalidDomain=Cookie “%1$S” đã bị từ chối cho miền không hợp lệ.
+# LOCALIZATION NOTE (CookieRejectedInvalidPrefix): %1$S is the cookie name.
+CookieRejectedInvalidPrefix=Cookie “%1$S” đã bị từ chối vì tiền tố không hợp lệ.
+# LOCALIZATION NOTE (CookieRejectedInvalidCharValue): %1$S is the cookie name.
+CookieRejectedInvalidCharValue=Cookie “%1$S” đã bị từ chối vì các ký tự không hợp lệ trong giá trị.
+# LOCALIZATION NOTE (CookieRejectedHttpOnlyButFromScript): %1$S is the cookie name.
+CookieRejectedHttpOnlyButFromScript=Cookie “%1$S” đã bị từ chối vì đã có cookie chỉ HTTP nhưng tập lệnh đã cố gắng lưu trữ một cookie mới.
+# LOCALIZATION NOTE (CookieRejectedSecureButHttp): %1$S is the cookie name.
+CookieRejectedSecureButNonHttps=Cookie “%1$S” đã bị từ chối vì không thể đặt cookie không HTTPS là “secure”.
+# LOCALIZATION NOTE (CookieRejectedThirdParty): %1$S is the cookie response header.
+CookieRejectedThirdParty=Cookie “%1$S” đã bị từ chối với tư cách là bên thứ ba.
+# LOCALIZATION NOTE (CookieRejectedNonsecureOverSecure): %1$S is the cookie name.
+CookieRejectedNonsecureOverSecure=Cookie “%1$S” đã bị từ chối vì có một cookie “secure”.
+# LOCALIZATION NOTE (CookieRejectedForNonSameSiteness): %1$S is the cookie name.
+CookieRejectedForNonSameSiteness=Cookie “%1$S” đã bị từ chối vì nó nằm trong ngữ cảnh nhiều trang web và “SameSite” của nó là “Lax” hoặc “Strict”.
+
+# LOCALIZATION NOTE (CookieBlockedCrossSiteRedirect): %1$S is the cookie name. Do not translate "SameSite", "Lax" or "Strict".
+CookieBlockedCrossSiteRedirect=Cookie “%1$S” với thuộc tính “SameSite” có giá trị là “Lax” hoặc “Strict” đã bị bỏ qua do chuyển hướng giữa các trang web.
+
+# LOCALIZATION NOTE (APIDeprecationWarning): %1$S is the deprecated API; %2$S is the API function that should be used.
+APIDeprecationWarning=Cảnh báo: ‘%1$S’ không được dùng nữa, hãy sử dụng ‘%2$S’
+
+# LOCALIZATION NOTE (ResourceBlockedCORS): %1$S is the url of the resource blocked by ORB. $2$S is the reason.
+# example: The resource at <url> was blocked by OpaqueResponseBlocking. Reason: “nosniff with either blocklisted or text/plain”.
+ResourceBlockedORB=Tài nguyên tại “%1$S” bị chặn bởi OpaqueResponseBlocking. Lý do: “%2$S”.
+
+InvalidHTTPResponseStatusLine=Dòng trạng thái của phản hồi HTTP không hợp lệ
diff --git a/l10n-vi/security/manager/chrome/pipnss/nsserrors.properties b/l10n-vi/security/manager/chrome/pipnss/nsserrors.properties
new file mode 100644
index 0000000000..3644a3da00
--- /dev/null
+++ b/l10n-vi/security/manager/chrome/pipnss/nsserrors.properties
@@ -0,0 +1,331 @@
+# 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/.
+
+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 chỉ 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 chỉ 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 chỉ 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 chỉ.
+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 chỉ 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 chỉ của bạn.
+SSL_ERROR_REVOKED_CERT_ALERT=SSL máy ngang hàng từ chối vì cho rằng chứng chỉ 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 chỉ 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 chỉ 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 yêu cầu chứng chỉ sai định dạng.
+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 xác minh chứng chỉ sai định dạng.
+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 chỉ 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 chỉ 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. \u0020
+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 chỉ 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 chỉ 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 chỉ 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 chỉ: 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 chỉ 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ật hóa hoặc kí: bạn chưa có chứng chỉ 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.
+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.
+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 chỉ 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í
+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
+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 chỉ.
+SEC_ERROR_IMPORTING_CERTIFICATES=Lỗi khi đang cố nhập chứng chỉ.
+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 chỉ là không phù hợp cho thao tác đã làm.
+SEC_ERROR_INADEQUATE_CERT_TYPE=Kiểu chứng chỉ không được chấp thuận trong ứng dụng.
+SEC_ERROR_CERT_ADDR_MISMATCH=Địa chỉ trong phần kí chứng chỉ 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 chỉ 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 chỉ đã được dùng.
+SEC_ERROR_NOT_FORTEZZA_ISSUER=Chuỗi FORTEZZA ngang hàng có một Chứng chỉ 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 chỉ này không được phép cấp phát chứng chỉ có tên như vậy.
+SEC_ERROR_KRL_NOT_YET_VALID=Danh sách thu hồi khóa cho chứng chỉ này chưa hợp lệ.
+SEC_ERROR_CRL_NOT_YET_VALID=Danh sách thu hồi chứng chỉ cho chứng chỉ này chưa hợp lệ.
+SEC_ERROR_UNKNOWN_CERT=Không tìm thấy chứng chỉ yêu cầu.
+SEC_ERROR_UNKNOWN_SIGNER=Không tìm thấy chứng chỉ của người kí.
+SEC_ERROR_CERT_BAD_ACCESS_LOCATION=Vị trí của máy chủ tình trạng chứng chỉ có định dạng bất 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 chỉ.
+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 chỉ 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 chỉ có serial/tên nhà cấp phát trùng với một chứng chỉ đã có, nhưng đó không phải là cùng một chứng chỉ.
+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 chỉ kí OCSP bất hợp lệ trong phản hồi OCSP.
+SEC_ERROR_REVOKED_CERTIFICATE_CRL=Chứng chỉ bị thu hồi trong danh sách thu hồi chứng chỉ 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 chỉ đã bị thu hồi.
+SEC_ERROR_CRL_INVALID_VERSION=Danh sách Thu hồi Chứng chỉ của nhà Cấp phát 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 chỉ V1 của nhà Cấp phát có phần gia hạn nghiêm trọng.
+SEC_ERROR_CRL_UNKNOWN_CRITICAL_EXTENSION=Danh sách Thu hồi Chứng chỉ V2 của nhà Cấp phát có phần gia hạn nghiêm trọng chưa 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=Chứng chỉ của phần phản hồi OCSP được cấu hình 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 kiểm định chứng chỉ bị 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 chỉ bị thất bại khi kiểm định chính sách
+SEC_ERROR_UNKNOWN_AIA_LOCATION_TYPE=Kiểu địa điểm chưa biết trong phần mở rộng AIA chứng chỉ
+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=Địa điểm truy cập thông tin xấu trong mở rộng chứng chỉ
+SEC_ERROR_LIBPKIX_INTERNAL=Lỗi nội bộ Libpkix xảy ra trong quá trình kiểm định chứng chỉ.
+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=Không rõ phương thức truy cập thông tin trong mở rộng chứng chỉ.
+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 chỉ được ký theo thuật toán ký đã bị hủy bỏ do 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 chỉ 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 chỉ. Đối với một chứng chỉ đượ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 chỉ 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 chỉ X.509 phiên bản 1 không được tin cậy đã được sử dụng để cấp chứng chỉ máy chủ. Chứng chỉ 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 chỉ khác.
+MOZILLA_PKIX_ERROR_NOT_YET_VALID_CERTIFICATE=Máy chủ xuất trình chứng chỉ chưa hợp lệ.
+MOZILLA_PKIX_ERROR_NOT_YET_VALID_ISSUER_CERTIFICATE=Chứng chỉ chưa hợp lệ đã được sử dụng để cấp chứng chỉ máy chủ.
+MOZILLA_PKIX_ERROR_SIGNATURE_ALGORITHM_MISMATCH=Thuật toán chữ ký trong trường chữ ký của chứng chỉ 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 chỉ được xác minh.
+MOZILLA_PKIX_ERROR_VALIDITY_TOO_LONG=Máy chủ xuất trình chứng chỉ 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 chỉ 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 chỉ với một tên phân biệt nhà phát hành trống.
+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 chỉ này.
+MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT=Chứng chỉ này không đáng tin vì nó được tự kí.
diff --git a/l10n-vi/security/manager/chrome/pipnss/pipnss.properties b/l10n-vi/security/manager/chrome/pipnss/pipnss.properties
new file mode 100644
index 0000000000..a5d084c922
--- /dev/null
+++ b/l10n-vi/security/manager/chrome/pipnss/pipnss.properties
@@ -0,0 +1,136 @@
+#
+# 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/.
+
+CertPasswordPrompt=Vui lòng nhập mật khẩu cho token PKCS#11 %S.
+
+CertPasswordPromptDefault=Vui lòng nhập mật khẩu chính của bạn.
+
+# The following strings have special requirements: they must fit in a 32 or 64
+# bytes buffer after being encoded to UTF-8.
+#
+# It's possible to verify the length of a translation using the Browser Console
+# in Firefox and evaluating the following code:
+#
+# (new TextEncoder('utf-8').encode('YOURSTRING')).length
+#
+# Simply replace YOURSTRING with your translation.
+#
+# If it's not possible to produce an understandable translation within these
+# limits, keeping the English text is an acceptable workaround.
+
+# The following strings have special requirements: they must fit in a 32 or 64
+# bytes buffer after being encoded to UTF-8.
+#
+# It's possible to verify the length of a translation using the Browser Console
+# in Firefox and evaluating the following code:
+#
+# (new TextEncoder().encode('YOURSTRING')).length
+#
+# Simply replace YOURSTRING with your translation.
+#
+# If it's not possible to produce an understandable translation within these
+# limits, keeping the English text is an acceptable workaround.
+
+# LOCALIZATION NOTE (RootCertModuleName): string limit is 64 bytes after
+# conversion to UTF-8.
+# length_limit = 64 bytes
+RootCertModuleName=Mô-đun gốc dựng sẵn
+# LOCALIZATION NOTE (ManufacturerID): string limit is 32 bytes after conversion
+# to UTF-8.
+# length_limit = 32 bytes
+ManufacturerID=Mozilla.org
+# LOCALIZATION NOTE (LibraryDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+LibraryDescription=PSM Internal Crypto Services
+# LOCALIZATION NOTE (TokenDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+TokenDescription=Generic Crypto Services
+# LOCALIZATION NOTE (PrivateTokenDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+PrivateTokenDescription=Software Security Device
+# LOCALIZATION NOTE (SlotDescription): string limit is 64 bytes after conversion
+# to UTF-8.
+# length_limit = 64 bytes
+SlotDescription=PSM Internal Cryptographic Services
+# LOCALIZATION NOTE (PrivateSlotDescription): string limit is 64 bytes after
+# conversion to UTF-8.
+# length_limit = 64 bytes
+PrivateSlotDescription=Khóa cá nhân PSM
+# LOCALIZATION NOTE (Fips140TokenDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+Fips140TokenDescription=Software Security Device (FIPS)
+# LOCALIZATION NOTE (Fips140SlotDescription): string limit is 64 bytes after
+# conversion to UTF-8.
+# length_limit = 64 bytes
+Fips140SlotDescription=Dịch vụ mã hóa FIPS 140, khóa và chứng chỉ mật mã
+
+# LOCALIZATION NOTE (nick_template): $1s is the common name from a cert (e.g. "Mozilla"), $2s is the CA name (e.g. VeriSign)
+nick_template=ID %1$s’s %2$s
+
+CertDumpKUSign=Đang kí
+CertDumpKUNonRep=Không từ chối
+CertDumpKUEnc=Mã hóa khóa
+CertDumpKUDEnc=Mã hóa dữ liệu
+CertDumpKUKA=Thỏa thuận khóa
+CertDumpKUCertSign=Người ký chứng chỉ
+CertDumpKUCRLSigner=Bên kí CRL
+
+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.
+PSMERR_HostReusedIssuerSerial=Bạn vừa nhận được một chứng chỉ bất 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:\n\nChứng thư của bạn có cùng số sêri với chứng chỉ khác được cấp bởi cùng một nhà thẩm định chứng chỉ. Vui lòng lấy một chứng chỉ mới có số sêri riêng biệt.
+
+# LOCALIZATION NOTE (SSLConnectionErrorPrefix2): %1$S is the host string, %2$S is more detailed information (localized as well).
+SSLConnectionErrorPrefix2=Đã xảy ra lỗi trong khi kết nối với %1$S. %2$S\n
+
+certErrorIntro=%S sử dụng một chứng chỉ bảo mật không hợp lệ.
+
+certErrorTrust_SelfSigned=Chứng chỉ này không đáng tin vì nó được tự kí.
+certErrorTrust_UnknownIssuer=Chứng chỉ không đáng tin vì người cấp phát không được biết tới.
+certErrorTrust_UnknownIssuer2=Máy chủ có thể không gửi các chứng thực trung gian thích hợp.
+certErrorTrust_UnknownIssuer3=Có thể phải bổ sung một chứng thực gốc.
+certErrorTrust_CaInvalid=Chứng chỉ không đáng tin vì nó được cấp phát bởi một chứng chỉ CA bất hợp lệ.
+certErrorTrust_Issuer=Chứng chỉ không đáng tin vì chứng chỉ của bên cấp phát không đáng tin cậy.
+certErrorTrust_SignatureAlgorithmDisabled=Chứng chỉ 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.
+certErrorTrust_ExpiredIssuer=Chứng chỉ không đáng tin vì chứng chỉ bên cấp phát đã hết hạn.
+certErrorTrust_Untrusted=Chứng chỉ không thuộc về một nguồn đáng tin cậy.
+certErrorTrust_MitM=Kết nối của bạn đang bị chặn bởi proxy TLS. Gỡ cài đặt nếu có thể hoặc định cấu hình thiết bị của bạn để tin tưởng chứng chỉ gốc.
+
+certErrorMismatch=Chứng chỉ không hợp lệ cho tên %S.
+# LOCALIZATION NOTE (certErrorMismatchSinglePrefix): %S is replaced by the domain for which the certificate is valid
+certErrorMismatchSinglePrefix=Chứng chỉ chỉ có giá trị cho %S.
+certErrorMismatchMultiple=Chứng chỉ chỉ có hiệu lực cho các tên sau:
+
+# LOCALIZATION NOTE (certErrorExpiredNow): Do not translate %1$S (date+time of expired certificate) or %2$S (current date+time)
+certErrorExpiredNow=Chứng chỉ bị hết hạn vào %1$S. Thời gian hiện tại là %2$S.
+
+# LOCALIZATION NOTE (certErrorNotYetValidNow): Do not translate %1$S (date+time certificate will become valid) or %2$S (current date+time)
+certErrorNotYetValidNow=Chứng chỉ sẽ không hợp lệ cho đến %1$S. Thời gian hiện tại là %2$S.
+
+certErrorMitM=Các trang web chứng minh danh tính của họ thông qua các chứng chỉ, được cấp bởi các cơ quan chứng nhận.
+# LOCALIZATION NOTE (certErrorMitM2): %S is brandShortName
+certErrorMitM2=%S đượ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 chỉ (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 chỉ đang tuân theo các thực tiễn tốt nhất để bảo mật người dùng.
+# LOCALIZATION NOTE (certErrorMitM3): %S is brandShortName
+certErrorMitM3=%S 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 chỉ đượ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 chỉ 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.
+
+certErrorSymantecDistrustAdministrator=Bạn có thể thông báo cho quản trị viên trang web về vấn đề này.
+
+# LOCALIZATION NOTE (certErrorCodePrefix3): %S is replaced by the error code.
+certErrorCodePrefix3=Mã lỗi: %S
+
+P12DefaultNickname=Chứng chỉ đã nhập
+CertUnknown=Không rõ
+CertNoEmailAddress=(không địa chỉ email)
+CaCertExists=Chứng chỉ này đã được cài từ trước với tư cách là bên thẩm định chứng chỉ.
+NotACACert=Đây không phải là chứng chỉ của bên thẩm định chứng chỉ, do đó nó không được nhập vào danh sách thẩm định chứng chỉ.
+UserCertIgnoredNoPrivateKey=Chứng chỉ cá nhân này không thể cài đặt được vì bạn không giữ khóa riêng tương ứng được tạo khi chứng chỉ được yêu cầu.
+UserCertImported=Chứng chỉ cá nhân của bạn đã được cài. Bạn nên giữ một bản sao của nó.
+CertOrgUnknown=(Không rõ)
+CertNotStored=(Không được Lưu)
+CertExceptionPermanent=Vĩnh viễn
+CertExceptionTemporary=Tạm thời
diff --git a/l10n-vi/security/manager/chrome/pippki/pippki.properties b/l10n-vi/security/manager/chrome/pippki/pippki.properties
new file mode 100644
index 0000000000..875e631c3c
--- /dev/null
+++ b/l10n-vi/security/manager/chrome/pippki/pippki.properties
@@ -0,0 +1,76 @@
+# 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 Cert dialog
+# LOCALIZATION NOTE(newCAMessage1):
+# %S is a string representative of the certificate being downloaded/imported.
+newCAMessage1=Bạn có muốn tin tưởng “%S” cho những mục đích sau?
+unnamedCA=Cơ quan cấp chứng chỉ (chưa được đặt tên)
+
+# PKCS#12 file dialogs
+getPKCS12FilePasswordMessage=Vui lòng nhập mật khẩu đã được sử dụng để mã hóa bản sao lưu chứng chỉ này:
+
+# Client auth
+clientAuthRemember=Ghi nhớ quyết định này
+# LOCALIZATION NOTE(clientAuthNickAndSerial): Represents a single cert when the
+# user is choosing from a list of certificates.
+# %1$S is the nickname of the cert.
+# %2$S is the serial number of the cert in AA:BB:CC hex format.
+clientAuthNickAndSerial=%1$S [%2$S]
+# LOCALIZATION NOTE(clientAuthHostnameAndPort):
+# %1$S is the hostname of the server.
+# %2$S is the port of the server.
+clientAuthHostnameAndPort=%1$S:%2$S
+# LOCALIZATION NOTE(clientAuthMessage1): %S is the Organization of the server
+# cert.
+clientAuthMessage1=Tổ chức: "%S"
+# LOCALIZATION NOTE(clientAuthMessage2): %S is the Organization of the issuer
+# cert of the server cert.
+clientAuthMessage2=Được cấp dưới: "%S"
+# LOCALIZATION NOTE(clientAuthIssuedTo): %1$S is the Distinguished Name of the
+# currently selected client cert, such as "CN=John Doe,OU=Example" (without
+# quotes).
+clientAuthIssuedTo=Cấp cho: %1$S
+# LOCALIZATION NOTE(clientAuthSerial): %1$S is the serial number of the selected
+# cert in AA:BB:CC hex format.
+clientAuthSerial=Số sê-ri: %1$S
+# LOCALIZATION NOTE(clientAuthValidityPeriod):
+# %1$S is the already localized notBefore date of the selected cert.
+# %2$S is the already localized notAfter date of the selected cert.
+clientAuthValidityPeriod=Hợp lệ từ %1$S đến %2$S
+# LOCALIZATION NOTE(clientAuthKeyUsages): %1$S is a comma separated list of
+# already localized key usages the selected cert is valid for.
+clientAuthKeyUsages=Sử dụng khóa: %1$S
+# LOCALIZATION NOTE(clientAuthEmailAddresses): %1$S is a comma separated list of
+# e-mail addresses the selected cert is valid for.
+clientAuthEmailAddresses=Địa chỉ email: %1$S
+# LOCALIZATION NOTE(clientAuthIssuedBy): %1$S is the Distinguished Name of the
+# cert which issued the selected cert.
+clientAuthIssuedBy=Cấp bởi: %1$S
+# LOCALIZATION NOTE(clientAuthStoredOn): %1$S is the name of the PKCS #11 token
+# the selected cert is stored on.
+clientAuthStoredOn=Lưu trữ trên: %1$S
+
+# Page Info
+pageInfo_NoEncryption=Kết nối không được mã hóa
+pageInfo_Privacy_None1=Trang web %S không hỗ trợ mã hóa cho trang bạn đang xem.
+pageInfo_Privacy_None2=Thông tin được gửi qua Internet mà không mã hóa có thể bị người khác xem trong khi nó đang được truyền tải.\u0020
+pageInfo_Privacy_None4=Trang bạn đang xem không được mã hóa trước khi nó được truyền tải trên Internet.
+# LOCALIZATION NOTE (pageInfo_EncryptionWithBitsAndProtocol and pageInfo_BrokenEncryption):
+# %1$S is the name of the encryption standard,
+# %2$S is the key size of the cipher.
+# %3$S is protocol version like "SSL 3" or "TLS 1.2"
+pageInfo_EncryptionWithBitsAndProtocol=Kết nối đã được mã hóa (%1$S, khóa %2$S bit, %3$S)
+pageInfo_BrokenEncryption=Mã hóa bị hỏng (%1$S, khóa %2$S bit, %3$S)
+pageInfo_Privacy_Encrypted1=Trang bạn đang xem được mã hóa trước khi nó được truyền tải trên Internet.
+pageInfo_Privacy_Encrypted2=Mã hóa sẽ gây khó khăn cho những người không được ủy quyền xem thông tin di chuyển giữa các máy tính. Do đó, không ai có thể đọc trang này khi nó di chuyển trên mạng.
+pageInfo_MixedContent=Kết nối được mã hóa một phần
+pageInfo_MixedContent2=Một số phần của trang bạn đang xem không được mã hóa trước khi được truyền tải trên Internet.
+pageInfo_WeakCipher=Kết nối của bạn đến trang web này sử dụng mã hóa yếu và không riêng tư. Những người khác có thể xem thông tin của bạn hoặc sửa đổi hành vi của trang web.
+pageInfo_CertificateTransparency_Compliant=Trang web này tuân thủ chính sách Chứng chỉ minh bạch.
+
+# Token Manager
+password_not_set=(chưa đặt)
+enable_fips=Bật FIPS
+
diff --git a/l10n-vi/security/manager/security/certificates/certManager.ftl b/l10n-vi/security/manager/security/certificates/certManager.ftl
new file mode 100644
index 0000000000..05e0dac490
--- /dev/null
+++ b/l10n-vi/security/manager/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/l10n-vi/security/manager/security/certificates/deviceManager.ftl b/l10n-vi/security/manager/security/certificates/deviceManager.ftl
new file mode 100644
index 0000000000..a374af6f7e
--- /dev/null
+++ b/l10n-vi/security/manager/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/l10n-vi/security/manager/security/pippki/pippki.ftl b/l10n-vi/security/manager/security/pippki/pippki.ftl
new file mode 100644
index 0000000000..9f8aa91b7f
--- /dev/null
+++ b/l10n-vi/security/manager/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/l10n-vi/toolkit/chrome/alerts/alert.properties b/l10n-vi/toolkit/chrome/alerts/alert.properties
new file mode 100644
index 0000000000..26fdae3b4c
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/alerts/alert.properties
@@ -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/.
+
+# LOCALIZATION NOTE(closeButton.title): Used as the close button text for web notifications on OS X.
+# This should ideally match the string that OS X uses for the close button on alert-type
+# notifications. OS X will truncate the value if it's too long.
+closeButton.title = Đóng
+# LOCALIZATION NOTE(actionButton.label): Used as the button label to provide more actions on OS X notifications. OS X will truncate this if it's too long.
+actionButton.label = …
+# LOCALIZATION NOTE(webActions.disableForOrigin.label): %S is replaced
+# with the hostname origin of the notification.
+webActions.disableForOrigin.label = Tắt thông báo từ %S
+
+# LOCALIZATION NOTE(source.label): Used to show the URL of the site that
+# sent the notification (e.g., "via mozilla.org"). "%1$S" is the source host
+# and port.
+source.label=từ %1$S
+webActions.settings.label = Cài đặt thông báo
+
+# LOCALIZATION NOTE(pauseNotifications.label): %S is replaced with the
+# brandShortName of the application.
+pauseNotifications.label = Tạm dừng thông báo cho đến khi %S khởi động lại
diff --git a/l10n-vi/toolkit/chrome/autoconfig/autoconfig.properties b/l10n-vi/toolkit/chrome/autoconfig/autoconfig.properties
new file mode 100644
index 0000000000..e61f438f11
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/autoconfig/autoconfig.properties
@@ -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/.
+
+readConfigTitle = Lỗi Cấu Hình
+readConfigMsg = Thất bại khi đọc tập tin cấu hình. Vui lòng liên hệ người quản trị hệ thống của bạn.
+
+autoConfigTitle = Cảnh báo Tự động Thiết lập
+autoConfigMsg = Netscape.cfg/Tự động Thiết lập thất bại. Vui lòng liên hệ người quản trị hệ thống của bạn. \n Lỗi: %S thất bại:
+
+emailPromptTitle = Địa chỉ Email
+emailPromptMsg = Nhập địa chỉ email của bạn
diff --git a/l10n-vi/toolkit/chrome/global-platform/mac/intl.properties b/l10n-vi/toolkit/chrome/global-platform/mac/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/global-platform/mac/intl.properties
@@ -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/.
+
+# LOCALIZATION NOTE (intl.ellipsis): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+intl.ellipsis=…
diff --git a/l10n-vi/toolkit/chrome/global-platform/mac/platformKeys.properties b/l10n-vi/toolkit/chrome/global-platform/mac/platformKeys.properties
new file mode 100644
index 0000000000..d830a29b86
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/global-platform/mac/platformKeys.properties
@@ -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/.
+
+# Platform: Mac
+# This file defines the on-screen display names for the various modifier keys
+# and the Return key (VK_RETURN).
+# These are used in XP menus to show keyboard shortcuts.
+
+# The Shift key - open up arrow symbol (ctrl-e)
+VK_SHIFT=⇧
+
+# The Command key - clover leaf symbol (ctrl-q)
+VK_META=⌘
+
+# The Win key - never generated by native key event
+VK_WIN=win
+
+# The Command key - clover leaf symbol (ctrl-q)
+VK_COMMAND_OR_WIN=\u2318
+
+# The Option/Alt key - splitting tracks symbol (ctrl-g)
+VK_ALT=⌥
+
+# The Control key - hat symbol (ctrl-f)
+VK_CONTROL=⌃
+
+# The Return key (on the main keyboard or numpad):
+# "Enter" on Windows/Unix, "Return" on Mac
+VK_RETURN=Return
+
+# The separator character used between modifiers (none on Mac OS)
+MODIFIER_SEPARATOR=
diff --git a/l10n-vi/toolkit/chrome/global-platform/unix/intl.properties b/l10n-vi/toolkit/chrome/global-platform/unix/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/global-platform/unix/intl.properties
@@ -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/.
+
+# LOCALIZATION NOTE (intl.ellipsis): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+intl.ellipsis=…
diff --git a/l10n-vi/toolkit/chrome/global-platform/unix/platformKeys.properties b/l10n-vi/toolkit/chrome/global-platform/unix/platformKeys.properties
new file mode 100644
index 0000000000..fded02a68e
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/global-platform/unix/platformKeys.properties
@@ -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/.
+
+# Platform: Unix
+# This file defines the on-screen display names for the various modifier keys
+# and the Enter key (VK_RETURN).
+# These are used in XP menus to show keyboard shortcuts.
+
+# The Shift key
+VK_SHIFT=Shift
+
+# The Command key
+VK_META=Meta
+
+# The Win key (Super key and Hyper keys are mapped to DOM Win key)
+VK_WIN=Win
+
+# The Super/Hyper key
+VK_COMMAND_OR_WIN=Win
+
+# The Alt key
+VK_ALT=Alt
+
+# The Control key
+VK_CONTROL=Ctrl
+
+# The Enter key (on the main keyboard or numpad):
+# "Enter" on Windows/Unix, "Return" on Mac
+VK_RETURN=Enter
+
+# The separator character used between modifiers
+MODIFIER_SEPARATOR=+
diff --git a/l10n-vi/toolkit/chrome/global-platform/win/intl.properties b/l10n-vi/toolkit/chrome/global-platform/win/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/global-platform/win/intl.properties
@@ -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/.
+
+# LOCALIZATION NOTE (intl.ellipsis): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+intl.ellipsis=…
diff --git a/l10n-vi/toolkit/chrome/global-platform/win/platformKeys.properties b/l10n-vi/toolkit/chrome/global-platform/win/platformKeys.properties
new file mode 100644
index 0000000000..1df027dccf
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/global-platform/win/platformKeys.properties
@@ -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/.
+
+# Platform: Windows
+# This file defines the on-screen display names for the various modifier keys
+# and the Enter key (VK_RETURN).
+# These are used in XP menus to show keyboard shortcuts.
+
+# The Shift key
+VK_SHIFT=Shift
+
+# The Command key
+VK_META=Meta
+
+# The Win key
+VK_WIN=Win
+
+# The Win key
+VK_COMMAND_OR_WIN=Win
+
+# The Alt key
+VK_ALT=Alt
+
+# The Control key
+VK_CONTROL=Ctrl
+
+# The Enter key (on the main keyboard or numpad):
+# "Enter" on Windows/Unix, "Return" on Mac
+VK_RETURN=Enter
+
+# The separator character used between modifiers
+MODIFIER_SEPARATOR=+
diff --git a/l10n-vi/toolkit/chrome/global/aboutStudies.properties b/l10n-vi/toolkit/chrome/global/aboutStudies.properties
new file mode 100644
index 0000000000..a6adf597c9
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/global/aboutStudies.properties
@@ -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/.
+
+
+# LOCALIZATION NOTE (title): keep "Shield" in English. See
+# https://wiki.mozilla.org/Firefox/Shield/Shield_Studies for more information
+title = Shield nghiên cứu
+removeButton = Xóa
+
+# LOCALIZATION NOTE (activeStudiesList): Title above a list of active studies
+activeStudiesList = Nghiên cứu đang hoạt động
+# LOCALIZATION NOTE (activeStudiesList): Title above a list of completed studies
+completedStudiesList = Nghiên cứu xong
+# LOCALIZATION NOTE (activeStatus): Displayed for an active study
+activeStatus = Hoạt động
+# LOCALIZATION NOTE (completeStatus): Displayed for a study that is already complete
+completeStatus = Hoàn tất
+
+updateButtonWin = Tùy chọn cập nhật
+updateButtonUnix = Tuỳ chỉnh cập nhật
+learnMore = Tìm hiểu thêm
+noStudies = Bạn đã không tham gia vào bất kỳ nghiên cứu nào.
+disabledList = Đây là danh sách các nghiên cứu mà bạn đã tham gia. Không có nghiên cứu mới nào sẽ chạy.
+# LOCALIZATION NOTE (enabledList): %S is brandShortName (e.g. Firefox)
+enabledList = Đây là gì? %S có thể cài đặt và chạy các nghiên cứu theo thời gian.
+
+# LOCALIZATION NOTE (preferenceStudyDescription) $1%S will be replaced with the
+# name of a preference (such as "stream.improvesearch.topSiteSearchShortcuts")
+# and $2%S will be replaced with the value of that preference. Both values will
+# be formatted differently than the surrounding text.
+preferenceStudyDescription = Nghiên cứu này đặt %1$S thành %2$S.
diff --git a/l10n-vi/toolkit/chrome/global/autocomplete.properties b/l10n-vi/toolkit/chrome/global/autocomplete.properties
new file mode 100644
index 0000000000..105e0ff25c
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/global/autocomplete.properties
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (bookmarkKeywordSearch): This is the title of autocomplete
+# entries that are bookmark keyword searches. %1$S will be replaced with the
+# domain name of the bookmark, and %2$S will be replaced with the keyword
+# search text that the user is typing. %2$S will not be empty.
+bookmarkKeywordSearch = %1$S: %2$S
diff --git a/l10n-vi/toolkit/chrome/global/browser.properties b/l10n-vi/toolkit/chrome/global/browser.properties
new file mode 100644
index 0000000000..7902e5ccab
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/global/browser.properties
@@ -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/.
+
+formPostSecureToInsecureWarning.title = Cảnh báo bảo mật
+formPostSecureToInsecureWarning.message = Thông tin bạn nhập vào sẽ được gửi thông qua một kết nối không bảo mật và có thể bị một bên thứ ba đọc được.\n\nBạn có chắc chắn muốn gửi thông tin này không?
+formPostSecureToInsecureWarning.continue = Tiếp tục
diff --git a/l10n-vi/toolkit/chrome/global/commonDialogs.properties b/l10n-vi/toolkit/chrome/global/commonDialogs.properties
new file mode 100644
index 0000000000..3b2826c23d
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/global/commonDialogs.properties
@@ -0,0 +1,46 @@
+# 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=Cảnh báo
+Confirm=Xác nhận
+ConfirmCheck=Xác nhận
+Prompt=Nhắc
+# LOCALIZATION NOTE - %S is brandFullName
+PromptUsernameAndPassword3=Yêu cầu xác minh - %S
+# LOCALIZATION NOTE - %S is brandFullName
+PromptPassword3=Yêu cầu mật khẩu - %S
+Select=Chọn
+OK=OK
+Cancel=Hủy bỏ
+Yes=&Có
+No=&Không
+Save=&Lưu
+Revert=&Hoàn nguyên
+DontSave=&Không lưu
+ScriptDlgGenericHeading=[Ứng dụng JavaScript]
+ScriptDlgHeading=Trang %S cho biết:
+ScriptDlgNullPrincipalHeading=Trang này thông báo:
+ScriptDialogLabel=Không cho trang này tạo các hộp thoại phụ
+ScriptDialogLabelNullPrincipal=Không cho phép trang web này nhắc bạn một lần nữa
+# LOCALIZATION NOTE (ScriptDialogLabelContentPrincipal):
+# %S is either the domain and port of the site prompting, or the name of
+# an add-on prompting.
+ScriptDialogLabelContentPrincipal=Không cho phép %S nhắc bạn một lần nữa
+ScriptDialogPreventTitle=Xác nhận Tùy chỉnh Hộp thoại
+# LOCALIZATION NOTE (EnterLoginForRealm3, EnterLoginForProxy3):
+# %1 is an untrusted string provided by a remote server. It could try to
+# take advantage of sentence structure in order to mislead the user (see
+# bug 244273). %1 should be integrated into the translated sentences as
+# little as possible. %2 is the url of the site being accessed.
+EnterLoginForRealm3=%2$S yêu cầu tên người dùng và mật khẩu của bạn. Trang web nói: “%1$S”
+EnterLoginForProxy3=Proxy %2$S yêu cầu tên người dùng và mật khẩu. Trang web nói: “%1$S”
+EnterUserPasswordFor2=%1$S yêu cầu tên người dùng và mật khẩu của bạn.
+EnterUserPasswordForCrossOrigin2=%1$S yêu cầu tên người dùng và mật khẩu của bạn. CHÚ Ý: Mật khẩu của bạn sẽ không bị gửi đến các trang web bạn đang truy cập!
+EnterPasswordFor=Nhập mật khẩu cho %1$S trên %2$S
+EnterCredentials=Trang web này yêu cầu bạn đăng nhập.
+# %S is the username for which a password is requested.
+EnterPasswordOnlyFor=Trang web này yêu cầu bạn đăng nhập với tên %S.
+# %S is the domain of the site being accessed.
+EnterCredentialsCrossOrigin=Trang web này đang yêu cầu bạn đăng nhập. Cảnh báo: Thông tin đăng nhập của bạn sẽ được chia sẻ với %S, không phải trang web bạn hiện đang truy cập.
+SignIn=Đăng nhập
diff --git a/l10n-vi/toolkit/chrome/global/contentAreaCommands.properties b/l10n-vi/toolkit/chrome/global/contentAreaCommands.properties
new file mode 100644
index 0000000000..0a891e02c7
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/global/contentAreaCommands.properties
@@ -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/.
+
+# context menu strings
+
+SaveImageTitle=Lưu ảnh
+SaveMediaTitle=Lưu đa phương tiện
+SaveVideoTitle=Lưu video
+SaveAudioTitle=Lưu audio
+SaveLinkTitle=Lưu ra tập tin
+WebPageCompleteFilter=Trang web, đầy đủ
+WebPageHTMLOnlyFilter=Trang web, chỉ HTML
+WebPageXHTMLOnlyFilter=Trang web, chỉ XHTML
+WebPageSVGOnlyFilter=Trang web, chỉ SVG
+WebPageXMLOnlyFilter=Trang web, chỉ XML
+
+# LOCALIZATION NOTE (UntitledSaveFileName):
+# This is the default filename used when saving a file if a filename could
+# not be determined or if a filename was invalid. A period and file
+# extension may be appended to this string.
+UntitledSaveFileName=Không có tiêu đề
+
+# LOCALIZATION NOTE (filesFolder):
+# This is the name of the folder that is created parallel to a HTML file
+# when it is saved "With Images". The %S section is replaced with the
+# leaf name of the file being saved (minus extension).
+filesFolder=%S_files
diff --git a/l10n-vi/toolkit/chrome/global/dialog.properties b/l10n-vi/toolkit/chrome/global/dialog.properties
new file mode 100644
index 0000000000..d19d4688bb
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/global/dialog.properties
@@ -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/.
+
+button-accept=OK
+button-cancel=Hủy bỏ
+button-help=Trợ giúp
+button-disclosure=Thông tin thêm
+accesskey-accept=
+accesskey-cancel=
+accesskey-help=H
+accesskey-disclosure=I
diff --git a/l10n-vi/toolkit/chrome/global/extensions.properties b/l10n-vi/toolkit/chrome/global/extensions.properties
new file mode 100644
index 0000000000..5a35436095
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/global/extensions.properties
@@ -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/.
+
+#LOCALIZATION NOTE (uninstall.confirmation.title) %S is the name of the extension which is about to be uninstalled.
+uninstall.confirmation.title = Gỡ bỏ %S
+
+#LOCALIZATION NOTE (uninstall.confirmation.message) %S is the name of the extension which is about to be uninstalled.
+uninstall.confirmation.message = Tiện ích “%S” yêu cầu gỡ cài đặt. Bạn muốn làm gì?
+
+uninstall.confirmation.button-0.label = Gỡ bỏ
+uninstall.confirmation.button-1.label = Tiếp tục cài đặt
+
+saveaspdf.saveasdialog.title = Lưu thành
+
+#LOCALIZATION NOTE (newTabControlled.message2) %S is the icon and name of the extension which updated the New Tab page.
+newTabControlled.message2 = Một tiện ích mở rộng, %S, đã thay đổi trang này khi bạn mở một thẻ mới.
+newTabControlled.learnMore = Tìm hiểu thêm
+
+#LOCALIZATION NOTE (homepageControlled.message) %S is the icon and name of the extension which updated the homepage.
+homepageControlled.message = Một tiện ích mở rộng, %S, đã thay đổi trang này khi bạn mở trang chủ và cửa sổ mới.
+homepageControlled.learnMore = Tìm hiểu thêm
+
+#LOCALIZATION NOTE (tabHideControlled.message) %1$S is the icon and name of the extension which hid tabs, %2$S is the icon of the all tabs button.
+tabHideControlled.message = Một tiện ích mở rộng, %1$S, đang ẩn một số thẻ của bạn. Bạn vẫn có thể truy cập tất cả các thẻ đó trong %2$S.
+tabHideControlled.learnMore = Tìm hiểu thêm
+
diff --git a/l10n-vi/toolkit/chrome/global/fallbackMenubar.properties b/l10n-vi/toolkit/chrome/global/fallbackMenubar.properties
new file mode 100644
index 0000000000..624610f7a9
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/global/fallbackMenubar.properties
@@ -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/.
+
+# OSX only. Default menu label when there is no xul menubar.
+
+quitMenuitem.label=Thoát
+quitMenuitem.key=q
diff --git a/l10n-vi/toolkit/chrome/global/filepicker.properties b/l10n-vi/toolkit/chrome/global/filepicker.properties
new file mode 100644
index 0000000000..866a8e21a9
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/global/filepicker.properties
@@ -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 NOTE: The extensions to which these descriptions refer
+# now live in toolkit/content/filepicker.properties
+allTitle=Tất cả tập tin
+htmlTitle=Tập tin HTML
+textTitle=Tập tin Văn bản
+imageTitle=Tập tin Hình ảnh
+xmlTitle=Tập tin XML
+xulTitle=Tập tin XUL
+appsTitle=Ứng dụng
+audioTitle=Tập tin Âm thanh
+videoTitle=Tập tin Phim
+
+pdfTitle=Tập tin PDF
+
+formatLabel=Định dạng:
+selectedFileNotReadableError=Tập tin đã chọn không có quyền đọc
diff --git a/l10n-vi/toolkit/chrome/global/intl.css b/l10n-vi/toolkit/chrome/global/intl.css
new file mode 100644
index 0000000000..2f54eb367d
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/global/intl.css
@@ -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/. */
+
+/*
+ * This file contains all localizable skin settings such as
+ * font, layout, and geometry
+ */
+window {
+ font: 3mm tahoma,arial,helvetica,sans-serif;
+}
diff --git a/l10n-vi/toolkit/chrome/global/intl.properties b/l10n-vi/toolkit/chrome/global/intl.properties
new file mode 100644
index 0000000000..ec863ffd90
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/global/intl.properties
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (intl.accept_languages):
+# This is a comma-separated list of valid BCP 47 language tags.
+#
+# Begin with the language tag of your locale. Next, include language
+# tags for other languages that you expect most users of your locale to be
+# able to speak, so that their browsing experience degrades gracefully if
+# content is not available in their primary language.
+#
+# It is recommended that you include "en-US, en" at the end of the list as a
+# last resort. However, if you know that users of your locale would prefer a
+# different variety of English, or if they are not likely to understand
+# English at all, you may opt to include a different English language tag, or
+# to exclude English altogether.
+#
+# For example, the Breton [br] locale might consider including French and
+# British English in their list, since those languages are commonly spoken in
+# the same area as Breton:
+# intl.accept_languages=br, fr-FR, fr, en-GB, en
+intl.accept_languages=vi-vn, vi, en-us, en
+
+# LOCALIZATION NOTE (font.language.group):
+# This preference controls the initial setting of the language drop-down menu
+# in the Content > Fonts & Colors > Advanced preference panel.
+#
+# Set it to the value of one of the menuitems in the "selectLangs" menulist in
+# http://dxr.mozilla.org/mozilla-central/source/browser/components/preferences/fonts.xul
+font.language.group=x-unicode
+
+# LOCALIZATION NOTE (pluralRule): Pick the appropriate plural rule for your
+# language. This will determine how many plural forms of a word you will need
+# to provide and in what order.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+pluralRule=0
+
+# LOCALIZATION NOTE (intl.menuitems.alwaysappendaccesskeys, intl.menuitems.insertseparatorbeforeaccesskeys):
+# Valid values are: true, false, <empty string>
+# Missing preference or empty value equals false.
+intl.menuitems.alwaysappendaccesskeys=
+intl.menuitems.insertseparatorbeforeaccesskeys=true
diff --git a/l10n-vi/toolkit/chrome/global/keys.properties b/l10n-vi/toolkit/chrome/global/keys.properties
new file mode 100644
index 0000000000..d6ea18664b
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/global/keys.properties
@@ -0,0 +1,78 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE : FILE This file contains the application's labels for keys on the keyboard.
+# If you decide to translate this file, you should translate it based on
+# the prevelant kind of keyboard for your target user.
+# LOCALIZATION NOTE : There are two types of keys, those w/ text on their labels
+# and those w/ glyphs.
+# LOCALIZATION NOTE : VK_<…> represents a key on the keyboard.
+#
+# For more information please see bugzilla bug 90888.
+
+# LOCALIZATION NOTE : FILE This file contains the application's labels for keys on the keyboard.
+# If you decide to translate this file, you should translate it based on
+# the prevalent kind of keyboard for your target user.
+# LOCALIZATION NOTE : There are two types of keys, those w/ text on their labels
+# and those w/ glyphs.
+# LOCALIZATION NOTE : VK_<…> represents a key on the keyboard.
+#
+# For more information please see bugzilla bug 90888.
+
+# F1..F10 should probably not be translated unless there are keyboards that actually have other labels
+# F11..F20 might be something else, but are really keyboard specific and not region/language specific
+# there are actually two different F11/F12 keys, I don't know which one these labels represent.
+# eg, F13..F20 on a sparc keyboard are labeled Props, Again .. Find, Cut
+# sparc also has Stop, Again and F11/F12. VK_F11/VK_F12 probably map to Stop/Again
+# LOCALIZATION NOTE : BLOCK Do not translate the next block
+VK_F1=F1
+VK_F2=F2
+VK_F3=F3
+VK_F4=F4
+VK_F5=F5
+VK_F6=F6
+VK_F7=F7
+VK_F8=F8
+VK_F9=F9
+VK_F10=F10
+
+VK_F11=F11
+VK_F12=F12
+VK_F13=F13
+VK_F14=F14
+VK_F15=F15
+VK_F16=F16
+VK_F17=F17
+VK_F18=F18
+VK_F19=F19
+VK_F20=F20
+# LOCALIZATION NOTE : BLOCK end do not translate block
+
+# LOCALIZATION NOTE : BLOCK GLYPHS, DO translate this block
+VK_UP=Mũi tên lên
+VK_DOWN=Mũi tên xuống
+VK_LEFT=Mũi tên trái
+VK_RIGHT=Mũi tên phải
+VK_PAGE_UP=Page Up
+VK_PAGE_DOWN=Page Down
+# LOCALIZATION NOTE : BLOCK end GLYPHS
+
+# Enter, backspace, and Tab might have both glyphs and text
+# if the keyboards usually have a glyph,
+# if there is a meaningful translation,
+# or if keyboards are localized
+# then translate them or insert the appropriate glyph
+# otherwise you should probably just translate the glyph regions
+
+VK_TAB=Tab
+VK_BACK=Backspace
+VK_DELETE=Del
+# LOCALIZATION NOTE : BLOCK end maybe GLYPHS
+# LOCALIZATION NOTE : BLOCK typing state keys
+VK_HOME=Home
+VK_END=End
+
+VK_ESCAPE=Esc
+VK_INSERT=Ins
+# LOCALIZATION NOTE : BLOCK end
diff --git a/l10n-vi/toolkit/chrome/global/narrate.properties b/l10n-vi/toolkit/chrome/global/narrate.properties
new file mode 100644
index 0000000000..142d5c89a3
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/global/narrate.properties
@@ -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/.
+
+# "Listen, which allows users to listen to Firefox reading the text,
+# instead of having to read it themselves." This is the name
+# of the feature and it is the label for the popup button.
+# %S is the keyboard shortcut for the listen command
+listen-label = Nghe (%S)
+back = Quay lại
+# %S is the keyboard shortcut for the skip back command
+previous-label = Quay lại (%S)
+# %S is the keyboard shortcut for the start command
+start-label = Bắt đầu (%S)
+# %S is the keyboard shortcut for the stop command
+stop-label = Dừng (%S)
+# Keyboard shortcut to toggle the narrate feature
+narrate-key-shortcut = N
+forward = Chuyển tiếp
+# %S is the keyboard shortcut for the skip forward command
+next-label = Tiến (%S)
+speed = Tốc độ
+selectvoicelabel = Giọng nói:
+# Default voice is determined by the language of the document.
+defaultvoice = Mặc định
+
+# Voice name and language.
+# eg. David (English)
+voiceLabel = %S (%S)
diff --git a/l10n-vi/toolkit/chrome/global/printdialog.properties b/l10n-vi/toolkit/chrome/global/printdialog.properties
new file mode 100644
index 0000000000..f2cabad6ca
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/global/printdialog.properties
@@ -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/.
+
+# These strings are used in the native GTK, Mac and Windows print dialogs.
+
+# GTK titles:
+printTitleGTK=In
+optionsTabLabelGTK=Tùy chọn
+
+# Mac titles:
+optionsTitleMac=Tùy chọn:
+appearanceTitleMac=Bề ngoài:
+pageHeadersTitleMac=Đầu Trang:
+pageFootersTitleMac=Chân Trang:
+
+# Windows titles:
+optionsTitleWindows=Tùy chọn
+
+# TRANSLATOR NOTE: For radio button labels and check button labels, an underscore _
+# before a character will turn that character into an accesskey in the GTK dialog.
+# e.g. "_As laid out" will make A the accesskey.
+# In the Windows labels, use an ampersand (&).
+# On Mac, underscores will be stripped.
+
+shrinkToFit=Bỏ qua Tỉ lệ và Thu _lại cho vừa Độ rộng
+selectionOnly=Chỉ _in phần đã chọn
+printBGOptions=In Phần Nền
+printBGColors=In _Màu của Phần Nền
+printBGImages=In _Hình Ảnh của Phần Nền
+headerFooter=Đầu Trang và Cuối Trang
+left=Trái
+center=Giữa
+right=Phải
+headerFooterBlank=--trống--
+headerFooterTitle=Tiêu đề
+headerFooterURL=URL
+headerFooterDate=Ngày/Giờ
+headerFooterPage=Trang #
+headerFooterPageTotal=Trang # trên tổng #
+headerFooterCustom=Tùy biến…
+customHeaderFooterPrompt=Vui lòng nhập phần văn bản tùy biến của bạn cho phần đầu/cuối trang
+
+summarySelectionOnlyTitle=Lựa chọn In
+summaryShrinkToFitTitle=Co lại cho vừa
+summaryPrintBGColorsTitle=In Màu của Nền
+summaryPrintBGImagesTitle=In Hình Ảnh của Nền
+summaryHeaderTitle=Đầu Trang
+summaryFooterTitle=Chân Trang
+summaryNAValue=N/A
+summaryOnValue=Bật
+summaryOffValue=Tắt
diff --git a/l10n-vi/toolkit/chrome/global/resetProfile.properties b/l10n-vi/toolkit/chrome/global/resetProfile.properties
new file mode 100644
index 0000000000..e5c03a8e72
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/global/resetProfile.properties
@@ -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/.
+
+# LOCALIZATION NOTE: These strings are used for profile reset.
+
+# LOCALIZATION NOTE (resetUnusedProfile.message): %S is brandShortName.
+resetUnusedProfile.message=Có vẻ như bạn đã không dùng %S một thời gian. Bạn có muốn làm mới lại không? Nhân tiện, chào mừng bạn trở lại!
+# LOCALIZATION NOTE (resetUninstalled.message): %S is brandShortName.
+resetUninstalled.message=Có vẻ như bạn đã cài đặt lại %S. Bạn có muốn chúng tôi dọn dẹp nó cho trải nghiệm giống như mới?
+
+# LOCALIZATION NOTE (refreshProfile.resetButton.label): %S is brandShortName.
+refreshProfile.resetButton.label=Làm mới %S…
+refreshProfile.resetButton.accesskey=e
diff --git a/l10n-vi/toolkit/chrome/global/viewSource.properties b/l10n-vi/toolkit/chrome/global/viewSource.properties
new file mode 100644
index 0000000000..0acf2ef651
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/global/viewSource.properties
@@ -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/.
+
+goToLineTitle = Đi tới dòng
+goToLineText = Nhập số của dòng
+invalidInputTitle = Nhập vào không đúng
+invalidInputText = Số của dòng nhập vào không đúng.
+outOfRangeTitle = Không tìm thấy dòng
+outOfRangeText = Không tìm thấy dòng được chỉ định.
+viewSelectionSourceTitle = Mã Nguồn DOM của Khối Đã Chọn
+
+context_goToLine_label = Đi tới dòng…
+context_goToLine_accesskey = L
+context_wrapLongLines_label = Cắt những dòng dài
+context_highlightSyntax_label = Tô sáng cú pháp
diff --git a/l10n-vi/toolkit/chrome/global/wizard.properties b/l10n-vi/toolkit/chrome/global/wizard.properties
new file mode 100644
index 0000000000..798ba2a1b4
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/global/wizard.properties
@@ -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/.
+
+default-first-title=Chào mừng đến với %S
+default-last-title=Đang hoàn tất %S
+default-first-title-mac=Giới thiệu
+default-last-title-mac=Kết thúc
diff --git a/l10n-vi/toolkit/chrome/mozapps/downloads/downloads.properties b/l10n-vi/toolkit/chrome/mozapps/downloads/downloads.properties
new file mode 100644
index 0000000000..dddb62f6d9
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/mozapps/downloads/downloads.properties
@@ -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/.
+
+# Desktop folder name for downloaded files
+downloadsFolder=Trang tải xuống
diff --git a/l10n-vi/toolkit/chrome/mozapps/downloads/unknownContentType.properties b/l10n-vi/toolkit/chrome/mozapps/downloads/unknownContentType.properties
new file mode 100644
index 0000000000..4117be2aaa
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/mozapps/downloads/unknownContentType.properties
@@ -0,0 +1,23 @@
+# -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+# 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=Đang mở %S
+saveDialogTitle=Nhập tên của tập tin để lưu vào…
+defaultApp=%S (mặc định)
+chooseAppFilePickerTitle=Lựa chọn ứng dụng trợ giúp
+badApp=Không tìm thấy ứng dụng bạn chọn ("%S"). Hãy kiểm tra tên tập tin hoặc chọn ứng dụng khác.
+badApp.title=Không tìm thấy ứng dụng
+badPermissions=Tập tin không lưu được vì bạn không có quyền hạn thích hợp. Hãy lưu vào thư mục khác.
+badPermissions.title=Quyền lưu không hợp lệ
+unknownAccept.label=Lưu Tập Tin
+unknownCancel.label=Hủy bỏ
+fileType=Tập tin %S
+# LOCALIZATION NOTE (orderedFileSizeWithType): first %S is type, second %S is size, and third %S is unit
+orderedFileSizeWithType=%1$S (%2$S %3$S)
+avifExtHandlerDescription=Tập tin hình ảnh AV1 (AVIF)
+pdfExtHandlerDescription=Định dạng tài liệu di động (PDF)
+svgExtHandlerDescription=Scalable Vector Graphics (SVG)
+webpExtHandlerDescription=Hình ảnh WebP
+xmlExtHandlerDescription=Extensible Markup Language (XML)
diff --git a/l10n-vi/toolkit/chrome/mozapps/profile/profileSelection.properties b/l10n-vi/toolkit/chrome/mozapps/profile/profileSelection.properties
new file mode 100644
index 0000000000..75fca5be55
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/mozapps/profile/profileSelection.properties
@@ -0,0 +1,55 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: These strings are used for startup/profile problems and the profile manager.
+
+# Application not responding
+# LOCALIZATION NOTE (restartTitle, restartMessageNoUnlocker2, restartMessageUnlocker, restartMessageNoUnlockerMac, restartMessageUnlockerMac): Messages displayed when the application is running but is not responding to commands. %S is the application name.
+restartTitle=Đóng %S
+restartMessageNoUnlocker2=%S đang chạy, nhưng không phản hồi. Để sử dụng %S, trước tiên bạn phải đóng tiến trình %S hiện có, khởi động lại thiết bị của bạn hoặc sử dụng cấu hình khác.
+restartMessageUnlocker=%S đang chạy, nhưng không phản hồi. Tiến trình %S cũ phải được đóng trước khi mở một cửa sổ mới.
+restartMessageNoUnlockerMac=Một bản sao của %S đã được mở. Chỉ có thể mở một bản sao của %S trong cùng một thời điểm.
+restartMessageUnlockerMac=Một bản sao của %S đã được mở. Bản sao đang chạy của %S sẽ tắt để mở cái mới này.
+
+# Profile manager
+# LOCALIZATION NOTE (profileTooltip): First %S is the profile name, second %S is the path to the profile folder.
+profileTooltip=Hồ sơ: '%S' - Đường dẫn: '%S'
+
+pleaseSelectTitle=Chọn Hồ Sơ
+pleaseSelect=Hãy chọn một hồ sơ để bắt đầu %S, hoặc tạo một hồ sơ mới.
+
+renameProfileTitle=Đổi tên hồ sơ
+renameProfilePrompt=Đổi tên hồ sơ "%S" thành:
+
+profileNameInvalidTitle=Tên hồ sơ không hợp lệ
+profileNameInvalid=Không được phép đặt tên hồ sơ là "%S".
+
+chooseFolder=Chọn thư mục hồ sơ
+profileNameEmpty=Không được phép để trống tên hồ sơ.
+invalidChar=Kí tự "%S" không được phép dùng trong tên hồ sơ. Vui lòng chọn một tên khác.
+
+deleteTitle=Xóa hồ sơ
+deleteProfileConfirm=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.\nBạn có thể chọn xóa 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 "%S", và không thể hoàn tác được.\nBạn có muốn xóa các tập tin dữ liệu của hồ sơ không?
+deleteFiles=Xóa các tập tin
+dontDeleteFiles=Không xóa các tập tin
+
+profileCreationFailed=Không thể tạo hồ sơ. Có thể là do thư mục đã chọn không cho phép ghi vào.
+profileCreationFailedTitle=Thất bại khi tạo hồ sơ
+profileExists=Một hồ sơ có cùng tên này đã tồn tại. Vui lòng chọn một tên khác.
+profileFinishText=Nhấn “Hoàn thành” để tạo hồ sơ mới này.
+profileFinishTextMac=Nhấn “Xong” để tạo hồ sơ mới này.
+profileMissing=Không thể nạp hồ sơ %S của bạn. Có thể nó bị mất hoặc không thể truy cập được.
+profileMissingTitle=Mất Hồ Sơ
+profileDeletionFailed=Không thể xóa hồ sơ vì có thể nó đang được sử dụng.
+profileDeletionFailedTitle=Xóa không thành công
+
+# Profile reset
+# LOCALIZATION NOTE (resetBackupDirectory): Directory name for the profile directory backup created during reset. This directory is placed in a location users will see it (ie. their desktop). %S is the application name.
+resetBackupDirectory=Dữ liệu cũ của %S
+
+flushFailTitle=Các thay đổi chưa được lưu
+flushFailMessage=Một lỗi không mong muốn đã khiến các thay đổi của bạn không được lưu.
+# LOCALIZATION NOTE (flushFailRestartButton): $S is brandShortName.
+flushFailRestartButton=Khởi động lại %S
+flushFailExitButton=Thoát
diff --git a/l10n-vi/toolkit/chrome/mozapps/update/updates.properties b/l10n-vi/toolkit/chrome/mozapps/update/updates.properties
new file mode 100644
index 0000000000..c6e9b4e63c
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/mozapps/update/updates.properties
@@ -0,0 +1,45 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: The 1st %S is brandShortName and 2nd %S is update version
+# where update version from the update xml
+# example: MyApplication 10.0.5
+updateName=%S %S
+
+noThanksButton=Không, Cảm Ơn
+noThanksButton.accesskey=n
+restartLaterButton=Khởi động lại Sau
+restartLaterButton.accesskey=l
+restartNowButton=Khởi động lại %S
+restartNowButton.accesskey=K
+
+statusFailed=Cài đặt Thất bại
+
+installSuccess=Bản cập nhật đã được cài đặt thành công
+installPending=Đang đợi Cài đặt
+patchApplyFailure=Không thể cài đặt bản cập nhật (áp dụng bản vá không thành công)
+elevationFailure=Bạn không có đủ quyền cần thiết để cài đặt bản cập nhật này. Vui lòng liên hệ với quản trị viên hệ thống của chúng tôi.
+
+check_error-200=Tập tin cập nhật XML bị sai (200)
+check_error-403=Truy cập bị từ chối (403)
+check_error-404=Tập tin cập nhật XML không tìm thấy (404)
+check_error-500=Lỗi máy chủ nội bộ (500)
+check_error-2152398849=Thất bại (không rõ nguyên nhân)
+check_error-2152398861=Kết nối bị từ chối
+check_error-2152398862=Kết nối bị hết thời gian
+# NS_ERROR_OFFLINE
+check_error-2152398864=Mạng đang ở chế độ ngoại tuyến (chuyển sang trực tuyến)
+check_error-2152398867=Cổng không được cho phép
+check_error-2152398868=Không nhận được dữ liệu nào (vui lòng thử lại)
+check_error-2152398878=Không tìm thấy máy chủ cập nhật (hãy kiểm tra kết nối internet của bạn)
+check_error-2152398890=Không tìm thấy máy chủ proxy (hãy kiểm tra kết nối internet của bạn)
+# NS_ERROR_DOCUMENT_NOT_CACHED
+check_error-2152398918=Mạng đang ở chế độ ngoại tuyến (chuyển sang trực tuyến)
+check_error-2152398919=Trao đổi dữ liệu bị ngắt (vui lòng thử lại)
+check_error-2152398920=Kết nối máy chủ proxy bị từ chối
+check_error-2153390069=Chứng chỉ máy chủ đã hết hạn (vui lòng điều chỉnh đồng hồ hệ thống về lại ngày giờ đúng nếu như nó chưa chính xác)
+check_error-verification_failed=Tính toàn vẹn của bản cập nhật không thể xác minh được
+check_error-move_failed=Không chuẩn bị được bản cập nhật để cài đặt
+check_error-update_url_not_available=URL cập nhật không khả dụng
+check_error-connection_aborted=Kết nối đã bị hủy
diff --git a/l10n-vi/toolkit/chrome/passwordmgr/passwordmgr.properties b/l10n-vi/toolkit/chrome/passwordmgr/passwordmgr.properties
new file mode 100644
index 0000000000..ba116f14e8
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/passwordmgr/passwordmgr.properties
@@ -0,0 +1,79 @@
+# 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/.
+
+rememberPassword = Dùng Trình quản lí mật khẩu để ghi nhớ mật khẩu này.
+savePasswordTitle = Xác nhận
+# LOCALIZATION NOTE (saveLoginMsg2, saveLoginMsgNoUser2):
+# %S is the login's hostname.
+saveLoginMsg2 = Lưu thông tin đăng nhập cho %S?
+saveLoginMsgNoUser2 = Lưu mật khẩu cho %S?
+saveLoginButtonAllow.label = Lưu
+saveLoginButtonAllow.accesskey = S
+saveLoginButtonDeny.label = Không lưu
+saveLoginButtonDeny.accesskey = D
+saveLoginButtonNever.label = Không bao giờ lưu
+saveLoginButtonNever.accesskey = e
+# LOCALIZATION NOTE (updateLoginMsg3, updateLoginMsgNoUser3):
+# %S is the login's hostname.
+updateLoginMsg3 = Cập nhật thông tin đăng nhập cho %S?
+updateLoginMsgNoUser3 = Cập nhật mật khẩu cho %S?
+updateLoginMsgAddUsername2 = Thêm tên người dùng vào mật khẩu đã lưu?
+updateLoginButtonText = Cập nhật
+updateLoginButtonAccessKey = U
+updateLoginButtonDeny.label = Không cập nhật
+updateLoginButtonDeny.accesskey = D
+updateLoginButtonDelete.label = Xóa thông tin đăng nhập đã lưu
+updateLoginButtonDelete.accesskey = R
+# LOCALIZATION NOTE (rememberPasswordMsg):
+# 1st string is the username for the login, 2nd is the login's hostname.
+# Note that long usernames may be truncated.
+rememberPasswordMsg = Bạn có muốn lưu lại mật khẩu cho "%1$S" tại %2$S?
+# LOCALIZATION NOTE (rememberPasswordMsgNoUsername):
+# String is the login's hostname.
+rememberPasswordMsgNoUsername = Bạn có muốn lưu lại mật khẩu tại %S?
+# LOCALIZATION NOTE (noUsernamePlaceholder):
+# This is displayed in place of the username when it is missing.
+noUsernamePlaceholder=Không có tên người dùng
+togglePasswordLabel=Hiện mật khẩu
+togglePasswordAccessKey2=h
+notNowButtonText = Không phải bây giờ (&N)
+neverForSiteButtonText = Không bao giờ cho trang này (&v)
+rememberButtonText = Ghi nhớ (&R)
+passwordChangeTitle = Xác nhận thay đổi mật khẩu
+# LOCALIZATION NOTE (updatePasswordMsg):
+# String is the username for the login.
+updatePasswordMsg = Bạn có muốn cập nhật mật khẩu đã lưu của "%S"?
+updatePasswordMsgNoUser = Bạn có muốn cập nhật mật khẩu đã được lưu?
+userSelectText2 = Chọn tài khoản để cập nhật:
+loginsDescriptionAll2=Đăng nhập để các trang web sau đây được lưu trữ trên máy tính của bạn
+
+# LOCALIZATION NOTE (useASecurelyGeneratedPassword):
+# Shown in the autocomplete popup to allow filling a generated password into a password field.
+useASecurelyGeneratedPassword=Sử dụng mật khẩu được tạo an toàn
+# LOCALIZATION NOTE (generatedPasswordWillBeSaved):
+# %S will contain the brandShorterName. This informs the user that the generated password will be automatically saved.
+generatedPasswordWillBeSaved=%S sẽ lưu mật khẩu này cho trang web này.
+# LOCALIZATION NOTE (loginHostAge):
+# This is used to show the context menu login items with their age.
+# 1st string is the username for the login, 2nd is the login's age.
+loginHostAge=%1$S (%2$S)
+# LOCALIZATION NOTE (noUsername):
+# String is used on the context menu when a login doesn't have a username.
+noUsername=Không có tên người dùng
+# LOCALIZATION NOTE (displaySameOrigin):
+# String is used on the autocomplete row when the login origin is a domain match with the document origin
+displaySameOrigin=Từ trang web này
+
+# LOCALIZATION NOTE (insecureFieldWarningDescription2):
+# %1$S will contain insecureFieldWarningLearnMore and look like a link to indicate that clicking will open a tab with support information.
+insecureFieldWarningDescription2 = Đây là kết nối không an toàn. Đăng nhập vào đây có thể gây tổn hại cho bạn. %1$S
+insecureFieldWarningLearnMore = Tìm hiểu thêm
+
+# LOCALIZATION NOTE (viewSavedLogins.label):
+# This label is used in the footer of login autocomplete menus.
+viewSavedLogins.label= Xem thông tin đăng nhập đã lưu
+
+# LOCALIZATION NOTE (managePasswords.label):
+# This label is used in the footer of login autocomplete menus.
+managePasswords.label= Quản lý mật khẩu
diff --git a/l10n-vi/toolkit/chrome/places/places.properties b/l10n-vi/toolkit/chrome/places/places.properties
new file mode 100644
index 0000000000..88f862cbf0
--- /dev/null
+++ b/l10n-vi/toolkit/chrome/places/places.properties
@@ -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/.
+
+BookmarksMenuFolderTitle=Trình đơn dấu trang
+BookmarksToolbarFolderTitle=Thanh dấu trang
+OtherBookmarksFolderTitle=Dấu trang khác
+TagsFolderTitle=Nhãn
+MobileBookmarksFolderTitle=Dấu trang trên di động
+OrganizerQueryHistory=Lịch sử
+OrganizerQueryDownloads=Tải xuống
+OrganizerQueryAllBookmarks=Tất cả dấu trang
+
+# LOCALIZATION NOTE :
+# These are used to generate history containers when history is grouped by date
+finduri-AgeInDays-is-0=Hôm nay
+finduri-AgeInDays-is-1=Hôm qua
+finduri-AgeInDays-is=%S ngày trước đó
+finduri-AgeInDays-last-is=%S ngày gần nhất
+finduri-AgeInDays-isgreater=Cũ hơn %S ngày
+finduri-AgeInMonths-is-0=Tháng này
+finduri-AgeInMonths-isgreater=Cũ hơn %S tháng
+
+# LOCALIZATION NOTE (localhost):
+# This is used to generate local files container when history is grouped by site
+localhost=(tập tin trong máy)
+
+# LOCALIZATION NOTE (backupFileSizeText):
+# The string is used for showing file size of each backup in the "fileRestorePopup" popup
+# %1$S is the file size
+# %2$S is the file size unit
+backupFileSizeText=%1$S %2$S
diff --git a/l10n-vi/toolkit/crashreporter/aboutcrashes.ftl b/l10n-vi/toolkit/crashreporter/aboutcrashes.ftl
new file mode 100644
index 0000000000..dbb0b066aa
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/crashreporter/crashreporter.ini b/l10n-vi/toolkit/crashreporter/crashreporter.ini
new file mode 100644
index 0000000000..f92349ebd4
--- /dev/null
+++ b/l10n-vi/toolkit/crashreporter/crashreporter.ini
@@ -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/.
+
+# This file is in the UTF-8 encoding
+[Strings]
+# LOCALIZATION NOTE (isRTL):
+# Leave this entry empty unless your language requires right-to-left layout,
+# for example like Arabic, Hebrew, Persian. If your language needs RTL, please
+# use the untranslated English word "yes" as value
+isRTL=
+CrashReporterTitle=Trình báo cáo lỗi
+# LOCALIZATION NOTE (CrashReporterVendorTitle): %s is replaced with the vendor name. (i.e. "Mozilla")
+CrashReporterVendorTitle=Trình báo cáo lỗi của %s
+# LOCALIZATION NOTE (CrashReporterErrorText): %s is replaced with another string containing detailed information.
+CrashReporterErrorText=Ứng dụng này gặp vấn đề và đã bị lỗi.\n\nThật không may là trình báo lỗi không thể gửi báo cáo đi.\n\nChi tiết: %s
+# LOCALIZATION NOTE (CrashReporterProductErrorText2): The first %s is replaced with the product name (i.e. "Firefox"), the second is replaced with another string containing detailed information. These two substitutions can not be reordered!
+CrashReporterProductErrorText2=%s gặp vấn đề và đã bị lỗi.\n\nThật không may là trình báo lỗi không thể gửi đi.\n\nChi tiết: %s
+CrashReporterSorry=Chúng tôi thành thật xin lỗi
+# LOCALIZATION NOTE (CrashReporterDescriptionText2): The %s is replaced with the product name.
+CrashReporterDescriptionText2=%s gặp vấn đề và đã bị lỗi.\n\nĐể giúp chúng tôi chẩn đoán và sửa chữa, bạn có thể gửi báo cáo lỗi cho chúng tôi.
+CrashReporterDefault=Ứng dụng này được chạy sau khi gặp lỗi để báo cáo vấn đề tới nhà cung cấp ứng dụng. Không nên chạy nó trực tiếp.
+Details=Chi tiết…
+ViewReportTitle=Báo cáo nội dung
+CommentGrayText=Thêm bình luận (bình luận sễ được hiển thị công khai)
+ExtraReportInfo=Báo cáo cũng bao gồm thông tin kĩ thuật về trạng thái ứng dụng lúc bị lỗi.
+# LOCALIZATION NOTE (CheckSendReport): The %s is replaced with the vendor name.
+CheckSendReport=Báo cáo %s về lỗi này để họ có thể sửa nó
+CheckIncludeURL=Bao gồm địa chỉ trang web tôi đang xem
+CheckAllowEmail=Cho phép %s liên hệ với tôi về báo cáo này
+EmailGrayText=Nhập địa chỉ email của bạn ở đây
+ReportPreSubmit2=Báo cáo của bạn sẽ được gửi trước khi bạn thoát hoặc khởi động lại.
+ReportDuringSubmit2=Đang gửi báo cáo của bạn…
+ReportSubmitSuccess=Báo cáo đã được gửi thành công!
+ReportSubmitFailed=Có vấn đề trong khi gửi báo cáo của bạn.
+ReportResubmit=Đang gửi lại các báo cáo không gửi được trước đó…
+# LOCALIZATION NOTE (Quit2): The %s is replaced with the product name.
+Quit2=Thoát %s
+# LOCALIZATION NOTE (Restart): The %s is replaced with the product name.
+Restart=Khởi động lại %s
+Ok=OK
+Close=Đóng
+
+# LOCALIZATION NOTE (CrashID): The %s is replaced with the Crash ID from the server, which is a string like abc12345-6789-0abc-def1-23456abcdef1
+CrashID=ID lỗi: %s
+# LOCALIZATION NOTE (CrashDetailsURL): The %s is replaced with a URL that the user can visit to view the crash details.
+CrashDetailsURL=Bạn có thể xem chi tiết về lỗi tại %s
+ErrorBadArguments=Ứng dụng đã bỏ qua một tham số bất hợp lệ.
+ErrorExtraFileExists=Ứng dụng đã không để lại tập tin dữ liệu.
+ErrorExtraFileRead=Không thể đọc tập tin dữ liệu của ứng dụng.
+ErrorExtraFileMove=Không thể di chuyển tập tin dữ liệu ứng dụng.
+ErrorDumpFileExists=Ứng dụng không để lại tập tin ghi lỗi.
+ErrorDumpFileMove=Không thể di chuyển tập tin ghi lỗi.
+ErrorNoProductName=Ứng dụng không thể nhận diện chính nó.
+ErrorNoServerURL=Ứng dụng không xác định được máy chủ gửi báo cáo lỗi.
+ErrorNoSettingsPath=Không thể tìm thấy thiết lập của trình báo cáo lỗi.
+ErrorCreateDumpDir=Không thể tạo thư mục lưu tập tin ghi lỗi.
+# LOCALIZATION NOTE (ErrorEndOfLife): The %s is replaced with the product name.
+ErrorEndOfLife=Phiên bản %s bạn đang dùng không còn được hỗ trợ. Báo cáo lỗi không còn được chấp nhận cho phiên bản này. Vui lòng nâng cấp lên phiên bản được hỗ trợ.
+
diff --git a/l10n-vi/toolkit/services/accounts.ftl b/l10n-vi/toolkit/services/accounts.ftl
new file mode 100644
index 0000000000..771ee626f1
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/about/aboutAbout.ftl b/l10n-vi/toolkit/toolkit/about/aboutAbout.ftl
new file mode 100644
index 0000000000..da9acef660
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/about/aboutAddons.ftl b/l10n-vi/toolkit/toolkit/about/aboutAddons.ftl
new file mode 100644
index 0000000000..17dd552614
--- /dev/null
+++ b/l10n-vi/toolkit/toolkit/about/aboutAddons.ftl
@@ -0,0 +1,500 @@
+# 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
+# Accessible name for a trashcan icon button that removes an existent shortcut
+shortcuts-remove-button =
+ .aria-label = Xoá lối 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/l10n-vi/toolkit/toolkit/about/aboutCompat.ftl b/l10n-vi/toolkit/toolkit/about/aboutCompat.ftl
new file mode 100644
index 0000000000..58678d7c97
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/about/aboutGlean.ftl b/l10n-vi/toolkit/toolkit/about/aboutGlean.ftl
new file mode 100644
index 0000000000..2f64365085
--- /dev/null
+++ b/l10n-vi/toolkit/toolkit/about/aboutGlean.ftl
@@ -0,0 +1,107 @@
+# 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 text input field precedes this string.
+about-glean-label-for-tag-pings-with-requirements = Đặt tag gỡ lỗi dễ ghi nhớ <span>(không quá 20 kí tự, chỉ chữ, số và dấu trừ “-”)</span> để bạn có thể nhận ra 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/l10n-vi/toolkit/toolkit/about/aboutHttpsOnlyError.ftl b/l10n-vi/toolkit/toolkit/about/aboutHttpsOnlyError.ftl
new file mode 100644
index 0000000000..113a79c640
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/about/aboutLogging.ftl b/l10n-vi/toolkit/toolkit/about/aboutLogging.ftl
new file mode 100644
index 0000000000..1f7e300183
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/about/aboutMozilla.ftl b/l10n-vi/toolkit/toolkit/about/aboutMozilla.ftl
new file mode 100644
index 0000000000..e299462e27
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/about/aboutNetworking.ftl b/l10n-vi/toolkit/toolkit/about/aboutNetworking.ftl
new file mode 100644
index 0000000000..4d5b99b754
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/about/aboutPerformance.ftl b/l10n-vi/toolkit/toolkit/about/aboutPerformance.ftl
new file mode 100644
index 0000000000..6d15c9ca1d
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/about/aboutPlugins.ftl b/l10n-vi/toolkit/toolkit/about/aboutPlugins.ftl
new file mode 100644
index 0000000000..cd0f2671d6
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/about/aboutProcesses.ftl b/l10n-vi/toolkit/toolkit/about/aboutProcesses.ftl
new file mode 100644
index 0000000000..d96e2492ea
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/about/aboutProfiles.ftl b/l10n-vi/toolkit/toolkit/about/aboutProfiles.ftl
new file mode 100644
index 0000000000..6be24b871a
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/about/aboutReader.ftl b/l10n-vi/toolkit/toolkit/about/aboutReader.ftl
new file mode 100644
index 0000000000..4d14179f9a
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/about/aboutRights.ftl b/l10n-vi/toolkit/toolkit/about/aboutRights.ftl
new file mode 100644
index 0000000000..ceeb87902b
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/about/aboutServiceWorkers.ftl b/l10n-vi/toolkit/toolkit/about/aboutServiceWorkers.ftl
new file mode 100644
index 0000000000..182a82a300
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/about/aboutSupport.ftl b/l10n-vi/toolkit/toolkit/about/aboutSupport.ftl
new file mode 100644
index 0000000000..c0b42d7bd9
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/about/aboutTelemetry.ftl b/l10n-vi/toolkit/toolkit/about/aboutTelemetry.ftl
new file mode 100644
index 0000000000..580a3b092d
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/about/aboutThirdParty.ftl b/l10n-vi/toolkit/toolkit/about/aboutThirdParty.ftl
new file mode 100644
index 0000000000..110f41bd6f
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/about/aboutWebauthn.ftl b/l10n-vi/toolkit/toolkit/about/aboutWebauthn.ftl
new file mode 100644
index 0000000000..75344cf47d
--- /dev/null
+++ b/l10n-vi/toolkit/toolkit/about/aboutWebauthn.ftl
@@ -0,0 +1,114 @@
+# 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
+about-webauthn-update-button = Cập nhật
+
+## 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ợ
+
+## Bio enrollment sample feedbacks
+
+
+## Scan (e.g. of fingerprint) was off-center (e.g. too high, too left, etc.).
+
+
+##
+
diff --git a/l10n-vi/toolkit/toolkit/about/aboutWebrtc.ftl b/l10n-vi/toolkit/toolkit/about/aboutWebrtc.ftl
new file mode 100644
index 0000000000..34b3f8fd80
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/about/aboutWindowsMessages.ftl b/l10n-vi/toolkit/toolkit/about/aboutWindowsMessages.ftl
new file mode 100644
index 0000000000..9ae43300ad
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/about/abuseReports.ftl b/l10n-vi/toolkit/toolkit/about/abuseReports.ftl
new file mode 100644
index 0000000000..c738920feb
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/about/certviewer.ftl b/l10n-vi/toolkit/toolkit/about/certviewer.ftl
new file mode 100644
index 0000000000..4f42747bdc
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/about/config.ftl b/l10n-vi/toolkit/toolkit/about/config.ftl
new file mode 100644
index 0000000000..c545dad1ab
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/about/url-classifier.ftl b/l10n-vi/toolkit/toolkit/about/url-classifier.ftl
new file mode 100644
index 0000000000..3b2f572f55
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/branding/accounts.ftl b/l10n-vi/toolkit/toolkit/branding/accounts.ftl
new file mode 100644
index 0000000000..f42ef6095a
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/branding/brandings.ftl b/l10n-vi/toolkit/toolkit/branding/brandings.ftl
new file mode 100644
index 0000000000..43393abb30
--- /dev/null
+++ b/l10n-vi/toolkit/toolkit/branding/brandings.ftl
@@ -0,0 +1,46 @@
+# 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
+-mozmonitor-brand-name = Mozilla 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/l10n-vi/toolkit/toolkit/contentanalysis/contentanalysis.ftl b/l10n-vi/toolkit/toolkit/contentanalysis/contentanalysis.ftl
new file mode 100644
index 0000000000..18657761bd
--- /dev/null
+++ b/l10n-vi/toolkit/toolkit/contentanalysis/contentanalysis.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/.
+
+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-slow-agent-dialog-header = Đang quét
+# Variables:
+# $agent - The name of the DLP agent doing the analysis
+# $filename - Name of the file being analyzed, such as "aFile.txt"
+contentanalysis-slow-agent-dialog-body-file = { $agent } đang xem xét “{ $filename }” chống lại chính sách dữ liệu của tổ chức bạn hay không. Việc này có thể mất một chút thời gian.
+# Variables:
+# $agent - The name of the DLP agent doing the analysis
+contentanalysis-slow-agent-dialog-body-clipboard = { $agent } đang xem xét nội dung bạn đã dán chống lại chính sách dữ liệu của tổ chức bạn hay không. Việc này có thể mất một chút thời gian.
+# Note that this is shown when the user drag and drops text into the browser.
+# Variables:
+# $agent - The name of the DLP agent doing the analysis
+contentanalysis-slow-agent-dialog-body-dropped-text = { $agent } đang xem xét văn bản bạn đã gửi chống lại chính sách dữ liệu của tổ chức bạn hay không. Việc này có thể mất một chút thời gian.
+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/l10n-vi/toolkit/toolkit/downloads/downloadUI.ftl b/l10n-vi/toolkit/toolkit/downloads/downloadUI.ftl
new file mode 100644
index 0000000000..23d8a69e80
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/downloads/downloadUtils.ftl b/l10n-vi/toolkit/toolkit/downloads/downloadUtils.ftl
new file mode 100644
index 0000000000..f5718dfae6
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/featuregates/features.ftl b/l10n-vi/toolkit/toolkit/featuregates/features.ftl
new file mode 100644
index 0000000000..ef04371def
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/formautofill/formAutofill.ftl b/l10n-vi/toolkit/toolkit/formautofill/formAutofill.ftl
new file mode 100644
index 0000000000..d8e855139d
--- /dev/null
+++ b/l10n-vi/toolkit/toolkit/formautofill/formAutofill.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/.
+
+
+## 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
+# Used as a label for the button, displayed at the bottom of the dropdown suggestion, to open Form Autofill browser preferences.
+autofill-manage-addresses-label = Quản lý địa chỉ
+# Used as a label for the button, displayed at the bottom of the dropdown suggestion, to open Form Autofill browser preferences.
+autofill-manage-payment-methods-label = Quản lý phương thức thanh toán
+
+## These are brand names and should only be translated when a locale-specific name for that brand is in common use
+
+autofill-card-network-amex = American Express
+autofill-card-network-cartebancaire = Carte Bancaire
+autofill-card-network-diners = Diners Club
+autofill-card-network-discover = Discover
+autofill-card-network-jcb = JCB
+autofill-card-network-mastercard = MasterCard
+autofill-card-network-mir = MIR
+autofill-card-network-unionpay = Union Pay
+autofill-card-network-visa = Visa
diff --git a/l10n-vi/toolkit/toolkit/global/alert.ftl b/l10n-vi/toolkit/toolkit/global/alert.ftl
new file mode 100644
index 0000000000..10a0db0aa1
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/appPicker.ftl b/l10n-vi/toolkit/toolkit/global/appPicker.ftl
new file mode 100644
index 0000000000..8422321a6f
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/arrowscrollbox.ftl b/l10n-vi/toolkit/toolkit/global/arrowscrollbox.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-vi/toolkit/toolkit/global/arrowscrollbox.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/l10n-vi/toolkit/toolkit/global/browser-utils.ftl b/l10n-vi/toolkit/toolkit/global/browser-utils.ftl
new file mode 100644
index 0000000000..33effd1fe7
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/commonDialog.ftl b/l10n-vi/toolkit/toolkit/global/commonDialog.ftl
new file mode 100644
index 0000000000..824bf7dd9c
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/contextual-identity.ftl b/l10n-vi/toolkit/toolkit/global/contextual-identity.ftl
new file mode 100644
index 0000000000..f263c35d82
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/cookieBannerHandling.ftl b/l10n-vi/toolkit/toolkit/global/cookieBannerHandling.ftl
new file mode 100644
index 0000000000..e0da2f0e04
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/createProfileWizard.ftl b/l10n-vi/toolkit/toolkit/global/createProfileWizard.ftl
new file mode 100644
index 0000000000..3a72771640
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/cspErrors.ftl b/l10n-vi/toolkit/toolkit/global/cspErrors.ftl
new file mode 100644
index 0000000000..8a443bd674
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/datepicker.ftl b/l10n-vi/toolkit/toolkit/global/datepicker.ftl
new file mode 100644
index 0000000000..a4a2cfa7b8
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/datetimebox.ftl b/l10n-vi/toolkit/toolkit/global/datetimebox.ftl
new file mode 100644
index 0000000000..fa0b7ab266
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/extensionPermissions.ftl b/l10n-vi/toolkit/toolkit/global/extensionPermissions.ftl
new file mode 100644
index 0000000000..7203d417b4
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/extensions.ftl b/l10n-vi/toolkit/toolkit/global/extensions.ftl
new file mode 100644
index 0000000000..cb03e6fed0
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/handlerDialog.ftl b/l10n-vi/toolkit/toolkit/global/handlerDialog.ftl
new file mode 100644
index 0000000000..9a9b505c17
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/htmlForm.ftl b/l10n-vi/toolkit/toolkit/global/htmlForm.ftl
new file mode 100644
index 0000000000..ccaaa6006a
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/mozCard.ftl b/l10n-vi/toolkit/toolkit/global/mozCard.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/mozFiveStar.ftl b/l10n-vi/toolkit/toolkit/global/mozFiveStar.ftl
new file mode 100644
index 0000000000..726870fd72
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/mozMessageBar.ftl b/l10n-vi/toolkit/toolkit/global/mozMessageBar.ftl
new file mode 100644
index 0000000000..9d5e92e0b8
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/mozSupportLink.ftl b/l10n-vi/toolkit/toolkit/global/mozSupportLink.ftl
new file mode 100644
index 0000000000..d04cd7e55d
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/notification.ftl b/l10n-vi/toolkit/toolkit/global/notification.ftl
new file mode 100644
index 0000000000..d5963537e3
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/popupnotification.ftl b/l10n-vi/toolkit/toolkit/global/popupnotification.ftl
new file mode 100644
index 0000000000..8ebc6f98ee
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/processTypes.ftl b/l10n-vi/toolkit/toolkit/global/processTypes.ftl
new file mode 100644
index 0000000000..822dfe0667
--- /dev/null
+++ b/l10n-vi/toolkit/toolkit/global/processTypes.ftl
@@ -0,0 +1,57 @@
+# 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
+process-type-utility-actor-audio-decoder-generic = Tiện ích Generic Audio Decoder
+process-type-utility-actor-audio-decoder-applemedia = Tiện ích AppleMedia
+process-type-utility-actor-audio-decoder-wmf = Tiện ích Windows Media Foundation
+process-type-utility-actor-mf-media-engine = Tiện ích Media Foundation Engine
+process-type-utility-actor-js-oracle = Tiện ích JavaScript Oracle
+process-type-utility-actor-windows-utils = Tiện ích Windows Utils
+process-type-utility-actor-windows-file-dialog = Tiện ích Windows File Dialog
+
+##
+## Other
+##
+
+# fallback
+process-type-unknown = Không rõ
diff --git a/l10n-vi/toolkit/toolkit/global/profileDowngrade.ftl b/l10n-vi/toolkit/toolkit/global/profileDowngrade.ftl
new file mode 100644
index 0000000000..ab9819cadf
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/profileSelection.ftl b/l10n-vi/toolkit/toolkit/global/profileSelection.ftl
new file mode 100644
index 0000000000..7eecdd8358
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/resetProfile.ftl b/l10n-vi/toolkit/toolkit/global/resetProfile.ftl
new file mode 100644
index 0000000000..2ea72c8675
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/resistFingerPrinting.ftl b/l10n-vi/toolkit/toolkit/global/resistFingerPrinting.ftl
new file mode 100644
index 0000000000..4348e442c4
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/run-from-dmg.ftl b/l10n-vi/toolkit/toolkit/global/run-from-dmg.ftl
new file mode 100644
index 0000000000..b875de52a0
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/tabprompts.ftl b/l10n-vi/toolkit/toolkit/global/tabprompts.ftl
new file mode 100644
index 0000000000..9d00b9d5a4
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/textActions.ftl b/l10n-vi/toolkit/toolkit/global/textActions.ftl
new file mode 100644
index 0000000000..f983d5003a
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/timepicker.ftl b/l10n-vi/toolkit/toolkit/global/timepicker.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/tree.ftl b/l10n-vi/toolkit/toolkit/global/tree.ftl
new file mode 100644
index 0000000000..051916ee2a
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/unknownContentType.ftl b/l10n-vi/toolkit/toolkit/global/unknownContentType.ftl
new file mode 100644
index 0000000000..c39437ee9d
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/videocontrols.ftl b/l10n-vi/toolkit/toolkit/global/videocontrols.ftl
new file mode 100644
index 0000000000..36caef83b7
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/global/wizard.ftl b/l10n-vi/toolkit/toolkit/global/wizard.ftl
new file mode 100644
index 0000000000..8a70912f0e
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/intl/languageNames.ftl b/l10n-vi/toolkit/toolkit/intl/languageNames.ftl
new file mode 100644
index 0000000000..8488869ba1
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/intl/regionNames.ftl b/l10n-vi/toolkit/toolkit/intl/regionNames.ftl
new file mode 100644
index 0000000000..05851494b3
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/main-window/autocomplete.ftl b/l10n-vi/toolkit/toolkit/main-window/autocomplete.ftl
new file mode 100644
index 0000000000..957a5ba151
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/main-window/findbar.ftl b/l10n-vi/toolkit/toolkit/main-window/findbar.ftl
new file mode 100644
index 0000000000..61685fcec4
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/neterror/certError.ftl b/l10n-vi/toolkit/toolkit/neterror/certError.ftl
new file mode 100644
index 0000000000..7dcc37a160
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/neterror/netError.ftl b/l10n-vi/toolkit/toolkit/neterror/netError.ftl
new file mode 100644
index 0000000000..1140703f5e
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/neterror/nsserrors.ftl b/l10n-vi/toolkit/toolkit/neterror/nsserrors.ftl
new file mode 100644
index 0000000000..6058beb1b1
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/passwordmgr/passwordmgr.ftl b/l10n-vi/toolkit/toolkit/passwordmgr/passwordmgr.ftl
new file mode 100644
index 0000000000..5c598d665a
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/payments/payments.ftl b/l10n-vi/toolkit/toolkit/payments/payments.ftl
new file mode 100644
index 0000000000..b572004e83
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/pdfviewer/viewer.ftl b/l10n-vi/toolkit/toolkit/pdfviewer/viewer.ftl
new file mode 100644
index 0000000000..f2fe79c688
--- /dev/null
+++ b/l10n-vi/toolkit/toolkit/pdfviewer/viewer.ftl
@@ -0,0 +1,381 @@
+# 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 = Đánh dấu 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-highlight-button =
+ .title = Đánh dấu
+pdfjs-editor-highlight-button-label = Đánh dấu
+
+## 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
+# This refers to the thickness of the line used for free highlighting (not bound to text)
+pdfjs-editor-free-highlight-thickness-input = Độ dày
+pdfjs-editor-free-highlight-thickness-title =
+ .title = Thay đổi độ dày khi đánh dấu các mục không phải là văn bản
+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/l10n-vi/toolkit/toolkit/pictureinpicture/pictureinpicture.ftl b/l10n-vi/toolkit/toolkit/pictureinpicture/pictureinpicture.ftl
new file mode 100644
index 0000000000..82558499e3
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/preferences/preferences.ftl b/l10n-vi/toolkit/toolkit/preferences/preferences.ftl
new file mode 100644
index 0000000000..93a98a6286
--- /dev/null
+++ b/l10n-vi/toolkit/toolkit/preferences/preferences.ftl
@@ -0,0 +1,35 @@
+# 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-required-by-policy = Tổ chức 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/l10n-vi/toolkit/toolkit/printing/printDialogs.ftl b/l10n-vi/toolkit/toolkit/printing/printDialogs.ftl
new file mode 100644
index 0000000000..c003b3d1bd
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/printing/printPreview.ftl b/l10n-vi/toolkit/toolkit/printing/printPreview.ftl
new file mode 100644
index 0000000000..9d1b006f2d
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/printing/printUI.ftl b/l10n-vi/toolkit/toolkit/printing/printUI.ftl
new file mode 100644
index 0000000000..3cbdfd6f47
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/reportBrokenSite/reportBrokenSite.ftl b/l10n-vi/toolkit/toolkit/reportBrokenSite/reportBrokenSite.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/updates/backgroundupdate.ftl b/l10n-vi/toolkit/toolkit/updates/backgroundupdate.ftl
new file mode 100644
index 0000000000..4108cd7c90
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/updates/elevation.ftl b/l10n-vi/toolkit/toolkit/updates/elevation.ftl
new file mode 100644
index 0000000000..26648743d9
--- /dev/null
+++ b/l10n-vi/toolkit/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/l10n-vi/toolkit/toolkit/updates/history.ftl b/l10n-vi/toolkit/toolkit/updates/history.ftl
new file mode 100644
index 0000000000..01b0a01ec9
--- /dev/null
+++ b/l10n-vi/toolkit/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 }