From 1d1a4ce1daaf4c1ce42e709ae3b4ee62d2afb04a Mon Sep 17 00:00:00 2001
From: Mike Hommey
Date: Sat, 5 Mar 2022 22:31:23 +0000
Subject: [PATCH] Import firefox-esr_91.6.1esr.orig-l10n-th.tar.bz2
[dgit import orig firefox-esr_91.6.1esr.orig-l10n-th.tar.bz2]
---
browser/branding/official/brand.dtd | 11 +
browser/branding/official/brand.ftl | 37 +
browser/branding/official/brand.properties | 13 +
browser/browser/aboutCertError.ftl | 126 ++
browser/browser/aboutConfig.ftl | 54 +
browser/browser/aboutDialog.ftl | 64 +
browser/browser/aboutLogins.ftl | 324 ++++
browser/browser/aboutPocket.ftl | 50 +
browser/browser/aboutPolicies.ftl | 17 +
browser/browser/aboutPrivateBrowsing.ftl | 44 +
browser/browser/aboutRestartRequired.ftl | 10 +
browser/browser/aboutRobots.ftl | 29 +
browser/browser/aboutSessionRestore.ftl | 51 +
browser/browser/aboutTabCrashed.ftl | 22 +
browser/browser/aboutUnloads.ftl | 52 +
browser/browser/accounts.ftl | 17 +
browser/browser/allTabsMenu.ftl | 17 +
browser/browser/appExtensionFields.ftl | 28 +
browser/browser/appMenuNotifications.ftl | 66 +
browser/browser/appmenu.ftl | 266 +++
browser/browser/branding/brandings.ftl | 39 +
browser/browser/branding/sync-brand.ftl | 7 +
browser/browser/browser.ftl | 793 +++++++++
browser/browser/browserContext.ftl | 457 +++++
browser/browser/browserSets.ftl | 218 +++
browser/browser/customizeMode.ftl | 48 +
.../browser/defaultBrowserNotification.ftl | 23 +
browser/browser/downloads.ftl | 204 +++
browser/browser/editBookmarkOverlay.ftl | 49 +
browser/browser/menubar.ftl | 338 ++++
browser/browser/migration.ftl | 148 ++
browser/browser/newInstallPage.ftl | 33 +
browser/browser/newtab/asrouter.ftl | 145 ++
browser/browser/newtab/newtab.ftl | 270 +++
browser/browser/newtab/onboarding.ftl | 300 ++++
browser/browser/nsserrors.ftl | 354 ++++
browser/browser/pageInfo.ftl | 254 +++
browser/browser/panelUI.ftl | 25 +
browser/browser/panicButton.ftl | 31 +
browser/browser/places.ftl | 212 +++
.../policies/policies-descriptions.ftl | 117 ++
browser/browser/preferences/addEngine.ftl | 22 +
.../preferences/applicationManager.ftl | 25 +
browser/browser/preferences/blocklists.ftl | 33 +
browser/browser/preferences/clearSiteData.ftl | 56 +
browser/browser/preferences/colors.ftl | 48 +
browser/browser/preferences/connection.ftl | 102 ++
browser/browser/preferences/containers.ftl | 94 +
browser/browser/preferences/fonts.ftl | 121 ++
browser/browser/preferences/fxaPairDevice.ftl | 19 +
browser/browser/preferences/languages.ftl | 73 +
browser/browser/preferences/permissions.ftl | 186 ++
browser/browser/preferences/preferences.ftl | 1102 ++++++++++++
.../browser/preferences/selectBookmark.ftl | 9 +
.../browser/preferences/siteDataSettings.ftl | 54 +
browser/browser/preferences/translation.ftl | 40 +
browser/browser/protections.ftl | 193 ++
browser/browser/protectionsPanel.ftl | 113 ++
browser/browser/safeMode.ftl | 15 +
browser/browser/safebrowsing/blockedSite.ftl | 30 +
browser/browser/sanitize.ftl | 89 +
browser/browser/screenshots.ftl | 38 +
browser/browser/search.ftl | 26 +
browser/browser/setDesktopBackground.ftl | 29 +
browser/browser/sidebarMenu.ftl | 18 +
browser/browser/sitePermissions.ftl | 11 +
browser/browser/sync.ftl | 26 +
browser/browser/syncedTabs.ftl | 43 +
browser/browser/tabContextMenu.ftl | 114 ++
browser/browser/tabbrowser.ftl | 8 +
browser/browser/toolbarContextMenu.ftl | 74 +
browser/browser/touchbar/touchbar.ftl | 38 +
browser/browser/upgradeDialog.ftl | 117 ++
browser/browser/webrtcIndicator.ftl | 38 +
.../chrome/browser-region/region.properties | 23 +
browser/chrome/browser/accounts.properties | 112 ++
.../browser/app-extension-fields.properties | 15 +
browser/chrome/browser/browser.dtd | 157 ++
browser/chrome/browser/browser.properties | 1023 +++++++++++
.../customizableWidgets.properties | 75 +
.../browser/downloads/downloads.properties | 98 ++
.../chrome/browser/feeds/subscribe.properties | 10 +
.../places/bookmarkProperties.properties | 24 +
browser/chrome/browser/places/places.dtd | 63 +
.../chrome/browser/places/places.properties | 72 +
.../safebrowsing/safebrowsing.properties | 6 +
browser/chrome/browser/search.properties | 33 +
.../chrome/browser/shellservice.properties | 16 +
browser/chrome/browser/siteData.properties | 8 +
.../chrome/browser/sitePermissions.properties | 52 +
browser/chrome/browser/syncSetup.properties | 14 +
browser/chrome/browser/tabbrowser.properties | 158 ++
browser/chrome/browser/taskbar.properties | 12 +
browser/chrome/browser/translation.dtd | 58 +
browser/chrome/browser/translation.properties | 12 +
browser/chrome/browser/uiDensity.properties | 5 +
.../chrome/browser/webrtcIndicator.properties | 61 +
.../chrome/overrides/appstrings.properties | 45 +
browser/chrome/overrides/netError.dtd | 143 ++
.../crashreporter/crashreporter-override.ini | 8 +
.../defaultagent/defaultagent_localized.ini | 12 +
browser/defines.inc | 12 +
.../formautofill/formautofill.properties | 230 +++
.../report-site-issue/webcompat.properties | 10 +
browser/firefox-l10n.js | 6 +
browser/installer/custom.properties | 92 +
browser/installer/mui.properties | 61 +
browser/installer/nsisstrings.properties | 50 +
browser/installer/override.properties | 86 +
browser/pdfviewer/chrome.properties | 20 +
browser/pdfviewer/viewer.properties | 250 +++
browser/profile/bookmarks.inc | 72 +
browser/updater/updater.ini | 10 +
calendar/calendar/calendar-context-menus.ftl | 7 +
calendar/calendar/calendar-editable-item.ftl | 12 +
.../calendar-event-dialog-reminder.ftl | 3 +
.../calendar/calendar-ics-file-dialog.ftl | 41 +
.../calendar/calendar-invitations-dialog.ftl | 3 +
.../calendar-itip-identity-dialog.ftl | 3 +
calendar/calendar/calendar-print.ftl | 3 +
calendar/calendar/calendar-summary-dialog.ftl | 15 +
.../calendar/calendar-uri-redirect-dialog.ftl | 11 +
calendar/calendar/calendar-widgets.ftl | 6 +
calendar/calendar/category-dialog.ftl | 7 +
calendar/calendar/preferences.ftl | 186 ++
.../calendar/calendar-alarms.properties | 39 +
...calendar-event-dialog-attendees.properties | 15 +
.../chrome/calendar/calendar-event-dialog.dtd | 428 +++++
.../calendar/calendar-event-dialog.properties | 541 ++++++
.../calendar/calendar-extract.properties | 294 ++++
.../calendar/calendar-invitations-dialog.dtd | 19 +
.../calendar-invitations-dialog.properties | 10 +
.../calendar/calendar-occurrence-prompt.dtd | 7 +
.../calendar-occurrence-prompt.properties | 53 +
calendar/chrome/calendar/calendar.dtd | 411 +++++
calendar/chrome/calendar/calendar.properties | 794 +++++++++
calendar/chrome/calendar/calendarCreation.dtd | 51 +
.../calendar/calendarCreation.properties | 6 +
.../chrome/calendar/categories.properties | 7 +
.../chrome/calendar/dateFormat.properties | 146 ++
.../calendar-event-dialog-reminder.dtd | 19 +
calendar/chrome/calendar/global.dtd | 54 +
calendar/chrome/calendar/menuOverlay.dtd | 50 +
calendar/chrome/calendar/migration.dtd | 9 +
calendar/chrome/calendar/migration.properties | 13 +
.../chrome/calendar/provider-uninstall.dtd | 12 +
calendar/chrome/calendar/timezones.properties | 483 +++++
.../chrome/lightning/lightning-toolbar.dtd | 51 +
calendar/chrome/lightning/lightning.dtd | 110 ++
.../chrome/lightning/lightning.properties | 165 ++
chat/accounts.dtd | 41 +
chat/accounts.properties | 9 +
chat/commands.properties | 27 +
chat/contacts.properties | 8 +
chat/conversations.properties | 80 +
chat/dateFormat.properties | 62 +
chat/facebook.properties | 6 +
chat/imtooltip.properties | 10 +
chat/irc.properties | 209 +++
chat/logger.properties | 7 +
chat/matrix.properties | 128 ++
chat/status.properties | 23 +
chat/twitter.properties | 122 ++
chat/xmpp.properties | 276 +++
chat/yahoo.properties | 5 +
devtools/client/aboutdebugging.ftl | 390 ++++
devtools/client/accessibility.ftl | 79 +
devtools/client/accessibility.properties | 298 ++++
devtools/client/animationinspector.properties | 182 ++
devtools/client/application.ftl | 147 ++
devtools/client/boxmodel.properties | 48 +
devtools/client/changes.properties | 64 +
devtools/client/compatibility.ftl | 48 +
devtools/client/components.properties | 37 +
devtools/client/debugger.properties | 1077 ++++++++++++
devtools/client/device.properties | 20 +
devtools/client/dom.properties | 19 +
devtools/client/filterwidget.properties | 61 +
devtools/client/font-inspector.properties | 69 +
devtools/client/graphs.properties | 24 +
devtools/client/har.properties | 22 +
devtools/client/inspector.properties | 565 ++++++
devtools/client/jit-optimizations.properties | 35 +
devtools/client/jsonview.properties | 47 +
devtools/client/layout.properties | 129 ++
devtools/client/markers.properties | 138 ++
devtools/client/memory.properties | 426 +++++
devtools/client/menus.properties | 35 +
devtools/client/netmonitor.properties | 1563 +++++++++++++++++
devtools/client/network-throttling.properties | 27 +
devtools/client/performance.dtd | 130 ++
devtools/client/performance.properties | 160 ++
devtools/client/perftools.ftl | 137 ++
devtools/client/responsive.properties | 173 ++
devtools/client/shared.properties | 26 +
devtools/client/sourceeditor.dtd | 22 +
devtools/client/sourceeditor.properties | 117 ++
devtools/client/startup.properties | 253 +++
devtools/client/storage.dtd | 17 +
devtools/client/storage.ftl | 33 +
devtools/client/storage.properties | 104 ++
devtools/client/styleeditor.ftl | 27 +
devtools/client/styleeditor.properties | 67 +
devtools/client/toolbox-options.ftl | 120 ++
devtools/client/toolbox.properties | 306 ++++
devtools/client/tooltips.ftl | 72 +
devtools/client/webconsole.properties | 563 ++++++
devtools/shared/accessibility.properties | 142 ++
devtools/shared/debugger.properties | 59 +
devtools/shared/eyedropper.properties | 14 +
devtools/shared/highlighters.properties | 35 +
devtools/shared/screenshot.properties | 138 ++
devtools/shared/shared.properties | 6 +
devtools/shared/styleinspector.properties | 242 +++
devtools/startup/aboutDevTools.ftl | 57 +
devtools/startup/key-shortcuts.ftl | 36 +
devtools/startup/key-shortcuts.properties | 67 +
devtools/startup/startup.properties | 8 +
dom/chrome/accessibility/AccessFu.properties | 358 ++++
.../accessibility/mac/accessible.properties | 65 +
.../accessibility/unix/accessible.properties | 17 +
.../accessibility/win/accessible.properties | 17 +
dom/chrome/appstrings.properties | 38 +
dom/chrome/dom/dom.properties | 429 +++++
dom/chrome/global-strres.properties | 5 +
dom/chrome/global.dtd | 5 +
dom/chrome/layout/HtmlForm.properties | 43 +
dom/chrome/layout/MediaDocument.properties | 22 +
dom/chrome/layout/css.properties | 46 +
dom/chrome/layout/htmlparser.properties | 133 ++
dom/chrome/layout/layout_errors.properties | 56 +
dom/chrome/layout/printing.properties | 56 +
dom/chrome/layout/xmlparser.properties | 48 +
dom/chrome/layout/xul.properties | 5 +
dom/chrome/mathml/mathml.properties | 15 +
dom/chrome/netError.dtd | 96 +
dom/chrome/netErrorApp.dtd | 23 +
dom/chrome/nsWebBrowserPersist.properties | 17 +
dom/chrome/plugins.properties | 14 +
dom/chrome/security/caps.properties | 9 +
dom/chrome/security/csp.properties | 107 ++
dom/chrome/security/security.properties | 156 ++
dom/chrome/svg/svg.properties | 5 +
dom/chrome/xml/prettyprint.dtd | 5 +
dom/chrome/xslt/xslt.properties | 39 +
dom/dom/media.ftl | 5 +
mail/branding/thunderbird/brand.dtd | 12 +
mail/branding/thunderbird/brand.ftl | 21 +
mail/branding/thunderbird/brand.properties | 7 +
mail/browser/appExtensionFields.ftl | 11 +
mail/chrome/communicator/utilityOverlay.dtd | 43 +
mail/chrome/messenger-mapi/mapi.properties | 35 +
.../chrome/messenger-newsblog/am-newsblog.dtd | 14 +
.../messenger-newsblog/feed-subscriptions.dtd | 55 +
.../messenger-newsblog/newsblog.properties | 93 +
.../messenger-smime/certFetchingStatus.dtd | 9 +
.../messenger-smime/msgCompSMIMEOverlay.dtd | 36 +
.../messenger-smime/msgCompSecurityInfo.dtd | 18 +
.../msgCompSecurityInfo.properties | 13 +
.../msgReadSMIMEOverlay.properties | 11 +
.../messenger-smime/msgReadSecurityInfo.dtd | 17 +
.../msgSecurityInfo.properties | 36 +
mail/chrome/messenger/AccountManager.dtd | 40 +
mail/chrome/messenger/AccountWizard.dtd | 124 ++
mail/chrome/messenger/CustomHeaders.dtd | 11 +
mail/chrome/messenger/FilterEditor.dtd | 67 +
mail/chrome/messenger/FilterListDialog.dtd | 40 +
mail/chrome/messenger/SearchDialog.dtd | 38 +
mail/chrome/messenger/aboutDialog.dtd | 116 ++
mail/chrome/messenger/aboutDownloads.dtd | 23 +
mail/chrome/messenger/aboutRights.properties | 6 +
.../messenger/aboutSupportMail.properties | 15 +
.../messenger/accountCreationModel.properties | 20 +
.../messenger/accountCreationUtil.properties | 34 +
mail/chrome/messenger/activity.dtd | 37 +
mail/chrome/messenger/activity.properties | 99 ++
mail/chrome/messenger/addbuddy.dtd | 7 +
mail/chrome/messenger/addons.properties | 228 +++
.../addressbook/abAddressBookNameDialog.dtd | 7 +
mail/chrome/messenger/addressbook/abCard.dtd | 156 ++
.../messenger/addressbook/abContactsPanel.dtd | 49 +
.../addressbook/abMailListDialog.dtd | 21 +
.../messenger/addressbook/abMainWindow.dtd | 211 +++
.../messenger/addressbook/abNewCardDialog.dtd | 7 +
.../messenger/addressbook/abResultsPane.dtd | 38 +
.../addressbook/addressBook.properties | 176 ++
.../addressbook/ldapAutoCompErrs.properties | 104 ++
.../addressbook/pref-directory-add.dtd | 45 +
.../messenger/addressbook/pref-directory.dtd | 17 +
.../replicationProgress.properties | 20 +
mail/chrome/messenger/am-addressing.dtd | 51 +
mail/chrome/messenger/am-advanced.dtd | 30 +
mail/chrome/messenger/am-archiveoptions.dtd | 25 +
mail/chrome/messenger/am-copies.dtd | 52 +
mail/chrome/messenger/am-e2e.properties | 5 +
mail/chrome/messenger/am-identities-list.dtd | 15 +
mail/chrome/messenger/am-identity-edit.dtd | 14 +
mail/chrome/messenger/am-im.dtd | 16 +
mail/chrome/messenger/am-junk.dtd | 31 +
mail/chrome/messenger/am-main.dtd | 49 +
mail/chrome/messenger/am-mdn.dtd | 33 +
mail/chrome/messenger/am-mdn.properties | 6 +
mail/chrome/messenger/am-offline.dtd | 57 +
mail/chrome/messenger/am-server-advanced.dtd | 31 +
mail/chrome/messenger/am-server-top.dtd | 89 +
.../messenger/am-serverwithnoidentities.dtd | 6 +
mail/chrome/messenger/am-smime.dtd | 55 +
mail/chrome/messenger/am-smime.properties | 39 +
.../messenger/app-extension-fields.properties | 11 +
mail/chrome/messenger/appUpdate.properties | 40 +
.../messenger/appleMailImportMsgs.properties | 20 +
mail/chrome/messenger/baseMenuOverlay.dtd | 34 +
.../messenger/beckyImportMsgs.properties | 19 +
.../chrome/messenger/charsetTitles.properties | 80 +
mail/chrome/messenger/chat.dtd | 44 +
mail/chrome/messenger/chat.properties | 99 ++
mail/chrome/messenger/configEditorOverlay.dtd | 5 +
mail/chrome/messenger/converterDialog.dtd | 11 +
.../messenger/converterDialog.properties | 41 +
mail/chrome/messenger/custom.properties | 5 +
mail/chrome/messenger/customizeToolbar.dtd | 18 +
.../messenger/customizeToolbar.properties | 11 +
mail/chrome/messenger/devtools/dbgserver.dtd | 8 +
.../messenger/devtools/dbgserver.properties | 15 +
mail/chrome/messenger/downloadheaders.dtd | 20 +
mail/chrome/messenger/editContactOverlay.dtd | 20 +
.../messenger/editContactOverlay.properties | 14 +
mail/chrome/messenger/fieldMapImport.dtd | 18 +
mail/chrome/messenger/filter.properties | 110 ++
mail/chrome/messenger/folderProps.dtd | 70 +
.../chrome/messenger/folderWidgets.properties | 12 +
mail/chrome/messenger/folderpane.dtd | 7 +
mail/chrome/messenger/gloda.properties | 161 ++
.../chrome/messenger/glodaComplete.properties | 19 +
mail/chrome/messenger/glodaFacetView.dtd | 29 +
.../messenger/glodaFacetView.properties | 171 ++
mail/chrome/messenger/imAccountWizard.dtd | 32 +
mail/chrome/messenger/imAccounts.properties | 63 +
mail/chrome/messenger/imapMsgs.properties | 266 +++
mail/chrome/messenger/importDialog.dtd | 51 +
mail/chrome/messenger/importMsgs.properties | 304 ++++
mail/chrome/messenger/joinChat.dtd | 10 +
mail/chrome/messenger/junkLog.dtd | 10 +
mail/chrome/messenger/junkMailInfo.dtd | 11 +
mail/chrome/messenger/localMsgs.properties | 136 ++
mail/chrome/messenger/mailEditorOverlay.dtd | 6 +
mail/chrome/messenger/mailOverlay.dtd | 11 +
mail/chrome/messenger/mailViewList.dtd | 7 +
mail/chrome/messenger/mailViewSetup.dtd | 10 +
mail/chrome/messenger/mailviews.properties | 13 +
mail/chrome/messenger/markByDate.dtd | 9 +
mail/chrome/messenger/messenger.dtd | 948 ++++++++++
mail/chrome/messenger/messenger.properties | 770 ++++++++
.../messengercompose/EdAdvancedEdit.dtd | 18 +
.../messengercompose/EdColorPicker.dtd | 22 +
.../messengercompose/EdConvertToTable.dtd | 15 +
.../messengercompose/EdDialogOverlay.dtd | 18 +
.../EdNamedAnchorProperties.dtd | 8 +
.../EditorColorProperties.dtd | 29 +
.../EditorHLineProperties.dtd | 27 +
.../EditorImageProperties.dtd | 79 +
.../messengercompose/EditorInsertChars.dtd | 19 +
.../messengercompose/EditorInsertMath.dtd | 21 +
.../messengercompose/EditorInsertSource.dtd | 15 +
.../messengercompose/EditorInsertTOC.dtd | 16 +
.../messengercompose/EditorInsertTable.dtd | 18 +
.../messengercompose/EditorLinkProperties.dtd | 6 +
.../messengercompose/EditorListProperties.dtd | 20 +
.../EditorPersonalDictionary.dtd | 18 +
.../messengercompose/EditorReplace.dtd | 29 +
.../messengercompose/EditorSpellCheck.dtd | 38 +
.../EditorTableProperties.dtd | 75 +
.../messengercompose/askSendFormat.dtd | 20 +
.../messengercompose/askSendFormat.properties | 8 +
.../messengercompose/composeMsgs.properties | 483 +++++
.../messengercompose/editor.properties | 208 +++
.../messengercompose/editorOverlay.dtd | 303 ++++
.../mailComposeEditorOverlay.dtd | 9 +
.../messengercompose/messengercompose.dtd | 319 ++++
.../messengercompose/sendProgress.dtd | 8 +
.../messengercompose/sendProgress.properties | 21 +
mail/chrome/messenger/migration/migration.dtd | 30 +
.../messenger/migration/migration.properties | 27 +
mail/chrome/messenger/mime.properties | 154 ++
mail/chrome/messenger/mimeheader.properties | 35 +
.../messenger/morkImportMsgs.properties | 18 +
mail/chrome/messenger/msgAccountCentral.dtd | 26 +
mail/chrome/messenger/msgHdrViewOverlay.dtd | 114 ++
mail/chrome/messenger/msgSynchronize.dtd | 25 +
.../chrome/messenger/msgViewPickerOverlay.dtd | 22 +
mail/chrome/messenger/msgmdn.properties | 18 +
mail/chrome/messenger/multimessageview.dtd | 8 +
.../messenger/multimessageview.properties | 66 +
mail/chrome/messenger/newFolderDialog.dtd | 16 +
.../newmailaccount/accountProvisioner.dtd | 43 +
.../accountProvisioner.properties | 32 +
mail/chrome/messenger/news.properties | 56 +
mail/chrome/messenger/newsError.dtd | 31 +
mail/chrome/messenger/offline.properties | 28 +
.../messenger/offlineStartup.properties | 8 +
.../messenger/outlookImportMsgs.properties | 77 +
mail/chrome/messenger/pgpmime.properties | 10 +
.../preferences/applicationManager.properties | 13 +
.../preferences/applications.properties | 13 +
.../preferences/messagestyle.properties | 13 +
.../preferences/preferences.properties | 114 ++
mail/chrome/messenger/prefs.properties | 90 +
mail/chrome/messenger/quickFilterBar.dtd | 269 +++
mail/chrome/messenger/removeAccount.dtd | 22 +
.../chrome/messenger/removeAccount.properties | 5 +
mail/chrome/messenger/renameFolderDialog.dtd | 9 +
mail/chrome/messenger/sanitize.dtd | 36 +
.../messenger/seamonkeyImportMsgs.properties | 18 +
.../messenger/search-attributes.properties | 45 +
.../messenger/search-operators.properties | 31 +
mail/chrome/messenger/search.properties | 27 +
mail/chrome/messenger/searchTermOverlay.dtd | 19 +
.../messenger/shutdownWindow.properties | 10 +
mail/chrome/messenger/smime.properties | 11 +
mail/chrome/messenger/smtpEditOverlay.dtd | 24 +
mail/chrome/messenger/subscribe.dtd | 22 +
mail/chrome/messenger/subscribe.properties | 13 +
mail/chrome/messenger/tabmail.dtd | 9 +
mail/chrome/messenger/taskbar.properties | 8 +
mail/chrome/messenger/telemetry.properties | 13 +
.../chrome/messenger/templateUtils.properties | 7 +
.../messenger/textImportMsgs.properties | 48 +
.../messenger/vCardImportMsgs.properties | 26 +
mail/chrome/messenger/viewLog.dtd | 12 +
mail/chrome/messenger/viewSource.dtd | 86 +
mail/chrome/messenger/viewSource.properties | 17 +
mail/chrome/messenger/viewZoomOverlay.dtd | 30 +
.../messenger/virtualFolderListDialog.dtd | 8 +
.../messenger/virtualFolderProperties.dtd | 22 +
mail/chrome/messenger/wmImportMsgs.properties | 76 +
mail/chrome/mozldap/ldap.properties | 261 +++
mail/chrome/overrides/netError.dtd | 180 ++
mail/chrome/overrides/profileDowngrade.dtd | 20 +
mail/defines.inc | 9 +
mail/installer/custom.properties | 85 +
mail/installer/mui.properties | 60 +
mail/installer/override.properties | 86 +
mail/messenger/aboutAddonsExtra.ftl | 4 +
mail/messenger/aboutProfilesExtra.ftl | 5 +
mail/messenger/aboutRights.ftl | 30 +
mail/messenger/aboutSupportCalendar.ftl | 4 +
mail/messenger/aboutSupportMail.ftl | 20 +
mail/messenger/accountCentral.ftl | 69 +
mail/messenger/accountManager.ftl | 4 +
.../accountcreation/accountSetup.ftl | 39 +
.../messenger/addressbook/abCardDAVDialog.ftl | 21 +
.../addressbook/abCardDAVProperties.ftl | 28 +
.../addressbook/aboutAddressBook.ftl | 15 +
mail/messenger/addressbook/fieldMapImport.ftl | 4 +
mail/messenger/chat.ftl | 4 +
mail/messenger/compactFoldersDialog.ftl | 4 +
mail/messenger/exportDialog.ftl | 4 +
mail/messenger/importDialog.ftl | 4 +
mail/messenger/menubar.ftl | 32 +
mail/messenger/messenger.ftl | 64 +
.../messengercompose/messengercompose.ftl | 72 +
mail/messenger/newInstall.ftl | 9 +
mail/messenger/newInstallPage.ftl | 15 +
mail/messenger/openpgp/backupKeyPassword.ftl | 20 +
mail/messenger/openpgp/changeExpiryDlg.ftl | 22 +
mail/messenger/openpgp/composeKeyStatus.ftl | 16 +
mail/messenger/openpgp/keyWizard.ftl | 181 ++
mail/messenger/openpgp/msgReadStatus.ftl | 37 +
mail/messenger/openpgp/oneRecipientStatus.ftl | 30 +
mail/messenger/openpgp/openpgp-frontend.ftl | 62 +
mail/messenger/openpgp/openpgp.ftl | 712 ++++++++
mail/messenger/otr/add-finger.ftl | 17 +
mail/messenger/otr/am-im-otr.ftl | 23 +
mail/messenger/otr/auth.ftl | 37 +
mail/messenger/otr/chat.ftl | 19 +
mail/messenger/otr/finger-sync.ftl | 12 +
mail/messenger/otr/finger.ftl | 14 +
mail/messenger/otr/otr.ftl | 20 +
mail/messenger/otr/otrUI.ftl | 67 +
mail/messenger/policies/aboutPolicies.ftl | 17 +
.../policies/policies-descriptions.ftl | 88 +
mail/messenger/preferences/am-copies.ftl | 4 +
mail/messenger/preferences/am-im.ftl | 4 +
.../preferences/application-manager.ftl | 11 +
.../preferences/attachment-reminder.ftl | 26 +
mail/messenger/preferences/colors.ftl | 52 +
mail/messenger/preferences/connection.ftl | 108 ++
mail/messenger/preferences/cookies.ftl | 55 +
mail/messenger/preferences/dock-options.ftl | 26 +
mail/messenger/preferences/fonts.ftl | 147 ++
mail/messenger/preferences/languages.ftl | 45 +
mail/messenger/preferences/new-tag.ftl | 14 +
mail/messenger/preferences/notifications.ftl | 33 +
mail/messenger/preferences/offline.ftl | 54 +
.../messenger/preferences/passwordManager.ftl | 78 +
mail/messenger/preferences/permissions.ftl | 53 +
mail/messenger/preferences/preferences.ftl | 671 +++++++
mail/messenger/preferences/receipts.ftl | 51 +
mail/messenger/preferences/sendoptions.ftl | 50 +
.../preferences/system-integration.ftl | 46 +
mail/messenger/troubleshootMode.ftl | 4 +
mail/updater/updater.ini | 8 +
mobile/android/chrome/browser.properties | 118 ++
mobile/android/chrome/config.dtd | 21 +
mobile/android/chrome/config.properties | 9 +
mobile/android/chrome/passwordmgr.properties | 20 +
mobile/android/defines.inc | 12 +
mobile/chrome/region.properties | 22 +
mobile/overrides/appstrings.properties | 41 +
mobile/overrides/netError.dtd | 121 ++
netwerk/necko.properties | 90 +
.../chrome/pipnss/nsserrors.properties | 331 ++++
.../manager/chrome/pipnss/pipnss.properties | 123 ++
.../manager/chrome/pippki/pippki.properties | 76 +
.../security/certificates/certManager.ftl | 230 +++
.../security/certificates/deviceManager.ftl | 133 ++
security/manager/security/pippki/pippki.ftl | 83 +
services/sync/sync.properties | 11 +
toolkit/chrome/alerts/alert.dtd | 6 +
toolkit/chrome/alerts/alert.properties | 23 +
.../chrome/autoconfig/autoconfig.properties | 12 +
.../global-platform/mac/intl.properties | 7 +
.../mac/platformKeys.properties | 30 +
.../global-platform/unix/intl.properties | 7 +
.../unix/platformKeys.properties | 30 +
.../global-platform/win/intl.properties | 7 +
.../win/platformKeys.properties | 30 +
toolkit/chrome/global/aboutReader.properties | 66 +
toolkit/chrome/global/aboutStudies.properties | 32 +
toolkit/chrome/global/appPicker.dtd | 7 +
toolkit/chrome/global/autocomplete.properties | 9 +
toolkit/chrome/global/browser.properties | 7 +
toolkit/chrome/global/commonDialog.dtd | 10 +
.../chrome/global/commonDialogs.properties | 46 +
.../global/contentAreaCommands.properties | 23 +
toolkit/chrome/global/datetimebox.dtd | 35 +
toolkit/chrome/global/dialog.properties | 12 +
toolkit/chrome/global/dialogOverlay.dtd | 9 +
toolkit/chrome/global/editMenuOverlay.dtd | 11 +
toolkit/chrome/global/extensions.properties | 43 +
.../chrome/global/fallbackMenubar.properties | 8 +
toolkit/chrome/global/filepicker.properties | 18 +
toolkit/chrome/global/findbar.properties | 23 +
.../global/global-extension-fields.properties | 8 +
toolkit/chrome/global/globalKeys.dtd | 6 +
toolkit/chrome/global/intl.css | 11 +
toolkit/chrome/global/intl.properties | 43 +
toolkit/chrome/global/keys.properties | 70 +
toolkit/chrome/global/narrate.properties | 20 +
toolkit/chrome/global/notification.dtd | 14 +
toolkit/chrome/global/printdialog.properties | 52 +
toolkit/chrome/global/resetProfile.dtd | 7 +
toolkit/chrome/global/resetProfile.properties | 14 +
toolkit/chrome/global/textcontext.dtd | 16 +
toolkit/chrome/global/tree.dtd | 5 +
toolkit/chrome/global/videocontrols.dtd | 49 +
toolkit/chrome/global/viewSource.properties | 16 +
toolkit/chrome/global/wizard.properties | 8 +
.../mozapps/downloads/downloads.properties | 115 ++
.../mozapps/downloads/unknownContentType.dtd | 26 +
.../downloads/unknownContentType.properties | 23 +
.../chrome/mozapps/extensions/extensions.dtd | 5 +
.../mozapps/extensions/extensions.properties | 84 +
.../profile/profileSelection.properties | 57 +
.../chrome/mozapps/update/updates.properties | 45 +
.../chrome/passwordmgr/passwordmgr.properties | 75 +
toolkit/chrome/places/places.properties | 33 +
toolkit/crashreporter/aboutcrashes.ftl | 31 +
toolkit/crashreporter/crashreporter.ini | 60 +
toolkit/defines.inc | 1 +
toolkit/toolkit/about/aboutAbout.ftl | 6 +
toolkit/toolkit/about/aboutAddons.ftl | 387 ++++
toolkit/toolkit/about/aboutCompat.ftl | 13 +
toolkit/toolkit/about/aboutConfig.ftl | 109 ++
toolkit/toolkit/about/aboutGlean.ftl | 15 +
toolkit/toolkit/about/aboutHttpsOnlyError.ftl | 25 +
toolkit/toolkit/about/aboutMozilla.ftl | 11 +
toolkit/toolkit/about/aboutNetworking.ftl | 74 +
toolkit/toolkit/about/aboutPerformance.ftl | 67 +
toolkit/toolkit/about/aboutPlugins.ftl | 41 +
toolkit/toolkit/about/aboutProcesses.ftl | 178 ++
toolkit/toolkit/about/aboutProfiles.ftl | 74 +
toolkit/toolkit/about/aboutRights.ftl | 36 +
toolkit/toolkit/about/aboutServiceWorkers.ftl | 40 +
toolkit/toolkit/about/aboutSupport.ftl | 350 ++++
toolkit/toolkit/about/aboutTelemetry.ftl | 146 ++
toolkit/toolkit/about/aboutThirdParty.ftl | 52 +
toolkit/toolkit/about/aboutWebrtc.ftl | 235 +++
toolkit/toolkit/about/abuseReports.ftl | 97 +
toolkit/toolkit/about/certviewer.ftl | 122 ++
toolkit/toolkit/about/config.ftl | 51 +
toolkit/toolkit/about/url-classifier.ftl | 53 +
toolkit/toolkit/extensions/blocklist.ftl | 22 +
toolkit/toolkit/featuregates/features.ftl | 96 +
toolkit/toolkit/global/commonDialog.ftl | 13 +
.../toolkit/global/createProfileWizard.ftl | 53 +
toolkit/toolkit/global/handlerDialog.ftl | 75 +
toolkit/toolkit/global/notification.ftl | 11 +
toolkit/toolkit/global/processTypes.ftl | 51 +
toolkit/toolkit/global/profileDowngrade.ftl | 17 +
toolkit/toolkit/global/profileSelection.ftl | 30 +
toolkit/toolkit/global/resetProfile.ftl | 11 +
toolkit/toolkit/global/run-from-dmg.ftl | 28 +
toolkit/toolkit/global/textActions.ftl | 56 +
toolkit/toolkit/global/unknownContentType.ftl | 40 +
toolkit/toolkit/global/videocontrols.ftl | 14 +
toolkit/toolkit/global/wizard.ftl | 37 +
toolkit/toolkit/intl/languageNames.ftl | 214 +++
toolkit/toolkit/intl/regionNames.ftl | 280 +++
toolkit/toolkit/main-window/autocomplete.ftl | 23 +
toolkit/toolkit/main-window/findbar.ftl | 38 +
toolkit/toolkit/payments/payments.ftl | 51 +
.../pictureinpicture/pictureinpicture.ftl | 22 +
toolkit/toolkit/preferences/preferences.ftl | 41 +
toolkit/toolkit/printing/printDialogs.ftl | 112 ++
toolkit/toolkit/printing/printPreview.ftl | 73 +
toolkit/toolkit/printing/printUI.ftl | 144 ++
toolkit/toolkit/updates/backgroundupdate.ftl | 5 +
toolkit/toolkit/updates/elevation.ftl | 14 +
toolkit/toolkit/updates/history.ftl | 27 +
620 files changed, 48345 insertions(+)
create mode 100644 browser/branding/official/brand.dtd
create mode 100644 browser/branding/official/brand.ftl
create mode 100644 browser/branding/official/brand.properties
create mode 100644 browser/browser/aboutCertError.ftl
create mode 100644 browser/browser/aboutConfig.ftl
create mode 100644 browser/browser/aboutDialog.ftl
create mode 100644 browser/browser/aboutLogins.ftl
create mode 100644 browser/browser/aboutPocket.ftl
create mode 100644 browser/browser/aboutPolicies.ftl
create mode 100644 browser/browser/aboutPrivateBrowsing.ftl
create mode 100644 browser/browser/aboutRestartRequired.ftl
create mode 100644 browser/browser/aboutRobots.ftl
create mode 100644 browser/browser/aboutSessionRestore.ftl
create mode 100644 browser/browser/aboutTabCrashed.ftl
create mode 100644 browser/browser/aboutUnloads.ftl
create mode 100644 browser/browser/accounts.ftl
create mode 100644 browser/browser/allTabsMenu.ftl
create mode 100644 browser/browser/appExtensionFields.ftl
create mode 100644 browser/browser/appMenuNotifications.ftl
create mode 100644 browser/browser/appmenu.ftl
create mode 100644 browser/browser/branding/brandings.ftl
create mode 100644 browser/browser/branding/sync-brand.ftl
create mode 100644 browser/browser/browser.ftl
create mode 100644 browser/browser/browserContext.ftl
create mode 100644 browser/browser/browserSets.ftl
create mode 100644 browser/browser/customizeMode.ftl
create mode 100644 browser/browser/defaultBrowserNotification.ftl
create mode 100644 browser/browser/downloads.ftl
create mode 100644 browser/browser/editBookmarkOverlay.ftl
create mode 100644 browser/browser/menubar.ftl
create mode 100644 browser/browser/migration.ftl
create mode 100644 browser/browser/newInstallPage.ftl
create mode 100644 browser/browser/newtab/asrouter.ftl
create mode 100644 browser/browser/newtab/newtab.ftl
create mode 100644 browser/browser/newtab/onboarding.ftl
create mode 100644 browser/browser/nsserrors.ftl
create mode 100644 browser/browser/pageInfo.ftl
create mode 100644 browser/browser/panelUI.ftl
create mode 100644 browser/browser/panicButton.ftl
create mode 100644 browser/browser/places.ftl
create mode 100644 browser/browser/policies/policies-descriptions.ftl
create mode 100644 browser/browser/preferences/addEngine.ftl
create mode 100644 browser/browser/preferences/applicationManager.ftl
create mode 100644 browser/browser/preferences/blocklists.ftl
create mode 100644 browser/browser/preferences/clearSiteData.ftl
create mode 100644 browser/browser/preferences/colors.ftl
create mode 100644 browser/browser/preferences/connection.ftl
create mode 100644 browser/browser/preferences/containers.ftl
create mode 100644 browser/browser/preferences/fonts.ftl
create mode 100644 browser/browser/preferences/fxaPairDevice.ftl
create mode 100644 browser/browser/preferences/languages.ftl
create mode 100644 browser/browser/preferences/permissions.ftl
create mode 100644 browser/browser/preferences/preferences.ftl
create mode 100644 browser/browser/preferences/selectBookmark.ftl
create mode 100644 browser/browser/preferences/siteDataSettings.ftl
create mode 100644 browser/browser/preferences/translation.ftl
create mode 100644 browser/browser/protections.ftl
create mode 100644 browser/browser/protectionsPanel.ftl
create mode 100644 browser/browser/safeMode.ftl
create mode 100644 browser/browser/safebrowsing/blockedSite.ftl
create mode 100644 browser/browser/sanitize.ftl
create mode 100644 browser/browser/screenshots.ftl
create mode 100644 browser/browser/search.ftl
create mode 100644 browser/browser/setDesktopBackground.ftl
create mode 100644 browser/browser/sidebarMenu.ftl
create mode 100644 browser/browser/sitePermissions.ftl
create mode 100644 browser/browser/sync.ftl
create mode 100644 browser/browser/syncedTabs.ftl
create mode 100644 browser/browser/tabContextMenu.ftl
create mode 100644 browser/browser/tabbrowser.ftl
create mode 100644 browser/browser/toolbarContextMenu.ftl
create mode 100644 browser/browser/touchbar/touchbar.ftl
create mode 100644 browser/browser/upgradeDialog.ftl
create mode 100644 browser/browser/webrtcIndicator.ftl
create mode 100644 browser/chrome/browser-region/region.properties
create mode 100644 browser/chrome/browser/accounts.properties
create mode 100644 browser/chrome/browser/app-extension-fields.properties
create mode 100644 browser/chrome/browser/browser.dtd
create mode 100644 browser/chrome/browser/browser.properties
create mode 100644 browser/chrome/browser/customizableui/customizableWidgets.properties
create mode 100644 browser/chrome/browser/downloads/downloads.properties
create mode 100644 browser/chrome/browser/feeds/subscribe.properties
create mode 100644 browser/chrome/browser/places/bookmarkProperties.properties
create mode 100644 browser/chrome/browser/places/places.dtd
create mode 100644 browser/chrome/browser/places/places.properties
create mode 100644 browser/chrome/browser/safebrowsing/safebrowsing.properties
create mode 100644 browser/chrome/browser/search.properties
create mode 100644 browser/chrome/browser/shellservice.properties
create mode 100644 browser/chrome/browser/siteData.properties
create mode 100644 browser/chrome/browser/sitePermissions.properties
create mode 100644 browser/chrome/browser/syncSetup.properties
create mode 100644 browser/chrome/browser/tabbrowser.properties
create mode 100644 browser/chrome/browser/taskbar.properties
create mode 100644 browser/chrome/browser/translation.dtd
create mode 100644 browser/chrome/browser/translation.properties
create mode 100644 browser/chrome/browser/uiDensity.properties
create mode 100644 browser/chrome/browser/webrtcIndicator.properties
create mode 100644 browser/chrome/overrides/appstrings.properties
create mode 100644 browser/chrome/overrides/netError.dtd
create mode 100644 browser/crashreporter/crashreporter-override.ini
create mode 100644 browser/defaultagent/defaultagent_localized.ini
create mode 100644 browser/defines.inc
create mode 100644 browser/extensions/formautofill/formautofill.properties
create mode 100644 browser/extensions/report-site-issue/webcompat.properties
create mode 100644 browser/firefox-l10n.js
create mode 100644 browser/installer/custom.properties
create mode 100644 browser/installer/mui.properties
create mode 100644 browser/installer/nsisstrings.properties
create mode 100644 browser/installer/override.properties
create mode 100644 browser/pdfviewer/chrome.properties
create mode 100644 browser/pdfviewer/viewer.properties
create mode 100644 browser/profile/bookmarks.inc
create mode 100644 browser/updater/updater.ini
create mode 100644 calendar/calendar/calendar-context-menus.ftl
create mode 100644 calendar/calendar/calendar-editable-item.ftl
create mode 100644 calendar/calendar/calendar-event-dialog-reminder.ftl
create mode 100644 calendar/calendar/calendar-ics-file-dialog.ftl
create mode 100644 calendar/calendar/calendar-invitations-dialog.ftl
create mode 100644 calendar/calendar/calendar-itip-identity-dialog.ftl
create mode 100644 calendar/calendar/calendar-print.ftl
create mode 100644 calendar/calendar/calendar-summary-dialog.ftl
create mode 100644 calendar/calendar/calendar-uri-redirect-dialog.ftl
create mode 100644 calendar/calendar/calendar-widgets.ftl
create mode 100644 calendar/calendar/category-dialog.ftl
create mode 100644 calendar/calendar/preferences.ftl
create mode 100644 calendar/chrome/calendar/calendar-alarms.properties
create mode 100644 calendar/chrome/calendar/calendar-event-dialog-attendees.properties
create mode 100644 calendar/chrome/calendar/calendar-event-dialog.dtd
create mode 100644 calendar/chrome/calendar/calendar-event-dialog.properties
create mode 100644 calendar/chrome/calendar/calendar-extract.properties
create mode 100644 calendar/chrome/calendar/calendar-invitations-dialog.dtd
create mode 100644 calendar/chrome/calendar/calendar-invitations-dialog.properties
create mode 100644 calendar/chrome/calendar/calendar-occurrence-prompt.dtd
create mode 100644 calendar/chrome/calendar/calendar-occurrence-prompt.properties
create mode 100644 calendar/chrome/calendar/calendar.dtd
create mode 100644 calendar/chrome/calendar/calendar.properties
create mode 100644 calendar/chrome/calendar/calendarCreation.dtd
create mode 100644 calendar/chrome/calendar/calendarCreation.properties
create mode 100644 calendar/chrome/calendar/categories.properties
create mode 100644 calendar/chrome/calendar/dateFormat.properties
create mode 100644 calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd
create mode 100644 calendar/chrome/calendar/global.dtd
create mode 100644 calendar/chrome/calendar/menuOverlay.dtd
create mode 100644 calendar/chrome/calendar/migration.dtd
create mode 100644 calendar/chrome/calendar/migration.properties
create mode 100644 calendar/chrome/calendar/provider-uninstall.dtd
create mode 100644 calendar/chrome/calendar/timezones.properties
create mode 100644 calendar/chrome/lightning/lightning-toolbar.dtd
create mode 100644 calendar/chrome/lightning/lightning.dtd
create mode 100644 calendar/chrome/lightning/lightning.properties
create mode 100644 chat/accounts.dtd
create mode 100644 chat/accounts.properties
create mode 100644 chat/commands.properties
create mode 100644 chat/contacts.properties
create mode 100644 chat/conversations.properties
create mode 100644 chat/dateFormat.properties
create mode 100644 chat/facebook.properties
create mode 100644 chat/imtooltip.properties
create mode 100644 chat/irc.properties
create mode 100644 chat/logger.properties
create mode 100644 chat/matrix.properties
create mode 100644 chat/status.properties
create mode 100644 chat/twitter.properties
create mode 100644 chat/xmpp.properties
create mode 100644 chat/yahoo.properties
create mode 100644 devtools/client/aboutdebugging.ftl
create mode 100644 devtools/client/accessibility.ftl
create mode 100644 devtools/client/accessibility.properties
create mode 100644 devtools/client/animationinspector.properties
create mode 100644 devtools/client/application.ftl
create mode 100644 devtools/client/boxmodel.properties
create mode 100644 devtools/client/changes.properties
create mode 100644 devtools/client/compatibility.ftl
create mode 100644 devtools/client/components.properties
create mode 100644 devtools/client/debugger.properties
create mode 100644 devtools/client/device.properties
create mode 100644 devtools/client/dom.properties
create mode 100644 devtools/client/filterwidget.properties
create mode 100644 devtools/client/font-inspector.properties
create mode 100644 devtools/client/graphs.properties
create mode 100644 devtools/client/har.properties
create mode 100644 devtools/client/inspector.properties
create mode 100644 devtools/client/jit-optimizations.properties
create mode 100644 devtools/client/jsonview.properties
create mode 100644 devtools/client/layout.properties
create mode 100644 devtools/client/markers.properties
create mode 100644 devtools/client/memory.properties
create mode 100644 devtools/client/menus.properties
create mode 100644 devtools/client/netmonitor.properties
create mode 100644 devtools/client/network-throttling.properties
create mode 100644 devtools/client/performance.dtd
create mode 100644 devtools/client/performance.properties
create mode 100644 devtools/client/perftools.ftl
create mode 100644 devtools/client/responsive.properties
create mode 100644 devtools/client/shared.properties
create mode 100644 devtools/client/sourceeditor.dtd
create mode 100644 devtools/client/sourceeditor.properties
create mode 100644 devtools/client/startup.properties
create mode 100644 devtools/client/storage.dtd
create mode 100644 devtools/client/storage.ftl
create mode 100644 devtools/client/storage.properties
create mode 100644 devtools/client/styleeditor.ftl
create mode 100644 devtools/client/styleeditor.properties
create mode 100644 devtools/client/toolbox-options.ftl
create mode 100644 devtools/client/toolbox.properties
create mode 100644 devtools/client/tooltips.ftl
create mode 100644 devtools/client/webconsole.properties
create mode 100644 devtools/shared/accessibility.properties
create mode 100644 devtools/shared/debugger.properties
create mode 100644 devtools/shared/eyedropper.properties
create mode 100644 devtools/shared/highlighters.properties
create mode 100644 devtools/shared/screenshot.properties
create mode 100644 devtools/shared/shared.properties
create mode 100644 devtools/shared/styleinspector.properties
create mode 100644 devtools/startup/aboutDevTools.ftl
create mode 100644 devtools/startup/key-shortcuts.ftl
create mode 100644 devtools/startup/key-shortcuts.properties
create mode 100644 devtools/startup/startup.properties
create mode 100644 dom/chrome/accessibility/AccessFu.properties
create mode 100644 dom/chrome/accessibility/mac/accessible.properties
create mode 100644 dom/chrome/accessibility/unix/accessible.properties
create mode 100644 dom/chrome/accessibility/win/accessible.properties
create mode 100644 dom/chrome/appstrings.properties
create mode 100644 dom/chrome/dom/dom.properties
create mode 100644 dom/chrome/global-strres.properties
create mode 100644 dom/chrome/global.dtd
create mode 100644 dom/chrome/layout/HtmlForm.properties
create mode 100644 dom/chrome/layout/MediaDocument.properties
create mode 100644 dom/chrome/layout/css.properties
create mode 100644 dom/chrome/layout/htmlparser.properties
create mode 100644 dom/chrome/layout/layout_errors.properties
create mode 100644 dom/chrome/layout/printing.properties
create mode 100644 dom/chrome/layout/xmlparser.properties
create mode 100644 dom/chrome/layout/xul.properties
create mode 100644 dom/chrome/mathml/mathml.properties
create mode 100644 dom/chrome/netError.dtd
create mode 100644 dom/chrome/netErrorApp.dtd
create mode 100644 dom/chrome/nsWebBrowserPersist.properties
create mode 100644 dom/chrome/plugins.properties
create mode 100644 dom/chrome/security/caps.properties
create mode 100644 dom/chrome/security/csp.properties
create mode 100644 dom/chrome/security/security.properties
create mode 100644 dom/chrome/svg/svg.properties
create mode 100644 dom/chrome/xml/prettyprint.dtd
create mode 100644 dom/chrome/xslt/xslt.properties
create mode 100644 dom/dom/media.ftl
create mode 100644 mail/branding/thunderbird/brand.dtd
create mode 100644 mail/branding/thunderbird/brand.ftl
create mode 100644 mail/branding/thunderbird/brand.properties
create mode 100644 mail/browser/appExtensionFields.ftl
create mode 100644 mail/chrome/communicator/utilityOverlay.dtd
create mode 100644 mail/chrome/messenger-mapi/mapi.properties
create mode 100644 mail/chrome/messenger-newsblog/am-newsblog.dtd
create mode 100644 mail/chrome/messenger-newsblog/feed-subscriptions.dtd
create mode 100644 mail/chrome/messenger-newsblog/newsblog.properties
create mode 100644 mail/chrome/messenger-smime/certFetchingStatus.dtd
create mode 100644 mail/chrome/messenger-smime/msgCompSMIMEOverlay.dtd
create mode 100644 mail/chrome/messenger-smime/msgCompSecurityInfo.dtd
create mode 100644 mail/chrome/messenger-smime/msgCompSecurityInfo.properties
create mode 100644 mail/chrome/messenger-smime/msgReadSMIMEOverlay.properties
create mode 100644 mail/chrome/messenger-smime/msgReadSecurityInfo.dtd
create mode 100644 mail/chrome/messenger-smime/msgSecurityInfo.properties
create mode 100644 mail/chrome/messenger/AccountManager.dtd
create mode 100644 mail/chrome/messenger/AccountWizard.dtd
create mode 100644 mail/chrome/messenger/CustomHeaders.dtd
create mode 100644 mail/chrome/messenger/FilterEditor.dtd
create mode 100644 mail/chrome/messenger/FilterListDialog.dtd
create mode 100644 mail/chrome/messenger/SearchDialog.dtd
create mode 100644 mail/chrome/messenger/aboutDialog.dtd
create mode 100644 mail/chrome/messenger/aboutDownloads.dtd
create mode 100644 mail/chrome/messenger/aboutRights.properties
create mode 100644 mail/chrome/messenger/aboutSupportMail.properties
create mode 100644 mail/chrome/messenger/accountCreationModel.properties
create mode 100644 mail/chrome/messenger/accountCreationUtil.properties
create mode 100644 mail/chrome/messenger/activity.dtd
create mode 100644 mail/chrome/messenger/activity.properties
create mode 100644 mail/chrome/messenger/addbuddy.dtd
create mode 100644 mail/chrome/messenger/addons.properties
create mode 100644 mail/chrome/messenger/addressbook/abAddressBookNameDialog.dtd
create mode 100644 mail/chrome/messenger/addressbook/abCard.dtd
create mode 100644 mail/chrome/messenger/addressbook/abContactsPanel.dtd
create mode 100644 mail/chrome/messenger/addressbook/abMailListDialog.dtd
create mode 100644 mail/chrome/messenger/addressbook/abMainWindow.dtd
create mode 100644 mail/chrome/messenger/addressbook/abNewCardDialog.dtd
create mode 100644 mail/chrome/messenger/addressbook/abResultsPane.dtd
create mode 100644 mail/chrome/messenger/addressbook/addressBook.properties
create mode 100644 mail/chrome/messenger/addressbook/ldapAutoCompErrs.properties
create mode 100644 mail/chrome/messenger/addressbook/pref-directory-add.dtd
create mode 100644 mail/chrome/messenger/addressbook/pref-directory.dtd
create mode 100644 mail/chrome/messenger/addressbook/replicationProgress.properties
create mode 100644 mail/chrome/messenger/am-addressing.dtd
create mode 100644 mail/chrome/messenger/am-advanced.dtd
create mode 100644 mail/chrome/messenger/am-archiveoptions.dtd
create mode 100644 mail/chrome/messenger/am-copies.dtd
create mode 100644 mail/chrome/messenger/am-e2e.properties
create mode 100644 mail/chrome/messenger/am-identities-list.dtd
create mode 100644 mail/chrome/messenger/am-identity-edit.dtd
create mode 100644 mail/chrome/messenger/am-im.dtd
create mode 100644 mail/chrome/messenger/am-junk.dtd
create mode 100644 mail/chrome/messenger/am-main.dtd
create mode 100644 mail/chrome/messenger/am-mdn.dtd
create mode 100644 mail/chrome/messenger/am-mdn.properties
create mode 100644 mail/chrome/messenger/am-offline.dtd
create mode 100644 mail/chrome/messenger/am-server-advanced.dtd
create mode 100644 mail/chrome/messenger/am-server-top.dtd
create mode 100644 mail/chrome/messenger/am-serverwithnoidentities.dtd
create mode 100644 mail/chrome/messenger/am-smime.dtd
create mode 100644 mail/chrome/messenger/am-smime.properties
create mode 100644 mail/chrome/messenger/app-extension-fields.properties
create mode 100644 mail/chrome/messenger/appUpdate.properties
create mode 100644 mail/chrome/messenger/appleMailImportMsgs.properties
create mode 100644 mail/chrome/messenger/baseMenuOverlay.dtd
create mode 100644 mail/chrome/messenger/beckyImportMsgs.properties
create mode 100644 mail/chrome/messenger/charsetTitles.properties
create mode 100644 mail/chrome/messenger/chat.dtd
create mode 100644 mail/chrome/messenger/chat.properties
create mode 100644 mail/chrome/messenger/configEditorOverlay.dtd
create mode 100644 mail/chrome/messenger/converterDialog.dtd
create mode 100644 mail/chrome/messenger/converterDialog.properties
create mode 100644 mail/chrome/messenger/custom.properties
create mode 100644 mail/chrome/messenger/customizeToolbar.dtd
create mode 100644 mail/chrome/messenger/customizeToolbar.properties
create mode 100644 mail/chrome/messenger/devtools/dbgserver.dtd
create mode 100644 mail/chrome/messenger/devtools/dbgserver.properties
create mode 100644 mail/chrome/messenger/downloadheaders.dtd
create mode 100644 mail/chrome/messenger/editContactOverlay.dtd
create mode 100644 mail/chrome/messenger/editContactOverlay.properties
create mode 100644 mail/chrome/messenger/fieldMapImport.dtd
create mode 100644 mail/chrome/messenger/filter.properties
create mode 100644 mail/chrome/messenger/folderProps.dtd
create mode 100644 mail/chrome/messenger/folderWidgets.properties
create mode 100644 mail/chrome/messenger/folderpane.dtd
create mode 100644 mail/chrome/messenger/gloda.properties
create mode 100644 mail/chrome/messenger/glodaComplete.properties
create mode 100644 mail/chrome/messenger/glodaFacetView.dtd
create mode 100644 mail/chrome/messenger/glodaFacetView.properties
create mode 100644 mail/chrome/messenger/imAccountWizard.dtd
create mode 100644 mail/chrome/messenger/imAccounts.properties
create mode 100644 mail/chrome/messenger/imapMsgs.properties
create mode 100644 mail/chrome/messenger/importDialog.dtd
create mode 100644 mail/chrome/messenger/importMsgs.properties
create mode 100644 mail/chrome/messenger/joinChat.dtd
create mode 100644 mail/chrome/messenger/junkLog.dtd
create mode 100644 mail/chrome/messenger/junkMailInfo.dtd
create mode 100644 mail/chrome/messenger/localMsgs.properties
create mode 100644 mail/chrome/messenger/mailEditorOverlay.dtd
create mode 100644 mail/chrome/messenger/mailOverlay.dtd
create mode 100644 mail/chrome/messenger/mailViewList.dtd
create mode 100644 mail/chrome/messenger/mailViewSetup.dtd
create mode 100644 mail/chrome/messenger/mailviews.properties
create mode 100644 mail/chrome/messenger/markByDate.dtd
create mode 100644 mail/chrome/messenger/messenger.dtd
create mode 100644 mail/chrome/messenger/messenger.properties
create mode 100644 mail/chrome/messenger/messengercompose/EdAdvancedEdit.dtd
create mode 100644 mail/chrome/messenger/messengercompose/EdColorPicker.dtd
create mode 100644 mail/chrome/messenger/messengercompose/EdConvertToTable.dtd
create mode 100644 mail/chrome/messenger/messengercompose/EdDialogOverlay.dtd
create mode 100644 mail/chrome/messenger/messengercompose/EdNamedAnchorProperties.dtd
create mode 100644 mail/chrome/messenger/messengercompose/EditorColorProperties.dtd
create mode 100644 mail/chrome/messenger/messengercompose/EditorHLineProperties.dtd
create mode 100644 mail/chrome/messenger/messengercompose/EditorImageProperties.dtd
create mode 100644 mail/chrome/messenger/messengercompose/EditorInsertChars.dtd
create mode 100644 mail/chrome/messenger/messengercompose/EditorInsertMath.dtd
create mode 100644 mail/chrome/messenger/messengercompose/EditorInsertSource.dtd
create mode 100644 mail/chrome/messenger/messengercompose/EditorInsertTOC.dtd
create mode 100644 mail/chrome/messenger/messengercompose/EditorInsertTable.dtd
create mode 100644 mail/chrome/messenger/messengercompose/EditorLinkProperties.dtd
create mode 100644 mail/chrome/messenger/messengercompose/EditorListProperties.dtd
create mode 100644 mail/chrome/messenger/messengercompose/EditorPersonalDictionary.dtd
create mode 100644 mail/chrome/messenger/messengercompose/EditorReplace.dtd
create mode 100644 mail/chrome/messenger/messengercompose/EditorSpellCheck.dtd
create mode 100644 mail/chrome/messenger/messengercompose/EditorTableProperties.dtd
create mode 100644 mail/chrome/messenger/messengercompose/askSendFormat.dtd
create mode 100644 mail/chrome/messenger/messengercompose/askSendFormat.properties
create mode 100644 mail/chrome/messenger/messengercompose/composeMsgs.properties
create mode 100644 mail/chrome/messenger/messengercompose/editor.properties
create mode 100644 mail/chrome/messenger/messengercompose/editorOverlay.dtd
create mode 100644 mail/chrome/messenger/messengercompose/mailComposeEditorOverlay.dtd
create mode 100644 mail/chrome/messenger/messengercompose/messengercompose.dtd
create mode 100644 mail/chrome/messenger/messengercompose/sendProgress.dtd
create mode 100644 mail/chrome/messenger/messengercompose/sendProgress.properties
create mode 100644 mail/chrome/messenger/migration/migration.dtd
create mode 100644 mail/chrome/messenger/migration/migration.properties
create mode 100644 mail/chrome/messenger/mime.properties
create mode 100644 mail/chrome/messenger/mimeheader.properties
create mode 100644 mail/chrome/messenger/morkImportMsgs.properties
create mode 100644 mail/chrome/messenger/msgAccountCentral.dtd
create mode 100644 mail/chrome/messenger/msgHdrViewOverlay.dtd
create mode 100644 mail/chrome/messenger/msgSynchronize.dtd
create mode 100644 mail/chrome/messenger/msgViewPickerOverlay.dtd
create mode 100644 mail/chrome/messenger/msgmdn.properties
create mode 100644 mail/chrome/messenger/multimessageview.dtd
create mode 100644 mail/chrome/messenger/multimessageview.properties
create mode 100644 mail/chrome/messenger/newFolderDialog.dtd
create mode 100644 mail/chrome/messenger/newmailaccount/accountProvisioner.dtd
create mode 100644 mail/chrome/messenger/newmailaccount/accountProvisioner.properties
create mode 100644 mail/chrome/messenger/news.properties
create mode 100644 mail/chrome/messenger/newsError.dtd
create mode 100644 mail/chrome/messenger/offline.properties
create mode 100644 mail/chrome/messenger/offlineStartup.properties
create mode 100644 mail/chrome/messenger/outlookImportMsgs.properties
create mode 100644 mail/chrome/messenger/pgpmime.properties
create mode 100644 mail/chrome/messenger/preferences/applicationManager.properties
create mode 100644 mail/chrome/messenger/preferences/applications.properties
create mode 100644 mail/chrome/messenger/preferences/messagestyle.properties
create mode 100644 mail/chrome/messenger/preferences/preferences.properties
create mode 100644 mail/chrome/messenger/prefs.properties
create mode 100644 mail/chrome/messenger/quickFilterBar.dtd
create mode 100644 mail/chrome/messenger/removeAccount.dtd
create mode 100644 mail/chrome/messenger/removeAccount.properties
create mode 100644 mail/chrome/messenger/renameFolderDialog.dtd
create mode 100644 mail/chrome/messenger/sanitize.dtd
create mode 100644 mail/chrome/messenger/seamonkeyImportMsgs.properties
create mode 100644 mail/chrome/messenger/search-attributes.properties
create mode 100644 mail/chrome/messenger/search-operators.properties
create mode 100644 mail/chrome/messenger/search.properties
create mode 100644 mail/chrome/messenger/searchTermOverlay.dtd
create mode 100644 mail/chrome/messenger/shutdownWindow.properties
create mode 100644 mail/chrome/messenger/smime.properties
create mode 100644 mail/chrome/messenger/smtpEditOverlay.dtd
create mode 100644 mail/chrome/messenger/subscribe.dtd
create mode 100644 mail/chrome/messenger/subscribe.properties
create mode 100644 mail/chrome/messenger/tabmail.dtd
create mode 100644 mail/chrome/messenger/taskbar.properties
create mode 100644 mail/chrome/messenger/telemetry.properties
create mode 100644 mail/chrome/messenger/templateUtils.properties
create mode 100644 mail/chrome/messenger/textImportMsgs.properties
create mode 100644 mail/chrome/messenger/vCardImportMsgs.properties
create mode 100644 mail/chrome/messenger/viewLog.dtd
create mode 100644 mail/chrome/messenger/viewSource.dtd
create mode 100644 mail/chrome/messenger/viewSource.properties
create mode 100644 mail/chrome/messenger/viewZoomOverlay.dtd
create mode 100644 mail/chrome/messenger/virtualFolderListDialog.dtd
create mode 100644 mail/chrome/messenger/virtualFolderProperties.dtd
create mode 100644 mail/chrome/messenger/wmImportMsgs.properties
create mode 100644 mail/chrome/mozldap/ldap.properties
create mode 100644 mail/chrome/overrides/netError.dtd
create mode 100644 mail/chrome/overrides/profileDowngrade.dtd
create mode 100644 mail/defines.inc
create mode 100644 mail/installer/custom.properties
create mode 100644 mail/installer/mui.properties
create mode 100644 mail/installer/override.properties
create mode 100644 mail/messenger/aboutAddonsExtra.ftl
create mode 100644 mail/messenger/aboutProfilesExtra.ftl
create mode 100644 mail/messenger/aboutRights.ftl
create mode 100644 mail/messenger/aboutSupportCalendar.ftl
create mode 100644 mail/messenger/aboutSupportMail.ftl
create mode 100644 mail/messenger/accountCentral.ftl
create mode 100644 mail/messenger/accountManager.ftl
create mode 100644 mail/messenger/accountcreation/accountSetup.ftl
create mode 100644 mail/messenger/addressbook/abCardDAVDialog.ftl
create mode 100644 mail/messenger/addressbook/abCardDAVProperties.ftl
create mode 100644 mail/messenger/addressbook/aboutAddressBook.ftl
create mode 100644 mail/messenger/addressbook/fieldMapImport.ftl
create mode 100644 mail/messenger/chat.ftl
create mode 100644 mail/messenger/compactFoldersDialog.ftl
create mode 100644 mail/messenger/exportDialog.ftl
create mode 100644 mail/messenger/importDialog.ftl
create mode 100644 mail/messenger/menubar.ftl
create mode 100644 mail/messenger/messenger.ftl
create mode 100644 mail/messenger/messengercompose/messengercompose.ftl
create mode 100644 mail/messenger/newInstall.ftl
create mode 100644 mail/messenger/newInstallPage.ftl
create mode 100644 mail/messenger/openpgp/backupKeyPassword.ftl
create mode 100644 mail/messenger/openpgp/changeExpiryDlg.ftl
create mode 100644 mail/messenger/openpgp/composeKeyStatus.ftl
create mode 100644 mail/messenger/openpgp/keyWizard.ftl
create mode 100644 mail/messenger/openpgp/msgReadStatus.ftl
create mode 100644 mail/messenger/openpgp/oneRecipientStatus.ftl
create mode 100644 mail/messenger/openpgp/openpgp-frontend.ftl
create mode 100644 mail/messenger/openpgp/openpgp.ftl
create mode 100644 mail/messenger/otr/add-finger.ftl
create mode 100644 mail/messenger/otr/am-im-otr.ftl
create mode 100644 mail/messenger/otr/auth.ftl
create mode 100644 mail/messenger/otr/chat.ftl
create mode 100644 mail/messenger/otr/finger-sync.ftl
create mode 100644 mail/messenger/otr/finger.ftl
create mode 100644 mail/messenger/otr/otr.ftl
create mode 100644 mail/messenger/otr/otrUI.ftl
create mode 100644 mail/messenger/policies/aboutPolicies.ftl
create mode 100644 mail/messenger/policies/policies-descriptions.ftl
create mode 100644 mail/messenger/preferences/am-copies.ftl
create mode 100644 mail/messenger/preferences/am-im.ftl
create mode 100644 mail/messenger/preferences/application-manager.ftl
create mode 100644 mail/messenger/preferences/attachment-reminder.ftl
create mode 100644 mail/messenger/preferences/colors.ftl
create mode 100644 mail/messenger/preferences/connection.ftl
create mode 100644 mail/messenger/preferences/cookies.ftl
create mode 100644 mail/messenger/preferences/dock-options.ftl
create mode 100644 mail/messenger/preferences/fonts.ftl
create mode 100644 mail/messenger/preferences/languages.ftl
create mode 100644 mail/messenger/preferences/new-tag.ftl
create mode 100644 mail/messenger/preferences/notifications.ftl
create mode 100644 mail/messenger/preferences/offline.ftl
create mode 100644 mail/messenger/preferences/passwordManager.ftl
create mode 100644 mail/messenger/preferences/permissions.ftl
create mode 100644 mail/messenger/preferences/preferences.ftl
create mode 100644 mail/messenger/preferences/receipts.ftl
create mode 100644 mail/messenger/preferences/sendoptions.ftl
create mode 100644 mail/messenger/preferences/system-integration.ftl
create mode 100644 mail/messenger/troubleshootMode.ftl
create mode 100644 mail/updater/updater.ini
create mode 100644 mobile/android/chrome/browser.properties
create mode 100644 mobile/android/chrome/config.dtd
create mode 100644 mobile/android/chrome/config.properties
create mode 100644 mobile/android/chrome/passwordmgr.properties
create mode 100644 mobile/android/defines.inc
create mode 100644 mobile/chrome/region.properties
create mode 100644 mobile/overrides/appstrings.properties
create mode 100644 mobile/overrides/netError.dtd
create mode 100644 netwerk/necko.properties
create mode 100644 security/manager/chrome/pipnss/nsserrors.properties
create mode 100644 security/manager/chrome/pipnss/pipnss.properties
create mode 100644 security/manager/chrome/pippki/pippki.properties
create mode 100644 security/manager/security/certificates/certManager.ftl
create mode 100644 security/manager/security/certificates/deviceManager.ftl
create mode 100644 security/manager/security/pippki/pippki.ftl
create mode 100644 services/sync/sync.properties
create mode 100644 toolkit/chrome/alerts/alert.dtd
create mode 100644 toolkit/chrome/alerts/alert.properties
create mode 100644 toolkit/chrome/autoconfig/autoconfig.properties
create mode 100644 toolkit/chrome/global-platform/mac/intl.properties
create mode 100644 toolkit/chrome/global-platform/mac/platformKeys.properties
create mode 100644 toolkit/chrome/global-platform/unix/intl.properties
create mode 100644 toolkit/chrome/global-platform/unix/platformKeys.properties
create mode 100644 toolkit/chrome/global-platform/win/intl.properties
create mode 100644 toolkit/chrome/global-platform/win/platformKeys.properties
create mode 100644 toolkit/chrome/global/aboutReader.properties
create mode 100644 toolkit/chrome/global/aboutStudies.properties
create mode 100644 toolkit/chrome/global/appPicker.dtd
create mode 100644 toolkit/chrome/global/autocomplete.properties
create mode 100644 toolkit/chrome/global/browser.properties
create mode 100644 toolkit/chrome/global/commonDialog.dtd
create mode 100644 toolkit/chrome/global/commonDialogs.properties
create mode 100644 toolkit/chrome/global/contentAreaCommands.properties
create mode 100644 toolkit/chrome/global/datetimebox.dtd
create mode 100644 toolkit/chrome/global/dialog.properties
create mode 100644 toolkit/chrome/global/dialogOverlay.dtd
create mode 100644 toolkit/chrome/global/editMenuOverlay.dtd
create mode 100644 toolkit/chrome/global/extensions.properties
create mode 100644 toolkit/chrome/global/fallbackMenubar.properties
create mode 100644 toolkit/chrome/global/filepicker.properties
create mode 100644 toolkit/chrome/global/findbar.properties
create mode 100644 toolkit/chrome/global/global-extension-fields.properties
create mode 100644 toolkit/chrome/global/globalKeys.dtd
create mode 100644 toolkit/chrome/global/intl.css
create mode 100644 toolkit/chrome/global/intl.properties
create mode 100644 toolkit/chrome/global/keys.properties
create mode 100644 toolkit/chrome/global/narrate.properties
create mode 100644 toolkit/chrome/global/notification.dtd
create mode 100644 toolkit/chrome/global/printdialog.properties
create mode 100644 toolkit/chrome/global/resetProfile.dtd
create mode 100644 toolkit/chrome/global/resetProfile.properties
create mode 100644 toolkit/chrome/global/textcontext.dtd
create mode 100644 toolkit/chrome/global/tree.dtd
create mode 100644 toolkit/chrome/global/videocontrols.dtd
create mode 100644 toolkit/chrome/global/viewSource.properties
create mode 100644 toolkit/chrome/global/wizard.properties
create mode 100644 toolkit/chrome/mozapps/downloads/downloads.properties
create mode 100644 toolkit/chrome/mozapps/downloads/unknownContentType.dtd
create mode 100644 toolkit/chrome/mozapps/downloads/unknownContentType.properties
create mode 100644 toolkit/chrome/mozapps/extensions/extensions.dtd
create mode 100644 toolkit/chrome/mozapps/extensions/extensions.properties
create mode 100644 toolkit/chrome/mozapps/profile/profileSelection.properties
create mode 100644 toolkit/chrome/mozapps/update/updates.properties
create mode 100644 toolkit/chrome/passwordmgr/passwordmgr.properties
create mode 100644 toolkit/chrome/places/places.properties
create mode 100644 toolkit/crashreporter/aboutcrashes.ftl
create mode 100644 toolkit/crashreporter/crashreporter.ini
create mode 100644 toolkit/defines.inc
create mode 100644 toolkit/toolkit/about/aboutAbout.ftl
create mode 100644 toolkit/toolkit/about/aboutAddons.ftl
create mode 100644 toolkit/toolkit/about/aboutCompat.ftl
create mode 100644 toolkit/toolkit/about/aboutConfig.ftl
create mode 100644 toolkit/toolkit/about/aboutGlean.ftl
create mode 100644 toolkit/toolkit/about/aboutHttpsOnlyError.ftl
create mode 100644 toolkit/toolkit/about/aboutMozilla.ftl
create mode 100644 toolkit/toolkit/about/aboutNetworking.ftl
create mode 100644 toolkit/toolkit/about/aboutPerformance.ftl
create mode 100644 toolkit/toolkit/about/aboutPlugins.ftl
create mode 100644 toolkit/toolkit/about/aboutProcesses.ftl
create mode 100644 toolkit/toolkit/about/aboutProfiles.ftl
create mode 100644 toolkit/toolkit/about/aboutRights.ftl
create mode 100644 toolkit/toolkit/about/aboutServiceWorkers.ftl
create mode 100644 toolkit/toolkit/about/aboutSupport.ftl
create mode 100644 toolkit/toolkit/about/aboutTelemetry.ftl
create mode 100644 toolkit/toolkit/about/aboutThirdParty.ftl
create mode 100644 toolkit/toolkit/about/aboutWebrtc.ftl
create mode 100644 toolkit/toolkit/about/abuseReports.ftl
create mode 100644 toolkit/toolkit/about/certviewer.ftl
create mode 100644 toolkit/toolkit/about/config.ftl
create mode 100644 toolkit/toolkit/about/url-classifier.ftl
create mode 100644 toolkit/toolkit/extensions/blocklist.ftl
create mode 100644 toolkit/toolkit/featuregates/features.ftl
create mode 100644 toolkit/toolkit/global/commonDialog.ftl
create mode 100644 toolkit/toolkit/global/createProfileWizard.ftl
create mode 100644 toolkit/toolkit/global/handlerDialog.ftl
create mode 100644 toolkit/toolkit/global/notification.ftl
create mode 100644 toolkit/toolkit/global/processTypes.ftl
create mode 100644 toolkit/toolkit/global/profileDowngrade.ftl
create mode 100644 toolkit/toolkit/global/profileSelection.ftl
create mode 100644 toolkit/toolkit/global/resetProfile.ftl
create mode 100644 toolkit/toolkit/global/run-from-dmg.ftl
create mode 100644 toolkit/toolkit/global/textActions.ftl
create mode 100644 toolkit/toolkit/global/unknownContentType.ftl
create mode 100644 toolkit/toolkit/global/videocontrols.ftl
create mode 100644 toolkit/toolkit/global/wizard.ftl
create mode 100644 toolkit/toolkit/intl/languageNames.ftl
create mode 100644 toolkit/toolkit/intl/regionNames.ftl
create mode 100644 toolkit/toolkit/main-window/autocomplete.ftl
create mode 100644 toolkit/toolkit/main-window/findbar.ftl
create mode 100644 toolkit/toolkit/payments/payments.ftl
create mode 100644 toolkit/toolkit/pictureinpicture/pictureinpicture.ftl
create mode 100644 toolkit/toolkit/preferences/preferences.ftl
create mode 100644 toolkit/toolkit/printing/printDialogs.ftl
create mode 100644 toolkit/toolkit/printing/printPreview.ftl
create mode 100644 toolkit/toolkit/printing/printUI.ftl
create mode 100644 toolkit/toolkit/updates/backgroundupdate.ftl
create mode 100644 toolkit/toolkit/updates/elevation.ftl
create mode 100644 toolkit/toolkit/updates/history.ftl
diff --git a/browser/branding/official/brand.dtd b/browser/branding/official/brand.dtd
new file mode 100644
index 00000000000..d094ad0f8d0
--- /dev/null
+++ b/browser/branding/official/brand.dtd
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
diff --git a/browser/branding/official/brand.ftl b/browser/branding/official/brand.ftl
new file mode 100644
index 00000000000..077704bbee8
--- /dev/null
+++ b/browser/branding/official/brand.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/.
+
+
+## Firefox Brand
+##
+## Firefox must be treated as a brand, and kept in English.
+## It cannot be:
+## - Declined to adapt to grammatical case.
+## - Transliterated.
+## - Translated.
+##
+## Reference: https://www.mozilla.org/styleguide/communications/translation/
+
+## 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-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 à¹à¸¥à¸°à¹à¸¥à¹à¸à¹ Firefox à¹à¸à¹à¸à¹à¸à¸£à¸·à¹à¸à¸à¸«à¸¡à¸²à¸¢à¸à¸²à¸£à¸à¹à¸²à¸à¸à¸à¸¡à¸¹à¸¥à¸à¸´à¸à¸´ Mozilla
diff --git a/browser/branding/official/brand.properties b/browser/branding/official/brand.properties
new file mode 100644
index 00000000000..02aac41e3a7
--- /dev/null
+++ b/browser/branding/official/brand.properties
@@ -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/.
+
+brandShorterName=Firefox
+brandShortName=Firefox
+brandFullName=Mozilla Firefox
+# LOCALIZATION NOTE(brandProductName):
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Nightly, Beta, etc.).
+brandProductName=Firefox
+vendorShortName=Mozilla
+
diff --git a/browser/browser/aboutCertError.ftl b/browser/browser/aboutCertError.ftl
new file mode 100644
index 00000000000..098acb553f2
--- /dev/null
+++ b/browser/browser/aboutCertError.ftl
@@ -0,0 +1,126 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 } à¹à¸à¹à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+
+cert-error-mitm-intro = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸°à¸à¸´à¸ªà¸¹à¸à¸à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸£à¸°à¸à¸³à¸à¸±à¸§à¸à¸à¸à¸à¸à¹à¸à¸à¸à¹à¸²à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸ à¸à¸¶à¹à¸à¸à¸°à¸à¸à¸à¹à¸«à¹à¹à¸à¸¢à¸à¸¹à¹à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸
+
+cert-error-mitm-mozilla = { -brand-short-name } à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¹à¸à¸¢ Mozilla à¸à¸µà¹à¹à¸¡à¹à¹à¸ªà¸§à¸à¸«à¸²à¸à¸¥à¸à¸³à¹à¸£à¸à¸¶à¹à¸à¸à¸¹à¹à¸¥à¸à¸µà¹à¹à¸à¹à¸à¸à¸¹à¹à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸ (CA) à¸à¸µà¹à¹à¸à¸´à¸à¸à¸¢à¹à¸²à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹ à¸à¸µà¹à¹à¸à¹à¸ CA à¸à¹à¸§à¸¢à¹à¸«à¹à¸¡à¸±à¹à¸à¹à¸à¹à¸à¹à¸§à¹à¸²à¸à¸¹à¹à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸¡à¹à¸à¸§à¸à¸²à¸à¸à¸µà¹à¸à¸µà¸à¸µà¹à¸ªà¸¸à¸à¹à¸à¸·à¹à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¸à¸¹à¹à¹à¸à¹
+
+cert-error-mitm-connection = { -brand-short-name } à¹à¸à¹à¸à¸µà¹à¹à¸à¹à¸ Mozilla CA à¹à¸à¸·à¹à¸à¸à¸£à¸§à¸à¸ªà¸à¸à¸§à¹à¸²à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¹à¸à¸à¸¥à¸à¸à¸ ัย à¹à¸à¸à¸à¸µà¹à¸à¸°à¹à¸à¹à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸¡à¸²à¸à¸²à¸à¸£à¸°à¸à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£à¸à¸à¸à¸à¸¹à¹à¹à¸à¹ à¸à¸±à¸à¸à¸±à¹à¸à¸«à¸²à¸à¹à¸à¸£à¹à¸à¸£à¸¡à¸à¹à¸à¸à¸à¸±à¸à¹à¸§à¸£à¸±à¸ªà¸«à¸£à¸·à¸à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢à¸à¸±à¸à¸à¸§à¸²à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸µà¹à¸à¸à¸à¹à¸«à¹à¹à¸à¸¢ CA à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¸à¸¢à¸¹à¹à¹à¸à¸à¸µà¹à¹à¸à¹à¸ Mozilla CA à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸°à¸à¸·à¸à¸§à¹à¸²à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัย
+
+cert-error-trust-unknown-issuer-intro = à¸à¸²à¸à¸¡à¸µà¹à¸à¸£à¸à¸²à¸à¸à¸à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸µà¹à¸à¸°à¹à¸¥à¸µà¸¢à¸à¹à¸à¸à¹à¸à¸à¹à¹à¸¥à¸°à¸à¸¸à¸à¹à¸¡à¹à¸à¸§à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸
+
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+cert-error-trust-unknown-issuer = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸°à¸à¸´à¸ªà¸¹à¸à¸à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸£à¸°à¸à¸³à¸à¸±à¸§à¸à¸à¸à¸à¸à¹à¸à¸à¸à¹à¸²à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸ { -brand-short-name } à¹à¸¡à¹à¹à¸à¸·à¹à¸à¸à¸·à¸ { $hostname } à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¹à¸¡à¹à¸à¸£à¸²à¸à¸à¸¹à¹à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸, à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸¹à¸à¸¥à¸à¸à¸·à¹à¸à¸à¹à¸§à¸¢à¸à¸à¹à¸à¸, หรืà¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¹à¸¡à¹à¸ªà¹à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸£à¸°à¸à¸±à¸à¸à¸¥à¸²à¸à¸à¸µà¹à¸à¸¹à¸à¸à¹à¸à¸
+
+cert-error-trust-cert-invalid = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸§à¸²à¸¡à¹à¸à¸·à¹à¸à¸à¸·à¸à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸à¸à¹à¸«à¹à¹à¸à¸¢à¸à¸¹à¹à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+
+cert-error-trust-untrusted-issuer = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸§à¸²à¸¡à¹à¸à¸·à¹à¸à¸à¸·à¸à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸à¸à¹à¸«à¹à¹à¸à¸¢à¸à¸¹à¹à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸§à¸²à¸¡à¹à¸à¸·à¹à¸à¸à¸·à¸
+
+cert-error-trust-signature-algorithm-disabled = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸§à¸²à¸¡à¹à¸à¸·à¹à¸à¸à¸·à¸à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸¹à¸à¸¥à¸à¸¥à¸²à¸¢à¹à¸à¹à¸à¹à¸à¸¢à¹à¸à¹à¸à¸±à¸¥à¸à¸à¸£à¸´à¸à¸¶à¸¡à¸¥à¸²à¸¢à¹à¸à¹à¸à¸à¸µà¹à¸à¸¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸±à¸¥à¸à¸à¸£à¸´à¸à¸¶à¸¡à¸à¸±à¹à¸à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัย
+
+cert-error-trust-expired-issuer = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸§à¸²à¸¡à¹à¸à¸·à¹à¸à¸à¸·à¸à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸¹à¹à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸«à¸¡à¸à¸à¸²à¸¢à¸¸à¹à¸¥à¹à¸§
+
+cert-error-trust-self-signed = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸§à¸²à¸¡à¹à¸à¸·à¹à¸à¸à¸·à¸à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¹à¸à¹à¸à¸à¸²à¸£à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸à¸¢à¹à¸à¹à¸²à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸à¸
+
+cert-error-trust-symantec = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸à¸à¸à¹à¸à¸¢ GeoTrust, RapidSSL, Symantec, Thawte à¹à¸¥à¸° VeriSign à¸à¸°à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸à¸´à¸à¸²à¸£à¸à¸²à¸§à¹à¸²à¸à¸¥à¸à¸à¸ ัยà¸à¸µà¸à¸à¹à¸à¹à¸à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸¹à¹à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸«à¸¥à¹à¸²à¸à¸µà¹à¹à¸¡à¹à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸¡à¹à¸à¸§à¸à¸²à¸à¸à¹à¸²à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¹à¸à¸à¸à¸µà¸
+
+cert-error-untrusted-default = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸¡à¹à¹à¸à¹à¸¡à¸²à¸à¸²à¸à¹à¸«à¸¥à¹à¸à¸à¸µà¹à¹à¸à¹à¸£à¸±à¸à¸à¸§à¸²à¸¡à¹à¸à¸·à¹à¸à¸à¸·à¸
+
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+cert-error-domain-mismatch = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸°à¸à¸´à¸ªà¸¹à¸à¸à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸£à¸°à¸à¸³à¸à¸±à¸§à¸à¸à¸à¸à¸à¹à¸à¸à¸à¹à¸²à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸ { -brand-short-name } à¹à¸¡à¹à¹à¸à¸·à¹à¸à¸à¸·à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¹à¸à¹à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸ { $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 = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸°à¸à¸´à¸ªà¸¹à¸à¸à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸£à¸°à¸à¸³à¸à¸±à¸§à¸à¸à¸à¸à¸à¹à¸à¸à¸à¹à¸²à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸ { -brand-short-name } à¹à¸¡à¹à¹à¸à¸·à¹à¸à¸à¸·à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¹à¸à¹à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸ { $hostname } à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸±à¸à¸à¸¥à¹à¸²à¸§à¸à¸¹à¸à¸à¹à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸ { $alt-name } à¹à¸à¹à¸²à¸à¸±à¹à¸
+
+# 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 = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸°à¸à¸´à¸ªà¸¹à¸à¸à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸£à¸°à¸à¸³à¸à¸±à¸§à¸à¸à¸à¸à¸à¹à¸à¸à¸à¹à¸²à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸ { -brand-short-name } à¹à¸¡à¹à¹à¸à¸·à¹à¸à¸à¸·à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¹à¸à¹à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸ { $hostname } à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸±à¸à¸à¸¥à¹à¸²à¸§à¸à¸¹à¸à¸à¹à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸ { $alt-name } à¹à¸à¹à¸²à¸à¸±à¹à¸
+
+# Variables:
+# $subject-alt-names (String) - Alternate domain names for which the cert is valid.
+cert-error-domain-mismatch-multiple = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸°à¸à¸´à¸ªà¸¹à¸à¸à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸£à¸°à¸à¸³à¸à¸±à¸§à¸à¸à¸à¸à¸à¹à¸à¸à¸à¹à¸²à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸ { -brand-short-name } à¹à¸¡à¹à¹à¸à¸·à¹à¸à¸à¸·à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¹à¸à¹à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸ { $hostname } à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸±à¸à¸à¸¥à¹à¸²à¸§à¸à¸¹à¸à¸à¹à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸·à¹à¸à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸à¹à¸²à¸à¸±à¹à¸: { $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 = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸°à¸à¸´à¸ªà¸¹à¸à¸à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸£à¸°à¸à¸³à¸à¸±à¸§à¸à¸à¸à¸à¸à¹à¸à¸à¸à¹à¸²à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸ à¸à¸¶à¹à¸à¸¡à¸µà¸à¸¥à¸ ายà¹à¸à¸à¹à¸§à¸à¹à¸§à¸¥à¸²à¸à¸µà¹à¸à¸³à¸«à¸à¸à¹à¸à¹à¸²à¸à¸±à¹à¸ à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸ { $hostname } หมà¸à¸à¸²à¸¢à¸¸à¹à¸¡à¸·à¹à¸ { $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 = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸°à¸à¸´à¸ªà¸¹à¸à¸à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸£à¸°à¸à¸³à¸à¸±à¸§à¸à¸à¸à¸à¸à¹à¸à¸à¸à¹à¸²à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸ à¸à¸¶à¹à¸à¸¡à¸µà¸à¸¥à¸ ายà¹à¸à¸à¹à¸§à¸à¹à¸§à¸¥à¸²à¸à¸µà¹à¸à¸³à¸«à¸à¸à¹à¸à¹à¸²à¸à¸±à¹à¸ à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸ { $hostname } à¸à¸°à¹à¸¡à¹à¸¡à¸µà¸à¸¥à¸à¸à¸à¸¶à¸ { $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-link = รหัสà¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸: { $error }
+
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+cert-error-symantec-distrust-description = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸°à¸à¸´à¸ªà¸¹à¸à¸à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸£à¸°à¸à¸³à¸à¸±à¸§à¸à¸à¸à¸à¸à¹à¸à¸à¸à¹à¸²à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸¶à¹à¸à¸à¸à¸à¹à¸«à¹à¹à¸à¸¢à¸à¸¹à¹à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸ à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸ªà¹à¸§à¸à¹à¸«à¸à¹à¹à¸¡à¹à¹à¸à¸·à¹à¸à¸à¸·à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸à¸à¸à¹à¸«à¹à¹à¸à¸¢ GeoTrust, RapidSSL, Symantec, Thawte, à¹à¸¥à¸° VeriSign à¹à¸à¸·à¹à¸à¸à¸à¸²à¸ { $hostname } à¹à¸à¹à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸²à¸à¸à¸¹à¹à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸£à¸²à¸¢à¹à¸à¸£à¸²à¸¢à¸«à¸à¸¶à¹à¸à¹à¸«à¸¥à¹à¸²à¸à¸µà¹ à¸à¸¶à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸ªà¸¹à¸à¸à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸£à¸°à¸à¸³à¸à¸±à¸§à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸±à¸à¸à¸¥à¹à¸²à¸§à¹à¸à¹
+
+cert-error-symantec-distrust-admin = à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¸à¸±à¸à¸«à¸²à¸à¸µà¹à¹à¸à¹à¸à¸¹à¹à¸à¸¹à¹à¸¥à¸£à¸°à¸à¸à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸à¹
+
+# 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 = สายà¹à¸à¸£à¸±à¸à¸£à¸à¸:
+
+open-in-new-window-for-csp-or-xfo-error = à¹à¸à¸´à¸à¹à¸à¸à¹à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸«à¸¡à¹
+
+# Variables:
+# $hostname (String) - Hostname of the website blocked by csp or xfo error.
+csp-xfo-blocked-long-desc = à¹à¸à¸·à¹à¸à¸à¸à¸à¹à¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¸à¸¸à¸ { $hostname } à¸à¸°à¹à¸¡à¹à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ { -brand-short-name } à¹à¸ªà¸à¸à¸«à¸à¹à¸²à¸«à¸²à¸à¹à¸à¸à¹à¸à¸·à¹à¸à¸à¸±à¸à¹à¸§à¹ หาà¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸¹à¸«à¸à¹à¸²à¸à¸µà¹ à¸à¸¸à¸à¸à¹à¸à¸à¹à¸à¸´à¸à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸«à¸¡à¹
+
+## Messages used for certificate error titles
+
+connectionFailure-title = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸à¹
+deniedPortAccess-title = à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸µà¹à¸à¸¹à¸à¸à¸³à¸à¸±à¸
+# "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 = à¸à¸·à¸¡à¸¡ à¹à¸£à¸²à¸¡à¸µà¸à¸±à¸à¸«à¸²à¹à¸à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸à¸à¹à¸à¸±à¹à¸
+fileNotFound-title = à¹à¸¡à¹à¸à¸à¹à¸à¸¥à¹
+fileAccessDenied-title = à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¸¥à¹à¸à¸¹à¸à¸à¸à¸´à¹à¸ªà¸
+generic-title = à¸à¸¸à¸à¸ªà¹
+captivePortal-title = à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢
+# "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 = à¸à¸·à¸¡à¸¡ à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸±à¹à¸à¸à¸¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+netInterrupt-title = à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸¹à¸à¸à¸±à¸à¸à¸±à¸à¸«à¸§à¸°
+notCached-title = à¹à¸à¸à¸ªà¸²à¸£à¸«à¸¡à¸à¸à¸²à¸¢à¸¸
+netOffline-title = à¹à¸«à¸¡à¸à¸à¸à¸à¹à¸¥à¸à¹
+contentEncodingError-title = à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¹à¸à¸·à¹à¸à¸«à¸²
+unsafeContentType-title = à¸à¸à¸´à¸à¹à¸à¸¥à¹à¸à¸µà¹à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัย
+netReset-title = à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸¥à¹à¸§
+netTimeout-title = à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸«à¸¡à¸à¹à¸§à¸¥à¸²
+unknownProtocolFound-title = à¹à¸¡à¹à¹à¸à¹à¸²à¹à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
+proxyConnectFailure-title = à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸£à¹à¸à¸à¸à¸µà¸à¸à¸´à¹à¸ªà¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸
+proxyResolveFailure-title = à¹à¸¡à¹à¸à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸£à¹à¸à¸à¸à¸µ
+redirectLoop-title = หà¸à¹à¸²à¹à¸¡à¹à¹à¸à¹à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸ªà¹à¸à¸à¸²à¸à¸à¸¢à¹à¸²à¸à¸à¸¹à¸à¸à¹à¸à¸
+unknownSocketType-title = à¸à¸²à¸£à¸à¸à¸à¸ªà¸à¸à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸à¸à¸²à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹
+nssFailure2-title = à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸¥à¸à¸à¸ ัยลà¹à¸¡à¹à¸«à¸¥à¸§
+csp-xfo-error-title = { -brand-short-name } à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸´à¸à¸«à¸à¹à¸²à¸à¸µà¹à¹à¸à¹
+corruptedContentError-title = à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸·à¹à¸à¸«à¸²à¹à¸ªà¸µà¸¢à¸«à¸²à¸¢
+remoteXUL-title = XUL ระยะà¹à¸à¸¥
+sslv3Used-title = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัยà¹à¸à¹
+inadequateSecurityError-title = à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัย
+blockedByPolicy-title = หà¸à¹à¸²à¸à¸µà¹à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸
+clockSkewError-title = à¸à¸²à¸¬à¸´à¸à¸²à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¸à¸´à¸
+networkProtocolError-title = à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸£à¹à¸à¸à¸à¸¥à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢
+nssBadCert-title = à¸à¸³à¹à¸à¸·à¸à¸: à¸à¸§à¸²à¸¡à¹à¸ªà¸µà¹à¸¢à¸à¸à¹à¸²à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸µà¹à¸à¸²à¸à¹à¸à¸´à¸à¸à¸¶à¹à¸à¸à¹à¸²à¸à¸«à¸à¹à¸²
+nssBadCert-sts-title = à¹à¸¡à¹à¹à¸à¹à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸: à¸à¸±à¸à¸«à¸²à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸µà¹à¸à¸²à¸à¹à¸à¸´à¸à¸à¸¶à¹à¸
+certerror-mitm-title = มีà¸à¸à¸à¸à¹à¹à¸§à¸£à¹à¸à¸µà¹à¸à¸³à¹à¸«à¹ { -brand-short-name } à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸à¸à¹à¸à¸µà¹à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัยà¹à¸à¹
diff --git a/browser/browser/aboutConfig.ftl b/browser/browser/aboutConfig.ftl
new file mode 100644
index 00000000000..7f4b9cb23e9
--- /dev/null
+++ b/browser/browser/aboutConfig.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/.
+
+## These strings appear on the warning you see when first visiting about:config.
+
+about-config-intro-warning-title = à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸à¸à¹à¸§à¸¢à¸à¸§à¸²à¸¡à¸£à¸°à¸¡à¸±à¸à¸£à¸°à¸§à¸±à¸
+about-config-intro-warning-text = à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¹à¸²à¸à¸³à¸«à¸à¸à¸à¸±à¹à¸à¸ªà¸¹à¸à¸à¸²à¸à¸ªà¹à¸à¸à¸¥à¸à¹à¸à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸«à¸£à¸·à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸ { -brand-short-name } à¹à¸à¹
+about-config-intro-warning-checkbox = à¹à¸à¸·à¸à¸à¹à¸¡à¸·à¹à¸à¸à¸±à¸à¸à¸¢à¸²à¸¢à¸²à¸¡à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¹à¸«à¸¥à¹à¸²à¸à¸µà¹
+about-config-intro-warning-button = ยà¸à¸¡à¸£à¸±à¸à¸à¸§à¸²à¸¡à¹à¸ªà¸µà¹à¸¢à¸à¹à¸¥à¸°à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸
+
+
+
+##
+
+# This is shown on the page before searching but after the warning is accepted.
+about-config-caution-text = à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¹à¸²à¸à¸³à¸«à¸à¸à¹à¸«à¸¥à¹à¸²à¸à¸µà¹à¸à¸²à¸à¸ªà¹à¸à¸à¸¥à¸à¹à¸à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸«à¸£à¸·à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸ { -brand-short-name } à¹à¸à¹
+
+about-config-page-title = à¸à¹à¸²à¸à¸³à¸«à¸à¸à¸à¸±à¹à¸à¸ªà¸¹à¸
+
+about-config-search-input1 =
+ .placeholder = à¸à¹à¸à¸«à¸²à¸à¸·à¹à¸à¸à¹à¸²à¸à¸³à¸«à¸à¸
+about-config-show-all = à¹à¸ªà¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+
+about-config-pref-add-button =
+ .title = à¹à¸à¸´à¹à¸¡
+about-config-pref-toggle-button =
+ .title = à¹à¸à¸´à¸/à¸à¸´à¸
+about-config-pref-edit-button =
+ .title = à¹à¸à¹à¹à¸
+about-config-pref-save-button =
+ .title = à¸à¸±à¸à¸à¸¶à¸
+about-config-pref-reset-button =
+ .title = à¸à¸¥à¸±à¸à¸à¹à¸²à¹à¸à¸´à¸¡
+about-config-pref-delete-button =
+ .title = ลà¸
+
+## Labels for the type selection radio buttons shown when adding preferences.
+
+about-config-pref-add-type-boolean = à¸à¹à¸²à¸à¸£à¸£à¸à¸°
+about-config-pref-add-type-number = à¸à¸±à¸§à¹à¸¥à¸
+about-config-pref-add-type-string = สà¸à¸£à¸´à¸
+
+## 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 } (à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸)
+about-config-pref-accessible-value-custom =
+ .aria-label = { $value } (à¸à¸³à¸«à¸à¸à¹à¸à¸)
diff --git a/browser/browser/aboutDialog.ftl b/browser/browser/aboutDialog.ftl
new file mode 100644
index 00000000000..8a172d567bb
--- /dev/null
+++ b/browser/browser/aboutDialog.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/.
+
+aboutDialog-title =
+ .title = à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸ { -brand-full-name }
+
+releaseNotes-link = มีà¸à¸°à¹à¸£à¹à¸«à¸¡à¹
+
+update-checkForUpdatesButton =
+ .label = à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸
+ .accesskey = à¸
+
+update-updateButton =
+ .label = à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸«à¸¡à¹à¹à¸à¸·à¹à¸à¸à¸±à¸à¹à¸à¸ { -brand-shorter-name }
+ .accesskey = ร
+
+update-checkingForUpdates = à¸à¸³à¸¥à¸±à¸à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸â¦
+update-downloading =
à¸à¸³à¸¥à¸±à¸à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸ â
+update-downloading-message = à¸à¸³à¸¥à¸±à¸à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸à¸±à¸à¹à¸à¸ â
+update-applying = à¸à¸³à¸¥à¸±à¸à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸â¦
+
+update-failed = à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¸¥à¹à¸¡à¹à¸«à¸¥à¸§
+update-failed-main = à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¸¥à¹à¸¡à¹à¸«à¸¥à¸§ à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸£à¸¸à¹à¸à¸¥à¹à¸²à¸ªà¸¸à¸
+
+update-adminDisabled = à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¸à¸¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¸¢à¸à¸¹à¹à¸à¸¹à¹à¸¥à¸£à¸°à¸à¸à¸à¸à¸à¸à¸¸à¸
+update-noUpdatesFound = { -brand-short-name } à¹à¸à¹à¸à¸£à¸¸à¹à¸à¸¥à¹à¸²à¸ªà¸¸à¸à¹à¸¥à¹à¸§
+update-otherInstanceHandlingUpdates = { -brand-short-name } à¸à¸³à¸¥à¸±à¸à¸à¸¹à¸à¸à¸±à¸à¹à¸à¸à¹à¸à¸¢à¸à¸´à¸à¸ªà¹à¸à¸à¸à¹à¸à¸·à¹à¸
+
+update-manual = มีà¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¸à¸µà¹
+
+update-unsupported = à¸à¸¸à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¹à¸à¸£à¸°à¸à¸à¸à¸µà¹à¹à¸à¹
+
+update-restarting = à¸à¸³à¸¥à¸±à¸à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸«à¸¡à¹â¦
+
+channel-description = à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸à¸¢à¸¹à¹à¸à¸à¸à¹à¸à¸à¸à¸²à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸
+
+warningDesc-version = { -brand-short-name } à¹à¸à¹à¸à¸£à¸¸à¹à¸à¸à¸à¸¥à¸à¸à¹à¸¥à¸°à¸à¸²à¸à¹à¸¡à¹à¹à¸ªà¸à¸µà¸¢à¸£
+
+aboutdialog-help-user = à¸à¸§à¸²à¸¡à¸à¹à¸§à¸¢à¹à¸«à¸¥à¸·à¸à¸à¸à¸ { -brand-product-name }
+aboutdialog-submit-feedback = สà¹à¸à¸à¹à¸à¸à¸´à¸à¹à¸«à¹à¸
+
+community-exp = à¸à¸·à¸ à¸à¸µà¹à¸à¸³à¸à¸²à¸à¸£à¹à¸§à¸¡à¸à¸±à¸à¹à¸à¸·à¹à¸à¸à¸³à¹à¸«à¹à¹à¸§à¹à¸à¹à¸à¸´à¸à¸à¸§à¹à¸²à¸ à¹à¸à¹à¸à¸à¸à¸à¸ªà¸²à¸à¸²à¸£à¸à¸° à¹à¸¥à¸°à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¹à¸à¸¸à¸à¸à¸
+
+community-2 = { -brand-short-name } à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸à¸¢ à¸à¸¶à¹à¸à¹à¸à¹à¸ à¸à¸µà¹à¸à¸³à¸à¸²à¸à¸£à¹à¸§à¸¡à¸à¸±à¸à¹à¸à¸·à¹à¸à¸à¸³à¹à¸«à¹à¹à¸§à¹à¸à¹à¸à¸´à¸à¸à¸§à¹à¸²à¸ à¹à¸à¹à¸à¸à¸à¸à¸ªà¸²à¸à¸²à¸£à¸à¸° à¹à¸¥à¸°à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¹à¸à¸¸à¸à¸à¸
+
+helpus = à¸à¹à¸à¸à¸à¸²à¸£à¸à¸µà¹à¸à¸°à¸à¹à¸§à¸¢? หรืà¸
+
+bottomLinks-license = à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¸±à¸à¸à¸²à¸à¸à¸¸à¸à¸²à¸
+bottomLinks-rights = สิà¸à¸à¸´à¸à¸¹à¹à¹à¸à¹
+bottomLinks-privacy = à¸à¹à¸¢à¸à¸²à¸¢à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+
+# 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 } à¸à¸´à¸)
+
+# 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 } à¸à¸´à¸)
diff --git a/browser/browser/aboutLogins.ftl b/browser/browser/aboutLogins.ftl
new file mode 100644
index 00000000000..488a5e51f64
--- /dev/null
+++ b/browser/browser/aboutLogins.ftl
@@ -0,0 +1,324 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸¥à¸°à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸
+login-filter =
+ .placeholder = à¸à¹à¸à¸«à¸²à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸
+create-login-button = สรà¹à¸²à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸«à¸¡à¹
+fxaccounts-sign-in-text = รัà¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸à¸à¸à¸¸à¸à¸à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸·à¹à¸ ๠à¸à¸à¸à¸à¸¸à¸
+fxaccounts-sign-in-sync-button = ลà¸à¸à¸·à¹à¸à¹à¸à¹à¸²à¹à¸à¹à¹à¸à¸·à¹à¸à¸à¸´à¸à¸à¹
+fxaccounts-avatar-button =
+ .title = à¸à¸±à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸µ
+
+## The ⯠menu that is in the top corner of the page
+
+menu =
+ .title = à¹à¸à¸´à¸à¹à¸¡à¸à¸¹
+# This menuitem is only visible on Windows and macOS
+about-logins-menu-menuitem-import-from-another-browser = à¸à¸³à¹à¸à¹à¸²à¸à¸²à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸·à¹à¸â¦
+about-logins-menu-menuitem-import-from-a-file = à¸à¸³à¹à¸à¹à¸²à¸à¸²à¸à¹à¸à¸¥à¹â¦
+about-logins-menu-menuitem-export-logins = สà¹à¸à¸à¸à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸â¦
+about-logins-menu-menuitem-remove-all-logins = ลà¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸â¦
+menu-menuitem-preferences =
+ { PLATFORM() ->
+ [windows] à¸à¸±à¸§à¹à¸¥à¸·à¸à¸
+ *[other] à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸¥à¸±à¸à¸©à¸à¸°
+ }
+about-logins-menu-menuitem-help = à¸à¹à¸§à¸¢à¹à¸«à¸¥à¸·à¸
+
+## Login List
+
+login-list =
+ .aria-label = à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸µà¹à¸à¸£à¸à¸à¸±à¸à¸à¸³à¸à¹à¸
+login-list-count =
+ { $count ->
+ *[other] { $count } à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸
+ }
+login-list-sort-label-text = à¹à¸£à¸µà¸¢à¸à¸¥à¸³à¸à¸±à¸à¸à¸²à¸¡:
+login-list-name-option = à¸à¸·à¹à¸à¸à¸²à¸¡à¸à¸±à¸§à¸à¸±à¸à¸©à¸£
+login-list-name-reverse-option = à¸à¸·à¹à¸ (Z-A)
+login-list-username-option = à¸à¸·à¹à¸à¸à¸¹à¹à¹à¸à¹ (à¸-ฮ)
+login-list-username-reverse-option = à¸à¸·à¹à¸à¸à¸¹à¹à¹à¸à¹ (ฮ-à¸)
+about-logins-login-list-alerts-option = à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸
+login-list-last-changed-option = วัà¸à¸à¸µà¹à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸¥à¹à¸²à¸ªà¸¸à¸
+login-list-last-used-option = วัà¸à¸à¸µà¹à¹à¸à¹à¸à¸£à¸±à¹à¸à¸¥à¹à¸²à¸ªà¸¸à¸
+login-list-intro-title = à¹à¸¡à¹à¸à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸
+login-list-intro-description = à¹à¸¡à¸·à¹à¸à¸à¸¸à¸à¸à¸±à¸à¸à¸¶à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¹à¸ { -brand-product-name } รหัสà¸à¹à¸²à¸à¸à¸°à¸à¸£à¸²à¸à¸à¸à¸¶à¹à¸à¸à¸µà¹à¸à¸µà¹
+about-logins-login-list-empty-search-title = à¹à¸¡à¹à¸à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸
+about-logins-login-list-empty-search-description = à¹à¸¡à¹à¸¡à¸µà¸à¸¥à¸¥à¸±à¸à¸à¹à¸à¸µà¹à¸à¸£à¸à¸à¸±à¸à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸à¸à¸à¸à¸¸à¸
+login-list-item-title-new-login = à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸«à¸¡à¹
+login-list-item-subtitle-new-login = à¸à¹à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸£à¸±à¸à¸£à¸à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸à¸à¸à¸¸à¸
+login-list-item-subtitle-missing-username = (à¹à¸¡à¹à¸¡à¸µà¸à¸·à¹à¸à¸à¸¹à¹à¹à¸à¹)
+about-logins-list-item-breach-icon =
+ .title = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥
+about-logins-list-item-vulnerable-password-icon =
+ .title = รหัสà¸à¹à¸²à¸à¸à¸µà¹à¸à¹à¸à¸à¹à¸
+about-logins-list-section-breach = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥
+about-logins-list-section-vulnerable = รหัสà¸à¹à¸²à¸à¸à¸µà¹à¸à¹à¸à¸à¹à¸
+about-logins-list-section-nothing = à¹à¸¡à¹à¸¡à¸µà¸à¸²à¸£à¹à¸à¸·à¸à¸
+about-logins-list-section-today = วัà¸à¸à¸µà¹
+about-logins-list-section-yesterday = à¹à¸¡à¸·à¹à¸à¸§à¸²à¸à¸à¸µà¹
+about-logins-list-section-week = 7 วัà¸à¸à¸µà¹à¸à¹à¸²à¸à¸¡à¸²
+
+## Introduction screen
+
+about-logins-login-intro-heading-logged-out2 = à¸à¸³à¸¥à¸±à¸à¸¡à¸à¸à¸«à¸²à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸µà¹à¸à¸¸à¸à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹à¹à¸à¹à¸«à¸£à¸·à¸à¹à¸¡à¹? à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸´à¸à¸à¹à¸«à¸£à¸·à¸à¸à¸³à¹à¸à¹à¸²
+about-logins-login-intro-heading-logged-in = à¹à¸¡à¹à¸à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸µà¹à¸à¸´à¸à¸à¹
+login-intro-description = หาà¸à¸à¸¸à¸à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸à¸à¸à¸¸à¸à¹à¸§à¹à¸à¸µà¹ { -brand-product-name } à¸à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸·à¹à¸ ๠à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸¡à¸²à¹à¸à¹à¸à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸µà¹à¹à¸à¹à¸à¹à¸§à¸¢à¸§à¸´à¸à¸µà¸à¸µà¹:
+login-intro-instructions-fxa = สรà¹à¸²à¸à¸«à¸£à¸·à¸à¸¥à¸à¸à¸·à¹à¸à¹à¸à¹à¸² { -fxaccount-brand-name } à¸à¸à¸à¸à¸¸à¸à¸à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸à¸à¸à¸¸à¸
+login-intro-instructions-fxa-settings = à¹à¸à¸à¸µà¹ à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸² > Sync > à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸´à¸à¸à¹â¦ à¹à¸¥à¹à¸§à¹à¸¥à¸·à¸à¸à¸à¸¥à¹à¸à¸à¸à¸²à¹à¸à¸£à¸·à¹à¸à¸à¸«à¸¡à¸²à¸¢ à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸¥à¸°à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸
+login-intro-instructions-fxa-help = à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡à¸à¹à¸²à¸¢à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸ { -lockwise-brand-short-name } สำหรัà¸à¸§à¸´à¸à¸µà¹à¸à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+about-logins-intro-import = หาà¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸à¸à¸à¸¸à¸à¸à¸¹à¸à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸·à¹à¸ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸²à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸«à¸¥à¹à¸²à¸à¸µà¹à¹à¸ { -lockwise-brand-short-name } à¹à¸à¹
+about-logins-intro-import2 = หาà¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸à¸à¸à¸¸à¸à¸à¸¹à¸à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹à¸ ายà¸à¸à¸ { -brand-product-name } à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸²à¸à¸²à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸·à¹à¸à¸«à¸£à¸·à¸à¸à¸²à¸à¹à¸à¸¥à¹à¹à¸à¹
+
+## Login
+
+login-item-new-login-title = สรà¹à¸²à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸«à¸¡à¹
+login-item-edit-button = à¹à¸à¹à¹à¸
+about-logins-login-item-remove-button = ลà¸
+login-item-origin-label = à¸à¸µà¹à¸à¸¢à¸¹à¹à¹à¸§à¹à¸à¹à¸à¸à¹
+login-item-tooltip-message = à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸«à¹à¹à¸à¹à¹à¸à¸§à¹à¸²à¸à¸£à¸à¸à¸±à¸à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸¸à¸à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸
+login-item-origin =
+ .placeholder = https://www.example.com
+login-item-username-label = à¸à¸·à¹à¸à¸à¸¹à¹à¹à¸à¹
+about-logins-login-item-username =
+ .placeholder = (à¹à¸¡à¹à¸¡à¸µà¸à¸·à¹à¸à¸à¸¹à¹à¹à¸à¹)
+login-item-copy-username-button-text = à¸à¸±à¸à¸¥à¸à¸
+login-item-copied-username-button-text = à¸à¸±à¸à¸¥à¸à¸à¹à¸¥à¹à¸§!
+login-item-password-label = รหัสà¸à¹à¸²à¸
+login-item-password-reveal-checkbox =
+ .aria-label = à¹à¸ªà¸à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸
+login-item-copy-password-button-text = à¸à¸±à¸à¸¥à¸à¸
+login-item-copied-password-button-text = à¸à¸±à¸à¸¥à¸à¸à¹à¸¥à¹à¸§!
+login-item-save-changes-button = à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸
+login-item-save-new-button = à¸à¸±à¸à¸à¸¶à¸
+login-item-cancel-button = ยà¸à¹à¸¥à¸´à¸
+login-item-time-changed = วัà¸à¸à¸µà¹à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸¥à¹à¸²à¸ªà¸¸à¸: { DATETIME($timeChanged, day: "numeric", month: "long", year: "numeric") }
+login-item-time-created = วัà¸à¸à¸µà¹à¸ªà¸£à¹à¸²à¸: { DATETIME($timeCreated, day: "numeric", month: "long", year: "numeric") }
+login-item-time-used = วัà¸à¸à¸µà¹à¹à¸à¹à¸à¸£à¸±à¹à¸à¸¥à¹à¸²à¸ªà¸¸à¸: { DATETIME($timeUsed, day: "numeric", month: "long", year: "numeric") }
+
+## 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 = หาà¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¹à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸à¸à¸à¸¸à¸ à¹à¸«à¹à¸à¹à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸£à¸°à¸à¸³à¸à¸±à¸§à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸ Windows à¸à¸à¸à¸à¸¸à¸ à¸à¸¶à¹à¸à¸à¸°à¸à¹à¸§à¸¢à¸à¸à¸à¹à¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¹à¸«à¹à¸à¸±à¸à¸à¸±à¸à¸à¸µà¸à¹à¸²à¸ ๠à¸à¸à¸à¸à¸¸à¸
+# 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 = à¹à¸à¹à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹
+# 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 = หาà¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸¹à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸à¸à¸à¸¸à¸ à¹à¸«à¹à¸à¹à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸£à¸°à¸à¸³à¸à¸±à¸§à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸ Windows à¸à¸à¸à¸à¸¸à¸ à¸à¸¶à¹à¸à¸à¸°à¸à¹à¸§à¸¢à¸à¸à¸à¹à¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¹à¸«à¹à¸à¸±à¸à¸à¸±à¸à¸à¸µà¸à¹à¸²à¸ ๠à¸à¸à¸à¸à¸¸à¸
+# 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 = à¹à¸à¸¢à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹
+# 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 = หาà¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸±à¸à¸¥à¸à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸à¸à¸à¸¸à¸ à¹à¸«à¹à¸à¹à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸£à¸°à¸à¸³à¸à¸±à¸§à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸ Windows à¸à¸à¸à¸à¸¸à¸ à¸à¸¶à¹à¸à¸à¸°à¸à¹à¸§à¸¢à¸à¸à¸à¹à¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¹à¸«à¹à¸à¸±à¸à¸à¸±à¸à¸à¸µà¸à¹à¸²à¸ ๠à¸à¸à¸à¸à¸¸à¸
+# 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 = à¸à¸±à¸à¸¥à¸à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹
+# 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 = หาà¸à¸à¹à¸à¸à¸à¸²à¸£à¸ªà¹à¸à¸à¸à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸à¸à¸à¸¸à¸ à¹à¸«à¹à¸à¹à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸£à¸°à¸à¸³à¸à¸±à¸§à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸ Windows à¸à¸à¸à¸à¸¸à¸ à¸à¸¶à¹à¸à¸à¸°à¸à¹à¸§à¸¢à¸à¸à¸à¹à¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¹à¸«à¹à¸à¸±à¸à¸à¸±à¸à¸à¸µà¸à¹à¸²à¸ ๠à¸à¸à¸à¸à¸¸à¸
+# 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 = สà¹à¸à¸à¸à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸¥à¸°à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹
+
+## Primary Password notification
+
+about-logins-primary-password-notification-message = à¹à¸à¸£à¸à¸à¹à¸à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸«à¸¥à¸±à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸·à¹à¸à¸à¸¹à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸¥à¸°à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹
+master-password-reload-button =
+ .label = à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸
+ .accesskey = à¸
+
+## Dialogs
+
+confirmation-dialog-cancel-button = ยà¸à¹à¸¥à¸´à¸
+confirmation-dialog-dismiss-button =
+ .title = ยà¸à¹à¸¥à¸´à¸
+about-logins-confirm-remove-dialog-title = ลà¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸µà¹?
+confirm-delete-dialog-message = à¸à¸²à¸£à¸à¸£à¸°à¸à¸³à¸à¸µà¹à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸¥à¸´à¸à¸à¸³à¹à¸à¹
+about-logins-confirm-remove-dialog-confirm-button = ลà¸
+about-logins-confirm-remove-all-dialog-confirm-button-label =
+ { $count ->
+ [1] à¹à¸à¸²à¸à¸à¸
+ *[other] à¹à¸à¸²à¸à¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+ }
+about-logins-confirm-remove-all-dialog-checkbox-label =
+ { $count ->
+ [1] à¹à¸à¹ ลà¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸µà¹
+ *[other] à¹à¸à¹ ลà¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸«à¸¥à¹à¸²à¸à¸µà¹
+ }
+about-logins-confirm-remove-all-dialog-title =
+ { $count ->
+ *[other] ลà¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸ { $count } รายà¸à¸²à¸£à¸«à¸£à¸·à¸à¹à¸¡à¹?
+ }
+about-logins-confirm-remove-all-dialog-message =
+ { $count ->
+ [1] à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸µà¹à¸à¸°à¹à¸à¸²à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸µà¹à¸à¸¸à¸à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹à¹à¸ { -brand-short-name } à¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥à¹à¸ ๠à¸à¸µà¹à¸à¸£à¸²à¸à¸à¸à¸µà¹à¸à¸µà¹à¸à¸à¸ à¸à¸¸à¸à¸à¸°à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸¢à¸à¹à¸¥à¸´à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸µà¹à¹à¸à¹
+ *[other] à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸µà¹à¸à¸°à¹à¸à¸²à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸µà¹à¸à¸¸à¸à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹à¹à¸ { -brand-short-name } à¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥à¹à¸ ๠à¸à¸µà¹à¸à¸£à¸²à¸à¸à¸à¸µà¹à¸à¸µà¹à¸à¸à¸ à¸à¸¸à¸à¸à¸°à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸¢à¸à¹à¸¥à¸´à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸µà¹à¹à¸à¹
+ }
+about-logins-confirm-remove-all-sync-dialog-title =
+ { $count ->
+ *[other] à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸² { $count } à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸à¸à¸à¸²à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+ }
+about-logins-confirm-remove-all-sync-dialog-message =
+ { $count ->
+ [1] à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸µà¹à¸à¸°à¹à¸à¸²à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸µà¹à¸à¸¸à¸à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹à¹à¸ { -brand-short-name } à¸à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸µà¹à¸à¸´à¸à¸à¹à¸à¸±à¸{ -fxaccount-brand-name } à¸à¸à¸à¸à¸¸à¸ à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸µà¹à¸à¸°à¹à¸à¸²à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥à¸à¸µà¹à¸à¸£à¸²à¸à¸à¸à¸µà¹à¸à¸µà¹à¸à¸à¸à¸à¹à¸§à¸¢ à¸à¸¸à¸à¸à¸°à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸¢à¸à¹à¸¥à¸´à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸µà¹à¹à¸à¹
+ *[other] à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸µà¹à¸à¸°à¹à¸à¸²à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸µà¹à¸à¸¸à¸à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹à¹à¸ { -brand-short-name } à¸à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸µà¹à¸à¸´à¸à¸à¹à¸à¸±à¸{ -fxaccount-brand-name } à¸à¸à¸à¸à¸¸à¸ à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸µà¹à¸à¸°à¹à¸à¸²à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥à¸à¸µà¹à¸à¸£à¸²à¸à¸à¸à¸µà¹à¸à¸µà¹à¸à¸à¸à¸à¹à¸§à¸¢ à¸à¸¸à¸à¸à¸°à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸¢à¸à¹à¸¥à¸´à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸µà¹à¹à¸à¹
+ }
+about-logins-confirm-export-dialog-title = สà¹à¸à¸à¸à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸¥à¸°à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸
+about-logins-confirm-export-dialog-message = รหัสà¸à¹à¸²à¸à¸à¸à¸à¸à¸¸à¸à¸à¸°à¸à¸¹à¸à¸à¸±à¸à¸à¸¶à¸à¹à¸à¹à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸à¹à¸²à¸à¹à¸à¹ (à¹à¸à¹à¸ BadP@ssw0rd) à¸à¸±à¸à¸à¸±à¹à¸à¹à¸à¸£à¸à¹à¸à¸²à¸¡à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸´à¸à¹à¸à¸¥à¹à¸à¸µà¹à¸ªà¹à¸à¸à¸à¸à¹à¸à¹à¸à¸°à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸¹à¹à¸à¹
+about-logins-confirm-export-dialog-confirm-button = สà¹à¸à¸à¸à¸â¦
+about-logins-alert-import-title = à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸²à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹
+about-logins-alert-import-message = à¸à¸¹à¸ªà¸£à¸¸à¸à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸²à¹à¸à¸¢à¸¥à¸°à¹à¸à¸µà¸¢à¸
+confirm-discard-changes-dialog-title = ละà¸à¸´à¹à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸µà¹à¸¢à¸±à¸à¹à¸¡à¹à¹à¸à¹à¸à¸±à¸à¸à¸¶à¸?
+confirm-discard-changes-dialog-message = à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸µà¹à¸¢à¸±à¸à¹à¸¡à¹à¹à¸à¹à¸à¸±à¸à¸à¸¶à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸°à¸ªà¸¹à¸à¸«à¸²à¸¢
+confirm-discard-changes-dialog-confirm-button = ละà¸à¸´à¹à¸
+
+## Breach Alert notification
+
+about-logins-breach-alert-title = à¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹
+breach-alert-text = รหัสà¸à¹à¸²à¸à¸à¸¹à¸à¸£à¸±à¹à¸§à¹à¸«à¸¥à¸«à¸£à¸·à¸à¸à¸¹à¸à¸à¹à¸¡à¸¢à¸à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸±à¹à¸à¹à¸à¹à¸à¸¸à¸à¸à¸±à¸à¹à¸à¸à¸£à¸²à¸¢à¸¥à¸°à¹à¸à¸µà¸¢à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸£à¸±à¹à¸à¸¥à¹à¸²à¸ªà¸¸à¸ à¹à¸à¸¥à¸µà¹à¸¢à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸·à¹à¸à¸à¸à¸à¹à¸à¸à¸à¸±à¸à¸à¸µà¸à¸à¸à¸à¸¸à¸
+about-logins-breach-alert-date = à¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥à¸à¸µà¹à¹à¸à¸´à¸à¸à¸¶à¹à¸à¹à¸¡à¸·à¹à¸ { 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 = à¹à¸à¸¢à¸±à¸ { $hostname }
+about-logins-breach-alert-learn-more-link = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+## Vulnerable Password notification
+
+about-logins-vulnerable-alert-title = รหัสà¸à¹à¸²à¸à¸à¸µà¹à¸à¹à¸à¸à¹à¸
+about-logins-vulnerable-alert-text2 = รหัสà¸à¹à¸²à¸à¸à¸µà¹à¸à¸¹à¸à¹à¸à¹à¹à¸à¸à¸±à¸à¸à¸µà¸à¸·à¹à¸à¸à¸µà¹à¹à¸à¹à¸à¹à¸à¹à¸à¹à¸§à¹à¸²à¸¡à¸µà¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥à¸à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥ à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸£à¸°à¸à¸³à¸à¸±à¸§à¸à¹à¸³à¸à¸°à¸à¸³à¹à¸«à¹à¸à¸±à¸à¸à¸µà¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸à¸à¸à¸¸à¸à¸¡à¸µà¸à¸§à¸²à¸¡à¹à¸ªà¸µà¹à¸¢à¸ à¹à¸à¸£à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸µà¹
+# Variables:
+# $hostname (String) - The hostname of the website associated with the login, e.g. "example.com"
+about-logins-vulnerable-alert-link = à¹à¸à¸¢à¸±à¸ { $hostname }
+about-logins-vulnerable-alert-learn-more-link = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+## 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 = มีรายà¸à¸²à¸£à¸ªà¸³à¸«à¸£à¸±à¸ { $loginTitle } à¸à¸£à¹à¸à¸¡à¸à¸·à¹à¸à¸à¸¹à¹à¹à¸à¹à¸à¸±à¹à¸à¹à¸¥à¹à¸§ à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸¢à¸±à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹à¸«à¸£à¸·à¸à¹à¸¡à¹?
+# This is a generic error message.
+about-logins-error-message-default = à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸à¸°à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸±à¸à¸à¸¶à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸µà¹
+
+## Login Export Dialog
+
+# Title of the file picker dialog
+about-logins-export-file-picker-title = สà¹à¸à¸à¸à¸à¹à¸à¸¥à¹à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸
+# 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
+about-logins-export-file-picker-export-button = สà¹à¸à¸à¸à¸
+# 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] à¹à¸à¸¥à¹ CSV
+ *[other] à¹à¸à¸¥à¹ CSV
+ }
+
+## Login Import Dialog
+
+# Title of the file picker dialog
+about-logins-import-file-picker-title = à¸à¸³à¹à¸à¹à¸²à¹à¸à¸¥à¹à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸
+about-logins-import-file-picker-import-button = à¸à¸³à¹à¸à¹à¸²
+# 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] à¹à¸à¸à¸ªà¸²à¸£ CSV
+ *[other] à¹à¸à¸¥à¹ 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] à¹à¸à¸à¸ªà¸²à¸£ TSV
+ *[other] à¹à¸à¸¥à¹ TSV
+ }
+
+##
+## Variables:
+## $count (number) - The number of affected elements
+
+about-logins-import-dialog-title = à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸²à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹
+about-logins-import-dialog-items-added =
+ { $count ->
+ *[other] à¹à¸à¸´à¹à¸¡à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸«à¸¡à¹à¹à¸¥à¹à¸§: { $count }
+ }
+about-logins-import-dialog-items-modified =
+ { $count ->
+ *[other] à¸à¸±à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹à¹à¸¥à¹à¸§: { $count }
+ }
+about-logins-import-dialog-items-no-change =
+ { $count ->
+ *[other] à¸à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸µà¹à¸à¹à¸³à¸à¸±à¸: { $count } (ยัà¸à¹à¸¡à¹à¹à¸à¹à¸à¸³à¹à¸à¹à¸²)
+ }
+about-logins-import-dialog-items-error =
+ { $count ->
+ *[other] à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸: { $count } (ยัà¸à¹à¸¡à¹à¹à¸à¹à¸à¸³à¹à¸à¹à¸²)
+ }
+about-logins-import-dialog-done = à¹à¸ªà¸£à¹à¸à¸ªà¸´à¹à¸
+about-logins-import-dialog-error-title = à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸²
+about-logins-import-dialog-error-conflicting-values-title = มีà¸à¹à¸²à¸à¸±à¸à¹à¸¢à¹à¸à¸«à¸¥à¸²à¸¢à¸à¹à¸²à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸£à¸±à¹à¸à¹à¸à¸µà¸¢à¸§
+about-logins-import-dialog-error-conflicting-values-description = à¸à¸±à¸§à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸: หลายà¸à¸·à¹à¸à¸à¸¹à¹à¹à¸à¹ รหัสà¸à¹à¸²à¸ URL ฯลฯ สำหรัà¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸à¸à¸à¸¹à¹à¹à¸à¹à¸à¸à¹à¸à¸µà¸¢à¸§
+about-logins-import-dialog-error-file-format-title = à¸à¸±à¸à¸«à¸²à¸£à¸¹à¸à¹à¸à¸à¹à¸à¸¥à¹
+about-logins-import-dialog-error-file-format-description = สà¹à¸§à¸à¸«à¸±à¸§à¸à¸à¸¥à¸±à¸¡à¸à¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸à¸«à¸£à¸·à¸à¸à¸²à¸à¸«à¸²à¸¢à¹à¸ à¸à¸£à¸§à¸à¸ªà¸à¸à¸§à¹à¸²à¹à¸à¸¥à¹à¸¡à¸µà¸à¸à¸¥à¸±à¸¡à¸à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸·à¹à¸à¸à¸¹à¹à¹à¸à¹ รหัสà¸à¹à¸²à¸à¹à¸¥à¸° URL
+about-logins-import-dialog-error-file-permission-title = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¹à¸²à¸à¹à¸à¸¥à¹
+about-logins-import-dialog-error-file-permission-description = { -brand-short-name } à¹à¸¡à¹à¸¡à¸µà¸ªà¸´à¸à¸à¸´à¹à¸à¹à¸²à¸à¹à¸à¸¥à¹ à¹à¸«à¹à¸¥à¸à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¸ªà¸´à¸à¸à¸´à¹à¸à¸à¸à¹à¸à¸¥à¹à¸à¸¹
+about-logins-import-dialog-error-unable-to-read-title = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸¢à¸à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸à¸¥à¹
+about-logins-import-dialog-error-unable-to-read-description = à¸à¸£à¸§à¸à¸ªà¸à¸à¸§à¹à¸²à¸à¸¸à¸à¹à¸à¹à¹à¸¥à¸·à¸à¸à¹à¸à¸¥à¹ CSV หรืภTSV
+about-logins-import-dialog-error-no-logins-imported = à¹à¸¡à¹à¸¡à¸µà¸à¸²à¸£à¸à¸³à¹à¸à¹à¸²à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸
+about-logins-import-dialog-error-learn-more = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+about-logins-import-dialog-error-try-import-again = ลà¸à¸à¸à¸³à¹à¸à¹à¸²à¸à¸µà¸à¸à¸£à¸±à¹à¸â¦
+about-logins-import-dialog-error-cancel = ยà¸à¹à¸¥à¸´à¸
+about-logins-import-report-title = สรุà¸à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸²
+about-logins-import-report-description = à¸à¸³à¹à¸à¹à¸²à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸¥à¸°à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¹à¸à¸¢à¸±à¸ { -brand-short-name } à¹à¸¥à¹à¸§
+#
+# Variables:
+# $number (number) - The number of the row
+about-logins-import-report-row-index = à¹à¸à¸§ { $number }
+about-logins-import-report-row-description-no-change = à¸à¹à¸³à¸à¸±à¸: à¸à¸£à¸à¸à¸±à¸à¸à¸¸à¸à¸à¸£à¸°à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹
+about-logins-import-report-row-description-modified = à¸à¸±à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹à¹à¸¥à¹à¸§
+about-logins-import-report-row-description-added = à¹à¸à¸´à¹à¸¡à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸«à¸¡à¹à¹à¸¥à¹à¸§
+about-logins-import-report-row-description-error = à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸: à¸à¸´à¸¥à¸à¹à¸«à¸²à¸¢à¹à¸
+
+##
+## 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 = à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸: มีหลายà¸à¹à¸²à¸ªà¸³à¸«à¸£à¸±à¸ { $field }
+about-logins-import-report-row-description-error-missing-field = à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸: { $field } หายà¹à¸
+
+##
+## Variables:
+## $count (number) - The number of affected elements
+
+about-logins-import-report-added =
+ { $count ->
+ *[other] { $count }
à¹à¸à¸´à¹à¸¡à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸«à¸¡à¹à¹à¸¥à¹à¸§
+ }
+about-logins-import-report-modified =
+ { $count ->
+ *[other] { $count }
à¸à¸±à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹à¹à¸¥à¹à¸§
+ }
+about-logins-import-report-no-change =
+ { $count ->
+ *[other] { $count }
à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸µà¹à¸à¹à¸³à¸à¸±à¸
(à¹à¸¡à¹à¹à¸à¹à¸à¸³à¹à¸à¹à¸²)
+ }
+about-logins-import-report-error =
+ { $count ->
+ *[other] { $count }
à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸
(à¹à¸¡à¹à¹à¸à¹à¸à¸³à¹à¸à¹à¸²)
+ }
+
+## Logins import report page
+
+about-logins-import-report-page-title = รายà¸à¸²à¸à¸ªà¸£à¸¸à¸à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸²
diff --git a/browser/browser/aboutPocket.ftl b/browser/browser/aboutPocket.ftl
new file mode 100644
index 00000000000..acfbf23b179
--- /dev/null
+++ b/browser/browser/aboutPocket.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/.
+
+
+### 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 = à¹à¸à¸´à¹à¸¡à¸à¹à¸²à¸¢à¸à¸³à¸à¸±à¸
+
+pocket-panel-saved-error-generic = à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸£à¸°à¸«à¸§à¹à¸²à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸¶à¸à¹à¸à¸¢à¸±à¸ { -pocket-brand-name }
+pocket-panel-saved-error-tag-length = à¸à¹à¸²à¸¢à¸à¸³à¸à¸±à¸à¸à¸¹à¸à¸à¸³à¸à¸±à¸à¹à¸§à¹à¸à¸µà¹ 25 à¸à¸±à¸§à¸à¸±à¸à¸©à¸£
+pocket-panel-saved-error-only-links = ลิà¸à¸à¹à¹à¸à¹à¸²à¸à¸±à¹à¸à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸¹à¸à¸à¸±à¸à¸à¸¶à¸à¹à¸à¹
+pocket-panel-saved-error-not-saved = หà¸à¹à¸²à¹à¸¡à¹à¸à¸¹à¸à¸à¸±à¸à¸à¸¶à¸
+pocket-panel-saved-error-no-internet = à¸à¸¸à¸à¸à¹à¸à¸à¹à¸à¸·à¹à¸à¸à¹à¸à¸à¸±à¸à¸à¸´à¸à¹à¸à¸à¸£à¹à¹à¸à¹à¸à¹à¸à¸·à¹à¸à¸à¸±à¸à¸à¸¶à¸à¹à¸à¸¢à¸±à¸ { -pocket-brand-name } à¸à¸£à¸¸à¸à¸²à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸´à¸à¹à¸à¸à¸£à¹à¹à¸à¹à¸à¹à¸¥à¸°à¸¥à¸à¸à¹à¸«à¸¡à¹à¸à¸µà¸à¸à¸£à¸±à¹à¸
+pocket-panel-saved-page-removed = ลà¸à¸«à¸à¹à¸²à¹à¸¥à¹à¸§
+pocket-panel-saved-page-saved = à¸à¸±à¸à¸à¸¶à¸à¹à¸à¸¢à¸±à¸ { -pocket-brand-name } à¹à¸¥à¹à¸§
+pocket-panel-saved-processing-remove = à¸à¸³à¸¥à¸±à¸à¸¥à¸à¸«à¸à¹à¸²â¦
+pocket-panel-saved-processing-tags = à¸à¸³à¸¥à¸±à¸à¹à¸à¸´à¹à¸¡à¸à¹à¸²à¸¢à¸à¸³à¸à¸±à¸â¦
+pocket-panel-saved-remove-page = ลà¸à¸«à¸à¹à¸²
+pocket-panel-saved-save-tags = à¸à¸±à¸à¸à¸¶à¸
+pocket-panel-saved-saving-tags = à¸à¸³à¸¥à¸±à¸à¸à¸±à¸à¸à¸¶à¸â¦
+pocket-panel-saved-suggested-tags = à¸à¹à¸²à¸¢à¸à¸³à¸à¸±à¸à¸à¸µà¹à¸à¸¹à¸à¹à¸à¸°à¸à¸³
+pocket-panel-saved-tags-saved = à¸à¹à¸²à¸¢à¸à¸³à¸à¸±à¸à¸à¸¹à¸à¹à¸à¸´à¹à¸¡à¹à¸¥à¹à¸§
+pocket-panel-signup-view-list = à¸à¸¹à¸£à¸²à¸¢à¸à¸²à¸£
+
+## about:pocket-signup panel
+
+pocket-panel-signup-already-have = à¹à¸à¹à¸à¸à¸¹à¹à¹à¸à¹ { -pocket-brand-name } à¸à¸¢à¸¹à¹à¹à¸¥à¹à¸§?
+pocket-panel-signup-learn-more = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+pocket-panel-signup-login = à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸
+pocket-panel-signup-signup-email = ลà¸à¸à¸°à¹à¸à¸µà¸¢à¸à¸à¹à¸§à¸¢à¸à¸µà¹à¸¡à¸¥
+pocket-panel-signup-signup-cta = ลà¸à¸à¸°à¹à¸à¸µà¸¢à¸ { -pocket-brand-name } à¸à¸£à¸µ
+pocket-panel-signup-signup-firefox = ลà¸à¸à¸°à¹à¸à¸µà¸¢à¸à¸à¹à¸§à¸¢ { -brand-product-name }
+pocket-panel-signup-tagline = à¸à¸±à¸à¸à¸¶à¸à¸à¸à¸à¸§à¸²à¸¡à¹à¸¥à¸°à¸§à¸´à¸à¸µà¹à¸à¸à¸²à¸ { -brand-product-name } à¹à¸à¸·à¹à¸à¸à¸¹à¹à¸ { -pocket-brand-name } à¸à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¹à¸²à¸ ๠à¹à¸§à¸¥à¸²à¹à¸«à¸à¸à¹à¹à¸à¹
+pocket-panel-signup-tagline-story-one = à¸à¸¥à¸´à¸à¸à¸¸à¹à¸¡ { -pocket-brand-name } à¹à¸à¸·à¹à¸à¸à¸±à¸à¸à¸¶à¸à¸à¸à¸à¸§à¸²à¸¡ วิà¸à¸µà¹à¸ หรืà¸à¸«à¸à¹à¸²à¸à¸²à¸ { -brand-product-name }
+pocket-panel-signup-tagline-story-two = à¸à¸¹à¹à¸ { -pocket-brand-name } à¸à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¹à¸²à¸ ๠à¹à¸§à¸¥à¸²à¹à¸«à¸à¸à¹à¹à¸à¹
+
+## about:pocket-home panel
+
+pocket-panel-home-my-list = รายà¸à¸²à¸£à¸à¸à¸à¸à¸±à¸
+pocket-panel-home-welcome-back = ยิà¸à¸à¸µà¸à¹à¸à¸à¸£à¸±à¸à¸à¸¥à¸±à¸
+pocket-panel-home-paragraph = à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹ { -pocket-brand-name } สำรวà¸à¹à¸¥à¸°à¸à¸±à¸à¸à¸¶à¸à¸«à¸à¹à¸²à¹à¸§à¹à¸ à¸à¸à¸à¸§à¸²à¸¡ วิà¸à¸µà¹à¸ à¸à¸à¸à¹à¸à¸ªà¸à¹ หรืà¸à¸à¸¥à¸±à¸à¹à¸à¸à¹à¸²à¸à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸à¹à¸²à¸à¸à¸¢à¸¹à¹à¹à¸à¹
+pocket-panel-home-explore-popular-topics = สำรวà¸à¸«à¸±à¸§à¸à¹à¸à¸¢à¸à¸à¸à¸´à¸¢à¸¡
+pocket-panel-home-discover-more = à¸à¹à¸à¸à¸à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+pocket-panel-home-explore-more = สำรวà¸
diff --git a/browser/browser/aboutPolicies.ftl b/browser/browser/aboutPolicies.ftl
new file mode 100644
index 00000000000..17a069b473a
--- /dev/null
+++ b/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 = à¸à¹à¸¢à¸à¸²à¸¢à¸à¸à¸à¹à¸à¸£
+
+# 'Active' is used to describe the policies that are currently active
+active-policies-tab = à¹à¸à¹à¸à¸²à¸à¸à¸¢à¸¹à¹
+errors-tab = à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸
+documentation-tab = à¹à¸à¸à¸ªà¸²à¸£à¸à¸£à¸°à¸à¸à¸
+
+no-specified-policies-message = à¸à¸£à¸´à¸à¸²à¸£à¸à¹à¸¢à¸à¸²à¸¢à¸à¸à¸à¹à¸à¸£à¹à¸à¹à¸à¸²à¸à¸à¸¢à¸¹à¹à¹à¸à¹à¹à¸¡à¹à¹à¸à¹à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¹à¸¢à¸à¸²à¸¢à¹à¸ à¹
+inactive-message = à¸à¸£à¸´à¸à¸²à¸£à¸à¹à¸¢à¸à¸²à¸¢à¸à¸à¸à¹à¸à¸£à¹à¸¡à¹à¹à¸à¹à¹à¸à¹à¸à¸²à¸à¸à¸¢à¸¹à¹
+
+policy-name = à¸à¸·à¹à¸à¸à¹à¸¢à¸à¸²à¸¢
+policy-value = à¸à¹à¸²à¸à¹à¸¢à¸à¸²à¸¢
+policy-errors = à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¹à¸¢à¸à¸²à¸¢
diff --git a/browser/browser/aboutPrivateBrowsing.ftl b/browser/browser/aboutPrivateBrowsing.ftl
new file mode 100644
index 00000000000..9a1bfbbfa39
--- /dev/null
+++ b/browser/browser/aboutPrivateBrowsing.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/.
+
+privatebrowsingpage-open-private-window-label = à¹à¸à¸´à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+ .accesskey = ส
+about-private-browsing-search-placeholder = à¸à¹à¸à¸«à¸²à¹à¸§à¹à¸
+about-private-browsing-info-title = à¸à¸¸à¸à¸à¸¢à¸¹à¹à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+about-private-browsing-info-myths = à¸à¸§à¸²à¸¡à¹à¸à¹à¸²à¹à¸à¸à¸´à¸à¸à¸µà¹à¸à¸à¸à¹à¸à¸¢à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+about-private-browsing-search-btn =
+ .title = à¸à¹à¸à¸«à¸²à¹à¸§à¹à¸
+# Variables
+# $engine (String): the name of the user's default search engine
+about-private-browsing-handoff =
+ .title = à¸à¹à¸à¸«à¸²à¸à¹à¸§à¸¢ { $engine } หรืà¸à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
+about-private-browsing-handoff-no-engine =
+ .title = à¸à¹à¸à¸«à¸²à¸«à¸£à¸·à¸à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
+# Variables
+# $engine (String): the name of the user's default search engine
+about-private-browsing-handoff-text = à¸à¹à¸à¸«à¸²à¸à¹à¸§à¸¢ { $engine } หรืà¸à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
+about-private-browsing-handoff-text-no-engine = à¸à¹à¸à¸«à¸²à¸«à¸£à¸·à¸à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
+about-private-browsing-not-private = à¸à¸à¸°à¸à¸µà¹à¸à¸¸à¸à¹à¸¡à¹à¹à¸à¹à¸à¸¢à¸¹à¹à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+about-private-browsing-info-description = { -brand-short-name } à¸à¸°à¸¥à¹à¸²à¸à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸¥à¸°à¸à¸£à¸°à¸§à¸±à¸à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¸à¸à¸à¸à¸¸à¸à¹à¸¡à¸·à¹à¸à¸à¸¸à¸à¸à¸à¸à¸à¸²à¸à¹à¸à¸à¸«à¸£à¸·à¸à¸à¸´à¸à¹à¸à¹à¸à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸±à¹à¸à¸«à¸¡à¸ à¹à¸¡à¹à¸§à¹à¸²à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸°à¹à¸¡à¹à¸à¸³à¹à¸«à¹à¸à¸¸à¸à¸à¸´à¸à¸à¸±à¸à¸à¸±à¸§à¸à¸à¸à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸«à¸£à¸·à¸à¸à¸¹à¹à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸´à¸à¹à¸à¸à¸£à¹à¹à¸à¹à¸à¸à¸à¸à¸à¸¸à¸ à¹à¸à¹à¸à¸°à¸à¸³à¹à¸«à¹à¸à¸²à¸£à¸£à¸±à¸à¸©à¸²à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸à¸à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸¸à¸à¸à¸³à¸à¸à¸à¹à¸¥à¸à¹à¸à¸²à¸à¸à¸¹à¹à¸à¸·à¹à¸à¸à¸µà¹à¹à¸à¹à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¹à¸à¸£à¸·à¹à¸à¸à¸à¸µà¹à¸à¹à¸²à¸¢à¸à¸¶à¹à¸
+about-private-browsing-need-more-privacy = à¸à¹à¸à¸à¸à¸²à¸£à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸¡à¸²à¸à¸à¸¶à¹à¸?
+about-private-browsing-turn-on-vpn = ลà¸à¸à¹à¸à¹ { -mozilla-vpn-brand-name }
+about-private-browsing-info-description-private-window = หà¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§: { -brand-short-name } à¸à¸°à¸¥à¹à¸²à¸à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸¥à¸°à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¸à¸à¸à¸à¸¸à¸à¹à¸¡à¸·à¹à¸à¸à¸¸à¸à¸à¸´à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸±à¹à¸à¸«à¸¡à¸ à¹à¸à¹à¸à¸°à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸à¸à¸´à¸à¸à¸±à¸§à¸à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¹
+about-private-browsing-info-description-simplified = { -brand-short-name } à¸à¸°à¸¥à¹à¸²à¸à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸¥à¸°à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¸à¸à¸à¸à¸¸à¸à¹à¸¡à¸·à¹à¸à¸à¸¸à¸à¸à¸´à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸±à¹à¸à¸«à¸¡à¸ à¹à¸à¹à¸à¸°à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸à¸à¸´à¸à¸à¸±à¸§à¸à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¹
+about-private-browsing-learn-more-link = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+about-private-browsing-hide-activity = à¸à¹à¸à¸à¸à¸´à¸à¸à¸£à¸£à¸¡à¹à¸¥à¸°à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸à¸¸à¸à¸à¸µà¹à¸à¸µà¹à¸à¸¸à¸à¹à¸£à¸µà¸¢à¸à¸à¸¹
+about-private-browsing-get-privacy = รัà¸à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸à¸à¸¸à¸à¸à¸µà¹à¸à¸µà¹à¸à¸¸à¸à¹à¸£à¸µà¸¢à¸à¸à¸¹
+about-private-browsing-hide-activity-1 = à¸à¹à¸à¸à¸à¸´à¸à¸à¸£à¸£à¸¡à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸¥à¸°à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¹à¸§à¸¢ { -mozilla-vpn-brand-name } สรà¹à¸²à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸µà¹à¸à¸¥à¸à¸à¸ ัยà¹à¸à¸à¸¥à¸´à¸à¹à¸à¸µà¸¢à¸§à¹à¸¡à¹à¹à¸à¹ Wi-Fi สาà¸à¸²à¸£à¸à¸°
+about-private-browsing-prominent-cta = à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸¢à¸¹à¹à¹à¸ªà¸¡à¸à¸à¹à¸§à¸¢ { -mozilla-vpn-brand-name }
+# 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 } à¹à¸à¹à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+about-private-browsing-search-banner-description =
+ { PLATFORM() ->
+ [windows] à¹à¸à¸·à¹à¸à¹à¸¥à¸·à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²à¸à¸·à¹à¸à¹à¸«à¹à¹à¸à¸¢à¸±à¸ à¸à¸±à¸§à¹à¸¥à¸·à¸à¸
+ *[other] à¹à¸à¸·à¹à¸à¹à¸¥à¸·à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²à¸à¸·à¹à¸à¹à¸«à¹à¹à¸à¸¢à¸±à¸ à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸¥à¸±à¸à¸©à¸à¸°
+ }
+about-private-browsing-search-banner-close-button =
+ .aria-label = à¸à¸´à¸
diff --git a/browser/browser/aboutRestartRequired.ftl b/browser/browser/aboutRestartRequired.ftl
new file mode 100644
index 00000000000..42a369bd870
--- /dev/null
+++ b/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 = à¸à¸³à¹à¸à¹à¸à¸à¹à¸à¸à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸«à¸¡à¹
+restart-required-header = à¸à¸à¸à¸ ัย à¹à¸£à¸²à¸à¸³à¹à¸à¹à¸à¸à¹à¸à¸à¸à¸³à¸ªà¸´à¹à¸à¹à¸¥à¹à¸ ๠à¸à¸µà¸à¹à¸à¸µà¸¢à¸à¸«à¸à¸¶à¹à¸à¸à¸¢à¹à¸²à¸à¹à¸à¸·à¹à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸
+restart-required-intro-brand = { -brand-short-name } à¹à¸à¸´à¹à¸à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¹à¸à¹à¸à¸·à¹à¸à¸à¸«à¸¥à¸±à¸ à¸à¸¥à¸´à¸ à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸ { -brand-short-name } à¹à¸«à¸¡à¹à¹à¸à¸·à¹à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¹à¸«à¹à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹
+restart-required-description = à¹à¸£à¸²à¸à¸°à¸à¸¹à¹à¸à¸·à¸à¸«à¸à¹à¸² หà¸à¹à¸²à¸à¹à¸²à¸ à¹à¸¥à¸°à¹à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸¥à¸±à¸à¸à¸²à¸à¸à¸±à¹à¸ à¹à¸à¸·à¹à¸à¹à¸«à¹à¸à¸¸à¸à¸à¸¥à¸±à¸à¸¡à¸²à¹à¸à¹à¸à¸²à¸à¸à¹à¸à¹à¸à¹à¸à¸¢à¹à¸²à¸à¸£à¸§à¸à¹à¸£à¹à¸§
+
+restart-button-label = à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸ { -brand-short-name } à¹à¸«à¸¡à¹
diff --git a/browser/browser/aboutRobots.ftl b/browser/browser/aboutRobots.ftl
new file mode 100644
index 00000000000..d42c866ea76
--- /dev/null
+++ b/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 = à¸à¸à¸£à¹à¸! à¸à¸¥à¸²à¸à¸¹ à¸à¸²à¸£à¸²à¸à¸² à¸à¸´à¸à¹à¸!
+# Movie: Logan's Run... Box (cyborg): "Welcome Humans! I am ready for you."
+error-title-text = ยิà¸à¸à¸µà¸à¹à¸à¸à¸£à¸±à¸ มà¸à¸¸à¸©à¸¢à¹à¹à¸¥à¸!
+# Movie: The Day The Earth Stood Still. Spoken by Klaatu.
+error-short-desc-text = à¹à¸£à¸²à¸¡à¸²à¹à¸¢à¸µà¹à¸¢à¸¡à¹à¸¢à¸µà¸¢à¸à¸à¹à¸²à¸à¸à¹à¸§à¸¢à¸ªà¸±à¸à¸à¸´à¹à¸¥à¸°à¹à¸¡à¸à¸£à¸µ!
+# Various books by Isaac Asimov. http://en.wikipedia.org/wiki/Three_Laws_of_Robotics
+error-long-desc1 = หุà¹à¸à¸¢à¸à¸à¹à¸¡à¸´à¸à¸²à¸à¸à¸£à¸°à¸à¸³à¸à¸±à¸à¸à¸£à¸²à¸¢à¸à¹à¸à¸¡à¸à¸¸à¸©à¸¢à¹ หรืà¸à¸à¸´à¹à¸à¹à¸à¸¢à¸à¸¥à¹à¸à¸¢à¹à¸«à¹à¸¡à¸à¸¸à¸©à¸¢à¹à¸à¸à¸à¸¢à¸¹à¹à¹à¸à¸à¸±à¸à¸à¸£à¸²à¸¢à¹à¸à¹
+# Movie: Blade Runner. Batty: "I've seen things you people wouldnât believe..."
+error-long-desc2 = หุà¹à¸à¸¢à¸à¸à¹à¸¡à¸à¸à¹à¸«à¹à¸à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸§à¸à¸à¹à¸²à¸à¸à¸²à¸à¸à¸°à¹à¸¡à¹à¹à¸à¸·à¹à¸
+# Book: Hitchhikerâs Guide To The Galaxy. What the Sirius Cybernetics Corporation calls robots.
+error-long-desc3 = หุà¹à¸à¸¢à¸à¸à¹à¹à¸à¹à¸à¸ªà¸«à¸²à¸¢à¸à¸¥à¸²à¸ªà¸à¸´à¸à¸à¸¹à¹à¸ªà¸à¸¸à¸à¸ªà¸à¸²à¸
+# TV: Futurama. Bender's first line is "Bite my shiny metal ass."
+error-long-desc4 = หุà¹à¸à¸¢à¸à¸à¹à¸¡à¸µà¸à¸±à¹à¸à¸à¹à¸²à¸¢à¹à¸à¹à¸à¹à¸¥à¸«à¸°à¸¡à¸±à¸à¸§à¸²à¸§à¹à¸à¸£à¸à¸à¸¢à¹à¸²à¸à¸±à¸à¹à¸¥à¹à¸
+# TV: Battlestar Galactica (2004 series). From the opening text.
+error-trailer-desc-text = à¹à¸¥à¸°à¸à¸§à¸à¹à¸à¸²à¸à¹à¸¡à¸µà¹à¸à¸à¸à¸²à¸£
+# Book: Hitchhiker's Guide To The Galaxy. Arthur presses a button and it warns him.
+error-try-again = ลà¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸
+ .label2 = à¹à¸à¸£à¸à¸à¸¢à¹à¸²à¸à¸à¸à¸¸à¹à¸¡à¸à¸µà¹à¸à¸µà¸
diff --git a/browser/browser/aboutSessionRestore.ftl b/browser/browser/aboutSessionRestore.ftl
new file mode 100644
index 00000000000..247b8a48d95
--- /dev/null
+++ b/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 = à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¸§à¸²à¸£à¸°
+
+# 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 = à¸à¸à¸à¸ ัย à¹à¸£à¸²à¸¡à¸µà¸à¸±à¸à¸«à¸²à¹à¸à¸à¸²à¸£à¸à¸³à¸«à¸à¹à¸²à¸à¹à¸²à¸ ๠à¸à¸à¸à¸à¸¸à¸à¸à¸¥à¸±à¸à¸¡à¸²
+restore-page-problem-desc = à¹à¸£à¸²à¸¡à¸µà¸à¸±à¸à¸«à¸²à¹à¸à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¸§à¸²à¸£à¸°à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¸à¸£à¸±à¹à¸à¸¥à¹à¸²à¸ªà¸¸à¸à¸à¸à¸à¸à¸¸à¸ à¹à¸«à¹à¹à¸¥à¸·à¸à¸ à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¸§à¸²à¸£à¸° à¹à¸à¸·à¹à¸à¸¥à¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸
+restore-page-try-this = ยัà¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¸§à¸²à¸£à¸°à¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¸à¸±à¹à¸à¸«à¸£à¸·à¸? à¸à¸²à¸à¸à¸£à¸±à¹à¸à¸à¸²à¸à¸¡à¸µà¸à¸²à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸³à¸¥à¸±à¸à¸à¹à¸à¹à¸«à¹à¹à¸à¸´à¸à¸à¸±à¸à¸«à¸² à¸à¸¹à¹à¸à¹à¸à¸à¹à¸à¸à¸«à¸à¹à¸², à¹à¸à¸²à¹à¸à¸£à¸·à¹à¸à¸à¸«à¸¡à¸²à¸¢à¸à¸à¸à¸à¸²à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸¸à¸à¹à¸¡à¹à¸à¹à¸à¸à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸·à¸ à¹à¸¥à¹à¸§à¸¥à¸à¸à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¹à¸«à¸¡à¹
+
+restore-page-hide-tabs = à¸à¹à¸à¸à¹à¸à¹à¸à¸à¹à¸à¸à¸«à¸à¹à¸²
+restore-page-show-tabs = à¸à¸¹à¹à¸à¹à¸à¸à¹à¸à¸à¸«à¸à¹à¸²
+
+# 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 = หà¸à¹à¸²à¸à¹à¸²à¸ { $windowNumber }
+
+restore-page-restore-header =
+ .label = à¹à¸£à¸µà¸¢à¸à¸à¸·à¸
+
+restore-page-list-header =
+ .label = หà¸à¹à¸²à¸à¹à¸²à¸à¹à¸¥à¸°à¹à¸à¹à¸
+
+restore-page-try-again-button =
+ .label = à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¸§à¸²à¸£à¸°
+ .accesskey = ร
+
+restore-page-close-button =
+ .label = à¹à¸£à¸´à¹à¸¡à¸§à¸²à¸£à¸°à¹à¸«à¸¡à¹
+ .accesskey = ม
+
+## The following strings are used in about:welcomeback
+
+welcome-back-tab-title = สำà¹à¸£à¹à¸!
+welcome-back-page-title = สำà¹à¸£à¹à¸!
+welcome-back-page-info = { -brand-short-name } à¸à¸£à¹à¸à¸¡à¸à¸µà¹à¸à¸°à¹à¸£à¸´à¹à¸¡
+
+welcome-back-restore-button =
+ .label = à¹à¸à¸à¸±à¸à¹à¸¥à¸¢!
+ .accesskey = à¸
+
+welcome-back-restore-all-label = à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸¥à¸°à¹à¸à¹à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+welcome-back-restore-some-label = à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¹à¸à¸à¸²à¸°à¸à¸µà¹à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£
+
+welcome-back-page-info-link = สà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¹à¸¥à¸°à¸à¸²à¸£à¸à¸£à¸±à¸à¹à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¸à¸¹à¸à¹à¸à¸²à¸à¸à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¸à¸¹à¸à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¹à¸à¹à¸à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸ หาà¸à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¸à¸±à¸à¸«à¸²à¸à¸à¸à¸à¸¸à¸ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹
+
diff --git a/browser/browser/aboutTabCrashed.ftl b/browser/browser/aboutTabCrashed.ftl
new file mode 100644
index 00000000000..97f35687e0a
--- /dev/null
+++ b/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 = à¸à¸±à¸§à¸£à¸²à¸¢à¸à¸²à¸à¸à¹à¸à¸à¸±à¸à¸à¹à¸à¸à¹à¸à¹à¸
+crashed-close-tab-button = à¸à¸´à¸à¹à¸à¹à¸
+crashed-restore-tab-button = à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¹à¸à¹à¸à¸à¸µà¹
+crashed-restore-all-button = à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸±à¸à¸à¹à¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+crashed-header = à¸à¹à¸²à¸ à¹à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸´à¹à¸à¸à¸±à¸à¸à¹à¸à¸
+crashed-offer-help = à¹à¸£à¸²à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¹à¸§à¸¢à¹à¸à¹!
+crashed-single-offer-help-message = à¹à¸¥à¸·à¸à¸ { crashed-restore-tab-button } à¹à¸à¸·à¹à¸à¹à¸«à¸¥à¸à¸«à¸à¹à¸²à¹à¸«à¸¡à¹
+crashed-multiple-offer-help-message = à¹à¸¥à¸·à¸à¸ { crashed-restore-tab-button } หรืภ{ crashed-restore-all-button } à¹à¸à¸·à¹à¸à¹à¸«à¸¥à¸à¸«à¸à¹à¸²à¹à¸«à¸¡à¹
+crashed-request-help = à¸à¸¸à¸à¸à¸°à¸à¹à¸§à¸¢à¹à¸£à¸²à¹à¸à¹à¸«à¸£à¸·à¸à¹à¸¡à¹?
+crashed-request-help-message = รายà¸à¸²à¸à¸à¹à¸à¸à¸±à¸à¸à¹à¸à¸à¸à¹à¸§à¸¢à¹à¸£à¸²à¸§à¸´à¸à¸´à¸à¸à¸±à¸¢à¸à¸±à¸à¸«à¸²à¹à¸¥à¸°à¸à¸³ { -brand-short-name } à¹à¸«à¹à¸à¸µà¸à¸¶à¹à¸
+crashed-request-report-title = รายà¸à¸²à¸à¹à¸à¹à¸à¸à¸µà¹
+crashed-send-report-2 = สà¹à¸à¸£à¸²à¸¢à¸à¸²à¸à¸à¹à¸à¸à¸±à¸à¸à¹à¸à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¹à¸à¸·à¹à¸à¹à¸«à¹à¹à¸£à¸²à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¹à¸à¸à¸±à¸à¸«à¸²à¹à¸à¹à¸à¸à¸µà¹à¹à¸à¹
+crashed-comment =
+ .placeholder = à¸à¸§à¸²à¸¡à¸à¸´à¸à¹à¸«à¹à¸à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡ (à¸à¸§à¸²à¸¡à¸à¸´à¸à¹à¸«à¹à¸à¸à¸°à¸à¸£à¸²à¸à¸à¸à¹à¸à¸ªà¸²à¸à¸²à¸£à¸à¸°)
+crashed-include-URL-2 = รวม URL à¸à¸à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡à¹à¸¡à¸·à¹à¸ { -brand-short-name } à¸à¸±à¸à¸à¹à¸à¸
+crashed-report-sent = สà¹à¸à¸£à¸²à¸¢à¸à¸²à¸à¸à¹à¸à¸à¸±à¸à¸à¹à¸à¸à¹à¸¥à¹à¸§; à¸à¸à¸à¸à¸¸à¸à¸à¸µà¹à¸à¹à¸§à¸¢à¸à¸³ { -brand-short-name } à¹à¸«à¹à¸à¸µà¸à¸¶à¹à¸!
+crashed-request-auto-submit-title = รายà¸à¸²à¸à¹à¸à¹à¸à¹à¸à¸·à¹à¸à¸à¸«à¸¥à¸±à¸
+crashed-auto-submit-checkbox-2 = à¸à¸±à¸à¹à¸à¸à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¹à¸à¸·à¹à¸à¹à¸«à¹à¸ªà¹à¸à¸£à¸²à¸¢à¸à¸²à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¹à¸¡à¸·à¹à¸ { -brand-short-name } à¸à¸±à¸à¸à¹à¸à¸
diff --git a/browser/browser/aboutUnloads.ftl b/browser/browser/aboutUnloads.ftl
new file mode 100644
index 00000000000..95cd47a9dc5
--- /dev/null
+++ b/browser/browser/aboutUnloads.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/.
+
+
+### Strings used in about:unloads, allowing users to manage the "tab unloading"
+### feature.
+
+about-unloads-page-title = à¸à¸²à¸£à¹à¸¥à¸´à¸à¹à¸«à¸¥à¸à¹à¸à¹à¸
+about-unloads-intro-1 =
+ { -brand-short-name } มีà¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸¥à¸´à¸à¹à¸«à¸¥à¸à¹à¸à¹à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+ à¹à¸à¸·à¹à¸à¹à¸¡à¹à¹à¸«à¹à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸±à¸à¸à¹à¸à¸à¹à¸¡à¸·à¹à¸à¸«à¸à¹à¸§à¸¢à¸à¸§à¸²à¸¡à¸à¸³à¸à¸µà¹à¸à¸£à¹à¸à¸¡à¹à¸à¹à¸à¸²à¸à¸à¸à¸à¸£à¸°à¸à¸à¹à¸¡à¹à¹à¸à¸µà¸¢à¸à¸à¸
+ à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸°à¹à¸¥à¸·à¸à¸à¹à¸à¹à¸à¸à¸±à¸à¹à¸à¸à¸µà¹à¸à¸°à¹à¸¥à¸´à¸à¹à¸«à¸¥à¸à¸à¸²à¸¡à¹à¸à¸à¸à¸£à¸´à¸à¸´à¸§à¸à¹à¸«à¸¥à¸²à¸¢à¸à¸¢à¹à¸²à¸
+ หà¸à¹à¸²à¸à¸µà¹à¹à¸ªà¸à¸à¸§à¸´à¸à¸µà¸à¸µà¹ { -brand-short-name } à¸à¸±à¸à¸¥à¸³à¸à¸±à¸à¸à¸§à¸²à¸¡à¸ªà¸³à¸à¸±à¸à¸à¸à¸à¹à¸à¹à¸à¸à¹à¸²à¸ à¹
+ à¹à¸¥à¸°à¹à¸à¹à¸à¸à¸µà¹à¸à¸°à¹à¸¥à¸´à¸à¹à¸«à¸¥à¸à¹à¸¡à¸·à¹à¸à¸¡à¸µà¸à¸²à¸£à¸à¸£à¸´à¸à¹à¸à¸à¸£à¹à¸à¸²à¸£à¹à¸¥à¸´à¸à¹à¸«à¸¥à¸à¹à¸à¹à¸
+about-unloads-intro-2 =
+ à¹à¸à¹à¸à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹à¸à¸°à¸à¸¹à¸à¹à¸ªà¸à¸à¹à¸à¸à¸²à¸£à¸²à¸à¸à¹à¸²à¸à¸¥à¹à¸²à¸à¸à¸²à¸¡à¸¥à¸³à¸à¸±à¸à¹à¸à¸µà¸¢à¸§à¸à¸±à¸à¸à¸µà¹ { -brand-short-name }
+ à¹à¸à¹à¹à¸à¸à¸²à¸£à¹à¸¥à¸·à¸à¸à¹à¸à¹à¸à¸à¸±à¸à¹à¸à¸à¸µà¹à¸à¸°à¹à¸¥à¸´à¸à¹à¸«à¸¥à¸ ID à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¸à¸°à¸à¸¹à¸à¹à¸ªà¸à¸à¹à¸à¹à¸à¸à¸±à¸§à¸«à¸à¸²
+ à¹à¸¡à¸·à¹à¸à¸à¸³à¸¥à¸±à¸à¹à¸®à¸ªà¸à¹à¹à¸à¸£à¸¡à¸à¹à¸²à¸à¸à¸à¸à¸à¸à¹à¸à¹à¸ à¹à¸¥à¸°à¹à¸à¹à¸à¸à¸±à¸§à¹à¸à¸à¹à¸¡à¸·à¹à¸à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£
+ à¸à¸¹à¸à¹à¸à¸£à¹à¸£à¸°à¸«à¸§à¹à¸²à¸à¸«à¸¥à¸²à¸¢à¹à¸à¹à¸ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸£à¸´à¸à¹à¸à¸à¸£à¹à¸à¸²à¸£à¹à¸¥à¸´à¸à¹à¸«à¸¥à¸à¹à¸à¹à¸à¹à¸à¹à¸à¹à¸§à¸¢à¸à¸à¹à¸à¸à¹à¸à¸¢à¸à¸¥à¸´à¸
+ à¸à¸¸à¹à¸¡ à¹à¸¥à¸´à¸à¹à¸«à¸¥à¸ à¸à¹à¸²à¸à¸¥à¹à¸²à¸
+about-unloads-intro =
+ { -brand-short-name } มีà¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸¥à¸´à¸à¹à¸«à¸¥à¸à¹à¸à¹à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+ à¹à¸à¸·à¹à¸à¹à¸¡à¹à¹à¸«à¹à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸±à¸à¸à¹à¸à¸à¹à¸¡à¸·à¹à¸à¸«à¸à¹à¸§à¸¢à¸à¸§à¸²à¸¡à¸à¸³à¸à¸µà¹à¸à¸£à¹à¸à¸¡à¹à¸à¹à¸à¸²à¸à¸à¸à¸à¸£à¸°à¸à¸à¹à¸¡à¹à¹à¸à¸µà¸¢à¸à¸à¸
+ à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸°à¹à¸¥à¸·à¸à¸à¹à¸à¹à¸à¸à¸±à¸à¹à¸à¸à¸µà¹à¸à¸°à¹à¸¥à¸´à¸à¹à¸«à¸¥à¸à¸à¸²à¸¡à¹à¸à¸à¸à¸£à¸´à¸à¸´à¸§à¸à¹à¸«à¸¥à¸²à¸¢à¸à¸¢à¹à¸²à¸
+ หà¸à¹à¸²à¸à¸µà¹à¹à¸ªà¸à¸à¸§à¸´à¸à¸µà¸à¸µà¹ { -brand-short-name } à¸à¸±à¸à¸¥à¸³à¸à¸±à¸à¸à¸§à¸²à¸¡à¸ªà¸³à¸à¸±à¸à¸à¸à¸à¹à¸à¹à¸à¸à¹à¸²à¸ à¹
+ à¹à¸¥à¸°à¹à¸à¹à¸à¸à¸µà¹à¸à¸°à¹à¸¥à¸´à¸à¹à¸«à¸¥à¸à¹à¸¡à¸·à¹à¸à¸¡à¸µà¸à¸²à¸£à¸à¸£à¸´à¸à¹à¸à¸à¸£à¹à¸à¸²à¸£à¹à¸¥à¸´à¸à¹à¸«à¸¥à¸à¹à¸à¹à¸ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸£à¸´à¸à¹à¸à¸à¸£à¹
+ à¸à¸²à¸£à¹à¸¥à¸´à¸à¹à¸«à¸¥à¸à¹à¸à¹à¸à¹à¸à¹à¸à¹à¸§à¸¢à¸à¸à¹à¸à¸à¹à¸à¸¢à¸à¸¥à¸´à¸à¸à¸¸à¹à¸¡ à¹à¸¥à¸´à¸à¹à¸«à¸¥à¸ à¸à¹à¸²à¸à¸¥à¹à¸²à¸
+# The link points to a Firefox documentation page, only available in English,
+# with title "Tab Unloading"
+about-unloads-learn-more =
+ à¸à¸¹à¸à¸µà¹ Tab Unloading à¹à¸à¸·à¹à¸à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+ à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¸µà¹
+about-unloads-last-updated = วัà¸à¸à¸µà¹à¸à¸±à¸à¹à¸à¸à¸¥à¹à¸²à¸ªà¸¸à¸: { DATETIME($date, year: "numeric", month: "numeric", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric", hour12: "false") }
+about-unloads-button-unload = à¹à¸¥à¸´à¸à¹à¸«à¸¥à¸
+ .title = à¹à¸¥à¸´à¸à¹à¸«à¸¥à¸à¹à¸à¹à¸à¸à¸µà¹à¸¡à¸µà¸¥à¸³à¸à¸±à¸à¸à¸§à¸²à¸¡à¸ªà¸³à¸à¸±à¸à¸ªà¸¹à¸à¸à¸µà¹à¸ªà¸¸à¸
+about-unloads-no-unloadable-tab = à¹à¸¡à¹à¸¡à¸µà¹à¸à¹à¸à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸¥à¸´à¸à¹à¸«à¸¥à¸à¹à¸à¹
+about-unloads-column-priority = à¸à¸§à¸²à¸¡à¸ªà¸³à¸à¸±à¸
+about-unloads-column-host = à¹à¸®à¸ªà¸à¹
+about-unloads-column-last-accessed = à¹à¸à¹à¸²à¸à¸¶à¸à¸¥à¹à¸²à¸ªà¸¸à¸
+about-unloads-column-weight = à¸à¹à¸³à¸«à¸à¸±à¸à¸à¸²à¸
+ .title = à¹à¸à¹à¸à¸à¸°à¸à¸¹à¸à¹à¸£à¸µà¸¢à¸à¸¥à¸³à¸à¸±à¸à¸à¸²à¸¡à¸à¹à¸²à¸à¸µà¹à¸à¹à¸à¸ à¸à¸¶à¹à¸à¸¡à¸²à¸à¸²à¸à¹à¸à¸à¸à¸£à¸´à¸à¸´à¸§à¸à¹à¸à¸´à¹à¸¨à¸©à¸à¸²à¸à¸à¸¢à¹à¸²à¸ à¹à¸à¹à¸ à¸à¸²à¸£à¹à¸¥à¹à¸à¹à¸ªà¸µà¸¢à¸, WebRTC, à¹à¸¥à¸°à¸à¸·à¹à¸ à¹
+about-unloads-column-sortweight = à¸à¹à¸³à¸«à¸à¸±à¸à¸£à¸à¸
+ .title = หาà¸à¸à¸£à¹à¸à¸¡à¹à¸à¹à¸à¸²à¸ à¹à¸à¹à¸à¸à¸°à¸à¸¹à¸à¹à¸£à¸µà¸¢à¸à¸¥à¸³à¸à¸±à¸à¸à¸²à¸¡à¸à¹à¸²à¸à¸µà¹à¸«à¸¥à¸±à¸à¸à¸²à¸à¸à¸µà¹à¹à¸£à¸µà¸¢à¸à¸¥à¸³à¸à¸±à¸à¸à¸²à¸¡à¸à¹à¸³à¸«à¸à¸±à¸à¸à¸²à¸à¹à¸¥à¹à¸§ à¸à¹à¸²à¸à¸µà¹à¸¡à¸²à¸à¸²à¸à¸à¸²à¸£à¹à¸à¹à¸«à¸à¹à¸§à¸¢à¸à¸§à¸²à¸¡à¸à¸³à¸à¸à¸à¹à¸à¹à¸à¹à¸¥à¸°à¸à¸³à¸à¸§à¸à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£
+about-unloads-column-memory = หà¸à¹à¸§à¸¢à¸à¸§à¸²à¸¡à¸à¸³
+ .title = à¸à¸²à¸£à¹à¸à¹à¸«à¸à¹à¸§à¸¢à¸à¸§à¸²à¸¡à¸à¸³à¹à¸à¸¢à¸à¸£à¸°à¸¡à¸²à¸à¸à¸à¸à¹à¸à¹à¸
+about-unloads-column-processes = ID à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£
+ .title = ID à¸à¸à¸à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¸à¸µà¹à¹à¸®à¸ªà¸à¹à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸à¸à¹à¸à¹à¸
+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/browser/browser/accounts.ftl b/browser/browser/accounts.ftl
new file mode 100644
index 00000000000..e1e95aec3f8
--- /dev/null
+++ b/browser/browser/accounts.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/.
+
+# Used as the FxA toolbar menu item value when user has not
+# finished setting up an account.
+account-finish-account-setup = à¹à¸ªà¸£à¹à¸à¸ªà¸´à¹à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸±à¸à¸à¸µ
+
+# Used as the FxA toolbar menu item title when the user
+# needs to reconnect their account.
+account-disconnected2 = à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¸à¸à¸µà¹à¸¥à¹à¸§
+
+# Menu item that sends a tab to all synced devices.
+account-send-to-all-devices = สà¹à¸à¹à¸à¸¢à¸±à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸
+
+# Menu item that links to the Firefox Accounts settings for connected devices.
+account-manage-devices = à¸à¸±à¸à¸à¸²à¸£à¸à¸¸à¸à¸à¸£à¸à¹â¦
diff --git a/browser/browser/allTabsMenu.ftl b/browser/browser/allTabsMenu.ftl
new file mode 100644
index 00000000000..7095d7c3a59
--- /dev/null
+++ b/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 = à¸à¹à¸à¸«à¸²à¹à¸à¹à¸
+
+all-tabs-menu-new-user-context =
+ .label = à¹à¸à¹à¸à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸«à¸¡à¹
+
+all-tabs-menu-hidden-tabs =
+ .label = à¹à¸à¹à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¸¢à¸¹à¹
+
+all-tabs-menu-manage-user-context =
+ .label = à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸£à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥
+ .accesskey = à¸
diff --git a/browser/browser/appExtensionFields.ftl b/browser/browser/appExtensionFields.ftl
new file mode 100644
index 00000000000..0a3ea385747
--- /dev/null
+++ b/browser/browser/appExtensionFields.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/.
+
+
+## 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 = à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¸à¸à¸à¸£à¸°à¸à¸ â à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+extension-default-theme-description = à¹à¸à¹à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¹à¸¡ à¹à¸¡à¸à¸¹ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸ à¸à¸²à¸¡à¸£à¸°à¸à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£
+extension-firefox-compact-light-name = สวà¹à¸²à¸
+extension-firefox-compact-light-description = à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¸¡à¸µà¹à¸à¸à¹à¸à¸à¸à¸¸à¸à¸ªà¸µà¸ªà¸§à¹à¸²à¸
+extension-firefox-compact-dark-name = มืà¸
+extension-firefox-compact-dark-description = à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¸¡à¸µà¹à¸à¸à¹à¸à¸à¸à¸¸à¸à¸ªà¸µà¸¡à¸·à¸
+extension-firefox-alpenglow-name = Firefox Alpenglow
+extension-firefox-alpenglow-description = à¹à¸à¹à¸¥à¸±à¸à¸©à¸à¸°à¸à¸µà¹à¸à¸£à¸²à¸à¸à¹à¸à¸à¸ªà¸µà¸ªà¸±à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¹à¸¡ à¹à¸¡à¸à¸¹ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸
+
+## 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 } â Soft
+extension-colorways-balanced-name = { $colorway-name } â Balanced
+# "Bold" is used in the sense of bravery or courage, not in the sense of
+# emphasized text.
+extension-colorways-bold-name = { $colorway-name } â Bold
diff --git a/browser/browser/appMenuNotifications.ftl b/browser/browser/appMenuNotifications.ftl
new file mode 100644
index 00000000000..f615abfee1f
--- /dev/null
+++ b/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 = มีà¸à¸²à¸£à¸à¸±à¸à¹à¸à¸
+ .buttonlabel = à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+ .buttonaccesskey = D
+ .secondarybuttonlabel = à¸à¸´à¸
+ .secondarybuttonaccesskey = m
+appmenu-update-available-message2 = à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸£à¸¸à¹à¸à¸¥à¹à¸²à¸ªà¸¸à¸à¸à¸à¸ { -brand-shorter-name }
+appmenu-update-manual2 =
+ .label = มีà¸à¸²à¸£à¸à¸±à¸à¹à¸à¸
+ .buttonlabel = à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+ .buttonaccesskey = D
+ .secondarybuttonlabel = à¸à¸´à¸
+ .secondarybuttonaccesskey = m
+appmenu-update-manual-message2 = { -brand-shorter-name } à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸±à¸à¹à¸à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´ à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸£à¸¸à¹à¸à¹à¸«à¸¡à¹ â à¸à¸¸à¸à¸à¸°à¹à¸¡à¹à¸ªà¸¹à¸à¹à¸ªà¸µà¸¢à¸à¹à¸à¸¡à¸¹à¸¥à¸«à¸£à¸·à¸à¸à¸²à¸£à¸à¸£à¸±à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹
+appmenu-update-unsupported2 =
+ .label = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸±à¸à¹à¸à¸
+ .buttonlabel = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+ .buttonaccesskey = L
+ .secondarybuttonlabel = à¸à¸´à¸
+ .secondarybuttonaccesskey = m
+appmenu-update-unsupported-message2 = ระà¸à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£à¸à¸à¸à¸à¸¸à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¸²à¸à¸£à¹à¸§à¸¡à¸à¸±à¸ { -brand-shorter-name } รุà¹à¸à¸¥à¹à¸²à¸ªà¸¸à¸à¹à¸à¹
+appmenu-update-restart2 =
+ .label = มีà¸à¸²à¸£à¸à¸±à¸à¹à¸à¸
+ .buttonlabel = à¸à¸±à¸à¹à¸à¸à¹à¸¥à¸°à¹à¸£à¸´à¹à¸¡à¹à¸«à¸¡à¹
+ .buttonaccesskey = U
+ .secondarybuttonlabel = à¸à¸´à¸
+ .secondarybuttonaccesskey = m
+appmenu-update-restart-message2 = รัà¸à¸£à¸¸à¹à¸à¸¥à¹à¸²à¸ªà¸¸à¸à¸à¸à¸ { -brand-shorter-name } à¹à¸à¹à¸à¸à¸µà¹à¹à¸à¸´à¸à¸à¸¢à¸¹à¹à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¸°à¸à¸¹à¸à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¸¡à¸²
+appmenu-update-other-instance =
+ .label = { -brand-shorter-name } à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸±à¸à¹à¸à¸à¹à¸à¹à¸à¸£à¸¸à¹à¸à¸¥à¹à¸²à¸ªà¸¸à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¹à¸à¹
+ .buttonlabel = à¸à¸±à¸à¹à¸à¸ { -brand-shorter-name } à¸à¹à¸à¹à¸
+ .buttonaccesskey = à¸
+ .secondarybuttonlabel = à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸à¸µà¹
+ .secondarybuttonaccesskey = ม
+appmenu-update-other-instance-message = มีà¸à¸²à¸£à¸à¸±à¸à¹à¸à¸ { -brand-shorter-name } à¹à¸«à¸¡à¹ à¹à¸à¹à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸à¹à¸à¹à¹à¸à¸·à¹à¸à¸à¸à¸²à¸ { -brand-shorter-name } à¹à¸à¸£à¹à¸à¸£à¸¡à¸à¸·à¹à¸à¸à¸³à¸¥à¸±à¸à¸à¸³à¸à¸²à¸à¸à¸¢à¸¹à¹ à¹à¸«à¹à¸à¸´à¸à¹à¸à¸£à¹à¸à¸£à¸¡à¹à¸à¸·à¹à¸à¸à¸±à¸à¹à¸à¸à¸à¹à¸ หรืà¸à¹à¸¥à¸·à¸à¸à¸à¸±à¸à¹à¸à¸à¸à¹à¸à¹à¸à¸¢à¹à¸¡à¹à¸à¸´à¸à¹à¸à¸£à¹à¸à¸£à¸¡à¸à¹à¹à¸à¹ (à¹à¸à¸£à¹à¸à¸£à¸¡à¸à¸·à¹à¸à¸à¸²à¸à¹à¸¡à¹à¸à¸³à¸à¸²à¸à¸à¸¢à¹à¸²à¸à¸à¸¹à¸à¸à¹à¸à¸à¸à¸à¸à¸§à¹à¸²à¸à¸¸à¸à¸à¸°à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸«à¸¡à¹)
+
+appmenu-addon-private-browsing-installed2 =
+ .buttonlabel = à¸à¸à¸¥à¸
+ .buttonaccesskey = O
+appmenu-addon-post-install-message3 = à¸à¸±à¸à¸à¸²à¸£à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¹à¸¥à¸°à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¸à¹à¸²à¸à¹à¸¡à¸à¸¹à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸
+appmenu-addon-post-install-incognito-checkbox =
+ .label = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸µà¹à¸à¸³à¸à¸²à¸à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+ .accesskey = à¸
+
+appmenu-new-tab-controlled-changes =
+ .label = à¹à¸à¹à¸à¹à¸«à¸¡à¹à¸à¸à¸à¸à¸¸à¸à¸¡à¸µà¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸
+ .buttonlabel = à¹à¸à¹à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸
+ .buttonaccesskey = à¸
+ .secondarybuttonlabel = à¸à¸±à¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸«à¸¡à¹
+ .secondarybuttonaccesskey = à¸
+appmenu-homepage-controlled-changes =
+ .label = หà¸à¹à¸²à¹à¸£à¸à¸à¸à¸à¸à¸¸à¸à¸¡à¸µà¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸
+ .buttonlabel = à¹à¸à¹à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸
+ .buttonaccesskey = à¸
+ .secondarybuttonlabel = à¸à¸±à¸à¸à¸²à¸£à¸«à¸à¹à¸²à¹à¸£à¸
+ .secondarybuttonaccesskey = à¸
+appmenu-tab-hide-controlled =
+ .label = à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¸¢à¸¹à¹à¸à¸à¸à¸à¸¸à¸
+ .buttonlabel = à¸à¹à¸à¸à¹à¸à¹à¸à¸à¹à¸à¹à¸
+ .buttonaccesskey = à¸
+ .secondarybuttonlabel = à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢
+ .secondarybuttonaccesskey = à¸
diff --git a/browser/browser/appmenu.ftl b/browser/browser/appmenu.ftl
new file mode 100644
index 00000000000..41a122205e1
--- /dev/null
+++ b/browser/browser/appmenu.ftl
@@ -0,0 +1,266 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-update-banner3 =
+ .label-update-downloading = à¸à¸³à¸¥à¸±à¸à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸ { -brand-shorter-name }
+ .label-update-available = มีà¸à¸²à¸£à¸à¸±à¸à¹à¸à¸ â à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸à¸±à¸à¸à¸µ
+ .label-update-manual = มีà¸à¸²à¸£à¸à¸±à¸à¹à¸à¸ â à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸à¸±à¸à¸à¸µ
+ .label-update-unsupported = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸±à¸à¹à¸à¸ â à¹à¸à¹à¸²à¸à¸±à¸à¸à¸±à¸à¸£à¸°à¸à¸à¹à¸¡à¹à¹à¸à¹
+ .label-update-restart = มีà¸à¸²à¸£à¸à¸±à¸à¹à¸à¸ â à¹à¸£à¸´à¹à¸¡à¹à¸«à¸¡à¹à¸à¸±à¸à¸à¸µ
+appmenuitem-protection-dashboard-title = à¹à¸à¸à¸à¸à¸£à¹à¸à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸
+appmenuitem-banner-update-downloading =
+ .label = à¸à¸³à¸¥à¸±à¸à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸ { -brand-shorter-name }
+appmenuitem-banner-update-available =
+ .label = มีà¸à¸²à¸£à¸à¸±à¸à¹à¸à¸ â à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸à¸±à¸à¸à¸µ
+appmenuitem-banner-update-manual =
+ .label = มีà¸à¸²à¸£à¸à¸±à¸à¹à¸à¸ â à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸à¸±à¸à¸à¸µ
+appmenuitem-banner-update-unsupported =
+ .label = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸±à¸à¹à¸à¸ â à¹à¸à¹à¸²à¸à¸±à¸à¸à¸±à¸à¸£à¸°à¸à¸à¹à¸¡à¹à¹à¸à¹
+appmenuitem-banner-update-restart =
+ .label = มีà¸à¸²à¸£à¸à¸±à¸à¹à¸à¸ â à¹à¸£à¸´à¹à¸¡à¹à¸«à¸¡à¹à¸à¸±à¸à¸à¸µ
+appmenuitem-new-tab =
+ .label = à¹à¸à¹à¸à¹à¸«à¸¡à¹
+appmenuitem-new-window =
+ .label = หà¸à¹à¸²à¸à¹à¸²à¸à¹à¸«à¸¡à¹
+appmenuitem-new-private-window =
+ .label = หà¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸«à¸¡à¹
+appmenuitem-history =
+ .label = à¸à¸£à¸°à¸§à¸±à¸à¸´
+appmenuitem-downloads =
+ .label = à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+appmenuitem-passwords =
+ .label = รหัสà¸à¹à¸²à¸
+appmenuitem-addons-and-themes =
+ .label = สà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¹à¸¥à¸°à¸à¸¸à¸à¸à¸à¹à¸à¹à¸
+appmenuitem-print =
+ .label = à¸à¸´à¸¡à¸à¹â¦
+appmenuitem-find-in-page =
+ .label = à¸à¹à¸à¸«à¸²à¹à¸à¸«à¸à¹à¸²â¦
+appmenuitem-zoom =
+ .value = à¸à¸¹à¸¡
+appmenuitem-more-tools =
+ .label = à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+appmenuitem-help =
+ .label = à¸à¹à¸§à¸¢à¹à¸«à¸¥à¸·à¸
+appmenuitem-exit2 =
+ .label =
+ { PLATFORM() ->
+ [linux] à¸à¸à¸
+ *[other] à¸à¸à¸
+ }
+appmenu-menu-button-closed2 =
+ .tooltiptext = à¹à¸à¸´à¸à¹à¸¡à¸à¸¹à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸
+ .label = { -brand-short-name }
+appmenu-menu-button-opened2 =
+ .tooltiptext = à¸à¸´à¸à¹à¸¡à¸à¸¹à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸
+ .label = { -brand-short-name }
+# Settings is now used to access the browser settings across all platforms,
+# instead of Options or Preferences.
+appmenuitem-settings =
+ .label = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²
+
+## Zoom and Fullscreen Controls
+
+appmenuitem-zoom-enlarge =
+ .label = à¸à¸¢à¸²à¸¢à¹à¸à¹à¸²
+appmenuitem-zoom-reduce =
+ .label = à¸à¸¢à¸²à¸¢à¸à¸à¸
+appmenuitem-fullscreen =
+ .label = à¹à¸à¹à¸¡à¸«à¸à¹à¸²à¸à¸
+
+## Firefox Account toolbar button and Sync panel in App menu.
+
+appmenu-remote-tabs-sign-into-sync =
+ .label = ลà¸à¸à¸·à¹à¸à¹à¸à¹à¸² Syncâ¦
+appmenu-remote-tabs-turn-on-sync =
+ .label = à¹à¸à¸´à¸ Syncâ¦
+# This is shown after the tabs list if we can display more tabs by clicking on the button
+appmenu-remote-tabs-showmore =
+ .label = à¹à¸ªà¸à¸à¹à¸à¹à¸à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+ .tooltiptext = à¹à¸ªà¸à¸à¹à¸à¹à¸à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¸à¸²à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸µà¹
+# This is shown beneath the name of a device when that device has no open tabs
+appmenu-remote-tabs-notabs = à¹à¸¡à¹à¸¡à¸µà¹à¸à¹à¸à¸à¸µà¹à¹à¸à¸´à¸à¸à¸¢à¸¹à¹
+# This is shown when Sync is configured but syncing tabs is disabled.
+appmenu-remote-tabs-tabsnotsyncing = à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸´à¸à¸à¹à¹à¸à¹à¸à¹à¸à¸·à¹à¸à¸à¸¹à¸£à¸²à¸¢à¸à¸²à¸£à¹à¸à¹à¸à¸à¸²à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸·à¹à¸ ๠à¸à¸à¸à¸à¸¸à¸
+appmenu-remote-tabs-opensettings =
+ .label = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²
+# 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 = à¸à¹à¸à¸à¸à¸²à¸£à¹à¸«à¹à¸à¹à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¸à¸²à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸·à¹à¸ ๠à¸à¸µà¹à¸à¸µà¹?
+appmenu-remote-tabs-connectdevice =
+ .label = à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸·à¹à¸
+appmenu-remote-tabs-welcome = à¸à¸¹à¸£à¸²à¸¢à¸à¸²à¸£à¹à¸à¹à¸à¸à¸²à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸·à¹à¸ ๠à¸à¸à¸à¸à¸¸à¸
+appmenu-remote-tabs-unverified = à¸à¸±à¸à¸à¸µà¸à¸à¸à¸à¸¸à¸à¸à¸³à¹à¸à¹à¸à¸à¹à¸à¸à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸¢à¸·à¸à¸¢à¸±à¸
+appmenuitem-fxa-toolbar-sync-now2 = à¸à¸´à¸à¸à¹à¸à¸à¸à¸à¸µà¹
+appmenuitem-fxa-sign-in = ลà¸à¸à¸·à¹à¸à¹à¸à¹à¸² { -brand-product-name }
+appmenuitem-fxa-manage-account = à¸à¸±à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸µ
+appmenu-fxa-header2 = { -fxaccount-brand-name }
+# Variables
+# $time (string) - Localized relative time since last sync (e.g. 1 second ago,
+# 3 hours ago, etc.)
+appmenu-fxa-last-sync = à¸à¸´à¸à¸à¹à¸¥à¹à¸²à¸ªà¸¸à¸à¹à¸¡à¸·à¹à¸ { $time }
+ .label = à¸à¸´à¸à¸à¹à¸¥à¹à¸²à¸ªà¸¸à¸à¹à¸¡à¸·à¹à¸ { $time }
+appmenu-fxa-sync-and-save-data2 = à¸à¸´à¸à¸à¹à¹à¸¥à¸°à¸à¸±à¸à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥
+appmenu-fxa-signed-in-label = ลà¸à¸à¸·à¹à¸à¹à¸à¹à¸²
+appmenu-fxa-setup-sync =
+ .label = à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸´à¸à¸à¹â¦
+appmenu-fxa-show-more-tabs = à¹à¸ªà¸à¸à¹à¸à¹à¸à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+appmenuitem-save-page =
+ .label = à¸à¸±à¸à¸à¸¶à¸à¸«à¸à¹à¸²à¹à¸à¹à¸â¦
+
+## What's New panel in App menu.
+
+whatsnew-panel-header = มีà¸à¸°à¹à¸£à¹à¸«à¸¡à¹
+# 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 = à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¹à¸«à¸¡à¹
+ .accesskey = à¸
+
+## 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 = à¸à¸±à¸§à¸ªà¸£à¹à¸²à¸à¹à¸à¸£à¹à¸à¸¥à¹
+ .tooltiptext = à¸à¸±à¸à¸à¸¶à¸à¹à¸à¸£à¹à¸à¸¥à¹à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸
+profiler-popup-button-recording =
+ .label = à¸à¸±à¸§à¸ªà¸£à¹à¸²à¸à¹à¸à¸£à¹à¸à¸¥à¹
+ .tooltiptext = à¸à¸±à¸§à¸ªà¸£à¹à¸²à¸à¹à¸à¸£à¹à¸à¸¥à¹à¸à¸³à¸¥à¸±à¸à¸à¸±à¸à¸à¸±à¸à¸à¸¶à¸à¹à¸à¸£à¹à¸à¸¥à¹
+profiler-popup-button-capturing =
+ .label = à¸à¸±à¸§à¸ªà¸£à¹à¸²à¸à¹à¸à¸£à¹à¸à¸¥à¹
+ .tooltiptext = à¸à¸±à¸§à¸ªà¸£à¹à¸²à¸à¹à¸à¸£à¹à¸à¸¥à¹à¸à¸³à¸¥à¸±à¸à¸à¸±à¸à¹à¸à¸£à¹à¸à¸¥à¹
+profiler-popup-title =
+ .value = { -profiler-brand-name }
+profiler-popup-reveal-description-button =
+ .aria-label = à¹à¸ªà¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+profiler-popup-description-title =
+ .value = à¸à¸±à¸à¸à¸¶à¸ วิà¹à¸à¸£à¸²à¸°à¸«à¹ à¹à¸à¹à¸à¸à¸±à¸
+profiler-popup-description = à¸à¸³à¸à¸²à¸à¸£à¹à¸§à¸¡à¸à¸±à¸à¹à¸à¸à¸±à¸à¸«à¸²à¸à¹à¸²à¸à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¹à¸à¸¢à¸à¸²à¸£à¹à¸à¸¢à¹à¸à¸£à¹à¹à¸à¸£à¹à¸à¸¥à¹à¹à¸à¸·à¹à¸à¹à¸à¹à¸à¸à¸±à¸à¸à¸±à¸à¸à¸µà¸¡à¸à¸à¸à¸à¸¸à¸
+profiler-popup-learn-more = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+profiler-popup-learn-more-button =
+ .label = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+profiler-popup-settings =
+ .value = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²
+# This link takes the user to about:profiling, and is only visible with the Custom preset.
+profiler-popup-edit-settings = à¹à¸à¹à¹à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²
+# This link takes the user to about:profiling, and is only visible with the Custom preset.
+profiler-popup-edit-settings-button =
+ .label = à¹à¸à¹à¹à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²
+profiler-popup-disabled = à¸à¸à¸°à¸à¸µà¹à¸à¸±à¸§à¸ªà¸£à¹à¸²à¸à¹à¸à¸£à¹à¸à¸¥à¹à¸à¸¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸ à¸à¸¶à¹à¸à¸ªà¹à¸§à¸à¹à¸«à¸à¹à¹à¸à¸´à¸à¸à¸²à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸³à¸¥à¸±à¸à¸à¸¹à¸à¹à¸à¸´à¸
+profiler-popup-recording-screen = à¸à¸³à¸¥à¸±à¸à¸à¸±à¸à¸à¸¶à¸â¦
+# The profiler presets list is generated elsewhere, but the custom preset is defined
+# here only.
+profiler-popup-presets-custom =
+ .label = à¸à¸³à¸«à¸à¸à¹à¸à¸
+profiler-popup-start-recording-button =
+ .label = à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸±à¸à¸à¸¶à¸
+profiler-popup-discard-button =
+ .label = ละà¸à¸´à¹à¸
+profiler-popup-capture-button =
+ .label = à¸à¸±à¸
+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/popup/background.jsm.js
+# Please take care that the same values are also defined in devtools' perftools.ftl.
+
+profiler-popup-presets-web-developer-description = à¸à¹à¸²à¸à¸µà¹à¸à¸±à¹à¸à¸¥à¹à¸§à¸à¸«à¸à¹à¸²à¸à¸µà¹à¹à¸à¸°à¸à¸³à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¸µà¸à¸±à¹à¸à¹à¸§à¹à¸à¹à¸à¸à¸ªà¹à¸§à¸à¹à¸«à¸à¹ à¹à¸à¸¢à¸¡à¸µà¹à¸à¹à¸§à¸à¸£à¹à¹à¸®à¸à¸à¹à¸³
+profiler-popup-presets-web-developer-label =
+ .label = à¸à¸±à¸à¸à¸±à¸à¸à¸²à¹à¸§à¹à¸
+profiler-popup-presets-firefox-platform-description = à¸à¹à¸²à¸à¸µà¹à¸à¸±à¹à¸à¸¥à¹à¸§à¸à¸«à¸à¹à¸²à¸à¸µà¹à¹à¸à¸°à¸à¸³à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¸µà¸à¸±à¹à¸à¹à¸à¸¥à¸à¸à¸à¸£à¹à¸¡ Firefox ภายà¹à¸
+profiler-popup-presets-firefox-platform-label =
+ .label = à¹à¸à¸¥à¸à¸à¸à¸£à¹à¸¡ Firefox
+profiler-popup-presets-firefox-front-end-description = à¸à¹à¸²à¸à¸µà¹à¸à¸±à¹à¸à¸¥à¹à¸§à¸à¸«à¸à¹à¸²à¸à¸µà¹à¹à¸à¸°à¸à¸³à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¸µà¸à¸±à¹à¸à¸à¸£à¸à¸à¸à¹à¹à¸à¸à¸à¹ Firefox ภายà¹à¸
+profiler-popup-presets-firefox-front-end-label =
+ .label = à¸à¸£à¸à¸à¸à¹à¹à¸à¸à¸à¹ Firefox
+profiler-popup-presets-firefox-graphics-description = à¸à¹à¸²à¸à¸µà¹à¸à¸±à¹à¸à¸¥à¹à¸§à¸à¸«à¸à¹à¸²à¸à¸µà¹à¹à¸à¸°à¸à¸³à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¹à¸²à¸à¸à¸£à¸²à¸à¸´à¸à¸à¸à¸ Firefox
+profiler-popup-presets-firefox-graphics-label =
+ .label = à¸à¸£à¸²à¸à¸´à¸ Firefox
+profiler-popup-presets-media-description = à¸à¹à¸²à¸à¸µà¹à¸à¸±à¹à¸à¸¥à¹à¸§à¸à¸«à¸à¹à¸²à¸à¸µà¹à¹à¸à¸°à¸à¸³à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸§à¸´à¸à¸´à¸à¸à¸±à¸¢à¸à¸±à¸à¸«à¸²à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¹à¸ªà¸µà¸¢à¸à¹à¸¥à¸°à¸§à¸´à¸à¸µà¹à¸
+profiler-popup-presets-media-label =
+ .label = สืà¹à¸
+profiler-popup-presets-custom-label =
+ .label = à¸à¸³à¸«à¸à¸à¹à¸à¸
+
+## History panel
+
+appmenu-manage-history =
+ .label = à¸à¸±à¸à¸à¸²à¸£à¸à¸£à¸°à¸§à¸±à¸à¸´
+appmenu-reopen-all-tabs = à¹à¸à¸´à¸à¹à¸à¹à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¹à¸«à¸¡à¹
+appmenu-reopen-all-windows = à¹à¸à¸´à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¹à¸«à¸¡à¹
+appmenu-restore-session =
+ .label = à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¸§à¸²à¸£à¸°à¸à¹à¸à¸à¸«à¸à¹à¸²
+appmenu-clear-history =
+ .label = ลà¹à¸²à¸à¸à¸£à¸°à¸§à¸±à¸à¸´à¸¥à¹à¸²à¸ªà¸¸à¸â¦
+appmenu-recent-history-subheader = à¸à¸£à¸°à¸§à¸±à¸à¸´à¸¥à¹à¸²à¸ªà¸¸à¸
+appmenu-recently-closed-tabs =
+ .label = à¹à¸à¹à¸à¸à¸µà¹à¸à¸´à¸à¸¥à¹à¸²à¸ªà¸¸à¸
+appmenu-recently-closed-windows =
+ .label = หà¸à¹à¸²à¸à¹à¸²à¸à¸à¸µà¹à¸à¸´à¸à¸¥à¹à¸²à¸ªà¸¸à¸
+
+## Help panel
+
+appmenu-help-header =
+ .title = à¸à¸§à¸²à¸¡à¸à¹à¸§à¸¢à¹à¸«à¸¥à¸·à¸à¸à¸à¸ { -brand-shorter-name }
+appmenu-about =
+ .label = à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸ { -brand-shorter-name }
+ .accesskey = à¸
+appmenu-get-help =
+ .label = รัà¸à¸à¸§à¸²à¸¡à¸à¹à¸§à¸¢à¹à¸«à¸¥à¸·à¸
+ .accesskey = à¸
+appmenu-help-more-troubleshooting-info =
+ .label = à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸£à¹à¸à¹à¹à¸à¸à¸±à¸à¸«à¸²à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+ .accesskey = à¸
+appmenu-help-report-site-issue =
+ .label = รายà¸à¸²à¸à¸à¸±à¸à¸«à¸²à¹à¸à¸à¹â¦
+appmenu-help-feedback-page =
+ .label = สà¹à¸à¸à¹à¸à¸à¸´à¸à¹à¸«à¹à¸â¦
+ .accesskey = ส
+
+## 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 = à¹à¸«à¸¡à¸à¹à¸à¹à¹à¸à¸à¸±à¸à¸«à¸²â¦
+ .accesskey = ห
+appmenu-help-exit-troubleshoot-mode =
+ .label = à¸à¸´à¸à¹à¸«à¸¡à¸à¹à¸à¹à¹à¸à¸à¸±à¸à¸«à¸²
+ .accesskey = ม
+
+## 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 = รายà¸à¸²à¸à¹à¸à¸à¹à¸«à¸¥à¸à¸à¸¥à¸§à¸â¦
+ .accesskey = ห
+appmenu-help-not-deceptive =
+ .label = à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¹à¸à¸à¹à¸«à¸¥à¸à¸à¸¥à¸§à¸â¦
+ .accesskey = ห
+
+## More Tools
+
+appmenu-customizetoolbar =
+ .label = à¸à¸£à¸±à¸à¹à¸à¹à¸à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸â¦
+appmenu-taskmanager =
+ .label = à¸à¸±à¸§à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸
+appmenu-developer-tools-subheader = à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹
+appmenu-developer-tools-extensions =
+ .label = สà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸±à¸à¸à¸±à¸à¸à¸²
diff --git a/browser/browser/branding/brandings.ftl b/browser/browser/branding/brandings.ftl
new file mode 100644
index 00000000000..a4e44940b4b
--- /dev/null
+++ b/browser/browser/branding/brandings.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/.
+
+
+## The following feature names must be treated as a brand, and kept in English.
+## They cannot be:
+## - Declined to adapt to grammatical case.
+## - Transliterated.
+## - Translated.
+
+
+## The following feature names must be treated as a brand.
+##
+## They cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Declension should be avoided where possible, leaving the original
+## brand unaltered in prominent UI positions.
+##
+## For further details, consult:
+## https://mozilla-l10n.github.io/styleguides/mozilla_general/#brands-copyright-and-trademark
+
+-facebook-container-brand-name = Facebook Container
+-lockwise-brand-name = Firefox Lockwise
+-lockwise-brand-short-name = Lockwise
+-monitor-brand-name = Firefox Monitor
+-monitor-brand-short-name = Monitor
+-pocket-brand-name = Pocket
+-send-brand-name = Firefox Send
+-screenshots-brand-name = Firefox Screenshots
+-mozilla-vpn-brand-name = Mozilla VPN
+-profiler-brand-name = Firefox Profiler
+-translations-brand-name = Firefox Translations
+
+# âSuggestâ can be localized, âFirefoxâ must be treated as a brand
+# and kept in English.
+-firefox-suggest-brand-name = Firefox Suggest
diff --git a/browser/browser/branding/sync-brand.ftl b/browser/browser/branding/sync-brand.ftl
new file mode 100644
index 00000000000..a925be49a14
--- /dev/null
+++ b/browser/browser/branding/sync-brand.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 = à¸à¸±à¸à¸à¸µ Firefox
diff --git a/browser/browser/browser.ftl b/browser/browser/browser.ftl
new file mode 100644
index 00000000000..fbdc0ac821f
--- /dev/null
+++ b/browser/browser/browser.ftl
@@ -0,0 +1,793 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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. The first two
+# attributes are used when the web content opened has no title:
+#
+# default - "Mozilla Firefox"
+# private - "Mozilla Firefox (Private Browsing)"
+#
+# The last two are for use when there *is* a content title.
+# Variables:
+# $content-title (String): the title of the web content.
+browser-main-window =
+ .data-title-default = { -brand-full-name }
+ .data-title-private = { -brand-full-name } (à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¸à¸ªà¹à¸§à¸à¸à¸±à¸§)
+ .data-content-title-default = { $content-title } - { -brand-full-name }
+ .data-content-title-private = { $content-title } - { -brand-full-name } (à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¸à¸ªà¹à¸§à¸à¸à¸±à¸§)
+# These are the default window titles on macOS. The first two are for use when
+# there is no content title:
+#
+# "default" - "Mozilla Firefox"
+# "private" - "Mozilla Firefox â (Private Browsing)"
+#
+# The last two are for use when there *is* a content title.
+# Do not use the brand name in the last two attributes, 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 =
+ .data-title-default = { -brand-full-name }
+ .data-title-private = { -brand-full-name } - (à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¸à¸ªà¹à¸§à¸à¸à¸±à¸§)
+ .data-content-title-default = { $content-title }
+ .data-content-title-private = { $content-title } - (à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¸à¸ªà¹à¸§à¸à¸à¸±à¸§)
+# 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 }
+
+##
+
+urlbar-identity-button =
+ .aria-label = à¸à¸¹à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹
+
+## Tooltips for images appearing in the address bar
+
+urlbar-services-notification-anchor =
+ .tooltiptext = à¹à¸à¸´à¸à¹à¸à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸
+urlbar-web-notification-anchor =
+ .tooltiptext = à¹à¸¥à¸·à¸à¸à¸§à¹à¸²à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸±à¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¸à¸²à¸à¹à¸à¸à¹à¹à¸à¹à¸«à¸£à¸·à¸à¹à¸¡à¹
+urlbar-midi-notification-anchor =
+ .tooltiptext = à¹à¸à¸´à¸à¹à¸à¸ MIDI
+urlbar-eme-notification-anchor =
+ .tooltiptext = à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸£à¹à¸à¹à¸à¸à¸à¸à¹à¹à¸§à¸£à¹ DRM
+urlbar-web-authn-anchor =
+ .tooltiptext = à¹à¸à¸´à¸à¹à¸à¸ âWeb Authentication
+urlbar-canvas-notification-anchor =
+ .tooltiptext = à¸à¸±à¸à¸à¸²à¸£à¸ªà¸´à¸à¸à¸´à¸à¸à¸¸à¸à¸²à¸à¸à¸²à¸£à¸ªà¹à¸à¸à¸à¸à¸à¸·à¸à¸à¹à¸²à¹à¸
+urlbar-web-rtc-share-microphone-notification-anchor =
+ .tooltiptext = à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸à¹à¸¡à¹à¸à¸£à¹à¸à¸à¸à¸à¸à¸à¸¸à¸à¸à¸±à¸à¹à¸à¸à¹
+urlbar-default-notification-anchor =
+ .tooltiptext = à¹à¸à¸´à¸à¹à¸à¸à¸à¹à¸à¸à¸§à¸²à¸¡
+urlbar-geolocation-notification-anchor =
+ .tooltiptext = à¹à¸à¸´à¸à¹à¸à¸à¸à¸³à¸à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸
+urlbar-xr-notification-anchor =
+ .tooltiptext = à¹à¸à¸´à¸à¹à¸à¸à¸ªà¸´à¸à¸à¸´à¸à¸à¸¸à¸à¸²à¸à¸à¸§à¸²à¸¡à¸à¸£à¸´à¸à¹à¸ªà¸¡à¸·à¸à¸
+urlbar-storage-access-anchor =
+ .tooltiptext = à¹à¸à¸´à¸à¹à¸à¸à¸ªà¸´à¸à¸à¸´à¸à¸à¸¸à¸à¸²à¸à¸à¸´à¸à¸à¸£à¸£à¸¡à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹
+urlbar-translate-notification-anchor =
+ .tooltiptext = à¹à¸à¸¥à¸«à¸à¹à¸²à¸à¸µà¹
+urlbar-web-rtc-share-screen-notification-anchor =
+ .tooltiptext = à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸«à¸£à¸·à¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸à¸à¸¸à¸à¸à¸±à¸à¹à¸à¸à¹
+urlbar-indexed-db-notification-anchor =
+ .tooltiptext = à¹à¸à¸´à¸à¹à¸à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¹à¸¥à¸à¹
+urlbar-password-notification-anchor =
+ .tooltiptext = à¹à¸à¸´à¸à¹à¸à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸±à¸à¸à¸¶à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸
+urlbar-translated-notification-anchor =
+ .tooltiptext = à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸£à¹à¸à¸¥à¸«à¸à¹à¸²à¸à¸µà¹
+urlbar-plugins-notification-anchor =
+ .tooltiptext = à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸£à¹à¸à¹à¸à¸¥à¸±à¹à¸à¸à¸´à¸
+urlbar-web-rtc-share-devices-notification-anchor =
+ .tooltiptext = à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸à¸à¸¥à¹à¸à¸à¹à¸¥à¸°/หรืà¸à¹à¸¡à¹à¸à¸£à¹à¸à¸à¸à¸à¸à¸à¸¸à¸à¸à¸±à¸à¹à¸à¸à¹
+# "Speakers" is used in a general sense that might include headphones or
+# another audio output connection.
+urlbar-web-rtc-share-speaker-notification-anchor =
+ .tooltiptext = à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸à¸¥à¸³à¹à¸à¸à¸à¸·à¹à¸ ๠à¸à¸±à¸à¹à¸à¸à¹
+urlbar-autoplay-notification-anchor =
+ .tooltiptext = à¹à¸à¸´à¸à¹à¸à¸à¸à¸²à¸£à¹à¸¥à¹à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+urlbar-persistent-storage-notification-anchor =
+ .tooltiptext = à¸à¸±à¸à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¸µà¹à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸§à¸£
+urlbar-addons-notification-anchor =
+ .tooltiptext = à¹à¸à¸´à¸à¹à¸à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡
+urlbar-tip-help-icon =
+ .title = รัà¸à¸à¸§à¸²à¸¡à¸à¹à¸§à¸¢à¹à¸«à¸¥à¸·à¸
+urlbar-search-tips-confirm = à¸à¸à¸¥à¸ à¹à¸à¹à¸²à¹à¸à¹à¸¥à¹à¸§
+# 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 = à¹à¸à¸¥à¹à¸à¸¥à¸±à¸:
+
+## 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 = à¸à¸´à¸¡à¸à¹à¸à¹à¸à¸¢à¸¥à¸ à¸à¹à¸à¸«à¸²à¸¡à¸²à¸à¸à¸¶à¹à¸: à¸à¹à¸à¸«à¸² { $engineName } à¹à¸à¸¢à¸à¸£à¸à¸à¸²à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸à¸à¸à¸¸à¸
+urlbar-search-tips-redirect-2 = à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹à¹à¸à¸·à¹à¸à¸à¸¹à¸à¹à¸à¹à¸ªà¸à¸à¹à¸à¸°à¸à¸²à¸ { $engineName } à¹à¸¥à¸°à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¸à¸à¸à¸à¸¸à¸
+# 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 = à¹à¸¥à¸·à¸à¸à¸à¸²à¸à¸¥à¸±à¸à¸à¸µà¹à¹à¸à¸·à¹à¸à¸à¹à¸à¸«à¸²à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¹à¹à¸£à¹à¸§à¸à¸¶à¹à¸
+
+## Local search mode indicator labels in the urlbar
+
+urlbar-search-mode-bookmarks = à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+urlbar-search-mode-tabs = à¹à¸à¹à¸
+urlbar-search-mode-history = à¸à¸£à¸°à¸§à¸±à¸à¸´
+
+##
+
+urlbar-geolocation-blocked =
+ .tooltiptext = à¸à¸¸à¸à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹
+urlbar-xr-blocked =
+ .tooltiptext = à¸à¸¸à¸à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸§à¸²à¸¡à¸à¸£à¸´à¸à¹à¸ªà¸¡à¸·à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹
+urlbar-web-notifications-blocked =
+ .tooltiptext = à¸à¸¸à¸à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹
+urlbar-camera-blocked =
+ .tooltiptext = à¸à¸¸à¸à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸à¸à¸¥à¹à¸à¸à¸à¸à¸à¸à¸¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹
+urlbar-microphone-blocked =
+ .tooltiptext = à¸à¸¸à¸à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸à¹à¸¡à¹à¸à¸£à¹à¸à¸à¸à¸à¸à¸à¸¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹
+urlbar-screen-blocked =
+ .tooltiptext = à¸à¸¸à¸à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸²à¸à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸à¸à¸¸à¸
+urlbar-persistent-storage-blocked =
+ .tooltiptext = à¸à¸¸à¸à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸à¸à¸µà¹à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸§à¸£à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹
+urlbar-popup-blocked =
+ .tooltiptext = à¸à¸¸à¸à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸à¸à¹à¸à¸à¸à¸±à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹
+urlbar-autoplay-media-blocked =
+ .tooltiptext = à¸à¸¸à¸à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¹à¸¥à¹à¸à¸ªà¸·à¹à¸à¸à¸£à¹à¸à¸¡à¹à¸ªà¸µà¸¢à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹
+urlbar-canvas-blocked =
+ .tooltiptext = à¸à¸¸à¸à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¸ªà¹à¸à¸à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸·à¸à¸à¹à¸²à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹
+urlbar-midi-blocked =
+ .tooltiptext = à¸à¸¸à¸à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸ MIDI สำหรัà¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹
+urlbar-install-blocked =
+ .tooltiptext = à¸à¸¸à¸à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹
+# Variables
+# $shortcut (String) - A keyboard shortcut for the edit bookmark command.
+urlbar-star-edit-bookmark =
+ .tooltiptext = à¹à¸à¹à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸µà¹ ({ $shortcut })
+# Variables
+# $shortcut (String) - A keyboard shortcut for the add bookmark command.
+urlbar-star-add-bookmark =
+ .tooltiptext = à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸ªà¸³à¸«à¸£à¸±à¸à¸«à¸à¹à¸²à¸à¸µà¹ ({ $shortcut })
+
+## Page Action Context Menu
+
+page-action-manage-extension =
+ .label = à¸à¸±à¸à¸à¸²à¸£à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢â¦
+page-action-remove-extension =
+ .label = à¹à¸à¸²à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸à¸
+
+## Auto-hide Context Menu
+
+full-screen-autohide =
+ .label = à¸à¹à¸à¸à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸
+ .accesskey = à¸
+full-screen-exit =
+ .label = à¸à¸à¸à¸à¸²à¸à¹à¸«à¸¡à¸à¹à¸à¹à¸¡à¸«à¸à¹à¸²à¸à¸
+ .accesskey = à¸
+
+## 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 = à¸à¸£à¸²à¸§à¸à¸µà¹à¸à¹à¸à¸«à¸²à¸à¹à¸§à¸¢:
+search-one-offs-change-settings-compact-button =
+ .tooltiptext = à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸²à¸£à¸à¹à¸à¸«à¸²
+search-one-offs-context-open-new-tab =
+ .label = à¸à¹à¸à¸«à¸²à¹à¸à¹à¸à¹à¸à¹à¸«à¸¡à¹
+ .accesskey = à¸
+search-one-offs-context-set-as-default =
+ .label = à¸à¸±à¹à¸à¹à¸à¹à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+ .accesskey = à¸
+search-one-offs-context-set-as-default-private =
+ .label = à¸à¸±à¹à¸à¹à¸à¹à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+ .accesskey = ส
+# 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 = à¹à¸à¸´à¹à¸¡ â{ $engineName }â
+ .tooltiptext = à¹à¸à¸´à¹à¸¡à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸² â{ $engineName }â
+ .aria-label = à¹à¸à¸´à¹à¸¡à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸² â{ $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 = à¹à¸à¸´à¹à¸¡à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²
+
+## 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 = à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸² ({ $restrict })
+search-one-offs-tabs =
+ .tooltiptext = à¹à¸à¹à¸ ({ $restrict })
+search-one-offs-history =
+ .tooltiptext = à¸à¸£à¸°à¸§à¸±à¸à¸´ ({ $restrict })
+
+## Bookmark Panel
+
+bookmarks-add-bookmark = à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+bookmarks-edit-bookmark = à¹à¸à¹à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+bookmark-panel-cancel =
+ .label = ยà¸à¹à¸¥à¸´à¸
+ .accesskey = ย
+# Variables:
+# $count (number): number of bookmarks that will be removed
+bookmark-panel-remove =
+ .label = à¹à¸à¸² { $count } à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸à¸
+ .accesskey = à¸
+bookmark-panel-show-editor-checkbox =
+ .label = à¹à¸ªà¸à¸à¸à¸±à¸§à¹à¸à¹à¹à¸à¹à¸¡à¸·à¹à¸à¸à¸±à¸à¸à¸¶à¸
+ .accesskey = ส
+bookmark-panel-save-button =
+ .label = à¸à¸±à¸à¸à¸¶à¸
+# 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 = à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹à¸ªà¸³à¸«à¸£à¸±à¸ { $host }
+# Variables
+# $host (String): the hostname of the site that is being displayed.
+identity-header-security-with-host =
+ .title = à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸ { $host }
+identity-connection-not-secure = à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัย
+identity-connection-secure = à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸¥à¸à¸à¸ ัย
+identity-connection-failure = à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸¥à¹à¸¡à¹à¸«à¸¥à¸§
+identity-connection-internal = à¸à¸µà¹à¸à¸·à¸à¸«à¸à¹à¸² { -brand-short-name } à¸à¸µà¹à¸à¸¥à¸à¸à¸ ัย
+identity-connection-file = หà¸à¹à¸²à¸à¸µà¹à¸à¸¹à¸à¸à¸±à¸à¹à¸à¹à¸à¹à¸§à¹à¹à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸
+identity-extension-page = หà¸à¹à¸²à¸à¸µà¹à¸à¸¹à¸à¹à¸«à¸¥à¸à¸à¸²à¸à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢
+identity-active-blocked = { -brand-short-name } à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸à¸ªà¹à¸§à¸à¸à¸à¸à¸«à¸à¹à¸²à¸à¸µà¹à¸à¸µà¹à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัย
+identity-custom-root = à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸¹à¸à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸à¸¢à¸à¸¹à¹à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹ Mozilla à¹à¸¡à¹à¸£à¸¹à¹à¸à¸±à¸
+identity-passive-loaded = à¸à¸²à¸à¸ªà¹à¸§à¸à¸à¸à¸à¸«à¸à¹à¸²à¸à¸µà¹à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัย (à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸ ภาà¸)
+identity-active-loaded = à¸à¸¸à¸à¹à¸à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¹à¸à¸«à¸à¹à¸²à¸à¸µà¹
+identity-weak-encryption = หà¸à¹à¸²à¸à¸µà¹à¹à¸à¹à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¸à¸µà¹à¸à¹à¸à¸à¹à¸
+identity-insecure-login-forms = à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¸à¸«à¸à¹à¸²à¸à¸µà¹à¸à¸²à¸à¸à¸¹à¸à¸à¸¸à¸à¸£à¸¸à¸à¹à¸à¹
+identity-https-only-connection-upgraded = (à¸à¸±à¸à¹à¸à¸£à¸à¹à¸à¹à¸ HTTPS)
+identity-https-only-label = à¹à¸«à¸¡à¸ HTTPS-Only
+identity-https-only-dropdown-on =
+ .label = à¹à¸à¸´à¸
+identity-https-only-dropdown-off =
+ .label = à¸à¸´à¸
+identity-https-only-dropdown-off-temporarily =
+ .label = à¸à¸´à¸à¸à¸±à¹à¸§à¸à¸£à¸²à¸§
+identity-https-only-info-turn-on2 = à¹à¸à¸´à¸à¹à¸«à¸¡à¸ HTTPS-Only หาà¸à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸«à¹ { -brand-short-name } à¸à¸±à¸à¹à¸à¸£à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸¡à¸·à¹à¸à¹à¸à¹à¸à¹à¸à¹à¸à¹
+identity-https-only-info-turn-off2 = หาà¸à¸«à¸à¹à¸²à¸à¸¹à¹à¸«à¸¡à¸·à¸à¸à¸à¸°à¸à¸±à¸ à¸à¸¸à¸à¸à¸²à¸à¸à¹à¸à¸à¸à¸´à¸à¹à¸«à¸¡à¸ HTTPS-Only สำหรัà¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸à¸·à¹à¸à¹à¸«à¸¥à¸à¹à¸«à¸¡à¹à¹à¸à¸¢à¹à¸à¹ HTTP à¸à¸µà¹à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัย
+identity-https-only-info-no-upgrade = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸±à¸à¹à¸à¸£à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸²à¸ HTTP à¹à¸à¹
+identity-permissions-storage-access-header = à¸à¸¸à¸à¸à¸µà¹à¸à¹à¸²à¸¡à¹à¸à¸à¹
+identity-permissions-storage-access-hint = à¸à¸¸à¸à¸à¸¥à¹à¸«à¸¥à¹à¸²à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¸¸à¸à¸à¸µà¹à¸à¹à¸²à¸¡à¹à¸à¸à¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹à¹à¸à¸à¸à¸°à¸à¸µà¹à¸à¸¸à¸à¸à¸¢à¸¹à¹à¸à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸à¹
+identity-permissions-storage-access-learn-more = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+identity-permissions-reload-hint = à¸à¸¸à¸à¸à¸²à¸à¸à¸³à¹à¸à¹à¸à¸à¹à¸à¸à¹à¸«à¸¥à¸à¸«à¸à¹à¸²à¹à¸«à¸¡à¹à¹à¸à¸·à¹à¸à¹à¸«à¹à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸¡à¸µà¸à¸¥
+identity-clear-site-data =
+ .label = ลà¹à¸²à¸à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹â¦
+identity-connection-not-secure-security-view = à¸à¸¸à¸à¹à¸¡à¹à¹à¸à¹à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัยà¹à¸à¸¢à¸±à¸à¹à¸à¸à¹à¸à¸µà¹
+identity-connection-verified = à¸à¸¸à¸à¹à¸à¹à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัยà¹à¸à¸¢à¸±à¸à¹à¸à¸à¹à¸à¸µà¹
+identity-ev-owner-label = à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸«à¹à¸à¸±à¸:
+identity-description-custom-root = Mozilla à¹à¸¡à¹à¸£à¸¹à¹à¸à¸±à¸à¸à¸¹à¹à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹ à¸à¸¶à¹à¸à¸à¸²à¸à¸à¸¹à¸à¹à¸à¸´à¹à¸¡à¸à¸²à¸à¸£à¸°à¸à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸à¸¢à¸à¸¹à¹à¸à¸¹à¹à¸¥à¸£à¸°à¸à¸
+identity-remove-cert-exception =
+ .label = à¹à¸à¸²à¸à¹à¸à¸¢à¸à¹à¸§à¹à¸à¸à¸à¸
+ .accesskey = à¸
+identity-description-insecure = à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸¢à¸±à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§ à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸¸à¸à¹à¸à¹à¸à¸à¸±à¸à¸à¸±à¸à¹à¸à¸à¹à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸¹à¹à¸à¹à¹à¸à¸¢à¸à¸¹à¹à¸à¸·à¹à¸ (à¹à¸à¹à¸ รหัสà¸à¹à¸²à¸, à¸à¹à¸à¸à¸§à¸²à¸¡, à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸ ฯลฯ)
+identity-description-insecure-login-forms = à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸µà¹à¸à¸¸à¸à¸à¹à¸à¸à¸à¸à¸«à¸à¹à¸²à¸à¸µà¹à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัยà¹à¸¥à¸°à¸à¸²à¸à¸à¸¹à¸à¸à¸¸à¸à¸£à¸¸à¸à¹à¸à¹
+identity-description-weak-cipher-intro = à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸¢à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸à¹à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¸à¸µà¹à¸à¹à¸à¸à¹à¸à¹à¸¥à¸°à¹à¸¡à¹à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+identity-description-weak-cipher-risk = à¸à¸¹à¹à¸à¸à¸à¸·à¹à¸ ๠สามารà¸à¸à¸¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹
+identity-description-active-blocked = { -brand-short-name } à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸à¸ªà¹à¸§à¸à¸à¸à¸à¸«à¸à¹à¸²à¸à¸µà¹à¸à¸µà¹à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัย
+identity-description-passive-loaded = à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¹à¸¡à¹à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸¸à¸à¹à¸à¹à¸à¸à¸±à¸à¸à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸à¸à¸·à¹à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸¹à¹à¸à¹
+identity-description-passive-loaded-insecure = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸¡à¸µà¹à¸à¸·à¹à¸à¸«à¸²à¸à¸µà¹à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัย (à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸ ภาà¸)
+identity-description-passive-loaded-mixed = à¸à¸¶à¸à¹à¸¡à¹à¸§à¹à¸² { -brand-short-name } à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸²à¸à¸ªà¹à¸§à¸ à¹à¸à¹à¸à¹à¸¢à¸±à¸à¸à¸à¸¡à¸µà¹à¸à¸·à¹à¸à¸«à¸²à¹à¸à¸«à¸à¹à¸²à¸à¸µà¹à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัย (à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸ ภาà¸)
+identity-description-active-loaded = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸£à¸°à¸à¸à¸à¸à¹à¸§à¸¢à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸µà¹à¹à¸à¸·à¹à¸à¸à¸·à¸à¹à¸¡à¹à¹à¸à¹ (à¹à¸à¹à¸ สà¸à¸£à¸´à¸à¸à¹) à¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸à¸¢à¸±à¸à¹à¸à¸à¹à¸à¹à¹à¸¡à¹à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+identity-description-active-loaded-insecure = à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸¸à¸à¹à¸à¹à¸à¸à¸±à¸à¸à¸±à¸à¹à¸à¸à¹à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸¹à¹à¸à¹à¹à¸à¸¢à¸à¸¹à¹à¸à¸·à¹à¸ (à¹à¸à¹à¸ รหัสà¸à¹à¸²à¸, à¸à¹à¸à¸à¸§à¸²à¸¡, à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸ ฯลฯ)
+identity-learn-more =
+ .value = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+identity-disable-mixed-content-blocking =
+ .label = à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¹à¸à¸à¸à¸à¸à¸µà¹
+ .accesskey = à¸
+identity-enable-mixed-content-blocking =
+ .label = à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸
+ .accesskey = à¸
+identity-more-info-link-text =
+ .label = à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+## Window controls
+
+browser-window-minimize-button =
+ .tooltiptext = ยà¹à¸
+browser-window-maximize-button =
+ .tooltiptext = à¸à¸¢à¸²à¸¢
+browser-window-restore-down-button =
+ .tooltiptext = à¸à¸·à¸à¸à¹à¸²à¸¥à¸à¸¥à¹à¸²à¸
+browser-window-close-button =
+ .tooltiptext = à¸à¸´à¸
+
+## Tab actions
+
+# This label should be written in all capital letters if your locale supports them.
+browser-tab-audio-playing2 = à¸à¸³à¸¥à¸±à¸à¹à¸¥à¹à¸
+# This label should be written in all capital letters if your locale supports them.
+browser-tab-audio-muted2 = à¸à¸´à¸à¹à¸ªà¸µà¸¢à¸à¸à¸¢à¸¹à¹
+# This label should be written in all capital letters if your locale supports them.
+browser-tab-audio-blocked = à¸à¸²à¸£à¹à¸¥à¹à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸
+# This label should be written in all capital letters if your locale supports them.
+browser-tab-audio-pip = ภาà¸à¸à¸µà¹à¹à¸¥à¹à¸à¸à¸§à¸à¸à¸¹à¹
+
+## 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] à¸à¸´à¸à¹à¸ªà¸µà¸¢à¸à¹à¸à¹à¸
+ *[other] à¸à¸´à¸à¹à¸ªà¸µà¸¢à¸ { $count } à¹à¸à¹à¸
+ }
+browser-tab-unmute =
+ { $count ->
+ [1] à¹à¸¥à¸´à¸à¸à¸´à¸à¹à¸ªà¸µà¸¢à¸à¹à¸à¹à¸
+ *[other] à¹à¸¥à¸´à¸à¸à¸´à¸à¹à¸ªà¸µà¸¢à¸ { $count } à¹à¸à¹à¸
+ }
+browser-tab-unblock =
+ { $count ->
+ [1] à¹à¸¥à¹à¸à¹à¸à¹à¸
+ *[other] à¹à¸¥à¹à¸ { $count } à¹à¸à¹à¸
+ }
+
+## Bookmarks toolbar items
+
+browser-import-button2 =
+ .label = à¸à¸³à¹à¸à¹à¸²à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²â¦
+ .tooltiptext = à¸à¸³à¹à¸à¹à¸²à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸²à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸·à¹à¸à¸¡à¸²à¸¢à¸±à¸ { -brand-short-name }
+bookmarks-toolbar-empty-message = วาà¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸¸à¸à¹à¸§à¹à¸à¸µà¹à¸à¸µà¹à¸à¸à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸à¸·à¹à¸à¹à¸«à¹à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¹à¸à¸¢à¹à¸²à¸à¸£à¸§à¸à¹à¸£à¹à¸§ à¸à¸±à¸à¸à¸²à¸£à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²â¦
+
+## WebRTC Pop-up notifications
+
+popup-select-camera-device =
+ .value = à¸à¸¥à¹à¸à¸:
+ .accesskey = à¸
+popup-select-camera-icon =
+ .tooltiptext = à¸à¸¥à¹à¸à¸
+popup-select-microphone-device =
+ .value = à¹à¸¡à¹à¸à¸£à¹à¸à¸:
+ .accesskey = ม
+popup-select-microphone-icon =
+ .tooltiptext = à¹à¸¡à¹à¸à¸£à¹à¸à¸
+popup-select-speaker-icon =
+ .tooltiptext = ลำà¹à¸à¸
+popup-all-windows-shared = หà¸à¹à¸²à¸à¹à¸²à¸à¸à¸µà¹à¸à¸£à¸²à¸à¸à¸à¸¢à¸¹à¹à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸à¸à¸¸à¸à¸à¸°à¸à¸¹à¸à¹à¸à¹à¸à¸à¸±à¸
+popup-screen-sharing-block =
+ .label = à¸à¸´à¸à¸à¸±à¹à¸
+ .accesskey = à¸
+popup-screen-sharing-always-block =
+ .label = à¸à¸´à¸à¸à¸±à¹à¸à¹à¸ªà¸¡à¸
+ .accesskey = ส
+popup-mute-notifications-checkbox = à¸à¸´à¸à¹à¸ªà¸µà¸¢à¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸à¸°à¹à¸à¹à¸à¸à¸±à¸
+
+## WebRTC window or screen share tab switch warning
+
+sharing-warning-window = à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸à¸à¸±à¸ { -brand-short-name } à¸à¸à¸à¸·à¹à¸ ๠สามารà¸à¹à¸«à¹à¸à¹à¸à¹à¹à¸¡à¸·à¹à¸à¸à¸¸à¸à¸ªà¸¥à¸±à¸à¹à¸à¸¢à¸±à¸à¹à¸à¹à¸à¹à¸«à¸¡à¹
+sharing-warning-screen = à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸à¸à¸±à¸à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸à¸à¸¸à¸ à¸à¸à¸à¸·à¹à¸ ๠สามารà¸à¹à¸«à¹à¸à¹à¸à¹à¹à¸¡à¸·à¹à¸à¸à¸¸à¸à¸ªà¸¥à¸±à¸à¹à¸à¸¢à¸±à¸à¹à¸à¹à¸à¹à¸«à¸¡à¹
+sharing-warning-proceed-to-tab =
+ .label = à¹à¸à¸¢à¸±à¸à¹à¸à¹à¸à¸à¹à¸
+sharing-warning-disable-for-session =
+ .label = à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸à¹à¸à¸§à¸²à¸£à¸°à¸à¸µà¹
+
+## DevTools F12 popup
+
+enable-devtools-popup-description = หาà¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸¥à¸±à¸ F12 à¹à¸«à¹à¹à¸à¸´à¸ DevTools à¸à¹à¸à¸à¸à¹à¸²à¸à¹à¸¡à¸à¸¹ Web Developer
+
+## URL Bar
+
+# This placeholder is used when not in search mode and the user's default search
+# engine is unknown.
+urlbar-placeholder =
+ .placeholder = à¸à¹à¸à¸«à¸²à¸«à¸£à¸·à¸à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
+# 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 = à¸à¹à¸à¸«à¸²à¹à¸§à¹à¸
+ .aria-label = à¸à¹à¸à¸«à¸²à¸à¹à¸§à¸¢ { $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 = à¸à¹à¸à¸à¸à¸³à¸à¹à¸à¸«à¸²
+ .aria-label = à¸à¹à¸à¸«à¸² { $name }
+# This placeholder is used when searching bookmarks.
+urlbar-placeholder-search-mode-other-bookmarks =
+ .placeholder = à¸à¹à¸à¸à¸à¸³à¸à¹à¸à¸«à¸²
+ .aria-label = à¸à¹à¸à¸«à¸²à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+# This placeholder is used when searching history.
+urlbar-placeholder-search-mode-other-history =
+ .placeholder = à¸à¹à¸à¸à¸à¸³à¸à¹à¸à¸«à¸²
+ .aria-label = à¸à¹à¸à¸«à¸²à¸à¸£à¸°à¸§à¸±à¸à¸´
+# This placeholder is used when searching open tabs.
+urlbar-placeholder-search-mode-other-tabs =
+ .placeholder = à¸à¹à¸à¸à¸à¸³à¸à¹à¸à¸«à¸²
+ .aria-label = à¸à¹à¸à¸«à¸²à¹à¸à¹à¸
+# Variables
+# $name (String): the name of the user's default search engine
+urlbar-placeholder-with-name =
+ .placeholder = à¸à¹à¸à¸«à¸²à¸à¹à¸§à¸¢ { $name } หรืà¸à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
+# Variables
+# $component (String): the name of the component which forces remote control.
+# Example: "DevTools", "Marionette", "RemoteAgent".
+urlbar-remote-control-notification-anchor2 =
+ .tooltiptext = à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸¢à¸¹à¹à¸ ายà¹à¸à¹à¸à¸²à¸£à¸à¸§à¸à¸à¸¸à¸¡à¸£à¸°à¸¢à¸°à¹à¸à¸¥ (à¹à¸«à¸à¸¸à¸à¸¥: { $component })
+urlbar-permissions-granted =
+ .tooltiptext = à¸à¸¸à¸à¹à¸à¹à¸à¸à¸¸à¸à¸²à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¹à¸§à¸¢à¸ªà¸´à¸à¸à¸´à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+urlbar-switch-to-tab =
+ .value = สลัà¸à¹à¸à¸¢à¸±à¸à¹à¸à¹à¸:
+# Used to indicate that a selected autocomplete entry is provided by an extension.
+urlbar-extension =
+ .value = สà¹à¸§à¸à¸à¸¢à¸²à¸¢:
+urlbar-go-button =
+ .tooltiptext = à¹à¸à¸¢à¸±à¸à¸à¸µà¹à¸à¸¢à¸¹à¹à¹à¸à¹à¸à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸
+urlbar-page-action-button =
+ .tooltiptext = à¸à¸²à¸£à¸à¸£à¸°à¸à¸³à¸«à¸à¹à¸²
+
+## 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 = à¸à¹à¸à¸«à¸²à¸à¹à¸§à¸¢ { $engine } à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+# Used when the private browsing engine is the same as the default engine.
+urlbar-result-action-search-in-private = à¸à¹à¸à¸«à¸²à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+# 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 = à¸à¹à¸à¸«à¸²à¸à¹à¸§à¸¢ { $engine }
+urlbar-result-action-sponsored = à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸
+urlbar-result-action-switch-tab = สลัà¸à¹à¸à¸¢à¸±à¸à¹à¸à¹à¸
+urlbar-result-action-visit = à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡
+# 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 = à¸à¸ Tab à¹à¸à¸·à¹à¸à¸à¹à¸à¸«à¸²à¸à¹à¸§à¸¢ { $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 = à¸à¸ Tab à¹à¸à¸·à¹à¸à¸à¹à¸à¸«à¸² { $engine }
+# Variables
+# $engine (String): the name of a search engine that searches the entire Web
+# (e.g. Google).
+urlbar-result-action-tabtosearch-web = à¸à¹à¸à¸«à¸²à¸à¹à¸§à¸¢ { $engine } à¹à¸à¸¢à¸à¸£à¸à¸à¸²à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
+# Variables
+# $engine (String): the name of a search engine that searches a specific site
+# (e.g. Amazon).
+urlbar-result-action-tabtosearch-other-engine = à¸à¹à¸à¸«à¸² { $engine } à¹à¸à¸¢à¸à¸£à¸à¸à¸²à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
+# Action text for copying to clipboard.
+urlbar-result-action-copy-to-clipboard = à¸à¸±à¸à¸¥à¸à¸
+# 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 = à¸à¹à¸à¸«à¸²à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+urlbar-result-action-search-history = à¸à¹à¸à¸«à¸²à¸à¸£à¸°à¸§à¸±à¸à¸´
+urlbar-result-action-search-tabs = à¸à¹à¸à¸«à¸²à¹à¸à¹à¸
+
+## 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 title case.
+# Variables
+# $engine (String): the name of the search engine providing the suggestions
+urlbar-group-search-suggestions =
+ .label = à¸à¹à¸à¹à¸ªà¸à¸à¹à¸à¸° { $engine }
+
+## Full Screen and Pointer Lock UI
+
+# Please ensure that the domain stays in the `` markup.
+# Variables
+# $domain (String): the domain that is full screen, e.g. "mozilla.org"
+fullscreen-warning-domain = { $domain } à¹à¸à¹à¸¡à¸«à¸à¹à¸²à¸à¸à¸à¸¢à¸¹à¹
+fullscreen-warning-no-domain = à¹à¸à¸à¸ªà¸²à¸£à¸à¸µà¹à¹à¸à¹à¸¡à¸«à¸à¹à¸²à¸à¸à¸à¸¢à¸¹à¹
+fullscreen-exit-button = à¸à¸à¸à¸à¸²à¸à¸ าà¸à¹à¸à¹à¸¡à¸«à¸à¹à¸²à¸à¸ (Esc)
+# "esc" is lowercase on mac keyboards, but uppercase elsewhere.
+fullscreen-exit-mac-button = à¸à¸à¸à¸à¸²à¸à¸ าà¸à¹à¸à¹à¸¡à¸«à¸à¹à¸²à¸à¸ (esc)
+# Please ensure that the domain stays in the `` markup.
+# Variables
+# $domain (String): the domain that is using pointer-lock, e.g. "mozilla.org"
+pointerlock-warning-domain = { $domain } à¹à¸à¹à¸à¸§à¸à¸à¸¸à¸¡à¸à¸±à¸§à¸à¸µà¹à¸à¸à¸à¸à¸¸à¸ à¸à¸ Esc à¹à¸à¸·à¹à¸à¸à¸¶à¸à¸à¸²à¸£à¸à¸§à¸à¸à¸¸à¸¡à¸à¸·à¸
+pointerlock-warning-no-domain = à¹à¸à¸à¸ªà¸²à¸£à¸à¸´à¹à¸à¸à¸µà¹à¹à¸à¹à¸à¸§à¸à¸à¸¸à¸¡à¸à¸±à¸§à¸à¸µà¹à¸à¸à¸à¸à¸¸à¸ à¸à¸ Esc à¹à¸à¸·à¹à¸à¸à¸¶à¸à¸à¸²à¸£à¸à¸§à¸à¸à¸¸à¸¡à¸à¸·à¸
+
+## Subframe crash notification
+
+crashed-subframe-message = à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸²à¸à¸ªà¹à¸§à¸à¸à¸à¸à¸«à¸à¹à¸²à¸à¸µà¹à¸à¸±à¸à¸à¹à¸à¸ หาà¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸«à¹ { -brand-product-name } à¸à¸£à¸²à¸à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸±à¸à¸«à¸²à¸à¸µà¹à¹à¸à¸·à¹à¸à¹à¸«à¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¹à¸à¹à¹à¸à¹à¸£à¹à¸§à¸à¸¶à¹à¸ à¹à¸à¸£à¸à¸ªà¹à¸à¸£à¸²à¸¢à¸à¸²à¸
+# The string for crashed-subframe-title.title should match crashed-subframe-message,
+# but without any markup.
+crashed-subframe-title =
+ .title = à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸²à¸à¸ªà¹à¸§à¸à¸à¸à¸à¸«à¸à¹à¸²à¸à¸µà¹à¸à¸±à¸à¸à¹à¸à¸ หาà¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸«à¹ { -brand-product-name } à¸à¸£à¸²à¸à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸±à¸à¸«à¸²à¸à¸µà¹à¹à¸à¸·à¹à¸à¹à¸«à¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¹à¸à¹à¹à¸à¹à¸£à¹à¸§à¸à¸¶à¹à¸ à¹à¸à¸£à¸à¸ªà¹à¸à¸£à¸²à¸¢à¸à¸²à¸
+crashed-subframe-learnmore-link =
+ .value = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+crashed-subframe-submit =
+ .label = สà¹à¸à¸£à¸²à¸¢à¸à¸²à¸
+ .accesskey = ส
+
+## Bookmarks panels, menus and toolbar
+
+bookmarks-manage-bookmarks =
+ .label = à¸à¸±à¸à¸à¸²à¸£à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+bookmarks-recent-bookmarks-panel-subheader = à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸¥à¹à¸²à¸ªà¸¸à¸
+bookmarks-toolbar-chevron =
+ .tooltiptext = à¹à¸ªà¸à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+bookmarks-sidebar-content =
+ .aria-label = à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+bookmarks-menu-button =
+ .label = à¹à¸¡à¸à¸¹à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+bookmarks-other-bookmarks-menu =
+ .label = à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸·à¹à¸ à¹
+bookmarks-mobile-bookmarks-menu =
+ .label = à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸à¸¡à¸·à¸à¸à¸·à¸
+bookmarks-tools-sidebar-visibility =
+ .label =
+ { $isVisible ->
+ [true] à¸à¹à¸à¸à¹à¸à¸à¸à¹à¸²à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+ *[other] à¸à¸¹à¹à¸à¸à¸à¹à¸²à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+ }
+bookmarks-tools-toolbar-visibility-menuitem =
+ .label =
+ { $isVisible ->
+ [true] à¸à¹à¸à¸à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+ *[other] à¸à¸¹à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+ }
+bookmarks-tools-toolbar-visibility-panel =
+ .label =
+ { $isVisible ->
+ [true] à¸à¹à¸à¸à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+ *[other] à¹à¸ªà¸à¸à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+ }
+bookmarks-tools-menu-button-visibility =
+ .label =
+ { $isVisible ->
+ [true] à¹à¸à¸²à¹à¸¡à¸à¸¹à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸²à¸à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸
+ *[other] à¹à¸à¸´à¹à¸¡à¹à¸¡à¸à¸¹à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸à¸¢à¸±à¸à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸
+ }
+bookmarks-search =
+ .label = à¸à¹à¸à¸«à¸²à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+bookmarks-tools =
+ .label = à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+bookmarks-bookmark-edit-panel =
+ .label = à¹à¸à¹à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸µà¹
+# 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 = à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+ .accesskey = à¸
+ .aria-label = à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+bookmarks-toolbar-menu =
+ .label = à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+bookmarks-toolbar-placeholder =
+ .title = รายà¸à¸²à¸£à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+bookmarks-toolbar-placeholder-button =
+ .label = รายà¸à¸²à¸£à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+# "Bookmark" is a verb, as in "Add current tab to bookmarks".
+bookmarks-current-tab =
+ .label = à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸à¹à¸à¸à¸±à¸à¸à¸¸à¸à¸±à¸
+
+## Library Panel items
+
+library-bookmarks-menu =
+ .label = à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+library-recent-activity-title =
+ .value = à¸à¸´à¸à¸à¸£à¸£à¸¡à¸¥à¹à¸²à¸ªà¸¸à¸
+
+## Pocket toolbar button
+
+save-to-pocket-button =
+ .label = à¸à¸±à¸à¸à¸¶à¸à¹à¸à¸¢à¸±à¸ { -pocket-brand-name }
+ .tooltiptext = à¸à¸±à¸à¸à¸¶à¸à¹à¸à¸¢à¸±à¸ { -pocket-brand-name }
+
+## Repair text encoding toolbar button
+
+repair-text-encoding-button =
+ .label = à¸à¹à¸à¸¡à¹à¸à¸¡à¸£à¸«à¸±à¸ªà¸à¸±à¸à¸à¸£à¸°à¸à¹à¸à¸à¸§à¸²à¸¡
+ .tooltiptext = à¸à¸²à¸à¹à¸à¸²à¸£à¸«à¸±à¸ªà¸à¸±à¸à¸à¸£à¸°à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸à¸¹à¸à¸à¹à¸à¸à¸à¸²à¸à¹à¸à¸·à¹à¸à¸«à¸²à¹à¸à¸«à¸à¹à¸²
+
+## Customize Toolbar Buttons
+
+# Variables:
+# $shortcut (String): keyboard shortcut to open the add-ons manager
+toolbar-addons-themes-button =
+ .label = สà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¹à¸¥à¸°à¸à¸¸à¸à¸à¸à¹à¸à¹à¸
+ .tooltiptext = à¸à¸±à¸à¸à¸²à¸£à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¹à¸¥à¸°à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¸à¸à¸à¸à¸¸à¸ ({ $shortcut })
+# Variables:
+# $shortcut (String): keyboard shortcut to open settings (only on macOS)
+toolbar-settings-button =
+ .label = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²
+ .tooltiptext =
+ { PLATFORM() ->
+ [macos] à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸² ({ $shortcut })
+ *[other] à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²
+ }
+
+## More items
+
+more-menu-go-offline =
+ .label = à¸à¸³à¸à¸²à¸à¸à¸à¸à¹à¸¥à¸à¹
+ .accesskey = à¸
+toolbar-overflow-customize-button =
+ .label = à¸à¸£à¸±à¸à¹à¸à¹à¸à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸â¦
+ .accesskey = à¸
+toolbar-button-email-link =
+ .label = สà¹à¸à¸à¸µà¹à¸¡à¸¥à¸¥à¸´à¸à¸à¹
+ .tooltiptext = สà¹à¸à¸à¸µà¹à¸¡à¸¥à¸¥à¸´à¸à¸à¹à¹à¸à¸¢à¸±à¸à¸«à¸à¹à¸²à¸à¸µà¹
+# Variables:
+# $shortcut (String): keyboard shortcut to save a copy of the page
+toolbar-button-save-page =
+ .label = à¸à¸±à¸à¸à¸¶à¸à¸«à¸à¹à¸²
+ .tooltiptext = à¸à¸±à¸à¸à¸¶à¸à¸«à¸à¹à¸²à¸à¸µà¹ ({ $shortcut })
+# Variables:
+# $shortcut (String): keyboard shortcut to open a local file
+toolbar-button-open-file =
+ .label = à¹à¸à¸´à¸à¹à¸à¸¥à¹
+ .tooltiptext = à¹à¸à¸´à¸à¹à¸à¸¥à¹ ({ $shortcut })
+toolbar-button-synced-tabs =
+ .label = à¹à¸à¹à¸à¸à¸µà¹à¸à¸´à¸à¸à¹
+ .tooltiptext = à¹à¸ªà¸à¸à¹à¸à¹à¸à¸à¸²à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸·à¹à¸ à¹
+# Variables
+# $shortcut (string) - Keyboard shortcut to open a new private browsing window
+toolbar-button-new-private-window =
+ .label = หà¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸«à¸¡à¹
+ .tooltiptext = à¹à¸à¸´à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸«à¸¡à¹ ({ $shortcut })
+
+## EME notification panel
+
+eme-notifications-drm-content-playing = à¹à¸ªà¸µà¸¢à¸à¸«à¸£à¸·à¸à¸§à¸´à¸à¸µà¹à¸à¸à¸²à¸à¸ªà¹à¸§à¸à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸à¹à¸à¸à¸à¸à¹à¹à¸§à¸£à¹ DRM à¸à¸¶à¹à¸à¸à¸²à¸à¸à¸°à¸à¸³à¸à¸±à¸à¸ªà¸´à¹à¸à¸à¸µà¹ { -brand-short-name } สามารà¸à¹à¸«à¹à¸à¸¸à¸à¸à¸³à¹à¸à¹
+eme-notifications-drm-content-playing-manage = à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²
+eme-notifications-drm-content-playing-manage-accesskey = à¸
+eme-notifications-drm-content-playing-dismiss = à¸à¸´à¸
+eme-notifications-drm-content-playing-dismiss-accesskey = à¸
+
+## Password save/update panel
+
+panel-save-update-username = à¸à¸·à¹à¸à¸à¸¹à¹à¹à¸à¹
+panel-save-update-password = รหัสà¸à¹à¸²à¸
+
+## Add-on removal warning
+
+# Variables:
+# $name (String): The name of the addon that will be removed.
+addon-removal-title = à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸² { $name } à¸à¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+addon-removal-abuse-report-checkbox = รายà¸à¸²à¸à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸µà¹à¹à¸à¸¢à¸±à¸ { -vendor-short-name }
+
+## Remote / Synced tabs
+
+remote-tabs-manage-account =
+ .label = à¸à¸±à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸µ
+remote-tabs-sync-now = à¸à¸´à¸à¸à¹à¸à¸à¸à¸à¸µà¹
+
+##
+
+# "More" item in macOS share menu
+menu-share-more =
+ .label = à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡â¦
+ui-tour-info-panel-close =
+ .tooltiptext = à¸à¸´à¸
+
+## Variables:
+## $uriHost (String): URI host for which the popup was allowed or blocked.
+
+popups-infobar-allow =
+ .label = à¸à¸à¸¸à¸à¸²à¸à¸à¹à¸à¸à¸à¸±à¸à¸ªà¸³à¸«à¸£à¸±à¸ { $uriHost }
+ .accesskey = à¸
+popups-infobar-block =
+ .label = à¸à¸´à¸à¸à¸±à¹à¸à¸à¹à¸à¸à¸à¸±à¸à¸ªà¸³à¸«à¸£à¸±à¸ { $uriHost }
+ .accesskey = à¸
+
+##
+
+popups-infobar-dont-show-message =
+ .label = à¹à¸¡à¹à¹à¸ªà¸à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¹à¸¡à¸·à¹à¸à¸à¹à¸à¸à¸à¸±à¸à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸
+ .accesskey = à¸
+edit-popup-settings =
+ .label = à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¹à¸à¸à¸à¸±à¸â¦
+ .accesskey = à¸
+picture-in-picture-hide-toggle =
+ .label = à¸à¹à¸à¸à¸ªà¸¥à¸±à¸à¸ าà¸à¸à¸µà¹à¹à¸¥à¹à¸à¸à¸§à¸à¸à¸¹à¹
+ .accesskey = à¸
+
+## 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 = à¹à¸¥à¸·à¹à¸à¸à¸ าà¸à¸à¸µà¹à¹à¸¥à¹à¸à¸à¸§à¸à¸à¸¹à¹à¸ªà¸¥à¸±à¸à¹à¸à¸à¸²à¸à¸à¹à¸²à¸à¸à¸§à¸²
+ .accesskey = R
+picture-in-picture-move-toggle-left =
+ .label = à¹à¸¥à¸·à¹à¸à¸à¸ าà¸à¸à¸µà¹à¹à¸¥à¹à¸à¸à¸§à¸à¸à¸¹à¹à¸ªà¸¥à¸±à¸à¹à¸à¸à¸²à¸à¸à¹à¸²à¸à¸à¹à¸²à¸¢
+ .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 = à¸à¸²à¸£à¸à¸³à¸à¸²à¸
+navbar-downloads =
+ .label = à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+navbar-overflow =
+ .tooltiptext = à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡â¦
+# Variables:
+# $shortcut (String): keyboard shortcut to print the page
+navbar-print =
+ .label = à¸à¸´à¸¡à¸à¹
+ .tooltiptext = à¸à¸´à¸¡à¸à¹à¸«à¸à¹à¸²à¸à¸µà¹â¦ ({ $shortcut })
+navbar-print-tab-modal-disabled =
+ .label = à¸à¸´à¸¡à¸à¹
+ .tooltiptext = à¸à¸´à¸¡à¸à¹à¸«à¸à¹à¸²à¸à¸µà¹
+navbar-home =
+ .label = หà¸à¹à¸²à¹à¸£à¸
+ .tooltiptext = หà¸à¹à¸²à¹à¸£à¸à¸à¸à¸ { -brand-short-name }
+navbar-library =
+ .label = หà¹à¸à¸à¸ªà¸¡à¸¸à¸
+ .tooltiptext = à¸à¸¹à¸à¸£à¸°à¸§à¸±à¸à¸´, à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹ à¹à¸¥à¸°à¸à¸·à¹à¸ à¹
+navbar-search =
+ .title = à¸à¹à¸à¸«à¸²
+navbar-accessibility-indicator =
+ .tooltiptext = à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸²à¸£à¸à¹à¸§à¸¢à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¹à¸à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸¢à¸¹à¹
+# 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 = à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹
+tabs-toolbar-new-tab =
+ .label = à¹à¸à¹à¸à¹à¸«à¸¡à¹
+tabs-toolbar-list-all-tabs =
+ .label = à¹à¸ªà¸à¸à¸£à¸²à¸¢à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+ .tooltiptext = à¹à¸ªà¸à¸à¸£à¸²à¸¢à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+
+## Infobar shown at startup to suggest session-restore
+
+#
will be replaced by the application menu icon
+restore-session-startup-suggestion-message = à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸´à¸à¹à¸à¹à¸à¸à¹à¸à¸à¸«à¸à¹à¸²à¸«à¸£à¸·à¸à¹à¸¡à¹ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¸§à¸²à¸£à¸°à¸à¹à¸à¸à¸«à¸à¹à¸²à¹à¸à¹à¸à¸²à¸à¹à¸¡à¸à¸¹à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸ { -brand-short-name }
ภายà¹à¸à¹ à¸à¸£à¸°à¸§à¸±à¸à¸´
+restore-session-startup-suggestion-button = à¹à¸ªà¸à¸à¸§à¸´à¸à¸µà¹à¸«à¹à¸à¸±à¸à¸à¸¹
diff --git a/browser/browser/browserContext.ftl b/browser/browser/browserContext.ftl
new file mode 100644
index 00000000000..ec7025a9b5e
--- /dev/null
+++ b/browser/browser/browserContext.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/.
+
+navbar-tooltip-instruction =
+ .value =
+ { PLATFORM() ->
+ [macos] à¸à¸¶à¸à¸¥à¸à¹à¸à¸·à¹à¸à¹à¸ªà¸à¸à¸à¸£à¸°à¸§à¸±à¸à¸´
+ *[other] à¸à¸¥à¸´à¸à¸à¸§à¸²à¸«à¸£à¸·à¸à¸à¸¶à¸à¸¥à¸à¹à¸à¸·à¹à¸à¹à¸ªà¸à¸à¸à¸£à¸°à¸§à¸±à¸à¸´
+ }
+
+## Back
+
+# Variables
+# $shortcut (String) - A keyboard shortcut for the Go Back command.
+main-context-menu-back-2 =
+ .tooltiptext = ยà¹à¸à¸à¸à¸¥à¸±à¸à¹à¸à¸«à¸à¸¶à¹à¸à¸«à¸à¹à¸² ({ $shortcut })
+ .aria-label = ยà¹à¸à¸à¸à¸¥à¸±à¸
+ .accesskey = ย
+
+# This menuitem is only visible on macOS
+main-context-menu-back-mac =
+ .label = ยà¹à¸à¸à¸à¸¥à¸±à¸
+ .accesskey = ย
+
+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 = à¹à¸à¸´à¸à¸«à¸à¹à¸²à¹à¸à¸«à¸à¸¶à¹à¸à¸«à¸à¹à¸² ({ $shortcut })
+ .aria-label = à¹à¸à¸´à¸à¸«à¸à¹à¸²
+ .accesskey = à¸
+
+# This menuitem is only visible on macOS
+main-context-menu-forward-mac =
+ .label = à¹à¸à¸´à¸à¸«à¸à¹à¸²
+ .accesskey = à¸
+
+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 = à¹à¸«à¸¥à¸à¹à¸«à¸¡à¹
+ .accesskey = ห
+
+# This menuitem is only visible on macOS
+main-context-menu-reload-mac =
+ .label = à¹à¸«à¸¥à¸à¹à¸«à¸¡à¹
+ .accesskey = ห
+
+toolbar-button-reload =
+ .label = { main-context-menu-reload.aria-label }
+
+## Stop
+
+main-context-menu-stop =
+ .aria-label = หยุà¸
+ .accesskey = ห
+
+# This menuitem is only visible on macOS
+main-context-menu-stop-mac =
+ .label = หยุà¸
+ .accesskey = ห
+
+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 }
+
+## Save Page
+
+main-context-menu-page-save =
+ .label = à¸à¸±à¸à¸à¸¶à¸à¸«à¸à¹à¸²à¹à¸à¹à¸â¦
+ .accesskey = ห
+
+## Simple menu items
+
+main-context-menu-bookmark-add =
+ .aria-label = à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸ªà¸³à¸«à¸£à¸±à¸à¸«à¸à¹à¸²à¸à¸µà¹
+ .accesskey = à¸
+ .tooltiptext = à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸ªà¸³à¸«à¸£à¸±à¸à¸«à¸à¹à¸²à¸à¸µà¹
+
+# This menuitem is only visible on macOS
+# Cannot be shown at the same time as main-context-menu-bookmark-edit-mac,
+# so should probably have the same access key if possible.
+main-context-menu-bookmark-add-mac =
+ .label = à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸ªà¸³à¸«à¸£à¸±à¸à¸«à¸à¹à¸²
+ .accesskey = à¸
+
+# This menuitem is only visible on macOS
+# Cannot be shown at the same time as main-context-menu-bookmark-add-mac,
+# so should probably have the same access key if possible.
+main-context-menu-bookmark-edit-mac =
+ .label = à¹à¸à¹à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+ .accesskey = à¸
+
+# Variables
+# $shortcut (String) - A keyboard shortcut for the add bookmark command.
+main-context-menu-bookmark-add-with-shortcut =
+ .aria-label = à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸ªà¸³à¸«à¸£à¸±à¸à¸«à¸à¹à¸²à¸à¸µà¹
+ .accesskey = à¸
+ .tooltiptext = à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸ªà¸³à¸«à¸£à¸±à¸à¸«à¸à¹à¸²à¸à¸µà¹ ({ $shortcut })
+
+main-context-menu-bookmark-change =
+ .aria-label = à¹à¸à¹à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸µà¹
+ .accesskey = à¸
+ .tooltiptext = à¹à¸à¹à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸µà¹
+
+# Variables
+# $shortcut (String) - A keyboard shortcut for the edit bookmark command.
+main-context-menu-bookmark-change-with-shortcut =
+ .aria-label = à¹à¸à¹à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸µà¹
+ .accesskey = à¸
+ .tooltiptext = à¹à¸à¹à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸µà¹ ({ $shortcut })
+
+main-context-menu-open-link =
+ .label = à¹à¸à¸´à¸à¸¥à¸´à¸à¸à¹
+ .accesskey = à¸
+
+main-context-menu-open-link-new-tab =
+ .label = à¹à¸à¸´à¸à¸¥à¸´à¸à¸à¹à¹à¸à¹à¸à¹à¸à¹à¸«à¸¡à¹
+ .accesskey = à¸
+
+main-context-menu-open-link-container-tab =
+ .label = à¹à¸à¸´à¸à¸¥à¸´à¸à¸à¹à¹à¸à¹à¸à¹à¸à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸«à¸¡à¹
+ .accesskey = ย
+
+main-context-menu-open-link-new-window =
+ .label = à¹à¸à¸´à¸à¸¥à¸´à¸à¸à¹à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸«à¸¡à¹
+ .accesskey = ห
+
+main-context-menu-open-link-new-private-window =
+ .label = à¹à¸à¸´à¸à¸¥à¸´à¸à¸à¹à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸«à¸¡à¹
+ .accesskey = ส
+
+main-context-menu-bookmark-link =
+ .label = à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸ªà¸³à¸«à¸£à¸±à¸à¸¥à¸´à¸à¸à¹
+ .accesskey = B
+
+main-context-menu-save-link =
+ .label = à¸à¸±à¸à¸à¸¶à¸à¸¥à¸´à¸à¸à¹à¹à¸à¹à¸â¦
+ .accesskey = à¸
+
+main-context-menu-save-link-to-pocket =
+ .label = à¸à¸±à¸à¸à¸¶à¸à¸¥à¸´à¸à¸à¹à¹à¸à¸¢à¸±à¸ { -pocket-brand-name }
+ .accesskey = à¸
+
+## The access keys for "Copy Link Location" and "Copy Email Address"
+## should be the same if possible; the two context menu items
+## are mutually exclusive.
+
+
+## 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 = à¸à¸±à¸à¸¥à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸µà¹à¸¡à¸¥
+ .accesskey = à¸
+
+main-context-menu-copy-link-simple =
+ .label = à¸à¸±à¸à¸¥à¸à¸à¸¥à¸´à¸à¸à¹
+ .accesskey = L
+
+## 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 = à¹à¸¥à¹à¸
+ .accesskey = ล
+
+main-context-menu-media-pause =
+ .label = หยุà¸à¸à¸±à¹à¸§à¸à¸£à¸²à¸§
+ .accesskey = ห
+
+##
+
+main-context-menu-media-mute =
+ .label = à¸à¸´à¸à¹à¸ªà¸µà¸¢à¸
+ .accesskey = ส
+
+main-context-menu-media-unmute =
+ .label = à¹à¸¥à¸´à¸à¸à¸´à¸à¹à¸ªà¸µà¸¢à¸
+ .accesskey = ส
+
+main-context-menu-media-play-speed-2 =
+ .label = à¸à¸§à¸²à¸¡à¹à¸£à¹à¸§
+ .accesskey = ร
+
+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 = วà¸à¸£à¸à¸
+ .accesskey = ว
+
+## 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 = à¹à¸ªà¸à¸à¸à¸¸à¹à¸¡à¸à¸§à¸à¸à¸¸à¸¡
+ .accesskey = à¸
+
+main-context-menu-media-hide-controls =
+ .label = à¸à¹à¸à¸à¸à¸¸à¹à¸¡à¸à¸§à¸à¸à¸¸à¸¡
+ .accesskey = à¸
+
+##
+
+main-context-menu-media-video-fullscreen =
+ .label = à¹à¸à¹à¸¡à¸«à¸à¹à¸²à¸à¸
+ .accesskey = à¸
+
+main-context-menu-media-video-leave-fullscreen =
+ .label = à¸à¸à¸à¸à¸²à¸à¸ าà¸à¹à¸à¹à¸¡à¸«à¸à¹à¸²à¸à¸
+ .accesskey = à¸
+
+# 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 = à¸à¸¹à¹à¸à¹à¸à¸à¸ าà¸à¸à¸µà¹à¹à¸¥à¹à¸à¸à¸§à¸à¸à¸¹à¹
+ .accesskey = à¸
+
+main-context-menu-image-reload =
+ .label = à¹à¸«à¸¥à¸à¸ าà¸à¹à¸«à¸¡à¹
+ .accesskey = ห
+
+main-context-menu-image-view-new-tab =
+ .label = à¹à¸à¸´à¸à¸ าà¸à¹à¸à¹à¸à¹à¸à¹à¸«à¸¡à¹
+ .accesskey = à¸
+
+main-context-menu-video-view-new-tab =
+ .label = à¹à¸à¸´à¸à¸§à¸´à¸à¸µà¹à¸à¹à¸à¹à¸à¹à¸à¹à¸«à¸¡à¹
+ .accesskey = ว
+
+main-context-menu-image-copy =
+ .label = à¸à¸±à¸à¸¥à¸à¸à¸ าà¸
+ .accesskey = à¸
+
+main-context-menu-image-copy-link =
+ .label = à¸à¸±à¸à¸¥à¸à¸à¸¥à¸´à¸à¸à¹à¸ าà¸
+ .accesskey = o
+
+main-context-menu-video-copy-link =
+ .label = à¸à¸±à¸à¸¥à¸à¸à¸¥à¸´à¸à¸à¹à¸§à¸´à¸à¸µà¹à¸
+ .accesskey = o
+
+main-context-menu-audio-copy-link =
+ .label = à¸à¸±à¸à¸¥à¸à¸à¸¥à¸´à¸à¸à¹à¹à¸ªà¸µà¸¢à¸
+ .accesskey = o
+
+main-context-menu-image-save-as =
+ .label = à¸à¸±à¸à¸à¸¶à¸à¸ าà¸à¹à¸à¹à¸â¦
+ .accesskey = à¸
+
+main-context-menu-image-email =
+ .label = สà¹à¸à¸à¸µà¹à¸¡à¸¥à¸ าà¸â¦
+ .accesskey = ม
+
+main-context-menu-image-set-image-as-background =
+ .label = à¸à¸±à¹à¸à¸à¹à¸²à¸£à¸¹à¸à¸ าà¸à¹à¸à¹à¸à¸à¸·à¹à¸à¸«à¸¥à¸±à¸à¹à¸à¸ªà¸à¹à¸à¹à¸à¸â¦
+ .accesskey = S
+
+main-context-menu-image-info =
+ .label = à¸à¸¹à¸à¹à¸à¸¡à¸¹à¸¥à¸ าà¸
+ .accesskey = à¸
+
+main-context-menu-image-desc =
+ .label = à¸à¸¹à¸à¸³à¸à¸à¸´à¸à¸²à¸¢
+ .accesskey = ย
+
+main-context-menu-video-save-as =
+ .label = à¸à¸±à¸à¸à¸¶à¸à¸§à¸´à¸à¸µà¹à¸à¹à¸à¹à¸â¦
+ .accesskey = à¸
+
+main-context-menu-audio-save-as =
+ .label = à¸à¸±à¸à¸à¸¶à¸à¹à¸ªà¸µà¸¢à¸à¹à¸à¹à¸â¦
+ .accesskey = à¸
+
+main-context-menu-video-take-snapshot =
+ .label = à¸à¹à¸²à¸¢à¸ªà¹à¸à¸à¸à¹à¸à¸â¦
+ .accesskey = ส
+
+main-context-menu-video-email =
+ .label = สà¹à¸à¸à¸µà¹à¸¡à¸¥à¸§à¸´à¸à¸µà¹à¸â¦
+ .accesskey = ม
+
+main-context-menu-audio-email =
+ .label = สà¹à¸à¸à¸µà¹à¸¡à¸¥à¹à¸ªà¸µà¸¢à¸â¦
+ .accesskey = ม
+
+main-context-menu-plugin-play =
+ .label = à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸¥à¸±à¹à¸à¸à¸´à¸à¸à¸µà¹
+ .accesskey = à¸
+
+main-context-menu-plugin-hide =
+ .label = à¸à¹à¸à¸à¸à¸¥à¸±à¹à¸à¸à¸´à¸à¸à¸µà¹
+ .accesskey = à¸
+
+main-context-menu-save-to-pocket =
+ .label = à¸à¸±à¸à¸à¸¶à¸à¸«à¸à¹à¸²à¹à¸à¸¢à¸±à¸ { -pocket-brand-name }
+ .accesskey = à¸
+
+main-context-menu-send-to-device =
+ .label = สà¹à¸à¸«à¸à¹à¸²à¹à¸à¸¢à¸±à¸à¸à¸¸à¸à¸à¸£à¸à¹
+ .accesskey = ส
+
+## 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 = à¹à¸à¹à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹
+ .accesskey = à¸
+
+main-context-menu-use-saved-password =
+ .label = à¹à¸à¹à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹
+ .accesskey = ห
+
+##
+
+main-context-menu-suggest-strong-password =
+ .label = à¹à¸à¸°à¸à¸³à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸µà¹à¸à¸²à¸à¹à¸à¸²à¸¢à¸²à¸â¦
+ .accesskey = ย
+
+main-context-menu-manage-logins2 =
+ .label = à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸
+ .accesskey = à¸
+
+main-context-menu-keyword =
+ .label = à¹à¸à¸´à¹à¸¡à¸à¸³à¸ªà¸³à¸à¸±à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸à¸µà¹â¦
+ .accesskey = à¸
+
+main-context-menu-link-send-to-device =
+ .label = สà¹à¸à¸¥à¸´à¸à¸à¹à¹à¸à¸¢à¸±à¸à¸à¸¸à¸à¸à¸£à¸à¹
+ .accesskey = ส
+
+main-context-menu-frame =
+ .label = à¸à¸£à¸à¸à¸à¸µà¹
+ .accesskey = à¸
+
+main-context-menu-frame-show-this =
+ .label = à¹à¸ªà¸à¸à¹à¸à¸à¸²à¸°à¸à¸£à¸à¸à¸à¸µà¹
+ .accesskey = ส
+
+main-context-menu-frame-open-tab =
+ .label = à¹à¸à¸´à¸à¸à¸£à¸à¸à¹à¸à¹à¸à¹à¸à¹à¸«à¸¡à¹
+ .accesskey = à¸
+
+main-context-menu-frame-open-window =
+ .label = à¹à¸à¸´à¸à¸à¸£à¸à¸à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸«à¸¡à¹
+ .accesskey = ห
+
+main-context-menu-frame-reload =
+ .label = à¹à¸«à¸¥à¸à¸à¸£à¸à¸à¹à¸«à¸¡à¹
+ .accesskey = ล
+
+main-context-menu-frame-bookmark =
+ .label = à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸£à¸à¸à¸à¸µà¹
+ .accesskey = ม
+
+main-context-menu-frame-save-as =
+ .label = à¸à¸±à¸à¸à¸¶à¸à¸à¸£à¸à¸à¹à¸à¹à¸â¦
+ .accesskey = à¸
+
+main-context-menu-frame-print =
+ .label = à¸à¸´à¸¡à¸à¹à¸à¸£à¸à¸â¦
+ .accesskey = à¸
+
+main-context-menu-frame-view-source =
+ .label = à¸à¸¹à¸à¹à¸à¸à¸à¸±à¸à¸à¸£à¸à¸
+ .accesskey = à¸
+
+main-context-menu-frame-view-info =
+ .label = à¸à¸¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸£à¸à¸
+ .accesskey = à¸
+
+main-context-menu-print-selection =
+ .label = à¸à¸´à¸¡à¸à¹à¸à¸µà¹à¹à¸¥à¸·à¸à¸
+ .accesskey = r
+
+main-context-menu-view-selection-source =
+ .label = à¸à¸¹à¸à¹à¸à¸à¸à¸±à¸à¸ªà¹à¸§à¸à¸à¸µà¹à¹à¸¥à¸·à¸à¸
+ .accesskey = à¸
+
+main-context-menu-take-screenshot =
+ .label = à¸à¹à¸²à¸¢à¸ าà¸à¸«à¸à¹à¸²à¸à¸
+ .accesskey = à¸
+
+main-context-menu-take-frame-screenshot =
+ .label = à¸à¹à¸²à¸¢à¸ าà¸à¸«à¸à¹à¸²à¸à¸
+ .accesskey = à¸
+
+main-context-menu-view-page-source =
+ .label = à¸à¸¹à¸à¹à¸à¸à¸à¸±à¸à¸«à¸à¹à¸²
+ .accesskey = à¸
+
+main-context-menu-bidi-switch-text =
+ .label = สลัà¸à¸à¸´à¸¨à¸à¸²à¸à¸à¹à¸à¸à¸§à¸²à¸¡
+ .accesskey = ล
+
+main-context-menu-bidi-switch-page =
+ .label = สลัà¸à¸à¸´à¸¨à¸à¸²à¸à¸«à¸à¹à¸²à¸à¸£à¸°à¸à¸²à¸©
+ .accesskey = ส
+
+main-context-menu-inspect =
+ .label = à¸à¸£à¸§à¸à¸ªà¸à¸
+ .accesskey = Q
+
+main-context-menu-inspect-a11y-properties =
+ .label = à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸¸à¸à¸ªà¸¡à¸à¸±à¸à¸´à¸à¸²à¸£à¸à¹à¸§à¸¢à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸
+
+main-context-menu-eme-learn-more =
+ .label = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸ DRMâ¦
+ .accesskey = ร
+
+# Variables
+# $containerName (String): The name of the current container
+main-context-menu-open-link-in-container-tab =
+ .label = à¹à¸à¸´à¸à¸¥à¸´à¸à¸à¹à¹à¸à¹à¸à¹à¸ { $containerName } à¹à¸«à¸¡à¹
+ .accesskey = T
diff --git a/browser/browser/browserSets.ftl b/browser/browser/browserSets.ftl
new file mode 100644
index 00000000000..d2abebf5a03
--- /dev/null
+++ b/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 = ยà¹à¸
+
+window-zoom-command =
+ .label = à¸à¸¹à¸¡
+
+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/browser/browser/customizeMode.ftl b/browser/browser/customizeMode.ftl
new file mode 100644
index 00000000000..b9c8da2a344
--- /dev/null
+++ b/browser/browser/customizeMode.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/.
+
+customize-mode-restore-defaults =
+ .label = à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+customize-mode-menu-and-toolbars-header = ลาà¸à¸£à¸²à¸¢à¸à¸²à¸£à¹à¸à¸£à¸à¸à¸à¸à¸à¸¸à¸à¸¥à¸à¹à¸à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸«à¸£à¸·à¸à¹à¸¡à¸à¸¹à¸¥à¹à¸
+customize-mode-overflow-list-title = à¹à¸¡à¸à¸¹à¸¥à¹à¸
+customize-mode-uidensity =
+ .label = à¸à¸§à¸²à¸¡à¸«à¸à¸²à¹à¸à¹à¸
+customize-mode-done =
+ .label = à¹à¸ªà¸£à¹à¸à¸ªà¸´à¹à¸
+customize-mode-lwthemes-menu-manage =
+ .label = à¸à¸±à¸à¸à¸²à¸£
+ .accesskey = à¸
+customize-mode-toolbars =
+ .label = à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸
+customize-mode-titlebar =
+ .label = à¹à¸à¸à¸à¸·à¹à¸à¹à¸£à¸·à¹à¸à¸
+customize-mode-uidensity-menu-touch =
+ .label = สัมà¸à¸±à¸ª
+ .accesskey = ส
+ .tooltiptext = สัมà¸à¸±à¸ª
+customize-mode-uidensity-auto-touch-mode-checkbox =
+ .label = à¹à¸à¹à¸à¸²à¸£à¸ªà¸±à¸¡à¸à¸±à¸ªà¸ªà¸³à¸«à¸£à¸±à¸à¹à¸«à¸¡à¸à¹à¸à¹à¸à¹à¸¥à¹à¸
+customize-mode-lwthemes =
+ .label = à¸à¸¸à¸à¸à¸à¹à¸à¹à¸
+customize-mode-overflow-list-description = ลาà¸à¹à¸¥à¹à¸§à¸à¸¥à¹à¸à¸¢à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸µà¹à¸à¸µà¹à¹à¸à¸·à¹à¸à¹à¸à¹à¸à¸£à¸²à¸¢à¸à¸²à¸£à¹à¸§à¹à¹à¸à¸¥à¹à¹à¸à¸·à¹à¸à¸¡à¹à¸à¹à¸à¸¢à¸¹à¹à¸à¸à¸à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸à¸à¸à¸¸à¸â¦
+customize-mode-uidensity-menu-normal =
+ .label = à¸à¸à¸à¸´
+ .accesskey = à¸
+ .tooltiptext = à¸à¸à¸à¸´
+customize-mode-uidensity-menu-compact-unsupported =
+ .label = à¸à¸°à¸à¸±à¸à¸£à¸±à¸ (à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸)
+ .accesskey = à¸
+ .tooltiptext = à¸à¸°à¸à¸±à¸à¸£à¸±à¸ (à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸)
+customize-mode-lwthemes-menu-get-more =
+ .label = รัà¸à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+ .accesskey = ร
+customize-mode-undo-cmd =
+ .label = à¹à¸¥à¸´à¸à¸à¸³
+customize-mode-lwthemes-my-themes =
+ .value = à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¸à¸à¸à¸à¸±à¸
+customize-mode-lwthemes-link = à¸à¸±à¸à¸à¸²à¸£à¸à¸¸à¸à¸à¸à¹à¸à¹à¸
+customize-mode-touchbar-cmd =
+ .label = à¸à¸£à¸±à¸à¹à¸à¹à¸à¹à¸à¸à¸ªà¸±à¸¡à¸à¸±à¸ªâ¦
+customize-mode-downloads-button-autohide =
+ .label = à¸à¹à¸à¸à¸à¸¸à¹à¸¡à¹à¸¡à¸·à¹à¸à¸§à¹à¸²à¸à¹à¸à¸¥à¹à¸²
diff --git a/browser/browser/defaultBrowserNotification.ftl b/browser/browser/defaultBrowserNotification.ftl
new file mode 100644
index 00000000000..e4495ebd674
--- /dev/null
+++ b/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 and tags surrounding it.
+default-browser-notification-message = à¸à¸±à¹à¸ { -brand-short-name } à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹? à¹à¸«à¹à¸à¸¸à¸à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¹à¸à¸¢à¹à¸²à¸à¸£à¸§à¸à¹à¸£à¹à¸§ à¸à¸¥à¸à¸à¸ ัย à¹à¸¥à¸°à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸¡à¸·à¹à¸à¹à¸à¸à¹à¸à¸²à¸¡à¸à¸µà¹à¸à¸¸à¸à¹à¸à¹à¹à¸§à¹à¸
+default-browser-notification-button =
+ .label = à¸à¸±à¹à¸à¹à¸à¹à¸à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+ .accesskey = à¸
+
+## 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 = à¸à¹à¸à¸à¸à¸²à¸£à¸à¸³à¹à¸«à¹ { -brand-short-name } à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸«à¸¥à¸±à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹
+default-browser-prompt-message-pin = à¸à¸³ { -brand-short-name } มาà¹à¸§à¹à¸à¸µà¹à¸à¸¥à¸²à¸¢à¸à¸´à¹à¸§à¸¡à¸·à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸¢à¸à¸³à¹à¸«à¹à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¹à¸¥à¸°à¸à¸±à¸à¸«à¸¡à¸¸à¸à¹à¸à¹à¸²à¸à¸±à¸à¹à¸à¸à¸à¸²à¸à¸à¸à¸à¸à¸¸à¸
+default-browser-prompt-message-pin-mac = à¹à¸«à¹ { -brand-short-name } à¸à¸¢à¸¹à¹à¹à¸à¸µà¸¢à¸à¸à¸¥à¸²à¸¢à¸à¸µà¹à¸§à¸à¸à¸à¸à¸¸à¸ â à¸à¸³à¹à¸«à¹à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¹à¸¥à¸°à¹à¸à¹à¸à¹à¸§à¹à¹à¸ Dock
+default-browser-prompt-button-primary-pin = à¸à¸³à¹à¸«à¹à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸«à¸¥à¸±à¸
+default-browser-prompt-title-alt = à¸à¹à¸à¸à¸à¸²à¸£à¸à¸³à¹à¸«à¹ { -brand-short-name } à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹
+default-browser-prompt-message-alt = รัà¸à¸à¸§à¸²à¸¡à¹à¸£à¹à¸§ à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย à¹à¸¥à¸°à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸à¸à¸¸à¸à¸à¸£à¸±à¹à¸à¸à¸µà¹à¸à¸¸à¸à¹à¸£à¸µà¸¢à¸à¸à¸¹
+default-browser-prompt-button-primary-alt = à¸à¸±à¹à¸à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+default-browser-prompt-checkbox-not-again-label = à¸à¸¢à¹à¸²à¹à¸ªà¸à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸à¸µà¸
+default-browser-prompt-button-secondary = à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸à¸µà¹
diff --git a/browser/browser/downloads.ftl b/browser/browser/downloads.ftl
new file mode 100644
index 00000000000..d29368d5386
--- /dev/null
+++ b/browser/browser/downloads.ftl
@@ -0,0 +1,204 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+downloads-panel =
+ .aria-label = à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+
+##
+
+# 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-list =
+ .style = width: 70ch
+# 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 = หยุà¸à¸à¸±à¹à¸§à¸à¸£à¸²à¸§
+ .accesskey = ห
+downloads-cmd-resume =
+ .label = à¸à¸³à¸à¹à¸
+ .accesskey = à¸
+downloads-cmd-cancel =
+ .tooltiptext = ยà¸à¹à¸¥à¸´à¸
+downloads-cmd-cancel-panel =
+ .aria-label = ยà¸à¹à¸¥à¸´à¸
+# This message is only displayed on Windows and Linux devices
+downloads-cmd-show-menuitem =
+ .label = à¹à¸à¸´à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸µà¹à¸à¸£à¸£à¸à¸¸
+ .accesskey = à¸
+# This message is only displayed on macOS devices
+downloads-cmd-show-menuitem-mac =
+ .label = à¹à¸ªà¸à¸à¹à¸ Finder
+ .accesskey = F
+downloads-cmd-show-menuitem-2 =
+ .label =
+ { PLATFORM() ->
+ [macos] à¹à¸ªà¸à¸à¹à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹
+ *[other] à¹à¸ªà¸à¸à¹à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹
+ }
+ .accesskey = à¸
+downloads-cmd-use-system-default =
+ .label = à¹à¸à¸´à¸à¹à¸à¸à¸±à¸§à¸à¸¹à¸à¸à¸à¸£à¸°à¸à¸
+ .accesskey = à¸
+# 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 = à¹à¸à¸´à¸à¹à¸à¸à¸±à¸§à¸à¸¹à¸à¸à¸à¸£à¸°à¸à¸à¹à¸ªà¸¡à¸
+ .accesskey = ส
+downloads-cmd-show-button =
+ .tooltiptext =
+ { PLATFORM() ->
+ [macos] à¹à¸ªà¸à¸à¹à¸ Finder
+ *[other] à¹à¸à¸´à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸µà¹à¸à¸£à¸£à¸à¸¸
+ }
+downloads-cmd-show-panel =
+ .aria-label =
+ { PLATFORM() ->
+ [macos] à¹à¸ªà¸à¸à¹à¸ Finder
+ *[other] à¹à¸à¸´à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸µà¹à¸à¸£à¸£à¸à¸¸
+ }
+downloads-cmd-show-description =
+ .value =
+ { PLATFORM() ->
+ [macos] à¹à¸ªà¸à¸à¹à¸ Finder
+ *[other] à¹à¸à¸´à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸µà¹à¸à¸£à¸£à¸à¸¸
+ }
+# 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 = à¹à¸à¸´à¸à¹à¸à¸¥à¹à¸à¸µà¹à¸à¸¥à¹à¸²à¸¢à¸à¸±à¸à¹à¸ªà¸¡à¸
+ .accesskey = ส
+downloads-cmd-show-button-2 =
+ .tooltiptext =
+ { PLATFORM() ->
+ [macos] à¹à¸ªà¸à¸à¹à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹
+ *[other] à¹à¸ªà¸à¸à¹à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹
+ }
+downloads-cmd-show-panel-2 =
+ .aria-label =
+ { PLATFORM() ->
+ [macos] à¹à¸ªà¸à¸à¹à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹
+ *[other] à¹à¸ªà¸à¸à¹à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹
+ }
+downloads-cmd-show-description-2 =
+ .value =
+ { PLATFORM() ->
+ [macos] à¹à¸ªà¸à¸à¹à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹
+ *[other] à¹à¸ªà¸à¸à¹à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹
+ }
+downloads-cmd-show-downloads =
+ .label = à¹à¸ªà¸à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+downloads-cmd-retry =
+ .tooltiptext = ลà¸à¸à¹à¸«à¸¡à¹
+downloads-cmd-retry-panel =
+ .aria-label = ลà¸à¸à¹à¸«à¸¡à¹
+downloads-cmd-go-to-download-page =
+ .label = à¹à¸à¸¢à¸±à¸à¸«à¸à¹à¸²à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+ .accesskey = à¸
+downloads-cmd-copy-download-link =
+ .label = à¸à¸±à¸à¸¥à¸à¸à¸¥à¸´à¸à¸à¹à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+ .accesskey = ล
+downloads-cmd-remove-from-history =
+ .label = à¹à¸à¸²à¸à¸à¸à¸à¸²à¸à¸à¸£à¸°à¸§à¸±à¸à¸´
+ .accesskey = à¸
+downloads-cmd-clear-list =
+ .label = ลà¹à¸²à¸à¹à¸à¸à¹à¸ªà¸à¸à¸à¸±à¸§à¸à¸¢à¹à¸²à¸
+ .accesskey = à¸
+downloads-cmd-clear-downloads =
+ .label = ลà¹à¸²à¸à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+ .accesskey = à¸
+# This command is shown in the context menu when downloads are blocked.
+downloads-cmd-unblock =
+ .label = à¸à¸à¸¸à¸à¸²à¸à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+ .accesskey = à¸
+# This is the tooltip of the action button shown when malware is blocked.
+downloads-cmd-remove-file =
+ .tooltiptext = à¹à¸à¸²à¹à¸à¸¥à¹à¸à¸à¸
+downloads-cmd-remove-file-panel =
+ .aria-label = à¹à¸à¸²à¹à¸à¸¥à¹à¸à¸à¸
+# 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 = à¹à¸à¸²à¹à¸à¸¥à¹à¸à¸à¸à¸«à¸£à¸·à¸à¸à¸à¸¸à¸à¸²à¸à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+downloads-cmd-choose-unblock-panel =
+ .aria-label = à¹à¸à¸²à¹à¸à¸¥à¹à¸à¸à¸à¸«à¸£à¸·à¸à¸à¸à¸¸à¸à¸²à¸à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+# 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 = à¹à¸à¸´à¸à¸«à¸£à¸·à¸à¹à¸à¸²à¹à¸à¸¥à¹à¸à¸à¸
+downloads-cmd-choose-open-panel =
+ .aria-label = à¹à¸à¸´à¸à¸«à¸£à¸·à¸à¹à¸à¸²à¹à¸à¸¥à¹à¸à¸à¸
+# 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 = à¹à¸ªà¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+# 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 = à¹à¸à¸´à¸à¹à¸à¸¥à¹
+
+## 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 = à¸à¸°à¹à¸à¸´à¸à¹à¸à¸à¸µà¸ { $hours } à¸à¸±à¹à¸§à¹à¸¡à¸ { $minutes } à¸à¸²à¸à¸µâ¦
+downloading-file-opens-in-minutes = à¸à¸°à¹à¸à¸´à¸à¹à¸à¸à¸µà¸ { $minutes } à¸à¸²à¸à¸µâ¦
+downloading-file-opens-in-minutes-and-seconds = à¸à¸°à¹à¸à¸´à¸à¹à¸à¸à¸µà¸ { $minutes } à¸à¸²à¸à¸µ { $seconds } วิà¸à¸²à¸à¸µâ¦
+downloading-file-opens-in-seconds = à¸à¸°à¹à¸à¸´à¸à¹à¸à¸à¸µà¸ { $seconds } วิà¸à¸²à¸à¸µâ¦
+downloading-file-opens-in-some-time = à¸à¸°à¹à¸à¸´à¸à¹à¸¡à¸·à¹à¸à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹à¹à¸¥à¹à¸§â¦
+
+##
+
+# 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 = ลà¸à¸à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¹à¸«à¸¡à¹
+# 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 = ยà¸à¹à¸¥à¸´à¸à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+# 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 = à¹à¸ªà¸à¸à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+ .accesskey = ส
+# 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 = รายละà¹à¸à¸µà¸¢à¸à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+downloads-clear-downloads-button =
+ .label = ลà¹à¸²à¸à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+ .tooltiptext = ลà¹à¸²à¸à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸à¸µà¹à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹ à¸à¸¹à¸à¸¢à¸à¹à¸¥à¸´à¸ à¹à¸¥à¸°à¸¥à¹à¸¡à¹à¸«à¸¥à¸§
+# 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 = à¹à¸¡à¹à¸¡à¸µà¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+# This string is shown when there are no items in the Downloads Panel.
+downloads-panel-empty =
+ .value = à¹à¸¡à¹à¸¡à¸µà¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¹à¸à¸§à¸²à¸£à¸°à¸à¸µà¹
+# 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 } à¹à¸à¸¥à¹à¸à¸³à¸¥à¸±à¸à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸à¸¢à¸¹à¹
+ }
diff --git a/browser/browser/editBookmarkOverlay.ftl b/browser/browser/editBookmarkOverlay.ftl
new file mode 100644
index 00000000000..2c9343cd478
--- /dev/null
+++ b/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 = à¸à¸·à¹à¸
+ .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 = à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸
+ .accesskey = L
+
+bookmark-overlay-choose =
+ .label = à¹à¸¥à¸·à¸à¸â¦
+
+bookmark-overlay-folders-expander =
+ .tooltiptext = à¹à¸ªà¸à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸±à¹à¸à¸«à¸¡à¸
+ .tooltiptextdown = { bookmark-overlay-folders-expander.tooltiptext }
+ .tooltiptextup = à¸à¹à¸à¸
+
+bookmark-overlay-new-folder-button =
+ .label = à¹à¸à¸¥à¹à¸à¸à¸£à¹à¹à¸«à¸¡à¹
+ .accesskey = à¸
+
+bookmark-overlay-tags-2 =
+ .value = à¸à¹à¸²à¸¢à¸à¸³à¸à¸±à¸
+ .accesskey = T
+
+bookmark-overlay-tags-empty-description =
+ .placeholder = à¹à¸à¹à¸à¸à¹à¸²à¸¢à¸à¸³à¸à¸±à¸à¸à¹à¸§à¸¢à¸à¸¸à¸¥à¸ าà¸
+
+bookmark-overlay-tags-expander =
+ .tooltiptext = à¹à¸ªà¸à¸à¸à¹à¸²à¸¢à¸à¸³à¸à¸±à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+ .tooltiptextdown = { bookmark-overlay-tags-expander.tooltiptext }
+ .tooltiptextup = à¸à¹à¸à¸
+
+bookmark-overlay-keyword-2 =
+ .value = à¸à¸³à¸ªà¸³à¸à¸±à¸
+ .accesskey = K
+
+bookmark-overlay-tags-caption-label = à¹à¸à¹à¸à¹à¸²à¸¢à¸à¸³à¸à¸±à¸à¹à¸à¸·à¹à¸à¸à¸±à¸à¸£à¸°à¹à¸à¸µà¸¢à¸à¹à¸¥à¸°à¸à¹à¸à¸«à¸²à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸à¹à¸à¸²à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
+
+bookmark-overlay-keyword-caption-label-2 = à¹à¸à¹à¸à¸³à¸ªà¸³à¸à¸±à¸à¸à¸³à¹à¸à¸µà¸¢à¸§à¹à¸à¸·à¹à¸à¹à¸à¸´à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸à¸¢à¸à¸£à¸à¸à¸²à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
diff --git a/browser/browser/menubar.ftl b/browser/browser/menubar.ftl
new file mode 100644
index 00000000000..bf93459ced5
--- /dev/null
+++ b/browser/browser/menubar.ftl
@@ -0,0 +1,338 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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.
+
+
+## Application Menu (macOS only)
+
+menu-application-preferences =
+ .label = à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸¥à¸±à¸à¸©à¸à¸°
+menu-application-services =
+ .label = à¸à¸£à¸´à¸à¸²à¸£
+menu-application-hide-this =
+ .label = à¸à¹à¸à¸ { -brand-shorter-name }
+menu-application-hide-other =
+ .label = à¸à¹à¸à¸à¸à¸·à¹à¸ à¹
+menu-application-show-all =
+ .label = à¹à¸ªà¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+menu-application-touch-bar =
+ .label = à¸à¸£à¸±à¸à¹à¸à¹à¸à¹à¸à¸à¸ªà¸±à¸¡à¸à¸±à¸ªâ¦
+
+##
+
+# These menu-quit strings are only used on Windows and Linux.
+menu-quit =
+ .label =
+ { PLATFORM() ->
+ [windows] à¸à¸à¸
+ *[other] à¸à¸à¸
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] à¸
+ *[other] à¸
+ }
+# This menu-quit-mac string is only used on macOS.
+menu-quit-mac =
+ .label = à¸à¸à¸à¸à¸²à¸ { -brand-shorter-name }
+# This menu-quit-button string is only used on Linux.
+menu-quit-button =
+ .label = { menu-quit.label }
+# This menu-quit-button-win string is only used on Windows.
+menu-quit-button-win =
+ .label = { menu-quit.label }
+ .tooltip = à¸à¸à¸à¸à¸²à¸ { -brand-shorter-name }
+menu-about =
+ .label = à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸ { -brand-shorter-name }
+ .accesskey = à¸
+
+## File Menu
+
+menu-file =
+ .label = à¹à¸à¸¥à¹
+ .accesskey = à¸
+menu-file-new-tab =
+ .label = à¹à¸à¹à¸à¹à¸«à¸¡à¹
+ .accesskey = à¸
+menu-file-new-container-tab =
+ .label = à¹à¸à¹à¸à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸«à¸¡à¹
+ .accesskey = ย
+menu-file-new-window =
+ .label = หà¸à¹à¸²à¸à¹à¸²à¸à¹à¸«à¸¡à¹
+ .accesskey = ห
+menu-file-new-private-window =
+ .label = หà¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸«à¸¡à¹
+ .accesskey = ส
+# "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 = à¹à¸à¸´à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸â¦
+menu-file-open-file =
+ .label = à¹à¸à¸´à¸à¹à¸à¸¥à¹â¦
+ .accesskey = à¸
+menu-file-close =
+ .label = à¸à¸´à¸
+ .accesskey = à¸
+# Variables:
+# $tabCount (Number): the number of tabs that are affected by the action.
+menu-file-close-tab =
+ .label =
+ { $tabCount ->
+ [1] à¸à¸´à¸à¹à¸à¹à¸
+ *[other] à¸à¸´à¸ { $tabCount } à¹à¸à¹à¸
+ }
+ .accesskey = à¸
+menu-file-close-window =
+ .label = à¸à¸´à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸
+ .accesskey = à¸
+menu-file-save-page =
+ .label = à¸à¸±à¸à¸à¸¶à¸à¸«à¸à¹à¸²à¹à¸à¹à¸â¦
+ .accesskey = à¸
+menu-file-email-link =
+ .label = สà¹à¸à¸à¸µà¹à¸¡à¸¥à¸¥à¸´à¸à¸à¹â¦
+ .accesskey = ล
+menu-file-share-url =
+ .label = à¹à¸à¹à¸à¸à¸±à¸
+ .accesskey = h
+menu-file-print-setup =
+ .label = à¸à¸±à¹à¸à¸à¹à¸²à¸«à¸à¹à¸²à¸à¸£à¸°à¸à¸²à¸©â¦
+ .accesskey = ร
+menu-file-print-preview =
+ .label = à¸à¸±à¸§à¸à¸¢à¹à¸²à¸à¸à¹à¸à¸à¸à¸´à¸¡à¸à¹
+ .accesskey = à¸
+menu-file-print =
+ .label = à¸à¸´à¸¡à¸à¹â¦
+ .accesskey = à¸
+menu-file-import-from-another-browser =
+ .label = à¸à¸³à¹à¸à¹à¸²à¸à¸²à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸·à¹à¸â¦
+ .accesskey = à¸
+menu-file-go-offline =
+ .label = à¸à¸³à¸à¸²à¸à¸à¸à¸à¹à¸¥à¸à¹
+ .accesskey = à¸
+
+## Edit Menu
+
+menu-edit =
+ .label = à¹à¸à¹à¹à¸
+ .accesskey = à¸
+menu-edit-find-in-page =
+ .label = à¸à¹à¸à¸«à¸²à¹à¸à¸«à¸à¹à¸²â¦
+ .accesskey = à¸
+menu-edit-find-again =
+ .label = à¸à¹à¸à¸«à¸²à¸à¸µà¸à¸à¸£à¸±à¹à¸
+ .accesskey = à¸
+menu-edit-bidi-switch-text-direction =
+ .label = สลัà¸à¸à¸´à¸¨à¸à¸²à¸à¸à¹à¸à¸à¸§à¸²à¸¡
+ .accesskey = ล
+
+## View Menu
+
+menu-view =
+ .label = มุมมà¸à¸
+ .accesskey = ม
+menu-view-toolbars-menu =
+ .label = à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸
+ .accesskey = à¸
+menu-view-customize-toolbar2 =
+ .label = à¸à¸£à¸±à¸à¹à¸à¹à¸à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸â¦
+ .accesskey = à¸
+menu-view-sidebar =
+ .label = à¹à¸à¸à¸à¹à¸²à¸
+ .accesskey = à¸
+menu-view-bookmarks =
+ .label = à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+menu-view-history-button =
+ .label = à¸à¸£à¸°à¸§à¸±à¸à¸´
+menu-view-synced-tabs-sidebar =
+ .label = à¹à¸à¹à¸à¸à¸µà¹à¸à¸´à¸à¸à¹
+menu-view-full-zoom =
+ .label = à¸à¸¹à¸¡
+ .accesskey = ม
+menu-view-full-zoom-enlarge =
+ .label = à¸à¸¹à¸¡à¹à¸à¹à¸²
+ .accesskey = ม
+menu-view-full-zoom-reduce =
+ .label = à¸à¸¹à¸¡à¸à¸à¸
+ .accesskey = à¸
+menu-view-full-zoom-actual-size =
+ .label = à¸à¸à¸²à¸à¸à¸£à¸´à¸
+ .accesskey = à¸
+menu-view-full-zoom-toggle =
+ .label = à¸à¸¹à¸¡à¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸à¹à¸²à¸à¸±à¹à¸
+ .accesskey = à¸
+menu-view-page-style-menu =
+ .label = ลัà¸à¸©à¸à¸°à¸«à¸à¹à¸²
+ .accesskey = ล
+menu-view-page-style-no-style =
+ .label = à¹à¸¡à¹à¸¡à¸µà¸¥à¸±à¸à¸©à¸à¸°
+ .accesskey = ม
+menu-view-page-basic-style =
+ .label = ลัà¸à¸©à¸à¸°à¸«à¸à¹à¸²à¸à¸·à¹à¸à¸à¸²à¸
+ .accesskey = ล
+menu-view-repair-text-encoding =
+ .label = à¸à¹à¸à¸¡à¹à¸à¸¡à¸£à¸«à¸±à¸ªà¸à¸±à¸à¸à¸£à¸°à¸à¹à¸à¸à¸§à¸²à¸¡
+ .accesskey = ร
+
+## These should match what Safari and other Apple applications
+## use on macOS.
+
+menu-view-enter-full-screen =
+ .label = à¹à¸à¹à¸²à¸ªà¸¹à¹à¸ าà¸à¹à¸à¹à¸¡à¸«à¸à¹à¸²à¸à¸
+ .accesskey = à¸
+menu-view-exit-full-screen =
+ .label = à¸à¸à¸à¸à¸²à¸à¸ าà¸à¹à¸à¹à¸¡à¸«à¸à¹à¸²à¸à¸
+ .accesskey = à¸
+menu-view-full-screen =
+ .label = à¹à¸à¹à¸¡à¸«à¸à¹à¸²à¸à¸
+ .accesskey = à¸
+
+##
+
+menu-view-show-all-tabs =
+ .label = à¹à¸ªà¸à¸à¹à¸à¹à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+ .accesskey = ส
+menu-view-bidi-switch-page-direction =
+ .label = สลัà¸à¸à¸´à¸¨à¸à¸²à¸à¸«à¸à¹à¸²à¸à¸£à¸°à¸à¸²à¸©
+ .accesskey = ส
+
+## History Menu
+
+menu-history =
+ .label = à¸à¸£à¸°à¸§à¸±à¸à¸´
+ .accesskey = à¸
+menu-history-show-all-history =
+ .label = à¹à¸ªà¸à¸à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸±à¹à¸à¸«à¸¡à¸
+menu-history-clear-recent-history =
+ .label = ลà¹à¸²à¸à¸à¸£à¸°à¸§à¸±à¸à¸´à¸¥à¹à¸²à¸ªà¸¸à¸â¦
+menu-history-synced-tabs =
+ .label = à¹à¸à¹à¸à¸à¸µà¹à¸à¸´à¸à¸à¹
+menu-history-restore-last-session =
+ .label = à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¸§à¸²à¸£à¸°à¸à¹à¸à¸à¸«à¸à¹à¸²
+menu-history-hidden-tabs =
+ .label = à¹à¸à¹à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¸¢à¸¹à¹
+menu-history-undo-menu =
+ .label = à¹à¸à¹à¸à¸à¸µà¹à¸à¸´à¸à¸¥à¹à¸²à¸ªà¸¸à¸
+menu-history-undo-window-menu =
+ .label = หà¸à¹à¸²à¸à¹à¸²à¸à¸à¸µà¹à¸à¸´à¸à¸¥à¹à¸²à¸ªà¸¸à¸
+menu-history-reopen-all-tabs = à¹à¸à¸´à¸à¹à¸à¹à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¹à¸«à¸¡à¹
+menu-history-reopen-all-windows = à¹à¸à¸´à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¹à¸«à¸¡à¹
+
+## Bookmarks Menu
+
+menu-bookmarks-menu =
+ .label = à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+ .accesskey = à¸
+menu-bookmarks-manage =
+ .label = à¸à¸±à¸à¸à¸²à¸£à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+menu-bookmark-current-tab =
+ .label = à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸à¹à¸à¸à¸±à¸à¸à¸¸à¸à¸±à¸
+menu-bookmark-edit =
+ .label = à¹à¸à¹à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸µà¹
+menu-bookmarks-all-tabs =
+ .label = à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¹à¸à¸à¸±à¹à¸à¸«à¸¡à¸â¦
+menu-bookmarks-toolbar =
+ .label = à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+menu-bookmarks-other =
+ .label = à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸·à¹à¸ à¹
+menu-bookmarks-mobile =
+ .label = à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸à¸¡à¸·à¸à¸à¸·à¸
+
+## Tools Menu
+
+menu-tools =
+ .label = à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸
+ .accesskey = à¸
+menu-tools-downloads =
+ .label = à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+ .accesskey = à¸
+menu-tools-addons-and-themes =
+ .label = สà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¹à¸¥à¸°à¸à¸¸à¸à¸à¸à¹à¸à¹à¸
+ .accesskey = ส
+menu-tools-fxa-sign-in2 =
+ .label = ลà¸à¸à¸·à¹à¸à¹à¸à¹à¸²
+ .accesskey = ล
+menu-tools-turn-on-sync2 =
+ .label = à¹à¸à¸´à¸ Syncâ¦
+ .accesskey = à¹
+menu-tools-sync-now =
+ .label = à¸à¸´à¸à¸à¹à¸à¸à¸à¸à¸µà¹
+ .accesskey = à¸
+menu-tools-fxa-re-auth =
+ .label = à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¸ { -brand-product-name }â¦
+ .accesskey = R
+menu-tools-browser-tools =
+ .label = à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹
+ .accesskey = à¸
+menu-tools-task-manager =
+ .label = à¸à¸±à¸§à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸
+ .accesskey = à¸
+menu-tools-page-source =
+ .label = à¸à¹à¸à¸à¸à¸±à¸à¸«à¸à¹à¸²
+ .accesskey = à¸
+menu-tools-page-info =
+ .label = à¸à¹à¸à¸¡à¸¹à¸¥à¸«à¸à¹à¸²
+ .accesskey = à¸
+menu-settings =
+ .label = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²
+ .accesskey =
+ { PLATFORM() ->
+ [windows] à¸
+ *[other] า
+ }
+menu-tools-layout-debugger =
+ .label = à¸à¸±à¸§à¸à¸µà¸à¸±à¹à¸à¹à¸à¹à¸²à¹à¸à¸£à¸
+ .accesskey = à¸
+
+## Window Menu
+
+menu-window-menu =
+ .label = หà¸à¹à¸²à¸à¹à¸²à¸
+menu-window-bring-all-to-front =
+ .label = à¸à¸³à¸à¸±à¹à¸à¸«à¸¡à¸à¸¡à¸²à¸à¹à¸²à¸à¸«à¸à¹à¸²
+
+## 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 = à¸à¹à¸§à¸¢à¹à¸«à¸¥à¸·à¸
+ .accesskey = à¸
+menu-get-help =
+ .label = รัà¸à¸à¸§à¸²à¸¡à¸à¹à¸§à¸¢à¹à¸«à¸¥à¸·à¸
+ .accesskey = à¸
+menu-help-more-troubleshooting-info =
+ .label = à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸£à¹à¸à¹à¹à¸à¸à¸±à¸à¸«à¸²à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+ .accesskey = à¸
+menu-help-report-site-issue =
+ .label = รายà¸à¸²à¸à¸à¸±à¸à¸«à¸²à¹à¸à¸à¹â¦
+menu-help-feedback-page =
+ .label = สà¹à¸à¸à¹à¸à¸à¸´à¸à¹à¸«à¹à¸â¦
+ .accesskey = ส
+menu-help-enter-troubleshoot-mode2 =
+ .label = à¹à¸«à¸¡à¸à¹à¸à¹à¹à¸à¸à¸±à¸à¸«à¸²â¦
+ .accesskey = ห
+menu-help-exit-troubleshoot-mode =
+ .label = à¸à¸´à¸à¹à¸«à¸¡à¸à¹à¸à¹à¹à¸à¸à¸±à¸à¸«à¸²
+ .accesskey = à¸
+# Label of the Help menu item. Either this or
+# menu-help-notdeceptive is shown.
+menu-help-report-deceptive-site =
+ .label = รายà¸à¸²à¸à¹à¸à¸à¹à¸«à¸¥à¸à¸à¸¥à¸§à¸â¦
+ .accesskey = ห
+menu-help-not-deceptive =
+ .label = à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¹à¸à¸à¹à¸«à¸¥à¸à¸à¸¥à¸§à¸â¦
+ .accesskey = ห
diff --git a/browser/browser/migration.ftl b/browser/browser/migration.ftl
new file mode 100644
index 00000000000..e79eed02b02
--- /dev/null
+++ b/browser/browser/migration.ftl
@@ -0,0 +1,148 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+migration-wizard =
+ .title = à¸à¸±à¸§à¸à¹à¸§à¸¢à¸à¸³à¹à¸à¹à¸²
+import-from =
+ { PLATFORM() ->
+ [windows] à¸à¸³à¹à¸à¹à¸²à¸à¸±à¸§à¹à¸¥à¸·à¸à¸, à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸², à¸à¸£à¸°à¸§à¸±à¸à¸´, รหัสà¸à¹à¸²à¸ à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸·à¹à¸ ๠à¸à¸²à¸:
+ *[other] à¸à¸³à¹à¸à¹à¸²à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸¥à¸±à¸à¸©à¸à¸°, à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸², à¸à¸£à¸°à¸§à¸±à¸à¸´, รหัสà¸à¹à¸²à¸ à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸·à¹à¸ ๠à¸à¸²à¸:
+ }
+import-from-bookmarks = à¸à¸³à¹à¸à¹à¸²à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸²à¸:
+import-from-ie =
+ .label = Microsoft Internet Explorer
+ .accesskey = M
+import-from-edge =
+ .label = Microsoft Edge
+ .accesskey = E
+import-from-edge-legacy =
+ .label = Microsoft Edge Legacy
+ .accesskey = L
+import-from-edge-beta =
+ .label = Microsoft Edge Beta
+ .accesskey = d
+import-from-nothing =
+ .label = à¹à¸¡à¹à¸à¸³à¹à¸à¹à¸²à¸ªà¸´à¹à¸à¹à¸
+ .accesskey = ม
+import-from-safari =
+ .label = Safari
+ .accesskey = S
+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
+no-migration-sources = à¹à¸¡à¹à¸à¸à¹à¸à¸£à¹à¸à¸£à¸¡à¸à¸µà¹à¸¡à¸µà¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸², à¸à¸£à¸°à¸§à¸±à¸à¸´ หรืà¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸
+import-source-page-title = à¸à¸³à¹à¸à¹à¸²à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥
+import-items-page-title = รายà¸à¸²à¸£à¸à¸µà¹à¸à¸°à¸à¸³à¹à¸à¹à¸²
+import-items-description = à¹à¸¥à¸·à¸à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸µà¹à¸à¸°à¸à¸³à¹à¸à¹à¸²:
+import-permissions-page-title = à¹à¸à¸£à¸à¸¡à¸à¸à¸ªà¸´à¸à¸à¸´à¸à¸à¸¸à¸à¸²à¸à¹à¸à¹ { -brand-short-name }
+# Do not translate "Bookmarks.plist"; the file name is the same everywhere.
+import-permissions-description = macOS à¸à¹à¸à¸à¸à¸²à¸£à¹à¸«à¹à¸à¸¸à¸à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ { -brand-short-name } à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸à¸ Safari à¸à¸¢à¹à¸²à¸à¸à¸±à¸à¹à¸à¸ à¸à¸¥à¸´à¸ âà¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸â à¹à¸¥à¹à¸§à¹à¸¥à¸·à¸à¸à¹à¸à¸¥à¹ âBookmarks.plistâ à¹à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸´à¸à¹à¸à¸¥à¹à¸à¸µà¹à¸à¸£à¸²à¸à¸
+import-migrating-page-title = à¸à¸³à¸¥à¸±à¸à¸à¸³à¹à¸à¹à¸²â¦
+import-migrating-description = รายà¸à¸²à¸£à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸³à¸¥à¸±à¸à¸à¸¹à¸à¸à¸³à¹à¸à¹à¸²â¦
+import-select-profile-page-title = à¹à¸¥à¸·à¸à¸à¹à¸à¸£à¹à¸à¸¥à¹
+import-select-profile-description = à¹à¸à¸£à¹à¸à¸¥à¹à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸£à¹à¸à¸¡à¸à¸µà¹à¸à¸°à¸à¸³à¹à¸à¹à¸²:
+import-done-page-title = à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸²à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹
+import-done-description = รายà¸à¸²à¸£à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸¹à¸à¸à¸³à¹à¸à¹à¸²à¹à¸à¹à¸ªà¸³à¹à¸£à¹à¸:
+import-close-source-browser = à¹à¸à¸£à¸à¹à¸à¹à¹à¸à¸§à¹à¸²à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸µà¹à¹à¸¥à¸·à¸à¸à¸à¸¹à¸à¸à¸´à¸à¹à¸¥à¹à¸§à¸à¹à¸à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸
+# Displays which browser the bookmarks are being imported from
+#
+# Variables:
+# $source (String): The browser the user has chosen to import bookmarks from.
+imported-bookmarks-source = à¸à¸²à¸ { $source }
+source-name-ie = Internet Explorer
+source-name-edge = Microsoft Edge
+source-name-edge-beta = Microsoft Edge Beta
+source-name-safari = Safari
+source-name-canary = Google Chrome Canary
+source-name-chrome = Google Chrome
+source-name-chrome-beta = Google Chrome Beta
+source-name-chrome-dev = Google Chrome Dev
+source-name-chromium = Chromium
+source-name-firefox = Mozilla Firefox
+source-name-360se = 360 Secure Browser
+imported-safari-reading-list = รายà¸à¸²à¸£à¸à¹à¸²à¸ (à¸à¸²à¸ Safari)
+imported-edge-reading-list = รายà¸à¸²à¸£à¸à¹à¸²à¸ (à¸à¸²à¸ 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 = à¸à¸¸à¸à¸à¸µà¹
+browser-data-cookies-label =
+ .value = à¸à¸¸à¸à¸à¸µà¹
+browser-data-history-checkbox =
+ .label =
+ { $browser ->
+ [firefox] à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸¥à¸°à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+ *[other] à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹
+ }
+browser-data-history-label =
+ .value =
+ { $browser ->
+ [firefox] à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸¥à¸°à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+ *[other] à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹
+ }
+browser-data-formdata-checkbox =
+ .label = à¸à¸£à¸°à¸§à¸±à¸à¸´à¹à¸à¸à¸à¸à¸£à¹à¸¡à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹
+browser-data-formdata-label =
+ .value = à¸à¸£à¸°à¸§à¸±à¸à¸´à¹à¸à¸à¸à¸à¸£à¹à¸¡à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹
+# 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 = à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸¥à¸°à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹
+# 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 = à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸¥à¸°à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹
+browser-data-bookmarks-checkbox =
+ .label =
+ { $browser ->
+ [ie] รายà¸à¸²à¸£à¹à¸à¸£à¸
+ [edge] รายà¸à¸²à¸£à¹à¸à¸£à¸
+ *[other] à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+ }
+browser-data-bookmarks-label =
+ .value =
+ { $browser ->
+ [ie] รายà¸à¸²à¸£à¹à¸à¸£à¸
+ [edge] รายà¸à¸²à¸£à¹à¸à¸£à¸
+ *[other] à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+ }
+browser-data-otherdata-checkbox =
+ .label = à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸·à¹à¸ à¹
+browser-data-otherdata-label =
+ .label = à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸·à¹à¸ à¹
+browser-data-session-checkbox =
+ .label = หà¸à¹à¸²à¸à¹à¸²à¸à¹à¸¥à¸°à¹à¸à¹à¸
+browser-data-session-label =
+ .value = หà¸à¹à¸²à¸à¹à¸²à¸à¹à¸¥à¸°à¹à¸à¹à¸
diff --git a/browser/browser/newInstallPage.ftl b/browser/browser/newInstallPage.ftl
new file mode 100644
index 00000000000..729b6295dad
--- /dev/null
+++ b/browser/browser/newInstallPage.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/.
+
+
+### For this feature, "installation" is used to mean "this discrete download of
+### Firefox" and "version" is used to mean "the specific revision number of a
+### given Firefox channel". These terms are not synonymous.
+
+title = à¸à¹à¸²à¸§à¸ªà¸³à¸à¸±à¸
+heading = à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸±à¸à¹à¸à¸£à¹à¸à¸¥à¹ { -brand-short-name } à¸à¸à¸à¸à¸¸à¸
+
+changed-title = à¸à¸°à¹à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸à¹à¸²à¸
+changed-desc-profiles = à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ { -brand-short-name } à¸à¸µà¹à¸¡à¸µà¹à¸à¸£à¹à¸à¸¥à¹à¹à¸«à¸¡à¹ à¹à¸à¸£à¹à¸à¸¥à¹à¸à¸·à¸à¸à¸¸à¸à¸à¸à¸à¹à¸à¸¥à¹à¸à¸µà¹ Firefox à¸à¸±à¸à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥ à¹à¸à¹à¸ à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸² รหัสà¸à¹à¸²à¸ à¹à¸¥à¸°à¸à¹à¸²à¸à¸³à¸«à¸à¸à¸à¸à¸à¸à¸¹à¹à¹à¸à¹
+changed-desc-dedicated = à¹à¸à¸·à¹à¸à¹à¸«à¹à¸ªà¸¥à¸±à¸à¸£à¸°à¸«à¸§à¹à¸²à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ Firefox (รวมà¸à¸¶à¸ Firefox, Firefox ESR, Firefox Beta, Firefox Developer Edition à¹à¸¥à¸° Firefox Nightly) à¹à¸à¹à¸à¹à¸²à¸¢à¸à¸¶à¹à¸ à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸µà¹à¸¡à¸µà¹à¸à¸£à¹à¸à¸¥à¹à¹à¸à¸à¸²à¸° à¸à¸¶à¹à¸à¸à¸°à¹à¸¡à¹à¹à¸à¹à¸à¸à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸¸à¸à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹à¸à¸±à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ Firefox à¸à¸·à¹à¸ ๠à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+
+lost = à¸à¸¸à¸à¸à¸°à¹à¸¡à¹à¸ªà¸¹à¸à¹à¸ªà¸µà¸¢à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¹à¸§à¸à¸à¸±à¸§à¸«à¸£à¸·à¸à¸à¸²à¸£à¸à¸£à¸±à¸à¹à¸à¹à¸à¹à¸ ๠หาà¸à¸à¸¸à¸à¸à¸±à¸à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸¢à¸±à¸ Firefox à¸à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¹à¸à¸£à¸·à¹à¸à¸à¸à¸µà¹à¹à¸¥à¹à¸§ à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸«à¸¥à¹à¸²à¸à¸±à¹à¸à¸à¸°à¸¢à¸±à¸à¸à¸à¸à¸£à¹à¸à¸¡à¹à¸à¹à¸à¸²à¸²à¸à¹à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ Firefox à¸à¸·à¹à¸
+
+options-title = à¸à¸±à¸§à¹à¸¥à¸·à¸à¸à¸à¸à¸à¸à¸±à¸à¸à¸·à¸à¸à¸°à¹à¸£
+options-do-nothing = หาà¸à¸à¸¸à¸à¹à¸¡à¹à¸à¸±à¸à¸ªà¸´à¸à¹à¸ à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸£à¹à¸à¸¥à¹à¸à¸à¸à¸à¸¸à¸à¹à¸ { -brand-short-name } à¸à¸°à¹à¸à¸à¸à¹à¸²à¸à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸£à¸à¸à¸à¸·à¹à¸à¸à¸à¸ Firefox
+options-use-sync = หาà¸à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸«à¹à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¹à¸à¸£à¹à¸à¸¥à¹à¸à¸à¸à¸à¸¸à¸à¹à¸«à¸¡à¸·à¸à¸à¸à¸±à¸à¹à¸à¸à¸¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ Firefox à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹ { -fxaccount-brand-name } à¹à¸à¸·à¹à¸à¸à¸µà¹à¸à¸°à¸à¸³à¹à¸«à¹à¸¡à¸±à¸à¸ªà¸à¸à¸à¸¥à¹à¸à¸à¸à¸±à¸à¹à¸à¹
+
+resources = à¸à¸£à¸±à¸à¸¢à¸²à¸à¸£:
+support-link = à¹à¸à¹à¸à¸²à¸à¸à¸±à¸§à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸£à¹à¸à¸¥à¹ - à¸à¸à¸à¸§à¸²à¸¡à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸
+
+sync-header = ลà¸à¸à¸·à¹à¸à¹à¸à¹à¸²à¸«à¸£à¸·à¸à¸ªà¸£à¹à¸²à¸ { -fxaccount-brand-name }
+sync-label = à¸à¹à¸à¸à¸à¸µà¹à¸¡à¸¥à¸à¸à¸à¸à¸¸à¸
+sync-input =
+ .placeholder = à¸à¸µà¹à¸¡à¸¥
+sync-button = à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸
+sync-terms = à¹à¸à¸·à¹à¸à¸à¸°à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸ à¸à¸¸à¸à¸à¹à¸à¸à¸¢à¸à¸¡à¸£à¸±à¸ à¸à¹à¸à¸à¸à¸¥à¸à¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£ à¹à¸¥à¸° à¹à¸¥à¸° à¸à¹à¸à¸à¸³à¸«à¸à¸à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+sync-first = à¹à¸à¹à¸à¸²à¸ { -sync-brand-name } à¹à¸à¹à¸à¸à¸£à¸±à¹à¸à¹à¸£à¸? à¸à¸¸à¸à¸à¸²à¸à¸à¹à¸à¸à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸à¸à¸¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ Firefox à¹à¸à¸·à¹à¸à¸à¸´à¸à¸à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¸à¸¸à¸
+sync-learn = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
diff --git a/browser/browser/newtab/asrouter.ftl b/browser/browser/newtab/asrouter.ftl
new file mode 100644
index 00000000000..9e7f474213b
--- /dev/null
+++ b/browser/browser/newtab/asrouter.ftl
@@ -0,0 +1,145 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = สà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸µà¹à¹à¸à¸°à¸à¸³
+cfr-doorhanger-feature-heading = à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸µà¹à¹à¸à¸°à¸à¸³
+
+##
+
+cfr-doorhanger-extension-sumo-link =
+ .tooltiptext = à¸à¸³à¹à¸¡à¸à¸±à¸à¸à¸¶à¸à¹à¸«à¹à¸à¸ªà¸´à¹à¸à¸à¸µà¹
+cfr-doorhanger-extension-cancel-button = à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸à¸µà¹
+ .accesskey = ม
+cfr-doorhanger-extension-ok-button = à¹à¸à¸´à¹à¸¡à¸à¸à¸à¸à¸µà¹
+ .accesskey = à¸
+cfr-doorhanger-extension-manage-settings-button = à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸³à¹à¸à¸°à¸à¸³
+ .accesskey = à¸
+cfr-doorhanger-extension-never-show-recommendation = à¹à¸¡à¹à¸à¹à¸à¸à¹à¸ªà¸à¸à¸à¸³à¹à¸à¸°à¸à¸³à¸à¸µà¹à¹à¸«à¹à¸à¸±à¸
+ .accesskey = ส
+cfr-doorhanger-extension-learn-more-link = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+# This string is used on a new line below the add-on name
+# Variables:
+# $name (String) - Add-on author name
+cfr-doorhanger-extension-author = à¹à¸à¸¢ { $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 = à¸à¸³à¹à¸à¸°à¸à¸³
+cfr-doorhanger-extension-notification2 = à¹à¸à¸°à¸à¸³
+ .tooltiptext = สà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸µà¹à¹à¸à¸°à¸à¸³
+ .a11y-announcement = สà¹à¸§à¸à¸à¸¢à¸²à¸¢à¹à¸à¸°à¸à¸³à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹
+# This is a notification displayed in the address bar.
+# When clicked it opens a panel with a message for the user.
+cfr-doorhanger-feature-notification = à¹à¸à¸°à¸à¸³
+ .tooltiptext = à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸µà¹à¹à¸à¸°à¸à¸³
+ .a11y-announcement = à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¹à¸à¸°à¸à¸³à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹
+
+## 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 } à¸à¸²à¸§
+ }
+# Variables:
+# $total (Number) - The total number of users using the add-on
+cfr-doorhanger-extension-total-users =
+ { $total ->
+ *[other] { $total } à¸à¸¹à¹à¹à¸à¹
+ }
+
+## Firefox Accounts Message
+
+cfr-doorhanger-bookmark-fxa-header = à¸à¸´à¸à¸à¹à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¸à¸¸à¸à¸à¸µà¹
+cfr-doorhanger-bookmark-fxa-body = à¹à¸¢à¸µà¹à¸¢à¸¡à¸¡à¸²à¸! à¸à¸à¸à¸à¸µà¹à¸à¸¢à¹à¸²à¸à¸à¸à¹à¸à¹à¸à¸¢à¹à¸¡à¹à¸¡à¸µà¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸µà¹à¸à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸¡à¸·à¸à¸à¸·à¸à¸à¸à¸à¸à¸¸à¸ à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸±à¸ { -fxaccount-brand-name }
+cfr-doorhanger-bookmark-fxa-link-text = à¸à¸´à¸à¸à¹à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸¸à¸à¸à¸à¸à¸à¸µà¹â¦
+cfr-doorhanger-bookmark-fxa-close-btn-tooltip =
+ .aria-label = à¸à¸¸à¹à¸¡à¸à¸´à¸
+ .title = à¸à¸´à¸
+
+## Protections panel
+
+cfr-protections-panel-header = à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¸¢à¹à¸¡à¹à¸à¹à¸à¸à¸¡à¸µà¹à¸à¸£à¸¡à¸²à¸à¸´à¸à¸à¸²à¸¡
+cfr-protections-panel-body = à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¸à¸¸à¸à¹à¸§à¹à¸à¸±à¸à¸à¸±à¸§à¸à¸¸à¸à¹à¸à¸ { -brand-short-name } à¸à¸à¸à¹à¸à¸à¸à¸¸à¸à¸à¸²à¸à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸à¸µà¹à¸à¸à¸à¹à¸à¸¢à¸à¸µà¹à¸ªà¸¸à¸à¸à¸¶à¹à¸à¸à¸´à¸à¸à¸²à¸¡à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸¸à¸à¸à¸³à¸à¸²à¸à¸à¸à¸à¹à¸¥à¸à¹
+cfr-protections-panel-link-text = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+## 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 = à¸à¸¸à¸à¸ªà¸¡à¸à¸±à¸à¸´à¹à¸«à¸¡à¹:
+cfr-whatsnew-button =
+ .label = มีà¸à¸°à¹à¸£à¹à¸«à¸¡à¹
+ .tooltiptext = มีà¸à¸°à¹à¸£à¹à¸«à¸¡à¹
+cfr-whatsnew-release-notes-link-text = à¸à¹à¸²à¸à¸à¸±à¸à¸à¸¶à¸à¸à¸£à¸°à¸à¸³à¸£à¸¸à¹à¸
+
+## 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 } à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸¡à¸²à¸à¸à¸§à¹à¸² { $blockedCount } à¸à¸±à¸§à¸à¸±à¹à¸à¹à¸à¹ { DATETIME($date, month: "long", year: "numeric") }!
+ }
+cfr-doorhanger-milestone-ok-button = à¸à¸¹à¸à¸±à¹à¸à¸«à¸¡à¸
+ .accesskey = à¸
+cfr-doorhanger-milestone-close-button = à¸à¸´à¸
+ .accesskey = C
+
+## DOH Message
+
+cfr-doorhanger-doh-body = à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸à¸à¸à¸¸à¸à¸ªà¸³à¸à¸±à¸ à¸à¸à¸à¸à¸µà¹ { -brand-short-name } à¸à¸°à¸à¸³à¸«à¸à¸à¹à¸ªà¹à¸à¸à¸²à¸à¸à¸³à¸à¸ DNS à¸à¸à¸à¸à¸¸à¸à¹à¸«à¹à¸à¸±à¸à¸à¸£à¸´à¸à¸²à¸£à¸à¸²à¸£à¹à¸à¹à¸à¸à¸£à¹à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัยà¹à¸¡à¸·à¹à¸à¹à¸à¸à¹à¸à¸²à¸¡à¸à¸µà¹à¹à¸à¹à¸à¹à¸à¹à¸à¹à¹à¸à¸·à¹à¸à¸à¸à¸à¹à¸à¸à¸à¸¸à¸à¹à¸à¸à¸à¸°à¸à¸µà¹à¸à¸¸à¸à¹à¸£à¸µà¸¢à¸à¸à¸¹
+cfr-doorhanger-doh-header = à¸à¸²à¸£à¸à¹à¸à¸«à¸² DNS à¸à¸µà¹à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¹à¸¥à¸°à¸à¸¥à¸à¸à¸ ัยยิà¹à¸à¸à¸¶à¹à¸
+cfr-doorhanger-doh-primary-button-2 = à¸à¸à¸¥à¸
+ .accesskey = à¸
+cfr-doorhanger-doh-secondary-button = à¸à¸´à¸à¹à¸à¹à¸à¸²à¸
+ .accesskey = D
+
+## Fission Experiment Message
+
+cfr-doorhanger-fission-body-approved = à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸à¸à¸à¸¸à¸à¸ªà¸³à¸à¸±à¸ à¸à¸à¸°à¸à¸µà¹ { -brand-short-name } à¸à¸°à¹à¸¢à¸à¸«à¸£à¸·à¸à¹à¸à¸à¸à¹à¸à¹à¸à¸à¸à¹à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸à¸à¸à¸²à¸à¸à¸±à¸ à¹à¸à¸·à¹à¸à¹à¸«à¹à¹à¸®à¸à¹à¸à¸à¸£à¹à¸à¹à¸¡à¸¢à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸ หมายà¹à¸¥à¸à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸ à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸¥à¸°à¹à¸à¸µà¸¢à¸à¸à¹à¸à¸à¸à¸·à¹à¸ ๠à¹à¸à¹à¸¢à¸²à¸à¸à¸¶à¹à¸
+cfr-doorhanger-fission-header = à¸à¸²à¸£à¹à¸¢à¸à¹à¸à¸à¹
+cfr-doorhanger-fission-primary-button = à¸à¸à¸¥à¸ à¹à¸à¹à¸²à¹à¸à¹à¸¥à¹à¸§
+ .accesskey = O
+cfr-doorhanger-fission-secondary-button = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+ .accesskey = L
+
+## Full Video Support CFR message
+
+cfr-doorhanger-video-support-body = วิà¸à¸µà¹à¸à¸à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸²à¸à¹à¸¥à¹à¸à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸à¹à¸ { -brand-short-name } à¹à¸§à¸à¸£à¹à¸à¸±à¸à¸à¸µà¹ สำหรัà¸à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸§à¸´à¸à¸µà¹à¸à¹à¸à¹à¸¡à¸£à¸¹à¸à¹à¸à¸ à¸à¸±à¸à¹à¸à¸ { -brand-short-name } à¸à¸±à¸à¸à¸µ
+cfr-doorhanger-video-support-header = à¸à¸±à¸à¹à¸à¸ { -brand-short-name } à¹à¸à¸·à¹à¸à¹à¸¥à¹à¸à¸§à¸´à¸à¸µà¹à¸
+cfr-doorhanger-video-support-primary-button = à¸à¸±à¸à¹à¸à¸à¸à¸à¸à¸à¸µà¹
+ .accesskey = U
+
+## Spotlight modal shared strings
+
+spotlight-learn-more-collapsed = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+ .title = à¸à¸¢à¸²à¸¢à¹à¸à¸·à¹à¸à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°
+spotlight-learn-more-expanded = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+ .title = à¸à¸´à¸
+
+## 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 = à¸à¸¹à¹à¸«à¸¡à¸·à¸à¸à¸§à¹à¸²à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¹à¸à¹ Wi-Fi สาà¸à¸²à¸£à¸à¸°
+spotlight-public-wifi-vpn-body = à¹à¸¡à¸·à¹à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¹à¸à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¹à¸¥à¸°à¸à¸´à¸à¸à¸£à¸£à¸¡à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹ à¹à¸«à¹à¹à¸à¹à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸ªà¸¡à¸·à¸à¸ à¸à¸¶à¹à¸à¸à¸°à¸à¹à¸§à¸¢à¸à¸à¸à¹à¸à¸à¸à¸¸à¸à¹à¸¡à¸·à¹à¸à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¸à¸µà¹à¸ªà¸²à¸à¸²à¸£à¸à¸° à¹à¸à¹à¸ สà¸à¸²à¸¡à¸à¸´à¸ à¹à¸¥à¸°à¸£à¹à¸²à¸à¸à¸²à¹à¸
+spotlight-public-wifi-vpn-primary-button = à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸¢à¸¹à¹à¹à¸ªà¸¡à¸à¸à¹à¸§à¸¢ { -mozilla-vpn-brand-name }
+ .accesskey = à¹
+spotlight-public-wifi-vpn-link = à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸à¸µà¹
+ .accesskey = N
+
+## Total Cookie Protection Rollout
+
+spotlight-total-cookie-protection-secondary-button = à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸à¸µà¹
diff --git a/browser/browser/newtab/newtab.ftl b/browser/browser/newtab/newtab.ftl
new file mode 100644
index 00000000000..b87cccb91d4
--- /dev/null
+++ b/browser/browser/newtab/newtab.ftl
@@ -0,0 +1,270 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = à¹à¸à¹à¸à¹à¸«à¸¡à¹
+newtab-settings-button =
+ .title = à¸à¸£à¸±à¸à¹à¸à¹à¸à¸«à¸à¹à¸²à¹à¸à¹à¸à¹à¸«à¸¡à¹à¸à¸à¸à¸à¸¸à¸
+newtab-personalize-icon-label =
+ .title = à¸à¸£à¸±à¸à¹à¸à¹à¸à¹à¸«à¸¡à¹à¹à¸«à¹à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+ .aria-label = à¸à¸£à¸±à¸à¹à¸à¹à¸à¹à¸«à¸¡à¹à¹à¸«à¹à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+newtab-personalize-dialog-label =
+ .aria-label = à¸à¸£à¸±à¸à¹à¸«à¹à¹à¸à¹à¸à¹à¸à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+
+## Search box component.
+
+# "Search" is a verb/action
+newtab-search-box-search-button =
+ .title = à¸à¹à¸à¸«à¸²
+ .aria-label = à¸à¹à¸à¸«à¸²
+# Variables
+# $engine (String): the name of the user's default search engine
+newtab-search-box-handoff-text = à¸à¹à¸à¸«à¸²à¸à¹à¸§à¸¢ { $engine } หรืà¸à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
+newtab-search-box-handoff-text-no-engine = à¸à¹à¸à¸«à¸²à¸«à¸£à¸·à¸à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
+# Variables
+# $engine (String): the name of the user's default search engine
+newtab-search-box-handoff-input =
+ .placeholder = à¸à¹à¸à¸«à¸²à¸à¹à¸§à¸¢ { $engine } หรืà¸à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
+ .title = à¸à¹à¸à¸«à¸²à¸à¹à¸§à¸¢ { $engine } หรืà¸à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
+ .aria-label = à¸à¹à¸à¸«à¸²à¸à¹à¸§à¸¢ { $engine } หรืà¸à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
+newtab-search-box-handoff-input-no-engine =
+ .placeholder = à¸à¹à¸à¸«à¸²à¸«à¸£à¸·à¸à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
+ .title = à¸à¹à¸à¸«à¸²à¸«à¸£à¸·à¸à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
+ .aria-label = à¸à¹à¸à¸«à¸²à¸«à¸£à¸·à¸à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
+newtab-search-box-search-the-web-input =
+ .placeholder = à¸à¹à¸à¸«à¸²à¹à¸§à¹à¸
+ .title = à¸à¹à¸à¸«à¸²à¹à¸§à¹à¸
+ .aria-label = à¸à¹à¸à¸«à¸²à¹à¸§à¹à¸
+newtab-search-box-text = à¸à¹à¸à¸«à¸²à¹à¸§à¹à¸
+newtab-search-box-input =
+ .placeholder = à¸à¹à¸à¸«à¸²à¹à¸§à¹à¸
+ .aria-label = à¸à¹à¸à¸«à¸²à¹à¸§à¹à¸
+
+## Top Sites - General form dialog.
+
+newtab-topsites-add-search-engine-header = à¹à¸à¸´à¹à¸¡à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²
+newtab-topsites-add-topsites-header = à¹à¸à¸à¹à¹à¸à¹à¸à¹à¸«à¸¡à¹
+newtab-topsites-add-shortcut-header = à¸à¸²à¸à¸¥à¸±à¸à¹à¸«à¸¡à¹
+newtab-topsites-edit-topsites-header = à¹à¸à¹à¹à¸à¹à¸à¸à¹à¹à¸à¹à¸
+newtab-topsites-edit-shortcut-header = à¹à¸à¹à¹à¸à¸à¸²à¸à¸¥à¸±à¸
+newtab-topsites-title-label = à¸à¸·à¹à¸à¹à¸£à¸·à¹à¸à¸
+newtab-topsites-title-input =
+ .placeholder = à¸à¹à¸à¸à¸à¸·à¹à¸à¹à¸£à¸·à¹à¸à¸
+newtab-topsites-url-label = URL
+newtab-topsites-url-input =
+ .placeholder = à¸à¸´à¸¡à¸à¹à¸«à¸£à¸·à¸à¸§à¸²à¸ URL
+newtab-topsites-url-validation = à¸à¹à¸à¸à¸à¸²à¸£ URL à¸à¸µà¹à¸à¸¹à¸à¸à¹à¸à¸
+newtab-topsites-image-url-label = URL ภาà¸à¸à¸µà¹à¸à¸³à¸«à¸à¸à¹à¸à¸
+newtab-topsites-use-image-link = à¹à¸à¹à¸ าà¸à¸à¸µà¹à¸à¸³à¸«à¸à¸à¹à¸à¸â¦
+newtab-topsites-image-validation = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸«à¸¥à¸à¸ าภลà¸à¸ URL à¸à¸·à¹à¸
+
+## Top Sites - General form dialog buttons. These are verbs/actions.
+
+newtab-topsites-cancel-button = ยà¸à¹à¸¥à¸´à¸
+newtab-topsites-delete-history-button = ลà¸à¸à¸à¸à¸à¸²à¸à¸à¸£à¸°à¸§à¸±à¸à¸´
+newtab-topsites-save-button = à¸à¸±à¸à¸à¸¶à¸
+newtab-topsites-preview-button = à¹à¸ªà¸à¸à¸à¸±à¸§à¸à¸¢à¹à¸²à¸
+newtab-topsites-add-button = à¹à¸à¸´à¹à¸¡
+
+## Top Sites - Delete history confirmation dialog.
+
+newtab-confirm-delete-history-p1 = à¸à¸¸à¸à¹à¸à¹à¹à¸à¸«à¸£à¸·à¸à¹à¸¡à¹à¸§à¹à¸²à¸à¹à¸à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸à¸´à¸à¸ªà¹à¸à¸à¸à¹à¸à¸à¸à¸«à¸à¹à¸²à¸à¸µà¹à¸à¸à¸à¸à¸²à¸à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸à¸à¸à¸¸à¸?
+# "This action" refers to deleting a page from history.
+newtab-confirm-delete-history-p2 = à¸à¸²à¸£à¸à¸£à¸°à¸à¸³à¸à¸µà¹à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸¥à¸´à¸à¸à¸³à¹à¸à¹
+
+## Top Sites - Sponsored label
+
+newtab-topsite-sponsored = à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸
+
+## Context Menu - Action Tooltips.
+
+# General tooltip for context menus.
+newtab-menu-section-tooltip =
+ .title = à¹à¸à¸´à¸à¹à¸¡à¸à¸¹
+ .aria-label = à¹à¸à¸´à¸à¹à¸¡à¸à¸¹
+# Tooltip for dismiss button
+newtab-dismiss-button-tooltip =
+ .title = à¹à¸à¸²à¸à¸à¸
+ .aria-label = à¹à¸à¸²à¸à¸à¸
+# 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 = à¹à¸à¸´à¸à¹à¸¡à¸à¸¹
+ .aria-label = à¹à¸à¸´à¸à¹à¸¡à¸à¸¹à¸à¸£à¸´à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸ { $title }
+# Tooltip on an empty topsite box to open the New Top Site dialog.
+newtab-menu-topsites-placeholder-tooltip =
+ .title = à¹à¸à¹à¹à¸à¹à¸à¸à¹à¸à¸µà¹
+ .aria-label = à¹à¸à¹à¹à¸à¹à¸à¸à¹à¸à¸µà¹
+
+## 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 = à¹à¸à¹à¹à¸
+newtab-menu-open-new-window = à¹à¸à¸´à¸à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸«à¸¡à¹
+newtab-menu-open-new-private-window = à¹à¸à¸´à¸à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸«à¸¡à¹
+newtab-menu-dismiss = ยà¸à¹à¸¥à¸´à¸
+newtab-menu-pin = à¸à¸±à¸à¸«à¸¡à¸¸à¸
+newtab-menu-unpin = à¸à¸à¸à¸«à¸¡à¸¸à¸
+newtab-menu-delete-history = ลà¸à¸à¸à¸à¸à¸²à¸à¸à¸£à¸°à¸§à¸±à¸à¸´
+newtab-menu-save-to-pocket = à¸à¸±à¸à¸à¸¶à¸à¹à¸à¸¢à¸±à¸ { -pocket-brand-name }
+newtab-menu-delete-pocket = ลà¸à¸à¸²à¸ { -pocket-brand-name }
+newtab-menu-archive-pocket = à¹à¸à¹à¸à¸à¸²à¸§à¸£à¹à¸ { -pocket-brand-name }
+newtab-menu-show-privacy-info = สà¸à¸à¸à¹à¸à¸à¸£à¹à¸à¸à¸à¹à¸£à¸²à¹à¸¥à¸°à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸à¸à¸à¸¸à¸
+
+## Message displayed in a modal window to explain privacy and provide context for sponsored content.
+
+newtab-privacy-modal-button-done = à¹à¸ªà¸£à¹à¸à¸ªà¸´à¹à¸
+newtab-privacy-modal-button-manage = à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸µà¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸
+newtab-privacy-modal-header = à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸à¸à¸à¸¸à¸à¸ªà¸³à¸à¸±à¸
+newtab-privacy-modal-paragraph-2 =
+ à¸à¸à¸à¹à¸«à¸à¸·à¸à¸à¸²à¸à¸à¸²à¸£à¸à¸³à¹à¸ªà¸à¸à¹à¸£à¸·à¹à¸à¸à¸£à¸²à¸§à¸à¸µà¹à¸à¹à¸²à¸ªà¸à¹à¸ à¹à¸£à¸²à¸¢à¸±à¸à¹à¸ªà¸à¸à¹à¸«à¹à¸à¸¸à¸à¹à¸«à¹à¸à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸µà¹à¹à¸à¸µà¹à¸¢à¸§à¸à¹à¸à¸
+ à¸à¸¶à¹à¸à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸¢à¹à¸²à¸à¸¥à¸°à¹à¸à¸µà¸¢à¸à¸à¸²à¸à¸à¸¹à¹à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸µà¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸¥à¸·à¸à¸ à¸à¸³à¹à¸«à¹à¸à¸¸à¸à¸¡à¸±à¹à¸à¹à¸
+ à¹à¸à¹à¸§à¹à¸²à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¸à¸à¸à¸à¸¸à¸à¸à¸°à¹à¸¡à¹à¸à¸´à¹à¸à¸ªà¸³à¹à¸à¸²à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸à¸ { -brand-product-name } à¸à¸à¸à¸à¸¸à¸à¸à¸¶à¹à¸à¹à¸£à¸²à¹à¸¥à¸°
+ สà¸à¸à¸à¹à¸à¸à¸£à¹à¸à¸à¸à¹à¸£à¸²à¸à¸°à¹à¸¡à¹à¹à¸«à¹à¸
+newtab-privacy-modal-link = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¸§à¸´à¸à¸µà¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸à¹à¸à¹à¸à¹à¸«à¸¡à¹
+
+##
+
+# Bookmark is a noun in this case, "Remove bookmark".
+newtab-menu-remove-bookmark = à¹à¸à¸²à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸à¸
+# Bookmark is a verb here.
+newtab-menu-bookmark = à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+
+## 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 = à¸à¸±à¸à¸¥à¸à¸à¸¥à¸´à¸à¸à¹à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+newtab-menu-go-to-download-page = à¹à¸à¸¢à¸±à¸à¸«à¸à¹à¸²à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+newtab-menu-remove-download = à¹à¸à¸²à¸à¸à¸à¸à¸²à¸à¸à¸£à¸°à¸§à¸±à¸à¸´
+
+## 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] à¹à¸ªà¸à¸à¹à¸ Finder
+ *[other] à¹à¸à¸´à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸µà¹à¸à¸£à¸£à¸à¸¸
+ }
+newtab-menu-open-file = à¹à¸à¸´à¸à¹à¸à¸¥à¹
+
+## 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 = à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡à¹à¸¥à¹à¸§
+newtab-label-bookmarked = à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸¥à¹à¸§
+newtab-label-removed-bookmark = à¹à¸à¸²à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸à¸à¹à¸¥à¹à¸§
+newtab-label-recommended = à¸à¸³à¸¥à¸±à¸à¸à¸´à¸¢à¸¡
+newtab-label-saved = à¸à¸±à¸à¸à¸¶à¸à¹à¸à¸¢à¸±à¸ { -pocket-brand-name } à¹à¸¥à¹à¸§
+newtab-label-download = à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¹à¸¥à¹à¸§
+# This string is used in the story cards to indicate sponsored content
+# Variables:
+# $sponsorOrSource (String): This is the name of a company or their domain
+newtab-label-sponsored = { $sponsorOrSource } · à¸à¸¹à¹à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸
+# This string is used at the bottom of story cards to indicate sponsored content
+# Variables:
+# $sponsor (String): This is the name of a sponsor
+newtab-label-sponsored-by = สà¸à¸±à¸à¸ªà¸à¸¸à¸à¹à¸à¸¢ { $sponsor }
+# This string is used under the image of story cards to indicate source and time to read
+# Variables:
+# $source (String): This is the name of a company or their domain
+# $timeToRead (Number): This is the estimated number of minutes to read this story
+newtab-label-source-read-time = { $source } · { $timeToRead } à¸à¸²à¸à¸µ
+
+## 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 = à¹à¸à¸²à¸ªà¹à¸§à¸à¸à¸à¸
+newtab-section-menu-collapse-section = ยุà¸à¸ªà¹à¸§à¸
+newtab-section-menu-expand-section = à¸à¸¢à¸²à¸¢à¸ªà¹à¸§à¸
+newtab-section-menu-manage-section = à¸à¸±à¸à¸à¸²à¸£à¸ªà¹à¸§à¸
+newtab-section-menu-manage-webext = à¸à¸±à¸à¸à¸²à¸£à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢
+newtab-section-menu-add-topsite = à¹à¸à¸´à¹à¸¡à¹à¸à¸à¹à¹à¸à¹à¸
+newtab-section-menu-add-search-engine = à¹à¸à¸´à¹à¸¡à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²
+newtab-section-menu-move-up = ยà¹à¸²à¸¢à¸à¸¶à¹à¸
+newtab-section-menu-move-down = ยà¹à¸²à¸¢à¸¥à¸
+newtab-section-menu-privacy-notice = à¸à¸£à¸°à¸à¸²à¸¨à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+
+## Section aria-labels
+
+newtab-section-collapse-section-label =
+ .aria-label = ยุà¸à¸ªà¹à¸§à¸
+newtab-section-expand-section-label =
+ .aria-label = à¸à¸¢à¸²à¸¢à¸ªà¹à¸§à¸
+
+## Section Headers.
+
+newtab-section-header-topsites = à¹à¸à¸à¹à¹à¸à¹à¸
+newtab-section-header-highlights = รายà¸à¸²à¸£à¹à¸à¹à¸
+newtab-section-header-recent-activity = à¸à¸´à¸à¸à¸£à¸£à¸¡à¸¥à¹à¸²à¸ªà¸¸à¸
+# Variables:
+# $provider (String): Name of the corresponding content provider.
+newtab-section-header-pocket = à¹à¸à¸°à¸à¸³à¹à¸à¸¢ { $provider }
+
+## 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 = à¹à¸£à¸´à¹à¸¡à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸¥à¸°à¹à¸£à¸²à¸à¸°à¹à¸ªà¸à¸à¸à¸à¸à¸§à¸²à¸¡ วิà¸à¸µà¹à¸ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¸·à¹à¸ ๠à¸à¸²à¸à¸ªà¹à¸§à¸à¸à¸µà¹à¸¢à¸à¸à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸µà¹à¸à¸¸à¸à¹à¸à¹à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡à¸«à¸£à¸·à¸à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸§à¹à¸¥à¹à¸²à¸ªà¸¸à¸à¸à¸µà¹à¸à¸µà¹
+# 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 = à¸à¸¸à¸à¹à¸à¹à¸à¹à¸²à¸à¹à¸£à¸·à¹à¸à¸à¸£à¸²à¸§à¸à¸£à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¹à¸¥à¹à¸§ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸¥à¸±à¸à¸¡à¸²à¸à¸£à¸§à¸à¸à¸¹à¹à¸£à¸·à¹à¸à¸à¸£à¸²à¸§à¹à¸à¹à¸à¸à¸²à¸ { $provider } à¹à¸à¹à¸ ายหลัภà¸à¸à¹à¸à¸£à¸à¹à¸¡à¹à¹à¸à¹à¸à¸±à¹à¸à¸«à¸£à¸·à¸? à¹à¸¥à¸·à¸à¸à¸«à¸±à¸§à¸à¹à¸à¸¢à¸à¸à¸à¸´à¸¢à¸¡à¹à¸à¸·à¹à¸à¸à¹à¸à¸«à¸²à¹à¸£à¸·à¹à¸à¸à¸£à¸²à¸§à¸à¸µà¹à¸¢à¸à¸à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸²à¸à¹à¸§à¹à¸à¸à¹à¸²à¸ à¹
+
+## 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 = à¸à¸¸à¸à¹à¸à¹à¸à¹à¸²à¸à¹à¸£à¸·à¹à¸à¸à¸£à¸²à¸§à¸à¸£à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¹à¸¥à¹à¸§!
+newtab-discovery-empty-section-topstories-content = à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸¥à¸±à¸à¸¡à¸²à¸à¸£à¸§à¸à¸à¸¹à¹à¸£à¸·à¹à¸à¸à¸£à¸²à¸§à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¹à¸à¹à¸ ายหลัà¸
+newtab-discovery-empty-section-topstories-try-again-button = ลà¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸
+newtab-discovery-empty-section-topstories-loading = à¸à¸³à¸¥à¸±à¸à¹à¸«à¸¥à¸â¦
+# Displays when a layout in a section took too long to fetch articles.
+newtab-discovery-empty-section-topstories-timed-out = à¸à¸¸à¹à¸à¸ªà¹! à¹à¸£à¸²à¹à¸«à¸¥à¸à¸ªà¹à¸§à¸à¸à¸µà¹à¹à¸à¸·à¸à¸à¹à¸ªà¸£à¹à¸à¹à¸¥à¹à¸§ à¹à¸à¹à¸¢à¸±à¸à¹à¸¡à¹à¹à¸ªà¸£à¹à¸à¸à¸µ
+
+## 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 = หัวà¸à¹à¸à¸¢à¸à¸à¸à¸´à¸¢à¸¡:
+newtab-pocket-new-topics-title = à¸à¹à¸à¸à¸à¸²à¸£à¹à¸£à¸·à¹à¸à¸à¸£à¸²à¸§à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¸«à¸£à¸·à¸à¹à¸¡à¹ à¸à¸¹à¸«à¸±à¸§à¸à¹à¸à¸¢à¸à¸à¸à¸´à¸¢à¸¡à¹à¸«à¸¥à¹à¸²à¸à¸µà¹à¸à¸²à¸ { -pocket-brand-name }
+newtab-pocket-more-recommendations = à¸à¸³à¹à¸à¸°à¸à¸³à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+newtab-pocket-learn-more = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+newtab-pocket-cta-button = รัภ{ -pocket-brand-name }
+newtab-pocket-cta-text = à¸à¸±à¸à¸à¸¶à¸à¹à¸£à¸·à¹à¸à¸à¸£à¸²à¸§à¸à¸µà¹à¸à¸¸à¸à¸£à¸±à¸à¸¥à¸à¹à¸ { -pocket-brand-name } à¹à¸¥à¸°à¹à¸à¸´à¸¡à¹à¸à¹à¸¡à¸ªà¸¡à¸à¸à¸à¸à¸à¸à¸¸à¸à¸à¹à¸§à¸¢à¸à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸à¹à¸²à¸«à¸¥à¸à¹à¸«à¸¥
+newtab-pocket-pocket-firefox-family = { -pocket-brand-name } à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸«à¸à¸¶à¹à¸à¸à¸à¸à¸à¸£à¸°à¸à¸¹à¸¥ { -brand-product-name }
+# A save to Pocket button that shows over the card thumbnail on hover.
+newtab-pocket-save-to-pocket = à¸à¸±à¸à¸à¸¶à¸à¹à¸à¸¢à¸±à¸ { -pocket-brand-name }
+newtab-pocket-saved-to-pocket = à¸à¸±à¸à¸à¸¶à¸à¹à¸à¸¢à¸±à¸ { -pocket-brand-name } à¹à¸¥à¹à¸§
+# This is a button shown at the bottom of the Pocket section that loads more stories when clicked.
+newtab-pocket-load-more-stories-button = à¹à¸«à¸¥à¸à¹à¸£à¸·à¹à¸à¸à¸£à¸²à¸§à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+## Pocket Final Card Section.
+## This is for the final card in the Pocket grid.
+
+newtab-pocket-last-card-title = à¸à¸¸à¸à¹à¸à¹à¸à¹à¸²à¸à¹à¸£à¸·à¹à¸à¸à¸£à¸²à¸§à¸à¸£à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¹à¸¥à¹à¸§!
+newtab-pocket-last-card-desc = à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸¥à¸±à¸à¸¡à¸²à¸à¸£à¸§à¸à¸à¸¹à¹à¸£à¸·à¹à¸à¸à¸£à¸²à¸§à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¹à¸à¹à¸ ายหลัà¸
+newtab-pocket-last-card-image =
+ .alt = à¸à¸¸à¸à¹à¸à¹à¸à¹à¸²à¸à¹à¸£à¸·à¹à¸à¸à¸£à¸²à¸§à¸à¸£à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¹à¸¥à¹à¸§
+
+## Error Fallback Content.
+## This message and suggested action link are shown in each section of UI that fails to render.
+
+newtab-error-fallback-info = à¸à¸¸à¸à¸ªà¹ มีà¸à¸²à¸à¸à¸¢à¹à¸²à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸à¸²à¸£à¹à¸«à¸¥à¸à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸µà¹
+newtab-error-fallback-refresh-link = à¹à¸£à¸µà¸¢à¸à¸«à¸à¹à¸²à¹à¸«à¸¡à¹à¹à¸à¸·à¹à¸à¸¥à¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸
+
+## Customization Menu
+
+newtab-custom-shortcuts-title = à¸à¸²à¸à¸¥à¸±à¸
+newtab-custom-shortcuts-subtitle = à¹à¸à¸à¹à¸à¸µà¹à¸à¸¸à¸à¸à¸±à¸à¸à¸¶à¸à¸«à¸£à¸·à¸à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡
+newtab-custom-row-selector =
+ { $num ->
+ *[other] { $num } à¹à¸à¸§
+ }
+newtab-custom-sponsored-sites = à¸à¸²à¸à¸¥à¸±à¸à¸à¸µà¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸
+newtab-custom-pocket-title = à¹à¸à¸°à¸à¸³à¹à¸à¸¢ { -pocket-brand-name }
+newtab-custom-pocket-subtitle = à¹à¸à¸·à¹à¸à¸«à¸²à¸ªà¸¸à¸à¸à¸´à¹à¸¨à¸©à¸à¸µà¹à¸à¸±à¸à¸ªà¸£à¸£à¹à¸à¸¢ { -pocket-brand-name } à¸à¸¶à¹à¸à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸«à¸à¸¶à¹à¸à¸à¸à¸à¸à¸£à¸°à¸à¸¹à¸¥ { -brand-product-name }
+newtab-custom-pocket-sponsored = à¹à¸£à¸·à¹à¸à¸à¸£à¸²à¸§à¸à¸µà¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸
+newtab-custom-recent-title = à¸à¸´à¸à¸à¸£à¸£à¸¡à¸¥à¹à¸²à¸ªà¸¸à¸
+newtab-custom-recent-subtitle = à¹à¸à¸à¹à¹à¸¥à¸°à¹à¸à¸·à¹à¸à¸«à¸²à¸¥à¹à¸²à¸ªà¸¸à¸à¸à¸µà¹à¸à¸±à¸à¸ªà¸£à¸£à¸¡à¸²
+newtab-custom-close-button = à¸à¸´à¸
+newtab-custom-settings = à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
diff --git a/browser/browser/newtab/onboarding.ftl b/browser/browser/newtab/onboarding.ftl
new file mode 100644
index 00000000000..7836ee1d799
--- /dev/null
+++ b/browser/browser/newtab/onboarding.ftl
@@ -0,0 +1,300 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 simplified 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.
+
+
+### 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 = ยิà¸à¸à¸µà¸à¹à¸à¸à¸£à¸±à¸à¸ªà¸¹à¹ { -brand-short-name }
+onboarding-start-browsing-button-label = à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹
+onboarding-not-now-button-label = à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸à¸µà¹
+
+## Custom Return To AMO onboarding strings
+
+return-to-amo-subtitle = à¹à¸¢à¸µà¹à¸¢à¸¡ à¸à¸¸à¸à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸ { -brand-short-name } à¹à¸¥à¹à¸§
+#
will be replaced with the icon belonging to the extension
+#
+# Variables:
+# $addon-name (String) - Name of the add-on
+return-to-amo-addon-title = à¸à¸à¸à¸à¸µà¹à¸¡à¸²à¸à¸´à¸à¸à¸±à¹à¸
{ $addon-name } à¸à¸±à¸à¹à¸¥à¸¢
+return-to-amo-add-extension-label = à¹à¸à¸´à¹à¸¡à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢
+
+## Multistage 3-screen onboarding flow strings (about:welcome pages)
+
+# The in this string allows a "zap" underline style to be
+# automatically added to the text inside it. { -brand-short-name } should stay inside the span.
+onboarding-multistage-welcome-header = ยิà¸à¸à¸µà¸à¹à¸à¸à¸£à¸±à¸à¸ªà¸¹à¹ { -brand-short-name }
+onboarding-multistage-welcome-subtitle = à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸µà¹à¸£à¸§à¸à¹à¸£à¹à¸§ à¸à¸¥à¸à¸à¸ ัย à¹à¸¥à¸°à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸µà¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¹à¸à¸¢à¸à¸à¸à¹à¸à¸£à¹à¸¡à¹à¹à¸ªà¸§à¸à¸«à¸²à¸à¸¥à¸à¸³à¹à¸£
+onboarding-multistage-welcome-primary-button-label = à¹à¸£à¸´à¹à¸¡à¸à¸±à¹à¸à¸à¹à¸²
+onboarding-multistage-welcome-secondary-button-label = ลà¸à¸à¸·à¹à¸à¹à¸à¹à¸²
+onboarding-multistage-welcome-secondary-button-text = มีà¸à¸±à¸à¸à¸µà¹à¸¥à¹à¸§à¹à¸à¹à¸«à¸£à¸·à¸à¹à¸¡à¹
+# The in this string allows a "zap" underline style to be
+# automatically added to the text inside it. "default" should stay inside the span.
+onboarding-multistage-set-default-header = à¸à¸³à¹à¸«à¹ { -brand-short-name } à¹à¸à¹à¸à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¸à¸¸à¸
+onboarding-multistage-set-default-subtitle = รวà¸à¹à¸£à¹à¸§ à¸à¸¥à¸à¸à¸ ัย à¹à¸¥à¸°à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸à¸à¸¸à¸à¸à¸£à¸±à¹à¸à¸à¸µà¹à¸à¸¸à¸à¹à¸£à¸µà¸¢à¸à¸à¸¹
+onboarding-multistage-set-default-primary-button-label = à¸à¸³à¹à¸«à¹à¹à¸à¹à¸à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+onboarding-multistage-set-default-secondary-button-label = à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸à¸µà¹
+# The in this string allows a "zap" underline style to be
+# automatically added to the text inside it. { -brand-short-name } should stay inside the span.
+onboarding-multistage-pin-default-header = à¹à¸£à¸´à¹à¸¡à¹à¸à¹à¸à¸²à¸à¹à¸à¸¢à¸à¸²à¸£à¸à¸³à¹à¸«à¹ { -brand-short-name } à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸«à¸¥à¸±à¸à¹à¸à¸µà¸¢à¸à¸à¸¥à¸´à¸à¹à¸à¸µà¸¢à¸§
+onboarding-multistage-pin-default-subtitle = à¹à¸«à¹à¸à¸¸à¸à¹à¸à¹à¹à¸§à¹à¸à¹à¸à¹à¸à¸¢à¹à¸²à¸à¸£à¸§à¸à¹à¸£à¹à¸§ à¸à¸¥à¸à¸à¸ ัย à¹à¸¥à¸°à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸à¸à¸¸à¸à¸à¸£à¸±à¹à¸
+# The "settings" here refers to "Windows 10 Settings App" and not the browser's
+onboarding-multistage-pin-default-waiting-subtitle = à¹à¸¥à¸·à¸à¸ { -brand-short-name } ภายà¹à¸à¹ à¹à¸§à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹ à¹à¸¡à¸·à¹à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸à¸à¸à¸¸à¸à¹à¸à¸´à¸
+# The "settings" here refers to "Windows 10 Settings App" and not the browser's
+onboarding-multistage-pin-default-help-text = à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸µà¹à¸à¸°à¸à¸±à¸à¸«à¸¡à¸¸à¸ { -brand-short-name } à¸à¸µà¹à¹à¸à¸à¸à¸²à¸à¹à¸¥à¸°à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²
+onboarding-multistage-pin-default-primary-button-label = à¸à¸³à¹à¸«à¹ { -brand-short-name } à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸«à¸¥à¸±à¸à¸à¸à¸à¸à¸±à¸
+# The in this string allows a "zap" underline style to be
+# automatically added to the text inside it. "more" should stay inside the span.
+onboarding-multistage-import-header = à¸à¸³à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸
à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸² à¹à¸¥à¸°à¸à¸·à¹à¸ à¹
+onboarding-multistage-import-subtitle = มาà¸à¸²à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸·à¹à¸à¸«à¸£à¸·à¸à¹à¸¡à¹? à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸à¸¸à¸à¸à¸¢à¹à¸²à¸à¸¡à¸²à¸ªà¸¹à¹ { -brand-short-name } à¹à¸à¹à¸à¹à¸²à¸¢ à¹
+onboarding-multistage-import-primary-button-label = à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸²
+onboarding-multistage-import-secondary-button-label = à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸à¸µà¹
+# Info displayed in the footer of import settings screen during onboarding flow.
+# This supports welcome screen showing top sites imported from the user's default browser.
+onboarding-import-sites-disclaimer = à¹à¸à¸à¹à¸à¸µà¹à¹à¸ªà¸à¸à¸à¸µà¹à¸à¸µà¹à¸à¸¹à¸à¸à¸à¸à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸µà¹ { -brand-short-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 =
+ .aria-label = à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¹à¸à¹à¸à¸²à¸: หà¸à¹à¸²à¸à¸ { $current } à¸à¸²à¸ { $total }
+# The in this string allows a "zap" underline style to be
+# automatically added to the text inside it. "look" should stay inside the span.
+onboarding-multistage-theme-header = à¹à¸¥à¸·à¸à¸à¸£à¸¹à¸à¸¥à¸±à¸à¸©à¸à¹
+onboarding-multistage-theme-subtitle = à¸à¸£à¸±à¸à¹à¸à¹à¸ { -brand-short-name } à¸à¹à¸§à¸¢à¸à¸¸à¸à¸à¸à¹à¸à¹à¸
+onboarding-multistage-theme-primary-button-label2 = à¹à¸ªà¸£à¹à¸à¸ªà¸´à¹à¸
+onboarding-multistage-theme-secondary-button-label = à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸à¸µà¹
+# Automatic theme uses operating system color settings
+onboarding-multistage-theme-label-automatic = à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+onboarding-multistage-theme-label-light = สวà¹à¸²à¸
+onboarding-multistage-theme-label-dark = มืà¸
+# "Firefox Alpenglow" here is the name of the theme, and should be kept in English.
+onboarding-multistage-theme-label-alpenglow = Firefox Alpenglow
+# "Hero Text" displayed on left side of welcome screen.
+# The "Fire" in "Fire starts here" plays on the "Fire" in "Firefox".
+# It also signals the passion users bring to Firefox, how they use
+# Firefox to pursue those passions, as well as the boldness in their
+# choice to use Firefox over a larger competitor browser.
+# An alternative title for localization is: "It starts here".
+# This text can be formatted to span multiple lines as needed.
+mr1-welcome-screen-hero-text =
+ à¸à¸¸à¸à¸à¸¢à¹à¸²à¸à¹à¸£à¸´à¹à¸¡à¸à¸²à¸
+ à¸à¸µà¹à¸à¸µà¹
+# Caption for background image in about:welcome. "Soraya Osorio" is the name
+# of the person and shouldn't be translated.
+# In case your language needs to adapt the nouns to a gender, Soraya is a female name (she/her).
+# You can see the picture in about:welcome in Nightly 90.
+mr1-onboarding-welcome-image-caption = Soraya Osorio â à¸à¸±à¸à¸à¸à¸à¹à¸à¸à¹à¸à¸à¸£à¹à¸à¸´à¹à¸à¸à¸£à¹ à¹à¸à¸ Firefox
+# This button will open system settings to turn on prefers-reduced-motion
+mr1-onboarding-reduce-motion-button-label = à¸à¸´à¸à¸ าà¸à¹à¸à¸¥à¸·à¹à¸à¸à¹à¸«à¸§
+
+## Title and primary button strings differ between platforms as they
+## match the OS' application context menu item action where Windows uses "pin"
+## and "taskbar" while macOS "keep" and "Dock" (proper noun).
+
+# Title used on welcome page when Firefox is not pinned
+mr1-onboarding-pin-header =
+ { PLATFORM() ->
+ [macos] à¹à¸à¹à¸ { -brand-short-name } à¹à¸§à¹à¹à¸ Dock à¸à¸à¸à¸à¸¸à¸à¹à¸à¸·à¹à¸à¹à¸«à¹à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¹à¸à¸¢à¹à¸²à¸à¸à¹à¸²à¸¢à¸à¸²à¸¢
+ *[other] à¸à¸±à¸à¸«à¸¡à¸¸à¸ { -brand-short-name } à¹à¸à¹à¸²à¸à¸±à¸à¹à¸à¸à¸à¸²à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸·à¹à¸à¹à¸«à¹à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¹à¸à¸¢à¹à¸²à¸à¸à¹à¸²à¸¢à¸à¸²à¸¢
+ }
+# Primary button string used on welcome page when Firefox is not pinned.
+mr1-onboarding-pin-primary-button-label =
+ { PLATFORM() ->
+ [macos] à¹à¸à¹à¸à¹à¸§à¹à¹à¸ Dock
+ *[other] à¸à¸±à¸à¸«à¸¡à¸¸à¸à¹à¸à¹à¸²à¸à¸±à¸à¹à¸à¸à¸à¸²à¸
+ }
+
+## Multistage MR1 onboarding strings (about:welcome pages)
+
+# This string will be used on welcome page primary button label
+# when Firefox is both pinned and default
+mr1-onboarding-get-started-primary-button-label = à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+mr1-onboarding-welcome-header = ยิà¸à¸à¸µà¸à¹à¸à¸à¸£à¸±à¸à¸ªà¸¹à¹ { -brand-short-name }
+mr1-onboarding-set-default-pin-primary-button-label = à¸à¸³à¹à¸«à¹ { -brand-short-name } à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸«à¸¥à¸±à¸à¸à¸à¸à¸à¸±à¸
+ .title = à¸à¸±à¹à¸ { -brand-short-name } à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸«à¸¥à¸±à¸à¹à¸¥à¸°à¸à¸±à¸à¸«à¸¡à¸¸à¸à¹à¸à¹à¸²à¸à¸±à¸à¹à¸à¸à¸à¸²à¸
+# This string will be used on welcome page primary button label
+# when Firefox is not default but already pinned
+mr1-onboarding-set-default-only-primary-button-label = à¸à¸³à¹à¸«à¹ { -brand-short-name } à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¸à¸±à¸
+mr1-onboarding-set-default-secondary-button-label = à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸à¸µà¹
+mr1-onboarding-sign-in-button-label = ลà¸à¸à¸·à¹à¸à¹à¸à¹à¸²
+
+## Title, subtitle and primary button string used on set default onboarding screen
+## when Firefox is not default browser
+
+mr1-onboarding-default-header = à¸à¸³à¹à¸«à¹ { -brand-short-name } à¹à¸à¹à¸à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¸à¸¸à¸
+mr1-onboarding-default-subtitle = à¸à¸à¸à¸±à¸à¸à¸§à¸²à¸¡à¹à¸£à¹à¸§ à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย à¹à¸¥à¸°à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+mr1-onboarding-default-primary-button-label = à¸à¸³à¹à¸«à¹à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+
+## Multistage MR1 onboarding strings (about:welcome pages)
+
+mr1-onboarding-import-header = à¸à¸³à¸à¸¸à¸à¸à¸¢à¹à¸²à¸à¸à¸´à¸à¸à¸±à¸§à¹à¸à¸à¹à¸§à¸¢
+mr1-onboarding-import-subtitle = à¸à¸³à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸
à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸² à¹à¸¥à¸°à¸à¸·à¹à¸ ๠à¸à¸à¸à¸à¸¸à¸
+# 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 = à¸à¸³à¹à¸à¹à¸²à¸à¸²à¸ { $previous }
+# This string will be used in cases where we can't detect the previous browser name.
+mr1-onboarding-import-primary-button-label-no-attribution = à¸à¸³à¹à¸à¹à¸²à¸à¸²à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¹à¸à¸à¸«à¸à¹à¸²
+mr1-onboarding-import-secondary-button-label = à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸à¸µà¹
+mr2-onboarding-colorway-header = Life in color
+mr2-onboarding-colorway-subtitle = à¸à¸¸à¸à¸£à¸¹à¸à¹à¸à¸à¸ªà¸µà¹à¸«à¸¡à¹à¸à¸µà¹à¸ªà¸à¹à¸ª มีà¹à¸«à¹à¹à¸à¹à¹à¸à¸à¹à¸§à¸à¹à¸§à¸¥à¸²à¸à¸³à¸à¸±à¸
+mr2-onboarding-colorway-primary-button-label = à¸à¸±à¸à¸à¸¶à¸à¸à¸¸à¸à¸£à¸¹à¸à¹à¸à¸à¸ªà¸µ
+mr2-onboarding-colorway-secondary-button-label = à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸à¸µà¹
+mr2-onboarding-colorway-label-soft = Soft
+mr2-onboarding-colorway-label-balanced = Balanced
+# "Bold" is used in the sense of bravery or courage, not in the sense of
+# emphasized text.
+mr2-onboarding-colorway-label-bold = Bold
+# Automatic theme uses operating system color settings
+mr2-onboarding-theme-label-auto = à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+# This string will be used for Default theme
+mr2-onboarding-theme-label-default = à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+mr1-onboarding-theme-header = à¸à¸³à¹à¸«à¹à¹à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸
+mr1-onboarding-theme-subtitle = à¸à¸£à¸±à¸à¹à¸à¹à¸ { -brand-short-name } à¸à¹à¸§à¸¢à¸à¸¸à¸à¸à¸à¹à¸à¹à¸
+mr1-onboarding-theme-primary-button-label = à¸à¸±à¸à¸à¸¶à¸à¸à¸¸à¸à¸à¸à¹à¸à¹à¸
+mr1-onboarding-theme-secondary-button-label = à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸à¸µà¹
+# System theme uses operating system color settings
+mr1-onboarding-theme-label-system = à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¸£à¸°à¸à¸
+mr1-onboarding-theme-label-light = สวà¹à¸²à¸
+mr1-onboarding-theme-label-dark = มืà¸
+# "Alpenglow" here is the name of the theme, and should be kept in English.
+mr1-onboarding-theme-label-alpenglow = Alpenglow
+
+## 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.
+
+
+## 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 automatic theme
+onboarding-multistage-theme-tooltip-automatic-2 =
+ .title =
+ สืà¸à¸à¸à¸à¸£à¸¹à¸à¸¥à¸±à¸à¸©à¸à¹à¸à¸à¸à¸£à¸°à¸à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£à¸à¸à¸à¸à¸¸à¸
+ สำหรัà¸à¸à¸¸à¹à¸¡ à¹à¸¡à¸à¸¹ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸
+# Input description for automatic theme
+onboarding-multistage-theme-description-automatic-2 =
+ .aria-description =
+ สืà¸à¸à¸à¸à¸£à¸¹à¸à¸¥à¸±à¸à¸©à¸à¹à¸à¸à¸à¸£à¸°à¸à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£à¸à¸à¸à¸à¸¸à¸
+ สำหรัà¸à¸à¸¸à¹à¸¡ à¹à¸¡à¸à¸¹ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸
+# Tooltip displayed on hover of light theme
+onboarding-multistage-theme-tooltip-light-2 =
+ .title =
+ à¹à¸à¹à¸¥à¸±à¸à¸©à¸à¸°à¸à¸µà¹à¸à¸£à¸²à¸à¸à¹à¸à¸à¸ªà¸µà¸à¹à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¹à¸¡
+ à¹à¸¡à¸à¸¹ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸
+# Input description for light theme
+onboarding-multistage-theme-description-light =
+ .aria-description =
+ à¹à¸à¹à¸¥à¸±à¸à¸©à¸à¸°à¸à¸µà¹à¸à¸£à¸²à¸à¸à¹à¸à¸à¸ªà¸µà¸à¹à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¹à¸¡
+ à¹à¸¡à¸à¸¹ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸
+# Tooltip displayed on hover of dark theme
+onboarding-multistage-theme-tooltip-dark-2 =
+ .title =
+ à¹à¸à¹à¸¥à¸±à¸à¸©à¸à¸°à¸à¸µà¹à¸à¸£à¸²à¸à¸à¹à¸à¸à¸ªà¸µà¹à¸à¹à¸¡à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¹à¸¡
+ à¹à¸¡à¸à¸¹ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸
+# Input description for dark theme
+onboarding-multistage-theme-description-dark =
+ .aria-description =
+ à¹à¸à¹à¸¥à¸±à¸à¸©à¸à¸°à¸à¸µà¹à¸à¸£à¸²à¸à¸à¹à¸à¸à¸ªà¸µà¹à¸à¹à¸¡à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¹à¸¡
+ à¹à¸¡à¸à¸¹ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸
+# Tooltip displayed on hover of Alpenglow theme
+onboarding-multistage-theme-tooltip-alpenglow-2 =
+ .title =
+ à¹à¸à¹à¸¥à¸±à¸à¸©à¸à¸°à¸à¸µà¹à¸à¸£à¸²à¸à¸à¹à¸à¸à¸ªà¸µà¸ªà¸±à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¹à¸¡
+ à¹à¸¡à¸à¸¹ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸
+# Input description for Alpenglow theme
+onboarding-multistage-theme-description-alpenglow =
+ .aria-description =
+ à¹à¸à¹à¸¥à¸±à¸à¸©à¸à¸°à¸à¸µà¹à¸à¸£à¸²à¸à¸à¹à¸à¸à¸ªà¸µà¸ªà¸±à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¹à¸¡
+ à¹à¸¡à¸à¸¹ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸
+
+## Multistage MR1 onboarding strings (MR1 about:welcome pages)
+
+# Tooltip displayed on hover of system theme
+mr1-onboarding-theme-tooltip-system =
+ .title =
+ à¹à¸à¹à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¹à¸¡ à¹à¸¡à¸à¸¹ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸
+ à¸à¸²à¸¡à¸£à¸°à¸à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£
+# Input description for system theme
+mr1-onboarding-theme-description-system =
+ .aria-description =
+ à¹à¸à¹à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¹à¸¡ à¹à¸¡à¸à¸¹ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸
+ à¸à¸²à¸¡à¸£à¸°à¸à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£
+# Tooltip displayed on hover of light theme
+mr1-onboarding-theme-tooltip-light =
+ .title =
+ à¹à¸à¹à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¹à¸à¸à¸ªà¸§à¹à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¹à¸¡
+ à¹à¸¡à¸à¸¹ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸
+# Input description for light theme
+mr1-onboarding-theme-description-light =
+ .aria-description =
+ à¹à¸à¹à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¹à¸à¸à¸ªà¸§à¹à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¹à¸¡
+ à¹à¸¡à¸à¸¹ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸
+# Tooltip displayed on hover of dark theme
+mr1-onboarding-theme-tooltip-dark =
+ .title =
+ à¹à¸à¹à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¹à¸à¸à¸¡à¸·à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¹à¸¡
+ à¹à¸¡à¸à¸¹ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸
+# Input description for dark theme
+mr1-onboarding-theme-description-dark =
+ .aria-description =
+ à¹à¸à¹à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¹à¸à¸à¸¡à¸·à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¹à¸¡
+ à¹à¸¡à¸à¸¹ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸
+# Tooltip displayed on hover of Alpenglow theme
+mr1-onboarding-theme-tooltip-alpenglow =
+ .title =
+ à¹à¸à¹à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¹à¸à¸à¹à¸à¸à¸²à¸¡à¸´à¸à¸à¸µà¹à¸¡à¸µà¸ªà¸µà¸ªà¸±à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¹à¸¡
+ à¹à¸¡à¸à¸¹ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸
+# Input description for Alpenglow theme
+mr1-onboarding-theme-description-alpenglow =
+ .aria-description =
+ à¹à¸à¹à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¹à¸à¸à¹à¸à¸à¸²à¸¡à¸´à¸à¸à¸µà¹à¸¡à¸µà¸ªà¸µà¸ªà¸±à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¹à¸¡
+ à¹à¸¡à¸à¸¹ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸
+# Tooltip displayed on hover of non-default colorway theme
+# variations e.g. soft, balanced, bold
+mr2-onboarding-theme-tooltip =
+ .title = à¹à¸à¹à¸à¸¸à¸à¸£à¸¹à¸à¹à¸à¸à¸ªà¸µà¸à¸µà¹
+# Selector description for non-default colorway theme
+# variations e.g. soft, balanced, bold
+mr2-onboarding-theme-description =
+ .aria-description = à¹à¸à¹à¸à¸¸à¸à¸£à¸¹à¸à¹à¸à¸à¸ªà¸µà¸à¸µà¹
+# Tooltip displayed on hover of colorway
+# Variables:
+# $colorwayName (String) - Name of colorway
+mr2-onboarding-colorway-tooltip =
+ .title = สำรวà¸à¸à¸¸à¸à¸£à¸¹à¸à¹à¸à¸à¸ªà¸µ { $colorwayName }
+# Selector description for colorway
+# Variables:
+# $colorwayName (String) - Name of colorway
+mr2-onboarding-colorway-description =
+ .aria-description = สำรวà¸à¸à¸¸à¸à¸£à¸¹à¸à¹à¸à¸à¸ªà¸µ { $colorwayName }
+# Tooltip displayed on hover of default themes
+mr2-onboarding-default-theme-tooltip =
+ .title = สำรวà¸à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+# Selector description for default themes
+mr2-onboarding-default-theme-description =
+ .aria-description = สำรวà¸à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+
+## Strings for Thank You page
+
+mr2-onboarding-thank-you-header = à¸à¸à¸à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸·à¸à¸à¹à¸£à¸²
+mr2-onboarding-thank-you-text = { -brand-short-name } à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸´à¸ªà¸£à¸°à¸à¸µà¹à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¹à¸à¸¢à¸à¸à¸à¹à¸à¸£à¹à¸¡à¹à¹à¸ªà¸§à¸à¸«à¸²à¸à¸¥à¸à¸³à¹à¸£ à¹à¸£à¸²à¸à¸³à¸¥à¸±à¸à¸£à¹à¸§à¸¡à¸à¸±à¸à¸à¸³à¹à¸«à¹à¹à¸§à¹à¸à¸à¸¥à¸à¸à¸ ัยà¸à¸¶à¹à¸ à¹à¸à¹à¸à¹à¸à¸£à¹à¸à¸à¸¶à¹à¸ à¹à¸¥à¸°à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸¡à¸²à¸à¸à¸¶à¹à¸
+mr2-onboarding-start-browsing-button-label = à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹
diff --git a/browser/browser/nsserrors.ftl b/browser/browser/nsserrors.ftl
new file mode 100644
index 00000000000..72bf68ae478
--- /dev/null
+++ b/browser/browser/nsserrors.ftl
@@ -0,0 +1,354 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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.
+
+# Variables:
+# $hostname (String) - Hostname of the website with SSL error.
+# $errorMessage (String) - Error message corresponding to the type of error we are experiencing.
+ssl-connection-error = à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸£à¸°à¸«à¸§à¹à¸²à¸à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¸ { $hostname } { $errorMessage }
+
+# Variables:
+# $error (string) - NSS error code string that specifies type of cert error. e.g. unknown issuer, invalid cert, etc.
+cert-error-code-prefix = รหัสà¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸: { $error }
+
+psmerr-ssl-disabled = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัยà¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¹à¸à¸£à¹à¸à¸à¸à¸¥ SSL à¸à¸¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸
+psmerr-ssl2-disabled = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัยà¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¹à¸à¸à¹à¹à¸à¹à¹à¸à¸£à¹à¸à¸à¸à¸¥ SSL รุà¹à¸à¹à¸à¹à¸²à¸à¸µà¹à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัย
+
+# This is a multi-line message.
+psmerr-hostreusedissuerandserial =
+ à¸à¸¸à¸à¹à¸à¹à¸£à¸±à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸ à¹à¸à¸£à¸à¸à¸´à¸à¸à¹à¸à¸à¸¹à¹à¸à¸¹à¹à¸¥à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸«à¸£à¸·à¸à¸ªà¹à¸à¸à¸µà¹à¸¡à¸¥à¸«à¸²à¸à¸¹à¹à¸à¸µà¹à¹à¸à¸µà¹à¸¢à¸§à¸à¹à¸à¸à¹à¸à¸à¹à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸±à¸à¸à¸¥à¹à¸²à¸§à¹à¸à¸à¹à¸§à¸¢:
+
+ à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¸à¸¸à¸à¸¡à¸µà¹à¸¥à¸à¸à¸à¸¸à¸à¸£à¸¡à¸à¸µà¹à¹à¸«à¸¡à¸·à¸à¸à¸à¸±à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸·à¹à¸à¸à¸µà¹à¸à¸à¸à¸¡à¸²à¹à¸¥à¹à¸§ à¹à¸à¸£à¸à¸£à¸±à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸«à¸¡à¹à¸à¸µà¹à¸¡à¸µà¹à¸¥à¸à¸à¸à¸¸à¸à¸£à¸¡à¹à¸¡à¹à¸à¹à¸³
+
+ssl-error-export-only-server = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¸·à¹à¸à¸ªà¸²à¸£à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัย à¸à¸µà¸à¸à¸±à¹à¸à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¸£à¸°à¸à¸±à¸à¸ªà¸¹à¸
+ssl-error-us-only-server = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¸·à¹à¸à¸ªà¸²à¸£à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัย à¸à¸µà¸à¸à¸±à¹à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¸£à¸°à¸à¸±à¸à¸ªà¸¹à¸à¸à¸¶à¹à¸à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸
+ssl-error-no-cypher-overlap = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¸·à¹à¸à¸ªà¸²à¸£à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัยà¸à¸±à¸à¸à¸µà¸à¸à¸±à¹à¸: à¹à¸¡à¹à¸¡à¸µà¸à¸±à¸¥à¸à¸à¸£à¸´à¸à¸¶à¸¡à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¸£à¹à¸§à¸¡à¸à¸±à¸
+ssl-error-no-certificate = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¹à¸à¸«à¸²à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸«à¸£à¸·à¸à¸à¸¸à¸à¹à¸à¸à¸µà¹à¸à¸³à¹à¸à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸
+ssl-error-bad-certificate = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¸·à¹à¸à¸ªà¸²à¸£à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัยà¸à¸±à¸à¸à¸µà¸à¸à¸±à¹à¸: à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¸à¸µà¸à¸à¸±à¹à¸à¸à¸¹à¸à¸à¸à¸´à¹à¸ªà¸
+ssl-error-bad-client = à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸à¸à¸²à¸à¹à¸à¸¥à¹à¸à¹à¸à¸à¹
+ssl-error-bad-server = à¹à¸à¸¥à¹à¸à¹à¸à¸à¹à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸à¸à¸²à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹
+ssl-error-unsupported-certificate-type = à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸£à¸°à¹à¸ à¸à¸à¸µà¹
+ssl-error-unsupported-version = à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¹à¸à¸£à¹à¸à¸à¸à¸¥à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¸à¸¥à¸²à¸¢à¸à¸²à¸
+ssl-error-wrong-certificate = à¸à¸²à¸£à¸£à¸±à¸à¸£à¸à¸à¸¥à¸¹à¸à¸à¹à¸²à¸¢à¸¥à¹à¸¡à¹à¸«à¸¥à¸§: à¸à¸¸à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸¡à¹à¸à¸£à¸à¸à¸±à¸à¸à¸¸à¸à¹à¸à¸ªà¸²à¸à¸²à¸£à¸à¸°à¹à¸à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸£à¸±à¸à¸£à¸à¸
+ssl-error-bad-cert-domain = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¸·à¹à¸à¸ªà¸²à¸£à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัยà¸à¸±à¸à¸à¸µà¸à¸à¸±à¹à¸: à¸à¸·à¹à¸à¹à¸à¹à¸¡à¸à¸à¸µà¹à¸à¸à¹à¸¡à¹à¸à¸£à¸à¸à¸±à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹
+ssl-error-post-warning = รหัสà¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸ SSL à¸à¸µà¹à¹à¸¡à¹à¸£à¸¹à¹à¸à¸±à¸
+ssl-error-ssl2-disabled = à¸à¸¥à¸²à¸¢à¸à¸²à¸à¸£à¸à¸à¸£à¸±à¸à¹à¸à¹ SSL รุà¹à¸à¸à¹ 2 à¸à¸¶à¹à¸à¸à¸¶à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸§à¹
+ssl-error-bad-mac-read = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥ Message Authentication Code à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+ssl-error-bad-mac-alert = SSL à¸à¸¥à¸²à¸¢à¸à¸²à¸à¸£à¸²à¸¢à¸à¸²à¸ Message Authentication Code à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+ssl-error-bad-cert-alert = SSL à¸à¸¥à¸²à¸¢à¸à¸²à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¹
+ssl-error-revoked-cert-alert = SSL à¸à¸¥à¸²à¸¢à¸à¸µà¸à¸¥à¸±à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¸à¸¸à¸à¸à¹à¸§à¸¢à¸ªà¸à¸²à¸à¸°à¸à¸à¸à¸à¸à¸
+ssl-error-expired-cert-alert = SSL à¸à¸¥à¸²à¸¢à¸à¸²à¸à¸à¸µà¸à¸¥à¸±à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¸à¸¸à¸à¸à¹à¸§à¸¢à¸ªà¸à¸²à¸à¸°à¸«à¸¡à¸à¸à¸²à¸¢à¸¸
+ssl-error-ssl-disabled = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸à¹: SSL à¸à¸¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸
+ssl-error-fortezza-pqg = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸à¹: SSL à¸à¸¥à¸²à¸¢à¸à¸²à¸à¹à¸à¹à¸à¹à¸à¹à¸¡à¸ FORTEZZA à¸à¸£à¸°à¹à¸ à¸à¸à¸·à¹à¸
+ssl-error-unknown-cipher-suite = มีà¸à¸²à¸£à¸£à¹à¸à¸à¸à¸à¸à¸²à¸£à¹à¸à¸£à¸£à¸«à¸±à¸ª SSL à¸à¸µà¹à¹à¸¡à¹à¸à¸£à¸²à¸à¸à¸£à¸°à¹à¸ à¸
+ssl-error-no-ciphers-supported = à¹à¸¡à¹à¸¡à¸µà¸à¸¸à¸à¸à¸²à¸£à¹à¸à¸£à¸£à¸«à¸±à¸ªà¸à¸µà¹à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¹à¸à¸£à¹à¸à¸£à¸¡à¸à¸µà¹
+ssl-error-bad-block-padding = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸ªà¸µà¸¢à¹à¸à¸£à¸²à¸° bad block padding.
+ssl-error-rx-record-too-long = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¹à¸à¸´à¸à¸à¸§à¸²à¸¡à¸¢à¸²à¸§à¸à¸µà¹à¸à¸¹à¸à¸à¸³à¸«à¸à¸à¹à¸§à¹
+ssl-error-tx-record-too-long = SSL à¸à¸¢à¸²à¸¢à¸²à¸¡à¸ªà¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¹à¸à¸´à¸à¸à¸§à¸²à¸¡à¸¢à¸²à¸§à¸à¸µà¹à¸à¸¹à¸à¸à¸³à¸«à¸à¸à¹à¸§à¹
+ssl-error-rx-malformed-hello-request = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ Hello Request handshake à¸à¸µà¹à¸à¸´à¸à¸£à¸¹à¸à¹à¸à¸
+ssl-error-rx-malformed-client-hello = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ Client Hello handshake à¸à¸µà¹à¸à¸´à¸à¸£à¸¹à¸à¹à¸à¸
+ssl-error-rx-malformed-server-hello = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ Server Hello handshake à¸à¸µà¹à¸à¸´à¸à¸£à¸¹à¸à¹à¸à¸
+ssl-error-rx-malformed-certificate = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ Certificate handshake à¸à¸µà¹à¸à¸´à¸à¸£à¸¹à¸à¹à¸à¸
+ssl-error-rx-malformed-server-key-exch = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ Server Key Exchange handshake à¸à¸µà¹à¸à¸´à¸à¸£à¸¹à¸à¹à¸à¸
+ssl-error-rx-malformed-cert-request = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ Certificate Request handshake à¸à¸µà¹à¸à¸´à¸à¸£à¸¹à¸à¹à¸à¸
+ssl-error-rx-malformed-hello-done = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ Server Hello Done handshake à¸à¸µà¹à¸à¸´à¸à¸£à¸¹à¸à¹à¸à¸
+ssl-error-rx-malformed-cert-verify = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ Certificate Verify handshake à¸à¸µà¹à¸à¸´à¸à¸£à¸¹à¸à¹à¸à¸
+ssl-error-rx-malformed-client-key-exch = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ Client Key Exchange handshake à¸à¸µà¹à¸à¸´à¸à¸£à¸¹à¸à¹à¸à¸
+ssl-error-rx-malformed-finished = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ Finished handshake à¸à¸µà¹à¸à¸´à¸à¸£à¸¹à¸à¹à¸à¸
+ssl-error-rx-malformed-change-cipher = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥ Change Cipher Spec à¸à¸µà¹à¸à¸´à¸à¸£à¸¹à¸à¹à¸à¸
+ssl-error-rx-malformed-alert = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥ Alert à¸à¸µà¹à¸à¸´à¸à¸£à¸¹à¸à¹à¸à¸
+ssl-error-rx-malformed-handshake = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥ Handshake à¸à¸µà¹à¸à¸´à¸à¸£à¸¹à¸à¹à¸à¸
+ssl-error-rx-malformed-application-data = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥ Application Data à¸à¸µà¹à¸à¸´à¸à¸£à¸¹à¸à¹à¸à¸
+ssl-error-rx-unexpected-hello-request = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ Hello Request handshake à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸
+ssl-error-rx-unexpected-client-hello = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ Client Hello handshake à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸
+ssl-error-rx-unexpected-server-hello = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ Server Hello handshake à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸
+ssl-error-rx-unexpected-certificate = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ Certificate handshake à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸
+ssl-error-rx-unexpected-server-key-exch = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ Server Key Exchange handshake à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸
+ssl-error-rx-unexpected-cert-request = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ Certificate Request handshake à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸
+ssl-error-rx-unexpected-hello-done = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ Server Hello Done handshake à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸
+ssl-error-rx-unexpected-cert-verify = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ Certificate Verify handshake à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸
+ssl-error-rx-unexpected-client-key-exch = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ Client Key Exchange handshake à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸
+ssl-error-rx-unexpected-finished = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ Finished handshake à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸
+ssl-error-rx-unexpected-change-cipher = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥ Change Cipher Spec à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸
+ssl-error-rx-unexpected-alert = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥ Alert à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸
+ssl-error-rx-unexpected-handshake = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥ Handshake à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸
+ssl-error-rx-unexpected-application-data = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥ Application Data à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸
+ssl-error-rx-unknown-record-type = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¹à¸¡à¹à¸à¸£à¸²à¸à¸à¸£à¸°à¹à¸ à¸
+ssl-error-rx-unknown-handshake = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¹à¸¡à¹à¸à¸£à¸²à¸à¸à¸£à¸°à¹à¸ à¸
+ssl-error-rx-unknown-alert = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸·à¸à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸£à¸²à¸à¸£à¸²à¸¢à¸¥à¸°à¹à¸à¸µà¸¢à¸
+ssl-error-close-notify-alert = SSL à¸à¸¥à¸²à¸¢à¸à¸²à¸à¹à¸à¹à¸à¸³à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸µà¹
+ssl-error-handshake-unexpected-alert = SSL à¸à¸¥à¸²à¸¢à¸à¸²à¸à¹à¸¡à¹à¹à¸à¹à¸à¸²à¸à¸«à¸§à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ handshake à¸à¸µà¹à¹à¸à¹à¸£à¸±à¸
+ssl-error-decompression-failure-alert = SSL à¸à¸¥à¸²à¸¢à¸à¸²à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸¢à¸²à¸¢à¸à¹à¸à¸¡à¸¹à¸¥ SSL à¸à¸µà¹à¹à¸à¹à¸£à¸±à¸
+ssl-error-handshake-failure-alert = SSL à¸à¸¥à¸²à¸¢à¸à¸²à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¹à¸à¸£à¸à¸à¸à¸¸à¸à¸à¸±à¸§à¹à¸à¸£à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸µà¹à¸¢à¸à¸¡à¸£à¸±à¸à¹à¸à¹
+ssl-error-illegal-parameter-alert = SSL à¸à¸¥à¸²à¸¢à¸à¸²à¸à¸à¸µà¸à¸¥à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ handshake à¹à¸à¸£à¸²à¸°à¹à¸¡à¹à¹à¸à¹à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸µà¹à¸¢à¸à¸¡à¸£à¸±à¸à¹à¸à¹
+ssl-error-unsupported-cert-alert = SSL à¸à¸¥à¸²à¸¢à¸à¸²à¸à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¹à¸à¹à¸£à¸±à¸
+ssl-error-certificate-unknown-alert = SSL à¸à¸¥à¸²à¸¢à¸à¸²à¸à¸¡à¸µà¸à¸±à¸à¸«à¸²à¸à¸µà¹à¸£à¸°à¸à¸¸à¹à¸¡à¹à¹à¸à¹à¸à¸²à¸à¸à¸¢à¹à¸²à¸à¸à¸±à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¹à¸à¹à¸£à¸±à¸
+ssl-error-generate-random-failure = SSL à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¸²à¸à¸à¸±à¸§à¸ªà¸£à¹à¸²à¸à¹à¸¥à¸à¸ªà¸¸à¹à¸¡à¹à¸à¹
+ssl-error-sign-hashes-failure = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¸à¸´à¸à¸´à¸à¸±à¸¥à¸à¸µà¹à¸à¹à¸à¸à¹à¸à¹à¹à¸à¸·à¹à¸à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¹
+ssl-error-extract-public-key-failure = SSL à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸à¸à¸¸à¸à¹à¸à¸ªà¸²à¸à¸²à¸£à¸à¸°à¸à¸à¸à¸à¸²à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¸à¸¥à¸²à¸¢à¸à¸²à¸à¹à¸à¹
+ssl-error-server-key-exchange-failure = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸°à¸à¸¸à¸à¸§à¸²à¸¡à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸à¸à¸°à¸à¸³à¸¥à¸±à¸à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥ SSL Server Key Exchange handshake
+ssl-error-client-key-exchange-failure = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸°à¸à¸¸à¸à¸§à¸²à¸¡à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸à¸à¸°à¸à¸³à¸¥à¸±à¸à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥ SSL Client Key Exchange handshake
+ssl-error-encryption-failure = à¸à¸¸à¸à¹à¸à¸£à¸£à¸«à¸±à¸ªà¸à¸µà¹à¹à¸¥à¸·à¸à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¸à¸¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¹
+ssl-error-decryption-failure = à¸à¸¸à¸à¹à¸à¸£à¸£à¸«à¸±à¸ªà¸à¸µà¹à¹à¸¥à¸·à¸à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸à¸à¸£à¸«à¸±à¸ªà¸à¸¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¹
+ssl-error-socket-write-failure = à¸à¸§à¸²à¸¡à¸à¸¢à¸²à¸¢à¸²à¸¡à¹à¸à¸à¸²à¸£à¹à¸à¸µà¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¹à¸à¸¢à¸±à¸à¸à¹à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸¢à¸¹à¹à¸ ายà¹à¸à¹à¸¥à¹à¸¡à¹à¸«à¸¥à¸§
+ssl-error-md5-digest-failure = à¸à¸±à¸à¸à¹à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¸¢à¹à¸à¸¢ MD5 ลà¹à¸¡à¹à¸«à¸¥à¸§
+ssl-error-sha-digest-failure = à¸à¸±à¸à¸à¹à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¸¢à¹à¸à¸¢ SHA-1 ลà¹à¸¡à¹à¸«à¸¥à¸§
+ssl-error-mac-computation-failure = à¸à¸²à¸£à¸à¸³à¸à¸§à¸ MAC ลà¹à¸¡à¹à¸«à¸¥à¸§
+ssl-error-sym-key-context-failure = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¸£à¹à¸²à¸à¸à¸£à¸´à¸à¸à¸à¸µà¸¢à¹à¸ªà¸¡à¸¡à¸²à¸à¸£à¹à¸à¹
+ssl-error-sym-key-unwrap-failure = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸°à¸à¸µà¸¢à¹à¸ªà¸¡à¸¡à¸²à¸à¸£à¸à¸µà¹à¸à¸¢à¸¹à¹à¹à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸²à¸£à¹à¸¥à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸µà¸¢à¹à¹à¸à¸¥à¹à¸à¹à¸à¸à¹à¹à¸à¹
+ssl-error-pub-key-size-limit-exceeded = SSL à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸¢à¸²à¸¢à¸²à¸¡à¹à¸à¹à¸à¸¸à¸à¹à¸à¸ªà¸²à¸à¸²à¸£à¸à¸°à¸à¸±à¹à¸à¸à¹à¸à¸à¸à¸´à¹à¸à¸à¸±à¸à¸à¸²à¸£à¸ªà¹à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸£à¸£à¸«à¸±à¸ª
+ssl-error-iv-param-failure = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸£à¸£à¸«à¸±à¸ª PKCS11 สà¹à¸§à¸ IV à¹à¸à¹à¸à¸à¸±à¸§à¹à¸à¸£à¹à¸à¹
+ssl-error-init-cipher-suite-failure = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸£à¸´à¹à¸¡à¹à¸à¹à¸à¸¸à¸à¹à¸à¸£à¸£à¸«à¸±à¸ªà¹à¸à¹
+ssl-error-session-key-gen-failure = ลูà¸à¸à¹à¸²à¸¢à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¹à¸²à¸à¸à¸¸à¸à¹à¸à¸§à¸²à¸£à¸°à¹à¸à¸·à¹à¸à¸§à¸²à¸£à¸° SSL à¹à¸à¹
+ssl-error-no-server-key-for-alg = à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¹à¸¡à¹à¸¡à¸µà¸à¸¸à¸à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸±à¹à¸à¸à¸à¸à¸§à¸´à¸à¸µà¸à¸²à¸£à¹à¸¥à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸¸à¸à¹à¸
+ssl-error-token-insertion-removal = à¹à¸à¹à¸à¹à¸ PKCS#11 à¹à¸à¹à¸à¸¹à¸à¹à¸ªà¹à¹à¸à¹à¸²à¸«à¸£à¸·à¸à¸à¸¶à¸à¸à¸à¸à¹à¸à¸à¸à¸°à¸à¸µà¹à¸à¸³à¸¥à¸±à¸à¸à¸³à¸à¸²à¸
+ssl-error-token-slot-not-found = à¹à¸¡à¹à¸à¸à¹à¸à¹à¸à¹à¸ PKCS#11 à¸à¸µà¹à¸à¸³à¹à¸à¹à¸à¹à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸
+ssl-error-no-compression-overlap = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¸·à¹à¸à¸ªà¸²à¸£à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัยà¸à¸±à¸à¸à¸µà¸à¸à¸±à¹à¸: à¹à¸¡à¹à¸¡à¸µà¸à¸±à¸¥à¸à¸à¸£à¸´à¸à¸¶à¸¡à¸à¸²à¸£à¸à¸µà¸à¸à¸±à¸à¸£à¹à¸§à¸¡à¸à¸±à¸
+ssl-error-handshake-not-completed = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸£à¸´à¹à¸¡ SSL handshake à¸à¸·à¹à¸à¹à¸à¹à¸à¸à¸à¸§à¹à¸² handshake à¸à¸±à¸à¸à¸¸à¸à¸±à¸à¸à¸°à¹à¸ªà¸£à¹à¸à¸ªà¸´à¹à¸
+ssl-error-bad-handshake-hash-value = à¹à¸à¹à¸£à¸±à¸à¸à¹à¸² handshake hash à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸à¸à¸²à¸à¸à¸¥à¸²à¸¢à¸à¸²à¸
+ssl-error-cert-kea-mismatch = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸¡à¸µà¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¹à¸à¹à¸à¸±à¸à¸à¸±à¹à¸à¸à¸à¸à¸§à¸´à¸à¸µà¸à¸²à¸£à¹à¸¥à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸¸à¸à¹à¸à¸à¸µà¹à¹à¸¥à¸·à¸à¸à¹à¸§à¹à¹à¸à¹
+ssl-error-no-trusted-ssl-client-ca = à¹à¸¡à¹à¸¡à¸µà¸à¸¹à¹à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸à¸à¸µà¹à¹à¸à¸·à¹à¸à¸à¸·à¸à¹à¸à¹à¸à¸±à¸à¸à¸²à¸£à¸¢à¸·à¸à¸¢à¸±à¸à¸à¸±à¸§à¸à¸à¸à¸à¸ SSL ลูà¸à¸à¹à¸²à¸¢
+ssl-error-session-not-found = à¹à¸¡à¹à¸à¸ SSL session ID à¸à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¥à¸¹à¸à¸à¹à¸²à¸¢à¹à¸à¹à¸à¸ session à¸à¸à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹
+ssl-error-decryption-failed-alert = à¸à¸¥à¸²à¸¢à¸à¸²à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸à¸à¸£à¸«à¸±à¸ªà¸à¹à¸² SSL à¸à¸µà¹à¹à¸à¹à¸£à¸±à¸à¹à¸à¹
+ssl-error-record-overflow-alert = à¸à¸¥à¸²à¸¢à¸à¸²à¸à¹à¸à¹à¸£à¸±à¸à¸à¹à¸² SSL à¸à¸µà¹à¸¢à¸²à¸§à¸à¸§à¹à¸²à¸à¸µà¹à¸à¸à¸¸à¸à¸²à¸
+ssl-error-unknown-ca-alert = à¸à¸¥à¸²à¸¢à¸à¸²à¸à¹à¸¡à¹à¹à¸à¸·à¹à¸à¸à¸·à¸ CA à¸à¸µà¹à¸à¸¸à¸à¸¡à¸µà¸à¸¢à¸¹à¹
+ssl-error-access-denied-alert = à¸à¸¥à¸²à¸¢à¸à¸²à¸à¹à¸à¹à¸£à¸±à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸à¸¹à¸à¸à¹à¸à¸ à¹à¸à¹à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸¡à¹à¹à¸à¹
+ssl-error-decode-error-alert = à¸à¸¥à¸²à¸¢à¸à¸²à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸à¸à¸£à¸«à¸±à¸ªà¸à¹à¸à¸à¸§à¸²à¸¡ SSL handshake à¹à¸à¹
+ssl-error-decrypt-error-alert = à¸à¸¥à¸²à¸¢à¸à¸²à¸à¹à¸à¹à¸£à¸²à¸¢à¸à¸²à¸à¸à¸¶à¸à¸à¸§à¸²à¸¡à¸¥à¹à¸¡à¹à¸«à¸¥à¸§à¹à¸à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸¥à¸²à¸¢à¹à¸à¹à¸à¸«à¸£à¸·à¸à¸à¸²à¸£à¹à¸¥à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸¸à¸à¹à¸
+ssl-error-export-restriction-alert = à¸à¸¥à¸²à¸¢à¸à¸²à¸à¸£à¸²à¸¢à¸à¸²à¸à¸à¸¶à¸à¸à¸²à¸£à¸à¹à¸à¸£à¸à¸à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¸²à¸à¸±à¸à¸à¸à¸à¸²à¸£à¸ªà¹à¸à¸à¸à¸
+ssl-error-protocol-version-alert = à¸à¸µà¸à¸à¸±à¹à¸à¸£à¸²à¸¢à¸à¸²à¸à¸à¸¶à¸à¸£à¸¸à¹à¸à¹à¸à¸£à¹à¸à¸à¸à¸¥à¸à¸µà¹à¹à¸à¹à¸²à¸à¸±à¸à¹à¸¡à¹à¹à¸à¹à¸«à¸£à¸·à¸à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸
+ssl-error-insufficient-security-alert = à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¹à¸à¸à¸à¸²à¸£à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¸à¸µà¹à¸à¸¥à¸à¸à¸ ัยà¸à¸§à¹à¸²à¸à¸µà¹à¸£à¸à¸à¸£à¸±à¸à¹à¸à¸¢à¸¥à¸¹à¸à¸à¹à¸²à¸¢
+ssl-error-internal-error-alert = à¸à¸¥à¸²à¸¢à¸à¸²à¸à¸£à¸²à¸¢à¸à¸²à¸à¸à¸¶à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸¥à¸²à¸à¸ ายà¹à¸
+ssl-error-user-canceled-alert = à¸à¸¹à¹à¹à¸à¹à¸à¸¥à¸²à¸¢à¸à¸²à¸à¸¢à¸à¹à¸¥à¸´à¸ handshake
+ssl-error-no-renegotiation-alert = à¸à¸¥à¸²à¸¢à¸à¸²à¸à¹à¸¡à¹à¸à¸à¸¸à¸à¸²à¸à¸à¸²à¸£à¸à¹à¸à¸£à¸à¸à¸à¹à¸³à¸à¸±à¸ SSL security parameters
+ssl-error-server-cache-not-configured = à¹à¸à¸à¹à¸¡à¹à¸à¹à¸²à¸¢ SSL à¹à¸¡à¹à¹à¸à¹à¸à¸¹à¸à¸à¸±à¹à¸à¸à¹à¸²à¹à¸¥à¸°à¹à¸¡à¹à¸à¸¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸à¸à¹à¸à¹à¸à¸à¸µà¹
+ssl-error-unsupported-extension-alert = SSL à¸à¸¥à¸²à¸¢à¸à¸²à¸à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢ TLS hello
+ssl-error-certificate-unobtainable-alert = SSL à¸à¸¥à¸²à¸¢à¸à¸²à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸±à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¸à¸¸à¸à¸à¸²à¸ URL à¸à¸µà¹à¹à¸à¹à¸à¹à¸§à¹à¹à¸à¹
+ssl-error-unrecognized-name-alert = SSL à¸à¸¥à¸²à¸¢à¸à¸²à¸à¹à¸¡à¹à¸¡à¸µà¹à¸à¸£à¸±à¸à¸£à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸·à¹à¸ DNS à¸à¸µà¹à¸£à¹à¸à¸à¸à¸
+ssl-error-bad-cert-status-response-alert = SSL à¸à¸¥à¸²à¸¢à¸à¸²à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸±à¸à¸à¸²à¸£à¸à¸à¸à¸£à¸±à¸ OCSP à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¸¡à¸±à¸à¹à¸à¹
+ssl-error-bad-cert-hash-value-alert = SSL à¸à¸¥à¸²à¸¢à¸à¸²à¸à¸£à¸²à¸¢à¸à¸²à¸à¸à¸¶à¸à¸à¹à¸² hash à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸à¸´à¸à¸à¸¥à¸²à¸
+ssl-error-rx-unexpected-new-session-ticket = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ New Session Ticket handshake à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸
+ssl-error-rx-malformed-new-session-ticket = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ New Session Ticket handshake à¸à¸µà¹à¸à¸´à¸à¸£à¸¹à¸à¹à¸à¸
+ssl-error-decompression-failure = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸²à¸à¸µà¹à¸à¸¹à¸à¸à¸µà¸à¸à¸±à¸à¸à¸µà¹à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸à¸à¸à¸à¹à¸à¹
+ssl-error-renegotiation-not-allowed = SSL à¸à¹à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¸¡à¸µà¸à¸²à¸£à¸à¹à¸à¸£à¸à¸à¸à¹à¸³
+ssl-error-unsafe-negotiation = à¸à¸µà¸à¸à¸±à¹à¸à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸° Handshake à¹à¸à¸à¹à¸à¹à¸² (à¸à¸²à¸à¸¡à¸µà¸à¸§à¸²à¸¡à¹à¸ªà¸µà¹à¸¢à¸)
+ssl-error-rx-unexpected-uncompressed-record = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸²à¸à¸µà¹à¹à¸¡à¹à¸à¸µà¸à¸à¸±à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸
+ssl-error-weak-server-ephemeral-dh-key = SSL à¹à¸à¹à¸£à¸±à¸à¸à¸µà¸¢à¹ Diffie-Hellman à¹à¸à¸à¸à¸±à¹à¸§à¸à¸£à¸²à¸§à¸à¸µà¹à¸¡à¸µà¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¹à¸³à¹à¸à¸à¹à¸à¸à¸§à¸²à¸¡ Server Key Exchange handshake
+ssl-error-next-protocol-data-invalid = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢ NPN à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+ssl-error-feature-not-supported-for-ssl2 = à¸à¸¸à¸à¸ªà¸¡à¸à¸±à¸à¸´ SSL à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¹à¸à¸¢à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸ SSL 2.0
+ssl-error-feature-not-supported-for-servers = à¸à¸¸à¸à¸ªà¸¡à¸à¸±à¸à¸´ SSL à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¹à¸à¸¢à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹
+ssl-error-feature-not-supported-for-clients = à¸à¸¸à¸à¸ªà¸¡à¸à¸±à¸à¸´ SSL à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¹à¸à¸¢à¸¥à¸¹à¸à¸à¹à¸²à¸¢
+ssl-error-invalid-version-range = à¸à¹à¸§à¸à¸£à¸¸à¹à¸à¸à¸à¸ SSL à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+ssl-error-cipher-disallowed-for-version = SSL à¸à¸¥à¸²à¸¢à¸à¸²à¸à¹à¸¥à¸·à¸à¸à¸à¸¸à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸à¸¸à¸à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸£à¸¸à¹à¸à¹à¸à¸£à¹à¸à¸à¸à¸¥à¸à¸µà¹à¹à¸¥à¸·à¸à¸
+ssl-error-rx-malformed-hello-verify-request = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ Hello Verify Request handshake à¸à¸µà¹à¸à¸´à¸à¸£à¸¹à¸à¹à¸à¸
+ssl-error-rx-unexpected-hello-verify-request = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ Hello Verify Request handshake à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸
+ssl-error-feature-not-supported-for-version = à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸° SSL à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¹à¸à¸£à¸¸à¹à¸à¹à¸à¸£à¹à¸à¸à¸à¸¥
+ssl-error-rx-unexpected-cert-status = SSL à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡ Certificate Status handshake à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸
+ssl-error-unsupported-hash-algorithm = TLS à¸à¸¥à¸²à¸¢à¸à¸²à¸à¹à¸à¹à¸à¸±à¸¥à¸à¸à¸£à¸´à¸à¸¶à¸¡à¹à¸®à¸à¸à¸µà¹à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸
+ssl-error-digest-failure = à¸à¸±à¸à¸à¹à¸à¸±à¸à¸à¸²à¸£à¸¢à¹à¸à¸¢à¸¥à¹à¸¡à¹à¸«à¸¥à¸§
+ssl-error-incorrect-signature-algorithm = มีà¸à¸²à¸£à¸£à¸°à¸à¸¸à¸à¸±à¸¥à¸à¸à¸£à¸´à¸à¸¶à¸¡à¸¥à¸²à¸¢à¹à¸à¹à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸à¹à¸à¸à¸à¸à¹à¸à¸£à¸°à¸à¸à¸à¸à¸µà¹à¸¥à¸à¸¥à¸²à¸¢à¹à¸à¹à¸à¹à¸à¸à¸à¸´à¸à¸´à¸à¸±à¸¥
+ssl-error-next-protocol-no-callback = สà¹à¸§à¸à¸à¸¢à¸²à¸¢ next protocol negotiation à¸à¸¹à¸à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸ à¹à¸à¹à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¥à¸±à¸à¸à¸¹à¸à¸¥à¹à¸²à¸à¸à¹à¸à¸à¸à¸µà¹à¸à¸°à¸à¸¹à¸à¸à¹à¸à¸à¸à¸²à¸£
+ssl-error-next-protocol-no-protocol = à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¹à¸à¸£à¹à¸à¸à¸à¸¥à¸à¸µà¹à¹à¸à¸¥à¹à¸à¸à¸à¹à¹à¸à¸©à¸à¸²à¹à¸à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢ ALPN
+ssl-error-inappropriate-fallback-alert = à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸à¸´à¹à¸ªà¸à¸à¸²à¸£à¸à¸±à¸à¸¡à¸·à¸à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸¥à¸¹à¸à¸à¹à¸²à¸¢à¸à¸£à¸±à¸à¸¥à¸à¹à¸à¹à¸à¸£à¸¸à¹à¸ TLS à¸à¸µà¹à¸à¹à¸³à¸à¸§à¹à¸²à¸à¸µà¹à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸£à¸à¸à¸£à¸±à¸
+ssl-error-weak-server-cert-key = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸£à¸§à¸¡à¸à¸µà¸¢à¹à¸ªà¸²à¸à¸²à¸£à¸à¸°à¸à¸µà¹à¸¡à¸µà¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¹à¸³à¹à¸à¸´à¸à¹à¸
+ssl-error-rx-short-dtls-read = มีà¸à¸·à¹à¸à¸à¸µà¹à¹à¸¡à¹à¹à¸à¸µà¸¢à¸à¸à¸à¹à¸à¸à¸±à¸à¹à¸à¸à¸£à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸±à¸à¸à¸±à¸à¸à¸¶à¸ DTLS
+ssl-error-no-supported-signature-algorithm = à¹à¸¡à¹à¹à¸à¹à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸à¸±à¸¥à¸à¸à¸£à¸´à¸à¸¶à¸¡à¸¥à¸²à¸¢à¹à¸à¹à¸ TLS à¸à¸µà¹à¸£à¸à¸à¸£à¸±à¸
+ssl-error-unsupported-signature-algorithm = à¸à¸¥à¸²à¸¢à¸à¸²à¸à¹à¸à¹à¸à¸¸à¸à¸à¸±à¸¥à¸à¸à¸£à¸´à¸à¸¶à¸¡à¸¥à¸²à¸¢à¹à¸à¹à¸à¹à¸¥à¸°à¹à¸®à¸à¸à¸µà¹à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸
+ssl-error-missing-extended-master-secret = à¸à¸¥à¸²à¸¢à¸à¸²à¸à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸à¹à¸à¸¢à¹à¸¡à¹à¸¡à¸µà¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢ extension_master_secret à¸à¸µà¹à¸à¸¹à¸à¸à¹à¸à¸
+ssl-error-unexpected-extended-master-secret = à¸à¸¥à¸²à¸¢à¸à¸²à¸à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸à¸à¹à¸§à¸¢à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢ extension_master_secret à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸
+sec-error-io = à¸à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸ I/O ระหวà¹à¸²à¸à¸à¸²à¸£à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย
+sec-error-library-failure = หà¹à¸à¸à¸ªà¸¡à¸¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸´à¸à¸à¸¥à¸²à¸
+sec-error-bad-data = หà¹à¸à¸à¸ªà¸¡à¸¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย: à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸ªà¸µà¸¢
+sec-error-output-len = หà¹à¸à¸à¸ªà¸¡à¸¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย: à¸à¸§à¸²à¸¡à¸¢à¸²à¸§à¸à¹à¸²à¸à¸à¸à¸à¸´à¸à¸à¸¥à¸²à¸
+sec-error-input-len = หà¹à¸à¸à¸ªà¸¡à¸¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸§à¹à¸²à¸à¸§à¸²à¸¡à¸¢à¸²à¸§à¸à¹à¸²à¸£à¸±à¸à¹à¸à¹à¸²à¸à¸´à¸à¸à¸¥à¸²à¸
+sec-error-invalid-args = หà¹à¸à¸à¸ªà¸¡à¸¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย: à¸à¸²à¸£à¹à¸à¸´à¸§à¹à¸¡à¸à¸à¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-invalid-algorithm = หà¹à¸à¸à¸ªà¸¡à¸¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย: à¸à¸±à¸¥à¸à¸à¸£à¸´à¸à¸¶à¸¡à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-invalid-ava = หà¹à¸à¸à¸ªà¸¡à¸¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย: AVA à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-invalid-time = à¹à¸§à¸¥à¸²à¸à¸´à¸à¸£à¸¹à¸à¹à¸à¸
+sec-error-bad-der = หà¹à¸à¸à¸ªà¸¡à¸¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย: à¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¹à¸à¸ DER à¸à¸´à¸à¸£à¸¹à¸à¹à¸à¸
+sec-error-bad-signature = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¸à¸µà¸à¸à¸±à¹à¸à¸¡à¸µà¸¥à¸²à¸¢à¹à¸à¹à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-expired-certificate = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¸à¸µà¸à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸²à¸¢à¸¸à¹à¸¥à¹à¸§
+sec-error-revoked-certificate = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¸à¸µà¸à¸à¸±à¹à¸à¸à¸¹à¸à¹à¸à¸´à¸à¸à¸à¸
+sec-error-unknown-issuer = à¹à¸¡à¹à¸£à¸¹à¹à¸à¸±à¸à¸à¸¹à¹à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¸à¸µà¸à¸à¸±à¹à¸
+sec-error-bad-key = à¸à¸¸à¸à¹à¸à¸ªà¸²à¸à¸²à¸£à¸à¸°à¸à¸à¸à¸à¸µà¸à¸à¸±à¹à¸à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-bad-password = รหัสà¸à¹à¸²à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸µà¹à¸à¸£à¸à¸à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-retry-password = รหัสà¸à¹à¸²à¸à¹à¸«à¸¡à¹à¸à¸µà¹à¸à¹à¸à¸à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸ à¹à¸à¸£à¸à¸¥à¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸
+sec-error-no-nodelock = หà¹à¸à¸à¸ªà¸¡à¸¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย: à¹à¸¡à¹à¸¡à¸µ nodelock
+sec-error-bad-database = หà¹à¸à¸à¸ªà¸¡à¸¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย: à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¹à¹à¸¡à¹à¹à¸à¹
+sec-error-no-memory = หà¹à¸à¸à¸ªà¸¡à¸¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย: à¸à¸²à¸£à¸à¸à¸à¸«à¸à¹à¸§à¸¢à¸à¸§à¸²à¸¡à¸à¸³à¸¥à¹à¸¡à¹à¸«à¸¥à¸§
+sec-error-untrusted-issuer = à¸à¸¹à¹à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¸à¸¥à¸²à¸¢à¸à¸²à¸à¸à¸¹à¸à¸à¸³à¹à¸à¸£à¸·à¹à¸à¸à¸«à¸¡à¸²à¸¢à¸§à¹à¸²à¹à¸¡à¹à¸à¹à¸²à¹à¸à¸·à¹à¸à¸à¸·à¸à¹à¸à¸¢à¸à¸¹à¹à¹à¸à¹
+sec-error-untrusted-cert = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¸à¸¥à¸²à¸¢à¸à¸²à¸à¸à¸¹à¸à¸à¸³à¹à¸à¸£à¸·à¹à¸à¸à¸«à¸¡à¸²à¸¢à¸§à¹à¸²à¹à¸¡à¹à¸à¹à¸²à¹à¸à¸·à¹à¸à¸à¸·à¸à¹à¸à¸¢à¸à¸¹à¹à¹à¸à¹
+sec-error-duplicate-cert = มีà¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸¢à¸¹à¹à¹à¸¥à¹à¸§à¹à¸à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¸à¸¸à¸
+sec-error-duplicate-cert-name = à¸à¸·à¹à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸¡à¸²à¸à¸·à¹à¸à¸à¹à¸³à¸à¸±à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹à¹à¸¥à¹à¸§à¹à¸à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¸à¸¸à¸
+sec-error-adding-cert = à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸à¸²à¸£à¹à¸à¸´à¹à¸¡à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸à¸¢à¸±à¸à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥
+sec-error-filing-key = à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸à¸²à¸£à¸à¹à¸à¸à¸¸à¸à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹
+sec-error-no-key = à¸à¸¸à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸à¹à¸à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸¸à¸à¹à¸
+sec-error-cert-valid = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-cert-not-valid = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-cert-no-response = หà¹à¸à¸à¸ªà¸¡à¸¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸: à¹à¸¡à¹à¸à¸à¸à¸ªà¸à¸à¸
+sec-error-expired-issuer-certificate = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¸à¸¹à¹à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸«à¸¡à¸à¸à¸²à¸¢à¸¸Â  à¸à¸£à¸§à¸à¸ªà¸à¸à¸§à¸±à¸à¸à¸µà¹à¹à¸¥à¸°à¹à¸§à¸¥à¸²à¹à¸à¸£à¸°à¸à¸à¸à¸à¸à¸à¸¸à¸
+sec-error-crl-expired = CRL สำหรัà¸à¸à¸¹à¹à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸«à¸¡à¸à¸à¸²à¸¢à¸¸à¹à¸¥à¹à¸§ à¸à¸±à¸à¹à¸à¸à¸«à¸£à¸·à¸à¸à¸£à¸§à¸à¸ªà¸à¸à¸§à¸±à¸à¸à¸µà¹à¹à¸¥à¸°à¹à¸§à¸¥à¸²à¹à¸à¸£à¸°à¸à¸à¸à¸à¸à¸à¸¸à¸
+sec-error-crl-bad-signature = CRL สำหรัà¸à¸à¸¹à¹à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸¡à¸µà¸¥à¸²à¸¢à¹à¸à¹à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-crl-invalid = CRL à¹à¸«à¸¡à¹à¸¡à¸µà¸£à¸¹à¸à¹à¸à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-extension-value-invalid = à¸à¹à¸²à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-extension-not-found = à¹à¸¡à¹à¸à¸à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢à¹à¸à¸£à¸±à¸à¸£à¸à¸
+sec-error-ca-cert-invalid = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¸à¸¹à¹à¸à¸à¸à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-path-len-constraint-invalid = à¸à¹à¸à¸à¸±à¸à¸à¸±à¸à¸à¸§à¸²à¸¡à¸¢à¸²à¸§à¸à¸à¸à¹à¸ªà¹à¸à¸à¸²à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-cert-usages-invalid = à¸à¹à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-internal-only = **à¹à¸¡à¸à¸¹à¸¥à¹à¸à¸à¸²à¸°à¸ ายà¹à¸**
+sec-error-invalid-key = à¸à¸¸à¸à¹à¸à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸µà¹à¸à¸
+sec-error-unknown-critical-extension = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸£à¸°à¸à¸à¸à¸à¹à¸§à¸¢à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸ªà¸³à¸à¸±à¸à¸à¸µà¹à¹à¸¡à¹à¸£à¸¹à¹à¸à¸±à¸
+sec-error-old-crl = CRL à¹à¸«à¸¡à¹à¸à¸±à¹à¸à¹à¸¡à¹à¹à¸«à¸¡à¹à¸à¸§à¹à¸²à¸à¸à¸à¸à¸±à¸à¸à¸¸à¸à¸±à¸
+sec-error-no-email-cert = à¹à¸¡à¹à¸à¸¹à¸à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¸«à¸£à¸·à¸à¹à¸à¹à¸: à¸à¸¸à¸à¸¢à¸±à¸à¹à¸¡à¹à¸¡à¸µà¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸¡à¸¥
+sec-error-no-recipient-certs-query = à¹à¸¡à¹à¸à¸¹à¸à¹à¸à¹à¸²à¸£à¸«à¸±à¸ª: à¸à¸¸à¸à¹à¸¡à¹à¸¡à¸µà¹à¸à¸£à¸±à¸à¸£à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¹à¸¥à¸°à¸à¸¹à¹à¸£à¸±à¸
+sec-error-not-a-recipient = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸à¸à¸£à¸«à¸±à¸ª: à¸à¸¸à¸à¹à¸¡à¹à¹à¸à¹à¸à¸¹à¹à¸£à¸±à¸ หรืà¸à¹à¸¡à¹à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸¥à¸°à¸à¸¸à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸µà¹à¸à¸£à¸à¸à¸±à¸
+sec-error-pkcs7-keyalg-mismatch = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸à¸à¸£à¸«à¸±à¸ª: à¸à¸±à¸¥à¸à¸à¸£à¸´à¸à¸¶à¸¡à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¸à¸¸à¸à¹à¸à¹à¸¡à¹à¸à¸£à¸à¸à¸±à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¸à¸¸à¸
+sec-error-pkcs7-bad-signature = à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸¥à¸²à¸¢à¹à¸à¹à¸à¸¥à¹à¸¡à¹à¸«à¸¥à¸§: à¹à¸¡à¹à¸à¸à¸à¸¹à¹à¹à¸à¹à¸ à¸à¸à¸à¸¹à¹à¹à¸à¹à¸à¸¡à¸²à¸à¹à¸à¸´à¸à¹à¸ หรืà¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸´à¸à¸£à¸¹à¸à¹à¸à¸à¸«à¸£à¸·à¸à¹à¸ªà¸µà¸¢à¸«à¸²à¸¢
+sec-error-unsupported-keyalg = à¸à¸±à¸¥à¸à¸à¸£à¸´à¸à¸¶à¸¡à¸à¸¸à¸à¹à¸à¸à¸µà¹à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¸«à¸£à¸·à¸à¹à¸¡à¹à¸£à¸¹à¹à¸à¸±à¸
+sec-error-decryption-disallowed = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸à¸à¸£à¸«à¸±à¸ª: à¸à¸¹à¸à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¹à¸à¸¢à¹à¸à¹à¸à¸±à¸¥à¸à¸à¸£à¸´à¸à¸¶à¸¡à¸«à¸£à¸·à¸à¸à¸à¸²à¸à¸à¸¸à¸à¹à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸à¸¸à¸à¸²à¸
+xp-sec-fortezza-bad-card = à¸à¸²à¸£à¹à¸ Fortezza à¹à¸¡à¹à¹à¸à¹à¹à¸£à¸´à¹à¸¡à¸à¸¢à¹à¸²à¸à¸à¸¹à¸à¸à¹à¸à¸ à¹à¸à¸£à¸à¹à¸à¸²à¸à¸à¸à¹à¸¥à¸°à¸ªà¹à¸à¸à¸·à¸à¹à¸«à¹à¸à¸±à¸à¸à¸¹à¹à¸à¸à¸à¸à¸à¸à¸à¸¸à¸
+xp-sec-fortezza-no-card = à¹à¸¡à¹à¸à¸à¸à¸²à¸£à¹à¸ Fortezza
+xp-sec-fortezza-none-selected = à¹à¸¡à¹à¸¡à¸µà¸à¸²à¸£à¹à¸ Fortezza à¸à¸µà¹à¹à¸¥à¸·à¸à¸
+xp-sec-fortezza-more-info = à¹à¸à¸£à¸à¹à¸¥à¸·à¸à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸ªà¹à¸§à¸à¸à¸¸à¸à¸à¸¥à¹à¸à¸·à¹à¸à¸£à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+xp-sec-fortezza-person-not-found = à¹à¸¡à¹à¸à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸ªà¹à¸§à¸à¸à¸¸à¸à¸à¸¥
+xp-sec-fortezza-no-more-info = à¹à¸¡à¹à¸¡à¸µà¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸ªà¹à¸§à¸à¸à¸¸à¸à¸à¸¥à¸à¸±à¹à¸
+xp-sec-fortezza-bad-pin = à¸à¸±à¸à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+xp-sec-fortezza-person-error = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸ªà¹à¸§à¸à¸à¸¸à¸à¸à¸¥ Fortezza à¹à¸à¹
+sec-error-no-krl = à¹à¸¡à¹à¸à¸ KRL สำหรัà¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹
+sec-error-krl-expired = KRL สำหรัà¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸«à¸¡à¸à¸à¸²à¸¢à¸¸à¹à¸¥à¹à¸§
+sec-error-krl-bad-signature = KRL สำหรัà¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸¡à¸µà¸¥à¸²à¸¢à¹à¸à¹à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-revoked-key = KRL สำหรัà¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸«à¸¡à¸à¸à¸²à¸¢à¸¸à¹à¸¥à¹à¸§
+sec-error-krl-invalid = KRL à¹à¸«à¸¡à¹à¸¡à¸µà¸£à¸¹à¸à¹à¸à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-need-random = หà¹à¸à¸à¸ªà¸¡à¸¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย: à¸à¹à¸à¸à¸à¸²à¸£à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¸ªà¸¸à¹à¸¡
+sec-error-no-module = หà¹à¸à¸à¸ªà¸¡à¸¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย: à¹à¸¡à¹à¸¡à¸µà¹à¸¡à¸à¸¹à¸¥à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸à¸²à¸¡à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸µà¹à¸à¸
+sec-error-no-token = à¹à¸¡à¹à¸¡à¸µà¸à¸²à¸£à¹à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยหรืà¸à¹à¸à¹à¸à¹à¸à¸à¸¢à¸¹à¹ à¸à¹à¸à¸à¹à¸£à¸´à¹à¸¡à¹à¸«à¸¡à¹à¸à¸µà¸à¸à¸£à¸±à¹à¸ หรืà¸à¸à¸¹à¸à¹à¸à¸²à¸à¸à¸à¹à¸à¹à¸¥à¹à¸§
+sec-error-read-only = หà¹à¸à¸à¸ªà¸¡à¸¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย: à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¸à¹à¸²à¸à¸à¸¢à¹à¸²à¸à¹à¸à¸µà¸¢à¸§
+sec-error-no-slot-selected = à¹à¸¡à¹à¹à¸à¹à¹à¸¥à¸·à¸à¸à¸ªà¸¥à¹à¸à¸à¸«à¸£à¸·à¸à¹à¸à¹à¸à¹à¸
+sec-error-cert-nickname-collision = มีà¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸¡à¸µà¸à¸·à¹à¸à¹à¸¥à¹à¸à¹à¸«à¸¡à¸·à¸à¸à¸à¸±à¸à¸à¸¢à¸¹à¹à¹à¸¥à¹à¸§
+sec-error-key-nickname-collision = มีà¸à¸¸à¸à¹à¸à¸à¸µà¹à¸¡à¸µà¸à¸·à¹à¸à¹à¸¥à¹à¸à¹à¸à¸µà¸¢à¸§à¸à¸±à¸à¸à¸¢à¸¹à¹à¹à¸¥à¹à¸§
+sec-error-safe-not-created = à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸à¸°à¸ªà¸£à¹à¸²à¸à¸§à¸±à¸à¸à¸¸à¹à¸à¸à¸à¸¥à¸à¸à¸ ัย
+sec-error-baggage-not-created = à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸à¸°à¸ªà¸£à¹à¸²à¸à¸§à¸±à¸à¸à¸¸à¸ªà¸±à¸¡à¸ าระ
+xp-java-remove-principal-error = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸² principal à¸à¸à¸à¹à¸à¹
+xp-java-delete-privilege-error = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸¥à¸ privilege à¹à¸à¹
+xp-java-cert-not-exists-error = Principle à¸à¸µà¹à¹à¸¡à¹à¸¡à¸µà¹à¸à¸£à¸±à¸à¸£à¸à¸
+sec-error-bad-export-algorithm = à¸à¸±à¸¥à¸à¸à¸£à¸´à¸à¸¶à¸¡à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£à¸à¸±à¹à¸à¹à¸¡à¹à¸à¸à¸¸à¸à¸²à¸
+sec-error-exporting-certificates = à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸à¸°à¸à¸¢à¸²à¸¢à¸²à¸¡à¸ªà¹à¸à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸
+sec-error-importing-certificates = à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸à¸°à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸³à¹à¸à¹à¸²à¹à¸à¸£à¸±à¸à¸£à¸à¸
+sec-error-pkcs12-decoding-pfx = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸² à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸²à¸£à¸à¸à¸à¸£à¸«à¸±à¸ª à¹à¸à¸¥à¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-pkcs12-invalid-mac = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸² MAC à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸ รหัสà¸à¹à¸²à¸à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸à¸«à¸£à¸·à¸à¹à¸à¸¥à¹à¹à¸ªà¸µà¸¢à¸«à¸²à¸¢
+sec-error-pkcs12-unsupported-mac-algorithm = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸² à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¸à¸±à¸¥à¸à¸à¸£à¸´à¸à¸¶à¸¡ MAC
+sec-error-pkcs12-unsupported-transport-mode = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸² รà¸à¸à¸£à¸±à¸à¹à¸à¸à¸²à¸°à¹à¸«à¸¡à¸à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸¥à¸°à¸à¸§à¸²à¸¡à¸ªà¸¡à¸à¸¹à¸£à¸à¹à¸à¸à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¹à¸à¹à¸²à¸à¸±à¹à¸
+sec-error-pkcs12-corrupt-pfx-structure = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸² à¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸à¹à¸à¸¥à¹à¹à¸ªà¸µà¸¢à¸«à¸²à¸¢
+sec-error-pkcs12-unsupported-pbe-algorithm = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸² à¸à¸±à¸¥à¸à¸à¸£à¸´à¸à¸¶à¸¡à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸
+sec-error-pkcs12-unsupported-version = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸² à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¸£à¸¸à¹à¸à¹à¸à¸¥à¹
+sec-error-pkcs12-privacy-password-incorrect = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸² รหัสà¸à¹à¸²à¸à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-pkcs12-cert-collision = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸² มีà¸à¸·à¹à¸à¹à¸¥à¹à¸à¹à¸à¸µà¸¢à¸§à¸à¸±à¸à¸à¸¢à¸¹à¹à¹à¸¥à¹à¸§à¹à¸à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥
+sec-error-user-cancelled = à¸à¸¹à¹à¹à¸à¹à¸à¸à¸¢à¸à¹à¸¥à¸´à¸
+sec-error-pkcs12-duplicate-data = à¹à¸¡à¹à¸à¸¹à¸à¸à¸³à¹à¸à¹à¸² มีà¸à¸¢à¸¹à¹à¹à¸¥à¹à¸§à¹à¸à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥
+sec-error-message-send-aborted = à¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸¡à¹à¸à¸¹à¸à¸ªà¹à¸
+sec-error-inadequate-key-usage = à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¸¸à¸à¹à¸à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸¡à¹à¹à¸à¸µà¸¢à¸à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸µà¹à¸à¸¢à¸²à¸¢à¸²à¸¡
+sec-error-inadequate-cert-type = à¸à¸£à¸°à¹à¸ à¸à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸à¸¸à¸à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸
+sec-error-cert-addr-mismatch = à¸à¸µà¹à¸à¸¢à¸¹à¹à¹à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¹à¸à¹à¸à¹à¸¡à¹à¸à¸£à¸à¸à¸±à¸à¸à¸µà¹à¸à¸¢à¸¹à¹à¹à¸à¸ªà¹à¸§à¸à¸«à¸±à¸§à¸à¸à¸à¸à¹à¸à¸à¸§à¸²à¸¡
+sec-error-pkcs12-unable-to-import-key = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸²à¹à¸à¹ มีà¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸à¸²à¸£à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸³à¹à¸à¹à¸²à¸à¸µà¸¢à¹à¸ªà¹à¸§à¸à¸à¸±à¸§
+sec-error-pkcs12-importing-cert-chain = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸²à¹à¸à¹ มีà¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸à¸²à¸£à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸³à¹à¸à¹à¸²à¸ªà¸²à¸¢à¹à¸à¸£à¸±à¸à¸£à¸à¸
+sec-error-pkcs12-unable-to-locate-object-by-name = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¹à¸à¸à¸à¸à¹à¸à¹ à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸°à¸à¸¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸«à¸£à¸·à¸à¸à¸µà¸¢à¹à¸à¹à¸§à¸¢à¸à¸·à¹à¸à¹à¸¥à¹à¸à¹à¸à¹
+sec-error-pkcs12-unable-to-export-key = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¹à¸à¸à¸à¸à¹à¸à¹ à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸°à¸à¸¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¹à¸¥à¸°à¸ªà¹à¸à¸à¸à¸à¸à¸µà¸¢à¹à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸à¹
+sec-error-pkcs12-unable-to-write = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¹à¸à¸à¸à¸ à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸µà¸¢à¸à¹à¸à¸¥à¹à¸ªà¹à¸à¸à¸à¸
+sec-error-pkcs12-unable-to-read = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸² à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¹à¸²à¸à¹à¸à¸¥à¹à¸à¸³à¹à¸à¹à¸²
+sec-error-pkcs12-key-database-not-initialized = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¹à¸à¸à¸à¸à¹à¸à¹ à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¸¢à¹à¹à¸ªà¸µà¸¢à¸«à¸²à¸¢à¸«à¸£à¸·à¸à¸à¸¹à¸à¸¥à¸à¹à¸à¹à¸¥à¹à¸§
+sec-error-keygen-fail = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¸¸à¹à¸¡à¸à¸¹à¹à¸à¸¸à¸à¹à¸à¸ªà¸²à¸à¸²à¸£à¸à¸°/สà¹à¸§à¸à¸à¸±à¸§
+sec-error-invalid-password = รหัสà¸à¹à¸²à¸à¸à¸µà¹à¸à¹à¸à¸à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸ à¹à¸à¸£à¸à¹à¸¥à¸·à¸à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸·à¹à¸
+sec-error-retry-old-password = รหัสà¸à¹à¸²à¸à¹à¸à¹à¸²à¸à¸µà¹à¸à¹à¸à¸à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸ à¹à¸à¸£à¸à¸¥à¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸
+sec-error-bad-nickname = à¸à¸·à¹à¸à¹à¸¥à¹à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸¡à¸µà¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¸¢à¸¹à¹à¹à¸¥à¹à¸§
+sec-error-not-fortezza-issuer = สาย FORTEZZA à¸à¸¥à¸²à¸¢à¸à¸²à¸à¸¡à¸µà¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹ FORTEZZA
+sec-error-cannot-move-sensitive-key = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸¢à¹à¸²à¸¢à¸à¸µà¸¢à¹à¸à¸µà¹à¸¥à¸°à¹à¸à¸µà¸¢à¸à¸à¹à¸à¸à¹à¸à¸¢à¸±à¸à¸ªà¸¥à¹à¸à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¹
+sec-error-js-invalid-module-name = à¸à¸·à¹à¸à¹à¸¡à¸à¸¹à¸¥à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-js-invalid-dll = à¹à¸ªà¹à¸à¸à¸²à¸à¹à¸¡à¸à¸¹à¸¥/à¸à¸·à¹à¸à¹à¸à¸¥à¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-js-add-mod-failure = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸´à¹à¸¡à¹à¸¡à¸à¸¹à¸¥
+sec-error-js-del-mod-failure = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸¥à¸à¹à¸¡à¸à¸¹à¸¥
+sec-error-old-krl = KRL à¹à¸«à¸¡à¹à¸à¸±à¹à¸à¹à¸¡à¹à¹à¸«à¸¡à¹à¸à¸§à¹à¸²à¸à¸±à¸à¸à¸¸à¸à¸±à¸
+sec-error-ckl-conflict = CKL à¹à¸«à¸¡à¹à¸¡à¸µà¸à¸¹à¹à¸à¸à¸à¸à¸µà¹à¹à¸à¸à¸à¹à¸²à¸à¸à¸²à¸ CKL à¸à¸±à¸à¸à¸¸à¸à¸±à¸ ลภCKL à¸à¸±à¸à¸à¸¸à¸à¸±à¸
+sec-error-cert-not-in-name-space = à¸à¸¹à¹à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¹à¸§à¸¢à¸à¸·à¹à¸à¸à¸µà¹
+sec-error-krl-not-yet-valid = รายà¸à¸²à¸£à¸à¸²à¸£à¹à¸à¸´à¸à¸à¸à¸à¸à¸µà¸¢à¹à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸¢à¸±à¸à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-crl-not-yet-valid = รายà¸à¸²à¸£à¸à¸²à¸£à¹à¸à¸´à¸à¸à¸à¸à¹à¸à¸à¸à¸¸à¸à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸¢à¸±à¸à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-unknown-cert = à¹à¸¡à¹à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸à¸
+sec-error-unknown-signer = à¹à¸¡à¹à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¸à¸¹à¹à¸¥à¸à¸¥à¸²à¸¢à¹à¸à¹à¸
+sec-error-cert-bad-access-location = à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸ªà¸à¸²à¸à¸°à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸¡à¸µà¸£à¸¹à¸à¹à¸à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-ocsp-unknown-response-type = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸à¸à¸£à¸«à¸±à¸ªà¸à¸²à¸£à¸à¸à¸à¸à¸¥à¸±à¸ OCSP à¹à¸à¹à¸à¸¢à¹à¸²à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹ à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¹à¸à¹à¸à¸à¸£à¸°à¹à¸ à¸à¸à¸µà¹à¹à¸¡à¹à¸£à¸¹à¹à¸à¸±à¸
+sec-error-ocsp-bad-http-response = à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹ OCSP สà¹à¸à¸à¸¥à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥ HTTP à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸/à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-ocsp-malformed-request = à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹ OCSP à¸à¸à¸à¸³à¸à¸à¸à¸µà¹à¹à¸ªà¸µà¸¢à¸«à¸²à¸¢à¸«à¸£à¸·à¸à¸¡à¸µà¸£à¸¹à¸à¹à¸à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-ocsp-server-error = à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹ OCSP à¸à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸ ายà¹à¸
+sec-error-ocsp-try-server-later = à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹ OCSP à¹à¸à¸°à¸à¸³à¹à¸«à¹à¸¥à¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸à¹à¸à¸ ายหลัà¸
+sec-error-ocsp-request-needs-sig = à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹ OCSP à¸à¹à¸à¸à¸à¸²à¸£à¸¥à¸²à¸¢à¹à¸à¹à¸à¸à¸à¸à¸³à¸à¸à¸à¸µà¹
+sec-error-ocsp-unauthorized-request = à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹ OCSP à¸à¸à¸´à¹à¸ªà¸à¸à¸³à¸à¸à¸à¸µà¹à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸à¸¸à¸à¸²à¸
+sec-error-ocsp-unknown-response-status = à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹ OCSP สà¹à¸à¸à¸¥à¸±à¸à¸ªà¸à¸²à¸à¸°à¸à¸µà¹à¹à¸¡à¹à¸£à¸¹à¹à¸à¸±à¸
+sec-error-ocsp-unknown-cert = à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹ OCSP à¹à¸¡à¹à¸¡à¸µà¸ªà¸à¸²à¸à¸°à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸
+sec-error-ocsp-not-enabled = à¸à¸¸à¸à¸à¹à¸à¸à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸ OCSP à¸à¹à¸à¸à¸à¸°à¸à¸³à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸µà¹
+sec-error-ocsp-no-default-responder = à¸à¸¸à¸à¸à¹à¸à¸à¸à¸±à¹à¸à¸à¸±à¸§à¸à¸à¸à¸à¸¥à¸±à¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸ OCSP à¸à¹à¸à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸µà¹
+sec-error-ocsp-malformed-response = à¸à¸²à¸£à¸à¸à¸à¸à¸¥à¸±à¸à¸à¸²à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹ OCSP à¹à¸ªà¸µà¸¢à¸«à¸²à¸¢à¸«à¸£à¸·à¸à¸¡à¸µà¸£à¸¹à¸à¹à¸à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-ocsp-unauthorized-response = à¸à¸¹à¹à¸¥à¸à¸¥à¸²à¸¢à¹à¸à¹à¸à¸à¸à¸à¸à¸²à¸£à¸à¸à¸à¸à¸¥à¸±à¸ OCSP à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¸£à¸°à¸à¸¸à¸ªà¸à¸²à¸à¸°à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹
+sec-error-ocsp-future-response = à¸à¸²à¸£à¸à¸à¸à¸à¸¥à¸±à¸ OCSP ยัà¸à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸ (มีวัà¸à¹à¸à¸à¸à¸²à¸à¸)
+sec-error-ocsp-old-response = à¸à¸²à¸£à¸à¸à¸à¸à¸¥à¸±à¸ OCSP มีà¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸¥à¹à¸²à¸ªà¸¡à¸±à¸¢
+sec-error-digest-not-found = à¹à¸¡à¹à¸à¸à¸ªà¹à¸§à¸à¸¢à¹à¸à¸¢ CMS หรืภPKCS #7 à¹à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¥à¸à¸¥à¸²à¸¢à¹à¸à¹à¸
+sec-error-unsupported-message-type = à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¸à¸à¸´à¸à¸à¹à¸à¸à¸§à¸²à¸¡ CMS หรืภPKCS #7
+sec-error-module-stuck = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸²à¹à¸¡à¸à¸¹à¸¥ PKCS #11 à¸à¸à¸à¹à¸à¹à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¹à¸à¹à¸à¸²à¸à¸à¸¢à¸¹à¹
+sec-error-bad-template = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸à¸à¸£à¸«à¸±à¸ªà¸à¹à¸à¸¡à¸¹à¸¥ ASN.1 à¹à¸à¹ à¹à¸¡à¹à¹à¸à¸à¸à¸µà¹à¸£à¸°à¸à¸¸à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-crl-not-found = à¹à¸¡à¹à¸à¸ CRL à¸à¸µà¹à¸à¸£à¸à¸à¸±à¸
+sec-error-reused-issuer-and-serial = à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸³à¹à¸à¹à¸²à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸¡à¸µà¸à¸¹à¹à¸à¸à¸/à¹à¸¥à¸à¸à¸à¸¸à¸à¸£à¸¡à¹à¸à¸µà¸¢à¸§à¸à¸±à¸à¹à¸à¹à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹à¹à¸¥à¹à¸§ à¹à¸à¹à¹à¸¡à¹à¹à¸à¹à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸à¸µà¸¢à¸§à¸à¸±à¸
+sec-error-busy = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸ NSS à¹à¸à¹ วัà¸à¸à¸¸à¸¢à¸±à¸à¸à¸¹à¸à¹à¸à¹à¸à¸²à¸à¸à¸¢à¸¹à¹
+sec-error-extra-input = à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¹à¸à¸ DER มีà¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¹à¸à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+sec-error-unsupported-elliptic-curve = à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¹à¸ªà¹à¸à¹à¸à¹à¸à¸£à¸¹à¸à¹à¸à¹à¸à¸µà¹
+sec-error-unsupported-ec-point-form = à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¸£à¸¹à¸à¹à¸à¸à¸à¸¸à¸à¹à¸ªà¹à¸à¹à¸à¹à¸à¸£à¸¹à¸à¹à¸à¹à¸à¸µà¹
+sec-error-unrecognized-oid = à¸à¸±à¸§à¸£à¸°à¸à¸¸à¸§à¸±à¸à¸à¸¸à¸à¸µà¹à¹à¸¡à¹à¸£à¸¹à¹à¸à¸±à¸
+sec-error-ocsp-invalid-signing-cert = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸²à¸£à¸¥à¸à¸¥à¸²à¸¢à¹à¸à¹à¸ OCSP à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸à¹à¸à¸à¸²à¸£à¸à¸à¸à¸à¸¥à¸±à¸ OCSP
+sec-error-revoked-certificate-crl = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸¹à¸à¹à¸à¸´à¸à¸à¸à¸à¹à¸à¸£à¸²à¸¢à¸à¸²à¸£à¹à¸à¸´à¸à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¸à¸¹à¹à¸à¸à¸
+sec-error-revoked-certificate-ocsp = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸£à¸²à¸¢à¸à¸²à¸à¸à¸¹à¹à¸à¸à¸à¸à¸¥à¸±à¸ OCSP à¸à¸à¸à¸à¸¹à¹à¸à¸à¸à¸à¸¹à¸à¹à¸à¸´à¸à¸à¸à¸
+sec-error-crl-invalid-version = รายà¸à¸²à¸£à¹à¸à¸´à¸à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¸à¸¹à¹à¸à¸à¸à¸¡à¸µà¸«à¸¡à¸²à¸¢à¹à¸¥à¸à¸£à¸¸à¹à¸à¸à¸µà¹à¹à¸¡à¹à¸£à¸¹à¹à¸à¸±à¸
+sec-error-crl-v1-critical-extension = รายà¸à¸²à¸£à¹à¸à¸´à¸à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸ V1 à¸à¸à¸à¸à¸¹à¹à¸à¸à¸à¸¡à¸µà¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸ªà¸³à¸à¸±à¸
+sec-error-crl-unknown-critical-extension = รายà¸à¸²à¸£à¹à¸à¸´à¸à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸ V2 à¸à¸à¸à¸à¸¹à¹à¸à¸à¸à¸¡à¸µà¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸ªà¸³à¸à¸±à¸à¸à¸µà¹à¹à¸¡à¹à¸£à¸¹à¹à¸à¸±à¸
+sec-error-unknown-object-type = à¹à¸¡à¹à¸£à¸¹à¹à¸à¸±à¸à¸à¸à¸´à¸à¸§à¸±à¸à¸à¸¸à¸à¸µà¹à¸£à¸°à¸à¸¸
+sec-error-incompatible-pkcs11 = à¹à¸à¸£à¹à¸§à¸à¸£à¹ PKCS #11 ละà¹à¸¡à¸´à¸à¸à¹à¸à¸à¸³à¸«à¸à¸à¹à¸à¹à¸à¸à¸à¸µà¹à¹à¸à¹à¸²à¸à¸±à¸à¹à¸¡à¹à¹à¸à¹
+sec-error-no-event = à¹à¸¡à¹à¸¡à¸µà¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸ªà¸¥à¹à¸à¸à¹à¸«à¸¡à¹à¹à¸à¹à¸§à¸¥à¸²à¸à¸µà¹
+sec-error-crl-already-exists = มี CRL à¸à¸¢à¸¹à¹à¹à¸¥à¹à¸§
+sec-error-not-initialized = à¹à¸¡à¹à¹à¸à¹à¹à¸à¸£à¸µà¸¢à¸¡à¹à¸à¹à¸à¸²à¸ NSS
+sec-error-token-not-logged-in = à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸¥à¹à¸¡à¹à¸«à¸¥à¸§à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¹à¸¡à¹à¹à¸à¹à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸à¹à¸à¹à¸ PKCS#11
+sec-error-ocsp-responder-cert-invalid = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¸à¸¹à¹à¸à¸à¸à¸à¸¥à¸±à¸ OCSP à¸à¸µà¹à¸à¸³à¸«à¸à¸à¸à¹à¸²à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-ocsp-bad-signature = à¸à¸²à¸£à¸à¸à¸à¸à¸¥à¸±à¸ OCSP มีลายà¹à¸à¹à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-out-of-search-limits = à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸à¸´à¸à¸à¸µà¸à¸à¸³à¸à¸±à¸à¹à¸à¸à¸²à¸£à¸à¹à¸à¸«à¸²
+sec-error-invalid-policy-mapping = à¸à¸²à¸£à¹à¸¡à¸à¸à¹à¸¢à¸à¸²à¸¢à¸¡à¸µ anypolicy
+sec-error-policy-validation-failed = à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸à¸à¸à¸à¸à¹à¸¢à¸à¸²à¸¢à¸à¸à¸à¸ªà¸²à¸¢à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸¥à¹à¸¡à¹à¸«à¸¥à¸§
+sec-error-unknown-aia-location-type = à¹à¸¡à¹à¸£à¸¹à¹à¸à¸±à¸à¸à¸à¸´à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¸µà¹à¸£à¸°à¸à¸¸à¹à¸à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢ AIA
+sec-error-bad-http-response = à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸ªà¹à¸à¸à¸¥à¸±à¸à¸à¸²à¸£à¸à¸à¸à¸à¸¥à¸±à¸ HTTP à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-bad-ldap-response = à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸ªà¹à¸à¸à¸¥à¸±à¸à¸à¸²à¸£à¸à¸à¸à¸à¸¥à¸±à¸ LDAP à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+sec-error-failed-to-encode-data = ลà¹à¸¡à¹à¸«à¸¥à¸§à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¸à¹à¸à¸¡à¸¹à¸¥à¸à¹à¸§à¸¢à¸à¸±à¸§à¹à¸à¹à¸²à¸£à¸«à¸±à¸ª ASN1
+sec-error-bad-info-access-location = à¸à¸³à¹à¸«à¸à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢à¹à¸à¸£à¸±à¸à¸£à¸à¸
+sec-error-libpkix-internal = à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸ ายà¹à¸à¸à¸à¸ Libpkix ระหวà¹à¸²à¸à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸
+sec-error-pkcs11-general-error = à¹à¸¡à¸à¸¹à¸¥ PKCS #11 สà¹à¸à¸à¸¥à¸±à¸ CKR_GENERAL_ERROR à¸à¸¶à¹à¸à¸à¹à¸à¸à¸µà¹à¸§à¹à¸²à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸µà¹à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸¹à¹à¸à¸·à¸à¹à¸à¹
+sec-error-pkcs11-function-failed = à¹à¸¡à¸à¸¹à¸¥ PKCS #11 สà¹à¸à¸à¸¥à¸±à¸ CKR_FUNCTION_FAILED à¸à¸¶à¹à¸à¸à¹à¸à¸à¸µà¹à¸§à¹à¸²à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸²à¸¡à¸à¸±à¸à¸à¹à¸à¸±à¸à¸à¸µà¹à¸à¸à¹à¸à¹ à¸à¸²à¸£à¸¥à¸à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¹à¸à¸µà¸¢à¸§à¸à¸±à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸à¸à¸²à¸à¸ªà¸³à¹à¸£à¹à¸
+sec-error-pkcs11-device-error = à¹à¸¡à¸à¸¹à¸¥ PKCS #11 สà¹à¸à¸à¸¥à¸±à¸ CKR_DEVICE_ERROR à¸à¸¶à¹à¸à¸à¹à¸à¸à¸µà¹à¸§à¹à¸²à¹à¸à¸´à¸à¸à¸±à¸à¸«à¸²à¸à¸¶à¹à¸à¸à¸±à¸à¹à¸à¹à¸à¹à¸à¸«à¸£à¸·à¸à¸ªà¸¥à¹à¸à¸
+sec-error-bad-info-access-method = วิà¸à¸µà¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¹à¸¡à¹à¸£à¸¹à¹à¸à¸±à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢à¹à¸à¸£à¸±à¸à¸£à¸à¸
+sec-error-crl-import-failed = à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸à¸²à¸£à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸³à¹à¸à¹à¸² CRL
+sec-error-expired-password = รหัสà¸à¹à¸²à¸à¸«à¸¡à¸à¸à¸²à¸¢à¸¸
+sec-error-locked-password = รหัสà¸à¹à¸²à¸à¸à¸¹à¸à¸¥à¹à¸à¸
+sec-error-unknown-pkcs11-error = à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸ PKCS #11 à¸à¸µà¹à¹à¸¡à¹à¸£à¸¹à¹à¸à¸±à¸
+sec-error-bad-crl-dp-url = URL à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¹à¸à¸à¸·à¹à¸à¸à¸¸à¸à¹à¸à¸à¸à¹à¸²à¸¢ CRL
+sec-error-cert-signature-algorithm-disabled = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸¹à¸à¹à¸à¹à¸à¹à¸à¸¢à¹à¸à¹à¸à¸±à¸¥à¸à¸à¸£à¸´à¸à¸¶à¸¡à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸à¸¹à¸à¸à¸´à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัย
+mozilla-pkix-error-key-pinning-failure = à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¹à¸à¹ key pinning (HPKP) à¹à¸à¹à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¸£à¹à¸²à¸à¸ªà¸²à¸¢à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¹à¸à¸·à¹à¸à¸à¸·à¸à¹à¸à¹à¸à¸¶à¹à¸à¸à¸£à¸à¸à¸±à¸ pinset à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸à¸à¸µà¹à¸à¸²à¸£à¸¥à¸°à¹à¸¡à¸´à¸ Key pinning à¹à¸à¹
+mozilla-pkix-error-ca-cert-used-as-end-entity = à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¹à¸à¹à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸¡à¸µà¸à¹à¸à¸à¸³à¸à¸±à¸à¸à¸·à¹à¸à¸à¸²à¸à¸à¸µà¹à¸£à¸°à¸à¸¸à¸§à¹à¸²à¹à¸à¹à¸à¸à¸¹à¹à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸ สำหรัà¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸à¸à¸à¹à¸«à¹à¸à¸¢à¹à¸²à¸à¸à¸¹à¸à¸à¹à¸à¸à¹à¸¡à¹à¸à¸§à¸£à¹à¸à¹à¸à¹à¸à¹à¸à¸à¸µà¹
+mozilla-pkix-error-inadequate-key-size = à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¹à¸ªà¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸¡à¸µà¸à¸à¸²à¸à¸à¸µà¸¢à¹à¸à¸µà¹à¹à¸¥à¹à¸à¹à¸à¸´à¸à¹à¸à¸à¸µà¹à¸à¸°à¸ªà¸£à¹à¸²à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸µà¹à¸à¸¥à¸à¸à¸ ัย
+mozilla-pkix-error-v1-cert-used-as-ca = à¹à¸à¸£à¸±à¸à¸£à¸à¸ X.509 รุà¹à¸ 1 à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹ trust anchor à¸à¸¹à¸à¹à¸à¹à¹à¸à¸·à¹à¸à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹ à¹à¸à¸£à¸±à¸à¸£à¸à¸ X.509 รุà¹à¸ 1 à¹à¸¥à¸´à¸à¹à¸à¹à¹à¸¥à¹à¸§à¹à¸¥à¸°à¹à¸¡à¹à¸à¸§à¸£à¹à¸à¹à¹à¸à¸·à¹à¸à¸¥à¸à¸¥à¸²à¸¢à¹à¸à¹à¸à¹à¸«à¹à¸à¸±à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸·à¹à¸ à¹
+mozilla-pkix-error-not-yet-valid-certificate = à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¹à¸ªà¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸¢à¸±à¸à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+mozilla-pkix-error-not-yet-valid-issuer-certificate = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸¢à¸±à¸à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸à¸à¸¹à¸à¹à¸à¹à¹à¸à¸·à¹à¸à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹
+mozilla-pkix-error-signature-algorithm-mismatch = à¸à¸±à¸¥à¸à¸à¸£à¸´à¸à¸¶à¸¡à¸¥à¸²à¸¢à¹à¸à¹à¸à¹à¸à¸à¸´à¸¥à¸à¹à¸¥à¸²à¸¢à¹à¸à¹à¸à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸¡à¹à¸à¸£à¸à¸à¸±à¸à¸à¸±à¸¥à¸à¸à¸£à¸´à¸à¸¶à¸¡à¹à¸à¸à¸´à¸¥à¸à¹ SignatureAlgorithm
+mozilla-pkix-error-ocsp-response-for-cert-missing = à¸à¸²à¸£à¸à¸à¸à¸à¸¥à¸±à¸ OCSP à¹à¸¡à¹à¸¡à¸µà¸ªà¸à¸²à¸à¸°à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸à¸³à¸¥à¸±à¸à¸à¸°à¸à¸¹à¸à¸à¸£à¸§à¸à¸ªà¸à¸
+mozilla-pkix-error-validity-too-long = à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¹à¸ªà¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸¡à¸µà¸à¸¥à¹à¸à¸£à¸°à¸¢à¸°à¹à¸§à¸¥à¸²à¸à¸²à¸à¹à¸à¸´à¸à¹à¸
+mozilla-pkix-error-required-tls-feature-missing = à¹à¸¡à¹à¸¡à¸µà¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸° TLS à¸à¸µà¹à¸à¸³à¹à¸à¹à¸
+mozilla-pkix-error-invalid-integer-encoding = à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¹à¸ªà¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¸à¸³à¸à¸§à¸à¹à¸à¹à¸¡à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸ สาà¹à¸«à¸à¸¸à¸à¸µà¹à¸à¸à¸à¹à¸à¸¢ à¹à¸à¹à¹à¸à¹ หมายà¹à¸¥à¸à¸à¸µà¹à¸£à¸µà¸¢à¸¥à¹à¸à¹à¸à¸à¹à¸²à¸¥à¸ à¹à¸¡à¸à¸¹à¸¥à¸±à¸ª RSA à¹à¸à¹à¸à¸à¹à¸²à¸¥à¸ à¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¸à¸µà¹à¸¢à¸²à¸§à¹à¸à¸´à¸à¸à¸§à¸²à¸¡à¸à¸³à¹à¸à¹à¸
+mozilla-pkix-error-empty-issuer-name = à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¹à¸ªà¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹à¸¡à¸µà¸à¸·à¹à¸à¸à¹à¸²à¸à¸«à¸²à¸à¸à¸à¸à¸à¸¹à¹à¸à¸à¸à¸à¸µà¹à¸§à¹à¸²à¸à¹à¸à¸¥à¹à¸²
+mozilla-pkix-error-additional-policy-constraint-failed = à¸à¹à¸à¸à¸³à¸à¸±à¸à¸à¹à¸¢à¸à¸²à¸¢à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¸¥à¹à¸¡à¹à¸«à¸¥à¸§à¹à¸¡à¸·à¹à¸à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸µà¹
+mozilla-pkix-error-self-signed-cert = à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸à¸à¹à¸¡à¹à¸à¹à¸²à¹à¸à¸·à¹à¸à¸à¸·à¸à¹à¸à¸£à¸²à¸°à¹à¸à¹à¸à¸à¸²à¸£à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸à¸¢à¹à¸à¹à¸²à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸à¸
diff --git a/browser/browser/pageInfo.ftl b/browser/browser/pageInfo.ftl
new file mode 100644
index 00000000000..4488dbb28c6
--- /dev/null
+++ b/browser/browser/pageInfo.ftl
@@ -0,0 +1,254 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = à¸à¸±à¸à¸¥à¸à¸
+ .accesskey = à¸
+
+select-all =
+ .key = A
+menu-select-all =
+ .label = à¹à¸¥à¸·à¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+ .accesskey = ล
+
+close-dialog =
+ .key = w
+
+general-tab =
+ .label = à¸à¸±à¹à¸§à¹à¸
+ .accesskey = à¸
+general-title =
+ .value = à¸à¸·à¹à¸à¹à¸£à¸·à¹à¸à¸:
+general-url =
+ .value = à¸à¸µà¹à¸à¸¢à¸¹à¹:
+general-type =
+ .value = à¸à¸à¸´à¸:
+general-mode =
+ .value = à¹à¸«à¸¡à¸à¸à¸²à¸£à¹à¸£à¸à¹à¸à¸à¸£à¹:
+general-size =
+ .value = à¸à¸à¸²à¸:
+general-referrer =
+ .value = URL à¸à¹à¸²à¸à¸à¸´à¸:
+general-modified =
+ .value = à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¹à¸¡à¸·à¹à¸:
+general-encoding =
+ .value = รหัสà¸à¸±à¸à¸à¸£à¸°:
+general-meta-name =
+ .label = à¸à¸·à¹à¸
+general-meta-content =
+ .label = à¹à¸à¸·à¹à¸à¸«à¸²
+
+media-tab =
+ .label = สืà¹à¸
+ .accesskey = ส
+media-location =
+ .value = à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸:
+media-text =
+ .value = à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¹à¸à¸µà¹à¸¢à¸§à¸à¹à¸à¸:
+media-alt-header =
+ .label = à¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸à¸à¸ าà¸
+media-address =
+ .label = à¸à¸µà¹à¸à¸¢à¸¹à¹
+media-type =
+ .label = à¸à¸à¸´à¸
+media-size =
+ .label = à¸à¸à¸²à¸
+media-count =
+ .label = à¸à¸³à¸à¸§à¸
+media-dimension =
+ .value = มิà¸à¸´:
+media-long-desc =
+ .value = à¸à¸³à¸à¸à¸´à¸à¸²à¸¢à¹à¸à¸à¸¢à¸²à¸§:
+media-save-as =
+ .label = à¸à¸±à¸à¸à¸¶à¸à¹à¸à¹à¸â¦
+ .accesskey = à¸
+media-save-image-as =
+ .label = à¸à¸±à¸à¸à¸¶à¸à¹à¸à¹à¸â¦
+ .accesskey = à¸
+
+perm-tab =
+ .label = สิà¸à¸à¸´à¸à¸à¸¸à¸à¸²à¸
+ .accesskey = ส
+permissions-for =
+ .value = สิà¸à¸à¸´à¸à¸à¸¸à¸à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸:
+
+security-tab =
+ .label = à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย
+ .accesskey = à¸
+security-view =
+ .label = à¸à¸¹à¹à¸à¸£à¸±à¸à¸£à¸à¸
+ .accesskey = à¸
+security-view-unknown = à¹à¸¡à¹à¸à¸£à¸²à¸
+ .value = à¹à¸¡à¹à¸à¸£à¸²à¸
+security-view-identity =
+ .value = à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸£à¸°à¸à¸³à¸à¸±à¸§à¹à¸§à¹à¸à¹à¸à¸à¹
+security-view-identity-owner =
+ .value = à¹à¸à¹à¸²à¸à¸à¸:
+security-view-identity-domain =
+ .value = à¹à¸§à¹à¸à¹à¸à¸à¹:
+security-view-identity-verifier =
+ .value = ยืà¸à¸¢à¸±à¸à¹à¸à¸¢:
+security-view-identity-validity =
+ .value = หมà¸à¸à¸²à¸¢à¸¸à¹à¸¡à¸·à¹à¸:
+security-view-privacy =
+ .value = à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸¥à¸°à¸à¸£à¸°à¸§à¸±à¸à¸´
+
+security-view-privacy-history-value = à¸à¸±à¸à¹à¸à¸¢à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¹à¸à¸à¸«à¸à¹à¸²à¸§à¸±à¸à¸à¸µà¹à¸«à¸£à¸·à¸à¹à¸¡à¹?
+security-view-privacy-sitedata-value = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸±à¸à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸¥à¸à¹à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸±à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+
+security-view-privacy-clearsitedata =
+ .label = ลà¹à¸²à¸à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹
+ .accesskey = ล
+
+security-view-privacy-passwords-value = à¸à¸±à¸à¹à¸à¸¢à¸à¸±à¸à¸à¸¶à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¹à¸ ๠สำหรัà¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸«à¸£à¸·à¸à¹à¸¡à¹?
+
+security-view-privacy-viewpasswords =
+ .label = à¸à¸¹à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹
+ .accesskey = ร
+security-view-technical =
+ .value = รายละà¹à¸à¸µà¸¢à¸à¸à¸²à¸à¹à¸à¸à¸à¸´à¸
+
+help-button =
+ .label = à¸à¹à¸§à¸¢à¹à¸«à¸¥à¸·à¸
+
+## 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 = à¹à¸à¹, à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹ { $value } { $unit }
+security-site-data-only = à¹à¸à¹, à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹ { $value } { $unit }
+
+security-site-data-cookies-only = à¹à¸à¹, à¸à¸¸à¸à¸à¸µà¹
+security-site-data-no = à¹à¸¡à¹
+
+##
+
+image-size-unknown = à¹à¸¡à¹à¸à¸£à¸²à¸
+page-info-not-specified =
+ .value = à¹à¸¡à¹à¸£à¸°à¸à¸¸
+not-set-alternative-text = à¹à¸¡à¹à¸£à¸°à¸à¸¸
+not-set-date = à¹à¸¡à¹à¸£à¸°à¸à¸¸
+media-img = ภาà¸
+media-bg-img = à¸à¸·à¹à¸à¸«à¸¥à¸±à¸
+media-border-img = à¸à¸à¸
+media-list-img = à¸à¸¸à¸à¸à¸³
+media-cursor = à¹à¸à¸à¸£à¹à¹à¸à¸à¸£à¹
+media-object = วัà¸à¸à¸¸
+media-embed = à¸à¸±à¸à¸à¸±à¸§
+media-link = à¹à¸à¸à¸à¸
+media-input = à¸à¹à¸²à¹à¸à¹à¸²
+media-video = วิà¸à¸µà¹à¸
+media-audio = à¹à¸ªà¸µà¸¢à¸
+saved-passwords-yes = à¹à¸à¹
+saved-passwords-no = à¹à¸¡à¹
+
+no-page-title =
+ .value = หà¸à¹à¸²à¹à¸¡à¹à¸¡à¸µà¸à¸·à¹à¸:
+general-quirks-mode =
+ .value = à¹à¸«à¸¡à¸à¹à¸¡à¹à¸à¸²à¸¡à¸¡à¸²à¸à¸£à¸à¸²à¸
+general-strict-mode =
+ .value = à¹à¸«à¸¡à¸à¸à¸²à¸¡à¸¡à¸²à¸à¸£à¸à¸²à¸
+page-info-security-no-owner =
+ .value = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸¡à¹à¸¡à¸µà¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¹à¸²à¸à¸à¸à¹à¸§à¹à¸
+media-select-folder = à¹à¸¥à¸·à¸à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸µà¹à¸à¸°à¸à¸±à¸à¸à¸¶à¸à¸ าà¸
+media-unknown-not-cached =
+ .value = à¹à¸¡à¹à¸à¸£à¸²à¸ (à¹à¸¡à¹à¸à¸¹à¸à¹à¸à¸)
+permissions-use-default =
+ .label = à¹à¸à¹à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+security-no-visits = à¹à¸¡à¹
+
+# 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 } à¹à¸à¹à¸)
+ }
+
+# 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] à¹à¸¡à¹
+ *[other] à¹à¸à¹, { $visits } à¸à¸£à¸±à¹à¸
+ }
+
+# 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 } à¹à¸à¸à¹)
+ }
+
+# 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 } (à¹à¸à¸¥à¸·à¹à¸à¸à¹à¸«à¸§ { $frames } à¹à¸à¸£à¸¡)
+ }
+
+# This string is used to display the type of
+# an image
+# Variables:
+# $type (string) - The type of an image
+media-image-type =
+ .value = ภาภ{ $type }
+
+# 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 (à¸à¸£à¸±à¸à¸à¸à¸²à¸à¹à¸à¹à¸ { $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 à { $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
+
+# 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 = à¸à¸´à¸à¸à¸±à¹à¸à¸ าà¸à¸à¸²à¸ { $website }
+ .accesskey = à¸
+
+# 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 = à¸à¹à¸à¸¡à¸¹à¸¥à¸«à¸à¹à¸² - { $website }
+page-info-frame =
+ .title = à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸£à¸à¸ - { $website }
diff --git a/browser/browser/panelUI.ftl b/browser/browser/panelUI.ftl
new file mode 100644
index 00000000000..338c160b2ba
--- /dev/null
+++ b/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 = à¸à¸à¸à¸«à¸¡à¸¸à¸à¸à¸²à¸à¹à¸¡à¸à¸¹à¸¥à¹à¸
+ .accesskey = à¸
+customize-menu-add-to-toolbar =
+ .label = à¹à¸à¸´à¹à¸¡à¸¥à¸à¹à¸à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸
+ .accesskey = à¸
+customize-menu-add-to-overflowmenu =
+ .label = à¹à¸à¸´à¹à¸¡à¸¥à¸à¹à¸à¹à¸¡à¸à¸¹à¸¥à¹à¸
+ .accesskey = à¸
+
+## Forget Button
+
+# The forget button can be added to the toolbar or overflow menu via the cutomization menu.
+panic-button-thankyou-msg1 = ลà¹à¸²à¸à¸à¸£à¸°à¸§à¸±à¸à¸´à¸¥à¹à¸²à¸ªà¸¸à¸à¸à¸à¸à¸à¸¸à¸à¹à¸¥à¹à¸§
+panic-button-thankyou-msg2 = à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¸à¸¥à¸à¸à¸ ัย!
+panic-button-thankyou-button =
+ .label = à¸à¸à¸à¸à¸¸à¸!
diff --git a/browser/browser/panicButton.ftl b/browser/browser/panicButton.ftl
new file mode 100644
index 00000000000..ee71566ea1d
--- /dev/null
+++ b/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 = à¹à¸à¸´à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸§à¹à¸²à¸à¹à¸«à¸¡à¹
+panic-button-undo-warning = à¸à¸²à¸£à¸à¸£à¸°à¸à¸³à¸à¸µà¹à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸¥à¸´à¸à¸à¸³à¹à¸à¹
+panic-button-forget-button =
+ .label = ลืม!
+
+## 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 = ลืมà¸à¹à¸à¸à¸«à¸à¹à¸²à¸à¸µà¹:
+panic-button-5min =
+ .label = หà¹à¸²à¸à¸²à¸à¸µ
+panic-button-2hr =
+ .label = สà¸à¸à¸à¸±à¹à¸§à¹à¸¡à¸
+panic-button-day =
+ .label = 24 à¸à¸±à¹à¸§à¹à¸¡à¸
+
+## 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 tags for emphasis on the
+## words "Cookies", "History", "Tabs" and "Windows". The translation should do the same.
+
+panic-button-action-desc = à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸à¸à¸°:
+panic-button-delete-cookies = ลà¸à¸à¸¸à¸à¸à¸µà¹à¸¥à¹à¸²à¸ªà¸¸à¸
+panic-button-delete-history = ลà¸à¸à¸£à¸°à¸§à¸±à¸à¸´à¸¥à¹à¸²à¸ªà¸¸à¸
+panic-button-delete-tabs-and-windows = à¸à¸´à¸à¹à¸à¹à¸à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¸±à¹à¸à¸«à¸¡à¸
diff --git a/browser/browser/places.ftl b/browser/browser/places.ftl
new file mode 100644
index 00000000000..5d979c1ca26
--- /dev/null
+++ b/browser/browser/places.ftl
@@ -0,0 +1,212 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = à¹à¸à¸´à¸
+ .accesskey = à¸
+places-open-in-tab =
+ .label = à¹à¸à¸´à¸à¹à¸à¹à¸à¹à¸à¹à¸«à¸¡à¹
+ .accesskey = w
+places-open-all-bookmarks =
+ .label = à¹à¸à¸´à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸±à¹à¸à¸«à¸¡à¸
+ .accesskey = O
+places-open-all-in-tabs =
+ .label = à¹à¸à¸´à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¹à¸à¹à¸à¹à¸
+ .accesskey = à¸
+places-open-in-window =
+ .label = à¹à¸à¸´à¸à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸«à¸¡à¹
+ .accesskey = N
+places-open-in-private-window =
+ .label = à¹à¸à¸´à¸à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸«à¸¡à¹
+ .accesskey = P
+places-add-bookmark =
+ .label = à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²â¦
+ .accesskey = B
+places-add-folder-contextmenu =
+ .label = à¹à¸à¸´à¹à¸¡à¹à¸à¸¥à¹à¸à¸à¸£à¹â¦
+ .accesskey = F
+places-add-folder =
+ .label = à¹à¸à¸´à¹à¸¡à¹à¸à¸¥à¹à¸à¸à¸£à¹â¦
+ .accesskey = o
+places-add-separator =
+ .label = à¹à¸à¸´à¹à¸¡à¸à¸±à¸§à¹à¸à¹à¸
+ .accesskey = S
+places-view =
+ .label = มุมมà¸à¸
+ .accesskey = ม
+places-by-date =
+ .label = à¸à¸²à¸¡à¸§à¸±à¸à¸à¸µà¹
+ .accesskey = ว
+places-by-site =
+ .label = à¸à¸²à¸¡à¹à¸à¸à¹
+ .accesskey = ม
+places-by-most-visited =
+ .label = à¸à¸²à¸¡à¸à¸µà¹à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡à¸¡à¸²à¸à¸à¸µà¹à¸ªà¸¸à¸
+ .accesskey = à¸
+places-by-last-visited =
+ .label = à¸à¸²à¸¡à¸§à¸±à¸à¸à¸µà¹à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡à¸¥à¹à¸²à¸ªà¸¸à¸
+ .accesskey = ย
+places-by-day-and-site =
+ .label = à¸à¸²à¸¡à¸§à¸±à¸à¸à¸µà¹à¹à¸¥à¸°à¹à¸à¸à¹
+ .accesskey = à¸
+places-history-search =
+ .placeholder = à¸à¹à¸à¸«à¸²à¸à¸£à¸°à¸§à¸±à¸à¸´
+places-history =
+ .aria-label = à¸à¸£à¸°à¸§à¸±à¸à¸´
+places-bookmarks-search =
+ .placeholder = à¸à¹à¸à¸«à¸²à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+places-delete-domain-data =
+ .label = ลืมà¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¹à¸à¸à¹à¸à¸µà¹
+ .accesskey = ม
+places-sortby-name =
+ .label = à¹à¸£à¸µà¸¢à¸à¸à¸²à¸¡à¸à¸·à¹à¸
+ .accesskey = ร
+# places-edit-bookmark and places-edit-generic will show one or the other and can have the same access key.
+places-edit-bookmark =
+ .label = à¹à¸à¹à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²â¦
+ .accesskey = i
+places-edit-generic =
+ .label = à¹à¸à¹à¹à¸â¦
+ .accesskey = i
+places-edit-folder =
+ .label = ลà¸à¹à¸à¸¥à¹à¸à¸à¸£à¹â¦
+ .accesskey = e
+places-remove-folder =
+ .label =
+ { $count ->
+ [1] ลà¸à¹à¸à¸¥à¹à¸à¸à¸£à¹
+ *[other] ลà¸à¹à¸à¸¥à¹à¸à¸à¸£à¹
+ }
+ .accesskey = m
+places-edit-folder2 =
+ .label = à¹à¸à¹à¹à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹
+ .accesskey = i
+places-delete-folder =
+ .label =
+ { $count ->
+ [1] ลà¸à¹à¸à¸¥à¹à¸à¸à¸£à¹
+ *[other] ลà¸à¹à¸à¸¥à¹à¸à¸à¸£à¹
+ }
+ .accesskey = ล
+# Managed bookmarks are created by an administrator and cannot be changed by the user.
+managed-bookmarks =
+ .label = à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸µà¹à¸à¸¹à¸à¸à¸±à¸à¸à¸²à¸£
+# This label is used when a managed bookmarks folder doesn't have a name.
+managed-bookmarks-subfolder =
+ .label = à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸¢à¹à¸à¸¢
+# This label is used for the "Other Bookmarks" folder that appears in the bookmarks toolbar.
+other-bookmarks-folder =
+ .label = à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸·à¹à¸ à¹
+# Variables:
+# $count (number) - The number of elements being selected for removal.
+places-remove-bookmark =
+ .label =
+ { $count ->
+ [1] à¹à¸à¸²à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸à¸
+ *[other] à¹à¸à¸²à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸à¸
+ }
+ .accesskey = e
+places-show-in-folder =
+ .label = à¹à¸ªà¸à¸à¹à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹
+ .accesskey = à¸
+# Variables:
+# $count (number) - The number of elements being selected for removal.
+places-delete-bookmark =
+ .label =
+ { $count ->
+ [1] ลà¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+ *[other] ลà¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+ }
+ .accesskey = ล
+places-manage-bookmarks =
+ .label = à¸à¸±à¸à¸à¸²à¸£à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+ .accesskey = M
+places-forget-about-this-site-confirmation-title = ลืมà¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¹à¸à¸à¹à¸à¸µà¹
+# 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-message = à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸µà¹à¸à¸°à¸¥à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸µà¹à¹à¸à¸µà¹à¸¢à¸§à¸à¹à¸à¸à¸à¸±à¸ { $hostOrBaseDomain } รวมà¸à¸¶à¸à¸à¸£à¸°à¸§à¸±à¸à¸´ รหัสà¸à¹à¸²à¸ à¸à¸¸à¸à¸à¸µà¹ à¹à¸à¸ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¹à¸à¸·à¹à¸à¸«à¸² à¸à¸¸à¸à¹à¸à¹à¹à¸à¸«à¸£à¸·à¸à¹à¸¡à¹à¸§à¹à¸²à¸à¹à¸à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸
+places-forget-about-this-site-forget = ลืม
+places-library =
+ .title = หà¹à¸à¸à¸ªà¸¡à¸¸à¸
+ .style = width:700px; height:500px;
+places-organize-button =
+ .label = à¸à¸±à¸à¸£à¸°à¹à¸à¸µà¸¢à¸
+ .tooltiptext = à¸à¸±à¸à¸£à¸°à¹à¸à¸µà¸¢à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸¸à¸
+ .accesskey = à¸
+places-organize-button-mac =
+ .label = à¸à¸±à¸à¸£à¸°à¹à¸à¸µà¸¢à¸
+ .tooltiptext = à¸à¸±à¸à¸£à¸°à¹à¸à¸µà¸¢à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸¸à¸
+places-file-close =
+ .label = à¸à¸´à¸
+ .accesskey = à¸
+places-cmd-close =
+ .key = w
+places-view-button =
+ .label = มุมมà¸à¸
+ .tooltiptext = à¹à¸à¸¥à¸µà¹à¸¢à¸à¸¡à¸¸à¸¡à¸¡à¸à¸à¸à¸à¸à¸à¸¸à¸
+ .accesskey = ม
+places-view-button-mac =
+ .label = มุมมà¸à¸
+ .tooltiptext = à¹à¸à¸¥à¸µà¹à¸¢à¸à¸¡à¸¸à¸¡à¸¡à¸à¸à¸à¸à¸à¸à¸¸à¸
+places-view-menu-columns =
+ .label = à¹à¸ªà¸à¸à¸à¸à¸¥à¸±à¸¡à¸à¹
+ .accesskey = ส
+places-view-menu-sort =
+ .label = à¹à¸£à¸µà¸¢à¸
+ .accesskey = ร
+places-view-sort-unsorted =
+ .label = à¹à¸¡à¹à¹à¸£à¸µà¸¢à¸
+ .accesskey = ม
+places-view-sort-ascending =
+ .label = à¹à¸£à¸µà¸¢à¸à¸¥à¸³à¸à¸±à¸ A > Z
+ .accesskey = A
+places-view-sort-descending =
+ .label = à¹à¸£à¸µà¸¢à¸à¸¥à¸³à¸à¸±à¸ Z > A
+ .accesskey = Z
+places-maintenance-button =
+ .label = à¸à¸³à¹à¸à¹à¸²à¹à¸¥à¸°à¸ªà¸³à¸£à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥
+ .tooltiptext = à¸à¸³à¹à¸à¹à¸²à¹à¸¥à¸°à¸ªà¸³à¸£à¸à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸¸à¸
+ .accesskey = à¸
+places-maintenance-button-mac =
+ .label = à¸à¸³à¹à¸à¹à¸²à¹à¸¥à¸°à¸ªà¸³à¸£à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥
+ .tooltiptext = à¸à¸³à¹à¸à¹à¸²à¹à¸¥à¸°à¸ªà¸³à¸£à¸à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸¸à¸
+places-cmd-backup =
+ .label = สำรà¸à¸à¸à¹à¸à¸¡à¸¹à¸¥â¦
+ .accesskey = à¸
+places-cmd-restore =
+ .label = à¹à¸£à¸µà¸¢à¸à¸à¸·à¸
+ .accesskey = ร
+places-cmd-restore-from-file =
+ .label = à¹à¸¥à¸·à¸à¸à¹à¸à¸¥à¹â¦
+ .accesskey = ล
+places-import-bookmarks-from-html =
+ .label = à¸à¸³à¹à¸à¹à¸²à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸²à¸ HTMLâ¦
+ .accesskey = à¸
+places-export-bookmarks-to-html =
+ .label = สà¹à¸à¸à¸à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸à¹à¸ HTMLâ¦
+ .accesskey = ส
+places-import-other-browser =
+ .label = à¸à¸³à¹à¸à¹à¸²à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸·à¹à¸â¦
+ .accesskey = à¸
+places-view-sort-col-name =
+ .label = à¸à¸·à¹à¸
+places-view-sort-col-tags =
+ .label = à¸à¹à¸²à¸¢à¸à¸³à¸à¸±à¸
+places-view-sort-col-url =
+ .label = à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸
+places-view-sort-col-most-recent-visit =
+ .label = วัà¸à¸à¸µà¹à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡à¸¥à¹à¸²à¸ªà¸¸à¸
+places-view-sort-col-visit-count =
+ .label = à¸à¸³à¸à¸§à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¡
+places-view-sort-col-date-added =
+ .label = วัà¸à¸à¸µà¹à¹à¸à¸´à¹à¸¡
+places-view-sort-col-last-modified =
+ .label = วัà¸à¸à¸µà¹à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸¥à¹à¸²à¸ªà¸¸à¸
+places-cmd-find-key =
+ .key = f
+places-back-button =
+ .tooltiptext = ยà¹à¸à¸à¸à¸¥à¸±à¸
+places-forward-button =
+ .tooltiptext = à¹à¸à¸´à¸à¸«à¸à¹à¸²
+places-details-pane-select-an-item-description = à¹à¸¥à¸·à¸à¸à¸£à¸²à¸¢à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸à¸¹à¹à¸¥à¸°à¹à¸à¹à¹à¸à¸à¸¸à¸à¸ªà¸¡à¸à¸±à¸à¸´
diff --git a/browser/browser/policies/policies-descriptions.ftl b/browser/browser/policies/policies-descriptions.ftl
new file mode 100644
index 00000000000..f43f9fc0887
--- /dev/null
+++ b/browser/browser/policies/policies-descriptions.ftl
@@ -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/.
+
+
+## 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 = à¸à¸±à¹à¸à¸à¹à¸¢à¸à¸²à¸¢à¸à¸µà¹ WebExtensions สามารà¸à¹à¸à¹à¸²à¸à¸¶à¸à¸à¹à¸²à¸ chrome.storage.managed
+policy-AllowedDomainsForApps = à¸à¸³à¸«à¸à¸à¹à¸à¹à¸¡à¸à¸à¸µà¹à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¹à¸à¹à¸²à¸à¸¶à¸ Google Workspace
+policy-AppAutoUpdate = à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸«à¸£à¸·à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+policy-AppUpdateURL = à¸à¸±à¹à¸ URL à¸à¸±à¸à¹à¸à¸à¹à¸à¸à¸à¸µà¹à¸à¸³à¸«à¸à¸à¹à¸à¸
+policy-Authentication = à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸ªà¸´à¸à¸à¸´à¹à¹à¸à¸à¸£à¸§à¸¡à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸£à¸à¸à¸£à¸±à¸
+policy-AutoLaunchProtocolsFromOrigins = à¹à¸ªà¸à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸à¸à¹à¸à¸£à¹à¸à¸à¸à¸¥à¸ ายà¸à¸à¸à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¹à¸à¸²à¸à¹à¸«à¸¥à¹à¸à¸à¸µà¹à¸¡à¸²à¸à¸µà¹à¹à¸ªà¸à¸à¹à¸à¸£à¸²à¸¢à¸à¸²à¸£à¹à¸à¸¢à¹à¸¡à¹à¸à¹à¸à¸à¸à¸²à¸¡à¸à¸¹à¹à¹à¸à¹
+policy-BackgroundAppUpdate2 = à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸«à¸£à¸·à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸±à¸§à¸à¸±à¸à¹à¸à¸à¹à¸à¸·à¹à¸à¸à¸«à¸¥à¸±à¸
+policy-BlockAboutAddons = à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸±à¸§à¸à¸±à¸à¸à¸²à¸£à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡ (about:addons)
+policy-BlockAboutConfig = à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸«à¸à¹à¸² about:config
+policy-BlockAboutProfiles = à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸«à¸à¹à¸² about:profiles
+policy-BlockAboutSupport = à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸«à¸à¹à¸² about:support
+policy-Bookmarks = สรà¹à¸²à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸ à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸² à¹à¸¡à¸à¸¹ à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸² หรืà¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸µà¹à¸£à¸°à¸à¸¸
+policy-CaptivePortal = à¹à¸à¸´à¸à¸«à¸£à¸·à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸à¸£à¹à¸à¸±à¸¥à¸à¸±à¸à¸à¸£à¸à¸
+policy-CertificatesDescription = à¹à¸à¸´à¹à¸¡à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸«à¸£à¸·à¸à¹à¸à¹à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸à¸à¸±à¸§
+policy-Cookies = à¸à¸à¸¸à¸à¸²à¸à¸«à¸£à¸·à¸à¸à¸à¸´à¹à¸ªà¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸à¸·à¹à¸à¸à¸±à¹à¸à¸à¸¸à¸à¸à¸µà¹
+policy-DisabledCiphers = à¸à¸´à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸£à¸«à¸±à¸ªà¸¥à¸±à¸
+policy-DefaultDownloadDirectory = à¸à¸±à¹à¸à¹à¸à¹à¸£à¸à¸à¸à¸£à¸µà¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+policy-DisableAppUpdate = à¸à¹à¸à¸à¸à¸±à¸à¹à¸¡à¹à¹à¸«à¹à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸±à¸à¹à¸à¸
+policy-DisableBuiltinPDFViewer = à¸à¸´à¸à¹à¸à¹à¸à¸²à¸ PDF.js à¸à¸±à¸§à¸à¸¹ PDF à¹à¸à¸à¸±à¸§à¹à¸ { -brand-short-name }
+policy-DisableDefaultBrowserAgent = à¸à¹à¸à¸à¸à¸±à¸à¹à¸¡à¹à¹à¸«à¹à¸à¸±à¸§à¹à¸à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸³à¸à¸²à¸à¹à¸ ๠à¹à¸à¹à¹à¸à¹à¸à¸±à¸ Windows à¹à¸à¹à¸²à¸à¸±à¹à¸ à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¹à¸à¸¥à¸à¸à¸à¸£à¹à¸¡à¸à¸·à¹à¸ ๠à¹à¸¡à¹à¸¡à¸µà¸à¸±à¸§à¹à¸à¸
+policy-DisableDeveloperTools = à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸±à¸à¸à¸±à¸à¸à¸²
+policy-DisableFeedbackCommands = à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸³à¸ªà¸±à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸ªà¹à¸à¸à¸§à¸²à¸¡à¸à¸´à¸à¹à¸«à¹à¸à¸à¸²à¸à¹à¸¡à¸à¸¹ วิà¸à¸µà¹à¸à¹ (สà¹à¸à¸à¸§à¸²à¸¡à¸à¸´à¸à¹à¸«à¹à¸à¹à¸¥à¸°à¸£à¸²à¸¢à¸à¸²à¸à¹à¸à¸à¹à¸«à¸¥à¸à¸à¸¥à¸§à¸)
+policy-DisableFirefoxAccounts = à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸£à¸´à¸à¸²à¸£à¸à¸µà¹à¹à¸à¹ { -fxaccount-brand-name } รวมà¸à¸¶à¸ Sync à¸à¹à¸§à¸¢
+# Firefox Screenshots is the name of the feature, and should not be translated.
+policy-DisableFirefoxScreenshots = à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸° Firefox Screenshots
+policy-DisableFirefoxStudies = à¸à¹à¸à¸à¸à¸±à¸à¹à¸¡à¹à¹à¸«à¹ { -brand-short-name } à¹à¸£à¸µà¸¢à¸à¹à¸à¹à¸à¸²à¸£à¸¨à¸¶à¸à¸©à¸²
+policy-DisableForgetButton = à¸à¹à¸à¸à¸à¸±à¸à¹à¸¡à¹à¹à¸«à¹à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¸à¹à¸¡ ลืม
+policy-DisableFormHistory = à¹à¸¡à¹à¸à¸à¸à¸³à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸¥à¸°à¹à¸à¸à¸à¸à¸£à¹à¸¡
+policy-DisablePrimaryPasswordCreation = หาà¸à¹à¸à¹à¸ true à¸à¸°à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¸£à¹à¸²à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸«à¸¥à¸±à¸à¹à¸à¹
+policy-DisablePasswordReveal = à¹à¸¡à¹à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¹à¸à¸´à¸à¹à¸à¸¢à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹
+policy-DisablePocket = à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¹à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸¶à¸à¸«à¸à¹à¸²à¹à¸§à¹à¸à¹à¸à¸¢à¸±à¸ Pocket
+policy-DisablePrivateBrowsing = à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+policy-DisableProfileImport = à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸³à¸ªà¸±à¹à¸à¹à¸¡à¸à¸¹à¹à¸à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸²à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸·à¹à¸
+policy-DisableProfileRefresh = à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸¸à¹à¸¡ ลà¹à¸²à¸ { -brand-short-name } à¹à¸«à¸¡à¹ à¹à¸à¸«à¸à¹à¸² about:support
+policy-DisableSafeMode = à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸«à¸¡à¹à¹à¸à¹à¸«à¸¡à¸à¸à¸¥à¸à¸à¸ ัย หมายà¹à¸«à¸à¸¸: สามารà¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¹à¸ Shift สำหรัà¸à¹à¸à¹à¸²à¸ªà¸¹à¹à¹à¸«à¸¡à¸à¸à¸¥à¸à¸à¸ ัยà¹à¸à¹à¸à¸ Windows à¹à¸à¹à¸²à¸à¸±à¹à¸à¹à¸à¸¢à¹à¸à¹à¸à¹à¸¢à¸à¸²à¸¢à¸à¸¥à¸¸à¹à¸¡
+policy-DisableSecurityBypass = à¸à¹à¸à¸à¸à¸±à¸à¹à¸¡à¹à¹à¸«à¹à¸à¸¹à¹à¹à¸à¹à¹à¸¥à¸µà¹à¸¢à¸à¸à¸³à¹à¸à¸·à¸à¸à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸²à¸à¸£à¸²à¸¢à¸à¸²à¸£
+policy-DisableSetAsDesktopBackground = à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸³à¸ªà¸±à¹à¸à¹à¸¡à¸à¸¹ à¸à¸±à¹à¸à¹à¸à¹à¸à¸à¸·à¹à¸à¸«à¸¥à¸±à¸à¹à¸à¸ªà¸à¹à¸à¹à¸à¸
+policy-DisableSystemAddonUpdate = à¸à¹à¸à¸à¸à¸±à¸à¹à¸¡à¹à¹à¸«à¹à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸´à¸à¸à¸±à¹à¸à¹à¸¥à¸°à¸à¸±à¸à¹à¸à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸à¸à¸£à¸°à¸à¸
+policy-DisableTelemetry = à¸à¸´à¸à¸à¸²à¸£à¸§à¸±à¸à¹à¸¥à¸°à¸ªà¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸à¹à¸à¸¥
+policy-DisplayBookmarksToolbar = à¹à¸ªà¸à¸à¸à¸¥à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸à¸¢à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+policy-DisplayMenuBar = à¹à¸ªà¸à¸à¹à¸à¸à¹à¸¡à¸à¸¹à¹à¸à¸¢à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+policy-DNSOverHTTPS = à¸à¸³à¸«à¸à¸à¸à¹à¸² DNS à¸à¹à¸²à¸ HTTPS
+policy-DontCheckDefaultBrowser = à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¹à¸¡à¸·à¹à¸à¹à¸à¸´à¸à¹à¸à¸£à¹à¸à¸£à¸¡
+policy-DownloadDirectory = à¸à¸±à¹à¸à¹à¸¥à¸°à¸¥à¹à¸à¸à¹à¸à¹à¸£à¸à¸à¸à¸£à¸µà¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+# âlockâ means that the user wonât be able to change this setting
+policy-EnableTrackingProtection = à¹à¸à¸´à¸à¸«à¸£à¸·à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¹à¸à¸·à¹à¸à¸«à¸²à¹à¸à¸¢à¹à¸¥à¸·à¸à¸à¸¥à¹à¸à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸µà¹à¹à¸à¹
+# âlockâ means that the user wonât be able to change this setting
+policy-EncryptedMediaExtensions = à¹à¸à¸´à¸à¸«à¸£à¸·à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸ Encrypted Media Extensions à¹à¸à¸¢à¹à¸¥à¸·à¸à¸à¸¥à¹à¸à¸à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸µà¹à¹à¸à¹
+# 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 = à¸à¸´à¸à¸à¸±à¹à¸ à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ หรืà¸à¸¥à¹à¸à¸à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢ à¸à¸±à¸§à¹à¸¥à¸·à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸µà¹à¸à¸°à¹à¸à¹ URL หรืà¸à¹à¸ªà¹à¸à¸à¸²à¸à¹à¸à¹à¸à¸à¸²à¸£à¸²à¸¡à¸´à¹à¸à¸à¸£à¹ สà¹à¸§à¸à¸à¸±à¸§à¹à¸¥à¸·à¸à¸à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¹à¸¥à¸°à¸¥à¹à¸à¸à¸à¸°à¹à¸à¹à¹à¸à¸à¸µà¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢
+policy-ExtensionSettings = à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢à¹à¸à¸à¸¸à¸à¸ªà¹à¸§à¸
+policy-ExtensionUpdate = à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸«à¸£à¸·à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+policy-FirefoxHome = à¸à¸³à¸«à¸à¸à¸à¹à¸² Firefox Home
+policy-FlashPlugin = à¸à¸à¸¸à¸à¸²à¸à¸«à¸£à¸·à¸à¸à¸à¸´à¹à¸ªà¸à¸à¸²à¸£à¹à¸à¹à¸à¸¥à¸±à¹à¸à¸à¸´à¸ Flash
+policy-Handlers = à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸à¸±à¸§à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+policy-HardwareAcceleration = à¸à¹à¸²à¸à¹à¸²à¹à¸à¹à¸à¹à¸à¹à¸ à¹à¸«à¹à¸à¸´à¸à¸à¸²à¸£à¹à¸£à¹à¸à¸à¹à¸§à¸¢à¸®à¸²à¸£à¹à¸à¹à¸§à¸£à¹
+# âlockâ means that the user wonât be able to change this setting
+policy-Homepage = à¸à¸±à¹à¸à¸à¹à¸²à¸«à¸à¹à¸²à¹à¸£à¸à¹à¸à¸¢à¸à¸²à¸à¹à¸¥à¸·à¸à¸à¸¥à¹à¸à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸µà¹à¹à¸à¹
+policy-InstallAddonsPermission = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¸à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡
+policy-LegacyProfiles = à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸²à¸£à¸à¸±à¸à¸à¸±à¸à¹à¸à¹à¹à¸à¸£à¹à¸à¸¥à¹à¹à¸¢à¸à¸à¹à¸²à¸à¸«à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¹à¸à¹à¸à¹à¸¥à¸°à¸à¸£à¸±à¹à¸
+
+## Do not translate "SameSite", it's the name of a cookie attribute.
+
+policy-LegacySameSiteCookieBehaviorEnabled = à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸¥à¸±à¸à¸©à¸à¸°à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸à¸à¸à¸¸à¸à¸à¸µà¹ SameSite à¹à¸à¸à¸à¸±à¹à¸à¹à¸à¸´à¸¡à¸à¸¶à¹à¸à¹à¸à¹à¸à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+policy-LegacySameSiteCookieBehaviorEnabledForDomainList = à¹à¸à¸¥à¸à¸à¸¥à¸±à¸à¹à¸à¹à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸à¸ SameSite à¹à¸à¸à¸à¸±à¹à¸à¹à¸à¸´à¸¡à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¸à¸à¸µà¹à¸à¸à¹à¸à¸à¹à¸à¸µà¹à¸£à¸°à¸à¸¸
+
+##
+
+policy-LocalFileLinks = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸£à¸°à¸à¸¸à¹à¸à¸·à¹à¸à¸¡à¹à¸¢à¸à¹à¸à¸¢à¸±à¸à¹à¸à¸¥à¹à¹à¸à¹à¸à¸£à¸·à¹à¸à¸
+policy-ManagedBookmarks = à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸£à¸²à¸¢à¸à¸·à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸µà¹à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸¢à¸à¸¹à¹à¸à¸¹à¹à¸¥à¸£à¸°à¸à¸à¸à¸µà¹à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¢à¸à¸¹à¹à¹à¸à¹à¹à¸à¹
+policy-ManualAppUpdateOnly = à¸à¸à¸¸à¸à¸²à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¸à¹à¸§à¸¢à¸à¸à¹à¸à¸à¹à¸¥à¸°à¹à¸¡à¹à¸à¹à¸à¸à¹à¸à¹à¸à¹à¸«à¹à¸à¸¹à¹à¹à¸à¹à¸à¸£à¸²à¸à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸
+policy-PrimaryPassword = à¸à¹à¸à¸à¸à¸²à¸£à¸«à¸£à¸·à¸à¸à¹à¸à¸à¸à¸±à¸à¸à¸²à¸£à¹à¸à¹à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸«à¸¥à¸±à¸
+policy-NetworkPrediction = à¹à¸à¸´à¸à¸«à¸£à¸·à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸²à¸£à¸à¸²à¸à¹à¸à¸²à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢ (à¸à¸²à¸£à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥ DNS ลà¹à¸§à¸à¸«à¸à¹à¸²)
+policy-NewTabPage = à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸«à¸£à¸·à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸«à¸à¹à¸²à¹à¸à¹à¸à¹à¸«à¸¡à¹
+policy-NoDefaultBookmarks = à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸µà¹à¸¡à¸²à¸à¸£à¹à¸à¸¡à¸à¸±à¸ { -brand-short-name } à¹à¸¥à¸°à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸±à¸à¸à¸£à¸´à¸¢à¸° (à¸à¸µà¹à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡à¸¡à¸²à¸à¸à¸µà¹à¸ªà¸¸à¸, à¹à¸à¹à¸à¸¥à¹à¸²à¸ªà¸¸à¸) หมายà¹à¸«à¸à¸¸: à¸à¹à¸¢à¸à¸²à¸¢à¸à¸µà¹à¸¡à¸µà¸à¸¥à¸à¹à¸²à¹à¸à¹à¸à¹à¸à¸à¹à¸£à¸µà¸¢à¸à¹à¸à¹à¹à¸à¸£à¹à¸à¸¥à¹à¸à¸£à¸±à¹à¸à¹à¸£à¸à¹à¸à¹à¸²à¸à¸±à¹à¸
+policy-OfferToSaveLogins = à¸à¸±à¸à¸à¸±à¸à¹à¸«à¹à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸à¸¸à¸à¸²à¸ { -brand-short-name } à¹à¸«à¹à¹à¸ªà¸à¸à¹à¸«à¹à¸à¸à¸à¸³à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸¥à¸°à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹ à¹à¸à¸¢à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸«à¸à¸à¸à¹à¸²à¹à¸à¹à¸à¸à¸±à¹à¸ true à¹à¸¥à¸° false à¹à¸à¹
+policy-OfferToSaveLoginsDefault = à¸à¸³à¸«à¸à¸à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¹à¸à¸·à¹à¸à¸à¸à¸¸à¸à¸²à¸ { -brand-short-name } à¹à¸«à¹à¹à¸ªà¸à¸à¹à¸«à¹à¸à¸à¸à¸³à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸¥à¸°à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹ à¹à¸à¸¢à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸«à¸à¸à¸à¹à¸²à¹à¸à¹à¸à¸à¸±à¹à¸ true à¹à¸¥à¸° false à¹à¸à¹
+policy-OverrideFirstRunPage = à¹à¸à¸à¸à¸µà¹à¸«à¸à¹à¸²à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¹à¸à¹à¸à¸£à¸±à¹à¸à¹à¸£à¸ à¸à¸±à¹à¸à¸à¹à¸²à¸à¹à¸¢à¸à¸²à¸¢à¸à¸µà¹à¹à¸à¹à¸à¸§à¹à¸²à¸à¹à¸à¸¥à¹à¸²à¸à¹à¸²à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸«à¸à¹à¸²à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¹à¸à¹à¸à¸£à¸±à¹à¸à¹à¸£à¸
+policy-OverridePostUpdatePage = à¹à¸à¸à¸à¸µà¹à¸«à¸à¹à¸² âมีà¸à¸°à¹à¸£à¹à¸«à¸¡à¹â หลัà¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸ à¸à¸±à¹à¸à¸à¹à¸²à¸à¹à¸¢à¸à¸²à¸¢à¸à¸µà¹à¹à¸à¹à¸à¸§à¹à¸²à¸à¹à¸à¸¥à¹à¸²à¸à¹à¸²à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸«à¸à¹à¸²à¸«à¸¥à¸±à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸
+policy-PasswordManagerEnabled = à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸¶à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¹à¸à¸¢à¸±à¸à¸à¸±à¸§à¸à¸±à¸à¸à¸²à¸£à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸
+# PDF.js and PDF should not be translated
+policy-PDFjs = à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸«à¸£à¸·à¸à¸à¸³à¸«à¸à¸à¸à¹à¸² PDF.js à¸à¸±à¸§à¸à¸¹ PDF à¹à¸à¸à¸±à¸§à¹à¸ { -brand-short-name }
+policy-Permissions2 = à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸ªà¸´à¸à¸à¸´à¸à¸à¸¸à¸à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¥à¹à¸à¸, à¹à¸¡à¹à¸à¸£à¹à¸à¸, à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸, à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸, à¹à¸¥à¸°à¸à¸²à¸£à¹à¸¥à¹à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+policy-PictureInPicture = à¹à¸à¸´à¸à¸«à¸£à¸·à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸ าà¸à¸à¸µà¹à¹à¸¥à¹à¸à¸à¸§à¸à¸à¸¹à¹
+policy-PopupBlocking = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¸à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸ªà¸à¸à¸à¹à¸à¸à¸à¸±à¸à¸à¸²à¸¡à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+policy-Preferences = à¸à¸±à¹à¸à¸à¹à¸²à¹à¸¥à¸°à¸¥à¹à¸à¸à¸à¹à¸²à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¸à¸¢à¹à¸à¸¢à¸à¸à¸à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸¥à¸±à¸à¸©à¸à¸°
+policy-PromptForDownloadLocation = à¸à¸²à¸¡à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸°à¸à¸±à¸à¸à¸¶à¸à¹à¸à¸¥à¹à¹à¸¡à¸·à¹à¸à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+policy-Proxy = à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸£à¹à¸à¸à¸à¸µ
+policy-RequestedLocales = à¸à¸±à¹à¸à¸à¹à¸²à¸£à¸²à¸¢à¸à¸²à¸£à¸ าษาสำหรัà¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸²à¸¡à¸¥à¸³à¸à¸±à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£
+policy-SanitizeOnShutdown2 = ลà¹à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸¡à¸·à¹à¸à¸à¸´à¸à¹à¸à¸£à¸·à¹à¸à¸
+policy-SearchBar = à¸à¸±à¹à¸à¸à¹à¸²à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¹à¸à¸à¸à¹à¸à¸«à¸² à¹à¸à¸¢à¸à¸µà¹à¸à¸¹à¹à¹à¸à¹à¸¢à¸±à¸à¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸£à¸±à¸à¹à¸à¹à¸à¹à¸à¹
+policy-SearchEngines = à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸² à¸à¹à¸¢à¸à¸²à¸¢à¸à¸µà¹à¹à¸à¹à¹à¸à¹à¸à¸à¸£à¸¸à¹à¸ Extended Support Release (ESR) à¹à¸à¹à¸²à¸à¸±à¹à¸
+policy-SearchSuggestEnabled = à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸«à¸£à¸·à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¹à¸à¹à¸ªà¸à¸à¹à¸à¸°à¸à¸²à¸£à¸à¹à¸à¸«à¸²
+# For more information, see https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/PKCS11/Module_Installation
+policy-SecurityDevices = à¸à¸´à¸à¸à¸±à¹à¸à¹à¸¡à¸à¸¹à¸¥ PKCS #11
+policy-ShowHomeButton = à¹à¸ªà¸à¸à¸à¸¸à¹à¸¡à¸«à¸à¹à¸²à¹à¸£à¸à¸à¸à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸
+policy-SSLVersionMax = à¸à¸±à¹à¸à¸£à¸¸à¹à¸ SSL สูà¸à¸ªà¸¸à¸
+policy-SSLVersionMin = à¸à¸±à¹à¸à¸£à¸¸à¹à¸ SSL à¸à¹à¸³à¸ªà¸¸à¸
+policy-SupportMenu = à¹à¸à¸´à¹à¸¡à¸£à¸²à¸¢à¸à¸²à¸£à¹à¸¡à¸à¸¹à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸µà¹à¸à¸³à¸«à¸à¸à¹à¸à¸à¹à¸à¸¢à¸±à¸à¹à¸¡à¸à¸¹à¸à¹à¸§à¸¢à¹à¸«à¸¥à¸·à¸
+policy-UserMessaging = à¹à¸¡à¹à¸à¹à¸à¸à¹à¸ªà¸à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸²à¸à¸ªà¹à¸§à¸à¸à¸¶à¸à¸à¸¹à¹à¹à¸à¹
+# âformatâ refers to the format used for the value of this policy.
+policy-WebsiteFilter = à¸à¸´à¸à¸à¸±à¹à¸à¹à¸¡à¹à¹à¸«à¹à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡à¹à¸§à¹à¸à¹à¸à¸à¹ à¸à¸¹à¸à¸¹à¹à¸¡à¸·à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸£à¸²à¸¢à¸¥à¸°à¹à¸à¸µà¸¢à¸à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸£à¸¹à¸à¹à¸à¸
+policy-Windows10SSO = à¸à¸à¸¸à¸à¸²à¸ Windows single sign-on สำหรัà¸à¸à¸±à¸à¸à¸µà¸à¸µà¹à¸à¸³à¸à¸²à¸à¹à¸¥à¸°à¹à¸£à¸à¹à¸£à¸µà¸¢à¸à¸à¸à¸ Microsoft
diff --git a/browser/browser/preferences/addEngine.ftl b/browser/browser/preferences/addEngine.ftl
new file mode 100644
index 00000000000..2737411cdce
--- /dev/null
+++ b/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-window =
+ .title = à¹à¸à¸´à¹à¸¡à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²
+ .style = width: 32em;
+
+add-engine-button = à¹à¸à¸´à¹à¸¡à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸µà¹à¸à¸³à¸«à¸à¸à¹à¸à¸
+
+add-engine-name = à¸à¸·à¹à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²
+
+add-engine-alias = à¸à¸²à¸¡à¹à¸à¸
+
+add-engine-url = URL à¸à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸ à¹à¸à¹ %s à¹à¸à¸à¸à¸³à¸à¹à¸à¸«à¸²
+
+add-engine-dialog =
+ .buttonlabelaccept = à¹à¸à¸´à¹à¸¡à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸
+ .buttonaccesskeyaccept = à¸
+
+engine-name-exists = มีà¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²à¸à¸·à¹à¸à¸à¸µà¹à¹à¸¥à¹à¸§
+engine-alias-exists = มีà¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²à¸à¸²à¸¡à¹à¸à¸à¸à¸µà¹à¹à¸¥à¹à¸§
diff --git a/browser/browser/preferences/applicationManager.ftl b/browser/browser/preferences/applicationManager.ftl
new file mode 100644
index 00000000000..ba8e0a0f5ca
--- /dev/null
+++ b/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-window =
+ .title = รายละà¹à¸à¸µà¸¢à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸
+ .style = width: 30em; min-height: 20em;
+
+app-manager-remove =
+ .label = à¹à¸à¸²à¸à¸à¸
+ .accesskey = à¸
+
+# Variables:
+# $type (String) - the URI scheme of the link (e.g. mailto:)
+app-manager-handle-protocol = à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¹à¸à¸·à¹à¸à¸à¸±à¸à¸à¸²à¸£à¸à¸±à¸ ลิà¸à¸à¹ { $type }
+
+# Variables:
+# $type (String) - the MIME type (e.g. application/binary)
+app-manager-handle-file = à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¹à¸à¸·à¹à¸à¸à¸±à¸à¸à¸²à¸£à¸à¸±à¸ à¹à¸à¸·à¹à¸à¸«à¸² { $type }
+
+## These strings are followed, on a new line,
+## by the URL or path of the application.
+
+app-manager-web-app-info = à¹à¸§à¹à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸µà¹à¹à¸®à¸ªà¸à¹à¸à¸µà¹:
+app-manager-local-app-info = à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¸¢à¸¹à¹à¸à¸µà¹:
diff --git a/browser/browser/preferences/blocklists.ftl b/browser/browser/preferences/blocklists.ftl
new file mode 100644
index 00000000000..529a5498d88
--- /dev/null
+++ b/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-window =
+ .title = รายà¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸
+ .style = width: 55em
+
+blocklist-description = à¹à¸¥à¸·à¸à¸à¸£à¸²à¸¢à¸à¸²à¸£ { -brand-short-name } à¹à¸à¸·à¹à¸à¹à¸à¹à¹à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸à¸à¸à¹à¸¥à¸à¹ รายà¸à¸²à¸£à¸à¸µà¹à¸à¸±à¸à¸«à¸²à¹à¸«à¹à¹à¸à¸¢ Disconnect
+blocklist-close-key =
+ .key = w
+
+blocklist-treehead-list =
+ .label = รายà¸à¸²à¸£
+
+blocklist-dialog =
+ .buttonlabelaccept = à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸
+ .buttonaccesskeyaccept = à¸
+
+
+# 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 = รายà¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸£à¸°à¸à¸±à¸ 1 (à¹à¸à¸°à¸à¸³)
+blocklist-item-moz-std-description = à¸à¸à¸¸à¸à¸²à¸à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸à¸²à¸à¸à¸±à¸§à¹à¸à¸·à¹à¸à¸à¸°à¹à¸à¹à¸¡à¸µà¹à¸§à¹à¸à¸à¸µà¹à¹à¸à¹à¸à¸²à¸à¹à¸¡à¹à¹à¸à¹à¸à¹à¸à¸¢à¸¥à¸
+blocklist-item-moz-full-listName = รายà¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸£à¸°à¸à¸±à¸ 2
+blocklist-item-moz-full-description = à¸à¸´à¸à¸à¸±à¹à¸à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸à¸±à¹à¸à¸«à¸¡à¸ à¸à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸«à¸£à¸·à¸à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸²à¸à¹à¸«à¸¥à¸à¸¡à¸²à¹à¸¡à¹à¸à¸£à¸
diff --git a/browser/browser/preferences/clearSiteData.ftl b/browser/browser/preferences/clearSiteData.ftl
new file mode 100644
index 00000000000..e30727dc602
--- /dev/null
+++ b/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-window =
+ .title = ลà¹à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥
+ .style = width: 35em
+
+clear-site-data-description = à¸à¸²à¸£à¸¥à¹à¸²à¸à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸µà¹à¸à¸±à¸à¹à¸à¹à¸à¹à¸§à¹à¹à¸à¸¢ { -brand-short-name } à¸à¸²à¸à¸¥à¸à¸à¸·à¹à¸à¸à¸¸à¸à¸à¸à¸à¸à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸¥à¸°à¹à¸à¸²à¹à¸à¸·à¹à¸à¸«à¸²à¹à¸§à¹à¸à¸à¸à¸à¹à¸¥à¸à¹à¸à¸à¸ à¸à¸²à¸£à¸¥à¹à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¸à¸°à¹à¸¡à¹à¸ªà¹à¸à¸à¸¥à¸à¸£à¸°à¸à¸à¸à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸à¸à¸à¸¸à¸
+
+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 = à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹ ({ $amount } { $unit })
+ .accesskey = à¸
+
+# 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 = à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹
+ .accesskey = à¸
+
+clear-site-data-cookies-info = à¸à¸¸à¸à¸à¸²à¸à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸¥à¸à¸à¸·à¹à¸à¸à¸à¸à¸à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸«à¸²à¸à¸¥à¹à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥
+
+# 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 = à¹à¸à¸·à¹à¸à¸«à¸²à¹à¸§à¹à¸à¸à¸µà¹à¸à¸¹à¸à¹à¸à¸à¹à¸§à¹ ({ $amount } { $unit })
+ .accesskey = à¸
+
+# 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 = à¹à¸à¸·à¹à¸à¸«à¸²à¹à¸§à¹à¸à¸à¸µà¹à¸à¸¹à¸à¹à¸à¸à¹à¸§à¹
+ .accesskey = à¸
+
+clear-site-data-cache-info = à¸à¸°à¸à¹à¸à¸à¹à¸«à¹à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸«à¸¥à¸à¸ าà¸à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸«à¸¡à¹
+
+clear-site-data-dialog =
+ .buttonlabelaccept = ลà¹à¸²à¸
+ .buttonaccesskeyaccept = ล
diff --git a/browser/browser/preferences/colors.ftl b/browser/browser/preferences/colors.ftl
new file mode 100644
index 00000000000..6d3a28b7116
--- /dev/null
+++ b/browser/browser/preferences/colors.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/.
+
+colors-window =
+ .title = สี
+ .style =
+ { PLATFORM() ->
+ [macos] width: 41em
+ *[other] width: 38em
+ }
+
+colors-close-key =
+ .key = w
+
+colors-page-override = à¹à¸à¸µà¸¢à¸à¸à¸±à¸à¸ªà¸µà¸à¸µà¹à¸£à¸°à¸à¸¸à¹à¸à¸¢à¸«à¸à¹à¸²à¸à¹à¸§à¸¢à¸à¸µà¹à¸à¸¸à¸à¹à¸¥à¸·à¸à¸à¹à¸§à¹à¸à¹à¸²à¸à¸à¸
+ .accesskey = ย
+
+colors-page-override-option-always =
+ .label = à¹à¸ªà¸¡à¸
+colors-page-override-option-auto =
+ .label = à¹à¸à¸à¸²à¸°à¸à¸±à¸à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸à¸£à¸µà¸¢à¸à¸à¹à¸²à¸à¸ªà¸¹à¸
+colors-page-override-option-never =
+ .label = à¹à¸¡à¹à¹à¸¥à¸¢
+
+colors-text-and-background = à¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸¥à¸°à¸à¸·à¹à¸à¸«à¸¥à¸±à¸
+
+colors-text-header = à¸à¹à¸à¸à¸§à¸²à¸¡
+ .accesskey = à¸
+
+colors-background = à¸à¸·à¹à¸à¸«à¸¥à¸±à¸
+ .accesskey = à¸
+
+colors-use-system =
+ .label = à¹à¸à¹à¸ªà¸µà¸à¸à¸à¸£à¸°à¸à¸
+ .accesskey = ส
+
+colors-underline-links =
+ .label = à¸à¸µà¸à¹à¸ªà¹à¸à¹à¸à¹à¸¥à¸´à¸à¸à¹
+ .accesskey = à¸
+
+colors-links-header = สีลิà¸à¸à¹
+
+colors-unvisited-links = ลิà¸à¸à¹à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡
+ .accesskey = ล
+
+colors-visited-links = ลิà¸à¸à¹à¸à¸µà¹à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡à¹à¸¥à¹à¸§
+ .accesskey = à¸
diff --git a/browser/browser/preferences/connection.ftl b/browser/browser/preferences/connection.ftl
new file mode 100644
index 00000000000..4e2e336341b
--- /dev/null
+++ b/browser/browser/preferences/connection.ftl
@@ -0,0 +1,102 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-window =
+ .title = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸
+ .style =
+ { PLATFORM() ->
+ [macos] width: 44em
+ *[other] width: 49em
+ }
+
+connection-close-key =
+ .key = w
+
+connection-disable-extension =
+ .label = à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢
+
+connection-proxy-configure = à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸£à¹à¸à¸à¸à¸µà¸à¸±à¸à¸à¸´à¸à¹à¸à¸à¸£à¹à¹à¸à¹à¸
+
+connection-proxy-option-no =
+ .label = à¹à¸¡à¹à¸¡à¸µà¸à¸£à¹à¸à¸à¸à¸µ
+ .accesskey = ม
+connection-proxy-option-system =
+ .label = à¹à¸à¹à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸£à¹à¸à¸à¸à¸µà¸à¸à¸à¸£à¸°à¸à¸
+ .accesskey = à¸
+connection-proxy-option-auto =
+ .label = à¸à¸£à¸§à¸à¸«à¸²à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸£à¹à¸à¸à¸à¸µà¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢à¸à¸µà¹
+ .accesskey = ว
+connection-proxy-option-manual =
+ .label = à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸à¸£à¹à¸à¸à¸à¸µà¸à¹à¸§à¸¢à¸à¸à¹à¸à¸
+ .accesskey = ห
+
+connection-proxy-http = à¸à¸£à¹à¸à¸à¸à¸µ HTTP
+ .accesskey = à¸
+connection-proxy-http-port = à¸à¸à¸£à¹à¸
+ .accesskey = à¸
+
+connection-proxy-https-sharing =
+ .label = à¹à¸à¹à¸à¸£à¹à¸à¸à¸à¸µà¸à¸µà¹à¸ªà¸³à¸«à¸£à¸±à¸ HTTPS à¸à¹à¸§à¸¢
+ .accesskey = s
+
+connection-proxy-https = à¸à¸£à¹à¸à¸à¸à¸µ HTTPS
+ .accesskey = à¸
+connection-proxy-ssl-port = à¸à¸à¸£à¹à¸
+ .accesskey = à¸
+
+connection-proxy-socks = à¹à¸®à¸ªà¸à¹ SOCKS
+ .accesskey = C
+connection-proxy-socks-port = à¸à¸à¸£à¹à¸
+ .accesskey = à¸
+
+connection-proxy-socks4 =
+ .label = SOCKS v4
+ .accesskey = K
+connection-proxy-socks5 =
+ .label = SOCKS v5
+ .accesskey = v
+connection-proxy-noproxy = à¹à¸¡à¹à¸¡à¸µà¸à¸£à¹à¸à¸à¸à¸µà¸ªà¸³à¸«à¸£à¸±à¸
+ .accesskey = ส
+
+connection-proxy-noproxy-desc = à¸à¸±à¸§à¸à¸¢à¹à¸²à¸: .mozilla.org, .net.nz, 192.168.1.0/24
+
+# Do not translate "localhost", "127.0.0.1/8" and "::1". (You can translate "and".)
+connection-proxy-noproxy-localhost-desc-2 = à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸à¸¢à¸±à¸ localhost, 127.0.0.1/8, à¹à¸¥à¸° ::1 à¸à¸°à¹à¸¡à¹à¸à¹à¸²à¸à¸à¸£à¹à¸à¸à¸à¸µ
+
+connection-proxy-autotype =
+ .label = URL à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸à¸£à¹à¸à¸à¸à¸µà¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+ .accesskey = à¸
+
+connection-proxy-reload =
+ .label = à¹à¸«à¸¥à¸à¹à¸«à¸¡à¹
+ .accesskey = ล
+
+connection-proxy-autologin =
+ .label = à¹à¸¡à¹à¸à¹à¸à¸à¸à¸²à¸¡à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸à¸«à¸²à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸¹à¸à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹
+ .accesskey = à¸
+ .tooltip = à¸à¸±à¸§à¹à¸¥à¸·à¸à¸à¸à¸µà¹à¸à¸°à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸¢à¸±à¸à¸à¸£à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¹à¸¡à¸·à¹à¸à¸à¸¸à¸à¹à¸à¹à¸à¸±à¸à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸£à¸±à¸à¸£à¸à¸à¹à¸§à¹ à¸à¸¸à¸à¸à¸°à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¹à¸à¹à¸à¸«à¸²à¸à¸à¸²à¸£à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸à¸¥à¹à¸¡à¹à¸«à¸¥à¸§
+
+connection-proxy-socks-remote-dns =
+ .label = DNS à¹à¸à¸à¸à¸£à¹à¸à¸à¸à¸µà¹à¸¡à¸·à¹à¸à¹à¸à¹ SOCKS v5
+ .accesskey = d
+
+connection-dns-over-https =
+ .label = à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸ DNS à¸à¹à¸²à¸ HTTPS
+ .accesskey = à¸
+
+connection-dns-over-https-url-resolver = à¹à¸à¹à¸à¸¹à¹à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£
+ .accesskey = à¸
+
+# Variables:
+# $name (String) - Display name or URL for the DNS over HTTPS provider
+connection-dns-over-https-url-item-default =
+ .label = { $name } (à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸)
+ .tooltiptext = à¹à¸à¹ URL à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¸¥à¸à¸à¸µà¹à¸à¸¢à¸¹à¹ DNS à¸à¹à¸²à¸ HTTPS
+
+connection-dns-over-https-url-custom =
+ .label = à¸à¸³à¸«à¸à¸à¹à¸à¸
+ .accesskey = à¸
+ .tooltiptext = à¸à¹à¸à¸ URL à¸à¸µà¹à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¸¥à¸à¸à¸µà¹à¸à¸¢à¸¹à¹ DNS à¸à¹à¸²à¸ HTTPS
+
+connection-dns-over-https-custom-label = à¸à¸³à¸«à¸à¸à¹à¸à¸
diff --git a/browser/browser/preferences/containers.ftl b/browser/browser/preferences/containers.ftl
new file mode 100644
index 00000000000..97474897370
--- /dev/null
+++ b/browser/browser/preferences/containers.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/.
+
+containers-window-new =
+ .title = à¹à¸à¸´à¹à¸¡à¸à¸²à¸£à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸«à¸¡à¹
+ .style = width: 45em
+
+# Variables
+# $name (String) - Name of the container
+containers-window-update-settings =
+ .title = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸²à¸£à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥ { $name }
+ .style = 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 = à¸à¸·à¹à¸
+ .accesskey = à¸
+ .style = { -containers-labels-style }
+
+containers-name-text =
+ .placeholder = à¸à¹à¸à¸à¸à¸·à¹à¸à¸à¸²à¸£à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥
+
+containers-icon-label = à¹à¸à¸à¸à¸
+ .accesskey = à¸
+ .style = { -containers-labels-style }
+
+containers-color-label = สี
+ .accesskey = ส
+ .style = { -containers-labels-style }
+
+containers-dialog =
+ .buttonlabelaccept = à¹à¸ªà¸£à¹à¸à¸ªà¸´à¹à¸
+ .buttonaccesskeyaccept = ร
+
+containers-color-blue =
+ .label = à¸à¹à¸³à¹à¸à¸´à¸
+containers-color-turquoise =
+ .label = à¸à¹à¸²à¹à¸à¸à¸£à¹à¸à¸à¸¢à¸ªà¹
+containers-color-green =
+ .label = à¹à¸à¸µà¸¢à¸§
+containers-color-yellow =
+ .label = à¹à¸«à¸¥à¸·à¸à¸
+containers-color-orange =
+ .label = สà¹à¸¡
+containers-color-red =
+ .label = à¹à¸à¸
+containers-color-pink =
+ .label = à¸à¸¡à¸à¸¹
+containers-color-purple =
+ .label = มà¹à¸§à¸
+containers-color-toolbar =
+ .label = à¸à¸±à¸à¸à¸¹à¹à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸
+
+containers-icon-fence =
+ .label = รัà¹à¸§
+containers-icon-fingerprint =
+ .label = ลายà¸à¸´à¹à¸§à¸¡à¸·à¸
+containers-icon-briefcase =
+ .label = à¸à¸£à¸°à¹à¸à¹à¸²à¹à¸à¸à¸ªà¸²à¸£
+# 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 = à¹à¸à¸£à¸·à¹à¸à¸à¸«à¸¡à¸²à¸¢à¸à¸à¸¥à¸¥à¸²à¸£à¹
+containers-icon-cart =
+ .label = รà¸à¹à¸à¹à¸à¸à¸·à¹à¸à¸à¸à¸
+containers-icon-circle =
+ .label = à¸à¸¸à¸
+containers-icon-vacation =
+ .label = วัà¸à¸«à¸¢à¸¸à¸à¸à¸±à¸à¸à¹à¸à¸
+containers-icon-gift =
+ .label = à¸à¸à¸à¸à¸§à¸±à¸
+containers-icon-food =
+ .label = à¸à¸²à¸«à¸²à¸£
+containers-icon-fruit =
+ .label = à¸à¸¥à¹à¸¡à¹
+containers-icon-pet =
+ .label = สัà¸à¸§à¹à¹à¸¥à¸µà¹à¸¢à¸
+containers-icon-tree =
+ .label = à¸à¹à¸à¹à¸¡à¹
+containers-icon-chill =
+ .label = à¸à¹à¸à¸à¸à¸¥à¸²à¸¢
diff --git a/browser/browser/preferences/fonts.ftl b/browser/browser/preferences/fonts.ftl
new file mode 100644
index 00000000000..f7357eab7b9
--- /dev/null
+++ b/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 = à¹à¸à¸à¸à¸±à¸à¸©à¸£
+
+fonts-window-close =
+ .key = w
+
+## Font groups by language
+
+fonts-langgroup-header = à¹à¸à¸à¸à¸±à¸à¸©à¸£à¸ªà¸³à¸«à¸£à¸±à¸
+ .accesskey = à¸
+
+fonts-langgroup-arabic =
+ .label = à¸à¸²à¸«à¸£à¸±à¸
+fonts-langgroup-armenian =
+ .label = à¸à¸²à¸£à¹à¹à¸¡à¹à¸à¸µà¸¢
+fonts-langgroup-bengali =
+ .label = à¹à¸à¸à¸à¸²à¸¥à¸µ
+fonts-langgroup-simpl-chinese =
+ .label = à¸à¸µà¸à¸à¸±à¸§à¸¢à¹à¸
+fonts-langgroup-trad-chinese-hk =
+ .label = à¸à¸µà¸à¸à¸±à¸§à¹à¸à¹à¸¡ (ฮà¹à¸à¸à¸à¸)
+fonts-langgroup-trad-chinese =
+ .label = à¸à¸µà¸à¸à¸±à¸§à¹à¸à¹à¸¡ (à¹à¸à¹à¸«à¸§à¸±à¸)
+fonts-langgroup-cyrillic =
+ .label = à¸à¸´à¸£à¸´à¸¥à¸¥à¸´à¸
+fonts-langgroup-devanagari =
+ .label = à¹à¸à¸§à¸à¸²à¸à¸£à¸µ
+fonts-langgroup-ethiopic =
+ .label = à¹à¸à¸à¸´à¹à¸à¹à¸à¸µà¸¢
+fonts-langgroup-georgian =
+ .label = à¸à¸à¸£à¹à¹à¸à¸µà¸¢
+fonts-langgroup-el =
+ .label = à¸à¸£à¸µà¸
+fonts-langgroup-gujarati =
+ .label = à¸à¸¸à¸à¸£à¸²à¸à¸µ
+fonts-langgroup-gurmukhi =
+ .label = à¹à¸à¸à¸£à¹à¸¡à¸¸à¸à¸«à¹
+fonts-langgroup-japanese =
+ .label = à¸à¸µà¹à¸à¸¸à¹à¸
+fonts-langgroup-hebrew =
+ .label = ฮิà¸à¸£à¸¹
+fonts-langgroup-kannada =
+ .label = à¸à¸±à¸à¸à¸²à¸
+fonts-langgroup-khmer =
+ .label = à¹à¸à¸¡à¸£
+fonts-langgroup-korean =
+ .label = à¹à¸à¸²à¸«à¸¥à¸µ
+# Translate "Latin" as the name of Latin (Roman) script, not as the name of the Latin language.
+fonts-langgroup-latin =
+ .label = ละà¸à¸´à¸
+fonts-langgroup-malayalam =
+ .label = มะละยาลัม
+fonts-langgroup-math =
+ .label = à¸à¸à¸´à¸à¸¨à¸²à¸ªà¸à¸£à¹
+fonts-langgroup-odia =
+ .label = à¹à¸à¹à¸à¸µà¸¢
+fonts-langgroup-sinhala =
+ .label = สิà¸à¸«à¸¥
+fonts-langgroup-tamil =
+ .label = à¸à¸¡à¸´à¸¬
+fonts-langgroup-telugu =
+ .label = à¹à¸à¸¥à¸¹à¸à¸¹
+fonts-langgroup-thai =
+ .label = à¹à¸à¸¢
+fonts-langgroup-tibetan =
+ .label = à¸à¸´à¹à¸à¸
+fonts-langgroup-canadian =
+ .label = à¸à¸±à¸à¸©à¸£à¸à¸¢à¸²à¸à¸à¹à¸à¸·à¹à¸à¹à¸¡à¸·à¸à¸à¹à¸à¸à¸²à¸à¸²
+fonts-langgroup-other =
+ .label = ระà¸à¸à¸à¸²à¸£à¹à¸à¸µà¸¢à¸à¸à¸·à¹à¸ à¹
+
+## Default fonts and their sizes
+
+fonts-proportional-header = à¸à¸§à¸²à¸¡à¸à¸§à¹à¸²à¸à¸à¸²à¸¡à¸ªà¸±à¸à¸ªà¹à¸§à¸
+ .accesskey = à¸
+
+fonts-default-serif =
+ .label = มีà¹à¸à¸´à¸
+fonts-default-sans-serif =
+ .label = à¹à¸¡à¹à¸¡à¸µà¹à¸à¸´à¸
+
+fonts-proportional-size = à¸à¸à¸²à¸
+ .accesskey = à¸
+
+fonts-serif = มีà¹à¸à¸´à¸
+ .accesskey = ม
+
+fonts-sans-serif = à¹à¸¡à¹à¸¡à¸µà¹à¸à¸´à¸
+ .accesskey = à¸
+
+fonts-monospace = à¸à¸§à¸²à¸¡à¸à¸§à¹à¸²à¸à¸à¸à¸à¸µà¹
+ .accesskey = ว
+
+fonts-monospace-size = à¸à¸à¸²à¸
+ .accesskey = à¸
+
+fonts-minsize = à¸à¸à¸²à¸à¹à¸à¸à¸à¸±à¸à¸©à¸£à¸à¹à¸³à¸ªà¸¸à¸
+ .accesskey = à¸
+
+fonts-minsize-none =
+ .label = à¹à¸¡à¹à¸¡à¸µ
+
+fonts-allow-own =
+ .label = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¸«à¸à¹à¸²à¹à¸¥à¸·à¸à¸à¹à¸à¹à¹à¸à¸à¸à¸±à¸à¸©à¸£à¸à¸à¸à¸à¸±à¸§à¹à¸à¸ à¹à¸à¸à¸à¸µà¹à¸à¸°à¹à¸à¹à¸à¸à¸µà¹à¸à¸¸à¸à¹à¸¥à¸·à¸à¸à¹à¸§à¹à¸à¹à¸²à¸à¸à¸
+ .accesskey = à¸
+
+## 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 = à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸ ({ $name })
+fonts-label-default-unnamed =
+ .label = à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸
diff --git a/browser/browser/preferences/fxaPairDevice.ftl b/browser/browser/preferences/fxaPairDevice.ftl
new file mode 100644
index 00000000000..7b8296ae247
--- /dev/null
+++ b/browser/browser/preferences/fxaPairDevice.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/.
+
+fxa-pair-device-dialog =
+ .title = à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸·à¹à¸
+ .style = width: 26em; min-height: 35em;
+
+fxa-qrcode-heading-step1 = 1. à¸à¸´à¸à¸à¸±à¹à¸ Firefox à¸à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸¡à¸·à¸à¸à¸·à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸²à¸à¸à¸¸à¸à¸¢à¸±à¸à¹à¸¡à¹à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸
+
+fxa-qrcode-heading-step2 = 2. à¹à¸à¸´à¸ Firefox à¸à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸¡à¸·à¸à¸à¸·à¸à¸à¸à¸à¸à¸¸à¸
+
+fxa-qrcode-heading-step3 = 3. à¹à¸à¸´à¸à¹à¸¡à¸à¸¹ (
หรืà¸
) à¹à¸à¸°
à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸² à¹à¸¥à¹à¸§à¹à¸¥à¸·à¸à¸ à¹à¸à¸´à¸ Sync
+
+fxa-qrcode-heading-step4 = 4. สà¹à¸à¸à¸£à¸«à¸±à¸ªà¸à¸µà¹:
+
+fxa-qrcode-error-title = à¸à¸²à¸£à¸à¸±à¸à¸à¸¹à¹à¹à¸¡à¹à¸ªà¸³à¹à¸£à¹à¸
+
+fxa-qrcode-error-body = ลà¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸
diff --git a/browser/browser/preferences/languages.ftl b/browser/browser/preferences/languages.ftl
new file mode 100644
index 00000000000..c49b3a6052f
--- /dev/null
+++ b/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-window =
+ .title = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸ าษาà¸à¸à¸à¸«à¸à¹à¸²à¹à¸§à¹à¸
+ .style = width: 40em
+
+languages-close-key =
+ .key = w
+
+languages-description = à¸à¸²à¸à¸à¸£à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸§à¹à¸à¸à¸²à¸à¸à¸³à¹à¸ªà¸à¸à¸¡à¸²à¸à¸à¸§à¹à¸²à¸«à¸à¸¶à¹à¸à¸ าษา à¹à¸¥à¸·à¸à¸à¸ าษาสำหรัà¸à¹à¸ªà¸à¸à¸à¸¥à¸«à¸à¹à¸²à¹à¸§à¹à¸à¹à¸«à¸¥à¹à¸²à¸à¸µà¹à¸à¸²à¸¡à¸¥à¸³à¸à¸±à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£
+
+languages-customize-spoof-english =
+ .label = à¸à¸à¸«à¸à¹à¸²à¹à¸§à¹à¸à¸ าษาà¸à¸±à¸à¸à¸¤à¸©à¹à¸à¸·à¹à¸à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸µà¹à¹à¸à¸´à¹à¸¡à¸à¸¶à¹à¸
+
+languages-customize-moveup =
+ .label = ยà¹à¸²à¸¢à¸à¸¶à¹à¸
+ .accesskey = ย
+
+languages-customize-movedown =
+ .label = ยà¹à¸²à¸¢à¸¥à¸
+ .accesskey = ล
+
+languages-customize-remove =
+ .label = à¹à¸à¸²à¸à¸à¸
+ .accesskey = à¸
+
+languages-customize-select-language =
+ .placeholder = à¹à¸¥à¸·à¸à¸à¸ าษาà¸à¸µà¹à¸à¸°à¹à¸à¸´à¹à¸¡â¦
+
+languages-customize-add =
+ .label = à¹à¸à¸´à¹à¸¡
+ .accesskey = à¸
+
+# 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-window =
+ .title = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸ าษาà¸à¸à¸ { -brand-short-name }
+ .style = width: 40em
+
+browser-languages-description = { -brand-short-name } à¸à¸°à¹à¸ªà¸à¸à¸à¸¥à¸ าษาà¹à¸£à¸à¹à¸à¹à¸à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¹à¸¥à¸°à¸à¸°à¹à¸ªà¸à¸à¸à¸¥à¸ าษาà¸à¸·à¹à¸à¹à¸à¸à¸«à¸²à¸à¸à¸³à¹à¸à¹à¸à¸à¸²à¸¡à¸¥à¸³à¸à¸±à¸à¸à¸µà¹à¸à¸£à¸²à¸à¸
+
+browser-languages-search = à¸à¹à¸à¸«à¸²à¸ าษาà¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡â¦
+
+browser-languages-searching =
+ .label = à¸à¸³à¸¥à¸±à¸à¸à¹à¸à¸«à¸²à¸ าษาâ¦
+
+browser-languages-downloading =
+ .label = à¸à¸³à¸¥à¸±à¸à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸â¦
+
+browser-languages-select-language =
+ .label = à¹à¸¥à¸·à¸à¸à¸ าษาà¸à¸µà¹à¸à¸°à¹à¸à¸´à¹à¸¡â¦
+ .placeholder = à¹à¸¥à¸·à¸à¸à¸ าษาà¸à¸µà¹à¸à¸°à¹à¸à¸´à¹à¸¡â¦
+
+browser-languages-installed-label = ภาษาà¸à¸µà¹à¸à¸´à¸à¸à¸±à¹à¸
+browser-languages-available-label = ภาษาà¸à¸µà¹à¸¡à¸µ
+
+browser-languages-error = { -brand-short-name } à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸±à¸à¹à¸à¸à¸ าษาà¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¹à¸à¸à¸à¸°à¸à¸µà¹ à¸à¸£à¸§à¸à¸ªà¸à¸à¸§à¹à¸²à¸à¸¸à¸à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¸à¸à¸´à¸à¹à¸à¸à¸£à¹à¹à¸à¹à¸à¹à¸¥à¹à¸§à¸«à¸£à¸·à¸à¸¥à¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸
diff --git a/browser/browser/preferences/permissions.ftl b/browser/browser/preferences/permissions.ftl
new file mode 100644
index 00000000000..a7334b63f38
--- /dev/null
+++ b/browser/browser/preferences/permissions.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/.
+
+permissions-window =
+ .title = à¸à¹à¸à¸¢à¸à¹à¸§à¹à¸
+ .style = width: 45em
+
+permissions-close-key =
+ .key = w
+
+permissions-address = à¸à¸µà¹à¸à¸¢à¸¹à¹à¹à¸§à¹à¸à¹à¸à¸à¹
+ .accesskey = à¸
+
+permissions-block =
+ .label = à¸à¸´à¸à¸à¸±à¹à¸
+ .accesskey = à¸
+
+permissions-session =
+ .label = à¸à¸à¸¸à¸à¸²à¸à¹à¸à¸§à¸²à¸£à¸°
+ .accesskey = à¸
+
+permissions-allow =
+ .label = à¸à¸à¸¸à¸à¸²à¸
+ .accesskey = à¸
+
+permissions-button-off =
+ .label = à¸à¸´à¸
+ .accesskey = O
+
+permissions-button-off-temporarily =
+ .label = à¸à¸´à¸à¸à¸±à¹à¸§à¸à¸£à¸²à¸§
+ .accesskey = T
+
+permissions-site-name =
+ .label = à¹à¸§à¹à¸à¹à¸à¸à¹
+
+permissions-status =
+ .label = สà¸à¸²à¸à¸°
+
+permissions-remove =
+ .label = à¹à¸à¸²à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸à¸
+ .accesskey = à¸
+
+permissions-remove-all =
+ .label = à¹à¸à¸²à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸à¸
+ .accesskey = ว
+
+permission-dialog =
+ .buttonlabelaccept = à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸
+ .buttonaccesskeyaccept = à¸
+
+permissions-autoplay-menu = à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸:
+
+permissions-searchbox =
+ .placeholder = à¸à¹à¸à¸«à¸²à¹à¸§à¹à¸à¹à¸à¸à¹
+
+permissions-capabilities-autoplay-allow =
+ .label = à¸à¸à¸¸à¸à¸²à¸à¹à¸ªà¸µà¸¢à¸à¹à¸¥à¸°à¸§à¸´à¸à¸µà¹à¸
+permissions-capabilities-autoplay-block =
+ .label = à¸à¸´à¸à¸à¸±à¹à¸à¹à¸ªà¸µà¸¢à¸
+permissions-capabilities-autoplay-blockall =
+ .label = à¸à¸´à¸à¸à¸±à¹à¸à¹à¸ªà¸µà¸¢à¸à¹à¸¥à¸°à¸§à¸´à¸à¸µà¹à¸
+
+permissions-capabilities-allow =
+ .label = à¸à¸à¸¸à¸à¸²à¸
+permissions-capabilities-block =
+ .label = à¸à¸´à¸à¸à¸±à¹à¸
+permissions-capabilities-prompt =
+ .label = à¸à¸²à¸¡à¹à¸ªà¸¡à¸
+
+permissions-capabilities-listitem-allow =
+ .value = à¸à¸à¸¸à¸à¸²à¸
+permissions-capabilities-listitem-block =
+ .value = à¸à¸´à¸à¸à¸±à¹à¸
+permissions-capabilities-listitem-allow-session =
+ .value = à¸à¸à¸¸à¸à¸²à¸à¹à¸à¸§à¸²à¸£à¸°
+
+permissions-capabilities-listitem-off =
+ .value = à¸à¸´à¸
+permissions-capabilities-listitem-off-temporarily =
+ .value = à¸à¸´à¸à¸à¸±à¹à¸§à¸à¸£à¸²à¸§
+
+## Invalid Hostname Dialog
+
+permissions-invalid-uri-title = à¸à¸·à¹à¸à¹à¸®à¸ªà¸à¹à¸à¸µà¹à¸à¹à¸à¸à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+permissions-invalid-uri-label = à¹à¸à¸£à¸à¸à¹à¸à¸à¸à¸·à¹à¸à¹à¸®à¸ªà¸à¹à¸à¸µà¹à¸à¸¹à¸à¸à¹à¸à¸
+
+## Exceptions - Tracking Protection
+
+permissions-exceptions-etp-window =
+ .title = à¸à¹à¸à¸¢à¸à¹à¸§à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡à¸à¸µà¹à¸¡à¸²à¸à¸à¸¶à¹à¸
+ .style = { permissions-window.style }
+permissions-exceptions-etp-desc = à¸à¸¸à¸à¹à¸à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸«à¸¥à¹à¸²à¸à¸µà¹
+
+## Exceptions - Cookies
+
+permissions-exceptions-cookie-window =
+ .title = à¸à¹à¸à¸¢à¸à¹à¸§à¹à¸ - à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹
+ .style = { permissions-window.style }
+permissions-exceptions-cookie-desc = à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸°à¸à¸¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸à¸¸à¸à¸²à¸à¸«à¸£à¸·à¸à¹à¸¡à¹à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¹à¸à¹à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹à¹à¸ªà¸¡à¸ à¸à¸´à¸¡à¸à¹à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸£à¹à¸¥à¹à¸§à¸à¸¥à¸´à¸ à¸à¸´à¸à¸à¸±à¹à¸, à¸à¸à¸¸à¸à¸²à¸à¹à¸à¸§à¸²à¸£à¸° หรืà¸à¸à¸à¸¸à¸à¸²à¸
+
+## Exceptions - HTTPS-Only Mode
+
+permissions-exceptions-https-only-window =
+ .title = à¸à¹à¸à¸¢à¸à¹à¸§à¹à¸ - à¹à¸«à¸¡à¸ HTTPS-Only
+ .style = { permissions-window.style }
+permissions-exceptions-https-only-desc = à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¹à¸«à¸¡à¸ HTTPS-Only สำหรัà¸à¹à¸à¹à¸¥à¸°à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸à¹ { -brand-short-name } à¸à¸°à¹à¸¡à¹à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸±à¸à¹à¸à¸£à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸à¹à¸ HTTPS à¹à¸à¸à¸à¸¥à¸à¸à¸ ัยสำหรัà¸à¹à¸à¸à¹à¹à¸«à¸¥à¹à¸²à¸à¸±à¹à¸ à¸à¹à¸à¸¢à¸à¹à¸§à¹à¸à¸à¸°à¹à¸¡à¹à¸à¸³à¹à¸à¹à¸à¹à¸à¸±à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+
+## Exceptions - Pop-ups
+
+permissions-exceptions-popup-window =
+ .title = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸à¸¸à¸à¸²à¸ - à¸à¹à¸à¸à¸à¸±à¸
+ .style = { permissions-window.style }
+permissions-exceptions-popup-desc = à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸°à¸à¸¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¹à¸à¸´à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¹à¸à¸à¸à¸±à¸ à¸à¸´à¸¡à¸à¹à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸¸à¸à¸²à¸à¹à¸¥à¹à¸§à¸à¸¥à¸´à¸ à¸à¸à¸¸à¸à¸²à¸
+
+## Exceptions - Saved Logins
+
+permissions-exceptions-saved-logins-window =
+ .title = à¸à¹à¸à¸¢à¸à¹à¸§à¹à¸ - à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹
+ .style = { permissions-window.style }
+permissions-exceptions-saved-logins-desc = à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸°à¹à¸¡à¹à¸à¸¹à¸à¸à¸±à¸à¸à¸¶à¸
+
+## Exceptions - Add-ons
+
+permissions-exceptions-addons-window =
+ .title = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸à¸¸à¸à¸²à¸ - à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡
+ .style = { permissions-window.style }
+permissions-exceptions-addons-desc = à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸°à¸à¸¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡ à¸à¸´à¸¡à¸à¹à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸¸à¸à¸²à¸à¹à¸¥à¹à¸§à¸à¸¥à¸´à¸ à¸à¸à¸¸à¸à¸²à¸
+
+## Site Permissions - Autoplay
+
+permissions-site-autoplay-window =
+ .title = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸² - à¸à¸²à¸£à¹à¸¥à¹à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+ .style = { permissions-window.style }
+permissions-site-autoplay-desc = à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸±à¸à¸à¸²à¸£à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸¡à¹à¸à¸³à¸à¸²à¸à¸à¸²à¸¡à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¹à¸¥à¹à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸µà¹à¸à¸µà¹
+
+## Site Permissions - Notifications
+
+permissions-site-notification-window =
+ .title = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸² - สิà¸à¸à¸´à¸à¸à¸¸à¸à¸²à¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸
+ .style = { permissions-window.style }
+permissions-site-notification-desc = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸à¹à¸à¸à¸ªà¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¹à¸«à¹à¸à¸¸à¸ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸°à¸à¸¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¸ªà¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¹à¸«à¹à¸à¸¸à¸ à¸à¸¸à¸à¸¢à¸±à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸à¸à¸³à¸à¸à¹à¸«à¸¡à¹à¸à¸µà¹à¸à¸à¸à¸à¸¸à¸à¸²à¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸
+permissions-site-notification-disable-label =
+ .label = à¸à¸´à¸à¸à¸±à¹à¸à¸à¸³à¸à¸à¹à¸«à¸¡à¹à¸à¸µà¹à¸à¸à¸à¸à¸¸à¸à¸²à¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸
+permissions-site-notification-disable-desc = à¸à¸µà¹à¸à¸°à¸à¹à¸à¸à¸à¸±à¸à¹à¸¡à¹à¹à¸«à¹à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸ ๠à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¸£à¸°à¸à¸¸à¹à¸§à¹à¸à¹à¸²à¸à¸à¸à¸à¸à¸à¸à¸¸à¸à¸²à¸à¹à¸à¸·à¹à¸à¸ªà¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸ à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¸à¸²à¸à¸à¸³à¹à¸«à¹à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸²à¸à¸à¸¢à¹à¸²à¸à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸¡à¹à¸ªà¸¡à¸à¸¹à¸£à¸à¹
+
+## Site Permissions - Location
+
+permissions-site-location-window =
+ .title = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸² - สิà¸à¸à¸´à¸à¸à¸¸à¸à¸²à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸
+ .style = { permissions-window.style }
+permissions-site-location-desc = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸à¹à¸à¸à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¸à¸à¸à¸¸à¸ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸°à¸à¸¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¸à¸à¸à¸¸à¸ à¸à¸¸à¸à¸¢à¸±à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸à¸à¸³à¸à¸à¹à¸«à¸¡à¹à¸à¸µà¹à¸à¸à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¸à¸à¸à¸¸à¸
+permissions-site-location-disable-label =
+ .label = à¸à¸´à¸à¸à¸±à¹à¸à¸à¸³à¸à¸à¹à¸«à¸¡à¹à¸à¸µà¹à¸à¸à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¸à¸à¸à¸¸à¸
+permissions-site-location-disable-desc = à¸à¸µà¹à¸à¸°à¸à¹à¸à¸à¸à¸±à¸à¹à¸¡à¹à¹à¸«à¹à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸ ๠à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¸£à¸°à¸à¸¸à¹à¸§à¹à¸à¹à¸²à¸à¸à¸à¸à¸à¸à¸à¸¸à¸à¸²à¸à¹à¸à¸·à¹à¸à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¸à¸à¸à¸¸à¸ à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¸à¸à¸à¸¸à¸à¸à¸²à¸à¸à¸³à¹à¸«à¹à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸²à¸à¸à¸¢à¹à¸²à¸à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸¡à¹à¸ªà¸¡à¸à¸¹à¸£à¸à¹
+
+## Site Permissions - Virtual Reality
+
+permissions-site-xr-window =
+ .title = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸² - สิà¸à¸à¸´à¸à¸à¸¸à¸à¸²à¸à¸à¸§à¸²à¸¡à¸à¸£à¸´à¸à¹à¸ªà¸¡à¸·à¸à¸
+ .style = { permissions-window.style }
+permissions-site-xr-desc = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸à¹à¸à¸à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸§à¸²à¸¡à¸à¸£à¸´à¸à¹à¸ªà¸¡à¸·à¸à¸à¸à¸à¸à¸à¸¸à¸ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸°à¸à¸¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸§à¸²à¸¡à¸à¸£à¸´à¸à¹à¸ªà¸¡à¸·à¸à¸à¸à¸à¸à¸à¸¸à¸ à¸à¸¸à¸à¸¢à¸±à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸à¸à¸³à¸à¸à¹à¸«à¸¡à¹à¸à¸µà¹à¸à¸à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸§à¸²à¸¡à¸à¸£à¸´à¸à¹à¸ªà¸¡à¸·à¸à¸à¸à¸à¸à¸à¸¸à¸
+permissions-site-xr-disable-label =
+ .label = à¸à¸´à¸à¸à¸±à¹à¸à¸à¸³à¸à¸à¹à¸«à¸¡à¹à¸à¸µà¹à¸à¸à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸§à¸²à¸¡à¸à¸£à¸´à¸à¹à¸ªà¸¡à¸·à¸à¸à¸à¸à¸à¸à¸¸à¸
+permissions-site-xr-disable-desc = à¸à¸µà¹à¸à¸°à¸à¹à¸à¸à¸à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸ ๠à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¸£à¸°à¸à¸¸à¹à¸§à¹à¸à¹à¸²à¸à¸à¸à¸à¸²à¸à¸à¸²à¸£à¸à¸à¸à¸à¸¸à¸à¸²à¸à¹à¸à¸·à¹à¸à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸§à¸²à¸¡à¸à¸£à¸´à¸à¹à¸ªà¸¡à¸·à¸à¸à¸à¸à¸à¸à¸¸à¸ à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸§à¸²à¸¡à¸à¸£à¸´à¸à¹à¸ªà¸¡à¸·à¸à¸à¸à¸à¸à¸à¸¸à¸à¸à¸²à¸à¸à¸³à¹à¸«à¹à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸²à¸à¸à¸¢à¹à¸²à¸à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸¡à¹à¸ªà¸¡à¸à¸¹à¸£à¸à¹
+
+## Site Permissions - Camera
+
+permissions-site-camera-window =
+ .title = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸² - สิà¸à¸à¸´à¸à¸à¸¸à¸à¸²à¸à¸à¸¥à¹à¸à¸
+ .style = { permissions-window.style }
+permissions-site-camera-desc = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸à¹à¸à¸à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¥à¹à¸à¸à¸à¸à¸à¸à¸¸à¸ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸°à¸à¸¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¥à¹à¸à¸à¸à¸à¸à¸à¸¸à¸ à¸à¸¸à¸à¸¢à¸±à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸à¸à¸³à¸à¸à¹à¸«à¸¡à¹à¸à¸µà¹à¸à¸à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¥à¹à¸à¸à¸à¸à¸à¸à¸¸à¸
+permissions-site-camera-disable-label =
+ .label = à¸à¸´à¸à¸à¸±à¹à¸à¸à¸³à¸à¸à¹à¸«à¸¡à¹à¸à¸µà¹à¸à¸à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¥à¹à¸à¸à¸à¸à¸à¸à¸¸à¸
+permissions-site-camera-disable-desc = à¸à¸µà¹à¸à¸°à¸à¹à¸à¸à¸à¸±à¸à¹à¸¡à¹à¹à¸«à¹à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸ ๠à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¸£à¸°à¸à¸¸à¹à¸§à¹à¸à¹à¸²à¸à¸à¸à¸à¸à¸à¸à¸¸à¸à¸²à¸à¹à¸à¸·à¹à¸à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¥à¹à¸à¸à¸à¸à¸à¸à¸¸à¸ à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¥à¹à¸à¸à¸à¸à¸à¸à¸¸à¸à¸à¸²à¸à¸à¸³à¹à¸«à¹à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸²à¸à¸à¸¢à¹à¸²à¸à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸¡à¹à¸ªà¸¡à¸à¸¹à¸£à¸à¹
+
+## Site Permissions - Microphone
+
+permissions-site-microphone-window =
+ .title = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸² - สิà¸à¸à¸´à¸à¸à¸¸à¸à¸²à¸à¹à¸¡à¹à¸à¸£à¹à¸à¸
+ .style = { permissions-window.style }
+permissions-site-microphone-desc = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸à¹à¸à¸à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸¡à¹à¸à¸£à¹à¸à¸à¸à¸à¸à¸à¸¸à¸ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸°à¸à¸¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸¡à¹à¸à¸£à¹à¸à¸à¸à¸à¸à¸à¸¸à¸ à¸à¸¸à¸à¸¢à¸±à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸à¸à¸³à¸à¸à¹à¸«à¸¡à¹à¸à¸µà¹à¸à¸à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸¡à¹à¸à¸£à¹à¸à¸à¸à¸à¸à¸à¸¸à¸
+permissions-site-microphone-disable-label =
+ .label = à¸à¸´à¸à¸à¸±à¹à¸à¸à¸³à¸à¸à¹à¸«à¸¡à¹à¸à¸µà¹à¸à¸à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸¡à¹à¸à¸£à¹à¸à¸à¸à¸à¸à¸à¸¸à¸
+permissions-site-microphone-disable-desc = à¸à¸µà¹à¸à¸°à¸à¹à¸à¸à¸à¸±à¸à¹à¸¡à¹à¹à¸«à¹à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸ ๠à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¸£à¸°à¸à¸¸à¹à¸§à¹à¸à¹à¸²à¸à¸à¸à¸à¸à¸à¸à¸¸à¸à¸²à¸à¹à¸à¸·à¹à¸à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸¡à¹à¸à¸£à¹à¸à¸à¸à¸à¸à¸à¸¸à¸ à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸¡à¹à¸à¸£à¹à¸à¸à¸à¸à¸à¸à¸¸à¸à¸à¸²à¸à¸à¸³à¹à¸«à¹à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸²à¸à¸à¸¢à¹à¸²à¸à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸¡à¹à¸ªà¸¡à¸à¸¹à¸£à¸à¹
diff --git a/browser/browser/preferences/preferences.ftl b/browser/browser/preferences/preferences.ftl
new file mode 100644
index 00000000000..5d7d9ebfa08
--- /dev/null
+++ b/browser/browser/preferences/preferences.ftl
@@ -0,0 +1,1102 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = สà¹à¸à¸ªà¸±à¸à¸à¸²à¸ âà¹à¸¡à¹à¸à¸´à¸à¸à¸²à¸¡â à¹à¸«à¹à¸à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸§à¹à¸²à¸à¸¸à¸à¹à¸¡à¹à¸à¹à¸à¸à¸à¸²à¸£à¸à¸¹à¸à¸à¸´à¸à¸à¸²à¸¡
+do-not-track-learn-more = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+do-not-track-option-default-content-blocking-known =
+ .label = à¹à¸à¸à¸²à¸°à¹à¸¡à¸·à¹à¸ { -brand-short-name } à¸à¸¹à¸à¸à¸±à¹à¸à¹à¸«à¹à¸à¸´à¸à¸à¸±à¹à¸à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸à¸µà¹à¸£à¸¹à¹à¸à¸±à¸
+do-not-track-option-always =
+ .label = à¹à¸ªà¸¡à¸
+settings-page-title = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²
+# 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 = à¸à¹à¸à¸«à¸²à¹à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²
+managed-notice = à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸à¸¹à¸à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸¢à¸à¸à¸à¹à¸à¸£à¸à¸à¸à¸à¸¸à¸
+category-list =
+ .aria-label = หมวà¸à¸«à¸¡à¸¹à¹
+pane-general-title = à¸à¸±à¹à¸§à¹à¸
+category-general =
+ .tooltiptext = { pane-general-title }
+pane-home-title = หà¸à¹à¸²à¹à¸£à¸
+category-home =
+ .tooltiptext = { pane-home-title }
+pane-search-title = à¸à¹à¸à¸«à¸²
+category-search =
+ .tooltiptext = { pane-search-title }
+pane-privacy-title = à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸¥à¸°à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย
+category-privacy =
+ .tooltiptext = { pane-privacy-title }
+pane-sync-title3 = à¸à¸²à¸£à¸à¸´à¸à¸à¹
+category-sync3 =
+ .tooltiptext = { pane-sync-title3 }
+pane-experimental-title = à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸à¸¥à¸à¸à¸à¸à¸ { -brand-short-name }
+category-experimental =
+ .tooltiptext = à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸à¸¥à¸à¸à¸à¸à¸ { -brand-short-name }
+pane-experimental-subtitle = à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸à¸à¹à¸§à¸¢à¸à¸§à¸²à¸¡à¸£à¸°à¸¡à¸±à¸à¸£à¸°à¸§à¸±à¸
+pane-experimental-search-results-header = à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸à¸¥à¸à¸à¸à¸à¸ { -brand-short-name }: à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸à¸à¹à¸§à¸¢à¸à¸§à¸²à¸¡à¸£à¸°à¸¡à¸±à¸à¸£à¸°à¸§à¸±à¸
+pane-experimental-description2 = à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸±à¹à¸à¸ªà¸¹à¸à¸à¸²à¸à¸ªà¹à¸à¸à¸¥à¸à¹à¸à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸«à¸£à¸·à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸ { -brand-short-name } à¹à¸à¹
+pane-experimental-reset =
+ .label = à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+ .accesskey = R
+help-button-label = à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸à¸ { -brand-short-name }
+addons-button-label = สà¹à¸§à¸à¸à¸¢à¸²à¸¢à¹à¸¥à¸°à¸à¸¸à¸à¸à¸à¹à¸à¹à¸
+focus-search =
+ .key = f
+close-button =
+ .aria-label = à¸à¸´à¸
+
+## Browser Restart Dialog
+
+feature-enable-requires-restart = { -brand-short-name } à¸à¹à¸à¸à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸«à¸¡à¹à¹à¸à¸·à¹à¸à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸µà¹
+feature-disable-requires-restart = { -brand-short-name } à¸à¹à¸à¸à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸«à¸¡à¹à¹à¸à¸·à¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸µà¹
+should-restart-title = à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸ { -brand-short-name } à¹à¸«à¸¡à¹
+should-restart-ok = à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸ { -brand-short-name } à¹à¸«à¸¡à¹à¸à¸à¸à¸à¸µà¹
+cancel-no-restart-button = ยà¸à¹à¸¥à¸´à¸
+restart-later = à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸«à¸¡à¹à¹à¸à¸ ายหลัà¸
+
+## Extension Control Notifications
+##
+## These strings are used to inform the user
+## about changes made by extensions to browser settings.
+##
+##
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-controlled-password-saving = สà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡
{ $name } à¸à¸³à¸¥à¸±à¸à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸µà¹
+# This string is shown to notify the user that their notifications permission
+# is being controlled by an extension.
+extension-controlled-web-notifications = สà¹à¸§à¸à¸à¸¢à¸²à¸¢
{ $name } à¸à¸³à¸¥à¸±à¸à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸µà¹
+# This string is shown to notify the user that Container Tabs
+# are being enabled by an extension.
+extension-controlled-privacy-containers = สà¹à¸§à¸à¸à¸¢à¸²à¸¢
{ $name } à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥
+# This string is shown to notify the user that their content blocking "All Detected Trackers"
+# preferences are being controlled by an extension.
+extension-controlled-websites-content-blocking-all-trackers = สà¹à¸§à¸à¸à¸¢à¸²à¸¢
{ $name } à¸à¸³à¸¥à¸±à¸à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸µà¹
+# This string is shown to notify the user that their proxy configuration preferences
+# are being controlled by an extension.
+extension-controlled-proxy-config = สà¹à¸§à¸à¸à¸¢à¸²à¸¢
{ $name } à¸à¸³à¸¥à¸±à¸à¸à¸§à¸à¸à¸¸à¸¡à¸§à¸´à¸à¸µà¸à¸µà¹ { -brand-short-name } à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¸à¸à¸´à¸à¹à¸à¸à¸£à¹à¹à¸à¹à¸
+# This string is shown after the user disables an extension to notify the user
+# how to enable an extension that they disabled.
+#
+#
will be replaced with Add-ons icon
+#
will be replaced with Menu icon
+extension-controlled-enable = à¹à¸à¸·à¹à¸à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢ à¹à¸à¸¢à¸±à¸
สà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡ à¹à¸
à¹à¸¡à¸à¸¹
+
+## Preferences UI Search Results
+
+search-results-header = à¸à¸¥à¸à¸²à¸£à¸à¹à¸à¸«à¸²
+# `` will be replaced by the search term.
+search-results-empty-message2 = à¸à¸à¸à¸ ัย! à¹à¸¡à¹à¸¡à¸µà¸à¸¥à¸¥à¸±à¸à¸à¹à¸ªà¸³à¸«à¸£à¸±à¸ ââ à¹à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²
+search-results-help-link = à¸à¹à¸à¸à¸à¸²à¸£à¸à¸§à¸²à¸¡à¸à¹à¸§à¸¢à¹à¸«à¸¥à¸·à¸? à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡ à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸à¸ { -brand-short-name }
+
+## General Section
+
+startup-header = à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸
+always-check-default =
+ .label = à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸ªà¸¡à¸à¸§à¹à¸² { -brand-short-name } à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹
+ .accesskey = à¸
+is-default = { -brand-short-name } à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸à¸à¸°à¸à¸µà¹
+is-not-default = { -brand-short-name } à¹à¸¡à¹à¹à¸à¹à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¸à¸¸à¸
+set-as-my-default-browser =
+ .label = à¸à¸³à¹à¸«à¹à¹à¸à¹à¸à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸â¦
+ .accesskey = à¸
+startup-restore-previous-session =
+ .label = à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¸§à¸²à¸£à¸°à¸à¹à¸à¸à¸«à¸à¹à¸²
+ .accesskey = ร
+startup-restore-windows-and-tabs =
+ .label = à¹à¸à¸´à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸¥à¸°à¹à¸à¹à¸à¸à¹à¸à¸à¸«à¸à¹à¸²
+ .accesskey = à¸
+startup-restore-warn-on-quit =
+ .label = à¹à¸à¸·à¸à¸à¸à¸¸à¸à¹à¸¡à¸·à¹à¸à¸à¸à¸à¸à¸²à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹
+disable-extension =
+ .label = à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢
+tabs-group-header = à¹à¸à¹à¸
+ctrl-tab-recently-used-order =
+ .label = Ctrl+Tab à¹à¸à¸·à¹à¸à¸ªà¸¥à¸±à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¹à¸à¸à¸²à¸¡à¸¥à¸³à¸à¸±à¸à¸à¸µà¹à¹à¸à¹à¸¥à¹à¸²à¸ªà¸¸à¸
+ .accesskey = T
+open-new-link-as-tabs =
+ .label = à¹à¸à¸´à¸à¸¥à¸´à¸à¸à¹à¹à¸à¹à¸à¹à¸à¹à¸à¸à¸à¸µà¹à¸à¸°à¹à¸à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸«à¸¡à¹
+ .accesskey = à¸
+warn-on-close-multiple-tabs =
+ .label = à¹à¸à¸·à¸à¸à¸à¸¸à¸à¹à¸¡à¸·à¹à¸à¸à¸³à¸¥à¸±à¸à¸à¸°à¸à¸´à¸à¸«à¸¥à¸²à¸¢à¹à¸à¹à¸
+ .accesskey = à¸
+confirm-on-close-multiple-tabs =
+ .label = ยืà¸à¸¢à¸±à¸à¸à¹à¸à¸à¸à¸´à¸à¸«à¸¥à¸²à¸¢à¹à¸à¹à¸
+ .accesskey = ย
+# 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 = ยืà¸à¸¢à¸±à¸à¸à¹à¸à¸à¸à¸à¸à¸à¹à¸§à¸¢ { $quitKey }
+ .accesskey = à¸
+warn-on-open-many-tabs =
+ .label = à¹à¸à¸·à¸à¸à¸à¸¸à¸à¹à¸¡à¸·à¹à¸à¸à¸²à¸£à¹à¸à¸´à¸à¸«à¸¥à¸²à¸¢à¹à¸à¹à¸à¸à¸²à¸à¸à¸³à¹à¸«à¹ { -brand-short-name } à¸à¹à¸²à¸¥à¸
+ .accesskey = à¸
+switch-to-new-tabs =
+ .label = à¹à¸¡à¸·à¹à¸à¸à¸¸à¸à¹à¸à¸´à¸à¸¥à¸´à¸à¸à¹ รูà¸à¸ าภหรืà¸à¸ªà¸·à¹à¸à¹à¸à¹à¸à¹à¸à¹à¸«à¸¡à¹ สลัà¸à¹à¸à¸à¸µà¹à¹à¸à¹à¸à¸à¸±à¹à¸à¸à¸±à¸à¸à¸µ
+ .accesskey = h
+show-tabs-in-taskbar =
+ .label = à¹à¸ªà¸à¸à¸à¸±à¸§à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸à¹à¸à¹à¸à¸à¸à¸²à¸ Windows
+ .accesskey = ส
+browser-containers-enabled =
+ .label = à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¹à¸à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥
+ .accesskey = ย
+browser-containers-learn-more = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+browser-containers-settings =
+ .label = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²â¦
+ .accesskey = à¸
+containers-disable-alert-title = à¸à¸´à¸à¹à¸à¹à¸à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸±à¹à¸à¸«à¸¡à¸?
+containers-disable-alert-desc = หาà¸à¸à¸¸à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¹à¸à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¸à¸µà¹ { $tabCount } à¹à¸à¹à¸à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸°à¸à¸¹à¸à¸à¸´à¸ à¸à¸¸à¸à¹à¸à¹à¹à¸à¸«à¸£à¸·à¸à¹à¸¡à¹à¸§à¹à¸²à¸à¹à¸à¸à¸à¸²à¸£à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¹à¸à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥?
+containers-disable-alert-ok-button = à¸à¸´à¸ { $tabCount } à¹à¸à¹à¸à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥
+containers-disable-alert-cancel-button = à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¹à¸à¹à¸
+containers-remove-alert-title = à¹à¸à¸²à¸à¸²à¸£à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸à¸?
+# Variables:
+# $count (Number) - Number of tabs that will be closed.
+containers-remove-alert-msg = หาà¸à¸à¸¸à¸à¹à¸à¸²à¸à¸²à¸£à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸à¸à¸à¸à¸à¸à¸µà¹ { $count } à¹à¸à¹à¸à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸°à¸à¸¹à¸à¸à¸´à¸ à¸à¸¸à¸à¹à¸à¹à¹à¸à¸«à¸£à¸·à¸à¹à¸¡à¹à¸§à¹à¸²à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸²à¸à¸²à¸£à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸à¸?
+containers-remove-ok-button = à¹à¸à¸²à¸à¸²à¸£à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸à¸
+containers-remove-cancel-button = à¹à¸¡à¹à¹à¸à¸²à¸à¸²à¸£à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸à¸
+
+## General Section - Language & Appearance
+
+language-and-appearance-header = ภาษาà¹à¸¥à¸°à¸¥à¸±à¸à¸©à¸à¸°à¸à¸µà¹à¸à¸£à¸²à¸à¸
+fonts-and-colors-header = à¹à¸à¸à¸à¸±à¸à¸©à¸£à¹à¸¥à¸°à¸ªà¸µ
+default-font = à¹à¸à¸à¸à¸±à¸à¸©à¸£à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+ .accesskey = à¸
+default-font-size = à¸à¸à¸²à¸
+ .accesskey = à¸
+advanced-fonts =
+ .label = à¸à¸±à¹à¸à¸ªà¸¹à¸â¦
+ .accesskey = à¸
+colors-settings =
+ .label = สีâ¦
+ .accesskey = ส
+# Zoom is a noun, and the message is used as header for a group of options
+preferences-zoom-header = à¸à¸¹à¸¡
+preferences-default-zoom = à¸à¸¹à¸¡à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+ .accesskey = ร
+preferences-default-zoom-value =
+ .label = { $percentage }%
+preferences-zoom-text-only =
+ .label = à¸à¸¹à¸¡à¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸à¹à¸²à¸à¸±à¹à¸
+ .accesskey = à¸
+language-header = ภาษา
+choose-language-description = à¹à¸¥à¸·à¸à¸à¸ าษาà¸à¸µà¹à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸à¸²à¸£à¹à¸ªà¸à¸à¸à¸¥à¸«à¸à¹à¸²
+choose-button =
+ .label = à¹à¸¥à¸·à¸à¸â¦
+ .accesskey = ล
+choose-browser-language-description = à¹à¸¥à¸·à¸à¸à¸ าษาà¸à¸µà¹à¹à¸à¹à¹à¸ªà¸à¸à¹à¸¡à¸à¸¹, à¸à¹à¸à¸à¸§à¸²à¸¡ à¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¸à¸²à¸ { -brand-short-name }
+manage-browser-languages-button =
+ .label = à¸à¸±à¹à¸à¸à¸²à¸à¹à¸¥à¸·à¸à¸â¦
+ .accesskey = à¸
+confirm-browser-language-change-description = à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸ { -brand-short-name } à¹à¸«à¸¡à¹à¹à¸à¸·à¹à¸à¹à¸à¹à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¹à¸«à¸¥à¹à¸²à¸à¸µà¹
+confirm-browser-language-change-button = à¸à¸³à¹à¸à¹à¸à¹à¹à¸¥à¹à¸§à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸«à¸¡à¹
+translate-web-pages =
+ .label = à¹à¸à¸¥à¹à¸à¸·à¹à¸à¸«à¸²à¹à¸§à¹à¸
+ .accesskey = à¸
+fx-translate-web-pages = { -translations-brand-name }
+# The
element is replaced by the logo of the provider
+# used to provide machine translations for web pages.
+translate-attribution = à¹à¸à¸¥à¹à¸à¸¢
+translate-exceptions =
+ .label = à¸à¹à¸à¸¢à¸à¹à¸§à¹à¸â¦
+ .accesskey = à¸
+# Variables:
+# $localeName (string) - Localized name of the locale to be used.
+use-system-locale =
+ .label = à¹à¸à¹à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸£à¸°à¸à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£à¸ªà¸³à¸«à¸£à¸±à¸ â{ $localeName }â à¸à¸à¸à¸à¸¸à¸à¹à¸à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸£à¸¹à¸à¹à¸à¸à¸§à¸±à¸à¸à¸µà¹ à¹à¸§à¸¥à¸² à¸à¸±à¸§à¹à¸¥à¸ à¹à¸¥à¸°à¸à¸²à¸£à¸§à¸±à¸à¸à¹à¸²
+check-user-spelling =
+ .label = à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸²à¸£à¸ªà¸°à¸à¸à¸à¸³à¸à¸à¸à¸à¸¸à¸à¹à¸¡à¸·à¹à¸à¸à¸¸à¸à¸à¸´à¸¡à¸à¹
+ .accesskey = à¸
+
+## General Section - Files and Applications
+
+files-and-applications-title = à¹à¸à¸¥à¹à¹à¸¥à¸°à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸
+download-header = à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+download-save-to =
+ .label = à¸à¸±à¸à¸à¸¶à¸à¹à¸à¸¥à¹à¹à¸à¸¢à¸±à¸
+ .accesskey = à¸
+download-choose-folder =
+ .label =
+ { PLATFORM() ->
+ [macos] à¹à¸¥à¸·à¸à¸â¦
+ *[other] à¹à¸£à¸µà¸¢à¸à¸à¸¹â¦
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] ล
+ *[other] ร
+ }
+download-always-ask-where =
+ .label = à¸à¸²à¸¡à¸à¸¸à¸à¹à¸ªà¸¡à¸à¸§à¹à¸²à¸à¸°à¸à¸±à¸à¸à¸¶à¸à¹à¸à¸¥à¹à¸à¸µà¹à¹à¸«à¸
+ .accesskey = à¸
+applications-header = à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸
+applications-description = à¹à¸¥à¸·à¸à¸à¸§à¸´à¸à¸µà¸à¸µà¹ { -brand-short-name } à¸à¸±à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸¥à¹à¸à¸µà¹à¸à¸¸à¸à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸à¸²à¸à¹à¸§à¹à¸à¸«à¸£à¸·à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸µà¹à¸à¸¸à¸à¹à¸à¹à¸à¸à¸°à¹à¸£à¸µà¸¢à¸à¸à¸¹
+applications-filter =
+ .placeholder = à¸à¹à¸à¸«à¸²à¸à¸à¸´à¸à¹à¸à¸¥à¹à¸«à¸£à¸·à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸
+applications-type-column =
+ .label = à¸à¸à¸´à¸à¹à¸à¸·à¹à¸à¸«à¸²
+ .accesskey = à¸
+applications-action-column =
+ .label = à¸à¸²à¸£à¸à¸£à¸°à¸à¸³
+ .accesskey = à¸
+# Variables:
+# $extension (String) - file extension (e.g .TXT)
+applications-file-ending = à¹à¸à¸¥à¹ { $extension }
+applications-action-save =
+ .label = à¸à¸±à¸à¸à¸¶à¸à¹à¸à¸¥à¹
+# Variables:
+# $app-name (String) - Name of an application (e.g Adobe Acrobat)
+applications-use-app =
+ .label = à¹à¸à¹ { $app-name }
+# Variables:
+# $app-name (String) - Name of an application (e.g Adobe Acrobat)
+applications-use-app-default =
+ .label = à¹à¸à¹ { $app-name } (à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸)
+applications-use-os-default =
+ .label =
+ { PLATFORM() ->
+ [macos] à¹à¸à¹ macOS à¹à¸à¹à¸à¹à¸à¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+ [windows] à¹à¸à¹ Windows à¹à¸à¹à¸à¹à¸à¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+ *[other] à¹à¸à¹à¹à¸à¸à¸à¸à¸à¸£à¸°à¸à¸à¹à¸à¹à¸à¹à¸à¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+ }
+applications-use-other =
+ .label = à¹à¸à¹à¸à¸±à¸§à¸à¸·à¹à¸â¦
+applications-select-helper = à¹à¸¥à¸·à¸à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸±à¸§à¸à¹à¸§à¸¢
+applications-manage-app =
+ .label = รายละà¹à¸à¸µà¸¢à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸â¦
+applications-always-ask =
+ .label = à¸à¸²à¸¡à¹à¸ªà¸¡à¸
+# 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 = à¹à¸à¹ { $plugin-name } (à¹à¸ { -brand-short-name })
+applications-open-inapp =
+ .label = à¹à¸à¸´à¸à¹à¸ { -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 }
+
+##
+
+drm-content-header = à¹à¸à¸·à¹à¸à¸«à¸² Digital Rights Management (DRM)
+play-drm-content =
+ .label = à¹à¸¥à¹à¸à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸µà¹à¸à¸¹à¸à¸à¸§à¸à¸à¸¸à¸¡à¹à¸à¸¢ DRM
+ .accesskey = ล
+play-drm-content-learn-more = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+update-application-title = à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸ { -brand-short-name }
+update-application-description = à¸à¸ { -brand-short-name } à¹à¸«à¹à¹à¸à¹à¸à¸£à¸¸à¹à¸à¸¥à¹à¸²à¸ªà¸¸à¸à¹à¸à¸·à¹à¸à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸, à¹à¸ªà¸à¸µà¸¢à¸£à¸ าภà¹à¸¥à¸°à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸µà¹à¸à¸µà¸à¸µà¹à¸ªà¸¸à¸
+update-application-version = รุà¹à¸ { $version } มีà¸à¸°à¹à¸£à¹à¸«à¸¡à¹
+update-history =
+ .label = à¹à¸ªà¸à¸à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸â¦
+ .accesskey = ส
+update-application-allow-description = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ { -brand-short-name }
+update-application-auto =
+ .label = à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´ (à¹à¸à¸°à¸à¸³)
+ .accesskey = à¸
+update-application-check-choose =
+ .label = à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¹à¸à¹à¹à¸«à¹à¸à¸¸à¸à¹à¸¥à¸·à¸à¸à¸§à¹à¸²à¸à¸°à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹
+ .accesskey = ว
+update-application-manual =
+ .label = à¹à¸¡à¹à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¹à¸ªà¸¡à¸ (à¹à¸¡à¹à¹à¸à¸°à¸à¸³)
+ .accesskey = ม
+update-application-background-enabled =
+ .label = à¹à¸¡à¸·à¹à¸ { -brand-short-name } à¹à¸¡à¹à¹à¸à¹à¸à¸³à¸à¸²à¸
+ .accesskey = ม
+update-application-warning-cross-user-setting = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸µà¹à¸à¸°à¸à¸³à¹à¸à¹à¸à¹à¸à¸±à¸à¸à¸±à¸à¸à¸µ Windows à¸à¸±à¹à¸à¸«à¸¡à¸ à¹à¸¥à¸°à¹à¸à¸£à¹à¸à¸¥à¹ { -brand-short-name } à¹à¸à¸à¸à¸°à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ { -brand-short-name }
+update-application-use-service =
+ .label = à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸à¸«à¸¥à¸±à¸à¹à¸à¸·à¹à¸à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸
+ .accesskey = à¸
+update-setting-write-failure-title2 = à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸
+# 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 } à¸à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸¥à¸°à¹à¸¡à¹à¹à¸à¹à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸µà¹ à¹à¸à¸£à¸à¸à¸£à¸²à¸à¸§à¹à¸²à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¸à¸µà¹à¸à¸³à¹à¸à¹à¸à¸à¹à¸à¸à¹à¸à¹à¸£à¸±à¸à¸ªà¸´à¸à¸à¸´à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¹à¸à¸µà¸¢à¸à¹à¸à¸¢à¸±à¸à¹à¸à¸¥à¹à¸à¹à¸²à¸à¸¥à¹à¸²à¸ à¸à¸¸à¸à¸«à¸£à¸·à¸à¸à¸¹à¹à¸à¸¹à¹à¸¥à¸£à¸°à¸à¸à¸à¸²à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¹à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¹à¸à¹à¸§à¸¢à¸à¸²à¸£à¸¡à¸à¸à¸ªà¸´à¸à¸à¸´à¹à¹à¸«à¹à¸à¸±à¸à¸à¸¥à¸¸à¹à¸¡à¸à¸¹à¹à¹à¸à¹à¹à¸à¸·à¹à¸à¹à¸«à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸§à¸à¸à¸¸à¸¡à¹à¸à¸¥à¹à¸à¸µà¹à¹à¸à¹à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸¡à¸à¸µà¹
+
+ à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸µà¸¢à¸à¹à¸à¸¢à¸±à¸à¹à¸à¸¥à¹: { $path }
+update-in-progress-title = à¸à¸³à¸¥à¸±à¸à¸à¸±à¸à¹à¸à¸
+update-in-progress-message = à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸«à¹ { -brand-short-name } à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸à¸à¸±à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¸à¸µà¹à¸«à¸£à¸·à¸à¹à¸¡à¹?
+update-in-progress-ok-button = &ละà¸à¸´à¹à¸
+# 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 = &à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸
+
+## General Section - Performance
+
+performance-title = à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸
+performance-use-recommended-settings-checkbox =
+ .label = à¹à¸à¹à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¸µà¹à¹à¸à¸°à¸à¸³
+ .accesskey = à¸
+performance-use-recommended-settings-desc = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¹à¸«à¸¥à¹à¸²à¸à¸µà¹à¸à¸¹à¸à¸à¸£à¸±à¸à¹à¸«à¹à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡à¸à¸±à¸à¸®à¸²à¸£à¹à¸à¹à¸§à¸£à¹à¹à¸¥à¸°à¸£à¸°à¸à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£à¸à¸à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸
+performance-settings-learn-more = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+performance-allow-hw-accel =
+ .label = à¹à¸à¹à¸à¸²à¸£à¹à¸£à¹à¸à¸à¸§à¸²à¸¡à¹à¸£à¹à¸§à¸à¹à¸§à¸¢à¸®à¸²à¸£à¹à¸à¹à¸§à¸£à¹à¹à¸¡à¸·à¹à¸à¸à¸£à¹à¸à¸¡à¹à¸à¹à¸à¸²à¸
+ .accesskey = à¸
+performance-limit-content-process-option = à¸à¸µà¸à¸à¸³à¸à¸±à¸à¹à¸à¸£à¹à¸à¸ªà¹à¸à¸·à¹à¸à¸«à¸²
+ .accesskey = à¸
+performance-limit-content-process-enabled-desc = à¹à¸à¸£à¹à¸à¸ªà¹à¸à¸·à¹à¸à¸«à¸²à¸à¸µà¹à¹à¸à¸´à¹à¸¡à¸à¸¶à¹à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸£à¸±à¸à¸à¸£à¸¸à¸à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¹à¸¡à¸·à¹à¸à¹à¸à¹à¸«à¸¥à¸²à¸¢à¹à¸à¹à¸ à¹à¸à¹à¸à¸°à¹à¸à¹à¸«à¸à¹à¸§à¸¢à¸à¸§à¸²à¸¡à¸à¸³à¸¡à¸²à¸à¸à¸¶à¹à¸à¹à¸à¹à¸à¸à¸±à¸
+performance-limit-content-process-blocked-desc = à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸³à¸à¸§à¸à¹à¸à¸£à¹à¸à¸ªà¹à¸à¸·à¹à¸à¸«à¸²à¸à¸³à¹à¸à¹à¹à¸à¸à¸²à¸°à¸à¸±à¸ { -brand-short-name } à¹à¸à¸à¸«à¸¥à¸²à¸¢à¹à¸à¸£à¹à¸à¸ª à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¸§à¸´à¸à¸µà¸à¸£à¸§à¸à¸ªà¸à¸à¸§à¹à¸²à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸«à¸¥à¸²à¸¢à¹à¸à¸£à¹à¸à¸ªà¸à¸¹à¸à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸¢à¸¹à¹à¸«à¸£à¸·à¸à¹à¸¡à¹
+# Variables:
+# $num - default value of the `dom.ipc.processCount` pref.
+performance-default-content-process-count =
+ .label = { $num } (à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸)
+
+## General Section - Browsing
+
+browsing-title = à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹
+browsing-use-autoscroll =
+ .label = à¹à¸à¹à¸à¸²à¸£à¹à¸¥à¸·à¹à¸à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+ .accesskey = à¸
+browsing-use-smooth-scrolling =
+ .label = à¹à¸à¹à¸à¸²à¸£à¹à¸¥à¸·à¹à¸à¸à¹à¸à¸à¸¥à¸·à¹à¸à¹à¸«à¸¥
+ .accesskey = à¸
+browsing-use-onscreen-keyboard =
+ .label = à¹à¸ªà¸à¸à¹à¸à¹à¸à¸à¸´à¸¡à¸à¹à¹à¸à¸à¸ªà¸±à¸¡à¸à¸±à¸ªà¹à¸¡à¸·à¹à¸à¸à¸³à¹à¸à¹à¸
+ .accesskey = à¸
+browsing-use-cursor-navigation =
+ .label = à¹à¸à¹à¸à¸¸à¹à¸¡à¸¥à¸¹à¸à¸¨à¸£à¹à¸à¸·à¹à¸à¸à¸³à¸à¸²à¸à¸ ายà¹à¸à¸«à¸à¹à¸²à¹à¸ªà¸¡à¸
+ .accesskey = à¸
+browsing-search-on-start-typing =
+ .label = à¸à¹à¸à¸«à¸²à¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸¡à¸·à¹à¸à¸à¸¸à¸à¹à¸£à¸´à¹à¸¡à¸à¸´à¸¡à¸à¹
+ .accesskey = ว
+browsing-picture-in-picture-toggle-enabled =
+ .label = à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸²à¸£à¸à¸§à¸à¸à¸¸à¸¡à¸§à¸´à¸à¸µà¹à¸à¸à¸µà¹à¹à¸¥à¹à¸à¸à¸§à¸à¸à¸¹à¹
+ .accesskey = à¸
+browsing-picture-in-picture-learn-more = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+browsing-media-control =
+ .label = à¸à¸§à¸à¸à¸¸à¸¡à¸ªà¸·à¹à¸à¸à¹à¸²à¸à¹à¸à¹à¸à¸à¸´à¸¡à¸à¹ à¸à¸¸à¸à¸«à¸¹à¸à¸±à¸ หรืà¸à¸ªà¹à¸§à¸à¸à¸´à¸à¸à¹à¸à¹à¸ªà¸¡à¸·à¸à¸
+ .accesskey = า
+browsing-media-control-learn-more = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+browsing-cfr-recommendations =
+ .label = à¹à¸à¸°à¸à¸³à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸à¸°à¸à¸µà¹à¸à¸¸à¸à¹à¸£à¸µà¸¢à¸à¸à¸¹
+ .accesskey = à¸
+browsing-cfr-features =
+ .label = à¹à¸à¸°à¸à¸³à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸à¸°à¸à¸µà¹à¸à¸¸à¸à¹à¸£à¸µà¸¢à¸à¸à¸¹
+ .accesskey = à¸
+browsing-cfr-recommendations-learn-more = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+## General Section - Proxy
+
+network-settings-title = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢
+network-proxy-connection-description = à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸§à¸´à¸à¸µà¸à¸µà¹ { -brand-short-name } à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¸à¸à¸´à¸à¹à¸à¸à¸£à¹à¹à¸à¹à¸
+network-proxy-connection-learn-more = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+network-proxy-connection-settings =
+ .label = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²â¦
+ .accesskey = à¸
+
+## Home Section
+
+home-new-windows-tabs-header = หà¸à¹à¸²à¸à¹à¸²à¸à¹à¸¥à¸°à¹à¸à¹à¸à¹à¸«à¸¡à¹
+home-new-windows-tabs-description2 = à¹à¸¥à¸·à¸à¸à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸¸à¸à¹à¸«à¹à¸à¹à¸¡à¸·à¹à¸à¸à¸¸à¸à¹à¸à¸´à¸à¸«à¸à¹à¸²à¹à¸£à¸, หà¸à¹à¸²à¸à¹à¸²à¸à¹à¸«à¸¡à¹ à¹à¸¥à¸°à¹à¸à¹à¸à¹à¸«à¸¡à¹à¸à¸à¸à¸à¸¸à¸
+
+## Home Section - Home Page Customization
+
+home-homepage-mode-label = หà¸à¹à¸²à¹à¸£à¸à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸«à¸¡à¹
+home-newtabs-mode-label = à¹à¸à¹à¸à¹à¸«à¸¡à¹
+home-restore-defaults =
+ .label = à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+ .accesskey = ร
+# "Firefox" should be treated as a brand and kept in English,
+# while "Home" and "(Default)" can be localized.
+home-mode-choice-default =
+ .label = หà¸à¹à¸²à¹à¸£à¸ Firefox (à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸)
+home-mode-choice-custom =
+ .label = URL à¸à¸µà¹à¸à¸³à¸«à¸à¸à¹à¸à¸â¦
+home-mode-choice-blank =
+ .label = หà¸à¹à¸²à¸§à¹à¸²à¸
+home-homepage-custom-url =
+ .placeholder = วาภ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] à¹à¸à¹à¸«à¸à¹à¸²à¸à¸±à¸à¸à¸¸à¸à¸±à¸
+ *[other] à¹à¸à¹à¸«à¸à¹à¸²à¸à¸±à¸à¸à¸¸à¸à¸±à¸
+ }
+ .accesskey = à¸
+choose-bookmark =
+ .label = à¹à¸à¹à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²â¦
+ .accesskey = à¸
+
+## Home Section - Firefox Home Content Customization
+
+home-prefs-content-header = à¹à¸à¸·à¹à¸à¸«à¸²à¸«à¸à¹à¸²à¹à¸£à¸ Firefox
+home-prefs-content-description = à¹à¸¥à¸·à¸à¸à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸µà¹à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸«à¸à¹à¸²à¸à¸à¸«à¸à¹à¸²à¹à¸£à¸ Firefox à¸à¸à¸à¸à¸¸à¸
+home-prefs-search-header =
+ .label = à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸§à¹à¸
+home-prefs-topsites-header =
+ .label = à¹à¸à¸à¹à¹à¸à¹à¸
+home-prefs-topsites-description = à¹à¸à¸à¹à¸à¸µà¹à¸à¸¸à¸à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡à¸¡à¸²à¸à¸à¸µà¹à¸ªà¸¸à¸
+home-prefs-topsites-by-option-sponsored =
+ .label = à¹à¸à¸à¹à¹à¸à¹à¸à¸à¸µà¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸
+home-prefs-shortcuts-header =
+ .label = à¸à¸²à¸à¸¥à¸±à¸
+home-prefs-shortcuts-description = à¹à¸à¸à¹à¸à¸µà¹à¸à¸¸à¸à¸à¸±à¸à¸à¸¶à¸à¸«à¸£à¸·à¸à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡
+home-prefs-shortcuts-by-option-sponsored =
+ .label = à¸à¸²à¸à¸¥à¸±à¸à¸à¸µà¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸
+
+## Variables:
+## $provider (String): Name of the corresponding content provider, e.g "Pocket".
+
+home-prefs-recommended-by-header =
+ .label = à¹à¸à¸°à¸à¸³à¹à¸à¸¢ { $provider }
+home-prefs-recommended-by-description-update = à¹à¸à¸·à¹à¸à¸«à¸²à¸ªà¸¸à¸à¸à¸´à¹à¸¨à¸©à¸à¸²à¸à¹à¸§à¹à¸à¸à¸±à¹à¸§à¹à¸¥à¸à¸à¸µà¹à¸à¸±à¸à¸ªà¸£à¸£à¸¡à¸²à¹à¸à¸¢ { $provider }
+home-prefs-recommended-by-description-new = à¹à¸à¸·à¹à¸à¸«à¸²à¸ªà¸¸à¸à¸à¸´à¹à¸¨à¸©à¸à¸µà¹à¸à¸±à¸à¸ªà¸£à¸£à¹à¸à¸¢ { $provider } à¸à¸¶à¹à¸à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸«à¸à¸¶à¹à¸à¸à¸à¸à¸à¸£à¸°à¸à¸¹à¸¥ { -brand-product-name }
+
+##
+
+home-prefs-recommended-by-learn-more = วิà¸à¸µà¸à¸²à¸£à¸à¸³à¸à¸²à¸
+home-prefs-recommended-by-option-sponsored-stories =
+ .label = à¹à¸£à¸·à¹à¸à¸à¸£à¸²à¸§à¸à¸µà¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸
+home-prefs-highlights-header =
+ .label = รายà¸à¸²à¸£à¹à¸à¹à¸
+home-prefs-highlights-description = à¸à¸²à¸£à¸à¸±à¸à¹à¸¥à¸·à¸à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸¸à¸à¹à¸à¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹à¸«à¸£à¸·à¸à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡
+home-prefs-highlights-option-visited-pages =
+ .label = หà¸à¹à¸²à¸à¸µà¹à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡à¹à¸¥à¹à¸§
+home-prefs-highlights-options-bookmarks =
+ .label = à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+home-prefs-highlights-option-most-recent-download =
+ .label = à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸¥à¹à¸²à¸ªà¸¸à¸
+home-prefs-highlights-option-saved-to-pocket =
+ .label = หà¸à¹à¸²à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹à¹à¸ { -pocket-brand-name }
+home-prefs-recent-activity-header =
+ .label = à¸à¸´à¸à¸à¸£à¸£à¸¡à¸¥à¹à¸²à¸ªà¸¸à¸
+home-prefs-recent-activity-description = à¹à¸à¸à¹à¹à¸¥à¸°à¹à¸à¸·à¹à¸à¸«à¸²à¸¥à¹à¸²à¸ªà¸¸à¸à¸à¸µà¹à¸à¸±à¸à¸ªà¸£à¸£à¸¡à¸²
+# 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 = สà¹à¸§à¸à¸¢à¹à¸à¸¢
+home-prefs-snippets-description = à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¸à¸²à¸ { -vendor-short-name } à¹à¸¥à¸° { -brand-product-name }
+home-prefs-snippets-description-new = à¹à¸à¸¥à¹à¸à¸¥à¸±à¸à¹à¸¥à¸°à¸à¹à¸²à¸§à¸ªà¸²à¸£à¸à¸²à¸ { -vendor-short-name } à¹à¸¥à¸° { -brand-product-name }
+home-prefs-sections-rows-option =
+ .label = { $num } à¹à¸à¸§
+
+## Search Section
+
+search-bar-header = à¹à¸à¸à¸à¹à¸à¸«à¸²
+search-bar-hidden =
+ .label = à¹à¸à¹à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¸à¸²à¸
+search-bar-shown =
+ .label = à¹à¸à¸´à¹à¸¡à¹à¸à¸à¸à¹à¸à¸«à¸²à¹à¸à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸
+search-engine-default-header = à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+search-engine-default-desc-2 = à¸à¸µà¹à¸à¸·à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹à¹à¸¥à¸°à¹à¸à¸à¸à¹à¸à¸«à¸² à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¹à¸à¸¥à¸à¸à¹à¸§à¸¥à¸²
+search-engine-default-private-desc-2 = à¹à¸¥à¸·à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸·à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¸à¸²à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+search-separate-default-engine =
+ .label = à¹à¸à¹à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²à¸à¸µà¹à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+ .accesskey = U
+search-suggestions-header = à¸à¹à¸à¹à¸ªà¸à¸à¹à¸à¸°à¸à¸²à¸£à¸à¹à¸à¸«à¸²
+search-suggestions-desc = à¹à¸¥à¸·à¸à¸à¸§à¹à¸²à¸à¸°à¸à¸³à¹à¸«à¹à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²à¸à¸£à¸²à¸à¸à¸à¸¶à¹à¸à¸¡à¸²à¸à¸¢à¹à¸²à¸à¹à¸£
+search-suggestions-option =
+ .label = à¹à¸«à¹à¸à¹à¸à¹à¸ªà¸à¸à¹à¸à¸°à¸à¸²à¸£à¸à¹à¸à¸«à¸²
+ .accesskey = ห
+search-show-suggestions-url-bar-option =
+ .label = à¹à¸ªà¸à¸à¸à¹à¸à¹à¸ªà¸à¸à¹à¸à¸°à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸à¸à¸¥à¸¥à¸±à¸à¸à¹à¸à¸à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
+ .accesskey = ส
+# 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 = à¹à¸ªà¸à¸à¸à¹à¸à¹à¸ªà¸à¸à¹à¸à¸°à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸à¸³à¸«à¸à¹à¸²à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¸à¸¥à¸¥à¸±à¸à¸à¹à¸à¸à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
+search-show-suggestions-private-windows =
+ .label = à¹à¸ªà¸à¸à¸à¸³à¹à¸à¸°à¸à¸³à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+suggestions-addressbar-settings-generic2 = à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¹à¸à¹à¸ªà¸à¸à¹à¸à¸°à¸à¸²à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸·à¹à¸ à¹
+search-suggestions-cant-show = à¸à¹à¸à¹à¸ªà¸à¸à¹à¸à¸°à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸à¸°à¹à¸¡à¹à¹à¸ªà¸à¸à¹à¸à¸à¸¥à¸¥à¸±à¸à¸à¹à¸à¸à¸à¹à¸à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸¸à¸à¹à¸à¹à¸à¸³à¸«à¸à¸à¸à¹à¸² { -brand-short-name } à¹à¸«à¹à¹à¸¡à¹à¸à¸à¸à¸³à¸à¸£à¸°à¸§à¸±à¸à¸´à¹à¸ªà¸¡à¸
+search-one-click-header2 = à¸à¸²à¸à¸¥à¸±à¸à¸à¸²à¸£à¸à¹à¸à¸«à¸²
+search-one-click-desc = à¹à¸¥à¸·à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²à¸à¸²à¸à¹à¸¥à¸·à¸à¸à¸à¸µà¹à¸à¸°à¸à¸£à¸²à¸à¸à¸à¹à¸²à¸à¸¥à¹à¸²à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹à¹à¸¥à¸°à¹à¸à¸à¸à¹à¸à¸«à¸²à¹à¸¡à¸·à¹à¸à¸à¸¸à¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸³à¸ªà¸³à¸à¸±à¸
+search-choose-engine-column =
+ .label = à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²
+search-choose-keyword-column =
+ .label = à¸à¸³à¸ªà¸³à¸à¸±à¸
+search-restore-default =
+ .label = à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+ .accesskey = ร
+search-remove-engine =
+ .label = à¹à¸à¸²à¸à¸à¸
+ .accesskey = à¸
+search-add-engine =
+ .label = à¹à¸à¸´à¹à¸¡
+ .accesskey = à¸
+search-find-more-link = à¸à¹à¸à¸«à¸²à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+# This warning is displayed when the chosen keyword is already in use
+# ('Duplicate' is an adjective)
+search-keyword-warning-title = à¸à¸³à¸ªà¸³à¸à¸±à¸à¸à¹à¸³à¸à¸±à¸
+# Variables:
+# $name (String) - Name of a search engine.
+search-keyword-warning-engine = à¸à¸¸à¸à¹à¸à¹à¹à¸¥à¸·à¸à¸à¸à¸³à¸ªà¸³à¸à¸±à¸à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¸¢à¸¹à¹à¹à¸à¸¢ â{ $name }â à¹à¸à¸£à¸à¹à¸¥à¸·à¸à¸à¸à¸³à¸ªà¸³à¸à¸±à¸à¸à¸·à¹à¸
+search-keyword-warning-bookmark = à¸à¸¸à¸à¹à¸à¹à¹à¸¥à¸·à¸à¸à¸à¸³à¸ªà¸³à¸à¸±à¸à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¸¢à¸¹à¹à¹à¸à¸¢à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸² à¹à¸à¸£à¸à¹à¸¥à¸·à¸à¸à¸à¸³à¸ªà¸³à¸à¸±à¸à¸à¸·à¹à¸
+
+## Containers Section
+
+containers-back-button2 =
+ .aria-label = à¸à¸¥à¸±à¸à¹à¸à¸à¸µà¹à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²
+containers-header = à¹à¸à¹à¸à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥
+containers-add-button =
+ .label = à¹à¸à¸´à¹à¸¡à¸à¸²à¸£à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸«à¸¡à¹
+ .accesskey = à¸
+containers-new-tab-check =
+ .label = à¹à¸¥à¸·à¸à¸à¸à¸²à¸£à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¹à¸¥à¸°à¹à¸à¹à¸à¹à¸«à¸¡à¹
+ .accesskey = ล
+containers-settings-button =
+ .label = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²
+containers-remove-button =
+ .label = à¹à¸à¸²à¸à¸à¸
+
+## 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 = à¸à¸³à¹à¸§à¹à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸à¸±à¸à¸à¸¸à¸
+sync-signedout-description2 = à¸à¸£à¸°à¸ªà¸²à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸², à¸à¸£à¸°à¸§à¸±à¸à¸´, à¹à¸à¹à¸, รหัสà¸à¹à¸²à¸, สà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸£à¸°à¸«à¸§à¹à¸²à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸à¸à¸à¸¸à¸
+sync-signedout-account-signin3 =
+ .label = ลà¸à¸à¸·à¹à¸à¹à¸à¹à¸²à¹à¸à¸·à¹à¸à¸à¸´à¸à¸à¹â¦
+ .accesskey = à¸
+# This message contains two links and two icon images.
+# `
` - Android logo icon
+# `` - Link to Android Download
+# `
` - iOS logo icon
+# `` - 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 = à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸ Firefox สำหรัà¸
Android หรืà¸
iOS à¹à¸à¸·à¹à¸à¸à¸´à¸à¸à¹à¸à¸±à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸¡à¸·à¸à¸à¸·à¸à¸à¸à¸à¸à¸¸à¸
+
+## Firefox Account - Signed in
+
+sync-profile-picture =
+ .tooltiptext = à¹à¸à¸¥à¸µà¹à¸¢à¸à¸£à¸¹à¸à¹à¸à¸£à¹à¸à¸¥à¹
+sync-sign-out =
+ .label = ลà¸à¸à¸·à¹à¸à¸à¸à¸â¦
+ .accesskey = g
+sync-manage-account = à¸à¸±à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸µ
+ .accesskey = à¸
+sync-signedin-unverified = { $email } ยัà¸à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸¢à¸·à¸à¸¢à¸±à¸
+sync-signedin-login-failure = à¹à¸à¸£à¸à¸¥à¸à¸à¸·à¹à¸à¹à¸à¹à¸²à¹à¸à¸·à¹à¸à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸ { $email } à¹à¸«à¸¡à¹
+sync-resend-verification =
+ .label = สà¹à¸à¸à¸²à¸£à¸¢à¸·à¸à¸¢à¸±à¸à¹à¸«à¸¡à¹
+ .accesskey = ส
+sync-remove-account =
+ .label = à¹à¸à¸²à¸à¸±à¸à¸à¸µà¸à¸à¸
+ .accesskey = à¸
+sync-sign-in =
+ .label = ลà¸à¸à¸·à¹à¸à¹à¸à¹à¸²
+ .accesskey = à¸
+
+## Sync section - enabling or disabling sync.
+
+prefs-syncing-on = à¸à¸²à¸£à¸à¸´à¸à¸à¹: à¹à¸à¸´à¸
+prefs-syncing-off = à¸à¸²à¸£à¸à¸´à¸à¸à¹: à¸à¸´à¸
+prefs-sync-turn-on-syncing =
+ .label = à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸´à¸à¸à¹â¦
+ .accesskey = à¸
+prefs-sync-offer-setup-label2 = à¸à¸£à¸°à¸ªà¸²à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸², à¸à¸£à¸°à¸§à¸±à¸à¸´, à¹à¸à¹à¸, รหัสà¸à¹à¸²à¸, สà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸£à¸°à¸«à¸§à¹à¸²à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸à¸à¸à¸¸à¸
+prefs-sync-now =
+ .labelnotsyncing = à¸à¸´à¸à¸à¹à¸à¸à¸à¸à¸µà¹
+ .accesskeynotsyncing = N
+ .labelsyncing = à¸à¸³à¸¥à¸±à¸à¸à¸´à¸à¸à¹â¦
+
+## The list of things currently syncing.
+
+sync-currently-syncing-heading = à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸à¸´à¸à¸à¹à¸£à¸²à¸¢à¸à¸²à¸£à¹à¸«à¸¥à¹à¸²à¸à¸µà¹:
+sync-currently-syncing-bookmarks = à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+sync-currently-syncing-history = à¸à¸£à¸°à¸§à¸±à¸à¸´
+sync-currently-syncing-tabs = à¹à¸à¹à¸à¸à¸µà¹à¹à¸à¸´à¸
+sync-currently-syncing-logins-passwords = à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸¥à¸°à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸
+sync-currently-syncing-addresses = à¸à¸µà¹à¸à¸¢à¸¹à¹
+sync-currently-syncing-creditcards = à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸
+sync-currently-syncing-addons = สà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡
+sync-currently-syncing-settings = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²
+sync-change-options =
+ .label = à¹à¸à¸¥à¸µà¹à¸¢à¸â¦
+ .accesskey = à¸
+
+## The "Choose what to sync" dialog.
+
+sync-choose-what-to-sync-dialog =
+ .title = à¹à¸¥à¸·à¸à¸à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸°à¸à¸´à¸à¸à¹
+ .style = width: 36em; min-height: 35em;
+ .buttonlabelaccept = à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸
+ .buttonaccesskeyaccept = S
+ .buttonlabelextra2 = à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸â¦
+ .buttonaccesskeyextra2 = D
+sync-engine-bookmarks =
+ .label = à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+ .accesskey = à¸
+sync-engine-history =
+ .label = à¸à¸£à¸°à¸§à¸±à¸à¸´
+ .accesskey = à¸
+sync-engine-tabs =
+ .label = à¹à¸à¹à¸à¸à¸µà¹à¹à¸à¸´à¸à¸à¸¢à¸¹à¹
+ .tooltiptext = รายà¸à¸²à¸£à¸ªà¸´à¹à¸à¸à¸µà¹à¹à¸à¸´à¸à¸à¸¢à¸¹à¹à¹à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸µà¹à¸à¸´à¸à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸
+ .accesskey = à¸
+sync-engine-logins-passwords =
+ .label = à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸¥à¸°à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸
+ .tooltiptext = à¸à¸·à¹à¸à¸à¸¹à¹à¹à¸à¹à¹à¸¥à¸°à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸µà¹à¸à¸¸à¸à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹
+ .accesskey = L
+sync-engine-addresses =
+ .label = à¸à¸µà¹à¸à¸¢à¸¹à¹
+ .tooltiptext = à¸à¸µà¹à¸à¸¢à¸¹à¹à¹à¸à¸£à¸©à¸à¸µà¸¢à¹à¸à¸µà¹à¸à¸¸à¸à¹à¸à¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹ (à¹à¸à¸ªà¸à¹à¸à¹à¸à¸à¹à¸à¹à¸²à¸à¸±à¹à¸)
+ .accesskey = à¸
+sync-engine-creditcards =
+ .label = à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸
+ .tooltiptext = à¸à¸·à¹à¸, หมายà¹à¸¥à¸ à¹à¸¥à¸°à¸§à¸±à¸à¸«à¸¡à¸à¸à¸²à¸¢à¸¸ (à¹à¸à¸ªà¸à¹à¸à¹à¸à¸à¹à¸à¹à¸²à¸à¸±à¹à¸)
+ .accesskey = à¸
+sync-engine-addons =
+ .label = สà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡
+ .tooltiptext = สà¹à¸§à¸à¸à¸¢à¸²à¸¢à¹à¸¥à¸°à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸ Firefox à¹à¸à¸ªà¸à¹à¸à¹à¸à¸
+ .accesskey = ส
+sync-engine-settings =
+ .label = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²
+ .tooltiptext = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸±à¹à¸§à¹à¸ à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§ à¹à¸¥à¸°à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸µà¹à¸à¸¸à¸à¹à¸à¸¥à¸µà¹à¸¢à¸
+ .accesskey = à¸
+
+## The device name controls.
+
+sync-device-name-header = à¸à¸·à¹à¸à¸à¸¸à¸à¸à¸£à¸à¹
+sync-device-name-change =
+ .label = à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸·à¹à¸à¸à¸¸à¸à¸à¸£à¸à¹â¦
+ .accesskey = à¸
+sync-device-name-cancel =
+ .label = ยà¸à¹à¸¥à¸´à¸
+ .accesskey = ย
+sync-device-name-save =
+ .label = à¸à¸±à¸à¸à¸¶à¸
+ .accesskey = à¸
+sync-connect-another-device = à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸·à¹à¸
+
+## Privacy Section
+
+privacy-header = à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹
+
+## 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 = à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸¥à¸°à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸
+ .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 = à¸à¸²à¸¡à¹à¸à¸·à¹à¸à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸¥à¸°à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹
+ .accesskey = à¸
+forms-exceptions =
+ .label = à¸à¹à¸à¸¢à¸à¹à¸§à¹à¸â¦
+ .accesskey = à¸
+forms-generate-passwords =
+ .label = à¹à¸à¸°à¸à¸³à¹à¸¥à¸°à¸ªà¸£à¹à¸²à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸µà¹à¸à¸²à¸à¹à¸à¸²à¸¢à¸²à¸
+ .accesskey = à¹
+forms-breach-alerts =
+ .label = à¹à¸ªà¸à¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥
+ .accesskey = b
+forms-breach-alerts-learn-more-link = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+# Checkbox which controls filling saved logins into fields automatically when they appear, in some cases without user interaction.
+forms-fill-logins-and-passwords =
+ .label = à¸à¸£à¸à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸¥à¸°à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+ .accesskey = ร
+forms-saved-logins =
+ .label = à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹â¦
+ .accesskey = à¸
+forms-primary-pw-use =
+ .label = à¹à¸à¹à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸«à¸¥à¸±à¸
+ .accesskey = à¸
+forms-primary-pw-learn-more-link = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+# 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 = à¹à¸à¸¥à¸µà¹à¸¢à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸«à¸¥à¸±à¸â¦
+ .accesskey = à¸
+forms-primary-pw-change =
+ .label = à¹à¸à¸¥à¸µà¹à¸¢à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸«à¸¥à¸±à¸â¦
+ .accesskey = ล
+# 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 = à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸à¸¢à¸¹à¹à¹à¸à¹à¸«à¸¡à¸ FIPS à¸à¸¶à¹à¸ FIPS à¸à¸³à¹à¸à¹à¸à¸à¹à¸à¸à¸¡à¸µà¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸«à¸¥à¸±à¸à¸à¸µà¹à¹à¸¡à¹à¸§à¹à¸²à¸à¹à¸à¸¥à¹à¸²
+forms-master-pw-fips-desc = à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸¥à¹à¸¡à¹à¸«à¸¥à¸§
+forms-windows-sso =
+ .label = à¸à¸à¸¸à¸à¸²à¸ Windows single sign-on สำหรัà¸à¸à¸±à¸à¸à¸µà¸à¸µà¹à¸à¸³à¸à¸²à¸à¹à¸¥à¸°à¹à¸£à¸à¹à¸£à¸µà¸¢à¸à¸à¸à¸ Microsoft
+forms-windows-sso-learn-more-link = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+forms-windows-sso-desc = à¸à¸±à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸µà¹à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸à¸à¸à¸¸à¸
+
+## OS Authentication dialog
+
+# This message can be seen by trying to add a Primary Password.
+primary-password-os-auth-dialog-message-win = หาà¸à¸à¹à¸à¸à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸«à¸¥à¸±à¸ à¹à¸«à¹à¸à¹à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸£à¸°à¸à¸³à¸à¸±à¸§à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸ Windows à¸à¸à¸à¸à¸¸à¸ à¸à¸¶à¹à¸à¸à¸°à¸à¹à¸§à¸¢à¸à¸à¸à¹à¸à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¹à¸«à¹à¸à¸±à¸à¸à¸±à¸à¸à¸µà¸à¹à¸²à¸ ๠à¸à¸à¸à¸à¸¸à¸
+# 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 = สรà¹à¸²à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸«à¸¥à¸±à¸
+master-password-os-auth-dialog-caption = { -brand-full-name }
+
+## Privacy Section - History
+
+history-header = à¸à¸£à¸°à¸§à¸±à¸à¸´
+# 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 } à¸à¸°
+ .accesskey = à¸
+history-remember-option-all =
+ .label = à¸à¸à¸à¸³à¸à¸£à¸°à¸§à¸±à¸à¸´
+history-remember-option-never =
+ .label = à¹à¸¡à¹à¸à¸à¸à¸³à¸à¸£à¸°à¸§à¸±à¸à¸´à¹à¸ªà¸¡à¸
+history-remember-option-custom =
+ .label = à¹à¸à¹à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸µà¹à¸à¸³à¸«à¸à¸à¹à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸£à¸°à¸§à¸±à¸à¸´
+history-remember-description = { -brand-short-name } à¸à¸°à¸à¸à¸à¸³à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹, à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸, à¹à¸à¸à¸à¸à¸£à¹à¸¡ à¹à¸¥à¸°à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸à¸à¸à¸à¸¸à¸
+history-dontremember-description = { -brand-short-name } à¸à¸°à¹à¸à¹à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¹à¸à¸µà¸¢à¸§à¸à¸±à¸à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸¥à¸°à¸à¸°à¹à¸¡à¹à¸à¸à¸à¸³à¸à¸£à¸°à¸§à¸±à¸à¸´à¹à¸ ๠à¸à¸à¸°à¸à¸µà¹à¸à¸¸à¸à¹à¸£à¸µà¸¢à¸à¸à¸¹
+history-private-browsing-permanent =
+ .label = à¹à¸à¹à¹à¸«à¸¡à¸à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸ªà¸¡à¸
+ .accesskey = à¸
+history-remember-browser-option =
+ .label = à¸à¸à¸à¸³à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸¥à¸°à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+ .accesskey = à¸
+history-remember-search-option =
+ .label = à¸à¸à¸à¸³à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸¥à¸°à¹à¸à¸à¸à¸à¸£à¹à¸¡
+ .accesskey = à¸
+history-clear-on-close-option =
+ .label = ลà¹à¸²à¸à¸à¸£à¸°à¸§à¸±à¸à¸´à¹à¸¡à¸·à¹à¸ { -brand-short-name } à¸à¸´à¸
+ .accesskey = ล
+history-clear-on-close-settings =
+ .label = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²â¦
+ .accesskey = à¸
+history-clear-button =
+ .label = ลà¹à¸²à¸à¸à¸£à¸°à¸§à¸±à¸à¸´â¦
+ .accesskey = à¸
+
+## Privacy Section - Site Data
+
+sitedata-header = à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹
+sitedata-total-size-calculating = à¸à¸³à¸¥à¸±à¸à¸à¸³à¸à¸§à¸à¸à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹à¹à¸¥à¸°à¹à¸à¸â¦
+# 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 = à¸à¸¸à¸à¸à¸µà¹, à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹ à¹à¸¥à¸°à¹à¸à¸à¸à¸µà¹à¸à¸±à¸à¹à¸à¹à¸à¹à¸§à¹à¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¸à¸·à¹à¸à¸à¸µà¹à¸à¸´à¸ªà¸à¹à¹à¸ { $value } { $unit }
+sitedata-learn-more = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+sitedata-delete-on-close =
+ .label = ลà¸à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹à¹à¸¡à¸·à¹à¸ { -brand-short-name } à¸à¸¹à¸à¸à¸´à¸
+ .accesskey = à¸
+sitedata-delete-on-close-private-browsing = à¹à¸à¹à¸«à¸¡à¸à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸à¸à¸à¸²à¸§à¸£ à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹à¸à¸°à¸à¸¹à¸à¸¥à¹à¸²à¸à¸à¸¸à¸à¸à¸£à¸±à¹à¸à¹à¸¡à¸·à¹à¸à¸à¸´à¸ { -brand-short-name }
+sitedata-allow-cookies-option =
+ .label = ยà¸à¸¡à¸£à¸±à¸à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹
+ .accesskey = ย
+sitedata-disallow-cookies-option =
+ .label = à¸à¸´à¸à¸à¸±à¹à¸à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹
+ .accesskey = à¸
+# 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 = à¸à¸à¸´à¸à¸à¸µà¹à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸
+ .accesskey = à¸
+sitedata-option-block-cross-site-trackers =
+ .label = à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸à¹à¸²à¸¡à¹à¸à¸à¹
+sitedata-option-block-cross-site-and-social-media-trackers =
+ .label = à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸à¹à¸²à¸¡à¹à¸à¸à¹à¹à¸¥à¸°à¸ªà¸·à¹à¸à¸ªà¸±à¸à¸à¸¡à¸à¸à¸à¹à¸¥à¸à¹
+sitedata-option-block-cross-site-tracking-cookies-including-social-media =
+ .label = à¸à¸¸à¸à¸à¸µà¹à¸à¸´à¸à¸à¸²à¸¡à¸à¹à¸²à¸¡à¹à¸à¸à¹ â รวมà¸à¸¶à¸à¸à¸¸à¸à¸à¸µà¹à¸ªà¸·à¹à¸à¸ªà¸±à¸à¸à¸¡à¸à¸à¸à¹à¸¥à¸à¹
+sitedata-option-block-cross-site-cookies-including-social-media =
+ .label = à¸à¸¸à¸à¸à¸µà¹à¸à¹à¸²à¸¡à¹à¸à¸à¹ â รวมà¸à¸¶à¸à¸à¸¸à¸à¸à¸µà¹à¸ªà¸·à¹à¸à¸ªà¸±à¸à¸à¸¡à¸à¸à¸à¹à¸¥à¸à¹
+sitedata-option-block-cross-site-and-social-media-trackers-plus-isolate =
+ .label = à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸à¹à¸²à¸¡à¹à¸à¸à¹à¹à¸¥à¸°à¸ªà¸±à¸à¸à¸¡à¸à¸à¸à¹à¸¥à¸à¹ à¹à¸¥à¸°à¹à¸¢à¸à¸à¸¸à¸à¸à¸µà¹à¸à¸µà¹à¹à¸«à¸¥à¸·à¸à¸à¸¢à¸¹à¹
+sitedata-option-block-unvisited =
+ .label = à¸à¸¸à¸à¸à¸µà¹à¸à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡
+sitedata-option-block-all-third-party =
+ .label = à¸à¸¸à¸à¸à¸µà¹à¸à¸²à¸à¸à¸¸à¸à¸à¸¥à¸à¸µà¹à¸ªà¸²à¸¡à¸à¸±à¹à¸à¸«à¸¡à¸ (à¸à¸²à¸à¸ªà¹à¸à¸à¸¥à¹à¸«à¹à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸¡à¹à¸ªà¸¡à¸à¸¹à¸£à¸à¹)
+sitedata-option-block-all =
+ .label = à¸à¸¸à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸¡à¸ (à¸à¸°à¸ªà¹à¸à¸à¸¥à¹à¸«à¹à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸¡à¹à¸ªà¸¡à¸à¸¹à¸£à¸à¹)
+sitedata-clear =
+ .label = ลà¹à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥â¦
+ .accesskey = ล
+sitedata-settings =
+ .label = à¸à¸±à¸à¸à¸²à¸£à¸à¹à¸à¸¡à¸¹à¸¥â¦
+ .accesskey = à¸
+sitedata-cookies-exceptions =
+ .label = à¸à¸±à¸à¸à¸²à¸£à¸à¹à¸à¸¢à¸à¹à¸§à¹à¸â¦
+ .accesskey = à¸
+
+## Privacy Section - Address Bar
+
+addressbar-header = à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
+addressbar-suggest = à¹à¸¡à¸·à¹à¸à¹à¸à¹à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹ à¹à¸ªà¸à¸à¹à¸à¸°
+addressbar-locbar-history-option =
+ .label = à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹
+ .accesskey = ว
+addressbar-locbar-bookmarks-option =
+ .label = à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+ .accesskey = à¸
+addressbar-locbar-openpage-option =
+ .label = à¹à¸à¹à¸à¸à¸µà¹à¹à¸à¸´à¸à¸à¸¢à¸¹à¹
+ .accesskey = à¸
+# 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 = à¸à¸²à¸à¸¥à¸±à¸
+ .accesskey = à¸
+addressbar-locbar-topsites-option =
+ .label = à¹à¸à¸à¹à¹à¸à¹à¸
+ .accesskey = à¸
+addressbar-locbar-engines-option =
+ .label = à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²
+ .accesskey = a
+addressbar-suggestions-settings = à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸ªà¸³à¸«à¸£à¸±à¸à¸à¹à¸à¹à¸ªà¸à¸à¹à¸à¸°à¸à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²
+
+## Privacy Section - Content Blocking
+
+content-blocking-enhanced-tracking-protection = à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡à¸à¸µà¹à¸¡à¸²à¸à¸à¸¶à¹à¸
+content-blocking-section-top-level-description = à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸à¸°à¸à¸´à¸à¸à¸²à¸¡à¸à¸¸à¸à¸à¸²à¸à¸à¸à¸à¹à¸¥à¸à¹à¹à¸à¸·à¹à¸à¸£à¸§à¸à¸£à¸§à¸¡à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸¤à¸à¸´à¸à¸£à¸£à¸¡à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¹à¸¥à¸°à¸à¸§à¸²à¸¡à¸ªà¸à¹à¸à¸à¸à¸à¸à¸¸à¸ { -brand-short-name } à¸à¸´à¸à¸à¸±à¹à¸à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¹à¸¥à¸°à¸ªà¸à¸£à¸´à¸à¸à¹à¸à¸µà¹à¹à¸à¹à¸à¸à¸±à¸à¸à¸£à¸²à¸¢à¸à¸·à¹à¸ ๠à¸à¸³à¸à¸§à¸à¸¡à¸²à¸
+content-blocking-learn-more = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+content-blocking-fpi-incompatibility-warning = à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¹à¸à¹ First Party Isolation (FPI) à¸à¸¶à¹à¸à¸à¸°à¹à¸à¸µà¸¢à¸à¸à¸±à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸¸à¸à¸à¸µà¹à¸à¸²à¸à¸à¸¢à¹à¸²à¸à¸à¸à¸ { -brand-short-name }
+
+## 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 = มาà¸à¸£à¸à¸²à¸
+ .accesskey = ม
+enhanced-tracking-protection-setting-strict =
+ .label = à¹à¸à¹à¸¡à¸à¸§à¸
+ .accesskey = à¸
+enhanced-tracking-protection-setting-custom =
+ .label = à¸à¸³à¸«à¸à¸à¹à¸à¸
+ .accesskey = à¸
+
+##
+
+content-blocking-etp-standard-desc = à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¹à¸¥à¸°à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¹à¸à¸à¸ªà¸¡à¸à¸¸à¸¥ หà¸à¹à¸²à¹à¸§à¹à¸à¸à¸°à¹à¸«à¸¥à¸à¹à¸à¹à¸à¸à¸à¸à¸´
+content-blocking-etp-strict-desc = à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¸à¸µà¹à¹à¸à¸£à¹à¸à¸à¸¶à¹à¸ à¹à¸à¹à¸à¸²à¸à¸à¸³à¹à¸«à¹à¸à¸²à¸à¹à¸à¸à¹à¸«à¸£à¸·à¸à¹à¸à¸·à¹à¸à¸«à¸²à¸«à¸¢à¸¸à¸à¸à¸³à¸à¸²à¸à¹à¸à¹
+content-blocking-etp-custom-desc = à¹à¸¥à¸·à¸à¸à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸«à¸£à¸·à¸à¸ªà¸à¸£à¸´à¸à¸à¹à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸
+content-blocking-etp-blocking-desc = { -brand-short-name } à¸à¸°à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¸´à¹à¸à¸à¹à¸à¹à¸à¸à¸µà¹:
+content-blocking-private-windows = à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¹à¸à¸·à¹à¸à¸«à¸²à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+content-blocking-cross-site-cookies-in-all-windows = à¸à¸¸à¸à¸à¸µà¹à¹à¸à¸à¸à¹à¸²à¸¡à¹à¸à¸à¹à¹à¸à¸à¸¸à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸ (รวมà¸à¸¶à¸à¸à¸¸à¸à¸à¸µà¹à¸à¸´à¸à¸à¸²à¸¡)
+content-blocking-cross-site-tracking-cookies = à¸à¸¸à¸à¸à¸µà¹à¸à¸´à¸à¸à¸²à¸¡à¸à¹à¸²à¸¡à¹à¸à¸à¹
+content-blocking-all-cross-site-cookies-private-windows = à¸à¸¸à¸à¸à¸µà¹à¹à¸à¸à¸à¹à¸²à¸¡à¹à¸à¸à¹à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+content-blocking-cross-site-tracking-cookies-plus-isolate = à¸à¸¸à¸à¸à¸µà¹à¸à¸´à¸à¸à¸²à¸¡à¸à¹à¸²à¸¡à¹à¸à¸à¹ à¹à¸¥à¸°à¹à¸¢à¸à¸à¸¸à¸à¸à¸µà¹à¸à¸µà¹à¹à¸«à¸¥à¸·à¸à¸à¸¢à¸¹à¹
+content-blocking-social-media-trackers = à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸ªà¸·à¹à¸à¸ªà¸±à¸à¸à¸¡à¸à¸à¸à¹à¸¥à¸à¹
+content-blocking-all-cookies = à¸à¸¸à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸¡à¸
+content-blocking-unvisited-cookies = à¸à¸¸à¸à¸à¸µà¹à¸à¸²à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡
+content-blocking-all-windows-tracking-content = à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¹à¸à¸·à¹à¸à¸«à¸²à¹à¸à¸à¸¸à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸
+content-blocking-all-third-party-cookies = à¸à¸¸à¸à¸à¸µà¹à¸à¸²à¸à¸à¸¸à¸à¸à¸¥à¸à¸µà¹à¸ªà¸²à¸¡à¸à¸±à¹à¸à¸«à¸¡à¸
+content-blocking-cryptominers = à¸à¸±à¸§à¸à¸¸à¸à¹à¸«à¸£à¸µà¸¢à¸à¸à¸´à¸à¸´à¸à¸±à¸¥
+content-blocking-fingerprinters = ลายà¸à¸´à¹à¸§à¸¡à¸·à¸à¸à¸´à¸à¸´à¸à¸±à¸¥
+content-blocking-etp-standard-tcp-rollout-learn-more = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+content-blocking-warning-title = ระวัà¸!
+content-blocking-and-isolating-etp-warning-description = à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¹à¸¥à¸°à¹à¸¢à¸à¸à¸¸à¸à¸à¸µà¹à¸à¸²à¸à¸ªà¹à¸à¸à¸¥à¸à¸£à¸°à¸à¸à¸à¹à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸à¸à¸à¸²à¸à¹à¸à¸à¹à¹à¸à¹ à¹à¸«à¸¥à¸à¸«à¸à¹à¸²à¹à¸«à¸¡à¹à¸à¸£à¹à¸à¸¡à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¹à¸à¸·à¹à¸à¹à¸«à¸¥à¸à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸±à¹à¸à¸«à¸¡à¸
+content-blocking-and-isolating-etp-warning-description-2 = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸µà¹à¸à¸²à¸à¸ªà¹à¸à¸à¸¥à¹à¸«à¹à¸à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸¡à¹à¹à¸ªà¸à¸à¸à¸¥à¹à¸à¸·à¹à¸à¸«à¸²à¸«à¸£à¸·à¸à¹à¸¡à¹à¸à¸³à¸à¸²à¸à¸à¸¢à¹à¸²à¸à¸à¸¹à¸à¸à¹à¸à¸ หาà¸à¹à¸à¸à¹à¸à¸¹à¹à¸«à¸¡à¸·à¸à¸à¸à¸°à¸à¸±à¸ à¸à¸¸à¸à¸à¸²à¸à¸à¹à¸à¸à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¸à¹à¸à¸±à¹à¸à¹à¸à¸·à¹à¸à¹à¸«à¸¥à¸à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸±à¹à¸à¸«à¸¡à¸
+content-blocking-warning-learn-how = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¸§à¸´à¸à¸µ
+content-blocking-reload-description = à¸à¸¸à¸à¸à¸°à¸à¹à¸à¸à¹à¸«à¸¥à¸à¹à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¹à¸«à¸¡à¹à¹à¸à¸·à¹à¸à¹à¸à¹à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¹à¸«à¸¥à¹à¸²à¸à¸µà¹
+content-blocking-reload-tabs-button =
+ .label = à¹à¸«à¸¥à¸à¹à¸à¹à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¹à¸«à¸¡à¹
+ .accesskey = ล
+content-blocking-tracking-content-label =
+ .label = à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¹à¸à¸·à¹à¸à¸«à¸²
+ .accesskey = T
+content-blocking-tracking-protection-option-all-windows =
+ .label = à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+ .accesskey = à¸
+content-blocking-option-private =
+ .label = à¹à¸à¸à¸²à¸°à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+ .accesskey = à¸
+content-blocking-tracking-protection-change-block-list = à¹à¸à¸¥à¸µà¹à¸¢à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸
+content-blocking-cookies-label =
+ .label = à¸à¸¸à¸à¸à¸µà¹
+ .accesskey = à¸
+content-blocking-expand-section =
+ .tooltiptext = à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+# 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 = à¸à¸±à¸§à¸à¸¸à¸à¹à¸«à¸£à¸µà¸¢à¸à¸à¸´à¸à¸´à¸à¸±à¸¥
+ .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 = ลายà¸à¸´à¹à¸§à¸¡à¸·à¸à¸à¸´à¸à¸´à¸à¸±à¸¥
+ .accesskey = F
+
+## Privacy Section - Tracking
+
+tracking-manage-exceptions =
+ .label = à¸à¸±à¸à¸à¸²à¸£à¸à¹à¸à¸¢à¸à¹à¸§à¹à¸â¦
+ .accesskey = à¸
+
+## Privacy Section - Permissions
+
+permissions-header = สิà¸à¸à¸´à¸à¸à¸¸à¸à¸²à¸
+permissions-location = à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸
+permissions-location-settings =
+ .label = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²â¦
+ .accesskey = à¸
+permissions-xr = à¸à¸§à¸²à¸¡à¸à¸£à¸´à¸à¹à¸ªà¸¡à¸·à¸à¸
+permissions-xr-settings =
+ .label = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²â¦
+ .accesskey = à¸
+permissions-camera = à¸à¸¥à¹à¸à¸
+permissions-camera-settings =
+ .label = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²â¦
+ .accesskey = à¸
+permissions-microphone = à¹à¸¡à¹à¸à¸£à¹à¸à¸
+permissions-microphone-settings =
+ .label = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²â¦
+ .accesskey = à¸
+permissions-notification = à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸
+permissions-notification-settings =
+ .label = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²â¦
+ .accesskey = ร
+permissions-notification-link = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+permissions-notification-pause =
+ .label = หยุà¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¸à¸±à¹à¸§à¸à¸£à¸²à¸§à¸à¸à¸à¸£à¸°à¸à¸±à¹à¸ { -brand-short-name } à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸«à¸¡à¹
+ .accesskey = ห
+permissions-autoplay = à¸à¸²à¸£à¹à¸¥à¹à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+permissions-autoplay-settings =
+ .label = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²â¦
+ .accesskey = t
+permissions-block-popups =
+ .label = à¸à¸´à¸à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¹à¸à¸à¸à¸±à¸
+ .accesskey = à¸
+permissions-block-popups-exceptions =
+ .label = à¸à¹à¸à¸¢à¸à¹à¸§à¹à¸â¦
+ .accesskey = à¸
+# "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 = à¸à¹à¸à¸¢à¸à¹à¸§à¹à¸â¦
+ .accesskey = à¸
+ .searchkeywords = à¸à¹à¸à¸à¸à¸±à¸
+permissions-addon-install-warning =
+ .label = à¹à¸à¸·à¸à¸à¸à¸¸à¸à¹à¸¡à¸·à¹à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸°à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡
+ .accesskey = à¸
+permissions-addon-exceptions =
+ .label = à¸à¹à¸à¸¢à¸à¹à¸§à¹à¸â¦
+ .accesskey = à¸
+
+## Privacy Section - Data Collection
+
+collection-header = à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸§à¸à¸£à¸§à¸¡à¹à¸¥à¸°à¹à¸à¹à¸à¹à¸à¸¡à¸¹à¸¥ { -brand-short-name }
+collection-description = à¹à¸£à¸²à¸¡à¸¸à¹à¸à¸¡à¸±à¹à¸à¸à¸µà¹à¸à¸°à¹à¸«à¹à¸à¸²à¸à¹à¸¥à¸·à¸à¸à¸à¸±à¸à¸à¸¸à¸à¹à¸¥à¸°à¹à¸à¹à¸à¸£à¸§à¸à¸£à¸§à¸¡à¹à¸à¸à¸²à¸°à¸ªà¸´à¹à¸à¸à¸µà¹à¹à¸£à¸²à¸à¸³à¹à¸à¹à¸à¸à¹à¸à¸à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸¥à¸°à¸à¸£à¸±à¸à¸à¸£à¸¸à¸ { -brand-short-name } สำหรัà¸à¸à¸¸à¸à¸à¸ à¹à¸£à¸²à¸à¸à¸à¸à¸¸à¸à¸²à¸à¸à¹à¸à¸à¸à¸µà¹à¸à¸°à¸£à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¹à¸§à¸à¸à¸¸à¸à¸à¸¥à¹à¸ªà¸¡à¸
+collection-privacy-notice = à¸à¸£à¸°à¸à¸²à¸¨à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+collection-health-report-telemetry-disabled = à¸à¸¸à¸à¸à¸°à¹à¸¡à¹à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ { -vendor-short-name } à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸à¹à¸à¸à¸à¸´à¸à¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¹à¸à¸à¸à¸à¸µà¸à¸à¹à¸à¹à¸ à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¹à¸²à¸à¸¡à¸²à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸°à¸à¸¹à¸à¸¥à¸à¸ ายà¹à¸ 30 วัà¸
+collection-health-report-telemetry-disabled-link = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+collection-health-report =
+ .label = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ { -brand-short-name } สà¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸à¹à¸à¸à¸à¸´à¸à¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¹à¸à¸à¸à¹à¸à¸¢à¸±à¸ { -vendor-short-name }
+ .accesskey = à¸
+collection-health-report-link = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+collection-studies =
+ .label = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ { -brand-short-name } à¸à¸´à¸à¸à¸±à¹à¸à¹à¸¥à¸°à¹à¸£à¸µà¸¢à¸à¹à¸à¹à¸à¸²à¸£à¸¨à¸¶à¸à¸©à¸²
+collection-studies-link = à¸à¸¹à¸à¸²à¸£à¸¨à¸¶à¸à¸©à¸²à¸à¸à¸ { -brand-short-name }
+addon-recommendations =
+ .label = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ { -brand-short-name } สรà¹à¸²à¸à¸à¸³à¹à¸à¸°à¸à¸³à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸ªà¹à¸§à¸à¸à¸¸à¸à¸à¸¥
+addon-recommendations-link = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+# This message is displayed above disabled data sharing options in developer builds
+# or builds with no Telemetry support available.
+collection-health-report-disabled = à¸à¸²à¸£à¸£à¸²à¸¢à¸à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¸à¸µà¹
+collection-backlogged-crash-reports-with-link = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ { -brand-short-name } สà¹à¸à¸£à¸²à¸¢à¸à¸²à¸à¸à¹à¸à¸à¸±à¸à¸à¹à¸à¸à¹à¸à¸à¸·à¹à¸à¸à¸à¸à¸à¸¸à¸ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+ .accesskey = à¸
+
+## 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 = à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย
+security-browsing-protection = à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¹à¸à¸·à¹à¸à¸«à¸²à¸«à¸¥à¸à¸à¸¥à¸§à¸à¹à¸¥à¸°à¸à¸à¸à¸à¹à¹à¸§à¸£à¹à¸à¸µà¹à¹à¸à¹à¸à¸à¸±à¸à¸à¸£à¸²à¸¢
+security-enable-safe-browsing =
+ .label = à¸à¸´à¸à¸à¸±à¹à¸à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸µà¹à¹à¸à¹à¸à¸à¸±à¸à¸à¸£à¸²à¸¢à¹à¸¥à¸°à¸«à¸¥à¸à¸à¸¥à¸§à¸
+ .accesskey = à¸
+security-enable-safe-browsing-link = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+security-block-downloads =
+ .label = à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸à¸µà¹à¹à¸à¹à¸à¸à¸±à¸à¸à¸£à¸²à¸¢
+ .accesskey = à¸
+security-block-uncommon-software =
+ .label = à¹à¸à¸·à¸à¸à¸à¸¸à¸à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸à¸à¸à¹à¹à¸§à¸£à¹à¹à¸¡à¹à¸à¸¶à¸à¸à¸£à¸°à¸ªà¸à¸à¹à¹à¸¥à¸°à¹à¸¡à¹à¸à¸à¸à¸´
+ .accesskey = à¸
+
+## Privacy Section - Certificates
+
+certs-header = à¹à¸à¸£à¸±à¸à¸£à¸à¸
+certs-enable-ocsp =
+ .label = สืà¸à¸à¹à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸à¸à¸à¸¥à¸±à¸ OCSP à¹à¸à¸·à¹à¸à¸¢à¸·à¸à¸¢à¸±à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸±à¸à¸à¸¸à¸à¸±à¸
+ .accesskey = à¸
+certs-view =
+ .label = à¸à¸¹à¹à¸à¸£à¸±à¸à¸£à¸à¸â¦
+ .accesskey = à¸
+certs-devices =
+ .label = à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยâ¦
+ .accesskey = à¸
+space-alert-over-5gb-settings-button =
+ .label = à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²
+ .accesskey = à¸
+space-alert-over-5gb-message2 = à¸à¸·à¹à¸à¸à¸µà¹à¸à¸´à¸ªà¸à¹à¸à¸à¸ { -brand-short-name } à¸à¸³à¸¥à¸±à¸à¸à¸°à¹à¸à¹à¸¡ à¹à¸à¸·à¹à¸à¸«à¸²à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸²à¸à¹à¸ªà¸à¸à¸à¸¥à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸¥à¹à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸¹à¸à¸à¸±à¸à¹à¸à¹à¸à¹à¸§à¹à¹à¸à¹à¹à¸ à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸² > à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸¥à¸°à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย > à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹
+space-alert-under-5gb-message2 = à¸à¸·à¹à¸à¸à¸µà¹à¸à¸´à¸ªà¸à¹à¸à¸à¸ { -brand-short-name } à¸à¸³à¸¥à¸±à¸à¸à¸°à¹à¸à¹à¸¡ à¹à¸à¸·à¹à¸à¸«à¸²à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸²à¸à¹à¸ªà¸à¸à¸à¸¥à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸ à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡ âà¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡â à¹à¸à¸·à¹à¸à¹à¸à¸´à¹à¸¡à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¸´à¸ªà¸à¹à¸à¸à¸à¸à¸¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸£à¸°à¸ªà¸à¸à¸²à¸£à¸à¹à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¸à¸µà¹à¸à¸µà¸à¸¶à¹à¸
+
+## Privacy Section - HTTPS-Only
+
+httpsonly-header = à¹à¸«à¸¡à¸ HTTPS-Only
+httpsonly-description = HTTPS à¸à¸°à¸à¸±à¸à¹à¸«à¹à¸¡à¸µà¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸à¸à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¸à¸µà¹à¸à¸¥à¸à¸à¸ ัยระหวà¹à¸²à¸ { -brand-short-name } à¹à¸¥à¸°à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸¸à¸à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡ à¹à¸§à¹à¸à¹à¸à¸à¹à¸ªà¹à¸§à¸à¹à¸«à¸à¹à¸à¸°à¸£à¸à¸à¸£à¸±à¸ HTTPS à¹à¸¥à¸°à¸«à¸²à¸à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸«à¸¡à¸ HTTPS-Only à¹à¸¥à¹à¸§ { -brand-short-name } à¸à¸°à¸à¸±à¸à¹à¸à¸£à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¹à¸à¹à¸ HTTPS
+httpsonly-learn-more = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+httpsonly-radio-enabled =
+ .label = à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸«à¸¡à¸ HTTPS-Only à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+httpsonly-radio-enabled-pbm =
+ .label = à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸«à¸¡à¸ HTTPS-Only à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸à¹à¸²à¸à¸±à¹à¸
+httpsonly-radio-disabled =
+ .label = à¹à¸¡à¹à¸à¹à¸à¸à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸«à¸¡à¸ HTTPS-Only
+
+## The following strings are used in the Download section of settings
+
+desktop-folder-name = à¹à¸à¸ªà¸à¹à¸à¹à¸à¸
+downloads-folder-name = à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+choose-download-folder-title = à¹à¸¥à¸·à¸à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸:
+# Variables:
+# $service-name (String) - Name of a cloud storage provider like Dropbox, Google Drive, etc...
+save-files-to-cloud-storage =
+ .label = à¸à¸±à¸à¸à¸¶à¸à¹à¸à¸¥à¹à¹à¸à¸¢à¸±à¸ { $service-name }
diff --git a/browser/browser/preferences/selectBookmark.ftl b/browser/browser/preferences/selectBookmark.ftl
new file mode 100644
index 00000000000..40e655125e9
--- /dev/null
+++ b/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-window =
+ .title = à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸£à¸
+ .style = width: 32em;
+
+select-bookmark-desc = à¹à¸¥à¸·à¸à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸à¸·à¹à¸à¸à¸±à¹à¸à¹à¸à¹à¸à¸«à¸à¹à¸²à¹à¸£à¸ หาà¸à¹à¸¥à¸·à¸à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹ à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸±à¹à¸à¸«à¸¡à¸à¹à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸±à¸à¸à¸¥à¹à¸²à¸§à¸à¸°à¸à¸¹à¸à¹à¸à¸´à¸à¹à¸à¹à¸à¹à¸
diff --git a/browser/browser/preferences/siteDataSettings.ftl b/browser/browser/preferences/siteDataSettings.ftl
new file mode 100644
index 00000000000..c1ef6d8f89e
--- /dev/null
+++ b/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 = à¸à¸±à¸à¸à¸²à¸£à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹
+site-data-settings-description = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸±à¸à¹à¸à¹à¸à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹à¹à¸§à¹à¹à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸ { -brand-short-name } à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸à¹à¸à¸µà¹à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸§à¸£à¸à¸à¸à¸§à¹à¸²à¸à¸¸à¸à¸à¸°à¸¥à¸à¸à¸à¸ à¹à¸¥à¸°à¸¥à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸à¹à¸à¸µà¹à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸¡à¹à¸à¸²à¸§à¸£à¸à¸à¸à¹à¸¡à¸·à¹à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸·à¹à¸à¸à¸µà¹
+site-data-search-textbox =
+ .placeholder = à¸à¹à¸à¸«à¸²à¹à¸§à¹à¸à¹à¸à¸à¹
+ .accesskey = à¸
+site-data-column-host =
+ .label = à¹à¸à¸à¹
+site-data-column-cookies =
+ .label = à¸à¸¸à¸à¸à¸µà¹
+site-data-column-storage =
+ .label = à¸à¸µà¹à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥
+site-data-column-last-used =
+ .label = วัà¸à¸à¸µà¹à¹à¸à¹à¸à¸£à¸±à¹à¸à¸¥à¹à¸²à¸ªà¸¸à¸
+# This label is used in the "Host" column for local files, which have no host.
+site-data-local-file-host = (à¹à¸à¸¥à¹à¹à¸à¹à¸à¸£à¸·à¹à¸à¸)
+site-data-remove-selected =
+ .label = à¹à¸à¸²à¸à¸µà¹à¹à¸¥à¸·à¸à¸à¸à¸à¸
+ .accesskey = à¸
+site-data-settings-dialog =
+ .buttonlabelaccept = à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸
+ .buttonaccesskeyaccept = à¸
+# 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 } (à¸à¸²à¸§à¸£)
+site-data-remove-all =
+ .label = à¹à¸à¸²à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸à¸
+ .accesskey = à¸
+site-data-remove-shown =
+ .label = à¹à¸à¸²à¸à¸µà¹à¹à¸ªà¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸à¸
+ .accesskey = à¸
+
+## Removing
+
+site-data-removing-dialog =
+ .title = { site-data-removing-header }
+ .buttonlabelaccept = à¹à¸à¸²à¸à¸à¸
+site-data-removing-header = à¸à¸²à¸£à¹à¸à¸²à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹à¸à¸à¸
+site-data-removing-desc = à¸à¸²à¸£à¹à¸à¸²à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹à¸à¸à¸à¸à¸²à¸à¸à¸³à¸à¸¸à¸à¸à¸à¸à¸à¸²à¸à¸£à¸°à¸à¸à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹ à¸à¸¸à¸à¹à¸à¹à¹à¸à¸«à¸£à¸·à¸à¹à¸¡à¹à¸§à¹à¸²à¸à¹à¸à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸?
+# Variables:
+# $baseDomain (String) - The single domain for which data is being removed
+site-data-removing-single-desc = à¸à¸²à¸£à¹à¸à¸²à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹à¸à¸à¸à¸à¸²à¸à¸à¸³à¸à¸¸à¸à¸à¸à¸à¸à¸²à¸à¸£à¸°à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¹à¸²à¸ ๠à¸à¸¸à¸à¹à¸à¹à¹à¸à¸«à¸£à¸·à¸à¹à¸¡à¹à¸§à¹à¸²à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸²à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹à¸ªà¸³à¸«à¸£à¸±à¸ { $baseDomain } à¸à¸à¸?
+site-data-removing-table = à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸°à¸à¸¹à¸à¹à¸à¸²à¸à¸à¸
diff --git a/browser/browser/preferences/translation.ftl b/browser/browser/preferences/translation.ftl
new file mode 100644
index 00000000000..190a9ca30c8
--- /dev/null
+++ b/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-window =
+ .title = à¸à¹à¸à¸¢à¸à¹à¸§à¹à¸ - à¸à¸²à¸£à¹à¸à¸¥
+ .style = width: 36em
+
+translation-close-key =
+ .key = w
+
+translation-languages-disabled-desc = à¸à¸²à¸£à¹à¸à¸¥à¸à¸°à¹à¸¡à¹à¸à¸¹à¸à¸à¸³à¹à¸ªà¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸ าษาà¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹
+
+translation-languages-column =
+ .label = ภาษา
+
+translation-languages-button-remove =
+ .label = à¹à¸à¸²à¸ าษาà¸à¸à¸
+ .accesskey = à¸
+
+translation-languages-button-remove-all =
+ .label = à¹à¸à¸²à¸ าษาà¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸à¸
+ .accesskey = à¸
+
+translation-sites-disabled-desc = à¸à¸²à¸£à¹à¸à¸¥à¸à¸°à¹à¸¡à¹à¸à¸¹à¸à¸à¸³à¹à¸ªà¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¸à¹à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹
+
+translation-sites-column =
+ .label = à¹à¸§à¹à¸à¹à¸à¸à¹
+
+translation-sites-button-remove =
+ .label = à¹à¸à¸²à¹à¸à¸à¹à¸à¸à¸
+ .accesskey = à¸
+
+translation-sites-button-remove-all =
+ .label = à¹à¸à¸²à¹à¸à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸à¸
+ .accesskey = à¸
+
+translation-dialog =
+ .buttonlabelaccept = à¸à¸´à¸
+ .buttonaccesskeyaccept = à¸
diff --git a/browser/browser/protections.ftl b/browser/browser/protections.ftl
new file mode 100644
index 00000000000..4bb94f39c40
--- /dev/null
+++ b/browser/browser/protections.ftl
@@ -0,0 +1,193 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 } à¸à¸´à¸à¸à¸±à¹à¸à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡ { $count } à¸à¸±à¸§à¸à¸¥à¸à¸à¸ªà¸±à¸à¸à¸²à¸«à¹à¸à¸µà¹à¸à¹à¸²à¸à¸¡à¸²
+ }
+# 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] à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡ { $count } à¸à¸±à¸§à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸à¸à¸±à¹à¸à¹à¸à¹ { DATETIME($earliestDate, day: "numeric", month: "long", year: "numeric") }
+ }
+# Text displayed instead of the graph when in Private Mode
+graph-private-window = { -brand-short-name } à¸à¸°à¸à¸´à¸à¸à¸±à¹à¸à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¹à¸à¹à¸ à¹à¸à¹à¸à¸°à¹à¸¡à¹à¹à¸à¹à¸à¸à¸±à¸à¸à¸¶à¸à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸à¹à¸§à¹
+# Weekly summary of the graph when the graph is empty in Private Mode
+graph-week-summary-private-window = à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸à¸µà¹ { -brand-short-name } à¸à¸´à¸à¸à¸±à¹à¸à¹à¸à¸ªà¸±à¸à¸à¸²à¸«à¹à¸à¸µà¹
+protection-report-webpage-title = à¹à¸à¸à¸à¸à¸£à¹à¸à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸
+protection-report-page-content-title = à¹à¸à¸à¸à¸à¸£à¹à¸à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸
+# 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 } สามารà¸à¸à¸à¸à¹à¸à¸à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¸à¸·à¹à¸à¸à¸«à¸¥à¸±à¸à¸à¸à¸°à¸à¸µà¹à¸à¸¸à¸à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¹ à¸à¸µà¹à¸à¸·à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¸£à¸¸à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸à¸à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸«à¸¥à¹à¸²à¸à¸±à¹à¸ รวมà¸à¸¶à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸µà¹à¹à¸à¹à¸à¸§à¸à¸à¸¸à¸¡à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¹à¸¥à¸à¹à¸à¸à¸à¸à¸¸à¸
+# 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 } à¸à¸°à¸à¸à¸à¹à¸à¸à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¸à¸·à¹à¸à¸à¸«à¸¥à¸±à¸à¸à¸à¸°à¸à¸µà¹à¸à¸¸à¸à¹à¸£à¸µà¸¢à¸à¸à¸¹ à¸à¸µà¹à¸à¸·à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¸£à¸¸à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸à¸à¸à¸²à¸£à¸à¸à¸à¹à¸à¸à¹à¸«à¸¥à¹à¸²à¸à¸±à¹à¸ รวมà¸à¸¶à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸µà¹à¹à¸à¹à¸à¸§à¸à¸à¸¸à¸¡à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¹à¸¥à¸à¹à¸à¸à¸à¸à¸¸à¸
+protection-report-settings-link = à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸¥à¸°à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย
+etp-card-title-always = à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡à¸à¸µà¹à¸¡à¸²à¸à¸à¸¶à¹à¸: à¹à¸à¸´à¸à¸à¸¥à¸à¸
+etp-card-title-custom-not-blocking = à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡à¸à¸µà¹à¸¡à¸²à¸à¸à¸¶à¹à¸: à¸à¸´à¸
+etp-card-content-description = { -brand-short-name } à¸à¸°à¸«à¸¢à¸¸à¸à¸à¸£à¸´à¸©à¸±à¸à¸à¹à¸²à¸ ๠à¹à¸¡à¹à¹à¸«à¹à¸à¸´à¸à¸à¸²à¸¡à¸à¸¸à¸à¸à¸¢à¹à¸²à¸à¸¥à¸±à¸ ๠à¸à¸à¸°à¸à¸µà¹à¸à¸¸à¸à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+protection-report-etp-card-content-custom-not-blocking = à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸¹à¸à¸à¸´à¸à¹à¸à¸à¸à¸à¸µà¹ à¹à¸¥à¸·à¸à¸à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸à¸µà¹à¸à¸°à¸à¸´à¸à¸à¸±à¹à¸à¹à¸à¸¢à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸ { -brand-short-name } à¸à¸à¸à¸à¸¸à¸
+protection-report-manage-protections = à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²
+# 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 = วัà¸à¸à¸µà¹
+# This string is used to describe the graph for screenreader users.
+graph-legend-description = à¸à¸£à¸²à¸à¸à¸µà¹à¸¡à¸µà¸à¸³à¸à¸§à¸à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¹à¸à¹à¸¥à¸°à¸à¸à¸´à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸µà¹à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸à¹à¸à¸ªà¸±à¸à¸à¸²à¸«à¹à¸à¸µà¹
+social-tab-title = à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸ªà¸±à¸à¸à¸¡à¸à¸à¸à¹à¸¥à¸à¹
+social-tab-contant = à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢à¸ªà¸±à¸à¸à¸¡à¸à¸à¸à¹à¸¥à¸à¹à¸à¸°à¸§à¸²à¸à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸·à¹à¸ ๠à¹à¸à¸·à¹à¸à¸à¸´à¸à¸à¸²à¸¡à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸¸à¸à¸à¸³ à¹à¸¥à¸°à¸à¸¹à¸à¸²à¸à¸à¸à¸à¹à¸¥à¸à¹ à¸à¸¶à¹à¸à¸à¸³à¹à¸«à¹à¸à¸£à¸´à¸©à¸±à¸à¸ªà¸±à¸à¸à¸¡à¸à¸à¸à¹à¸¥à¸à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸¸à¸à¸à¸à¸à¹à¸«à¸à¸·à¸à¸à¸²à¸à¸à¸µà¹à¸à¸¸à¸à¹à¸à¹à¸à¸à¸±à¸à¹à¸à¹à¸à¸£à¹à¸à¸¥à¹à¸ªà¸±à¸à¸à¸¡à¸à¸à¸à¹à¸¥à¸à¹à¸à¸à¸à¸à¸¸à¸ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+cookie-tab-title = à¸à¸¸à¸à¸à¸µà¹à¸à¸´à¸à¸à¸²à¸¡à¸à¹à¸²à¸¡à¹à¸à¸à¹
+cookie-tab-content = à¸à¸¸à¸à¸à¸µà¹à¹à¸«à¸¥à¹à¸²à¸à¸µà¹à¸à¸´à¸à¸à¸²à¸¡à¸à¸¸à¸à¸à¸²à¸à¹à¸à¸à¹à¸«à¸à¸¶à¹à¸à¹à¸à¸¢à¸±à¸à¸à¸µà¸à¹à¸à¸à¹à¸«à¸à¸¶à¹à¸à¹à¸à¸·à¹à¸à¸£à¸§à¸à¸£à¸§à¸¡à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸¸à¸à¸à¸³à¸à¸²à¸à¸à¸à¸à¹à¸¥à¸à¹ à¸à¸¶à¹à¸à¸à¸¹à¸à¸à¸±à¹à¸à¸à¹à¸²à¹à¸à¸¢à¸à¸¸à¸à¸à¸¥à¸à¸µà¹à¸ªà¸²à¸¡ à¹à¸à¹à¸ à¸à¸¹à¹à¹à¸à¸©à¸à¸²à¹à¸¥à¸°à¸à¸£à¸´à¸©à¸±à¸à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹ à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸¸à¸à¸à¸µà¹à¸à¸´à¸à¸à¸²à¸¡à¸à¹à¸²à¸¡à¹à¸à¸à¹à¸à¸°à¸à¹à¸§à¸¢à¸¥à¸à¸à¸³à¸à¸§à¸à¹à¸à¸©à¸à¸²à¸à¸µà¹à¸à¸´à¸à¸à¸²à¸¡à¸à¸¸à¸à¹à¸ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+tracker-tab-title = à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¹à¸à¸·à¹à¸à¸«à¸²
+tracker-tab-description = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸²à¸à¹à¸«à¸¥à¸à¹à¸à¸©à¸à¸² วิà¸à¸µà¹à¸ à¹à¸¥à¸°à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸·à¹à¸ ๠à¸à¸à¸à¹à¸§à¹à¸à¸à¸µà¹à¸¡à¸µà¹à¸à¹à¸à¸à¸´à¸à¸à¸²à¸¡ à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡à¸à¸°à¸à¸³à¹à¸«à¹à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸«à¸¥à¸à¹à¸£à¹à¸§à¸à¸¶à¹à¸ à¹à¸à¹à¸à¸¸à¹à¸¡à¸à¸²à¸à¸à¸¸à¹à¸¡ à¸à¸à¸£à¹à¸¡ à¹à¸¥à¸°à¹à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸²à¸à¹à¸¡à¹à¸à¸³à¸à¸²à¸ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+fingerprinter-tab-title = ลายà¸à¸´à¹à¸§à¸¡à¸·à¸à¸à¸´à¸à¸´à¸à¸±à¸¥
+fingerprinter-tab-content = ลายà¸à¸´à¹à¸§à¸¡à¸·à¸à¸à¸´à¸à¸´à¸à¸±à¸¥à¸£à¸§à¸à¸£à¸§à¸¡à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸²à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸¥à¸°à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¹à¸à¸·à¹à¸à¸ªà¸£à¹à¸²à¸à¹à¸à¸£à¹à¸à¸¥à¹à¸à¸à¸à¸à¸¸à¸ à¸à¸²à¸£à¹à¸à¹à¸¥à¸²à¸¢à¸à¸´à¹à¸§à¸¡à¸·à¸à¸à¸´à¸à¸´à¸à¸±à¸¥à¸à¸°à¸à¸³à¹à¸«à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸²à¸¡à¸à¸¸à¸à¸à¹à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¹à¸²à¸ ๠à¹à¸à¹ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+cryptominer-tab-title = à¸à¸±à¸§à¸à¸¸à¸à¹à¸«à¸£à¸µà¸¢à¸à¸à¸´à¸à¸´à¸à¸±à¸¥
+cryptominer-tab-content = à¸à¸±à¸§à¸à¸¸à¸à¹à¸«à¸£à¸µà¸¢à¸à¸à¸£à¸´à¸à¹à¸à¸à¸´à¸à¸´à¸à¸à¸¥à¹à¸à¹à¸à¸¥à¸±à¸à¸à¸²à¸£à¸à¸³à¸à¸§à¸à¸à¸à¸à¸£à¸°à¸à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸·à¹à¸à¸ªà¸£à¹à¸²à¸à¹à¸à¸´à¸à¸à¸£à¸´à¸à¹à¸à¸à¸´à¸à¸´à¸à¸±à¸¥ สà¸à¸£à¸´à¸à¸à¹à¸à¸¸à¸à¹à¸«à¸£à¸µà¸¢à¸à¸à¸´à¸à¸´à¸à¸±à¸¥à¸à¸°à¸à¸³à¹à¸«à¹à¸à¸¥à¸±à¸à¸à¸²à¸à¹à¸à¸à¹à¸à¸à¸£à¸µà¹à¸à¸à¸à¸à¸¸à¸à¸¥à¸à¸¥à¸ à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¸à¹à¸²à¸¥à¸ à¹à¸¥à¸°à¹à¸à¸´à¹à¸¡à¸à¹à¸²à¹à¸à¸à¹à¸²à¸à¸à¸à¸à¸¸à¸à¹à¸à¹ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+protections-close-button2 =
+ .aria-label = à¸à¸´à¸
+ .title = à¸à¸´à¸
+mobile-app-title = à¸à¸´à¸à¸à¸±à¹à¸à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¹à¸à¸©à¸à¸²à¹à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸·à¹à¸ à¹
+mobile-app-card-content = à¹à¸à¹à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸¡à¸·à¸à¸à¸·à¸à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¸à¸²à¸à¸à¸´à¸à¸à¸´à¸à¸à¸²à¸¡à¹à¸à¸©à¸à¸²
+mobile-app-links = à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹ { -brand-product-name } สำหรัภAndroidà¹à¸¥à¸°iOS
+lockwise-title = à¸à¸°à¹à¸¡à¹à¸¥à¸·à¸¡à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸µà¸
+lockwise-title-logged-in2 = à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸£à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸
+lockwise-header-content = { -lockwise-brand-name } à¹à¸à¹à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸à¸à¸à¸¸à¸à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัยà¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸
+lockwise-header-content-logged-in = à¹à¸à¹à¸à¹à¸¥à¸°à¸à¸´à¸à¸à¹à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸à¸à¸à¸¸à¸à¸à¸±à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัย
+protection-report-save-passwords-button = à¸à¸±à¸à¸à¸¶à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸
+ .title = à¸à¸±à¸à¸à¸¶à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸ { -lockwise-brand-short-name }
+protection-report-manage-passwords-button = à¸à¸±à¸à¸à¸²à¸£à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸
+ .title = à¸à¸±à¸à¸à¸²à¸£à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸ { -lockwise-brand-short-name }
+lockwise-mobile-app-title = à¸à¸³à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸à¸¸à¸à¸à¸µà¹
+lockwise-no-logins-card-content = à¹à¸à¹à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸ { -brand-short-name } à¸à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸·à¹à¸
+lockwise-app-links = { -lockwise-brand-name } สำหรัภAndroidà¹à¸¥à¸°iOS
+# Variables:
+# $count (Number) - Number of passwords exposed in data breaches.
+lockwise-scanned-text-breached-logins =
+ { $count ->
+ *[other] { $count } รหัสà¸à¹à¸²à¸à¸à¸²à¸à¸à¸¹à¸à¹à¸à¸´à¸à¹à¸à¸¢à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸£à¸±à¹à¸§à¹à¸«à¸¥
+ }
+# 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] รหัสà¸à¹à¸²à¸à¸à¸à¸à¸à¸¸à¸à¸à¸¹à¸à¹à¸à¹à¸à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัย
+ }
+lockwise-how-it-works-link = วิà¸à¸µà¸à¸²à¸£à¸à¸³à¸à¸²à¸
+monitor-title = à¹à¸«à¹à¹à¸£à¸²à¸à¹à¸§à¸¢à¸à¸à¸¢à¹à¸à¹à¸²à¸£à¸°à¸§à¸±à¸à¸à¸¹à¸à¸²à¸£à¸¥à¸°à¹à¸¡à¸´à¸à¸à¹à¸à¸¡à¸¹à¸¥
+monitor-link = วิà¸à¸µà¸à¸²à¸£à¸à¸³à¸à¸²à¸
+monitor-header-content-no-account = à¸à¸£à¸§à¸à¸ªà¸à¸ { -monitor-brand-name } à¹à¸à¸·à¹à¸à¸à¸¹à¸§à¹à¸²à¸à¸¸à¸à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸«à¸à¸¶à¹à¸à¸à¸à¸à¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥à¸à¹à¸à¸¡à¸¹à¸¥à¸«à¸£à¸·à¸à¹à¸¡à¹ à¹à¸¥à¸°à¸£à¸±à¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸£à¸±à¹à¸§à¹à¸«à¸¥à¹à¸«à¸¡à¹
+monitor-header-content-signed-in = { -monitor-brand-name } à¸à¸°à¹à¸à¸·à¸à¸à¸à¸¸à¸à¸«à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¸à¸¸à¸à¸à¸£à¸²à¸à¸à¹à¸à¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥à¸à¹à¸à¸¡à¸¹à¸¥
+monitor-sign-up-link = ลà¸à¸à¸°à¹à¸à¸µà¸¢à¸à¹à¸à¸·à¹à¸à¸£à¸±à¸à¸à¸²à¸£à¹à¸à¸·à¸à¸à¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥
+ .title = ลà¸à¸à¸°à¹à¸à¸µà¸¢à¸à¹à¸à¸·à¹à¸à¸£à¸±à¸à¸à¸²à¸£à¹à¸à¸·à¸à¸à¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥à¸à¸ { -monitor-brand-name }
+auto-scan = สà¹à¸à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¹à¸¡à¸·à¹à¸à¸§à¸±à¸à¸à¸µà¹
+monitor-emails-tooltip =
+ .title = à¸à¸¹à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸µà¹à¸¡à¸¥à¸à¸µà¹à¹à¸à¹à¸²à¸£à¸°à¸§à¸±à¸à¸à¸ { -monitor-brand-short-name }
+monitor-breaches-tooltip =
+ .title = à¸à¸¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸£à¸±à¹à¸§à¹à¸«à¸¥à¸à¸µà¹à¸à¸£à¸²à¸à¸à¸ { -monitor-brand-short-name }
+monitor-passwords-tooltip =
+ .title = à¸à¸¹à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸µà¹à¸à¸¹à¸à¹à¸à¸´à¸à¹à¸à¸¢à¸à¸ { -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] à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸µà¹à¸¡à¸¥à¸à¸µà¹à¸à¸¹à¸à¸à¸£à¸§à¸à¸ªà¸à¸
+ }
+# 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] à¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥à¸à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¹à¸£à¸²à¸£à¸¹à¹à¹à¸à¸´à¸à¸à¸¶à¹à¸à¸à¸µà¹à¹à¸à¹à¹à¸à¸´à¸à¹à¸à¸¢à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¸à¸¸à¸
+ }
+# 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] à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸£à¸±à¹à¸§à¹à¸«à¸¥à¸à¸µà¹à¸à¸à¸à¸¹à¸à¸à¸³à¹à¸à¸£à¸·à¹à¸à¸à¸«à¸¡à¸²à¸¢à¸§à¹à¸²à¹à¸à¹à¹à¸à¹à¸¥à¹à¸§
+ }
+# 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] รหัสà¸à¹à¸²à¸à¸à¸µà¹à¸à¸¹à¸à¹à¸à¸´à¸à¹à¸à¸¢à¹à¸à¸à¹à¸à¸à¹à¸«à¸§à¹à¸à¸±à¹à¸à¸«à¸¡à¸
+ }
+# 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] รหัสà¸à¹à¸²à¸à¸à¸µà¹à¸à¸¹à¸à¹à¸à¸´à¸à¹à¸à¸¢à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸£à¸±à¹à¸§à¹à¸«à¸¥à¸à¸µà¹à¸¢à¸±à¸à¹à¸¡à¹à¸à¸¹à¸à¹à¸à¹à¹à¸
+ }
+monitor-no-breaches-title = à¸à¹à¸²à¸§à¸à¸µ!
+monitor-no-breaches-description = à¸à¸¸à¸à¹à¸¡à¹à¸¡à¸µà¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥à¸à¸µà¹à¸à¸ หาà¸à¸¡à¸µà¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸ à¹à¸£à¸²à¸à¸°à¹à¸à¹à¸à¹à¸«à¹à¸à¸¸à¸à¸à¸£à¸²à¸
+monitor-view-report-link = à¸à¸¹à¸£à¸²à¸¢à¸à¸²à¸
+ .title = à¹à¸à¹à¹à¸à¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥à¸à¸ { -monitor-brand-short-name }
+monitor-breaches-unresolved-title = à¹à¸à¹à¹à¸à¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥à¸à¸à¸à¸à¸¸à¸
+monitor-breaches-unresolved-description = หลัà¸à¸à¸²à¸à¸à¸£à¸§à¸à¸ªà¸à¸à¸£à¸²à¸¢à¸¥à¸°à¹à¸à¸µà¸¢à¸à¸à¸à¸à¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥à¹à¸¥à¸°à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸à¸à¸à¹à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¸à¸¸à¸à¹à¸¥à¹à¸§ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¸£à¸·à¹à¸à¸à¸«à¸¡à¸²à¸¢à¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥à¸§à¹à¸²à¹à¸à¹à¹à¸à¹à¸¥à¹à¸§à¹à¸à¹
+monitor-manage-breaches-link = à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥
+ .title = à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥à¸à¸ { -monitor-brand-short-name }
+monitor-breaches-resolved-title = à¸à¸µ! à¸à¸¸à¸à¹à¸à¹à¹à¸à¹à¹à¸à¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥à¸à¸µà¹à¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¹à¸¥à¹à¸§
+monitor-breaches-resolved-description = หาà¸à¸à¸µà¹à¸¡à¸¥à¸à¸à¸à¸à¸¸à¸à¸à¸£à¸²à¸à¸à¹à¸à¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥à¹à¸«à¸¡à¹à¹à¸ ๠à¹à¸£à¸²à¸à¸°à¹à¸à¹à¸à¹à¸«à¹à¸à¸¸à¸à¸à¸£à¸²à¸
+# 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 } à¸à¸²à¸ { $numBreaches } à¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥à¸à¸¹à¸à¸à¸³à¹à¸à¸£à¸·à¹à¸à¸à¸«à¸¡à¸²à¸¢à¸§à¹à¸²à¹à¸à¹à¹à¸à¹à¸¥à¹à¸§
+ }
+# Variables:
+# $percentageResolved (Number) - Percentage of breaches marked as resolved by a user on Monitor.
+monitor-partial-breaches-percentage = { $percentageResolved }% à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹
+monitor-partial-breaches-motivation-title-start = à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¹à¸à¹à¸à¸²à¸!
+monitor-partial-breaches-motivation-title-middle = à¸à¸³à¸à¹à¸à¹à¸!
+monitor-partial-breaches-motivation-title-end = à¹à¸à¸·à¸à¸à¹à¸ªà¸£à¹à¸à¹à¸¥à¹à¸§! à¸à¸³à¸à¹à¸à¹à¸
+monitor-partial-breaches-motivation-description = à¹à¸à¹à¹à¸à¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥à¸à¸à¸à¸à¸¸à¸à¸à¸µà¹à¹à¸«à¸¥à¸·à¸à¸à¸ { -monitor-brand-short-name }
+monitor-resolve-breaches-link = à¹à¸à¹à¹à¸à¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥
+ .title = à¹à¸à¹à¹à¸à¸à¸²à¸£à¸£à¸±à¹à¸§à¹à¸«à¸¥à¸à¸ { -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 = à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸ªà¸±à¸à¸à¸¡à¸à¸à¸à¹à¸¥à¸à¹
+ .aria-label =
+ { $count ->
+ *[other] { $count } à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸ªà¸±à¸à¸à¸¡à¸à¸à¸à¹à¸¥à¸à¹ ({ $percentage }%)
+ }
+bar-tooltip-cookie =
+ .title = à¸à¸¸à¸à¸à¸µà¹à¸à¸´à¸à¸à¸²à¸¡à¸à¹à¸²à¸¡à¹à¸à¸à¹
+ .aria-label =
+ { $count ->
+ *[other] { $count } à¸à¸¸à¸à¸à¸µà¹à¸à¸´à¸à¸à¸²à¸¡à¸à¹à¸²à¸¡à¹à¸à¸à¹ ({ $percentage }%)
+ }
+bar-tooltip-tracker =
+ .title = à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¹à¸à¸·à¹à¸à¸«à¸²
+ .aria-label =
+ { $count ->
+ *[other] { $count } à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¹à¸à¸·à¹à¸à¸«à¸² ({ $percentage }%)
+ }
+bar-tooltip-fingerprinter =
+ .title = ลายà¸à¸´à¹à¸§à¸¡à¸·à¸à¸à¸´à¸à¸´à¸à¸±à¸¥
+ .aria-label =
+ { $count ->
+ *[other] { $count } ลายà¸à¸´à¹à¸§à¸¡à¸·à¸à¸à¸´à¸à¸´à¸à¸±à¸¥ ({ $percentage }%)
+ }
+bar-tooltip-cryptominer =
+ .title = à¸à¸±à¸§à¸à¸¸à¸à¹à¸«à¸£à¸µà¸¢à¸à¸à¸´à¸à¸´à¸à¸±à¸¥
+ .aria-label =
+ { $count ->
+ *[other] { $count } à¸à¸±à¸§à¸à¸¸à¸à¹à¸«à¸£à¸µà¸¢à¸à¸à¸´à¸à¸´à¸à¸±à¸¥ ({ $percentage }%)
+ }
diff --git a/browser/browser/protectionsPanel.ftl b/browser/browser/protectionsPanel.ftl
new file mode 100644
index 00000000000..3b99a8455b5
--- /dev/null
+++ b/browser/browser/protectionsPanel.ftl
@@ -0,0 +1,113 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+protections-panel-sendreportview-error = à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸à¸²à¸£à¸ªà¹à¸à¸£à¸²à¸¢à¸à¸²à¸ à¹à¸à¸£à¸à¸¥à¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸à¹à¸à¸ ายหลัà¸
+
+# A link shown when ETP is disabled for a site. Opens the breakage report subview when clicked.
+protections-panel-sitefixedsendreport-label = à¹à¸à¸à¹à¸à¸¹à¸à¸à¹à¸à¸¡à¹à¸à¸¡? สà¹à¸à¸£à¸²à¸¢à¸à¸²à¸
+
+## These strings are used to define the different levels of
+## Enhanced Tracking Protection.
+
+protections-popup-footer-protection-label-strict = à¹à¸à¹à¸¡à¸à¸§à¸
+ .label = à¹à¸à¹à¸¡à¸à¸§à¸
+protections-popup-footer-protection-label-custom = à¸à¸³à¸«à¸à¸à¹à¸à¸
+ .label = à¸à¸³à¸«à¸à¸à¹à¸à¸
+protections-popup-footer-protection-label-standard = มาà¸à¸£à¸à¸²à¸
+ .label = มาà¸à¸£à¸à¸²à¸
+
+##
+
+# The text a screen reader speaks when focused on the info button.
+protections-panel-etp-more-info =
+ .aria-label = รายละà¹à¸à¸µà¸¢à¸à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡à¸à¸µà¹à¸¡à¸²à¸à¸à¸¶à¹à¸
+
+protections-panel-etp-on-header = à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡à¸à¸µà¹à¸¡à¸²à¸à¸à¸¶à¹à¸à¸à¸¹à¸ à¹à¸à¸´à¸ สำหรัà¸à¹à¸à¸à¹à¸à¸µà¹
+protections-panel-etp-off-header = à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡à¸à¸µà¹à¸¡à¸²à¸à¸à¸¶à¹à¸à¸à¸¹à¸ à¸à¸´à¸ สำหรัà¸à¹à¸à¸à¹à¸à¸µà¹
+
+# The link to be clicked to open the sub-panel view
+protections-panel-site-not-working = à¹à¸à¸à¹à¹à¸¡à¹à¸à¸³à¸à¸²à¸?
+
+# The heading/title of the sub-panel view
+protections-panel-site-not-working-view =
+ .title = à¹à¸à¸à¹à¹à¸¡à¹à¸à¸³à¸à¸²à¸?
+
+## 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 = à¸à¸³à¹à¸¡?
+protections-panel-not-blocking-why-etp-on-tooltip = à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¹à¸«à¸¥à¹à¸²à¸à¸µà¹à¸à¸²à¸à¸à¸³à¹à¸«à¹à¸à¸à¸à¹à¸à¸£à¸°à¸à¸à¸à¸à¸à¸à¸à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸ªà¸µà¸¢à¸«à¸²à¸¢à¹à¸à¹ หาà¸à¹à¸¡à¹à¸¡à¸µà¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡ à¸à¸¸à¹à¸¡ à¹à¸à¸à¸à¸à¸£à¹à¸¡ à¹à¸¥à¸°à¸à¸´à¸¥à¸à¹à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸²à¸à¸ªà¹à¸§à¸à¸à¸²à¸à¹à¸¡à¹à¸à¸³à¸à¸²à¸
+protections-panel-not-blocking-why-etp-off-tooltip = à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸à¸±à¹à¸à¸«à¸¡à¸à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸¹à¸à¹à¸«à¸¥à¸à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¸à¸¹à¸à¸à¸´à¸
+
+##
+
+protections-panel-no-trackers-found = à¹à¸¡à¹à¸¡à¸µà¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸à¸µà¹ { -brand-short-name } รูà¹à¸à¸±à¸à¸à¸¹à¸à¸à¸£à¸§à¸à¸à¸à¸à¸µà¹à¸«à¸à¹à¸²à¸à¸µà¹
+
+protections-panel-content-blocking-tracking-protection = à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¹à¸à¸·à¹à¸à¸«à¸²
+
+protections-panel-content-blocking-socialblock = à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸ªà¸±à¸à¸à¸¡à¸à¸à¸à¹à¸¥à¸à¹
+protections-panel-content-blocking-cryptominers-label = à¸à¸±à¸§à¸à¸¸à¸à¹à¸«à¸£à¸µà¸¢à¸à¸à¸´à¸à¸´à¸à¸±à¸¥
+protections-panel-content-blocking-fingerprinters-label = ลายà¸à¸´à¹à¸§à¸¡à¸·à¸à¸à¸´à¸à¸´à¸à¸±à¸¥
+
+## 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 = à¸à¸´à¸à¸à¸±à¹à¸à¹à¸¥à¹à¸§
+protections-panel-not-blocking-label = à¸à¸à¸¸à¸à¸²à¸à¹à¸¥à¹à¸§
+protections-panel-not-found-label = à¸à¸£à¸§à¸à¹à¸¡à¹à¸à¸
+
+##
+
+protections-panel-settings-label = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸
+# This should match the "appmenuitem-protection-dashboard-title" string in browser/appmenu.ftl.
+protections-panel-protectionsdashboard-label = à¹à¸à¸à¸à¸à¸£à¹à¸à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸
+
+## 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 = à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¸«à¸²à¸à¸à¸¸à¸à¸¡à¸µà¸à¸±à¸à¸«à¸²à¸à¸±à¸:
+
+# The list items, shown in a
+protections-panel-site-not-working-view-issue-list-login-fields = à¸à¹à¸à¸à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸
+protections-panel-site-not-working-view-issue-list-forms = à¹à¸à¸à¸à¸à¸£à¹à¸¡
+protections-panel-site-not-working-view-issue-list-payments = à¸à¸²à¸£à¸à¸³à¸£à¸°à¹à¸à¸´à¸
+protections-panel-site-not-working-view-issue-list-comments = à¸à¸§à¸²à¸¡à¸à¸´à¸à¹à¸«à¹à¸
+protections-panel-site-not-working-view-issue-list-videos = วิà¸à¸µà¹à¸
+
+protections-panel-site-not-working-view-send-report = สà¹à¸à¸£à¸²à¸¢à¸à¸²à¸
+
+##
+
+protections-panel-cross-site-tracking-cookies = à¸à¸¸à¸à¸à¸µà¹à¹à¸«à¸¥à¹à¸²à¸à¸µà¹à¸à¸´à¸à¸à¸²à¸¡à¸à¸¸à¸à¸à¸²à¸à¹à¸à¸à¹à¸«à¸à¸¶à¹à¸à¹à¸à¸¢à¸±à¸à¸à¸µà¸à¹à¸à¸à¹à¸«à¸à¸¶à¹à¸à¹à¸à¸·à¹à¸à¸£à¸§à¸à¸£à¸§à¸¡à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸¸à¸à¸à¸³à¸à¸²à¸à¸à¸à¸à¹à¸¥à¸à¹ à¸à¸§à¸à¸¡à¸±à¸à¸à¸¹à¸à¸à¸±à¹à¸à¸à¹à¸²à¹à¸à¸¢à¸à¸¸à¸à¸à¸¥à¸à¸µà¹à¸ªà¸²à¸¡à¹à¸à¹à¸ à¸à¸±à¸à¹à¸à¸©à¸à¸²à¹à¸¥à¸°à¸à¸£à¸´à¸©à¸±à¸à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹
+protections-panel-cryptominers = à¸à¸±à¸§à¸à¸¸à¸à¹à¸«à¸£à¸µà¸¢à¸à¸à¸£à¸´à¸à¹à¸à¸à¸´à¸à¸´à¸à¸à¸¥à¹à¸à¹à¸à¸¥à¸±à¸à¸à¸²à¸£à¸à¸³à¸à¸§à¸à¸à¸à¸à¸£à¸°à¸à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸·à¹à¸à¸ªà¸£à¹à¸²à¸à¹à¸à¸´à¸à¸à¸£à¸´à¸à¹à¸à¸à¸´à¸à¸´à¸à¸±à¸¥ สà¸à¸£à¸´à¸à¸à¹à¸à¸¸à¸à¹à¸«à¸£à¸µà¸¢à¸à¸à¸´à¸à¸´à¸à¸±à¸¥à¸à¸°à¸à¸³à¹à¸«à¹à¸à¸¥à¸±à¸à¸à¸²à¸à¹à¸à¸à¹à¸à¸à¸£à¸µà¹à¸à¸à¸à¸à¸¸à¸à¸¥à¸à¸¥à¸ à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¸à¹à¸²à¸¥à¸ à¹à¸¥à¸°à¹à¸à¸´à¹à¸¡à¸à¹à¸²à¹à¸à¸à¹à¸²à¸à¸à¸à¸à¸¸à¸à¹à¸à¹
+protections-panel-fingerprinters = ลายà¸à¸´à¹à¸§à¸¡à¸·à¸à¸à¸´à¸à¸´à¸à¸±à¸¥à¸£à¸§à¸à¸£à¸§à¸¡à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸²à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸¥à¸°à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¹à¸à¸·à¹à¸à¸ªà¸£à¹à¸²à¸à¹à¸à¸£à¹à¸à¸¥à¹à¸à¸à¸à¸à¸¸à¸ à¸à¸²à¸£à¹à¸à¹à¸¥à¸²à¸¢à¸à¸´à¹à¸§à¸¡à¸·à¸à¸à¸´à¸à¸´à¸à¸±à¸¥à¸à¸°à¸à¸³à¹à¸«à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸²à¸¡à¸à¸¸à¸à¸à¹à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¹à¸²à¸ ๠à¹à¸à¹
+protections-panel-tracking-content = à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸²à¸à¹à¸«à¸¥à¸à¹à¸à¸©à¸à¸² วิà¸à¸µà¹à¸ à¹à¸¥à¸°à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸·à¹à¸ ๠à¸à¸à¸à¹à¸§à¹à¸à¸à¸µà¹à¸¡à¸µà¹à¸à¹à¸à¸à¸´à¸à¸à¸²à¸¡ à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡à¸à¸°à¸à¸³à¹à¸«à¹à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸«à¸¥à¸à¹à¸£à¹à¸§à¸à¸¶à¹à¸ à¹à¸à¹à¸à¸¸à¹à¸¡à¸à¸²à¸à¸à¸¸à¹à¸¡ à¸à¸à¸£à¹à¸¡ à¹à¸¥à¸°à¹à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸²à¸à¹à¸¡à¹à¸à¸³à¸à¸²à¸
+protections-panel-social-media-trackers = à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢à¸ªà¸±à¸à¸à¸¡à¸à¸à¸à¹à¸¥à¸à¹à¸à¸°à¸§à¸²à¸à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸·à¹à¸ ๠à¹à¸à¸·à¹à¸à¸à¸´à¸à¸à¸²à¸¡à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸¸à¸à¸à¸³ à¹à¸¥à¸°à¸à¸¹à¸à¸²à¸à¸à¸à¸à¹à¸¥à¸à¹ à¸à¸¶à¹à¸à¸à¸³à¹à¸«à¹à¸à¸£à¸´à¸©à¸±à¸à¸ªà¸±à¸à¸à¸¡à¸à¸à¸à¹à¸¥à¸à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸¸à¸à¸à¸à¸à¹à¸«à¸à¸·à¸à¸à¸²à¸à¸à¸µà¹à¸à¸¸à¸à¹à¸à¹à¸à¸à¸±à¸à¹à¸à¹à¸à¸£à¹à¸à¸¥à¹à¸ªà¸±à¸à¸à¸¡à¸à¸à¸à¹à¸¥à¸à¹à¸à¸à¸à¸à¸¸à¸
+
+protections-panel-description-shim-allowed = à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸à¸²à¸à¸à¸±à¸§à¸à¸µà¹à¸à¸¹à¸à¸à¸³à¹à¸à¸£à¸·à¹à¸à¸à¸«à¸¡à¸²à¸¢à¹à¸§à¹à¸à¹à¸²à¸à¸¥à¹à¸²à¸à¸à¸µà¹à¹à¸à¹à¸à¸¹à¸à¹à¸¥à¸´à¸à¸à¸´à¸à¸à¸±à¹à¸à¸à¸à¸«à¸à¹à¸²à¸à¸µà¹à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸¸à¸à¸¡à¸µà¸à¸²à¸£à¹à¸à¹à¸à¸à¸à¸à¸±à¸à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¹à¸«à¸¥à¹à¸²à¸à¸±à¹à¸
+protections-panel-description-shim-allowed-learn-more = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+protections-panel-shim-allowed-indicator =
+ .tooltiptext = à¹à¸¥à¸´à¸à¸à¸´à¸à¸à¸±à¹à¸à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸à¸²à¸à¸ªà¹à¸§à¸à¹à¸¥à¹à¸§
+
+protections-panel-content-blocking-manage-settings =
+ .label = à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸
+ .accesskey = M
+
+protections-panel-content-blocking-breakage-report-view =
+ .title = รายà¸à¸²à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸à¹à¸à¸²à¸à¹à¸¡à¹à¹à¸à¹
+protections-panel-content-blocking-breakage-report-view-description = à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸à¸²à¸à¸à¸±à¸§à¸à¸²à¸à¸à¸³à¹à¸«à¹à¹à¸à¸´à¸à¸à¸±à¸à¸«à¸²à¸à¸±à¸à¸à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸à¹ à¸à¸²à¸£à¸£à¸²à¸¢à¸à¸²à¸à¸à¸±à¸à¸«à¸² à¸à¹à¹à¸à¹à¸²à¸à¸±à¸à¸à¸¸à¸à¸à¹à¸§à¸¢à¸à¸³à¹à¸«à¹ { -brand-short-name } à¸à¸µà¸à¸¶à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¸ ๠à¸à¸ à¸à¸²à¸£à¸£à¸²à¸¢à¸à¸²à¸à¸à¸µà¹à¸à¸°à¸ªà¹à¸ URL à¸à¸£à¹à¸à¸¡à¸à¸±à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¸«à¹à¸à¸±à¸ Mozilla
+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 = à¸à¸²à¸à¹à¸¥à¸·à¸à¸: à¸à¸à¸´à¸à¸²à¸¢à¸à¸±à¸à¸«à¸²
+protections-panel-content-blocking-breakage-report-view-collection-comments-label =
+ .aria-label = à¸à¸²à¸à¹à¸¥à¸·à¸à¸: à¸à¸à¸´à¸à¸²à¸¢à¸à¸±à¸à¸«à¸²
+protections-panel-content-blocking-breakage-report-view-cancel =
+ .label = ยà¸à¹à¸¥à¸´à¸
+protections-panel-content-blocking-breakage-report-view-send-report =
+ .label = สà¹à¸à¸£à¸²à¸¢à¸à¸²à¸
diff --git a/browser/browser/safeMode.ftl b/browser/browser/safeMode.ftl
new file mode 100644
index 00000000000..ba79130c800
--- /dev/null
+++ b/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 = à¹à¸à¸´à¸ { -brand-short-name } à¹à¸à¹à¸«à¸¡à¸à¹à¸à¹à¹à¸à¸à¸±à¸à¸«à¸²à¸«à¸£à¸·à¸à¹à¸¡à¹?
+ .style = max-width: 400px
+start-troubleshoot-mode =
+ .label = à¹à¸à¸´à¸
+refresh-profile =
+ .label = ลà¹à¸²à¸ { -brand-short-name } à¹à¸«à¸¡à¹
+troubleshoot-mode-description = à¹à¸à¹à¹à¸«à¸¡à¸à¸à¸´à¹à¸¨à¸©à¸à¸µà¹à¸à¸à¸ { -brand-short-name } à¹à¸à¸·à¹à¸à¸§à¸´à¸à¸´à¸à¸à¸±à¸¢à¸à¸±à¸à¸«à¸² สà¹à¸§à¸à¸à¸¢à¸²à¸¢à¹à¸¥à¸°à¸à¸²à¸£à¸à¸£à¸±à¸à¹à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¸à¸°à¸à¸¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸±à¹à¸§à¸à¸£à¸²à¸§
+skip-troubleshoot-refresh-profile = à¸à¸¸à¸à¸¢à¸±à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¹à¸²à¸¡à¸à¸²à¸£à¹à¸à¹à¹à¸à¸à¸±à¸à¸«à¸²à¹à¸¥à¸°à¸à¸±à¹à¸à¸à¹à¸² { -brand-short-name } à¹à¸«à¸¡à¹à¹à¸à¸à¹à¸à¹
+# Shown on the safe mode dialog after multiple startup crashes.
+auto-safe-mode-description = { -brand-short-name } à¸à¸¹à¸à¸à¸´à¸à¹à¸à¸¢à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸à¸à¸à¸°à¹à¸£à¸´à¹à¸¡ à¸à¸¶à¹à¸à¸à¸²à¸à¸¡à¸µà¸ªà¸²à¹à¸«à¸à¸¸à¸¡à¸²à¸à¸²à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸«à¸£à¸·à¸à¸à¸±à¸à¸«à¸²à¸à¸·à¹à¸ ๠à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸¥à¸à¸à¹à¸à¹à¹à¸à¸à¸±à¸à¸«à¸²à¹à¸à¸¢à¸à¸²à¸£à¹à¸à¹à¹à¸à¸à¸±à¸à¸«à¸²à¹à¸à¹à¸«à¸¡à¸à¸à¸¥à¸à¸à¸ ัย
diff --git a/browser/browser/safebrowsing/blockedSite.ftl b/browser/browser/safebrowsing/blockedSite.ftl
new file mode 100644
index 00000000000..23204238473
--- /dev/null
+++ b/browser/browser/safebrowsing/blockedSite.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/.
+
+safeb-blocked-phishing-page-title = à¹à¸à¸à¹à¸«à¸¥à¸à¸à¸¥à¸§à¸à¸à¹à¸²à¸à¸«à¸à¹à¸²
+safeb-blocked-malware-page-title = à¸à¸²à¸£à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸²à¸à¹à¸à¹à¸à¸à¸±à¸à¸à¸£à¸²à¸¢à¸à¹à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸
+safeb-blocked-unwanted-page-title = à¹à¸à¸à¹à¸à¹à¸²à¸à¸«à¸à¹à¸²à¸à¸²à¸à¸¡à¸µà¹à¸à¸£à¹à¸à¸£à¸¡à¸à¸µà¹à¹à¸à¹à¸à¸à¸±à¸à¸à¸£à¸²à¸¢
+safeb-blocked-harmful-page-title = à¹à¸à¸à¹à¸à¹à¸²à¸à¸«à¸à¹à¸²à¸à¸²à¸à¸¡à¸µà¸¡à¸±à¸¥à¹à¸§à¸£à¹
+safeb-blocked-phishing-page-short-desc = { -brand-short-name } à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸µà¹à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸«à¸à¹à¸²à¸à¸²à¸à¸«à¸¥à¸à¸à¸¥à¸§à¸à¸à¸¸à¸à¹à¸«à¹à¸à¸³à¸à¸²à¸à¸à¸¢à¹à¸²à¸à¸à¸µà¹à¹à¸à¹à¸à¸à¸±à¸à¸à¸£à¸²à¸¢à¸à¸¢à¹à¸²à¸à¸à¸´à¸à¸à¸±à¹à¸à¸à¸à¸à¸à¹à¹à¸§à¸£à¹à¸«à¸£à¸·à¸à¹à¸à¸´à¸à¹à¸à¸¢à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¹à¸§à¸à¸à¸¸à¸à¸à¸¥à¸à¸¢à¹à¸²à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸«à¸£à¸·à¸à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸
+safeb-blocked-malware-page-short-desc = { -brand-short-name } à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸µà¹à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸«à¸à¹à¸²à¸à¸²à¸à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸´à¸à¸à¸±à¹à¸à¸à¸à¸à¸à¹à¹à¸§à¸£à¹à¸à¸µà¹à¸à¸£à¸°à¸ªà¸à¸à¹à¸£à¹à¸²à¸¢à¸à¸µà¹à¸à¸²à¸à¸à¹à¸¡à¸¢à¸«à¸£à¸·à¸à¸¥à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¹à¸§à¸à¸à¸¸à¸à¸à¸¥à¹à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸
+safeb-blocked-unwanted-page-short-desc = { -brand-short-name } à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸µà¹à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸«à¸à¹à¸²à¸à¸²à¸à¸à¸¢à¸²à¸¢à¸²à¸¡à¸«à¸¥à¸à¸à¸¥à¸§à¸à¸à¸¸à¸à¹à¸«à¹à¸à¸´à¸à¸à¸±à¹à¸à¹à¸à¸£à¹à¸à¸£à¸¡à¸à¸µà¹à¹à¸à¹à¸à¸à¸±à¸à¸à¸£à¸²à¸¢à¸à¹à¸à¸à¸£à¸°à¸ªà¸à¸à¸²à¸£à¸à¹à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¸à¸à¸à¸à¸¸à¸ (à¸à¸±à¸§à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸ à¹à¸à¸¢à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¸«à¸à¹à¸²à¹à¸£à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸ªà¸à¸à¹à¸à¸©à¸à¸²à¸à¸´à¹à¸¨à¸©à¹à¸à¸«à¸à¹à¸²à¸à¸µà¹à¸à¸¸à¸à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡)
+safeb-blocked-harmful-page-short-desc = { -brand-short-name } à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸µà¹à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸«à¸à¹à¸²à¸à¸²à¸à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸´à¸à¸à¸±à¹à¸à¹à¸à¸à¸à¸µà¹à¹à¸à¹à¸à¸à¸±à¸à¸à¸£à¸²à¸¢à¸à¸µà¹à¸à¹à¸¡à¸¢à¸«à¸£à¸·à¸à¸¥à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¸à¸¸à¸ (à¸à¸±à¸§à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸ รูà¸à¸à¹à¸²à¸¢, รหัสà¸à¹à¸²à¸, à¸à¹à¸à¸à¸§à¸²à¸¡ à¹à¸¥à¸°à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸)
+safeb-palm-advisory-desc = à¸à¸³à¹à¸à¸°à¸à¸³à¹à¸à¸¢ { $advisoryname }
+safeb-palm-accept-label = ยà¹à¸à¸à¸à¸¥à¸±à¸
+safeb-palm-see-details-label = à¸à¸¹à¸£à¸²à¸¢à¸¥à¸°à¹à¸à¸µà¸¢à¸
+safeb-blocked-phishing-page-error-desc-override = { $sitename } à¸à¸¹à¸à¸£à¸²à¸¢à¸à¸²à¸à¸§à¹à¸²à¹à¸à¹à¸à¹à¸à¸à¹à¸«à¸¥à¸à¸à¸¥à¸§à¸ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸ รายà¸à¸²à¸à¸à¸±à¸à¸«à¸²à¸à¸²à¸£à¸à¸£à¸§à¸à¸à¸ หรืภà¹à¸¡à¹à¸ªà¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸ªà¸µà¹à¸¢à¸ à¹à¸¥à¸°à¹à¸à¸¢à¸±à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัยà¸à¸µà¹
+safeb-blocked-phishing-page-error-desc-no-override = { $sitename } à¸à¸¹à¸à¸£à¸²à¸¢à¸à¸²à¸à¸§à¹à¸²à¹à¸à¹à¸à¹à¸à¸à¹à¸«à¸¥à¸à¸à¸¥à¸§à¸ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸ รายà¸à¸²à¸à¸à¸±à¸à¸«à¸²à¸à¸²à¸£à¸à¸£à¸§à¸à¸à¸
+safeb-blocked-phishing-page-learn-more = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¹à¸à¸à¹à¸«à¸¥à¸à¸à¸¥à¸§à¸à¹à¸¥à¸°à¸£à¸°à¸à¸à¸à¸´à¸à¸à¸´à¹à¸à¹à¸à¹à¸à¸µà¹ www.antiphishing.org à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸£à¸°à¸à¸à¸à¸´à¸à¸à¸´à¹à¸à¹à¸¥à¸°à¸£à¸°à¸à¸à¸à¹à¸à¸à¸à¸±à¸à¸¡à¸±à¸¥à¹à¸§à¸£à¹à¸à¸à¸ { -brand-short-name } à¹à¸à¹à¸à¸µà¹ support.mozilla.org
+safeb-blocked-malware-page-error-desc-override-sumo = { $sitename } à¹à¸à¹à¸à¸¹à¸à¸£à¸²à¸¢à¸à¸²à¸à¸§à¹à¸²à¸¡à¸µà¸à¸à¸à¸à¹à¹à¸§à¸£à¹à¸à¸µà¹à¹à¸à¹à¸à¸à¸±à¸à¸à¸£à¸²à¸¢ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸´à¸à¹à¸à¸¢à¸à¸§à¸²à¸¡à¹à¸ªà¸µà¹à¸¢à¸à¹à¸¥à¸°à¹à¸à¸¢à¸±à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัยà¸à¸µà¹à¹à¸à¹
+safeb-blocked-malware-page-error-desc-no-override-sumo = { $sitename } à¹à¸à¹à¸à¸¹à¸à¸£à¸²à¸¢à¸à¸²à¸à¸§à¹à¸²à¸¡à¸µà¸à¸à¸à¸à¹à¹à¸§à¸£à¹à¸à¸µà¹à¹à¸à¹à¸à¸à¸±à¸à¸à¸£à¸²à¸¢
+safeb-blocked-malware-page-learn-more-sumo = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸£à¸°à¸à¸à¸à¸´à¸à¸à¸´à¹à¸à¹à¸¥à¸°à¸£à¸°à¸à¸à¸à¹à¸à¸à¸à¹à¸à¸¡à¸±à¸¥à¹à¸§à¸£à¹à¸à¸à¸ { -brand-short-name } à¹à¸à¹à¸à¸µà¹ support.mozilla.org
+safeb-blocked-unwanted-page-error-desc-override = { $sitename } à¸à¸¹à¸à¸£à¸²à¸¢à¸à¸²à¸à¸§à¹à¸²à¸¡à¸µà¸à¸à¸à¸à¹à¹à¸§à¸£à¹à¸à¸µà¹à¹à¸à¹à¸à¸à¸±à¸à¸à¸£à¸²à¸¢ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸ à¹à¸¡à¹à¸ªà¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸ªà¸µà¹à¸¢à¸ à¹à¸¥à¸°à¹à¸à¸¢à¸±à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัยà¸à¸µà¹
+safeb-blocked-unwanted-page-error-desc-no-override = { $sitename } à¸à¸¹à¸à¸£à¸²à¸¢à¸à¸²à¸à¸§à¹à¸²à¸¡à¸µà¸à¸à¸à¸à¹à¹à¸§à¸£à¹à¸à¸µà¹à¹à¸à¹à¸à¸à¸±à¸à¸à¸£à¸²à¸¢
+safeb-blocked-unwanted-page-learn-more = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸à¸à¸à¹à¹à¸§à¸£à¹à¸à¸µà¹à¹à¸à¹à¸à¸à¸±à¸à¸à¸£à¸²à¸¢à¹à¸¥à¸°à¹à¸¡à¹à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¹à¸à¸µà¹ à¸à¹à¸¢à¸à¸²à¸¢à¸à¸à¸à¸à¹à¹à¸§à¸£à¹à¸à¸µà¹à¹à¸¡à¹à¸à¹à¸à¸à¸à¸²à¸£ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸£à¸°à¸à¸à¸à¸´à¸à¸à¸´à¹à¸à¹à¸¥à¸°à¸£à¸°à¸à¸à¸à¹à¸à¸à¸à¸±à¸à¸¡à¸±à¸¥à¹à¸§à¸£à¹à¸à¸à¸ { -brand-short-name } à¹à¸à¹à¸à¸µà¹ support.mozilla.org
+safeb-blocked-harmful-page-error-desc-override = { $sitename } à¸à¸¹à¸à¸£à¸²à¸¢à¸à¸²à¸à¸§à¹à¸²à¸¡à¸µà¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸µà¹à¸à¸²à¸à¹à¸à¹à¸à¸à¸±à¸à¸à¸£à¸²à¸¢ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸ à¹à¸¡à¹à¸ªà¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸ªà¸µà¹à¸¢à¸ à¹à¸¥à¸°à¹à¸à¸¢à¸±à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัยà¸à¸µà¹
+safeb-blocked-harmful-page-error-desc-no-override = { $sitename } à¸à¸¹à¸à¸£à¸²à¸¢à¸à¸²à¸à¸§à¹à¸²à¸¡à¸µà¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸µà¹à¸à¸²à¸à¹à¸à¹à¸à¸à¸±à¸à¸à¸£à¸²à¸¢
+safeb-blocked-harmful-page-learn-more = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸£à¸°à¸à¸à¸à¸´à¸à¸à¸´à¹à¸à¹à¸¥à¸°à¸£à¸°à¸à¸à¸à¹à¸à¸à¸à¹à¸à¸¡à¸±à¸¥à¹à¸§à¸£à¹à¸à¸à¸ { -brand-short-name } à¹à¸à¹à¸à¸µà¹ support.mozilla.org
+safeb-palm-notdeceptive =
+ .label = à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¹à¸à¸à¹à¸«à¸¥à¸à¸à¸¥à¸§à¸â¦
+ .accesskey = ห
diff --git a/browser/browser/sanitize.ftl b/browser/browser/sanitize.ftl
new file mode 100644
index 00000000000..bf2a01ec5ce
--- /dev/null
+++ b/browser/browser/sanitize.ftl
@@ -0,0 +1,89 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-prefs =
+ .title = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸²à¸£à¸¥à¹à¸²à¸à¸à¸£à¸°à¸§à¸±à¸à¸´
+ .style = width: 34em
+sanitize-prefs-style =
+ .style = width: 17em
+dialog-title =
+ .title = ลà¹à¸²à¸à¸à¸£à¸°à¸§à¸±à¸à¸´à¸¥à¹à¸²à¸ªà¸¸à¸
+ .style = width: 34em
+# When "Time range to clear" is set to "Everything", this message is used for the
+# title instead of dialog-title.
+dialog-title-everything =
+ .title = ลà¹à¸²à¸à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸±à¹à¸à¸«à¸¡à¸
+ .style = width: 34em
+clear-data-settings-label = à¹à¸¡à¸·à¹à¸à¸à¸´à¸ { -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 = à¸à¹à¸§à¸à¹à¸§à¸¥à¸²à¸à¸µà¹à¸à¸°à¸¥à¹à¸²à¸:{ " " }
+ .accesskey = à¸
+clear-time-duration-value-last-hour =
+ .label = à¸à¸±à¹à¸§à¹à¸¡à¸à¸à¸µà¹à¹à¸¥à¹à¸§
+clear-time-duration-value-last-2-hours =
+ .label = สà¸à¸à¸à¸±à¹à¸§à¹à¸¡à¸à¸à¸µà¹à¹à¸¥à¹à¸§
+clear-time-duration-value-last-4-hours =
+ .label = สีà¹à¸à¸±à¹à¸§à¹à¸¡à¸à¸à¸µà¹à¹à¸¥à¹à¸§
+clear-time-duration-value-today =
+ .label = วัà¸à¸à¸µà¹
+clear-time-duration-value-everything =
+ .label = à¸à¸±à¹à¸à¸«à¸¡à¸
+clear-time-duration-suffix =
+ .value = { "" }
+
+## These strings are used as section comments and checkboxes
+## to select the items to remove
+
+history-section-label = à¸à¸£à¸°à¸§à¸±à¸à¸´
+item-history-and-downloads =
+ .label = à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸¥à¸°à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+ .accesskey = à¸
+item-cookies =
+ .label = à¸à¸¸à¸à¸à¸µà¹
+ .accesskey = à¸
+item-active-logins =
+ .label = à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸µà¹à¹à¸à¹à¸à¸²à¸à¸à¸¢à¸¹à¹
+ .accesskey = à¸
+item-cache =
+ .label = à¹à¸à¸
+ .accesskey = à¸
+item-form-search-history =
+ .label = à¸à¸£à¸°à¸§à¸±à¸à¸´à¹à¸à¸à¸à¸à¸£à¹à¸¡à¹à¸¥à¸°à¸à¸²à¸£à¸à¹à¸à¸«à¸²
+ .accesskey = ว
+data-section-label = à¸à¹à¸à¸¡à¸¹à¸¥
+item-site-preferences =
+ .label = à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¹à¸à¸à¹
+ .accesskey = ห
+item-site-settings =
+ .label = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¹à¸à¸à¹
+ .accesskey = S
+item-offline-apps =
+ .label = à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸à¸à¹à¸¥à¸à¹
+ .accesskey = à¸
+sanitize-everything-undo-warning = à¸à¸²à¸£à¸à¸£à¸°à¸à¸³à¸à¸µà¹à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸¥à¸´à¸à¸à¸³à¹à¸à¹
+window-close =
+ .key = w
+sanitize-button-ok =
+ .label = ลà¹à¸²à¸à¸à¸à¸à¸à¸µà¹
+# 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 = à¸à¸³à¸¥à¸±à¸à¸¥à¹à¸²à¸
+# 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 = à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸°à¸à¸¹à¸à¸¥à¹à¸²à¸
+# 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 = รายà¸à¸²à¸£à¸à¸µà¹à¹à¸¥à¸·à¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸°à¸à¸¹à¸à¸¥à¹à¸²à¸
diff --git a/browser/browser/screenshots.ftl b/browser/browser/screenshots.ftl
new file mode 100644
index 00000000000..fcc29d6506b
--- /dev/null
+++ b/browser/browser/screenshots.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/.
+
+screenshot-toolbarbutton =
+ .label = ภาà¸à¸«à¸à¹à¸²à¸à¸
+ .tooltiptext = à¸à¸±à¸à¸ าà¸à¸«à¸à¹à¸²à¸à¸
+screenshot-shortcut =
+ .key = S
+screenshots-instructions = ลาà¸à¸«à¸£à¸·à¸à¸à¸¥à¸´à¸à¸à¸µà¹à¸«à¸à¹à¸²à¹à¸à¸·à¹à¸à¹à¸¥à¸·à¸à¸à¸à¸£à¸´à¹à¸§à¸ à¸à¸ ESC à¹à¸à¸·à¹à¸à¸¢à¸à¹à¸¥à¸´à¸
+screenshots-cancel-button = ยà¸à¹à¸¥à¸´à¸
+screenshots-save-visible-button = à¸à¸±à¸à¸à¸¶à¸à¸ªà¹à¸§à¸à¸à¸µà¹à¸¡à¸à¸à¹à¸«à¹à¸
+screenshots-save-page-button = à¸à¸±à¸à¸à¸¶à¸à¹à¸à¹à¸¡à¸«à¸à¹à¸²
+screenshots-download-button = à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+screenshots-download-button-tooltip = à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸ าà¸à¸«à¸à¹à¸²à¸à¸
+screenshots-copy-button = à¸à¸±à¸à¸¥à¸à¸
+screenshots-copy-button-tooltip = à¸à¸±à¸à¸¥à¸à¸à¸ าà¸à¸«à¸à¹à¸²à¸à¸à¹à¸à¸¢à¸±à¸à¸à¸¥à¸´à¸à¸à¸à¸£à¹à¸
+screenshots-meta-key =
+ { PLATFORM() ->
+ [macos] â
+ *[other] Ctrl
+ }
+screenshots-notification-link-copied-title = à¸à¸±à¸à¸¥à¸à¸à¸¥à¸´à¸à¸à¹à¹à¸¥à¹à¸§
+screenshots-notification-link-copied-details = à¸à¸±à¸à¸¥à¸à¸à¸¥à¸´à¸à¸à¹à¹à¸à¸¢à¸±à¸à¸ าà¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸¢à¸±à¸à¸à¸¥à¸´à¸à¸à¸à¸£à¹à¸à¹à¸¥à¹à¸§ à¸à¸ { screenshots-meta-key }-V à¹à¸à¸·à¹à¸à¸§à¸²à¸
+screenshots-notification-image-copied-title = à¸à¸±à¸à¸¥à¸à¸à¸ าà¸à¸«à¸à¹à¸²à¸à¸à¹à¸¥à¹à¸§
+screenshots-notification-image-copied-details = à¸à¸±à¸à¸¥à¸à¸à¸ าà¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸¢à¸±à¸à¸à¸¥à¸´à¸à¸à¸à¸£à¹à¸à¹à¸¥à¹à¸§ à¸à¸ { screenshots-meta-key }-V à¹à¸à¸·à¹à¸à¸§à¸²à¸
+screenshots-request-error-title = à¹à¸à¹à¸à¸²à¸à¹à¸¡à¹à¹à¸à¹
+screenshots-request-error-details = à¸à¸à¸à¸ ัย! à¹à¸£à¸²à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸±à¸à¸à¸¶à¸à¸ าà¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸à¸à¸¸à¸ à¹à¸à¸£à¸à¸¥à¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸à¹à¸à¸ ายหลัà¸
+screenshots-connection-error-title = à¹à¸£à¸²à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¸à¸ าà¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸à¸à¸¸à¸
+screenshots-connection-error-details = à¹à¸à¸£à¸à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸´à¸à¹à¸à¸à¸£à¹à¹à¸à¹à¸à¸à¸à¸à¸à¸¸à¸ หาà¸à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸´à¸à¹à¸à¸à¸£à¹à¹à¸à¹à¸ à¸à¸£à¸´à¸à¸²à¸£ { -screenshots-brand-name } à¸à¸²à¸à¸¡à¸µà¸à¸±à¸à¸«à¸²à¸à¸±à¹à¸§à¸à¸£à¸²à¸§
+screenshots-login-error-details = à¹à¸£à¸²à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸±à¸à¸à¸¶à¸à¸ าà¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸£à¸´à¸à¸²à¸£ { -screenshots-brand-name } มีà¸à¸±à¸à¸«à¸² à¹à¸à¸£à¸à¸¥à¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸à¹à¸à¸ ายหลัà¸
+screenshots-unshootable-page-error-title = à¹à¸£à¸²à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸±à¸à¸ าà¸à¸«à¸à¹à¸²à¸à¸à¸«à¸à¹à¸²à¸à¸µà¹
+screenshots-unshootable-page-error-details = à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¸«à¸à¹à¸²à¹à¸§à¹à¸à¸¡à¸²à¸à¸£à¸à¸²à¸ à¸à¸¸à¸à¸à¸¶à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸±à¸à¸ าà¸à¸«à¸à¹à¸²à¸à¸à¹à¸à¹
+screenshots-empty-selection-error-title = à¸à¸²à¸£à¹à¸¥à¸·à¸à¸à¸à¸à¸à¸à¸¸à¸à¹à¸¥à¹à¸à¹à¸à¸´à¸à¹à¸
+screenshots-private-window-error-title = { -screenshots-brand-name } à¸à¸¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¹à¸«à¸¡à¸à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+screenshots-private-window-error-details = à¸à¸à¸à¸ ัยà¹à¸à¸à¸§à¸²à¸¡à¹à¸¡à¹à¸ªà¸°à¸à¸§à¸ à¹à¸£à¸²à¸à¸³à¸¥à¸±à¸à¸à¸±à¸à¸à¸²à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸µà¹à¸ªà¸³à¸«à¸£à¸±à¸à¸£à¸¸à¹à¸à¹à¸à¸à¸à¸²à¸à¸
+screenshots-generic-error-title = à¹à¸à¹à¸¢! { -screenshots-brand-name } รวà¸
+screenshots-generic-error-details = à¹à¸£à¸²à¹à¸¡à¹à¹à¸à¹à¹à¸à¸§à¹à¸²à¹à¸à¸´à¸à¸à¸°à¹à¸£à¸à¸¶à¹à¸ à¸à¹à¸à¸à¸à¸²à¸£à¸¥à¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸à¸«à¸£à¸·à¸à¸à¸±à¸à¸ าà¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸à¸«à¸à¹à¸²à¸à¸·à¹à¸?
diff --git a/browser/browser/search.ftl b/browser/browser/search.ftl
new file mode 100644
index 00000000000..b703125b55a
--- /dev/null
+++ b/browser/browser/search.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/.
+
+
+## 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 = à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸
+opensearch-error-duplicate-desc = { -brand-short-name } à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸à¸²à¸ â{ $location-url }â à¹à¸à¸£à¸²à¸°à¸¡à¸µà¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²à¸à¸µà¹à¹à¸à¹à¸à¸·à¹à¸à¹à¸à¸µà¸¢à¸§à¸à¸±à¸à¸à¸¢à¸¹à¹à¹à¸¥à¹à¸§
+opensearch-error-format-title = รูà¸à¹à¸à¸à¸à¸´à¸à¸à¸¥à¸²à¸
+opensearch-error-format-desc = { -brand-short-name } à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸à¹à¸à¸£à¸·à¹à¸à¸à¸à¹à¸à¸«à¸²à¸à¸²à¸: { $location-url }
+opensearch-error-download-title = à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+opensearch-error-download-desc = { -brand-short-name } à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸à¸²à¸: { $location-url }
+
+##
+
+searchbar-submit =
+ .tooltiptext = à¸à¹à¸à¸«à¸²
+# This string is displayed in the search box when the input field is empty
+searchbar-input =
+ .placeholder = à¸à¹à¸à¸«à¸²
+searchbar-icon =
+ .tooltiptext = à¸à¹à¸à¸«à¸²
diff --git a/browser/browser/setDesktopBackground.ftl b/browser/browser/setDesktopBackground.ftl
new file mode 100644
index 00000000000..bb3f363660d
--- /dev/null
+++ b/browser/browser/setDesktopBackground.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/.
+
+set-desktop-background-window =
+ .title = à¸à¸±à¹à¸à¸à¸·à¹à¸à¸«à¸¥à¸±à¸à¹à¸à¸ªà¸à¹à¸à¹à¸à¸
+set-desktop-background-accept =
+ .label = à¸à¸±à¹à¸à¸à¸·à¹à¸à¸«à¸¥à¸±à¸à¹à¸à¸ªà¸à¹à¸à¹à¸à¸
+open-desktop-prefs =
+ .label = à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¹à¸à¸ªà¸à¹à¸à¹à¸à¸
+set-background-preview-unavailable = à¸à¸²à¸£à¹à¸ªà¸à¸à¸à¸±à¸§à¸à¸¢à¹à¸²à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¹à¸à¹
+# 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 = ยืà¸à¸à¸¢à¸²à¸¢
+set-background-color = สี:
+set-background-position = à¸à¸³à¹à¸«à¸à¹à¸:
+set-background-tile =
+ .label = à¹à¸à¸¥à¹
+set-background-center =
+ .label = à¸à¸¶à¹à¸à¸à¸¥à¸²à¸
+set-background-stretch =
+ .label = ยืà¸à¹à¸à¹à¸¡à¸«à¸à¹à¸²à¸à¸
+set-background-fill =
+ .label = à¸à¸¢à¸²à¸¢à¹à¸à¹à¸¡à¸«à¸à¹à¸²à¸à¸
+set-background-fit =
+ .label = à¸à¸à¸à¸µà¸«à¸à¹à¸²à¸à¸
diff --git a/browser/browser/sidebarMenu.ftl b/browser/browser/sidebarMenu.ftl
new file mode 100644
index 00000000000..99b7447d9a6
--- /dev/null
+++ b/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 = à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+
+sidebar-menu-history =
+ .label = à¸à¸£à¸°à¸§à¸±à¸à¸´
+
+sidebar-menu-synced-tabs =
+ .label = à¹à¸à¹à¸à¸à¸µà¹à¸à¸´à¸à¸à¹
+
+sidebar-menu-close =
+ .label = à¸à¸´à¸à¹à¸à¸à¸à¹à¸²à¸
+
+sidebar-close-button =
+ .tooltiptext = à¸à¸´à¸à¹à¸à¸à¸à¹à¸²à¸
diff --git a/browser/browser/sitePermissions.ftl b/browser/browser/sitePermissions.ftl
new file mode 100644
index 00000000000..3272fbaafaf
--- /dev/null
+++ b/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] à¹à¸à¸´à¸ { $count } à¸à¹à¸à¸à¸à¸±à¸à¸à¸µà¹à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸â¦
+ }
diff --git a/browser/browser/sync.ftl b/browser/browser/sync.ftl
new file mode 100644
index 00000000000..efea3669f14
--- /dev/null
+++ b/browser/browser/sync.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/.
+
+fxa-toolbar-sync-syncing2 = à¸à¸³à¸¥à¸±à¸à¸à¸´à¸à¸à¹â¦
+sync-disconnect-dialog-title2 = à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸«à¸£à¸·à¸à¹à¸¡à¹
+sync-disconnect-dialog-body = { -brand-product-name } à¸à¸°à¸«à¸¢à¸¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¹à¸à¸±à¸à¸à¸µà¸à¸à¸à¸à¸¸à¸ à¹à¸à¹à¸à¸°à¹à¸¡à¹à¸¥à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸ ๠à¸à¸à¸à¸à¸¸à¸à¸à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸µà¹
+sync-disconnect-dialog-button = à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸
+fxa-signout-dialog2-title = ลà¸à¸à¸·à¹à¸à¸à¸à¸ { -fxaccount-brand-name } หรืà¸à¹à¸¡à¹
+fxa-signout-dialog-body = à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸´à¸à¸à¹à¸à¸°à¸¢à¸±à¸à¸à¸à¸à¸¢à¸¹à¹à¹à¸à¸à¸±à¸à¸à¸µà¸à¸à¸à¸à¸¸à¸
+fxa-signout-dialog2-button = ลà¸à¸à¸·à¹à¸à¸à¸à¸
+fxa-signout-dialog2-checkbox = ลà¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸µà¹ (รหัสà¸à¹à¸²à¸ à¸à¸£à¸°à¸§à¸±à¸à¸´ à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸² ฯลฯ)
+fxa-menu-sync-settings =
+ .label = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸² Sync
+fxa-menu-turn-on-sync =
+ .value = à¹à¸à¸´à¸à¹à¸à¹ Sync
+fxa-menu-turn-on-sync-default = à¹à¸à¸´à¸à¹à¸à¹ Sync
+fxa-menu-connect-another-device =
+ .label = à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸·à¹à¸â¦
+# This is shown dynamically within "Send tab to device" in fxa menu.
+fxa-menu-send-tab-to-device-syncnotready =
+ .label = à¸à¸³à¸¥à¸±à¸à¸à¸´à¸à¸à¹à¸à¸¸à¸à¸à¸£à¸à¹â¦
+# This is shown within "Send tab to device" in fxa menu if account is not configured.
+fxa-menu-send-tab-to-device-description = สà¹à¸à¹à¸à¹à¸à¸à¸±à¸à¸à¸µà¹à¸à¸¢à¸±à¸à¸à¸¸à¸à¸à¸£à¸à¹à¹à¸ ๠à¸à¸µà¹à¸à¸¸à¸à¸¥à¸à¸à¸·à¹à¸à¹à¸à¹à¸²à¹à¸à¹
+fxa-menu-sign-out =
+ .label = ลà¸à¸à¸·à¹à¸à¸à¸à¸â¦
diff --git a/browser/browser/syncedTabs.ftl b/browser/browser/syncedTabs.ftl
new file mode 100644
index 00000000000..19695e01324
--- /dev/null
+++ b/browser/browser/syncedTabs.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/.
+
+synced-tabs-sidebar-title = à¹à¸à¹à¸à¸à¸µà¹à¸à¸´à¸à¸à¹
+synced-tabs-sidebar-noclients-subtitle = à¸à¹à¸à¸à¸à¸²à¸£à¹à¸«à¹à¸à¹à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¸à¸²à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸·à¹à¸ ๠à¸à¸µà¹à¸à¸µà¹?
+synced-tabs-sidebar-intro = à¸à¸¹à¸£à¸²à¸¢à¸à¸²à¸£à¹à¸à¹à¸à¸à¸²à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸·à¹à¸ ๠à¸à¸à¸à¸à¸¸à¸
+synced-tabs-sidebar-unverified = à¸à¸±à¸à¸à¸µà¸à¸à¸à¸à¸¸à¸à¸à¸³à¹à¸à¹à¸à¸à¹à¸à¸à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸¢à¸·à¸à¸¢à¸±à¸
+synced-tabs-sidebar-notabs = à¹à¸¡à¹à¸¡à¸µà¹à¸à¹à¸à¸à¸µà¹à¹à¸à¸´à¸à¸à¸¢à¸¹à¹
+synced-tabs-sidebar-open-settings = à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸²à¸£à¸à¸´à¸à¸à¹
+synced-tabs-sidebar-tabsnotsyncing = à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸´à¸à¸à¹à¹à¸à¹à¸à¹à¸à¸·à¹à¸à¸à¸¹à¸£à¸²à¸¢à¸à¸²à¸£à¹à¸à¹à¸à¸à¸²à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸·à¹à¸ ๠à¸à¸à¸à¸à¸¸à¸
+synced-tabs-sidebar-connect-another-device = à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸·à¹à¸
+synced-tabs-sidebar-search =
+ .placeholder = à¸à¹à¸à¸«à¸²à¹à¸à¹à¸à¸à¸µà¹à¸à¸´à¸à¸à¹
+synced-tabs-context-open =
+ .label = à¹à¸à¸´à¸
+ .accesskey = à¸
+synced-tabs-context-open-in-new-tab =
+ .label = à¹à¸à¸´à¸à¹à¸à¹à¸à¹à¸à¹à¸«à¸¡à¹
+ .accesskey = à¸
+synced-tabs-context-open-in-new-window =
+ .label = à¹à¸à¸´à¸à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸«à¸¡à¹
+ .accesskey = ห
+synced-tabs-context-open-in-new-private-window =
+ .label = à¹à¸à¸´à¸à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸«à¸¡à¹
+ .accesskey = ส
+synced-tabs-context-bookmark-single-tab =
+ .label = à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¹à¸à¸à¸µà¹â¦
+ .accesskey = à¸
+synced-tabs-context-copy =
+ .label = à¸à¸±à¸à¸¥à¸à¸
+ .accesskey = à¸
+synced-tabs-context-open-all-in-tabs =
+ .label = à¹à¸à¸´à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¹à¸à¹à¸à¹à¸
+ .accesskey = à¸
+synced-tabs-context-manage-devices =
+ .label = à¸à¸±à¸à¸à¸²à¸£à¸à¸¸à¸à¸à¸£à¸à¹â¦
+ .accesskey = à¸
+synced-tabs-context-sync-now =
+ .label = à¸à¸´à¸à¸à¹à¸à¸à¸à¸à¸µà¹
+ .accesskey = à¸
+synced-tabs-fxa-sign-in = ลà¸à¸à¸·à¹à¸à¹à¸à¹à¸²à¹à¸à¹à¹à¸à¸·à¹à¸à¸à¸´à¸à¸à¹
+synced-tabs-turn-on-sync = à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸´à¸à¸à¹
diff --git a/browser/browser/tabContextMenu.ftl b/browser/browser/tabContextMenu.ftl
new file mode 100644
index 00000000000..2b62b7ff5a9
--- /dev/null
+++ b/browser/browser/tabContextMenu.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/.
+
+tab-context-new-tab =
+ .label = à¹à¸à¹à¸à¹à¸«à¸¡à¹
+ .accesskey = w
+reload-tab =
+ .label = à¹à¸«à¸¥à¸à¹à¸à¹à¸à¹à¸«à¸¡à¹
+ .accesskey = ห
+select-all-tabs =
+ .label = à¹à¸¥à¸·à¸à¸à¹à¸à¹à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+ .accesskey = ล
+tab-context-play-tab =
+ .label = à¹à¸¥à¹à¸à¹à¸à¹à¸
+ .accesskey = ล
+tab-context-play-tabs =
+ .label = à¹à¸¥à¹à¸à¹à¸à¹à¸
+ .accesskey = ล
+duplicate-tab =
+ .label = à¸à¸³à¸ªà¸³à¹à¸à¸²à¹à¸à¹à¸
+ .accesskey = à¸
+duplicate-tabs =
+ .label = à¸à¸³à¸ªà¸³à¹à¸à¸²à¹à¸à¹à¸
+ .accesskey = à¸
+# 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 = à¸à¸´à¸à¹à¸à¹à¸à¹à¸à¸à¸²à¸à¸à¹à¸²à¸¢
+ .accesskey = l
+# 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 = à¸à¸´à¸à¹à¸à¹à¸à¹à¸à¸à¸²à¸à¸à¸§à¸²
+ .accesskey = à¸
+close-other-tabs =
+ .label = à¸à¸´à¸à¹à¸à¹à¸à¸à¸·à¹à¸ à¹
+ .accesskey = à¸
+reload-tabs =
+ .label = à¹à¸«à¸¥à¸à¹à¸à¹à¸à¹à¸«à¸¡à¹
+ .accesskey = ห
+pin-tab =
+ .label = à¸à¸±à¸à¸«à¸¡à¸¸à¸à¹à¸à¹à¸
+ .accesskey = à¸
+unpin-tab =
+ .label = à¸à¸à¸à¸«à¸¡à¸¸à¸à¹à¸à¹à¸
+ .accesskey = à¸
+pin-selected-tabs =
+ .label = à¸à¸±à¸à¸«à¸¡à¸¸à¸à¹à¸à¹à¸
+ .accesskey = à¸
+unpin-selected-tabs =
+ .label = à¸à¸à¸à¸«à¸¡à¸¸à¸à¹à¸à¹à¸
+ .accesskey = à¸
+bookmark-selected-tabs =
+ .label = à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¹à¸â¦
+ .accesskey = à¸
+bookmark-tab =
+ .label = à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¹à¸
+ .accesskey = à¸
+tab-context-open-in-new-container-tab =
+ .label = à¹à¸à¸´à¸à¹à¸à¹à¸à¹à¸à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸«à¸¡à¹
+ .accesskey = ย
+move-to-start =
+ .label = ยà¹à¸²à¸¢à¹à¸à¸¢à¸±à¸à¸à¸¸à¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+ .accesskey = ย
+move-to-end =
+ .label = ยà¹à¸²à¸¢à¹à¸à¸¢à¸±à¸à¸à¸¸à¸à¸ªà¸´à¹à¸à¸ªà¸¸à¸
+ .accesskey = à¸
+move-to-new-window =
+ .label = ยà¹à¸²à¸¢à¹à¸à¸¢à¸±à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸«à¸¡à¹
+ .accesskey = ม
+tab-context-close-multiple-tabs =
+ .label = à¸à¸´à¸à¸«à¸¥à¸²à¸¢à¹à¸à¹à¸
+ .accesskey = ล
+tab-context-share-url =
+ .label = à¹à¸à¹à¸à¸à¸±à¸
+ .accesskey = h
+tab-context-share-more =
+ .label = à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡â¦
+
+## Variables:
+## $tabCount (Number): the number of tabs that are affected by the action.
+
+tab-context-reopen-closed-tabs =
+ .label =
+ { $tabCount ->
+ [1] à¹à¸à¸´à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸´à¸à¹à¸«à¸¡à¹
+ *[other] à¹à¸à¸´à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸´à¸à¹à¸«à¸¡à¹
+ }
+ .accesskey = o
+tab-context-close-tabs =
+ .label =
+ { $tabCount ->
+ [1] à¸à¸´à¸à¹à¸à¹à¸
+ *[other] à¸à¸´à¸à¹à¸à¹à¸
+ }
+ .accesskey = à¸
+tab-context-close-n-tabs =
+ .label =
+ { $tabCount ->
+ [1] à¸à¸´à¸à¹à¸à¹à¸
+ *[other] à¸à¸´à¸ { $tabCount } à¹à¸à¹à¸
+ }
+ .accesskey = à¸
+tab-context-move-tabs =
+ .label =
+ { $tabCount ->
+ [1] ยà¹à¸²à¸¢à¹à¸à¹à¸
+ *[other] ยà¹à¸²à¸¢à¹à¸à¹à¸
+ }
+ .accesskey = ย
+tab-context-send-tabs-to-device =
+ .label = สà¹à¸ { $tabCount } à¹à¸à¹à¸à¹à¸à¸¢à¸±à¸à¸à¸¸à¸à¸à¸£à¸à¹
+ .accesskey = ส
diff --git a/browser/browser/tabbrowser.ftl b/browser/browser/tabbrowser.ftl
new file mode 100644
index 00000000000..8a6be947616
--- /dev/null
+++ b/browser/browser/tabbrowser.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:
+# $domain (String): URL of the page that is trying to steal focus.
+tabbrowser-allow-dialogs-to-get-focus =
+ .label = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸²à¸ { $domain } à¸à¸³à¸à¸¸à¸à¹à¸à¸à¸µà¹à¹à¸à¹à¸à¸à¸à¸à¹à¸à¸à¹
diff --git a/browser/browser/toolbarContextMenu.ftl b/browser/browser/toolbarContextMenu.ftl
new file mode 100644
index 00000000000..29abeb1750f
--- /dev/null
+++ b/browser/browser/toolbarContextMenu.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/.
+
+toolbar-context-menu-new-tab =
+ .label = à¹à¸à¹à¸à¹à¸«à¸¡à¹
+ .accesskey = w
+toolbar-context-menu-reload-selected-tab =
+ .label = à¹à¸«à¸¥à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸¥à¸·à¸à¸à¹à¸«à¸¡à¹
+ .accesskey = ห
+toolbar-context-menu-reload-selected-tabs =
+ .label = à¹à¸«à¸¥à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸¥à¸·à¸à¸à¹à¸«à¸¡à¹
+ .accesskey = ห
+toolbar-context-menu-bookmark-selected-tab =
+ .label = à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸¥à¸·à¸à¸â¦
+ .accesskey = à¸
+toolbar-context-menu-bookmark-selected-tabs =
+ .label = à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸¥à¸·à¸à¸â¦
+ .accesskey = à¸
+toolbar-context-menu-select-all-tabs =
+ .label = à¹à¸¥à¸·à¸à¸à¹à¸à¹à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+ .accesskey = ล
+toolbar-context-menu-reopen-closed-tabs =
+ .label =
+ { $tabCount ->
+ [1] à¹à¸à¸´à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸´à¸à¹à¸«à¸¡à¹
+ *[other] à¹à¸à¸´à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸´à¸à¹à¸«à¸¡à¹
+ }
+ .accesskey = à¹
+toolbar-context-menu-manage-extension =
+ .label = à¸à¸±à¸à¸à¸²à¸£à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢
+ .accesskey = à¸
+toolbar-context-menu-remove-extension =
+ .label = à¹à¸à¸²à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸à¸
+ .accesskey = à¸
+# 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 = รายà¸à¸²à¸à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢
+ .accesskey = ร
+# Can appear on the same context menu as menubarCmd ("Menu Bar") and
+# personalbarCmd ("Bookmarks Toolbar"), so they should have different
+# access keys.
+toolbar-context-menu-pin-to-overflow-menu =
+ .label = à¸à¸±à¸à¸«à¸¡à¸¸à¸à¹à¸à¸¢à¸±à¸à¹à¸¡à¸à¸¹à¸¥à¹à¸
+ .accesskey = à¸
+toolbar-context-menu-auto-hide-downloads-button-2 =
+ .label = à¸à¹à¸à¸à¸à¸¸à¹à¸¡à¹à¸¡à¸·à¹à¸à¸§à¹à¸²à¸à¹à¸à¸¥à¹à¸²
+ .accesskey = à¸
+toolbar-context-menu-remove-from-toolbar =
+ .label = à¹à¸à¸²à¸à¸à¸à¸à¸²à¸à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸
+ .accesskey = à¸
+toolbar-context-menu-view-customize-toolbar =
+ .label = à¸à¸£à¸±à¸à¹à¸à¹à¸â¦
+ .accesskey = à¸
+toolbar-context-menu-view-customize-toolbar-2 =
+ .label = à¸à¸£à¸±à¸à¹à¸à¹à¸à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸â¦
+ .accesskey = à¸
+toolbar-context-menu-bookmarks-toolbar-always-show-2 =
+ .label = à¹à¸ªà¸à¸à¹à¸ªà¸¡à¸
+ .accesskey = A
+toolbar-context-menu-bookmarks-toolbar-never-show-2 =
+ .label = à¹à¸¡à¹à¸à¹à¸à¸à¹à¸ªà¸à¸
+ .accesskey = N
+toolbar-context-menu-bookmarks-toolbar-on-new-tab-2 =
+ .label = à¹à¸ªà¸à¸à¸à¸à¹à¸à¹à¸à¹à¸«à¸¡à¹à¹à¸à¹à¸²à¸à¸±à¹à¸
+ .accesskey = O
+toolbar-context-menu-bookmarks-show-other-bookmarks =
+ .label = à¹à¸ªà¸à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸·à¹à¸ à¹
+ .accesskey = h
+toolbar-context-menu-menu-bar-cmd =
+ .toolbarname = à¹à¸à¸à¹à¸¡à¸à¸¹
+ .accesskey = à¸
diff --git a/browser/browser/touchbar/touchbar.ftl b/browser/browser/touchbar/touchbar.ftl
new file mode 100644
index 00000000000..653d23e5a9b
--- /dev/null
+++ b/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 = ยà¹à¸à¸à¸à¸¥à¸±à¸
+forward = à¹à¸à¸´à¸à¸«à¸à¹à¸²
+reload = à¹à¸«à¸¥à¸à¹à¸«à¸¡à¹
+home = หà¸à¹à¸²à¹à¸£à¸
+fullscreen = à¹à¸à¹à¸¡à¸«à¸à¹à¸²à¸à¸
+touchbar-fullscreen-exit = à¸à¸à¸à¸à¸²à¸à¸ าà¸à¹à¸à¹à¸¡à¸«à¸à¹à¸²à¸à¸
+find = à¸à¹à¸à¸«à¸²
+new-tab = à¹à¸à¹à¸à¹à¸«à¸¡à¹
+add-bookmark = à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+reader-view = มุมมà¸à¸à¸à¸¹à¹à¸à¹à¸²à¸
+# Meant to match the string displayed in an empty URL bar.
+open-location = à¸à¹à¸à¸«à¸²à¸«à¸£à¸·à¸à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
+share = à¹à¸à¹à¸à¸à¸±à¸
+close-window = à¸à¸´à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸
+open-sidebar = à¹à¸à¸à¸à¹à¸²à¸
+
+# This string describes shortcuts for search.
+search-popover = à¸à¸²à¸à¸¥à¸±à¸à¸à¸²à¸£à¸à¹à¸à¸«à¸²
+# Describes searches limited to a specific scope
+# (e.g. searching only in history).
+search-search-in = à¸à¹à¸à¸«à¸²à¹à¸:
+
+## Various categories of shortcuts for search.
+
+search-bookmarks = à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+search-history = à¸à¸£à¸°à¸§à¸±à¸à¸´
+search-opentabs = à¹à¸à¹à¸à¸à¸µà¹à¹à¸à¸´à¸
+search-tags = à¸à¹à¸²à¸¢à¸à¸³à¸à¸±à¸
+search-titles = à¸à¸·à¹à¸à¹à¸£à¸·à¹à¸à¸
+
+##
+
diff --git a/browser/browser/upgradeDialog.ftl b/browser/browser/upgradeDialog.ftl
new file mode 100644
index 00000000000..010cbea0e3f
--- /dev/null
+++ b/browser/browser/upgradeDialog.ftl
@@ -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/.
+
+
+### Strings for the upgrade dialog that can be displayed on major version change.
+
+
+## New changes screen
+
+# This title can be explicitly wrapped to control which words are on which line.
+upgrade-dialog-new-title = à¸à¸à¸à¸±à¸ { -brand-short-name } à¹à¸«à¸¡à¹
+upgrade-dialog-new-subtitle = à¸à¸à¸à¹à¸à¸à¸¡à¸²à¹à¸à¸·à¹à¸à¹à¸«à¹à¸à¸¸à¸à¹à¸à¸à¸µà¹à¸à¸µà¹à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¹à¹à¸£à¹à¸§à¸à¸¶à¹à¸
+upgrade-dialog-new-item-menu-title = à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¹à¸¥à¸°à¹à¸¡à¸à¸¹à¸à¸µà¹à¹à¸à¹à¸à¹à¸²à¸¢à¸à¸¶à¹à¸
+upgrade-dialog-new-item-menu-description = à¸à¸±à¸à¸¥à¸³à¸à¸±à¸à¸ªà¸´à¹à¸à¸à¹à¸²à¸ ๠à¸à¸µà¹à¸ªà¸³à¸à¸±à¸à¹à¸à¸·à¹à¸à¹à¸«à¹à¸à¸¸à¸à¸à¸à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¹
+upgrade-dialog-new-item-tabs-title = à¹à¸à¹à¸à¸à¸±à¸à¸à¸±à¸à¸ªà¸¡à¸±à¸¢
+upgrade-dialog-new-item-tabs-description = à¹à¸ªà¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸¢à¹à¸²à¸à¹à¸£à¸µà¸¢à¸à¸£à¹à¸à¸¢ à¸à¸£à¹à¸à¸¡à¸à¸±à¹à¸à¸£à¸à¸à¸£à¸±à¸à¸à¸²à¸£à¹à¸à¸à¸±à¸ª à¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¸¥à¸·à¹à¸à¸à¹à¸«à¸§à¹à¸à¸à¸¢à¸·à¸à¸«à¸¢à¸¸à¹à¸
+upgrade-dialog-new-item-icons-title = à¹à¸à¸à¸à¸à¸à¸µà¹à¸ªà¸à¹à¸ªà¹à¸¥à¸°à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸à¸±à¸à¹à¸à¸à¸à¸¶à¹à¸
+upgrade-dialog-new-item-icons-description = à¸à¹à¸§à¸¢à¹à¸«à¹à¸à¸¸à¸à¸à¸³à¸ªà¸´à¹à¸à¸à¹à¸²à¸ ๠à¹à¸à¹à¸à¹à¸§à¸¢à¸ªà¸±à¸¡à¸à¸±à¸ªà¸à¸µà¹à¹à¸à¸²à¸à¸¶à¹à¸
+upgrade-dialog-new-primary-default-button = à¸à¸³à¹à¸«à¹ { -brand-short-name } à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¸à¸±à¸
+upgrade-dialog-new-primary-theme-button = à¹à¸¥à¸·à¸à¸à¸à¸¸à¸à¸à¸à¹à¸à¹à¸
+upgrade-dialog-new-secondary-button = à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸à¸µà¹
+# This string is only shown on Windows 7, where we intentionally suppress the
+# theme selection screen.
+upgrade-dialog-new-primary-win7-button = à¸à¸à¸¥à¸ à¹à¸à¹à¸²à¹à¸à¹à¸¥à¹à¸§!
+
+## Pin Firefox screen
+##
+## These title, subtitle and button strings differ between platforms as they
+## match the OS' application context menu item action where Windows uses "pin"
+## and "taskbar" while macOS "keep" and "Dock" (proper noun).
+
+# This title can be explicitly wrapped to control which words are on which line.
+upgrade-dialog-pin-title =
+ { PLATFORM() ->
+ [macos] à¹à¸à¹à¸ { -brand-short-name } à¹à¸§à¹à¹à¸ Dock à¸à¸à¸à¸à¸¸à¸
+ *[other] à¸à¸±à¸à¸«à¸¡à¸¸à¸ { -brand-short-name } à¹à¸à¹à¸²à¸à¸±à¸à¹à¸à¸à¸à¸²à¸à¸à¸à¸à¸à¸¸à¸
+ }
+# The English macOS string avoids repeating "Keep" a third time, so if your
+# translations don't repeat anyway, the same string can be used cross-platform.
+upgrade-dialog-pin-subtitle =
+ { PLATFORM() ->
+ [macos] à¹à¸à¹à¸²à¸à¸¶à¸ { -brand-short-name } à¸à¸µà¹à¸ªà¸à¹à¸«à¸¡à¹à¸à¸§à¹à¸²à¸à¸µà¹à¹à¸à¸¢à¹à¸à¹à¸à¸¢à¹à¸²à¸à¸à¹à¸²à¸¢à¸à¸²à¸¢
+ *[other] à¹à¸à¹à¸²à¸à¸¶à¸ { -brand-short-name } à¸à¸µà¹à¸ªà¸à¹à¸«à¸¡à¹à¸à¸§à¹à¸²à¸à¸µà¹à¹à¸à¸¢à¹à¸à¹à¸à¸¢à¹à¸²à¸à¸à¹à¸²à¸¢à¸à¸²à¸¢
+ }
+upgrade-dialog-pin-primary-button =
+ { PLATFORM() ->
+ [macos] à¹à¸à¹à¸à¹à¸§à¹à¹à¸ Dock
+ *[other] à¸à¸±à¸à¸«à¸¡à¸¸à¸à¹à¸à¹à¸²à¸à¸±à¸à¹à¸à¸à¸à¸²à¸
+ }
+upgrade-dialog-pin-secondary-button = à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸à¸µà¹
+
+## Default browser screen
+
+# This title can be explicitly wrapped to control which words are on which line.
+upgrade-dialog-default-title-2 = à¸à¸³à¹à¸«à¹ { -brand-short-name } à¹à¸à¹à¸à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¸à¸¸à¸
+upgrade-dialog-default-subtitle-2 = à¸à¸à¸à¸±à¸à¸à¸§à¸²à¸¡à¹à¸£à¹à¸§ à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย à¹à¸¥à¸°à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+upgrade-dialog-default-primary-button-2 = à¸à¸³à¹à¸«à¹à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+upgrade-dialog-default-secondary-button = à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸à¸µà¹
+
+## Theme selection screen
+
+# This title can be explicitly wrapped to control which words are on which line.
+upgrade-dialog-theme-title-2 = à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¹à¸«à¸¡à¹à¸à¸¢à¹à¸²à¸à¹à¸£à¸µà¸¢à¸à¸«à¸£à¸¹à¸à¹à¸§à¸¢à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸¡à¸à¸±à¸
+upgrade-dialog-theme-system = à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¸£à¸°à¸à¸
+ .title = à¹à¸à¹à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¹à¸¡ à¹à¸¡à¸à¸¹ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¸²à¸¡à¸£à¸°à¸à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£
+
+## Start screen
+
+# This title can be explicitly wrapped to control which words are on which line.
+upgrade-dialog-start-title = Life in color
+upgrade-dialog-start-subtitle = à¸à¸¸à¸à¸£à¸¹à¸à¹à¸à¸à¸ªà¸µà¹à¸«à¸¡à¹à¸à¸µà¹à¸ªà¸à¹à¸ª มีà¹à¸«à¹à¹à¸à¹à¹à¸à¸à¹à¸§à¸à¹à¸§à¸¥à¸²à¸à¸³à¸à¸±à¸
+upgrade-dialog-start-primary-button = สำรวà¸à¸à¸¸à¸à¸£à¸¹à¸à¹à¸à¸à¸ªà¸µ
+upgrade-dialog-start-secondary-button = à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸à¸µà¹
+
+## Colorway screen
+
+# This title can be explicitly wrapped to control which words are on which line.
+upgrade-dialog-colorway-title = à¹à¸¥à¸·à¸à¸à¸à¸²à¸à¸ªà¸µà¸à¸à¸à¸à¸¸à¸
+# This is shown to users with a custom home page, so they can switch to default.
+upgrade-dialog-colorway-home-checkbox = à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¹à¸à¹à¸«à¸à¹à¸²à¹à¸£à¸à¸à¸à¸ Firefox à¸à¸µà¹à¸¡à¸µà¸à¸·à¹à¸à¸«à¸¥à¸±à¸à¹à¸à¹à¸à¸à¸¸à¸à¸à¸à¹à¸à¹à¸
+upgrade-dialog-colorway-primary-button = à¸à¸±à¸à¸à¸¶à¸à¸à¸¸à¸à¸£à¸¹à¸à¹à¸à¸à¸ªà¸µ
+upgrade-dialog-colorway-secondary-button = à¹à¸à¹à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¸à¹à¸à¸à¸«à¸à¹à¸²à¸à¹à¸à¹à¸
+upgrade-dialog-colorway-theme-tooltip =
+ .title = สำรวà¸à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+# $colorwayName (String) - Name of colorway, e.g., Abstract, Cheers
+upgrade-dialog-colorway-colorway-tooltip =
+ .title = สำรวà¸à¸à¸¸à¸à¸£à¸¹à¸à¹à¸à¸à¸ªà¸µ { $colorwayName }
+upgrade-dialog-colorway-default-theme = à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+# "Auto" is short for "Automatic"
+upgrade-dialog-colorway-theme-auto = à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+ .title = à¹à¸à¹à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¹à¸¡ à¹à¸¡à¸à¸¹ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¸²à¸¡à¸£à¸°à¸à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£
+upgrade-dialog-theme-light = สวà¹à¸²à¸
+ .title = à¹à¸à¹à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¹à¸à¸à¸ªà¸§à¹à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¹à¸¡ à¹à¸¡à¸à¸¹ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸
+upgrade-dialog-theme-dark = มืà¸
+ .title = à¹à¸à¹à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¹à¸à¸à¸¡à¸·à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¹à¸¡ à¹à¸¡à¸à¸¹ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸
+upgrade-dialog-theme-alpenglow = Alpenglow
+ .title = à¹à¸à¹à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¹à¸à¸à¹à¸à¸à¸²à¸¡à¸´à¸à¸à¸µà¹à¸¡à¸µà¸ªà¸µà¸ªà¸±à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¹à¸¡ à¹à¸¡à¸à¸¹ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸
+upgrade-dialog-theme-keep = à¹à¸à¹à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¹à¸à¸´à¸¡
+ .title = à¹à¸à¹à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸¸à¸à¸à¸´à¸à¸à¸±à¹à¸à¹à¸§à¹à¸à¹à¸à¸à¸à¸µà¹à¸à¸°à¸à¸±à¸à¹à¸à¸ { -brand-short-name }
+upgrade-dialog-theme-primary-button = à¸à¸±à¸à¸à¸¶à¸à¸à¸¸à¸à¸à¸à¹à¸à¹à¸
+upgrade-dialog-theme-secondary-button = à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸à¸µà¹
+upgrade-dialog-colorway-variation-soft = Soft
+ .title = à¹à¸à¹à¸à¸¸à¸à¸£à¸¹à¸à¹à¸à¸à¸ªà¸µà¸à¸µà¹
+upgrade-dialog-colorway-variation-balanced = Balanced
+ .title = à¹à¸à¹à¸à¸¸à¸à¸£à¸¹à¸à¹à¸à¸à¸ªà¸µà¸à¸µà¹
+# "Bold" is used in the sense of bravery or courage, not in the sense of
+# emphasized text.
+upgrade-dialog-colorway-variation-bold = Bold
+ .title = à¹à¸à¹à¸à¸¸à¸à¸£à¸¹à¸à¹à¸à¸à¸ªà¸µà¸à¸µà¹
+
+## Thank you screen
+
+# This title can be explicitly wrapped to control which words are on which line.
+upgrade-dialog-thankyou-title = à¸à¸à¸à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸·à¸à¸à¹à¸£à¸²
+upgrade-dialog-thankyou-subtitle = { -brand-short-name } à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸´à¸ªà¸£à¸°à¸à¸µà¹à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¹à¸à¸¢à¸à¸à¸à¹à¸à¸£à¹à¸¡à¹à¹à¸ªà¸§à¸à¸«à¸²à¸à¸¥à¸à¸³à¹à¸£ à¹à¸£à¸²à¸à¸³à¸¥à¸±à¸à¸£à¹à¸§à¸¡à¸à¸±à¸à¸à¸³à¹à¸«à¹à¹à¸§à¹à¸à¸à¸¥à¸à¸à¸ ัยà¸à¸¶à¹à¸ à¹à¸à¹à¸à¹à¸à¸£à¹à¸à¸à¸¶à¹à¸ à¹à¸¥à¸°à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸¡à¸²à¸à¸à¸¶à¹à¸
+upgrade-dialog-thankyou-primary-button = à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹
diff --git a/browser/browser/webrtcIndicator.ftl b/browser/browser/webrtcIndicator.ftl
new file mode 100644
index 00000000000..8e91c6ca9e6
--- /dev/null
+++ b/browser/browser/webrtcIndicator.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/.
+
+
+# Note: This is currently placed under browser/base/content so that we can
+# get the strings to appear without having our localization community need
+# to go through and translate everything. Once these strings are ready for
+# translation, we'll move it to the locales folder.
+
+# This string is 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 } - à¸à¸±à¸§à¸à¹à¸à¸à¸µà¹à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸
+
+webrtc-sharing-window = à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸à¸à¸±à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸·à¹à¸
+webrtc-sharing-browser-window = à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸à¸à¸±à¸ { -brand-short-name }
+webrtc-sharing-screen = à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸à¸à¸±à¸à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸à¸à¸¸à¸
+webrtc-stop-sharing-button = หยุà¸à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸
+webrtc-microphone-unmuted =
+ .title = à¸à¸´à¸à¹à¸¡à¹à¸à¸£à¹à¸à¸
+webrtc-microphone-muted =
+ .title = à¹à¸à¸´à¸à¹à¸¡à¹à¸à¸£à¹à¸à¸
+webrtc-camera-unmuted =
+ .title = à¸à¸´à¸à¸à¸¥à¹à¸à¸
+webrtc-camera-muted =
+ .title = à¹à¸à¸´à¸à¸à¸¥à¹à¸à¸
+webrtc-minimize =
+ .title = ยà¹à¸à¸à¸±à¸§à¸à¹à¸à¸à¸µà¹à¹à¸«à¹à¹à¸¥à¹à¸à¸ªà¸¸à¸
+
+# This string 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 = à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸à¸à¸±à¸à¸à¸¥à¹à¸à¸à¸à¸à¸à¸à¸¸à¸ à¸à¸¥à¸´à¸à¹à¸à¸·à¹à¸à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸
+webrtc-microphone-system-menu =
+ .label = à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸à¸à¸±à¸à¹à¸¡à¹à¸à¸£à¹à¸à¸à¸à¸à¸à¸à¸¸à¸ à¸à¸¥à¸´à¸à¹à¸à¸·à¹à¸à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸
+webrtc-screen-system-menu =
+ .label = à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸à¸à¸±à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸«à¸£à¸·à¸à¸«à¸à¹à¸²à¸à¸ à¸à¸¥à¸´à¸à¹à¸à¸·à¹à¸à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸
diff --git a/browser/chrome/browser-region/region.properties b/browser/chrome/browser-region/region.properties
new file mode 100644
index 00000000000..b97a12e8a3c
--- /dev/null
+++ b/browser/chrome/browser-region/region.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: 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.
+
+# 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
+
diff --git a/browser/chrome/browser/accounts.properties b/browser/chrome/browser/accounts.properties
new file mode 100644
index 00000000000..59e3cdb811a
--- /dev/null
+++ b/browser/chrome/browser/accounts.properties
@@ -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/.
+
+# LOCALIZATION NOTE (reconnectDescription) - %S = Email address of user's Firefox Account
+reconnectDescription = à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸ %S à¹à¸«à¸¡à¹
+
+# LOCALIZATION NOTE (verifyDescription) - %S = Email address of user's Firefox Account
+verifyDescription = ยืà¸à¸¢à¸±à¸ %S
+
+# These strings are shown in a desktop notification after the
+# user requests we resend a verification email.
+verificationSentTitle = สà¹à¸à¸à¸²à¸£à¸¢à¸·à¸à¸¢à¸±à¸à¹à¸¥à¹à¸§
+# LOCALIZATION NOTE (verificationSentBody) - %S = Email address of user's Firefox Account
+verificationSentBody = สà¹à¸à¸¥à¸´à¸à¸à¹à¸¢à¸·à¸à¸¢à¸±à¸à¹à¸à¸¢à¸±à¸ %S à¹à¸¥à¹à¸§
+verificationNotSentTitle = à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¹à¸à¸à¸²à¸£à¸¢à¸·à¸à¸¢à¸±à¸
+verificationNotSentBody = à¹à¸£à¸²à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¹à¸à¸à¸à¸«à¸¡à¸²à¸¢à¸¢à¸·à¸à¸¢à¸±à¸à¹à¸à¹à¹à¸à¸à¸à¸à¸à¸µà¹ à¹à¸à¸£à¸à¸¥à¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸à¹à¸à¸ ายหลัà¸
+
+# LOCALIZATION NOTE (deviceConnDisconnTitle) - the title shown in a notification
+# when either this device or another device has connected to, or disconnected
+# from, a Firefox Account.
+deviceConnDisconnTitle = à¸à¸±à¸à¸à¸µ Firefox
+
+# LOCALIZATION NOTE (otherDeviceConnectedBody, otherDeviceConnectedBody.noDeviceName)
+# These strings are used in a notification shown when a new device joins the
+# Firefox account.
+# %S is the name of the new device; otherDeviceConnectedBody.noDeviceName is shown
+# instead of otherDeviceConnectedBody when the name is not known.
+otherDeviceConnectedBody = à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸µà¹à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¸ %S à¹à¸¥à¹à¸§
+otherDeviceConnectedBody.noDeviceName = à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸µà¹à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¸à¸à¸¸à¸à¸à¸£à¸à¹à¹à¸«à¸¡à¹à¹à¸¥à¹à¸§
+
+# LOCALIZATION NOTE (thisDeviceConnectedBody) - used in a notification shown
+# after a Firefox Account is connected to the current device.
+thisDeviceConnectedBody = à¸à¸¸à¸à¹à¸à¹à¸¥à¸à¸à¸·à¹à¸à¹à¸à¹à¸²à¹à¸£à¸µà¸¢à¸à¸£à¹à¸à¸¢à¹à¸¥à¹à¸§
+
+# LOCALIZATION NOTE (thisDeviceDisconnectedBody) - used in a notification shown
+# after the Firefox Account was disconnected remotely.
+thisDeviceDisconnectedBody = à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸µà¹à¹à¸¥à¹à¸§
+
+# LOCALIZATION NOTE (sendToAllDevices.menuitem)
+# Displayed in the Send Tab/Page/Link to Device context menu when right clicking a tab, a page or a link.
+sendToAllDevices.menuitem = สà¹à¸à¹à¸à¸¢à¸±à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸
+
+# LOCALIZATION NOTE (manageDevices.menuitem)
+# Displayed in the Send Tab/Page/Link to Device context menu when right clicking a tab, a page or a link.
+manageDevices.menuitem = à¸à¸±à¸à¸à¸²à¸£à¸à¸¸à¸à¸à¸£à¸à¹â¦
+
+# LOCALIZATION NOTE (sendTabToDevice.unconfigured, sendTabToDevice.unconfigured.label2)
+# Displayed in the Send Tabs context menu when right clicking a tab, a page or a link
+# and the Sync account is unconfigured. Redirects to a marketing page.
+sendTabToDevice.unconfigured.label2 = à¹à¸¡à¹à¹à¸à¹à¸¥à¸à¸à¸·à¹à¸à¹à¸à¹à¸²
+sendTabToDevice.unconfigured = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸²à¸£à¸ªà¹à¸à¹à¸à¹à¸â¦
+
+# LOCALIZATION NOTE (sendTabToDevice.signintofxa)
+# Displayed in the Send Tabs context menu and the page action panel when FxA is not
+# configured. Allows users to immediately sign into FxA via the preferences.
+# %S is replaced by brandProductName.
+sendTabToDevice.signintofxa = ลà¸à¸à¸·à¹à¸à¹à¸à¹à¸² %Sâ¦
+
+# LOCALIZATION NOTE (sendTabToDevice.singledevice, sendTabToDevice.connectdevice,
+# sendTabToDevice.singledevice.status)
+# Displayed in the Send Tabs context menu when right clicking a tab, a page or a link
+# and the Sync account has only 1 device. The sendTabToDevice.singledevice link
+# redirects to a marketing page, the sendTabToDevice.connectdevice redirects
+# to an FxAccounts page that tells to you to connect another device.
+sendTabToDevice.singledevice.status = à¹à¸¡à¹à¸¡à¸µà¸à¸¸à¸à¸à¸£à¸à¹à¸à¸µà¹à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸
+sendTabToDevice.singledevice = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸²à¸£à¸ªà¹à¸à¹à¸à¹à¸â¦
+sendTabToDevice.connectdevice = à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸·à¹à¸â¦
+
+# LOCALIZATION NOTE (sendTabToDevice.verify, sendTabToDevice.verify.status)
+# 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.
+sendTabToDevice.verify.status = à¸à¸±à¸à¸à¸µà¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸¢à¸·à¸à¸¢à¸±à¸
+sendTabToDevice.verify = ยืà¸à¸¢à¸±à¸à¸à¸±à¸à¸à¸µà¸à¸à¸à¸à¸¸à¸â¦
+
+# LOCALIZATION NOTE (tabArrivingNotification.title, tabArrivingNotificationWithDevice.title,
+# multipleTabsArrivingNotification.title, unnamedTabsArrivingNotification2.body,
+# unnamedTabsArrivingNotificationMultiple2.body, unnamedTabsArrivingNotificationNoDevice.body,
+# singleTabArrivingWithTruncatedURL.body)
+# These strings are used in a notification shown when we're opening tab(s) another device sent us to display.
+
+# LOCALIZATION NOTE (tabArrivingNotification.title, tabArrivingNotificationWithDevice.title)
+# The body for these is the URL of the tab received
+tabArrivingNotification.title = à¹à¸à¹à¸£à¸±à¸à¹à¸à¹à¸
+# LOCALIZATION NOTE (tabArrivingNotificationWithDevice.title) %S is the device name
+tabArrivingNotificationWithDevice.title = à¹à¸à¹à¸à¸à¸²à¸ %S
+
+multipleTabsArrivingNotification.title = à¹à¸à¹à¸£à¸±à¸à¹à¸à¹à¸
+# LOCALIZATION NOTE (unnamedTabsArrivingNotification2.body):
+# Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs received and #2 is the device name.
+unnamedTabsArrivingNotification2.body = มี #1 à¹à¸à¹à¸à¹à¸à¹à¸²à¸¡à¸²à¸à¸²à¸ #2
+# LOCALIZATION NOTE (unnamedTabsArrivingNotificationMultiple2.body):
+# Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs received.
+unnamedTabsArrivingNotificationMultiple2.body = มี #1 à¹à¸à¹à¸à¹à¸à¹à¸²à¸¡à¸²à¸à¸²à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸µà¹à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸à¸à¸à¸¸à¸
+
+# LOCALIZATION NOTE (unnamedTabsArrivingNotificationNoDevice.body):
+# Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs received
+# This version is used when we don't know any device names.
+unnamedTabsArrivingNotificationNoDevice.body = มี #1 à¹à¸à¹à¸à¹à¸à¹à¸²à¸¡à¸²
+
+# LOCALIZATION NOTE (singleTabArrivingWithTruncatedURL.body):
+# 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 benen truncated.
+# %S is the portion of the URL that remains after truncation.
+singleTabArrivingWithTruncatedURL.body = %Sâ¦
+
diff --git a/browser/chrome/browser/app-extension-fields.properties b/browser/chrome/browser/app-extension-fields.properties
new file mode 100644
index 00000000000..ac4800d426a
--- /dev/null
+++ b/browser/chrome/browser/app-extension-fields.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/.
+
+# LOCALIZATION NOTE (extension.firefox-compact-light@mozilla.org.name): This is displayed in about:addons -> Appearance
+extension.firefox-compact-light@mozilla.org.name=สวà¹à¸²à¸
+extension.firefox-compact-light@mozilla.org.description=à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¸¡à¸µà¹à¸à¸à¹à¸à¸à¸à¸¸à¸à¸ªà¸µà¸ªà¸§à¹à¸²à¸
+
+# LOCALIZATION NOTE (extension.firefox-compact-dark@mozilla.org.name): This is displayed in about:addons -> Appearance
+extension.firefox-compact-dark@mozilla.org.name=มืà¸
+extension.firefox-compact-dark@mozilla.org.description=à¸à¸¸à¸à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¸¡à¸µà¹à¸à¸à¹à¸à¸à¸à¸¸à¸à¸ªà¸µà¸¡à¸·à¸
+
+# LOCALIZATION NOTE (extension.firefox-alpenglow@mozilla.org.name): This is displayed in about:addons -> Appearance
+extension.firefox-alpenglow@mozilla.org.name=Firefox Alpenglow
+extension.firefox-alpenglow@mozilla.org.description=à¹à¸à¹à¸¥à¸±à¸à¸©à¸à¸°à¸à¸µà¹à¸à¸£à¸²à¸à¸à¹à¸à¸à¸ªà¸µà¸ªà¸±à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¸à¹à¸¡ à¹à¸¡à¸à¸¹ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸
diff --git a/browser/chrome/browser/browser.dtd b/browser/chrome/browser/browser.dtd
new file mode 100644
index 00000000000..f9dbad79a73
--- /dev/null
+++ b/browser/chrome/browser/browser.dtd
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/browser.properties b/browser/chrome/browser/browser.properties
new file mode 100644
index 00000000000..881375d8742
--- /dev/null
+++ b/browser/chrome/browser/browser.properties
@@ -0,0 +1,1023 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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=หมà¸à¹à¸§à¸¥à¸²à¸£à¸
+openFile=à¹à¸à¸´à¸à¹à¸à¸¥à¹
+
+droponhometitle=à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸£à¸
+droponhomemsg=à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸«à¹à¹à¸à¸à¸ªà¸²à¸£à¸à¸µà¹à¹à¸à¹à¸à¸«à¸à¹à¸²à¹à¸£à¸à¹à¸«à¸¡à¹à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+droponhomemsgMultiple=à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸«à¹à¹à¸à¸à¸ªà¸²à¸£à¹à¸«à¸¥à¹à¸²à¸à¸µà¹à¹à¸à¹à¸à¸«à¸à¹à¸²à¹à¸£à¸à¹à¸«à¸¡à¹à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+
+# context menu strings
+
+# LOCALIZATION NOTE (contextMenuSearch): %1$S is the search engine,
+# %2$S is the selection string.
+contextMenuSearch=à¸à¹à¸à¸«à¸² %1$S สำหรัภâ%2$Sâ
+contextMenuSearch.accesskey=à¸
+contextMenuPrivateSearch=à¸à¹à¸à¸«à¸²à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+contextMenuPrivateSearch.accesskey=า
+# 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=à¸à¹à¸à¸«à¸²à¸à¹à¸§à¸¢ %S à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+contextMenuPrivateSearchOtherEngine.accesskey=า
+
+# bookmark dialog strings
+
+bookmarkAllTabsDefault=[à¸à¸·à¹à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹]
+
+xpinstallPromptMessage=%S à¹à¸à¹à¸à¹à¸à¸à¸à¸±à¸à¹à¸¡à¹à¹à¸«à¹à¹à¸à¸à¹à¸à¸µà¹à¸à¸à¸à¸¸à¸à¹à¸à¸·à¹à¸à¸à¸´à¸à¸à¸±à¹à¸à¸à¸à¸à¸à¹à¹à¸§à¸£à¹à¸¥à¸à¹à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸
+# LOCALIZATION NOTE (xpinstallPromptMessage.header)
+# The string contains the hostname of the site the add-on is being installed from.
+xpinstallPromptMessage.header=à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %S à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸«à¸£à¸·à¸à¹à¸¡à¹?
+xpinstallPromptMessage.message=à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸²à¸ %S à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸«à¹à¹à¸à¹à¹à¸à¸§à¹à¸²à¸à¸¸à¸à¹à¸à¸·à¹à¸à¸à¸·à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¹à¸à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸
+xpinstallPromptMessage.header.unknown=à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¹à¸à¸à¹à¸à¸µà¹à¹à¸¡à¹à¸£à¸¹à¹à¸à¸±à¸à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡?
+xpinstallPromptMessage.message.unknown=à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸²à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸¡à¹à¸£à¸¹à¹à¸à¸±à¸ à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸«à¹à¹à¸à¹à¹à¸à¸§à¹à¸²à¸à¸¸à¸à¹à¸à¸·à¹à¸à¸à¸·à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¹à¸à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸
+xpinstallPromptMessage.learnMore=à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัย
+xpinstallPromptMessage.dontAllow=à¹à¸¡à¹à¸à¸à¸¸à¸à¸²à¸
+xpinstallPromptMessage.dontAllow.accesskey=ม
+xpinstallPromptMessage.neverAllow=à¹à¸¡à¹à¸à¸à¸¸à¸à¸²à¸à¹à¸ªà¸¡à¸
+xpinstallPromptMessage.neverAllow.accesskey=ม
+# 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
+xpinstallPromptMessage.install=à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¹à¸à¹à¸
+xpinstallPromptMessage.install.accesskey=à¸
+
+xpinstallDisabledMessageLocked=à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸à¸à¸à¹à¹à¸§à¸£à¹à¸à¸¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¸¢à¸à¸¹à¹à¸à¸¹à¹à¸¥à¸£à¸°à¸à¸à¸à¸à¸à¸à¸¸à¸
+xpinstallDisabledMessage=à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸à¸à¸à¹à¹à¸§à¸£à¹à¸à¸¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸¢à¸¹à¹à¹à¸à¸à¸à¸°à¸à¸µà¹ à¸à¸¥à¸´à¸ à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸ à¹à¸¥à¹à¸§à¸¥à¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸
+xpinstallDisabledButton=à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸
+xpinstallDisabledButton.accesskey=à¸
+
+# LOCALIZATION NOTE (addonInstallBlockedByPolicy)
+# This message is shown when the installation of an add-on is blocked by
+# enterprise policy. %1$S is replaced by the name of the add-on.
+# %2$S is replaced by the ID of add-on. %3$S is a custom message that
+# the administration can add to the message.
+addonInstallBlockedByPolicy=%1$S (%2$S) à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸à¹à¸à¸¢à¸à¸¹à¹à¸à¸¹à¹à¸¥à¸£à¸°à¸à¸à¸à¸à¸à¸à¸¸à¸ %3$S
+addonInstallFullScreenBlocked=à¹à¸¡à¹à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸à¸°à¸à¸¢à¸¹à¹à¹à¸à¸«à¸£à¸·à¸à¸à¹à¸à¸à¹à¸à¹à¸²à¸ªà¸¹à¹à¹à¸«à¸¡à¸à¹à¸à¹à¸¡à¸«à¸à¹à¸²à¸à¸
+
+# LOCALIZATION NOTE (webextPerms.header,webextPerms.headerWithPerms,webextPerms.headerUnsigned,webextPerms.headerUnsignedWithPerms)
+# This string is used as a header in the webextension permissions dialog,
+# %S is replaced with the localized name of the extension being installed.
+# 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 <, >, &
+webextPerms.header=à¹à¸à¸´à¹à¸¡ %S?
+webextPerms.headerWithPerms=à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸´à¹à¸¡ %S หรืà¸à¹à¸¡à¹ สà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸µà¹à¸à¸°à¹à¸à¹à¸£à¸±à¸à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹:
+webextPerms.headerUnsigned=à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸´à¹à¸¡ %S หรืà¸à¹à¸¡à¹ สà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸µà¹à¸¢à¸±à¸à¹à¸¡à¹à¸à¸¹à¸à¸¢à¸·à¸à¸¢à¸±à¸ สà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸µà¹à¹à¸à¹à¸à¸à¸±à¸à¸à¸£à¸²à¸¢à¸à¸²à¸à¸à¹à¸¡à¸¢à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¸à¸³à¹à¸«à¹à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¹à¸ªà¸µà¸¢à¸«à¸²à¸¢à¹à¸à¹ à¹à¸à¸£à¸à¹à¸à¸´à¹à¸¡à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸µà¹à¸à¹à¸à¹à¸à¹à¸¡à¸·à¹à¸à¸à¸¸à¸à¹à¸à¸·à¹à¸à¸à¸·à¸à¹à¸«à¸¥à¹à¸à¸à¸µà¹à¸¡à¸²à¹à¸à¹à¸²à¸à¸±à¹à¸
+webextPerms.headerUnsignedWithPerms=à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸´à¹à¸¡ %S หรืà¸à¹à¸¡à¹ สà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸µà¹à¸¢à¸±à¸à¹à¸¡à¹à¸à¸¹à¸à¸¢à¸·à¸à¸¢à¸±à¸ สà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸µà¹à¹à¸à¹à¸à¸à¸±à¸à¸à¸£à¸²à¸¢à¸à¸²à¸à¸à¹à¸¡à¸¢à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¸à¸³à¹à¸«à¹à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¹à¸ªà¸µà¸¢à¸«à¸²à¸¢à¹à¸à¹ à¹à¸à¸£à¸à¹à¸à¸´à¹à¸¡à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸µà¹à¸à¹à¸à¹à¸à¹à¸¡à¸·à¹à¸à¸à¸¸à¸à¹à¸à¸·à¹à¸à¸à¸·à¸à¹à¸«à¸¥à¹à¸à¸à¸µà¹à¸¡à¸²à¹à¸à¹à¸²à¸à¸±à¹à¸ สà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸µà¹à¸à¸°à¹à¸à¹à¸£à¸±à¸à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹:
+
+webextPerms.learnMore2=à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+webextPerms.add.label=à¹à¸à¸´à¹à¸¡
+webextPerms.add.accessKey=à¸
+webextPerms.cancel.label=ยà¸à¹à¸¥à¸´à¸
+webextPerms.cancel.accessKey=ย
+
+# LOCALIZATION NOTE (webextPerms.sideloadMenuItem)
+# %1$S will be replaced with the localized name of the sideloaded add-on.
+# %2$S will be replace with the name of the application (e.g., Firefox, Nightly)
+webextPerms.sideloadMenuItem=à¹à¸à¸´à¹à¸¡ %1$S ลà¸à¹à¸ %2$S à¹à¸¥à¹à¸§
+
+# LOCALIZATION NOTE (webextPerms.sideloadHeader)
+# This string is used as a header in the webextension permissions dialog
+# when the extension is side-loaded.
+# %S is replaced with the localized name of the extension being installed.
+# Note, this string will be used as raw markup. Avoid characters like <, >, &
+webextPerms.sideloadHeader=à¹à¸à¸´à¹à¸¡ %S à¹à¸¥à¹à¸§
+webextPerms.sideloadText2=à¹à¸à¸£à¹à¸à¸£à¸¡à¸à¸·à¹à¸ ๠à¸à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¸à¸³à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸µà¹à¸à¸²à¸à¸ªà¹à¸à¸à¸¥à¸à¸£à¸°à¸à¸à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸ à¹à¸à¸£à¸à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸³à¸à¸à¸à¸²à¸£à¸à¸à¸¸à¸à¸²à¸à¸à¸à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¹à¸¥à¸°à¹à¸¥à¸·à¸à¸ à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸ หรืภยà¸à¹à¸¥à¸´à¸ (à¹à¸à¸·à¹à¸à¸à¸¥à¹à¸à¸¢à¹à¸«à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¹à¸à¹à¸)
+webextPerms.sideloadTextNoPerms=à¹à¸à¸£à¹à¸à¸£à¸¡à¸à¸·à¹à¸ ๠à¸à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¸à¸³à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸µà¹à¸à¸²à¸à¸ªà¹à¸à¸à¸¥à¸à¸£à¸°à¸à¸à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸ à¹à¸à¸£à¸à¹à¸¥à¸·à¸à¸ à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸ หรืภยà¸à¹à¸¥à¸´à¸ (à¹à¸à¸·à¹à¸à¸à¸¥à¹à¸à¸¢à¹à¸«à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¹à¸à¹à¸)
+
+webextPerms.sideloadEnable.label=à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸
+webextPerms.sideloadEnable.accessKey=à¸
+webextPerms.sideloadCancel.label=ยà¸à¹à¸¥à¸´à¸
+webextPerms.sideloadCancel.accessKey=ย
+
+# LOCALIZATION NOTE (webextPerms.updateMenuItem)
+# %S will be replaced with the localized name of the extension which
+# has been updated.
+webextPerms.updateMenuItem=%S à¸à¹à¸à¸à¸à¸²à¸£à¸ªà¸´à¸à¸à¸´à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¸¡à¹
+
+# LOCALIZATION NOTE (webextPerms.updateText)
+# %S is replaced with the localized name of the updated extension.
+# Note, this string will be used as raw markup. Avoid characters like <, >, &
+webextPerms.updateText2=%S à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¹à¸¥à¹à¸§ à¸à¸¸à¸à¸à¹à¸à¸à¸à¸à¸¸à¸¡à¸±à¸à¸´à¸ªà¸´à¸à¸à¸´à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¸¡à¹à¸à¹à¸à¸à¸à¸µà¹à¸£à¸¸à¹à¸à¸à¸±à¸à¹à¸à¸à¸à¸°à¸à¸´à¸à¸à¸±à¹à¸ à¸à¸²à¸£à¹à¸¥à¸·à¸à¸ âยà¸à¹à¸¥à¸´à¸â à¸à¸°à¸à¸à¸£à¸¸à¹à¸à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸±à¸à¸à¸¸à¸à¸±à¸à¸à¸à¸à¸à¸¸à¸à¹à¸§à¹ สà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸µà¹à¸à¸°à¹à¸à¹à¸£à¸±à¸à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹:
+
+webextPerms.updateAccept.label=à¸à¸±à¸à¹à¸à¸
+webextPerms.updateAccept.accessKey=à¸
+
+# LOCALIZATION NOTE (webextPerms.optionalPermsHeader)
+# %S is replace with the localized name of the extension requested new
+# permissions.
+# Note, this string will be used as raw markup. Avoid characters like <, >, &
+webextPerms.optionalPermsHeader=%S à¸à¸à¸ªà¸´à¸à¸à¸´à¸à¸à¸¸à¸à¸²à¸à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+webextPerms.optionalPermsListIntro=สà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¹à¸à¸à¸à¸²à¸£:
+webextPerms.optionalPermsAllow.label=à¸à¸à¸¸à¸à¸²à¸
+webextPerms.optionalPermsAllow.accessKey=à¸
+webextPerms.optionalPermsDeny.label=à¸à¸à¸´à¹à¸ªà¸
+webextPerms.optionalPermsDeny.accessKey=à¸
+
+webextPerms.description.bookmarks=à¸à¹à¸²à¸à¹à¸¥à¸°à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+webextPerms.description.browserSettings=à¸à¹à¸²à¸à¹à¸¥à¸°à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹
+webextPerms.description.browsingData=ลà¹à¸²à¸à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹, à¸à¸¸à¸à¸à¸µà¹ à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¹à¸à¸µà¹à¸¢à¸§à¸à¹à¸à¸à¸¥à¹à¸²à¸ªà¸¸à¸
+webextPerms.description.clipboardRead=รัà¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸à¸à¸¥à¸´à¸à¸à¸à¸£à¹à¸
+webextPerms.description.clipboardWrite=à¸à¹à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸¢à¸±à¸à¸à¸¥à¸´à¸à¸à¸à¸£à¹à¸
+webextPerms.description.devtools=à¸à¸¢à¸²à¸¢à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸±à¸à¸à¸±à¸à¸à¸²à¹à¸à¸·à¹à¸à¹à¸à¹à¸²à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸à¸´à¸à¸à¸¢à¸¹à¹
+webextPerms.description.downloads=à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¹à¸à¸¥à¹à¹à¸¥à¸°à¸à¹à¸²à¸à¹à¸¥à¸°à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸à¸à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹
+webextPerms.description.downloads.open=à¹à¸à¸´à¸à¹à¸à¸¥à¹à¸à¸µà¹à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¹à¸à¸¢à¸±à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸
+webextPerms.description.find=à¸à¹à¸²à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸à¸´à¸à¸à¸¢à¸¹à¹à¸à¸±à¹à¸à¸«à¸¡à¸
+webextPerms.description.geolocation=à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¸à¸à¸à¸¸à¸
+webextPerms.description.history=à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹
+webextPerms.description.management=à¹à¸à¹à¸²à¸ªà¸±à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¹à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢à¹à¸¥à¸°à¸à¸±à¸à¸à¸²à¸£à¸à¸¸à¸à¸à¸à¹à¸à¹à¸
+# LOCALIZATION NOTE (webextPerms.description.nativeMessaging)
+# %S will be replaced with the name of the application
+webextPerms.description.nativeMessaging=à¹à¸¥à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸±à¸à¹à¸à¸£à¹à¸à¸£à¸¡à¸à¸·à¹à¸à¸à¸à¸à¹à¸«à¸à¸·à¸à¸à¸²à¸ %S
+webextPerms.description.notifications=à¹à¸ªà¸à¸à¸à¸¥à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¹à¸«à¹à¸à¸¸à¸
+webextPerms.description.pkcs11=à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸à¸à¸à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¸¥à¸±à¸
+webextPerms.description.privacy=à¸à¹à¸²à¸à¹à¸¥à¸°à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+webextPerms.description.proxy=à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸£à¹à¸à¸à¸à¸µà¸à¸à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹
+webextPerms.description.sessions=à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸´à¸à¸¥à¹à¸²à¸ªà¸¸à¸
+webextPerms.description.tabs=à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¹à¸à¸à¸à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹
+webextPerms.description.tabHide=à¸à¹à¸à¸à¹à¸¥à¸°à¹à¸ªà¸à¸à¹à¸à¹à¸à¸à¸à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹
+webextPerms.description.topSites=à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹
+webextPerms.description.webNavigation=à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸´à¸à¸à¸£à¸£à¸¡à¸à¸à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸£à¸°à¸«à¸§à¹à¸²à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸
+
+webextPerms.hostDescription.allUrls=à¹à¸à¹à¸²à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¸à¸¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸
+
+# LOCALIZATION NOTE (webextPerms.hostDescription.wildcard)
+# %S will be replaced by the DNS domain for which a webextension
+# is requesting access (e.g., mozilla.org)
+webextPerms.hostDescription.wildcard=à¹à¸à¹à¸²à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¸à¸¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¸à¹à¹à¸à¹à¸à¹à¸¡à¸ %S
+
+# LOCALIZATION NOTE (webextPerms.hostDescription.tooManyWildcards):
+# Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 will be replaced by an integer indicating the number of additional
+# domains for which this webextension is requesting permission.
+webextPerms.hostDescription.tooManyWildcards=à¹à¸à¹à¸²à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¸à¸¸à¸à¹à¸ #1 à¹à¸à¹à¸¡à¸à¸à¸·à¹à¸ à¹
+
+# LOCALIZATION NOTE (webextPerms.hostDescription.oneSite)
+# %S will be replaced by the DNS host name for which a webextension
+# is requesting access (e.g., www.mozilla.org)
+webextPerms.hostDescription.oneSite=à¹à¸à¹à¸²à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¸à¸¸à¸à¸ªà¸³à¸«à¸£à¸±à¸ %S
+
+# LOCALIZATION NOTE (webextPerms.hostDescription.tooManySites)
+# Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 will be replaced by an integer indicating the number of additional
+# hosts for which this webextension is requesting permission.
+webextPerms.hostDescription.tooManySites=à¹à¸à¹à¸²à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¸à¸¸à¸à¹à¸ #1 à¹à¸à¸à¹à¸à¸·à¹à¸ à¹
+
+# LOCALIZATION NOTE (webext.defaultSearch.description)
+# %1$S is replaced with the localized named of the extension that is asking to change the default search engine.
+# %2$S is replaced with the name of the current search engine
+# %3$S is replaced with the name of the new search engine
+webext.defaultSearch.description=%1$S à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¸à¸²à¸ %2$S à¹à¸à¹à¸ %3$S à¸à¸à¸¥à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+webext.defaultSearchYes.label=à¹à¸à¹
+webext.defaultSearchYes.accessKey=à¸
+webext.defaultSearchNo.label=à¹à¸¡à¹
+webext.defaultSearchNo.accessKey=ม
+
+# LOCALIZATION NOTE (webext.remove.confirmation.message)
+# %1$S is the name of the extension which is about to be removed.
+# %2$S is brandShorterName
+webext.remove.confirmation.message=à¹à¸à¸² %1$S à¸à¸à¸à¸à¸²à¸ %2$S?
+webext.remove.confirmation.button=à¹à¸à¸²à¸à¸à¸
+
+# LOCALIZATION NOTE (addonPostInstall.message3)
+# %S is replaced with the localized named of the extension that was
+# just installed.
+addonPostInstall.message3=à¹à¸à¸´à¹à¸¡ %S à¹à¸¥à¹à¸§
+
+# LOCALIZATION NOTE (addonDownloadingAndVerifying):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Also see https://bugzilla.mozilla.org/show_bug.cgi?id=570012 for mockups
+addonDownloadingAndVerifying=à¸à¸³à¸¥à¸±à¸à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¹à¸¥à¸°à¸¢à¸·à¸à¸¢à¸±à¸ #1 สà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡â¦
+addonDownloadVerifying=à¸à¸³à¸¥à¸±à¸à¸¢à¸·à¸à¸¢à¸±à¸
+
+addonInstall.unsigned=(à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸¢à¸·à¸à¸¢à¸±à¸)
+addonInstall.cancelButton.label=ยà¸à¹à¸¥à¸´à¸
+addonInstall.cancelButton.accesskey=ย
+addonInstall.acceptButton2.label=à¹à¸à¸´à¹à¸¡
+addonInstall.acceptButton2.accesskey=à¸
+
+# LOCALIZATION NOTE (addonConfirmInstallMessage,addonConfirmInstallUnsigned):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is brandShortName
+# #2 is the number of add-ons being installed
+addonConfirmInstall.message=à¹à¸à¸à¹à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ #2 สà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¹à¸ #1:
+addonConfirmInstallUnsigned.message=à¸à¹à¸à¸à¸§à¸£à¸£à¸°à¸§à¸±à¸: à¹à¸à¸à¹à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ #2 สà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸¢à¸·à¸à¸¢à¸±à¸à¹à¸ #1 à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸à¹à¸à¸¢à¸£à¸±à¸à¸à¸§à¸²à¸¡à¹à¸ªà¸µà¹à¸¢à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸
+
+# LOCALIZATION NOTE (addonConfirmInstallSomeUnsigned.message):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is brandShortName
+# #2 is the total number of add-ons being installed (at least 2)
+addonConfirmInstallSomeUnsigned.message=à¸à¹à¸à¸à¸§à¸£à¸£à¸°à¸§à¸±à¸: à¹à¸à¸à¹à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ #2 สà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¹à¸ #1 à¸à¸²à¸à¸ªà¹à¸§à¸à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸¢à¸·à¸à¸¢à¸±à¸ à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸à¹à¸à¸¢à¸£à¸±à¸à¸à¸§à¸²à¸¡à¹à¸ªà¸µà¹à¸¢à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸
+
+# LOCALIZATION NOTE (addonInstalled):
+# %S is the name of the add-on
+addonInstalled=%S à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¸³à¹à¸£à¹à¸
+# LOCALIZATION NOTE (addonsGenericInstalled):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of add-ons
+addonsGenericInstalled=#1 สà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¸³à¹à¸£à¹à¸
+
+# LOCALIZATION NOTE (addonInstallError-1, addonInstallError-2, addonInstallError-3, addonInstallError-4, addonInstallError-5, addonLocalInstallError-1, addonLocalInstallError-2, addonLocalInstallError-3, addonLocalInstallError-4, addonLocalInstallError-5):
+# %1$S is the application name, %2$S is the add-on name
+addonInstallError-1=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸¥à¹à¸¡à¹à¸«à¸¥à¸§
+addonInstallError-2=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¹à¸¡à¹à¸à¸£à¸à¸à¸±à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸µà¹ %1$S à¸à¹à¸à¸à¸à¸²à¸£
+addonInstallError-3=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸µà¹à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸à¸²à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸¹à¹à¸«à¸¡à¸·à¸à¸à¸à¸°à¹à¸ªà¸µà¸¢à¸«à¸²à¸¢
+addonInstallError-4=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸ %2$S à¹à¸à¸·à¹à¸à¸à¸à¸²à¸ %1$S à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¹à¸à¹à¸à¸¥à¹à¸à¸µà¹à¸à¸³à¹à¸à¹à¸
+addonInstallError-5=%1$S à¹à¸à¹à¸à¹à¸à¸à¸à¸±à¸à¹à¸¡à¹à¹à¸«à¹à¹à¸à¸à¹à¸à¸µà¹à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸¢à¸·à¸à¸¢à¸±à¸
+addonLocalInstallError-1=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸µà¹à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸£à¸°à¸à¸à¹à¸à¸¥à¹
+addonLocalInstallError-2=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸µà¹à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¹à¸¡à¹à¸à¸£à¸à¸à¸±à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸µà¹ %1$S à¸à¹à¸à¸à¸à¸²à¸£
+addonLocalInstallError-3=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸µà¹à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸¹à¹à¸«à¸¡à¸·à¸à¸à¸à¸°à¹à¸ªà¸µà¸¢à¸«à¸²à¸¢
+addonLocalInstallError-4=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸ %2$S à¹à¸à¸·à¹à¸à¸à¸à¸²à¸ %1$S à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¹à¸à¹à¸à¸¥à¹à¸à¸µà¹à¸à¸³à¹à¸à¹à¸
+addonLocalInstallError-5=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸µà¹à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸¢à¸·à¸à¸¢à¸±à¸
+
+# LOCALIZATION NOTE (addonInstallErrorIncompatible):
+# %1$S is the application name, %2$S is the application version, %3$S is the add-on name
+addonInstallErrorIncompatible=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸ %3$S à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¹à¸à¹à¸²à¸à¸±à¸à¹à¸¡à¹à¹à¸à¹à¸à¸±à¸ %1$S %2$S
+
+# LOCALIZATION NOTE (addonInstallErrorBlocklisted): %S is add-on name
+addonInstallErrorBlocklisted=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸ %S à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸¡à¸µà¸à¸§à¸²à¸¡à¹à¸ªà¸µà¹à¸¢à¸à¸ªà¸¹à¸à¸à¸µà¹à¸à¸°à¸à¹à¸à¹à¸«à¹à¹à¸à¸´à¸à¸à¸±à¸à¸«à¸²à¸à¹à¸²à¸à¹à¸ªà¸à¸µà¸¢à¸£à¸ าà¸à¸«à¸£à¸·à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย
+
+unsignedAddonsDisabled.message=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸¢à¸·à¸à¸¢à¸±à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸µà¹à¸à¸´à¸à¸à¸±à¹à¸à¸à¸³à¸à¸§à¸à¸«à¸à¸¶à¹à¸à¸«à¸£à¸·à¸à¸¡à¸²à¸à¸à¸§à¹à¸²à¹à¸¥à¸°à¸à¸¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸
+unsignedAddonsDisabled.learnMore.label=à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+unsignedAddonsDisabled.learnMore.accesskey=ร
+
+# LOCALIZATION NOTE (popupWarning.message): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is brandShortName and #2 is the number of pop-ups blocked.
+popupWarning.message=#1 à¹à¸à¹à¸à¹à¸à¸à¸à¸±à¸à¹à¸¡à¹à¹à¸«à¹à¹à¸à¸à¹à¸à¸µà¹à¹à¸à¸´à¸ #2 หà¸à¹à¸²à¸à¹à¸²à¸à¸à¹à¸à¸à¸à¸±à¸
+# LOCALIZATION NOTE (popupWarning.exceeded.message): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# The singular form is left empty for English, since the number of blocked pop-ups is always greater than 1.
+# #1 is brandShortName and #2 is the number of pop-ups blocked.
+popupWarning.exceeded.message=#1 à¹à¸à¹à¸à¹à¸à¸à¸à¸±à¸à¹à¸¡à¹à¹à¸«à¹à¹à¸à¸à¹à¸à¸µà¹à¹à¸à¸´à¸à¸¡à¸²à¸à¸à¸§à¹à¸² #2 หà¸à¹à¸²à¸à¹à¸²à¸à¸à¹à¸à¸à¸à¸±à¸
+popupWarningButton=à¸à¸±à¸§à¹à¸¥à¸·à¸à¸
+popupWarningButton.accesskey=à¸
+popupWarningButtonUnix=à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²
+popupWarningButtonUnix.accesskey=à¸
+popupAllow=à¸à¸à¸¸à¸à¸²à¸à¸à¹à¸à¸à¸à¸±à¸à¸ªà¸³à¸«à¸£à¸±à¸ %S
+popupBlock=à¸à¸´à¸à¸à¸±à¹à¸à¸à¹à¸à¸à¸à¸±à¸à¸ªà¸³à¸«à¸£à¸±à¸ %S
+popupWarningDontShowFromMessage=à¹à¸¡à¹à¹à¸ªà¸à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¹à¸¡à¸·à¹à¸à¸à¹à¸à¸à¸à¸±à¸à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸
+popupShowPopupPrefix=à¹à¸ªà¸à¸ â%Sâ
+
+# LOCALIZATION NOTE (geolocationLastAccessIndicatorText): %S is the relative time of the most recent geolocation access (e.g. 5 min. ago)
+geolocationLastAccessIndicatorText=à¹à¸à¹à¸²à¸à¸¶à¸à¸¥à¹à¸²à¸ªà¸¸à¸à¹à¸¡à¸·à¹à¸ %S
+
+# LOCALIZATION NOTE (openProtocolHandlerPermissionEntryLabel): %S is the scheme of the protocol the site may open an application for. For example: mailto
+openProtocolHandlerPermissionEntryLabel=ลิà¸à¸à¹ %S://
+
+crashedpluginsMessage.title=à¸à¸¥à¸±à¹à¸à¸à¸´à¸ %S à¸à¸±à¸à¸à¹à¸à¸
+crashedpluginsMessage.reloadButton.label=à¹à¸«à¸¥à¸à¸«à¸à¹à¸²à¹à¸«à¸¡à¹
+crashedpluginsMessage.reloadButton.accesskey=ห
+crashedpluginsMessage.submitButton.label=สà¹à¸à¸£à¸²à¸¢à¸à¸²à¸à¸à¹à¸à¸à¸±à¸à¸à¹à¸à¸
+crashedpluginsMessage.submitButton.accesskey=ส
+crashedpluginsMessage.learnMore=à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡â¦
+
+# 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=à¸à¸¸à¸à¸«à¸¡à¸²à¸¢à¸à¸¶à¸à¸à¸°à¹à¸à¸¢à¸±à¸ %S หรืà¸à¹à¸¡à¹?
+keywordURIFixup.goTo=à¹à¸à¹ à¸à¸²à¸à¸±à¸à¹à¸à¸à¸µà¹ %S
+keywordURIFixup.goTo.accesskey=à¸
+
+pluginInfo.unknownPlugin=à¹à¸¡à¹à¸à¸£à¸²à¸
+
+# Flash activation doorhanger UI
+flashActivate.message=à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ Adobe Flash à¸à¸³à¸à¸²à¸à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸«à¸£à¸·à¸à¹à¸¡à¹? à¸à¸à¸¸à¸à¸²à¸ Adobe Flash à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸¸à¸à¹à¸à¸·à¹à¸à¸à¸·à¸à¹à¸à¹à¸²à¸à¸±à¹à¸
+flashActivate.outdated.message=à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ Adobe Flash รุà¹à¸à¹à¸à¹à¸²à¸à¸³à¸à¸²à¸à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸«à¸£à¸·à¸à¹à¸¡à¹? รุà¹à¸à¹à¸à¹à¸²à¸à¸²à¸à¸ªà¹à¸à¸à¸¥à¸à¹à¸à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¹à¸¥à¸°à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹
+flashActivate.noAllow=à¹à¸¡à¹à¸à¸à¸¸à¸à¸²à¸
+flashActivate.allow=à¸à¸à¸¸à¸à¸²à¸
+flashActivate.noAllow.accesskey=ม
+flashActivate.allow.accesskey=à¸
+
+# in-page UI
+# LOCALIZATION NOTE (PluginClickToActivate2): Two changes were done to the
+# previous version of the string. The first is that we changed the wording from
+# "Activate" to "Run", because it's shorter and feels less technical in English.
+# Feel free to keep using the previous wording in your language if it's already
+# the best one.
+# The second change is that we removed the period at the end of the phrase, because
+# it's not natural in our UI, and the underline was removed from this, so it doesn't
+# look like a link anymore. We suggest that everyone removes that period too.
+PluginClickToActivate2=à¹à¸£à¸µà¸¢à¸à¹à¸à¹ %S
+PluginVulnerableUpdatable=à¸à¸¥à¸±à¹à¸à¸à¸´à¸à¸à¸µà¹à¸¡à¸µà¸à¸§à¸²à¸¡à¹à¸ªà¸µà¹à¸¢à¸à¹à¸¥à¸°à¸à¸§à¸£à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸
+PluginVulnerableNoUpdate=à¸à¸¥à¸±à¹à¸à¸à¸´à¸à¸à¸µà¹à¸¡à¸µà¸à¹à¸à¸à¹à¸«à¸§à¹à¸à¹à¸²à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย
+
+# Sanitize
+# LOCALIZATION NOTE (update.downloadAndInstallButton.label): %S is replaced by the
+# version of the update: "Update to 28.0".
+update.downloadAndInstallButton.label=à¸à¸±à¸à¹à¸à¸à¹à¸à¹à¸ %S
+update.downloadAndInstallButton.accesskey=à¸
+
+menuOpenAllInTabs.label=à¹à¸à¸´à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¹à¸à¹à¸à¹à¸
+
+# History menu
+# LOCALIZATION NOTE (menuUndoCloseWindowLabel): Semicolon-separated list of plural forms.
+# see bug 394759
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 Window Title, #2 Number of tabs
+menuUndoCloseWindowLabel=#1 (à¹à¸¥à¸° #2 à¹à¸à¹à¸à¸à¸·à¹à¸ à¹)
+menuUndoCloseWindowSingleTabLabel=#1
+
+# Unified Back-/Forward Popup
+tabHistory.current=à¸à¸à¸à¸¢à¸¹à¹à¹à¸à¸«à¸à¹à¸²à¸à¸µà¹
+tabHistory.goBack=ยà¹à¸à¸à¸à¸¥à¸±à¸à¹à¸à¸¢à¸±à¸à¸«à¸à¹à¸²à¸à¸µà¹
+tabHistory.goForward=à¹à¸à¸´à¸à¸«à¸à¹à¸²à¹à¸à¸¢à¸±à¸à¸«à¸à¹à¸²à¸à¸µà¹
+
+# URL Bar
+pasteAndGo.label=วาà¸à¹à¸¥à¹à¸§à¹à¸
+# LOCALIZATION NOTE (reloadButton.tooltip):
+# %S is the keyboard shortcut for reloading the current page
+reloadButton.tooltip=à¹à¸«à¸¥à¸à¸«à¸à¹à¸²à¸à¸±à¸à¸à¸¸à¸à¸±à¸à¹à¸«à¸¡à¹ (%S)
+# LOCALIZATION NOTE (stopButton.tooltip):
+# %S is the keyboard shortcut for stopping loading the page
+stopButton.tooltip=หยุà¸à¸à¸²à¸£à¹à¸«à¸¥à¸à¸«à¸à¹à¸²à¸à¸µà¹ (%S)
+# LOCALIZATION NOTE (urlbar-zoom-button.tooltip):
+# %S is the keyboard shortcut for resetting the zoom level to 100%
+urlbar-zoom-button.tooltip=à¸à¸¥à¸±à¸à¸à¹à¸²à¹à¸à¸´à¸¡à¸à¸à¸à¸£à¸°à¸à¸±à¸à¸à¸²à¸£à¸à¸¹à¸¡ (%S)
+# LOCALIZATION NOTE (reader-mode-button.tooltip):
+# %S is the keyboard shortcut for entering/exiting reader view
+reader-mode-button.tooltip=à¹à¸à¸´à¸/à¸à¸´à¸à¸¡à¸¸à¸¡à¸¡à¸à¸à¸à¸¹à¹à¸à¹à¸²à¸ (%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%%
+
+# Block autorefresh
+refreshBlocked.goButton=à¸à¸à¸¸à¸à¸²à¸
+refreshBlocked.goButton.accesskey=à¸
+refreshBlocked.refreshLabel=%S à¹à¸à¹à¸à¹à¸à¸à¸à¸±à¸à¹à¸¡à¹à¹à¸«à¹à¸«à¸à¹à¸²à¸à¸µà¹à¹à¸«à¸¥à¸à¹à¸«à¸¡à¹à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+refreshBlocked.redirectLabel=%S à¹à¸à¹à¸à¹à¸à¸à¸à¸±à¸à¹à¸¡à¹à¹à¸«à¹à¸«à¸à¹à¸²à¸à¸µà¹à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸ªà¹à¸à¸à¸²à¸à¹à¸à¸¢à¸±à¸à¸«à¸à¹à¸²à¸à¸·à¹à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+
+# General bookmarks button
+# LOCALIZATION NOTE (bookmarksMenuButton.tooltip):
+# %S is the keyboard shortcut for "Show All Bookmarks"
+bookmarksMenuButton.tooltip=à¹à¸ªà¸à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸¸à¸ (%S)
+
+# Downloads button tooltip
+# LOCALIZATION NOTE (downloads.tooltip):
+# %S is the keyboard shortcut for "Downloads"
+downloads.tooltip=à¹à¸ªà¸à¸à¸à¸§à¸²à¸¡à¸à¸·à¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸à¸µà¹à¸à¸³à¹à¸à¸´à¸à¸à¸¢à¸¹à¹ (%S)
+
+# Print button tooltip on OS X
+# LOCALIZATION NOTE (printButton.tooltip):
+# Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+# %S is the keyboard shortcut for "Print"
+printButton.tooltip=à¸à¸´à¸¡à¸à¹à¸«à¸à¹à¸²à¸à¸µà¹â¦ (%S)
+
+# New Window button tooltip
+# LOCALIZATION NOTE (newWindowButton.tooltip):
+# %S is the keyboard shortcut for "New Window"
+newWindowButton.tooltip=à¹à¸à¸´à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸«à¸¡à¹ (%S)
+
+# New Tab button tooltip
+# LOCALIZATION NOTE (newTabButton.tooltip):
+# %S is the keyboard shortcut for "New Tab"
+newTabButton.tooltip=à¹à¸à¸´à¸à¹à¸à¹à¸à¹à¸«à¸¡à¹ (%S)
+newTabContainer.tooltip=à¹à¸à¸´à¸à¹à¸à¹à¸à¹à¸«à¸¡à¹ (%S)\nà¸à¸à¸à¹à¸²à¸à¹à¸§à¹à¹à¸à¸·à¹à¸à¹à¸à¸´à¸à¹à¸à¹à¸à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸«à¸¡à¹
+newTabAlwaysContainer.tooltip=à¹à¸¥à¸·à¸à¸à¸à¸²à¸£à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸°à¹à¸à¹à¹à¸à¸´à¸à¹à¸à¹à¸à¹à¸«à¸¡à¹
+
+# Offline web applications
+offlineApps.available3=à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %S à¸à¸±à¸à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+offlineApps.allow.label=à¸à¸à¸¸à¸à¸²à¸
+offlineApps.allow.accesskey=à¸
+offlineApps.block.label=à¸à¸´à¸à¸à¸±à¹à¸
+offlineApps.block.accesskey=à¸
+
+# Canvas permission prompt
+# LOCALIZATION NOTE (canvas.siteprompt2): %S is hostname
+canvas.siteprompt2=à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %S à¹à¸à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸ าà¸à¸à¸·à¸à¸à¹à¸²à¹à¸ HTML5 à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+canvas.siteprompt2.warning=สิà¹à¸à¸à¸µà¹à¸à¸²à¸à¸à¸¹à¸à¹à¸à¹à¹à¸à¸·à¹à¸à¸£à¸°à¸à¸¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸
+canvas.block=à¸à¸´à¸à¸à¸±à¹à¸
+canvas.block.accesskey=à¸
+canvas.allow2=à¸à¸à¸¸à¸à¸²à¸
+canvas.allow2.accesskey=à¸
+canvas.remember2=à¸à¸à¸à¸³à¸à¸²à¸£à¸à¸±à¸à¸ªà¸´à¸à¹à¸à¸à¸µà¹
+
+# WebAuthn prompts
+# LOCALIZATION NOTE (webauthn.registerPrompt2): %S is hostname
+webauthn.registerPrompt2=%S à¸à¹à¸à¸à¸à¸²à¸£à¸¥à¸à¸à¸°à¹à¸à¸µà¸¢à¸à¸à¸±à¸à¸à¸µà¸à¹à¸§à¸¢à¸à¸¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¹à¸à¸à¸à¸à¸«à¸à¸¶à¹à¸ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸¥à¸°à¸à¸à¸¸à¸¡à¸±à¸à¸´à¸à¸à¸à¸«à¸à¸¶à¹à¸à¹à¸à¹à¸à¸à¸à¸à¸µà¹ หรืà¸à¸¢à¸à¹à¸¥à¸´à¸
+# LOCALIZATION NOTE (webauthn.registerDirectPrompt2):
+# %1$S is hostname. %2$S is brandShortName.
+# 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.registerDirectPrompt2=%1$S à¸à¸³à¸¥à¸±à¸à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¸à¸¸à¸ à¸à¸¶à¹à¸à¸à¸²à¸à¸¡à¸µà¸à¸¥à¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸à¸à¸à¸¸à¸\n\n%2$S สามารà¸à¸à¹à¸§à¸¢à¸à¸´à¸à¸à¸±à¸à¸à¸±à¸§à¸à¸à¹à¸«à¹à¸à¸¸à¸à¹à¸à¹ à¹à¸à¹à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸²à¸à¸à¸à¸´à¹à¸ªà¸à¸à¸¸à¸à¹à¸à¸à¸µà¹ à¸à¹à¸²à¸à¸¹à¸à¸à¸à¸´à¹à¸ªà¸ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸¥à¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸à¹à¸à¹
+# LOCALIZATION NOTE (webauthn.signPrompt2): %S is hostname
+webauthn.signPrompt2=%S à¸à¹à¸à¸à¸à¸²à¸£à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸à¸à¸à¸à¸à¸±à¸§à¸à¸¸à¸à¹à¸à¸¢à¹à¸à¹à¸à¸¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸µà¹à¸¥à¸à¸à¸°à¹à¸à¸µà¸¢à¸à¹à¸¥à¹à¸§ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸¥à¸°à¸à¸à¸¸à¸¡à¸±à¸à¸´à¸à¸à¸à¸«à¸à¸¶à¹à¸à¹à¸à¹à¸à¸à¸à¸à¸µà¹ หรืà¸à¸¢à¸à¹à¸¥à¸´à¸
+webauthn.cancel=ยà¸à¹à¸¥à¸´à¸
+webauthn.cancel.accesskey=ย
+webauthn.proceed=à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸
+webauthn.proceed.accesskey=à¸
+webauthn.anonymize=à¹à¸¡à¹à¸£à¸°à¸à¸¸à¸à¸±à¸§à¸à¸à¸à¹à¸à¹à¸
+
+# Spoof Accept-Language prompt
+privacy.spoof_english=à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸ าษาà¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¸à¸à¸±à¸à¸à¸¤à¸©à¸à¸°à¸à¸³à¹à¸«à¹à¸£à¸°à¸à¸¸à¸à¸¸à¸à¹à¸à¹à¸¢à¸²à¸à¸à¸¶à¹à¸à¹à¸¥à¸°à¹à¸à¸´à¹à¸¡à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸à¸à¸à¸¸à¸ à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸£à¸¸à¹à¸à¸ าษาà¸à¸±à¸à¸à¸¤à¸©à¸à¸à¸à¸«à¸à¹à¸²à¹à¸§à¹à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+
+# 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=ยืà¸à¸¢à¸±à¸à¹à¸à¸¢: %S
+identity.identified.verified_by_you=à¸à¸¸à¸à¹à¸à¹à¹à¸à¸´à¹à¸¡à¸à¹à¸à¸¢à¸à¹à¸§à¹à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยสำหรัà¸à¹à¸à¸à¹à¸à¸µà¹
+identity.identified.state_and_country=%S, %S
+identity.ev.contentOwner2=à¸à¸à¸à¹à¸à¸£à¸±à¸à¸£à¸à¸à¹à¸«à¹à¸à¸±à¸: %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=à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัย
+identity.notSecure.tooltip=à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัย
+
+identity.extension.label=สà¹à¸§à¸à¸à¸¢à¸²à¸¢ (%S)
+identity.extension.tooltip=à¸à¸¹à¸à¹à¸«à¸¥à¸à¹à¸à¸¢à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢: %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=à¸à¸´à¸à¸à¸±à¹à¸à¹à¸¥à¹à¸§
+
+contentBlocking.trackersView.empty.label=à¹à¸¡à¹à¸¡à¸µà¸à¸µà¹à¸à¸£à¸§à¸à¸à¸à¹à¸à¹à¸à¸à¹à¸à¸µà¹
+
+# LOCALIZATION NOTE (contentBlocking.cookies.blockingTrackers.label, contentBlocking.cookies.blocking3rdParty.label,
+# contentBlocking.cookies.blockingUnvisited.label,contentBlocking.cookies.blockingAll.label):
+contentBlocking.cookies.blockingTrackers3.label=à¸à¸¸à¸à¸à¸µà¹à¸à¸´à¸à¸à¸²à¸¡à¸à¹à¸²à¸¡à¹à¸à¸à¹
+contentBlocking.cookies.blocking3rdParty2.label=à¸à¸¸à¸à¸à¸µà¹à¸à¸²à¸à¸à¸¸à¸à¸à¸¥à¸à¸µà¹à¸ªà¸²à¸¡
+contentBlocking.cookies.blockingUnvisited2.label=à¸à¸¸à¸à¸à¸µà¹à¸à¸à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡
+contentBlocking.cookies.blockingAll2.label=à¸à¸¸à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸¡à¸
+
+contentBlocking.cookiesView.firstParty.label=à¸à¸²à¸à¹à¸à¸à¹à¸à¸µà¹
+# 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=à¹à¸¡à¹à¸¡à¸µà¸à¸µà¹à¸à¸£à¸§à¸à¸à¸à¹à¸à¹à¸à¸à¹à¸à¸µà¹
+
+contentBlocking.cookiesView.trackers2.label=à¸à¸¸à¸à¸à¸µà¹à¸à¸´à¸à¸à¸²à¸¡à¸à¹à¸²à¸¡à¹à¸à¸à¹
+# 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=à¹à¸¡à¹à¸¡à¸µà¸à¸µà¹à¸à¸£à¸§à¸à¸à¸à¹à¸à¹à¸à¸à¹à¸à¸µà¹
+
+contentBlocking.cookiesView.thirdParty.label=à¸à¸¸à¸à¸à¸µà¹à¸à¸²à¸à¸à¸¸à¸à¸à¸¥à¸à¸µà¹à¸ªà¸²à¸¡
+# 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=à¹à¸¡à¹à¸¡à¸µà¸à¸µà¹à¸à¸£à¸§à¸à¸à¸à¹à¸à¹à¸à¸à¹à¸à¸µà¹
+
+# 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=à¸à¸à¸¸à¸à¸²à¸à¹à¸¥à¹à¸§
+# 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=à¸à¸´à¸à¸à¸±à¹à¸à¹à¸¥à¹à¸§
+# LOCALIZATION NOTE (contentBlocking.cookiesView.removeButton.tooltip): %S is the domain of the site.
+contentBlocking.cookiesView.removeButton.tooltip=ลà¹à¸²à¸à¸à¹à¸à¸¢à¸à¹à¸§à¹à¸à¸à¸¸à¸à¸à¸µà¹à¸ªà¸³à¸«à¸£à¸±à¸ %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=à¸à¸´à¸à¸à¸±à¹à¸à¹à¸¥à¹à¸§
+
+# 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=à¸à¸´à¸à¸à¸±à¹à¸à¹à¸¥à¹à¸§
+
+trackingProtection.icon.activeTooltip2=à¸à¸³à¸¥à¸±à¸à¸à¸´à¸à¸à¸±à¹à¸à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸ªà¸·à¹à¸à¸ªà¸±à¸à¸à¸¡à¸à¸à¸à¹à¸¥à¸à¹ à¸à¸¸à¸à¸à¸µà¹à¸à¸´à¸à¸à¸²à¸¡à¸à¹à¸²à¸¡à¹à¸à¸à¹ à¹à¸¥à¸°à¸¥à¸²à¸¢à¸à¸´à¹à¸§à¸¡à¸·à¸à¸à¸´à¸à¸´à¸à¸±à¸¥
+trackingProtection.icon.disabledTooltip2=à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡à¸à¸µà¹à¸¡à¸²à¸à¸à¸¶à¹à¸à¸à¸¹à¸ à¸à¸´à¸ สำหรัà¸à¹à¸à¸à¹à¸à¸µà¹
+# LOCALIZATION NOTE (trackingProtection.icon.noTrackersDetectedTooltip): %S is brandShortName.
+trackingProtection.icon.noTrackersDetectedTooltip=à¹à¸¡à¹à¸¡à¸µà¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸à¸µà¹ %S รูà¹à¸à¸±à¸à¸à¸¹à¸à¸à¸£à¸§à¸à¸à¸à¸à¸µà¹à¸«à¸à¹à¸²à¸à¸µà¹
+
+# LOCALIZATION NOTE (protections.header):
+# Header of the Protections Panel. %S is replaced with the site's hostname.
+protections.header=à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¸ªà¸³à¸«à¸£à¸±à¸ %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=à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¸ªà¸³à¸«à¸£à¸±à¸ %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=à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸²à¸£à¸à¹à¸à¸à¸à¸±à¸à¸ªà¸³à¸«à¸£à¸±à¸ %S
+
+# Blocking and Not Blocking sub-views in the Protections Panel
+protections.blocking.fingerprinters.title=ลายà¸à¸´à¹à¸§à¸¡à¸·à¸à¸à¸´à¸à¸´à¸à¸±à¸¥à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸
+protections.blocking.cryptominers.title=à¸à¸±à¸§à¸à¸¸à¸à¹à¸«à¸£à¸µà¸¢à¸à¸à¸´à¸à¸´à¸à¸±à¸¥à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸
+protections.blocking.cookies.trackers.title=à¸à¸¸à¸à¸à¸µà¹à¸à¸´à¸à¸à¸²à¸¡à¸à¹à¸²à¸¡à¹à¸à¸à¹à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸
+protections.blocking.cookies.3rdParty.title=à¸à¸¸à¸à¸à¸µà¹à¸à¸²à¸à¸à¸¸à¸à¸à¸¥à¸à¸µà¹à¸ªà¸²à¸¡à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸
+protections.blocking.cookies.all.title=à¸à¸¸à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸
+protections.blocking.cookies.unvisited.title=à¸à¸¸à¸à¸à¸µà¹à¸à¸²à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸
+protections.blocking.trackingContent.title=à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸
+protections.blocking.socialMediaTrackers.title=à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸ªà¸±à¸à¸à¸¡à¸à¸à¸à¹à¸¥à¸à¹à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸
+protections.notBlocking.fingerprinters.title=à¹à¸¡à¹à¸à¸´à¸à¸à¸±à¹à¸à¸¥à¸²à¸¢à¸à¸´à¹à¸§à¸¡à¸·à¸à¸à¸´à¸à¸´à¸à¸±à¸¥
+protections.notBlocking.cryptominers.title=à¹à¸¡à¹à¸à¸´à¸à¸à¸±à¹à¸à¸à¸±à¸§à¸à¸¸à¸à¹à¸«à¸£à¸µà¸¢à¸à¸à¸´à¸à¸´à¸à¸±à¸¥
+protections.notBlocking.cookies.3rdParty.title=à¹à¸¡à¹à¸à¸´à¸à¸à¸±à¹à¸à¸à¸¸à¸à¸à¸µà¹à¸à¸²à¸à¸à¸¸à¸à¸à¸¥à¸à¸µà¹à¸ªà¸²à¸¡
+protections.notBlocking.cookies.all.title=à¹à¸¡à¹à¸à¸´à¸à¸à¸±à¹à¸à¸à¸¸à¸à¸à¸µà¹
+protections.notBlocking.crossSiteTrackingCookies.title=à¹à¸¡à¹à¸à¸´à¸à¸à¸±à¹à¸à¸à¸¸à¸à¸à¸µà¹à¸à¸´à¸à¸à¸²à¸¡à¸à¹à¸²à¸¡à¹à¸à¸à¹
+protections.notBlocking.trackingContent.title=à¹à¸¡à¹à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡
+protections.notBlocking.socialMediaTrackers.title=à¹à¸¡à¹à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸ªà¸·à¹à¸à¸ªà¸±à¸à¸à¸¡à¸à¸à¸à¹à¸¥à¸à¹
+
+# 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 à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸
+# LOCALIZATION NOTE (protections.footer.blockedTrackerCounter.tooltip):
+# %S is the date on which we started counting (e.g., July 17, 2019).
+protections.footer.blockedTrackerCounter.tooltip=à¸à¸±à¹à¸à¹à¸à¹ %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 à¸à¸´à¸à¸à¸±à¹à¸à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡ #2 à¸à¸±à¸§à¸à¸±à¹à¸à¹à¸à¹ #3
+
+# Application menu
+
+# LOCALIZATION NOTE(zoomReduce-button.tooltip): %S is the keyboard shortcut.
+zoomReduce-button.tooltip = à¸à¸¹à¸¡à¸à¸à¸ (%S)
+# LOCALIZATION NOTE(zoomReset-button.tooltip): %S is the keyboard shortcut.
+zoomReset-button.tooltip = à¸à¸¥à¸±à¸à¸à¹à¸²à¹à¸à¸´à¸¡à¸à¸à¸à¸£à¸°à¸à¸±à¸à¸à¸²à¸£à¸à¸¹à¸¡ (%S)
+# LOCALIZATION NOTE(zoomEnlarge-button.tooltip): %S is the keyboard shortcut.
+zoomEnlarge-button.tooltip = à¸à¸¹à¸¡à¹à¸à¹à¸² (%S)
+
+# LOCALIZATION NOTE (cut-button.tooltip): %S is the keyboard shortcut.
+cut-button.tooltip = à¸à¸±à¸ (%S)
+# LOCALIZATION NOTE (copy-button.tooltip): %S is the keyboard shortcut.
+copy-button.tooltip = à¸à¸±à¸à¸¥à¸à¸ (%S)
+# LOCALIZATION NOTE (paste-button.tooltip): %S is the keyboard shortcut.
+paste-button.tooltip = วาภ(%S)
+
+# Geolocation UI
+
+geolocation.allow=à¸à¸à¸¸à¸à¸²à¸
+geolocation.allow.accesskey=à¸
+geolocation.block=à¸à¸´à¸à¸à¸±à¹à¸
+geolocation.block.accesskey=à¸
+geolocation.shareWithSite4=à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %S à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+geolocation.shareWithFile4=à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¹à¸à¸¥à¹à¹à¸à¹à¸à¸£à¸·à¹à¸à¸à¸à¸µà¹à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+# LOCALIZATION NOTE(geolocation.shareWithSiteUnsafeDelegation2):
+# %1$S is the first party origin, %2$S is the third party origin.
+geolocation.shareWithSiteUnsafeDelegation2=à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %1$S มà¸à¸à¸ªà¸´à¸à¸à¸´à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¸à¸±à¸ %2$S à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+geolocation.remember=à¸à¸à¸à¸³à¸à¸²à¸£à¸à¸±à¸à¸ªà¸´à¸à¹à¸à¸à¸µà¹
+
+# Virtual Reality Device UI
+xr.allow2=à¸à¸à¸¸à¸à¸²à¸
+xr.allow2.accesskey=à¸
+xr.block=à¸à¸´à¸à¸à¸±à¹à¸
+xr.block.accesskey=à¸
+xr.shareWithSite4=à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %S à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸§à¸²à¸¡à¸à¸£à¸´à¸à¹à¸ªà¸¡à¸·à¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹? à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸µà¹à¸à¸²à¸à¹à¸à¹à¸à¸à¸²à¸£à¹à¸à¸´à¸à¹à¸à¸¢à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸¥à¸°à¹à¸à¸µà¸¢à¸à¸à¹à¸à¸
+xr.shareWithFile4=à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¹à¸à¸¥à¹à¸ ายà¹à¸à¹à¸à¸£à¸·à¹à¸à¸à¸à¸µà¹à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸§à¸²à¸¡à¸à¸£à¸´à¸à¹à¸ªà¸¡à¸·à¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹? à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸µà¹à¸à¸²à¸à¹à¸à¹à¸à¸à¸²à¸£à¹à¸à¸´à¸à¹à¸à¸¢à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸¥à¸°à¹à¸à¸µà¸¢à¸à¸à¹à¸à¸
+xr.remember=à¸à¸à¸à¸³à¸à¸²à¸£à¸à¸±à¸à¸ªà¸´à¸à¹à¸à¸à¸µà¹
+
+# Persistent storage UI
+persistentStorage.allow=à¸à¸à¸¸à¸à¸²à¸
+persistentStorage.allow.accesskey=à¸
+persistentStorage.block.label=à¸à¸´à¸à¸à¸±à¹à¸
+persistentStorage.block.accesskey=à¸
+persistentStorage.allowWithSite2=à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %S à¸à¸±à¸à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¸µà¹à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸§à¸£à¸«à¸£à¸·à¸à¹à¸¡à¹?
+
+# 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=à¸à¸à¸¸à¸à¸²à¸
+webNotifications.allow2.accesskey=à¸
+webNotifications.notNow=à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸à¸µà¹
+webNotifications.notNow.accesskey=ม
+webNotifications.never=à¹à¸¡à¹à¸à¸à¸¸à¸à¸²à¸à¹à¸ªà¸¡à¸
+webNotifications.never.accesskey=ส
+webNotifications.alwaysBlock=à¸à¸´à¸à¸à¸±à¹à¸à¹à¸ªà¸¡à¸
+webNotifications.alwaysBlock.accesskey=à¸
+webNotifications.block=à¸à¸´à¸à¸à¸±à¹à¸
+webNotifications.block.accesskey=à¸
+webNotifications.receiveFromSite3=à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %S สà¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+
+# 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=à¸à¸³à¸à¸±à¸à¸à¸à¸à¹à¸à¸à¸²à¸à¸à¸µà¹à¸à¸µà¹!
+safebrowsing.getMeOutOfHereButton.accessKey=à¸
+safebrowsing.deceptiveSite=à¹à¸à¸à¹à¸«à¸¥à¸à¸à¸¥à¸§à¸!
+safebrowsing.notADeceptiveSiteButton.label=à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¹à¸à¸à¹à¸«à¸¥à¸à¸à¸¥à¸§à¸â¦
+safebrowsing.notADeceptiveSiteButton.accessKey=ห
+safebrowsing.reportedAttackSite=à¹à¸à¸à¹à¸£à¸¸à¸à¸£à¸²à¸à¸à¸²à¸¡à¸à¸²à¸£à¸£à¸²à¸¢à¸à¸²à¸!
+safebrowsing.notAnAttackButton.label=à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¹à¸à¸à¹à¸£à¸¸à¸à¸£à¸²à¸â¦
+safebrowsing.notAnAttackButton.accessKey=ร
+safebrowsing.reportedUnwantedSite=à¹à¸à¸à¹à¸à¸µà¹à¸¡à¸µà¸à¸à¸à¸à¹à¹à¸§à¸£à¹à¹à¸¡à¹à¸à¸¶à¸à¸à¸£à¸°à¸ªà¸à¸à¹à¸à¸²à¸¡à¸à¸²à¸£à¸£à¸²à¸¢à¸à¸²à¸!
+safebrowsing.reportedHarmfulSite=à¹à¸à¸à¹à¸à¸±à¸à¸à¸£à¸²à¸¢à¸à¸²à¸¡à¸à¸²à¸£à¸£à¸²à¸¢à¸à¸²à¸!
+
+# Ctrl-Tab
+# LOCALIZATION NOTE (ctrlTab.listAllTabs.label): #1 represents the number
+# of tabs in the current browser window. It will always be 2 at least.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+ctrlTab.listAllTabs.label=à¹à¸ªà¸à¸à¸£à¸²à¸¢à¸à¸²à¸£ #1 à¹à¸à¹à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+
+# 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=à¸à¹à¸à¸«à¸² %S
+
+# troubleshootModeRestart
+# LOCALIZATION NOTE (troubleshootModeRestartPromptTitle): %S is the name of the product (e.g., Firefox)
+troubleshootModeRestartPromptTitle=à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸ %S à¹à¸«à¸¡à¹à¹à¸à¹à¸«à¸¡à¸à¹à¸à¹à¹à¸à¸à¸±à¸à¸«à¸²à¸«à¸£à¸·à¸à¹à¸¡à¹?
+troubleshootModeRestartPromptMessage=สà¹à¸§à¸à¸à¸¢à¸²à¸¢ à¸à¸¸à¸à¸à¸à¹à¸à¹à¸ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸µà¹à¸à¸³à¸«à¸à¸à¹à¸à¸à¸à¸à¸à¸à¸¸à¸à¸à¸°à¸à¸¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸±à¹à¸§à¸à¸£à¸²à¸§
+troubleshootModeRestartButton=à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸«à¸¡à¹
+
+# 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 "Web Developer" 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=false
+
+# Mozilla data reporting notification (Telemetry, Firefox Health Report, etc)
+dataReportingNotification.message = %1$S สà¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸à¸à¸¢à¹à¸²à¸à¹à¸à¸¢à¸±à¸ %2$S à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¹à¸à¸·à¹à¸à¹à¸«à¹à¹à¸£à¸²à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸£à¸±à¸à¸à¸£à¸¸à¸à¸à¸£à¸°à¸ªà¸à¸à¸²à¸£à¸à¹à¸à¸à¸à¸à¸¸à¸
+dataReportingNotification.button.label = à¹à¸¥à¸·à¸à¸à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸±à¸à¸à¸°à¹à¸à¹à¸à¸à¸±à¸
+dataReportingNotification.button.accessKey = ล
+
+# Process hang reporter
+# LOCALIZATION NOTE (processHang.selected_tab.label): %1$S is the name of the product (e.g., Firefox)
+processHang.selected_tab.label = หà¸à¹à¸²à¸à¸µà¹à¸à¸³à¸¥à¸±à¸à¸à¸³à¹à¸«à¹ %1$S à¸à¸³à¸à¸²à¸à¸à¹à¸² à¹à¸¡à¸·à¹à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸£à¹à¸à¸à¸§à¸²à¸¡à¹à¸£à¹à¸§à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸ à¹à¸«à¹à¸«à¸¢à¸¸à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸à¸à¸«à¸à¹à¸²à¸à¸µà¹
+# LOCALIZATION NOTE (processHang.nonspecific_tab.label): %1$S is the name of the product (e.g., Firefox)
+processHang.nonspecific_tab.label = หà¸à¹à¸²à¹à¸§à¹à¸à¸à¸³à¸¥à¸±à¸à¸à¸³à¹à¸«à¹ %1$S à¸à¸³à¸à¸²à¸à¸à¹à¸² à¹à¸¡à¸·à¹à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸£à¹à¸à¸à¸§à¸²à¸¡à¹à¸£à¹à¸§à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸ à¹à¸«à¹à¸«à¸¢à¸¸à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸à¸à¸«à¸à¹à¸²à¸à¸±à¹à¸
+# 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â à¸à¸³à¸¥à¸±à¸à¸à¸³à¹à¸«à¹ %2$S à¸à¸³à¸à¸²à¸à¸à¹à¸² à¹à¸¡à¸·à¹à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸£à¹à¸à¸à¸§à¸²à¸¡à¹à¸£à¹à¸§à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸ à¹à¸«à¹à¸«à¸¢à¸¸à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸à¸à¸«à¸à¹à¸²à¸à¸±à¹à¸
+# 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â à¸à¸³à¸¥à¸±à¸à¸à¸³à¹à¸«à¹ %2$S à¸à¸³à¸à¸²à¸à¸à¹à¸² à¹à¸¡à¸·à¹à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸£à¹à¸à¸à¸§à¸²à¸¡à¹à¸£à¹à¸§à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸ à¹à¸«à¹à¸«à¸¢à¸¸à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸à¸à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸±à¹à¸
+processHang.add-on.learn-more.text = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+processHang.button_stop2.label = หยุà¸
+processHang.button_stop2.accessKey = ห
+processHang.button_debug.label = à¸à¸µà¸à¸±à¹à¸à¸ªà¸à¸£à¸´à¸à¸à¹
+processHang.button_debug.accessKey = à¸
+
+# LOCALIZATION NOTE (fullscreenButton.tooltip): %S is the keyboard shortcut for full screen
+fullscreenButton.tooltip=à¹à¸ªà¸à¸à¸à¸¥à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸à¹à¸¡à¸«à¸à¹à¸²à¸à¸ (%S)
+
+# These are visible when opening the popup inside the bookmarks sidebar
+sidebar.moveToLeft=ยà¹à¸²à¸¢à¹à¸à¸à¸à¹à¸²à¸à¹à¸à¸à¹à¸²à¸à¸à¹à¸²à¸¢
+sidebar.moveToRight=ยà¹à¸²à¸¢à¹à¸à¸à¸à¹à¸²à¸à¹à¸à¸à¹à¸²à¸à¸à¸§à¸²
+
+# LOCALIZATION NOTE (getUserMedia.shareCamera3.message,
+# getUserMedia.shareMicrophone3.message,
+# getUserMedia.shareScreen4.message,
+# getUserMedia.shareCameraAndMicrophone3.message,
+# getUserMedia.shareCameraAndAudioCapture3.message,
+# getUserMedia.shareScreenAndMicrophone4.message,
+# getUserMedia.shareScreenAndAudioCapture4.message,
+# getUserMedia.shareAudioCapture3.message):
+# %S is the website origin (e.g. www.mozilla.org)
+getUserMedia.shareCamera3.message = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %S à¹à¸à¹à¸à¸¥à¹à¸à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+getUserMedia.shareMicrophone3.message = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %S à¹à¸à¹à¹à¸¡à¹à¸à¸£à¹à¸à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+getUserMedia.shareScreen4.message = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %S à¹à¸«à¹à¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+getUserMedia.shareCameraAndMicrophone3.message = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %S à¹à¸à¹à¸à¸¥à¹à¸à¸à¹à¸¥à¸°à¹à¸¡à¹à¸à¸£à¹à¸à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+getUserMedia.shareCameraAndAudioCapture3.message = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %S à¹à¸à¹à¸à¸¥à¹à¸à¸à¸à¸à¸à¸à¸¸à¸à¹à¸¥à¸°à¸à¸±à¸à¹à¸ªà¸µà¸¢à¸à¸à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¸«à¸£à¸·à¸à¹à¸¡à¹?
+getUserMedia.shareScreenAndMicrophone4.message = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %S à¹à¸à¹à¹à¸¡à¹à¸à¸£à¹à¸à¸à¸à¸à¸à¸à¸¸à¸à¹à¸¥à¸°à¹à¸«à¹à¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+getUserMedia.shareScreenAndAudioCapture4.message = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %S à¸à¸±à¸à¹à¸ªà¸µà¸¢à¸à¸à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸¥à¸°à¹à¸«à¹à¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+getUserMedia.shareAudioCapture3.message = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %S à¸à¸±à¸à¹à¸ªà¸µà¸¢à¸à¸à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¸«à¸£à¸·à¸à¹à¸¡à¹?
+# LOCALIZATION NOTE (selectAudioOutput.shareSpeaker.message):
+# "Speakers" is used in a general sense that might include headphones or
+# another audio output connection.
+# %S is the website origin (e.g. www.mozilla.org)
+selectAudioOutput.shareSpeaker.message = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %S à¹à¸à¹à¸¥à¸³à¹à¸à¸à¸à¸·à¹à¸ ๠หรืà¸à¹à¸¡à¹?
+
+# LOCALIZATION NOTE (getUserMedia.shareCameraUnsafeDelegation2.message,
+# getUserMedia.shareMicrophoneUnsafeDelegation2.message,
+# getUserMedia.shareScreenUnsafeDelegation2.message,
+# getUserMedia.shareCameraAndMicrophoneUnsafeDelegation2.message,
+# getUserMedia.shareCameraAndAudioCaptureUnsafeDelegation2.message,
+# getUserMedia.shareScreenAndMicrophoneUnsafeDelegation2.message,
+# getUserMedia.shareScreenAndAudioCaptureUnsafeDelegation2.message,
+# %1$S is the first party origin.
+# %2$S is the third party origin.
+getUserMedia.shareCameraUnsafeDelegation2.message = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %1$S มà¸à¸à¸ªà¸´à¸à¸à¸´à¹à¸«à¹à¸à¸±à¸ %2$S à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¥à¹à¸à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+getUserMedia.shareMicrophoneUnsafeDelegations2.message = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %1$S มà¸à¸à¸ªà¸´à¸à¸à¸´à¹à¸«à¹à¸à¸±à¸ %2$S à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸¡à¹à¸à¸£à¹à¸à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+getUserMedia.shareScreenUnsafeDelegation2.message = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %1$S มà¸à¸à¸ªà¸´à¸à¸à¸´à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¸à¸±à¸ %2$S à¹à¸à¸à¸²à¸£à¸à¸¹à¸«à¸à¹à¸²à¸à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+getUserMedia.shareCameraAndMicrophoneUnsafeDelegation2.message = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %1$S มà¸à¸à¸ªà¸´à¸à¸à¸´à¹à¸«à¹à¸à¸±à¸ %2$S à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¥à¹à¸à¸à¹à¸¥à¸°à¹à¸¡à¹à¸à¸£à¹à¸à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+getUserMedia.shareCameraAndAudioCaptureUnsafeDelegation2.message = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %1$S มà¸à¸à¸ªà¸´à¸à¸à¸´à¹à¸«à¹à¸à¸±à¸ %2$S à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¥à¹à¸à¸à¹à¸¥à¸°à¸à¸±à¸à¹à¸ªà¸µà¸¢à¸à¸à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¸«à¸£à¸·à¸à¹à¸¡à¹?
+getUserMedia.shareScreenAndMicrophoneUnsafeDelegation2.message = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %1$S มà¸à¸à¸ªà¸´à¸à¸à¸´à¹à¸«à¹à¸à¸±à¸ %2$S à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸¡à¹à¸à¸£à¹à¸à¸à¸à¸à¸à¸à¸¸à¸à¹à¸¥à¸°à¸à¸¹à¸«à¸à¹à¸²à¸à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+getUserMedia.shareScreenAndAudioCaptureUnsafeDelegation2.message = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %1$S มà¸à¸à¸ªà¸´à¸à¸à¸´à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¸à¸±à¸ %2$S à¹à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸ªà¸µà¸¢à¸à¸à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¸¹à¸«à¸à¹à¸²à¸à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+# LOCALIZATION NOTE ():
+# "Speakers" is used in a general sense that might include headphones or
+# another audio output connection.
+# %1$S is the first party origin.
+# %2$S is the third party origin.
+selectAudioOutput.shareSpeakerUnsafeDelegation.message = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %1$S มà¸à¸à¸ªà¸´à¸à¸à¸´à¹à¸«à¹à¸à¸±à¸ %2$S à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸¥à¸³à¹à¸à¸à¸à¸·à¹à¸ ๠หรืà¸à¹à¸¡à¹?
+
+# LOCALIZATION NOTE (getUserMedia.shareScreenWarning.message): NB: inserted via innerHTML, so please don't use <, > or & in this string.
+getUserMedia.shareScreenWarning2.message = à¹à¸à¸£à¸à¹à¸à¹à¸à¸à¸±à¸à¸«à¸à¹à¸²à¸à¸à¹à¸à¸à¸²à¸°à¸à¸±à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸¸à¸à¹à¸à¸·à¹à¸à¸à¸·à¸à¹à¸à¹à¸²à¸à¸±à¹à¸ à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸à¸à¸²à¸à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¹à¸à¸à¹à¸«à¸¥à¸à¸à¸¥à¸§à¸à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¸à¸·à¹à¸à¸à¸¸à¸à¹à¸¥à¸°à¸à¹à¸¡à¸¢à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸à¸à¸à¸¸à¸
+# LOCALIZATION NOTE (getUserMedia.shareFirefoxWarning.message): NB: inserted via innerHTML, so please don't use <, > or & in this string.
+# %S is brandShortName (eg. Firefox)
+getUserMedia.shareFirefoxWarning2.message = à¹à¸à¸£à¸à¹à¸à¹à¸à¸à¸±à¸ %S à¹à¸à¸à¸²à¸°à¸à¸±à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸¸à¸à¹à¸à¸·à¹à¸à¸à¸·à¸à¹à¸à¹à¸²à¸à¸±à¹à¸ à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸à¸à¸²à¸à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¹à¸à¸à¹à¸«à¸¥à¸à¸à¸¥à¸§à¸à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¸à¸·à¹à¸à¸à¸¸à¸à¹à¸¥à¸°à¸à¹à¸¡à¸¢à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸à¸à¸à¸¸à¸
+# LOCALIZATION NOTE(getUserMedia.shareScreen.learnMoreLabel): NB: inserted via innerHTML, so please don't use <, > or & in this string.
+getUserMedia.shareScreen.learnMoreLabel = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+getUserMedia.selectWindowOrScreen2.label = หà¸à¹à¸²à¸à¹à¸²à¸à¸«à¸£à¸·à¸à¸«à¸à¹à¸²à¸à¸:
+getUserMedia.selectWindowOrScreen2.accesskey = ห
+getUserMedia.pickWindowOrScreen.label = à¹à¸¥à¸·à¸à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸«à¸£à¸·à¸à¸«à¸à¹à¸²à¸à¸
+getUserMedia.shareEntireScreen.label = à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸
+getUserMedia.sharePipeWirePortal.label = à¹à¸à¹à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸£à¸°à¸à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£
+# LOCALIZATION NOTE (getUserMedia.shareMonitor.label):
+# %S is screen number (digits 1, 2, etc)
+# Example: Screen 1, Screen 2,..
+getUserMedia.shareMonitor.label = หà¸à¹à¸²à¸à¸ %S
+# LOCALIZATION NOTE (getUserMedia.shareApplicationWindowCount.label):
+# Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Replacement for #1 is the name of the application.
+# Replacement for #2 is the number of windows currently displayed by the application.
+getUserMedia.shareApplicationWindowCount.label=#1 (#2 หà¸à¹à¸²à¸à¹à¸²à¸)
+# LOCALIZATION NOTE (getUserMedia.allow.label,
+# getUserMedia.block.label):
+# These two buttons are the possible answers to the various prompts in the
+# "getUserMedia.share{device}.message" strings.
+getUserMedia.allow.label = à¸à¸à¸¸à¸à¸²à¸
+getUserMedia.allow.accesskey = à¸
+getUserMedia.block.label = à¸à¸´à¸à¸à¸±à¹à¸
+getUserMedia.block.accesskey = à¸
+getUserMedia.remember=à¸à¸à¸à¸³à¸à¸²à¸£à¸à¸±à¸à¸ªà¸´à¸à¹à¸à¸à¸µà¹
+# LOCALIZATION NOTE (getUserMedia.reasonForNoPermanentAllow.screen3,
+# getUserMedia.reasonForNoPermanentAllow.audio,
+# getUserMedia.reasonForNoPermanentAllow.insecure):
+# %S is brandShortName
+getUserMedia.reasonForNoPermanentAllow.screen3=%S à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸à¸¸à¸à¸²à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¸à¸à¸²à¸§à¸£à¹à¸«à¹à¸à¸±à¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¹
+getUserMedia.reasonForNoPermanentAllow.audio=%S à¹à¸¡à¹à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸à¸à¸²à¸§à¸£à¹à¸à¸¢à¹à¸¡à¹à¸à¸²à¸¡à¸§à¹à¸²à¸à¸°à¹à¸à¹à¸à¸à¸±à¸à¹à¸à¹à¸à¹à¸«à¸
+getUserMedia.reasonForNoPermanentAllow.insecure=à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸¢à¸±à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัย à¹à¸à¸·à¹à¸à¸à¸à¸à¹à¸à¸à¸à¸¸à¸ %S à¸à¸°à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¸à¸²à¸°à¹à¸à¸§à¸²à¸£à¸°à¸à¸µà¹à¹à¸à¹à¸²à¸à¸±à¹à¸
+
+getUserMedia.sharingMenu.label = à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸µà¹à¹à¸à¹à¸à¸à¸±à¸à¹à¸à¹à¸
+getUserMedia.sharingMenu.accesskey = à¸
+# LOCALIZATION NOTE (getUserMedia.sharingMenuCamera
+# getUserMedia.sharingMenuMicrophone,
+# getUserMedia.sharingMenuAudioCapture,
+# getUserMedia.sharingMenuApplication,
+# getUserMedia.sharingMenuScreen,
+# getUserMedia.sharingMenuWindow,
+# getUserMedia.sharingMenuBrowser,
+# getUserMedia.sharingMenuCameraMicrophone,
+# getUserMedia.sharingMenuCameraMicrophoneApplication,
+# getUserMedia.sharingMenuCameraMicrophoneScreen,
+# getUserMedia.sharingMenuCameraMicrophoneWindow,
+# getUserMedia.sharingMenuCameraMicrophoneBrowser,
+# getUserMedia.sharingMenuCameraAudioCapture,
+# getUserMedia.sharingMenuCameraAudioCaptureApplication,
+# getUserMedia.sharingMenuCameraAudioCaptureScreen,
+# getUserMedia.sharingMenuCameraAudioCaptureWindow,
+# getUserMedia.sharingMenuCameraAudioCaptureBrowser,
+# getUserMedia.sharingMenuCameraApplication,
+# getUserMedia.sharingMenuCameraScreen,
+# getUserMedia.sharingMenuCameraWindow,
+# getUserMedia.sharingMenuCameraBrowser,
+# getUserMedia.sharingMenuMicrophoneApplication,
+# getUserMedia.sharingMenuMicrophoneScreen,
+# getUserMedia.sharingMenuMicrophoneWindow,
+# getUserMedia.sharingMenuMicrophoneBrowser,
+# getUserMedia.sharingMenuAudioCaptureApplication,
+# getUserMedia.sharingMenuAudioCaptureScreen,
+# getUserMedia.sharingMenuAudioCaptureWindow,
+# getUserMedia.sharingMenuAudioCaptureBrowser):
+# %S is the website origin (e.g. www.mozilla.org)
+getUserMedia.sharingMenuCamera = %S (à¸à¸¥à¹à¸à¸)
+getUserMedia.sharingMenuMicrophone = %S (à¹à¸¡à¹à¸à¸£à¹à¸à¸)
+getUserMedia.sharingMenuAudioCapture = %S (à¹à¸ªà¸µà¸¢à¸à¸à¸à¸à¹à¸à¹à¸)
+getUserMedia.sharingMenuApplication = %S (à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸)
+getUserMedia.sharingMenuScreen = %S (หà¸à¹à¸²à¸à¸)
+getUserMedia.sharingMenuWindow = %S (หà¸à¹à¸²à¸à¹à¸²à¸)
+getUserMedia.sharingMenuBrowser = %S (à¹à¸à¹à¸)
+getUserMedia.sharingMenuCameraMicrophone = %S (à¸à¸¥à¹à¸à¸à¹à¸¥à¸°à¹à¸¡à¹à¸à¸£à¹à¸à¸)
+getUserMedia.sharingMenuCameraMicrophoneApplication = %S (à¸à¸¥à¹à¸à¸, à¹à¸¡à¹à¸à¸£à¹à¸à¸ à¹à¸¥à¸°à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸)
+getUserMedia.sharingMenuCameraMicrophoneScreen = %S (à¸à¸¥à¹à¸à¸, à¹à¸¡à¹à¸à¸£à¹à¸à¸ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¸)
+getUserMedia.sharingMenuCameraMicrophoneWindow = %S (à¸à¸¥à¹à¸à¸, à¹à¸¡à¹à¸à¸£à¹à¸à¸ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸)
+getUserMedia.sharingMenuCameraMicrophoneBrowser = %S (à¸à¸¥à¹à¸à¸, à¹à¸¡à¹à¸à¸£à¹à¸à¸ à¹à¸¥à¸°à¹à¸à¹à¸)
+getUserMedia.sharingMenuCameraAudioCapture = %S (à¸à¸¥à¹à¸à¸à¹à¸¥à¸°à¹à¸ªà¸µà¸¢à¸à¸à¸à¸à¹à¸à¹à¸)
+getUserMedia.sharingMenuCameraAudioCaptureApplication = %S (à¸à¸¥à¹à¸à¸, à¹à¸ªà¸µà¸¢à¸à¸à¸à¸à¹à¸à¹à¸ à¹à¸¥à¸°à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸)
+getUserMedia.sharingMenuCameraAudioCaptureScreen = %S (à¸à¸¥à¹à¸à¸, à¹à¸ªà¸µà¸¢à¸à¸à¸à¸à¹à¸à¹à¸ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¸)
+getUserMedia.sharingMenuCameraAudioCaptureWindow = %S (à¸à¸¥à¹à¸à¸, à¹à¸ªà¸µà¸¢à¸à¸à¸à¸à¹à¸à¹à¸ à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸)
+getUserMedia.sharingMenuCameraAudioCaptureBrowser = %S (à¸à¸¥à¹à¸à¸, à¹à¸ªà¸µà¸¢à¸à¸à¸à¸à¹à¸à¹à¸ à¹à¸¥à¸°à¹à¸à¹à¸)
+getUserMedia.sharingMenuCameraApplication = %S (à¸à¸¥à¹à¸à¸à¹à¸¥à¸°à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸)
+getUserMedia.sharingMenuCameraScreen = %S (à¸à¸¥à¹à¸à¸à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¸)
+getUserMedia.sharingMenuCameraWindow = %S (à¸à¸¥à¹à¸à¸à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸)
+getUserMedia.sharingMenuCameraBrowser = %S (à¸à¸¥à¹à¸à¸à¹à¸¥à¸°à¹à¸à¹à¸)
+getUserMedia.sharingMenuMicrophoneApplication = %S (à¹à¸¡à¹à¸à¸£à¹à¸à¸à¹à¸¥à¸°à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸)
+getUserMedia.sharingMenuMicrophoneScreen = %S (à¹à¸¡à¹à¸à¸£à¹à¸à¸à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¸)
+getUserMedia.sharingMenuMicrophoneWindow = %S (à¹à¸¡à¹à¸à¸£à¹à¸à¸à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸)
+getUserMedia.sharingMenuMicrophoneBrowser = %S (à¹à¸¡à¹à¸à¸£à¹à¸à¸à¹à¸¥à¸°à¹à¸à¹à¸)
+getUserMedia.sharingMenuAudioCaptureApplication = %S (à¹à¸ªà¸µà¸¢à¸à¸à¸à¸à¹à¸à¹à¸à¹à¸¥à¸°à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸)
+getUserMedia.sharingMenuAudioCaptureScreen = %S (à¹à¸ªà¸µà¸¢à¸à¸à¸à¸à¹à¸à¹à¸à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¸)
+getUserMedia.sharingMenuAudioCaptureWindow = %S (à¹à¸ªà¸µà¸¢à¸à¸à¸à¸à¹à¸à¹à¸à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸)
+getUserMedia.sharingMenuAudioCaptureBrowser = %S (à¹à¸ªà¸µà¸¢à¸à¸à¸à¸à¹à¸à¹à¸à¹à¸¥à¸°à¹à¸à¹à¸)
+# LOCALIZATION NOTE(getUserMedia.sharingMenuUnknownHost): this is used for the website
+# origin for the sharing menu if no readable origin could be deduced from the URL.
+getUserMedia.sharingMenuUnknownHost = à¹à¸¡à¹à¸à¸£à¸²à¸à¸à¸µà¹à¸¡à¸²
+
+# 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 = à¸à¸¸à¸à¸à¹à¸à¸à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸ DRM à¹à¸à¸·à¹à¸à¹à¸¥à¹à¸à¹à¸ªà¸µà¸¢à¸à¸«à¸£à¸·à¸à¸§à¸´à¸à¸µà¹à¸à¸à¸²à¸à¸ªà¹à¸§à¸à¹à¸à¸«à¸à¹à¸²à¸à¸µà¹
+emeNotifications.drmContentDisabled.button.label = à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸ DRM
+emeNotifications.drmContentDisabled.button.accesskey = à¸
+
+# 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 à¸à¸³à¸¥à¸±à¸à¸à¸´à¸à¸à¸±à¹à¸à¸à¸à¸à¹à¸à¸£à¸°à¸à¸à¸à¸à¸µà¹à¸à¸³à¹à¸à¹à¸à¹à¸à¸à¸²à¸£à¹à¸¥à¹à¸à¹à¸ªà¸µà¸¢à¸à¸«à¸£à¸·à¸à¸§à¸´à¸à¸µà¹à¸à¹à¸à¸«à¸à¹à¸²à¸à¸µà¹ à¹à¸à¸£à¸à¸¥à¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸à¹à¸à¸ ายหลัà¸
+
+emeNotifications.unknownDRMSoftware = à¹à¸¡à¹à¸à¸£à¸²à¸
+
+# LOCALIZATION NOTE - %S is brandShortName
+flashHang.message = %S à¹à¸à¹à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸² Adobe Flash à¸à¸²à¸à¸à¸¢à¹à¸²à¸à¹à¸à¸·à¹à¸à¸à¸£à¸±à¸à¸à¸£à¸¸à¸à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸
+flashHang.helpButton.label = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡â¦
+flashHang.helpButton.accesskey = ร
+
+# LOCALIZATION NOTE (customizeMode.tabTitle): %S is brandShortName
+customizeMode.tabTitle = à¸à¸£à¸±à¸à¹à¸à¹à¸ %S
+
+e10s.accessibilityNotice.acceptButton.label = à¸à¸à¸¥à¸
+e10s.accessibilityNotice.acceptButton.accesskey = à¸
+
+# LOCALIZATION NOTE (e10s.accessibilityNotice.jawsMessage): %S is brandShortName
+e10s.accessibilityNotice.jawsMessage = à¸à¸²à¸£à¹à¸ªà¸à¸à¸à¸¥à¹à¸à¸·à¹à¸à¸«à¸²à¹à¸à¹à¸à¸à¸¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸§à¸²à¸¡à¹à¸à¹à¸²à¸à¸±à¸à¹à¸¡à¹à¹à¸à¹à¸£à¸°à¸«à¸§à¹à¸²à¸ %S à¹à¸¥à¸°à¸à¸à¸à¸à¹à¹à¸§à¸£à¹à¸à¸²à¸£à¸à¹à¸§à¸¢à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸à¸à¸à¸¸à¸ à¹à¸à¸£à¸à¸à¸±à¸à¹à¸à¸à¸à¸±à¸§à¸à¹à¸²à¸à¸«à¸à¹à¸²à¸à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¸ªà¸¥à¸±à¸à¹à¸à¹à¸ Firefox Extended Support Release
+
+# 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 = สà¹à¸§à¸à¸à¸¸à¸à¸à¸¥
+userContextWork.label = à¸à¸²à¸
+userContextBanking.label = à¸à¸à¸²à¸à¸²à¸£
+userContextShopping.label = à¸à¸²à¸£à¸à¸·à¹à¸à¸à¸à¸
+userContextNone.label = à¹à¸¡à¹à¸¡à¸µà¸à¸²à¸£à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥
+
+userContextPersonal.accesskey = ส
+userContextWork.accesskey = à¸
+userContextBanking.accesskey = à¸
+userContextShopping.accesskey = à¸
+userContextNone.accesskey = ม
+
+userContext.aboutPage.label = à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸£à¹à¸¢à¸à¸à¹à¸à¸¡à¸¹à¸¥
+userContext.aboutPage.accesskey = ย
+
+userContextOpenLink.label = à¹à¸à¸´à¸à¸¥à¸´à¸à¸à¹à¹à¸à¹à¸à¹à¸ %S à¹à¸«à¸¡à¹
+
+muteTab.label = à¸à¸´à¸à¹à¸ªà¸µà¸¢à¸à¹à¸à¹à¸
+muteTab.accesskey = ส
+unmuteTab.label = à¹à¸à¸´à¸à¹à¸ªà¸µà¸¢à¸à¹à¸à¹à¸
+unmuteTab.accesskey = ส
+playTab.label = à¹à¸¥à¹à¸à¹à¸à¹à¸
+playTab.accesskey = ล
+
+muteSelectedTabs2.label = à¸à¸´à¸à¹à¸ªà¸µà¸¢à¸à¹à¸à¹à¸
+# LOCALIZATION NOTE (muteSelectedTabs2.accesskey): The accesskey should
+# match the accesskey for muteTab.accesskey
+muteSelectedTabs2.accesskey = ส
+unmuteSelectedTabs2.label = à¹à¸à¸´à¸à¹à¸ªà¸µà¸¢à¸à¹à¸à¹à¸
+# LOCALIZATION NOTE (unmuteSelectedTabs2.accesskey): The accesskey should
+# match the accesskey for unmuteTab.accesskey
+unmuteSelectedTabs2.accesskey = ส
+playTabs.label = à¹à¸¥à¹à¸à¹à¸à¹à¸
+playTabs.accesskey = ล
+
+# 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 = สà¹à¸ #1 à¹à¸à¹à¸à¹à¸à¸¢à¸±à¸à¸à¸¸à¸à¸à¸£à¸à¹
+sendTabsToDevice.accesskey = ส
+
+# LOCALIZATION NOTE (pendingCrashReports2.label): Semi-colon list of plural forms
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of pending crash reports
+pendingCrashReports2.label = à¸à¸¸à¸à¸¡à¸µ #1 รายà¸à¸²à¸à¸à¹à¸à¸à¸±à¸à¸à¹à¸à¸à¸à¸µà¹à¸¢à¸±à¸à¹à¸¡à¹à¹à¸à¹à¸ªà¹à¸
+pendingCrashReports.viewAll = à¸à¸¹
+pendingCrashReports.send = สà¹à¸
+pendingCrashReports.alwaysSend = สà¹à¸à¹à¸ªà¸¡à¸
+
+decoder.noCodecs.button = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¸§à¸´à¸à¸µ
+decoder.noCodecs.accesskey = ร
+decoder.noCodecsLinux.message = à¹à¸à¸·à¹à¸à¹à¸¥à¹à¸à¸§à¸´à¸à¸µà¹à¸ à¸à¸¸à¸à¸à¸²à¸à¸à¸³à¹à¸à¹à¸à¸à¹à¸à¸à¸à¸´à¸à¸à¸±à¹à¸à¸à¸±à¸§à¸à¸à¸à¸£à¸«à¸±à¸ªà¸§à¸´à¸à¸µà¹à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£
+decoder.noHWAcceleration.message = à¹à¸à¸·à¹à¸à¸à¸£à¸±à¸à¸à¸£à¸¸à¸à¸à¸¸à¸à¸ าà¸à¸§à¸´à¸à¸µà¹à¸ à¸à¸¸à¸à¸à¸²à¸à¸à¸³à¹à¸à¹à¸à¸à¹à¸à¸à¸à¸´à¸à¸à¸±à¹à¸ Media Feature Pack à¸à¸à¸ Microsoft
+decoder.noPulseAudio.message = à¹à¸à¸·à¹à¸à¹à¸¥à¹à¸à¹à¸ªà¸µà¸¢à¸ à¸à¸¸à¸à¸à¸²à¸à¸à¸³à¹à¸à¹à¸à¸à¹à¸à¸à¸à¸´à¸à¸à¸±à¹à¸à¸à¸à¸à¸à¹à¹à¸§à¸£à¹ PulseAudio à¸à¸µà¹à¸à¸³à¹à¸à¹à¸
+decoder.unsupportedLibavcodec.message = libavcodec à¸à¸²à¸à¸¡à¸µà¸à¸§à¸²à¸¡à¹à¸ªà¸µà¹à¸¢à¸à¸«à¸£à¸·à¸à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸ à¹à¸¥à¸°à¸à¸§à¸£à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¹à¸à¸·à¹à¸à¹à¸¥à¹à¸à¸§à¸´à¸à¸µà¹à¸
+
+decoder.decodeError.message = à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸à¸°à¸à¸à¸à¸£à¸«à¸±à¸ªà¸à¸£à¸±à¸à¸¢à¸²à¸à¸£à¸ªà¸·à¹à¸
+decoder.decodeError.button = รายà¸à¸²à¸à¸à¸±à¸à¸«à¸²à¹à¸à¸à¹
+decoder.decodeError.accesskey = ร
+decoder.decodeWarning.message = à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸¹à¹à¸à¸·à¸à¹à¸à¹à¸à¸à¸°à¸à¸à¸à¸£à¸«à¸±à¸ªà¸à¸£à¸±à¸à¸¢à¸²à¸à¸£à¸ªà¸·à¹à¸
+
+# 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 = à¸à¸¸à¸à¸à¹à¸à¸à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢à¸à¸µà¹à¸à¹à¸à¸à¸à¸µà¹à¸à¸¸à¸à¸à¸°à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸´à¸à¹à¸à¸à¸£à¹à¹à¸à¹à¸à¹à¸à¹
+# 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 = à¹à¸à¸´à¸à¸«à¸à¹à¸²à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸à¸à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢
+
+# LOCALIZATION NOTE (permissions.header):
+# %S is the hostname of the site that is being displayed.
+permissions.header = สิà¸à¸à¸´à¸à¸à¸¸à¸à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸ %S
+permissions.remove.tooltip = ลà¹à¸²à¸à¸ªà¸´à¸à¸à¸´à¸à¸à¸¸à¸à¸²à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¸²à¸¡à¸à¸µà¸à¸à¸£à¸±à¹à¸
+
+permissions.fullscreen.promptCanceled = ยà¸à¹à¸¥à¸´à¸à¸à¸³à¸à¸à¸à¸²à¸£à¸à¸à¸¸à¸à¸²à¸à¸à¸µà¹à¸£à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¹à¸¥à¹à¸§: à¹à¸¡à¹à¸à¸§à¸£à¸à¸à¸à¸à¸³à¸à¸à¸à¸²à¸£à¸à¸à¸¸à¸à¸²à¸à¸à¹à¸à¸à¹à¸à¹à¸²à¸ªà¸¹à¹à¹à¸«à¸¡à¸à¹à¸à¹à¸¡à¸«à¸à¹à¸²à¸à¸à¸à¸à¸ DOM
+permissions.fullscreen.fullScreenCanceled = à¸à¸à¸à¸à¸²à¸à¹à¸«à¸¡à¸à¹à¸à¹à¸¡à¸«à¸à¹à¸²à¸à¸à¸à¸à¸ DOM à¹à¸¥à¹à¸§: à¹à¸¡à¹à¸à¸§à¸£à¸à¸à¸à¸à¸³à¸à¸à¸à¸²à¸£à¸à¸à¸¸à¸à¸²à¸à¹à¸à¸à¸à¸°à¸à¸µà¹à¸à¸¢à¸¹à¹à¹à¸à¹à¸«à¸¡à¸à¹à¸à¹à¸¡à¸«à¸à¹à¸²à¸à¸à¸à¸à¸ 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) " or "51.0a1 (2016-09-05) (64-bit)".
+aboutDialog.architecture.sixtyFourBit = 64 à¸à¸´à¸
+aboutDialog.architecture.thirtyTwoBit = 32 à¸à¸´à¸
+
+midi.allow.label = à¸à¸à¸¸à¸à¸²à¸
+midi.allow.accesskey = à¸
+midi.block.label = à¸à¸´à¸à¸à¸±à¹à¸
+midi.block.accesskey = à¸
+midi.remember=à¸à¸à¸à¸³à¸à¸²à¸£à¸à¸±à¸à¸ªà¸´à¸à¹à¸à¸à¸µà¹
+midi.shareWithFile = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¹à¸à¸¥à¹à¹à¸à¹à¸à¸£à¸·à¹à¸à¸à¸à¸µà¹à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¸à¸à¸à¸£à¸à¹ MIDI à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+# LOCALIZATION NOTE (midi.shareWithSite): %S is the name of the site URL (https://...) requesting MIDI access
+midi.shareWithSite = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %S à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¸à¸à¸à¸£à¸à¹ MIDI à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+midi.shareSysexWithFile = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¹à¸à¸¥à¹à¹à¸à¹à¸à¸£à¸·à¹à¸à¸à¸à¸µà¹à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¸à¸à¸à¸£à¸à¹ MIDI à¸à¸à¸à¸à¸¸à¸à¹à¸¥à¸°à¸ªà¹à¸/รัà¸à¸à¹à¸à¸à¸§à¸²à¸¡ SysEx หรืà¸à¹à¸¡à¹?
+# LOCALIZATION NOTE (midi.shareSysexWithSite): %S is the name of the site URL (https://...) requesting MIDI access
+midi.shareSysexWithSite = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %S à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¸à¸à¸à¸£à¸à¹ MIDI à¸à¸à¸à¸à¸¸à¸à¹à¸¥à¸°à¸ªà¹à¸/รัà¸à¸à¹à¸à¸à¸§à¸²à¸¡ 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 = ยà¹à¸à¸à¸à¸¥à¸±à¸
+
+storageAccess.Allow.label = à¸à¸à¸¸à¸à¸²à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸
+storageAccess.Allow.accesskey = à¸
+storageAccess.DontAllow.label = à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸
+storageAccess.DontAllow.accesskey = à¸
+# LOCALIZATION NOTE (storageAccess3.message, storageAccess.hintText):
+# %1$S and %3$S are both 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.
+storageAccess3.message = à¸à¸¸à¸à¸à¸°à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %1$S à¹à¸à¹à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹à¸à¸ %2$S หรืà¸à¹à¸¡à¹? à¸à¸²à¸£à¸à¸à¸¸à¸à¸²à¸à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸²à¸à¸à¸³à¹à¸«à¹ %3$S à¸à¸´à¸à¸à¸²à¸¡à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸¸à¸à¸à¸³à¸à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸à¹
+storageAccess.hintText = à¸à¸¸à¸à¸à¸§à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸«à¸²à¸à¸à¸¸à¸à¹à¸¡à¹à¹à¸à¸·à¹à¸à¸à¸·à¸à¸«à¸£à¸·à¸à¸£à¸¹à¹à¸à¸±à¸ %1$S
+
+
+
+storageAccess1.Allow.label = à¸à¸à¸¸à¸à¸²à¸
+storageAccess1.Allow.accesskey = à¸
+storageAccess1.DontAllow.label = à¸à¸´à¸à¸à¸±à¹à¸
+storageAccess1.DontAllow.accesskey = à¸
+# 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 = à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹ %1$S à¹à¸à¹à¸à¸¸à¸à¸à¸µà¹à¸à¸ %2$S หรืà¸à¹à¸¡à¹?
+storageAccess1.hintText = à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¹à¸«à¸²à¸à¸à¸¸à¸à¹à¸¡à¹à¹à¸à¹à¹à¸à¹à¸«à¸à¸¸à¸à¸¥à¸à¸µà¹ %1$S à¸à¹à¸à¸à¸à¸²à¸£à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹
+
+
+
+confirmationHint.sendToDevice.label = สà¹à¸à¹à¸¥à¹à¸§!
+confirmationHint.copyURL.label = à¸à¸±à¸à¸¥à¸à¸à¹à¸à¸¢à¸±à¸à¸à¸¥à¸´à¸à¸à¸à¸£à¹à¸à¹à¸¥à¹à¸§!
+confirmationHint.pageBookmarked2.label = à¸à¸±à¸à¸à¸¶à¸à¹à¸à¸¢à¸±à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸¥à¹à¸§
+confirmationHint.addSearchEngine.label = à¹à¸à¸´à¹à¸¡à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸«à¸²à¹à¸¥à¹à¸§!
+confirmationHint.pinTab.label = à¸à¸±à¸à¸«à¸¡à¸¸à¸à¹à¸¥à¹à¸§!
+confirmationHint.pinTab.description = à¸à¸¥à¸´à¸à¸à¸§à¸²à¸à¸µà¹à¹à¸à¹à¸à¹à¸à¸·à¹à¸à¸à¸à¸à¸«à¸¡à¸¸à¸
+confirmationHint.passwordSaved.label = à¸à¸±à¸à¸à¸¶à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¹à¸¥à¹à¸§!
+confirmationHint.loginRemoved.label = à¹à¸à¸²à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸à¸à¹à¸¥à¹à¸§!
+confirmationHint.breakageReport.label = สà¹à¸à¸£à¸²à¸¢à¸à¸²à¸à¹à¸¥à¹à¸§ à¸à¸à¸à¸à¸¸à¸!
+
+# LOCALIZATION NOTE (gnomeSearchProviderSearch):
+# Used for search by Gnome Shell activity screen, %S is a searched string.
+gnomeSearchProviderSearch=à¸à¹à¸à¸«à¸² %S à¹à¸à¹à¸§à¹à¸
diff --git a/browser/chrome/browser/customizableui/customizableWidgets.properties b/browser/chrome/browser/customizableui/customizableWidgets.properties
new file mode 100644
index 00000000000..9e83ce2cd6b
--- /dev/null
+++ b/browser/chrome/browser/customizableui/customizableWidgets.properties
@@ -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/.
+
+history-panelmenu.label = à¸à¸£à¸°à¸§à¸±à¸à¸´
+# LOCALIZATION NOTE(history-panelmenu.tooltiptext2): %S is the keyboard shortcut
+history-panelmenu.tooltiptext2 = à¹à¸ªà¸à¸à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸à¸à¸à¸¸à¸ (%S)
+
+remotetabs-panelmenu.label = à¹à¸à¹à¸à¸à¸µà¹à¸à¸´à¸à¸à¹
+remotetabs-panelmenu.tooltiptext2 = à¹à¸ªà¸à¸à¹à¸à¹à¸à¸à¸²à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸·à¹à¸ à¹
+
+privatebrowsing-button.label = หà¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸«à¸¡à¹
+# LOCALIZATION NOTE(privatebrowsing-button.tooltiptext): %S is the keyboard shortcut
+privatebrowsing-button.tooltiptext = à¹à¸à¸´à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸«à¸¡à¹ (%S)
+
+save-page-button.label = à¸à¸±à¸à¸à¸¶à¸à¸«à¸à¹à¸²
+# LOCALIZATION NOTE(save-page-button.tooltiptext3): %S is the keyboard shortcut
+save-page-button.tooltiptext3 = à¸à¸±à¸à¸à¸¶à¸à¸«à¸à¹à¸²à¸à¸µà¹ (%S)
+
+find-button.label = à¸à¹à¸à¸«à¸²
+# LOCALIZATION NOTE(find-button.tooltiptext3): %S is the keyboard shortcut.
+find-button.tooltiptext3 = à¸à¹à¸à¸«à¸²à¹à¸à¸«à¸à¹à¸²à¸à¸µà¹ (%S)
+
+open-file-button.label = à¹à¸à¸´à¸à¹à¸à¸¥à¹
+# LOCALIZATION NOTE (open-file-button.tooltiptext3): %S is the keyboard shortcut.
+open-file-button.tooltiptext3 = à¹à¸à¸´à¸à¹à¸à¸¥à¹ (%S)
+
+developer-button.label = à¸à¸±à¸à¸à¸±à¸à¸à¸²
+# LOCALIZATION NOTE(developer-button.tooltiptext): %S is the keyboard shortcut
+developer-button.tooltiptext2 = à¹à¸à¸´à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸±à¸à¸à¸±à¸à¸à¸²à¹à¸§à¹à¸ (%S)
+
+profiler-button.label = à¸à¸±à¸§à¸ªà¸£à¹à¸²à¸à¹à¸à¸£à¹à¸à¸¥à¹
+profiler-button.tooltiptext = à¸à¸±à¸à¸à¸¶à¸à¹à¸à¸£à¹à¸à¸¥à¹à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸
+
+sidebar-button.label = à¹à¸à¸à¸à¹à¸²à¸
+sidebar-button.tooltiptext2 = à¹à¸ªà¸à¸à¹à¸à¸à¸à¹à¸²à¸
+
+zoom-controls.label = à¸à¸¸à¹à¸¡à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¸à¸¹à¸¡
+zoom-controls.tooltiptext2 = à¸à¸¸à¹à¸¡à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¸à¸¹à¸¡
+
+zoom-out-button.label = à¸à¸¹à¸¡à¸à¸à¸
+# LOCALIZATION NOTE(zoom-out-button.tooltiptext2): %S is the keyboard shortcut.
+zoom-out-button.tooltiptext2 = à¸à¸¹à¸¡à¸à¸à¸ (%S)
+
+# LOCALIZATION NOTE(zoom-reset-button.tooltiptext2): %S is the keyboard shortcut.
+zoom-reset-button.tooltiptext2 = à¸à¸¥à¸±à¸à¸à¹à¸²à¹à¸à¸´à¸¡à¸à¸à¸à¸£à¸°à¸à¸±à¸à¸à¸²à¸£à¸à¸¹à¸¡ (%S)
+
+zoom-in-button.label = à¸à¸¹à¸¡à¹à¸à¹à¸²
+# LOCALIZATION NOTE(zoom-in-button.tooltiptext2): %S is the keyboard shortcut.
+zoom-in-button.tooltiptext2 = à¸à¸¹à¸¡à¹à¸à¹à¸² (%S)
+
+edit-controls.label = à¸à¸¸à¹à¸¡à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¹à¸à¹à¹à¸
+edit-controls.tooltiptext2 = à¸à¸¸à¹à¸¡à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¹à¸à¹à¹à¸
+
+cut-button.label = à¸à¸±à¸
+# LOCALIZATION NOTE(cut-button.tooltiptext2): %S is the keyboard shortcut.
+cut-button.tooltiptext2 = à¸à¸±à¸ (%S)
+
+copy-button.label = à¸à¸±à¸à¸¥à¸à¸
+# LOCALIZATION NOTE(copy-button.tooltiptext2): %S is the keyboard shortcut.
+copy-button.tooltiptext2 = à¸à¸±à¸à¸¥à¸à¸ (%S)
+
+paste-button.label = วาà¸
+# LOCALIZATION NOTE(paste-button.tooltiptext2): %S is the keyboard shortcut.
+paste-button.tooltiptext2 = วาภ(%S)
+
+email-link-button.label = สà¹à¸à¸à¸µà¹à¸¡à¸¥à¸¥à¸´à¸à¸à¹
+email-link-button.tooltiptext3 = สà¹à¸à¸à¸µà¹à¸¡à¸¥à¸¥à¸´à¸à¸à¹à¹à¸à¸¢à¸±à¸à¸«à¸à¹à¸²à¸à¸µà¹
+
+panic-button.label = ลืม
+panic-button.tooltiptext = ลืมà¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¸à¸²à¸à¸ªà¹à¸§à¸
+
+toolbarspring.label = à¸à¹à¸à¸à¸§à¹à¸²à¸à¹à¸à¸à¸¢à¸·à¸à¸«à¸¢à¸¸à¹à¸
+toolbarseparator.label = à¸à¸±à¸§à¹à¸à¹à¸
+toolbarspacer.label = à¸à¹à¸à¸à¸§à¹à¸²à¸
diff --git a/browser/chrome/browser/downloads/downloads.properties b/browser/chrome/browser/downloads/downloads.properties
new file mode 100644
index 00000000000..1e1a343485a
--- /dev/null
+++ b/browser/chrome/browser/downloads/downloads.properties
@@ -0,0 +1,98 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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=à¸à¸³à¸¥à¸±à¸à¹à¸£à¸´à¹à¸¡â¦
+# LOCALIZATION NOTE (stateFailed):
+# Indicates that the download failed because of an error.
+stateFailed=ลà¹à¸¡à¹à¸«à¸¥à¸§
+# LOCALIZATION NOTE (statePaused):
+# Indicates that the download was paused by the user.
+statePaused=หยุà¸à¸à¸±à¹à¸§à¸à¸£à¸²à¸§à¸à¸¢à¸¹à¹
+# LOCALIZATION NOTE (stateCanceled):
+# Indicates that the download was canceled by the user.
+stateCanceled=ยà¸à¹à¸¥à¸´à¸à¹à¸¥à¹à¸§
+# LOCALIZATION NOTE (stateCompleted):
+# Indicates that the download was completed.
+stateCompleted=à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹
+# 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=à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸à¹à¸à¸¢à¸à¸²à¸£à¸à¸§à¸à¸à¸¸à¸¡à¹à¸à¸¢à¸à¸¹à¹à¸à¸à¸à¸£à¸à¸
+# 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=à¹à¸à¸¥à¹à¸à¸µà¹à¸¡à¸µà¹à¸§à¸£à¸±à¸ªà¸«à¸£à¸·à¸à¸¡à¸±à¸¥à¹à¸§à¸£à¹
+blockedPotentiallyUnwanted=à¹à¸à¸¥à¹à¸à¸µà¹à¸à¸²à¸à¹à¸à¹à¸à¸à¸±à¸à¸à¸£à¸²à¸¢à¸à¹à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸
+blockedPotentiallyInsecure=à¹à¸¡à¹à¹à¸à¹à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¹à¸à¸¥à¹: à¸à¸§à¸²à¸¡à¹à¸ªà¸µà¹à¸¢à¸à¸à¹à¸²à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸µà¹à¸à¸²à¸à¹à¸à¸´à¸à¸à¸¶à¹à¸
+blockedUncommon2=à¹à¸à¸¥à¹à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸à¸±à¸à¹à¸à¸¢à¸à¸±à¹à¸§à¹à¸
+
+# LOCALIZATION NOTE (fileMovedOrMissing):
+# Displayed when a complete download which is not at the original folder.
+fileMovedOrMissing=à¹à¸à¸¥à¹à¸à¸¹à¸à¸¢à¹à¸²à¸¢à¸«à¸£à¸·à¸à¸«à¸²à¸¢à¹à¸
+
+# LOCALIZATION NOTE (unblockHeaderUnblock, unblockHeaderOpen,
+# unblockTypeMalware, unblockTypePotentiallyUnwanted2,
+# unblockTypeUncommon2, unblockTip2, unblockButtonOpen,
+# unblockButtonUnblock, unblockButtonConfirmBlock, unblockInsecure):
+# 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=à¸à¸¸à¸à¹à¸à¹à¹à¸à¸«à¸£à¸·à¸à¹à¸¡à¹à¸§à¹à¸²à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸¸à¸à¸²à¸à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸à¸µà¹?
+unblockHeaderOpen=à¸à¸¸à¸à¹à¸à¹à¹à¸à¸«à¸£à¸·à¸à¹à¸¡à¹à¸§à¹à¸²à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸´à¸à¹à¸à¸¥à¹à¸à¸µà¹?
+unblockTypeMalware=à¹à¸à¸¥à¹à¸à¸µà¹à¸¡à¸µà¹à¸§à¸£à¸±à¸ªà¸«à¸£à¸·à¸à¸¡à¸±à¸¥à¹à¸§à¸£à¹à¸à¸·à¹à¸à¸à¸µà¹à¸à¸²à¸à¹à¸à¹à¸à¸à¸±à¸à¸à¸£à¸²à¸¢à¸à¹à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸
+unblockTypePotentiallyUnwanted2=à¹à¸à¸¥à¹à¸à¸µà¹à¹à¸à¹à¸à¸¥à¸à¸¡à¸à¸±à¸§à¹à¸à¹à¸à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸à¸µà¹à¸¡à¸µà¸à¸£à¸°à¹à¸¢à¸à¸à¹ à¹à¸à¹à¸¡à¸±à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¹à¸à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¹à¸§à¹à¸à¸±à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¹à¸¥à¸°à¹à¸à¸£à¹à¸à¸£à¸¡à¸à¸à¸à¸à¸¸à¸
+unblockTypeUncommon2=à¹à¸à¸¥à¹à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸à¸±à¸à¹à¸à¸¢à¸à¸±à¹à¸§à¹à¸à¹à¸¥à¸°à¸à¸²à¸à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัยà¸à¸µà¹à¸à¸°à¹à¸à¸´à¸ à¹à¸à¸¥à¹à¸à¸²à¸à¸¡à¸µà¹à¸§à¸£à¸±à¸ªà¸«à¸£à¸·à¸à¸à¸³à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸à¸à¸±à¸à¹à¸à¸£à¹à¸à¸£à¸¡à¹à¸¥à¸°à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸à¸à¸à¸¸à¸
+unblockInsecure=à¹à¸à¸¥à¹à¸à¸µà¹à¹à¸à¹à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัย มัà¸à¸à¸²à¸à¹à¸ªà¸µà¸¢à¸«à¸²à¸¢à¸«à¸£à¸·à¸à¸à¸¹à¸à¸à¸±à¸à¹à¸à¸¥à¸à¹à¸à¸£à¸°à¸«à¸§à¹à¸²à¸à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+unblockTip2=à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¹à¸à¸«à¸²à¹à¸«à¸¥à¹à¸à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸à¸·à¹à¸ หรืà¸à¸¥à¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸à¹à¸à¸ ายหลัà¸
+unblockButtonOpen=à¹à¸à¸´à¸
+unblockButtonUnblock=à¸à¸à¸¸à¸à¸²à¸à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+unblockButtonConfirmBlock=à¹à¸à¸²à¹à¸à¸¥à¹à¸à¸à¸
+
+# LOCALIZATION NOTE (sizeWithUnits):
+# %1$S is replaced with the size number, and %2$S with the measurement unit.
+sizeWithUnits=%1$S %2$S
+sizeUnknown=à¹à¸¡à¹à¸à¸£à¸²à¸à¸à¸à¸²à¸
+
+# 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 \u2014 %2$S
+statusSeparatorBeforeNumber=%1$S \u2014 %2$S
+
+# LOCALIZATION NOTE (otherDownloads3):
+# 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. Use a
+# semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/Localization_and_Plurals
+otherDownloads3=à¸à¸³à¸¥à¸±à¸à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸ %1$S à¹à¸à¸¥à¹
+
+# LOCALIZATION NOTE (showLabel, showMacLabel):
+# This is displayed when you hover a download item in the Library widget view.
+# showMacLabel is only shown on Mac OSX.
+showLabel=à¹à¸à¸´à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸µà¹à¸à¸£à¸£à¸à¸¸
+showMacLabel=à¹à¸à¸´à¸à¹à¸ Finder
+# LOCALIZATION NOTE (openFileLabel):
+# Displayed when hovering a complete download, indicates that it's possible to
+# open the file using an app available in the system.
+openFileLabel=à¹à¸à¸´à¸à¹à¸à¸¥à¹
+# LOCALIZATION NOTE (retryLabel):
+# Displayed when hovering a download which is able to be retried by users,
+# indicates that it's possible to download this file again.
+retryLabel=ลà¸à¸à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¹à¸«à¸¡à¹
diff --git a/browser/chrome/browser/feeds/subscribe.properties b/browser/chrome/browser/feeds/subscribe.properties
new file mode 100644
index 00000000000..62dd6b55c21
--- /dev/null
+++ b/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=à¹à¸à¸´à¹à¸¡ â%1$Sâ à¹à¸à¹à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸¥à¸´à¸à¸à¹ %2$S?
+addProtocolHandlerAddButton=à¹à¸à¸´à¹à¸¡à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸
+addProtocolHandlerAddButtonAccesskey=à¸
diff --git a/browser/chrome/browser/places/bookmarkProperties.properties b/browser/chrome/browser/places/bookmarkProperties.properties
new file mode 100644
index 00000000000..8c952e46d88
--- /dev/null
+++ b/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=à¹à¸à¸´à¹à¸¡
+dialogAcceptLabelSaveItem=à¸à¸±à¸à¸à¸¶à¸
+dialogAcceptLabelAddMulti=à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+dialogAcceptLabelEdit=à¸à¸±à¸à¸à¸¶à¸
+dialogTitleAddBookmark=à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸«à¸¡à¹
+dialogTitleAddFolder=à¹à¸à¸¥à¹à¸à¸à¸£à¹à¹à¸«à¸¡à¹
+dialogTitleAddMulti=à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸«à¸¡à¹
+dialogTitleEdit=à¸à¸¸à¸à¸ªà¸¡à¸à¸±à¸à¸´à¸à¸à¸ â%Sâ
+
+dialogTitleAddNewBookmark2=à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+dialogTitleEditBookmark=à¹à¸à¹à¹à¸ â%Sâ
+dialogTitleEditBookmark2=à¹à¸à¹à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+dialogTitleAddBookmarksFolder=à¹à¸à¸´à¹à¸¡à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+dialogTitleAddBookmarkFolder=à¹à¸à¸´à¹à¸¡à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+dialogTitleEditBookmarksFolder=à¹à¸à¹à¹à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+dialogTitleEditBookmarkFolder=à¹à¸à¹à¹à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+
+bookmarkAllTabsDefault=[à¸à¸·à¹à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹]
+newFolderDefault=à¹à¸à¸¥à¹à¸à¸à¸£à¹à¹à¸«à¸¡à¹
+newBookmarkDefault=à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸«à¸¡à¹
diff --git a/browser/chrome/browser/places/places.dtd b/browser/chrome/browser/places/places.dtd
new file mode 100644
index 00000000000..3e2928de257
--- /dev/null
+++ b/browser/chrome/browser/places/places.dtd
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Z">
+
+ A">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/places/places.properties b/browser/chrome/browser/places/places.properties
new file mode 100644
index 00000000000..20fe7e24444
--- /dev/null
+++ b/browser/chrome/browser/places/places.properties
@@ -0,0 +1,72 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+load-js-data-url-error=à¸à¹à¸§à¸¢à¹à¸«à¸à¸¸à¸à¸¥à¸à¸§à¸²à¸¡à¸¡à¸±à¹à¸à¸à¸ à¸à¸µà¹à¸à¸±à¹à¸ URL à¸à¸µà¹à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸«à¸£à¸·à¸à¸à¸²à¸§à¸²à¸ªà¸à¸£à¸´à¸à¸à¹ à¸à¸°à¹à¸¡à¹à¸à¸¹à¸à¹à¸«à¸¥à¸à¸à¸²à¸à¹à¸à¸à¸à¹à¸²à¸à¸«à¸£à¸·à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¸£à¸°à¸§à¸±à¸à¸´
+noTitle=(à¹à¸¡à¹à¸¡à¸µà¸à¸·à¹à¸à¹à¸£à¸·à¹à¸à¸)
+
+bookmarksMenuEmptyFolder=(วà¹à¸²à¸)
+
+bookmarksBackupTitle=à¸à¸·à¹à¸à¹à¸à¸¥à¹à¸ªà¸³à¸£à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+
+bookmarksRestoreAlertTitle=à¸à¸·à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸¥à¸±à¸
+bookmarksRestoreAlert=สิà¹à¸à¸à¸µà¹à¸à¸°à¹à¸à¸à¸à¸µà¹à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸±à¸à¸à¸¸à¸à¸±à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸à¸à¸à¸¸à¸à¸à¹à¸§à¸¢à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¸³à¸£à¸à¸ à¸à¸¸à¸à¹à¸à¹à¹à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+bookmarksRestoreTitle=à¹à¸¥à¸·à¸à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸à¸µà¹à¸ªà¸³à¸£à¸à¸à¹à¸§à¹
+bookmarksRestoreFilterName=JSON
+
+bookmarksRestoreFormatError=à¸à¸à¸´à¸à¹à¸à¸¥à¹à¸à¸µà¹à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸
+bookmarksRestoreParseError=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¹à¸à¸¥à¹à¸ªà¸³à¸£à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥
+
+# LOCALIZATION NOTE (view.sortBy.1.name.label): sortBy properties are versioned.
+# When any of these changes, all of the properties must be bumped, and the
+# change must be annotated here. Both label and accesskey must be updated.
+# - version 1: changed view.sortBy.1.date.
+view.sortBy.1.name.label=à¹à¸£à¸µà¸¢à¸à¸à¸²à¸¡à¸à¸·à¹à¸
+view.sortBy.1.name.accesskey=ร
+view.sortBy.1.url.label=à¹à¸£à¸µà¸¢à¸à¸à¸²à¸¡à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸
+view.sortBy.1.url.accesskey=à¸
+view.sortBy.1.date.label=à¹à¸£à¸µà¸¢à¸à¸à¸²à¸¡à¸§à¸±à¸à¸à¸µà¹à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡à¸¥à¹à¸²à¸ªà¸¸à¸
+view.sortBy.1.date.accesskey=à¸
+view.sortBy.1.visitCount.label=à¹à¸£à¸µà¸¢à¸à¸à¸²à¸¡à¸à¸³à¸à¸§à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¡
+view.sortBy.1.visitCount.accesskey=ม
+view.sortBy.1.dateAdded.label=à¹à¸£à¸µà¸¢à¸à¸à¸²à¸¡à¸§à¸±à¸à¸à¸µà¹à¹à¸à¸´à¹à¸¡
+view.sortBy.1.dateAdded.accesskey=ว
+view.sortBy.1.lastModified.label=à¹à¸£à¸µà¸¢à¸à¸à¸²à¸¡à¸§à¸±à¸à¸à¸µà¹à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸¥à¹à¸²à¸ªà¸¸à¸
+view.sortBy.1.lastModified.accesskey=à¸
+view.sortBy.1.tags.label=à¹à¸£à¸µà¸¢à¸à¸à¸²à¸¡à¸à¹à¸²à¸¢à¸à¸³à¸à¸±à¸
+view.sortBy.1.tags.accesskey=ย
+
+searchBookmarks=à¸à¹à¸à¸«à¸²à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+searchHistory=à¸à¹à¸à¸«à¸²à¸à¸£à¸°à¸§à¸±à¸à¸´
+searchDownloads=à¸à¹à¸à¸«à¸²à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+
+SelectImport=à¸à¸³à¹à¸à¹à¸²à¹à¸à¸¥à¹à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+EnterExport=สà¹à¸à¸à¸à¸à¹à¸à¸¥à¹à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+
+detailsPane.noItems=à¹à¸¡à¹à¸¡à¸µà¸£à¸²à¸¢à¸à¸²à¸£
+# LOCALIZATION NOTE (detailsPane.itemsCountLabel): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of items
+# example: 111 items
+detailsPane.itemsCountLabel=#1 รายà¸à¸²à¸£
+
+# LOCALIZATION NOTE (lockPrompt.text)
+# %S will be replaced with the application name.
+lockPrompt.title=à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸²à¸£à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹
+lockPrompt.text=ระà¸à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸¥à¸°à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸°à¹à¸¡à¹à¸à¸³à¸à¸²à¸à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸«à¸à¸¶à¹à¸à¹à¸à¹à¸à¸¥à¹à¸à¸à¸ %S มีà¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¹à¸à¸¢à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸·à¹à¸ à¸à¸à¸à¸à¹à¹à¸§à¸£à¹à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸²à¸à¸à¸±à¸§à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¹à¸à¹à¸«à¹à¹à¸à¸´à¸à¸à¸±à¸à¸«à¸²à¸à¸µà¹
+
+# LOCALIZATION NOTE (cmd.deleteSinglePage.accesskey,
+# cmd.deleteMultiplePages.accesskey): these accesskeys can use the same
+# character, since they're never displayed at the same time
+cmd.deleteSinglePage.label=ลà¸à¸«à¸à¹à¸²
+cmd.deleteSinglePage.accesskey=ล
+cmd.deleteMultiplePages.label=ลà¸à¸«à¸à¹à¸²
+cmd.deleteMultiplePages.accesskey=ล
+
+# LOCALIZATION NOTE (cmd.bookmarkSinglePage.accesskey,
+# cmd.bookmarkMultiplePages.accesskey): these accesskeys can use the same
+# character, since they're never displayed at the same time
+cmd.bookmarkSinglePage.label=à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸ªà¸³à¸«à¸£à¸±à¸à¸«à¸à¹à¸²
+cmd.bookmarkSinglePage.accesskey=à¸
+cmd.bookmarkMultiplePages.label=à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¸ªà¸³à¸«à¸£à¸±à¸à¸«à¸à¹à¸²
+cmd.bookmarkMultiplePages.accesskey=à¸
diff --git a/browser/chrome/browser/safebrowsing/safebrowsing.properties b/browser/chrome/browser/safebrowsing/safebrowsing.properties
new file mode 100644
index 00000000000..d246b942aac
--- /dev/null
+++ b/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=à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¹à¸à¸à¹à¸«à¸¥à¸à¸à¸¥à¸§à¸
+errorReportFalseDeceptiveMessage=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸²à¸¢à¸à¸²à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¹à¹à¸à¸à¸à¸°à¸à¸µà¹
diff --git a/browser/chrome/browser/search.properties b/browser/chrome/browser/search.properties
new file mode 100644
index 00000000000..0ee7cd86ce8
--- /dev/null
+++ b/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=à¸à¹à¸à¸«à¸²à¹à¸à¸¢à¹à¸à¹ %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=à¸à¹à¸à¸«à¸² %S
+
+# LOCALIZATION NOTE (cmd_pasteAndSearch): "Search" is a verb, this is the
+# search bar equivalent to the url bar's "Paste & Go"
+cmd_pasteAndSearch=วาà¸à¹à¸¥à¹à¸§à¸à¹à¸à¸«à¸²
+
+cmd_clearHistory=ลà¹à¸²à¸à¸à¸£à¸°à¸§à¸±à¸à¸´à¸à¸²à¸£à¸à¹à¸à¸«à¸²
+cmd_clearHistory_accesskey=à¸
+
+# LOCALIZATION NOTE (searchForSomethingWith2):
+# This string is used to build the header above the list of one-click
+# search providers: "Search for with:"
+searchForSomethingWith2=à¸à¹à¸à¸«à¸² %S à¸à¹à¸§à¸¢:
+
+# 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=à¸à¹à¸à¸«à¸²à¸à¹à¸§à¸¢:
+
+# LOCALIZATION NOTE (searchSettings):
+# This is the label for the button that opens Search preferences.
+searchSettings=à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸²à¸£à¸à¹à¸à¸«à¸²
+
diff --git a/browser/chrome/browser/shellservice.properties b/browser/chrome/browser/shellservice.properties
new file mode 100644
index 00000000000..75d824a0ddb
--- /dev/null
+++ b/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=à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+setDefaultBrowserMessage=%S à¹à¸¡à¹à¹à¸à¹à¸à¸¹à¸à¸à¸±à¹à¸à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸à¸±à¸à¸à¸¸à¸à¸±à¸ à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸³à¹à¸«à¹à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+setDefaultBrowserDontAsk=à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸ªà¸¡à¸à¹à¸¡à¸·à¹à¸à¹à¸£à¸´à¹à¸¡ %S
+setDefaultBrowserAlertConfirm.label=à¹à¸à¹ %S à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¸à¸±à¸
+setDefaultBrowserAlertNotNow.label=à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸à¸µà¹
+
+desktopBackgroundLeafNameWin=à¸à¸·à¹à¸à¸«à¸¥à¸±à¸à¹à¸à¸ªà¸à¹à¸à¹à¸à¸.bmp
+DesktopBackgroundDownloading=à¸à¸³à¸¥à¸±à¸à¸à¸±à¸à¸à¸¶à¸à¸£à¸¹à¸à¸ าà¸â¦
+DesktopBackgroundSet=à¸à¸±à¹à¸à¸à¸·à¹à¸à¸«à¸¥à¸±à¸à¹à¸à¸ªà¸à¹à¸à¹à¸à¸
diff --git a/browser/chrome/browser/siteData.properties b/browser/chrome/browser/siteData.properties
new file mode 100644
index 00000000000..8c816451e06
--- /dev/null
+++ b/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=ลà¹à¸²à¸à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸
+# LOCALIZATION NOTE (clearSiteDataPromptText): %S = brandShortName
+clearSiteDataPromptText=à¸à¸²à¸£à¹à¸¥à¸·à¸à¸ âลà¹à¸²à¸à¸à¸à¸à¸à¸µà¹â à¸à¸°à¸¥à¹à¸²à¸à¸à¸¸à¸à¸à¸µà¹à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸µà¹à¸à¸±à¸à¹à¸à¹à¸à¹à¸à¸¢ %S สิà¹à¸à¸à¸µà¹à¸à¸²à¸à¸¥à¸à¸à¸·à¹à¸à¸à¸¸à¸à¸à¸à¸à¸à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸¥à¸°à¹à¸à¸²à¹à¸à¸·à¹à¸à¸«à¸²à¹à¸§à¹à¸à¸à¸à¸à¹à¸¥à¸à¹à¸à¸à¸
+clearSiteDataNow=ลà¹à¸²à¸à¸à¸à¸à¸à¸µà¹
diff --git a/browser/chrome/browser/sitePermissions.properties b/browser/chrome/browser/sitePermissions.properties
new file mode 100644
index 00000000000..5b4277d4975
--- /dev/null
+++ b/browser/chrome/browser/sitePermissions.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/.
+
+# 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 = à¸à¸à¸¸à¸à¸²à¸à¹à¸¥à¹à¸§
+state.current.allowedForSession = à¹à¸à¹à¸£à¸±à¸à¸à¸à¸¸à¸à¸²à¸à¹à¸à¸§à¸²à¸£à¸°
+state.current.allowedTemporarily = à¹à¸à¹à¸£à¸±à¸à¸à¸à¸¸à¸à¸²à¸à¸à¸±à¹à¸§à¸à¸£à¸²à¸§
+state.current.blockedTemporarily = à¸à¸´à¸à¸à¸±à¹à¸à¹à¸¥à¹à¸§à¸à¸±à¹à¸§à¸à¸£à¸²à¸§
+state.current.blocked = à¸à¸´à¸à¸à¸±à¹à¸à¹à¸¥à¹à¸§
+state.current.prompt = à¸à¸²à¸¡à¹à¸ªà¸¡à¸
+
+# 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 = à¸à¸²à¸¡à¹à¸ªà¸¡à¸
+state.multichoice.allow = à¸à¸à¸¸à¸à¸²à¸
+state.multichoice.allowForSession = à¸à¸à¸¸à¸à¸²à¸à¹à¸à¸§à¸²à¸£à¸°
+state.multichoice.block = à¸à¸´à¸à¸à¸±à¹à¸
+
+state.multichoice.autoplayblock = à¸à¸´à¸à¸à¸±à¹à¸à¹à¸ªà¸µà¸¢à¸
+state.multichoice.autoplayblockall = à¸à¸´à¸à¸à¸±à¹à¸à¹à¸ªà¸µà¸¢à¸à¹à¸¥à¸°à¸§à¸´à¸à¸µà¹à¸
+state.multichoice.autoplayallow = à¸à¸à¸¸à¸à¸²à¸à¹à¸ªà¸µà¸¢à¸à¹à¸¥à¸°à¸§à¸´à¸à¸µà¹à¸
+
+permission.autoplay.label = à¹à¸¥à¹à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+permission.cookie.label = à¸à¸±à¹à¸à¸à¸¸à¸à¸à¸µà¹
+permission.desktop-notification3.label = สà¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸
+permission.camera.label = à¹à¸à¹à¸à¸¥à¹à¸à¸
+permission.microphone.label = à¹à¸à¹à¹à¸¡à¹à¸à¸£à¹à¸à¸
+permission.screen.label = à¹à¸à¹à¸à¸à¸±à¸à¸«à¸à¹à¸²à¸à¸
+permission.install.label = à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡
+permission.popup.label = à¹à¸à¸´à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¹à¸à¸à¸à¸±à¸
+permission.geo.label = à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¸à¸à¸à¸¸à¸
+permission.xr.label = à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸§à¸²à¸¡à¸à¸£à¸´à¸à¹à¸ªà¸¡à¸·à¸à¸
+permission.shortcuts.label = à¹à¸à¸µà¸¢à¸à¸à¸±à¸à¹à¸à¹à¸à¸à¸´à¸¡à¸à¹à¸¥à¸±à¸
+permission.focus-tab-by-prompt.label = สลัà¸à¹à¸à¸¢à¸±à¸à¹à¸à¹à¸à¸à¸µà¹
+permission.persistent-storage.label = à¸à¸±à¸à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¸µà¹à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸§à¸£
+permission.canvas.label = สà¹à¸à¸à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸·à¸à¸à¹à¸²à¹à¸
+permission.midi.label = à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¸à¸à¸à¸£à¸à¹ MIDI
+permission.midi-sysex.label = à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¸à¸à¸à¸£à¸à¹ MIDI à¸à¸£à¹à¸à¸¡à¸à¸²à¸£à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸ SysEx
+# LOCALIZATION NOTE (permission.open-protocol-handler.label):
+# Open as a verb. "This site may open applications".
+permission.open-protocol-handler.label = à¹à¸à¸´à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸
diff --git a/browser/chrome/browser/syncSetup.properties b/browser/chrome/browser/syncSetup.properties
new file mode 100644
index 00000000000..b3b515f344d
--- /dev/null
+++ b/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 = à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸
+
+relinkVerify.title = à¸à¸³à¹à¸à¸·à¸à¸à¸à¸²à¸£à¸à¸ªà¸²à¸
+relinkVerify.heading = à¸à¸¸à¸à¹à¸à¹à¹à¸à¸«à¸£à¸·à¸à¹à¸¡à¹à¸§à¹à¸²à¸à¹à¸à¸à¸à¸²à¸£à¸¥à¸à¸à¸·à¹à¸à¹à¸à¹à¸² Sync?
+# LOCALIZATION NOTE (relinkVerify.description): Email address of a user previously signed into sync.
+relinkVerify.description = à¸à¸¹à¹à¹à¸à¹à¸à¸µà¹à¸à¹à¸²à¸à¸à¸±à¸à¹à¸à¹à¸¥à¸à¸à¸·à¹à¸à¹à¸à¹à¸² Sync à¸à¹à¸à¸à¸«à¸à¹à¸²à¸à¸µà¹à¹à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸µà¹ à¸à¸²à¸£à¸¥à¸à¸à¸·à¹à¸à¹à¸à¹à¸²à¸à¸°à¸à¸ªà¸²à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸², รหัสà¸à¹à¸²à¸ à¹à¸¥à¸°à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸·à¹à¸ ๠à¸à¸à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸µà¹à¸à¸±à¸ %S
diff --git a/browser/chrome/browser/tabbrowser.properties b/browser/chrome/browser/tabbrowser.properties
new file mode 100644
index 00000000000..5b365693c7d
--- /dev/null
+++ b/browser/chrome/browser/tabbrowser.properties
@@ -0,0 +1,158 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+tabs.emptyTabTitle=à¹à¸à¹à¸à¹à¸«à¸¡à¹
+tabs.emptyPrivateTabTitle=à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+tabs.closeTab=à¸à¸´à¸à¹à¸à¹à¸
+tabs.close=à¸à¸´à¸
+tabs.closeTitleTabs=à¸à¸´à¸à¹à¸à¹à¸?
+tabs.closeTabsAndQuitTitle=à¸à¹à¸à¸à¸à¸²à¸£à¸à¸´à¸à¹à¸à¹à¸à¹à¸¥à¸°à¸à¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹
+tabs.closeTabsAndQuitTitleWin=à¸à¹à¸à¸à¸à¸²à¸£à¸à¸´à¸à¹à¸à¹à¸à¹à¸¥à¸°à¸à¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹
+# LOCALIZATION NOTE (tabs.closeWarningMultipleTabs):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# The singular form is not considered since this string is used only for
+# multiple tabs.
+tabs.closeWarningMultipleTabs=à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸à¸°à¸à¸´à¸ #1 à¹à¸à¹à¸
+# LOCALIZATION NOTE (tabs.closeWarningMultipleTabsSessionRestore):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# The forms for 0 or 1 items are not considered since this string is used only
+# for multiple tabs.
+# If
+# "Tabs in non-private windows will be restored when you restart"
+# is difficult to translate, you could translate
+# "Tabs (except those in private windows) will be restored when you restart"
+# instead.
+tabs.closeWarningMultipleTabsSessionRestore=à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸à¸°à¸à¸´à¸ #1 à¹à¸à¹à¸ à¹à¸à¹à¸à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸¡à¹à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸°à¸à¸¹à¸à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¹à¸¡à¸·à¹à¸à¸à¸¸à¸à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸«à¸¡à¹
+
+# This section applies when closing a window with more than one tab open,
+# or when quitting when only one window is open.
+# LOCALIZATION NOTE (tabs.closeTabsTitle):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# The singular form is not considered since this string is used only for
+# multiple tabs.
+tabs.closeTabsTitle=à¸à¹à¸à¸à¸à¸²à¸£à¸à¸´à¸ #1 à¹à¸à¹à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+tabs.closeTabsConfirmCheckbox=ยืà¸à¸¢à¸±à¸à¸à¹à¸à¸à¸à¸´à¸à¸«à¸¥à¸²à¸¢à¹à¸à¹à¸
+tabs.closeButtonMultiple=à¸à¸´à¸à¹à¸à¹à¸
+tabs.closeWarningPrompt=à¹à¸à¸·à¸à¸à¹à¸¡à¸·à¹à¸à¸à¸°à¸à¸´à¸à¸«à¸¥à¸²à¸¢à¹à¸à¹à¸
+
+# LOCALIZATION NOTE (tabs.closeWarningMultipleWindows2):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# The forms for 0 or 1 items are not considered since this string is used only for
+# multiple windows. The %S replacement form will be replaced with the contents
+# of tabs.closeWarningMultipleWindowsTabSnippet, which will contain the number
+# of tabs in these windows.
+# Note that every one of these plural forms must contain one instance of '%S'.
+tabs.closeWarningMultipleWindows2=à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸à¸°à¸à¸´à¸ #1 หà¸à¹à¸²à¸à¹à¸²à¸ %S
+# LOCALIZATION NOTE (tabs.closeWarningMultipleWindowsSessionRestore3):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# The forms for 0 or 1 items are not considered since this string is used only for
+# multiple windows. The %S replacement form will be replaced with the contents
+# of tabs.closeWarningMultipleWindowsTabSnippet, which will contain the number
+# of tabs in these windows.
+# If
+# "Tabs in non-private windows will be restored when you restart"
+# is difficult to translate, you could translate
+# "Tabs (except those in private windows) will be restored when you restart"
+# instead.
+# Note that every one of these plural forms must contain one instance of '%S'.
+tabs.closeWarningMultipleWindowsSessionRestore3=à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸à¸°à¸à¸´à¸ #1 หà¸à¹à¸²à¸à¹à¸²à¸ %S à¹à¸à¹à¸à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸¡à¹à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸°à¸à¸¹à¸à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¹à¸¡à¸·à¹à¸à¸à¸¸à¸à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸«à¸¡à¹
+
+# LOCALIZATION NOTE (tabs.closeWarningMultipleWindowsTabSnippet):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# The singular form is not considered since this string is used only for
+# multiple windows which must contain multiple tabs (in total).
+# This string will be inserted in tabs.closeWarningMultipleWindows2
+tabs.closeWarningMultipleWindowsTabSnippet=à¸à¸±à¸ #1 à¹à¸à¹à¸
+
+# This section applies when quitting using the menu and multiple windows are open.
+# LOCALIZATION NOTE (tabs.closeTitleTabs):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# The forms for 0 or 1 items are not considered since this string is used only for
+# multiple windows. The %S replacement form will be replaced with the contents
+tabs.closeWindowsTitle=à¸à¹à¸à¸à¸à¸²à¸£à¸à¸´à¸ #1 หà¸à¹à¸²à¸à¹à¸²à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+tabs.closeWindowsButton=à¸à¸´à¸à¹à¸¥à¹à¸§à¸à¸à¸
+# Same as tabs.closeWindowsButton, but on Windows
+tabs.closeWindowsButtonWin=à¸à¸´à¸à¹à¸¥à¹à¸§à¸à¸à¸
+
+# LOCALIZATION NOTE (tabs.closeTabsWithKeyTitle and closeTabsWithKeyButton):
+# This section applies when quitting using the keyboard shortcut (Ctrl/Cmd+Q)
+# Windows does not show a prompt on quit when using the keyboard shortcut by
+# default.
+# %S is replaced with brandShorterName
+tabs.closeTabsWithKeyTitle=à¸à¹à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸¥à¹à¸§à¸à¸à¸à¸à¸²à¸ %S หรืà¸à¹à¸¡à¹?
+# %S is replaced with brandShorterName
+tabs.closeTabsWithKeyButton=à¸à¸à¸à¸à¸²à¸ %S
+
+# LOCALIZATION NOTE (tabs.closeTabsWithKeyConfirmCheckbox):
+# %S is replaced with the text of the keyboard shortcut for quitting.
+tabs.closeTabsWithKeyConfirmCheckbox=ยืà¸à¸¢à¸±à¸à¸à¹à¸à¸à¸à¸à¸à¸à¹à¸§à¸¢ %S
+
+# LOCALIZATION NOTE (tabs.closeTabs.tooltip):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs that will be closed. This is ignored for the
+# single tab case in English, but can be used by other locales as necessary.
+tabs.closeTabs.tooltip=à¸à¸´à¸ #1 à¹à¸à¹à¸
+
+# LOCALIZATION NOTE (tabs.muteAudio2.tooltip):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# %S is the keyboard shortcut for "Mute tab".
+# #1 is the number of tabs that will be muted. This is ignored for the
+# single tab case in English, but can be used by other locales as necessary.
+tabs.muteAudio2.tooltip=à¸à¸´à¸à¹à¸ªà¸µà¸¢à¸ #1 à¹à¸à¹à¸ (%S)
+
+# LOCALIZATION NOTE (tabs.unmuteAudio2.tooltip):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# %S is the keyboard shortcut for "Unmute tab".
+# #1 is the number of tabs that will be unmuted. This is ignored for the
+# single tab case in English, but can be used by other locales as necessary.
+tabs.unmuteAudio2.tooltip=à¹à¸à¸´à¸à¹à¸ªà¸µà¸¢à¸ #1 à¹à¸à¹à¸ (%S)
+
+# LOCALIZATION NOTE (tabs.muteAudio2.background.tooltip):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs that will be muted. This is ignored for the
+# single tab case in English, but can be used by other locales as necessary.
+tabs.muteAudio2.background.tooltip=à¸à¸´à¸à¹à¸ªà¸µà¸¢à¸ #1 à¹à¸à¹à¸
+
+# LOCALIZATION NOTE (tabs.unmuteAudio2.background.tooltip):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs that will be unmuted. This is ignored for the
+# single tab case in English, but can be used by other locales as necessary.
+tabs.unmuteAudio2.background.tooltip=à¹à¸à¸´à¸à¹à¸ªà¸µà¸¢à¸ #1 à¹à¸à¹à¸
+
+# LOCALIZATION NOTE (tabs.unblockAudio2.tooltip):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs that will have their audio unblocked. This is ignored for the
+# single tab case in English, but can be used by other locales as necessary.
+tabs.unblockAudio2.tooltip=à¹à¸¥à¹à¸ #1 à¹à¸à¹à¸
+
+# LOCALIZATION NOTE (tabs.containers.tooltip):
+# Displayed as a tooltip on container tabs
+# %1$S is the title of the current tab
+# %2$S is the name of the current container
+tabs.containers.tooltip=%1$S - %2$S
+
+# LOCALIZATION NOTE (tabs.openWarningTitle, tabs.openWarningMultipleBranded, tabs.openButtonMultiple, tabs.openWarningPromptMeBranded):
+# These items are moved from chrome/browser/places/places.properties
+# Now they are not specific to bookmark.
+tabs.openWarningTitle=ยืà¸à¸¢à¸±à¸à¸à¸²à¸£à¹à¸à¸´à¸
+tabs.openWarningMultipleBranded=à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸à¸°à¹à¸à¸´à¸ %S à¹à¸à¹à¸ à¸à¸¶à¹à¸à¸à¸²à¸à¸à¸³à¹à¸«à¹ %S à¸à¹à¸²à¸¥à¸à¸à¸à¸°à¸à¸µà¹à¸«à¸à¹à¸²à¸à¸³à¸¥à¸±à¸à¹à¸«à¸¥à¸ à¸à¸¸à¸à¹à¸à¹à¹à¸à¸«à¸£à¸·à¸à¹à¸¡à¹à¸§à¹à¸²à¸à¹à¸à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸?
+tabs.openButtonMultiple=à¹à¸à¸´à¸à¹à¸à¹à¸
+tabs.openWarningPromptMeBranded=à¹à¸à¸·à¸à¸à¸à¸±à¸à¹à¸¡à¸·à¹à¸à¸à¸²à¸£à¹à¸à¸´à¸à¸«à¸¥à¸²à¸¢à¹à¸à¹à¸à¸à¸²à¸à¸à¸³à¹à¸«à¹ %S à¸à¹à¸²à¸¥à¸
+
+browsewithcaret.checkMsg=à¹à¸¡à¹à¸à¹à¸à¸à¹à¸ªà¸à¸à¸à¸¥à¹à¸à¸à¹à¸à¹à¸à¸à¸à¸à¸µà¹à¹à¸«à¹à¸à¸±à¸à¹à¸«à¹à¸à¸à¸µà¸
+browsewithcaret.checkWindowTitle=à¸à¸²à¸£à¹à¸¥à¸·à¹à¸à¸à¸à¸¹à¸à¹à¸§à¸¢à¹à¸à¹à¸à¸à¸´à¸¡à¸à¹
+browsewithcaret.checkLabel=à¸à¸ F7 à¹à¸à¸·à¹à¸à¹à¸à¸´à¸à¸à¸´à¸à¸à¸²à¸£à¹à¸¥à¸·à¹à¸à¸à¸à¸¹à¹à¸à¸¢à¹à¸à¹à¸à¸à¸´à¸¡à¸à¹ à¹à¸à¸à¸²à¸£à¹à¸¥à¸·à¹à¸à¸à¸à¸¹à¹à¸à¸à¸à¸µà¹ à¸à¸°à¸¡à¸µà¹à¸à¸à¸£à¹à¹à¸à¸à¸£à¹à¸à¸µà¹à¹à¸à¸¥à¸·à¹à¸à¸à¸à¸µà¹à¹à¸à¹à¸à¸¢à¸¹à¹à¸à¸à¸«à¸à¹à¸²à¹à¸§à¹à¸à¸à¸³à¹à¸«à¹à¸à¸¸à¸à¹à¸¥à¸·à¸à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¹à¸§à¸¢à¹à¸à¹à¸à¸à¸´à¸¡à¸à¹à¹à¸à¹ à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸´à¸à¸à¸²à¸£à¹à¸¥à¸·à¹à¸à¸à¸à¸¹à¹à¸à¸¢à¹à¸à¹à¸à¸à¸´à¸¡à¸à¹à¸«à¸£à¸·à¸à¹à¸¡à¹?
diff --git a/browser/chrome/browser/taskbar.properties b/browser/chrome/browser/taskbar.properties
new file mode 100644
index 00000000000..ab5be22ea41
--- /dev/null
+++ b/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=à¹à¸à¸´à¸à¹à¸à¹à¸à¹à¸«à¸¡à¹
+taskbar.tasks.newTab.description=à¹à¸à¸´à¸à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸«à¸¡à¹
+taskbar.tasks.newWindow.label=à¹à¸à¸´à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸«à¸¡à¹
+taskbar.tasks.newWindow.description=à¹à¸à¸´à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸«à¸¡à¹
+taskbar.tasks.newPrivateWindow.label=หà¸à¹à¸²à¸à¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸«à¸¡à¹
+taskbar.tasks.newPrivateWindow.description=à¹à¸à¸´à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸«à¸¡à¹à¹à¸à¹à¸«à¸¡à¸à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¸à¸ªà¹à¸§à¸à¸à¸±à¸§
+taskbar.frequent.label=à¹à¸à¹à¸à¹à¸à¸¢
+taskbar.recent.label=ลà¹à¸²à¸ªà¸¸à¸
diff --git a/browser/chrome/browser/translation.dtd b/browser/chrome/browser/translation.dtd
new file mode 100644
index 00000000000..3437b3ad1b2
--- /dev/null
+++ b/browser/chrome/browser/translation.dtd
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/translation.properties b/browser/chrome/browser/translation.properties
new file mode 100644
index 00000000000..ac1c2513132
--- /dev/null
+++ b/browser/chrome/browser/translation.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/.
+
+# LOCALIZATION NOTE (translation.options.neverForLanguage.label):
+# %S is a language name coming from the global/languageNames.properties file.
+translation.options.neverForLanguage.label=à¹à¸¡à¹à¹à¸à¸¥ %S à¹à¸ªà¸¡à¸
+
+# LOCALIZATION NOTE (translation.options.neverForLanguage.accesskey):
+# The accesskey value used here should not clash with the values used for
+# translation.options.*.accesskey in translation.dtd
+translation.options.neverForLanguage.accesskey=ม
diff --git a/browser/chrome/browser/uiDensity.properties b/browser/chrome/browser/uiDensity.properties
new file mode 100644
index 00000000000..72d6f16a95e
--- /dev/null
+++ b/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=à¹à¸«à¸¡à¸à¹à¸à¹à¸à¹à¸¥à¹à¸à¸à¸¹à¸à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸¢à¸¹à¹
diff --git a/browser/chrome/browser/webrtcIndicator.properties b/browser/chrome/browser/webrtcIndicator.properties
new file mode 100644
index 00000000000..72417775667
--- /dev/null
+++ b/browser/chrome/browser/webrtcIndicator.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 : FILE This file contains the webrtc global indicator strings
+
+# LOCALIZATION NOTE (webrtcIndicator.windowtitle): %S is the brand name (e.g. Firefox).
+# This string is used so that the window has a title in tools that enumerate/look for window
+# titles. It is not normally visible anywhere.
+webrtcIndicator.windowtitle = %S - à¸à¸±à¸§à¸à¹à¸à¸à¸µà¹à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸
+
+webrtcIndicator.sharingCameraAndMicrophone.tooltip = à¸à¸¥à¹à¸à¸à¹à¸¥à¸°à¹à¸¡à¹à¸à¸£à¹à¸à¸à¸à¸à¸à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸à¸¹à¸à¹à¸à¹à¸à¸à¸±à¸ à¸à¸¥à¸´à¸à¹à¸à¸·à¹à¸à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸
+webrtcIndicator.sharingCamera.tooltip = à¸à¸¥à¹à¸à¸à¸à¸à¸à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸à¸¹à¸à¹à¸à¹à¸à¸à¸±à¸ à¸à¸¥à¸´à¸à¹à¸à¸·à¹à¸à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸
+webrtcIndicator.sharingMicrophone.tooltip = à¹à¸¡à¹à¸à¸£à¹à¸à¸à¸à¸à¸à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸à¸¹à¸à¹à¸à¹à¸à¸à¸±à¸ à¸à¸¥à¸´à¸à¹à¸à¸·à¹à¸à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸
+webrtcIndicator.sharingApplication.tooltip = à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸³à¸¥à¸±à¸à¸à¸¹à¸à¹à¸à¹à¸à¸à¸±à¸ à¸à¸¥à¸´à¸à¹à¸à¸·à¹à¸à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸
+webrtcIndicator.sharingScreen.tooltip = หà¸à¹à¸²à¸à¸à¸à¸à¸à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸à¸¹à¸à¹à¸à¹à¸à¸à¸±à¸ à¸à¸¥à¸´à¸à¹à¸à¸·à¹à¸à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸
+webrtcIndicator.sharingWindow.tooltip = หà¸à¹à¸²à¸à¹à¸²à¸à¸à¸³à¸¥à¸±à¸à¸à¸¹à¸à¹à¸à¹à¸à¸à¸±à¸ à¸à¸¥à¸´à¸à¹à¸à¸·à¹à¸à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸
+webrtcIndicator.sharingBrowser.tooltip = à¹à¸à¹à¸à¸à¸³à¸¥à¸±à¸à¸à¸¹à¸à¹à¸à¹à¸à¸à¸±à¸ à¸à¸¥à¸´à¸à¹à¸à¸·à¹à¸à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸
+
+
+# LOCALIZATION NOTE : The following strings are only used on Mac for
+# menus attached to icons near the clock on the mac menubar.
+
+# LOCALIZATION NOTE (webrtcIndicator.sharing*With.menuitem):
+# %S is the title of the tab using the share.
+webrtcIndicator.sharingCameraWith.menuitem = à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸à¸à¸±à¸à¸à¸¥à¹à¸à¸à¸à¸±à¸ â%Sâ
+webrtcIndicator.sharingMicrophoneWith.menuitem = à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸à¸à¸±à¸à¹à¸¡à¹à¸à¸£à¹à¸à¸à¸à¸±à¸ â%Sâ
+webrtcIndicator.sharingApplicationWith.menuitem = à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸à¸à¸±à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸±à¸ â%Sâ
+webrtcIndicator.sharingScreenWith.menuitem = à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸à¸à¸±à¸à¸«à¸à¹à¸²à¸à¸à¸à¸±à¸ â%Sâ
+webrtcIndicator.sharingWindowWith.menuitem = à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸à¸à¸±à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¸±à¸ â%Sâ
+webrtcIndicator.sharingBrowserWith.menuitem = à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸à¸à¸±à¸à¹à¸à¹à¸à¸à¸±à¸ â%Sâ
+webrtcIndicator.controlSharing.menuitem = à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸
+# LOCALIZATION NOTE (webrtcIndicator.sharingCameraWithNTabs.menuitem):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+webrtcIndicator.sharingCameraWithNTabs.menuitem = à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸à¸à¸±à¸à¸à¸¥à¹à¸à¸à¸à¸±à¸ #1 à¹à¸à¹à¸
+# LOCALIZATION NOTE (webrtcIndicator.sharingMicrophoneWithNTabs.menuitem):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+webrtcIndicator.sharingMicrophoneWithNTabs.menuitem = à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸à¸à¸±à¸à¹à¸¡à¹à¸à¸£à¹à¸à¸à¸à¸±à¸ #1 à¹à¸à¹à¸
+# LOCALIZATION NOTE (webrtcIndicator.sharingApplicationWithNTabs.menuitem):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+webrtcIndicator.sharingApplicationWithNTabs.menuitem = à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸à¸à¸±à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸±à¸ #1 à¹à¸à¹à¸
+# LOCALIZATION NOTE (webrtcIndicator.sharingScreenWithNTabs.menuitem):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+webrtcIndicator.sharingScreenWithNTabs.menuitem = à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸à¸à¸±à¸à¸«à¸à¹à¸²à¸à¸à¸à¸±à¸ #1 à¹à¸à¹à¸
+# LOCALIZATION NOTE (webrtcIndicator.sharingWindowWithNTabs.menuitem):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+webrtcIndicator.sharingWindowWithNTabs.menuitem = à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸à¸à¸±à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¸±à¸ #1 à¹à¸à¹à¸
+# LOCALIZATION NOTE (webrtcIndicator.sharingBrowserWithNTabs.menuitem):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This message is shown when the contents of a tab is shared during a WebRTC
+# session, which currently is only possible with Loop/Hello.
+webrtcIndicator.sharingBrowserWithNTabs.menuitem = à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸à¸à¸±à¸à¹à¸à¹à¸à¸à¸±à¸ #1 à¹à¸à¹à¸
+# LOCALIZATION NOTE (webrtcIndicator.controlSharingOn.menuitem):
+# %S is the title of the tab using the share.
+webrtcIndicator.controlSharingOn.menuitem = à¸à¸§à¸à¸à¸¸à¸¡à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸à¸à¸ â%Sâ
diff --git a/browser/chrome/overrides/appstrings.properties b/browser/chrome/overrides/appstrings.properties
new file mode 100644
index 00000000000..16f7c5039fc
--- /dev/null
+++ b/browser/chrome/overrides/appstrings.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/.
+
+malformedURI2=à¹à¸à¸£à¸à¸à¸£à¸§à¸à¸ªà¸à¸à¸§à¹à¸² URL à¸à¸¹à¸à¸à¹à¸à¸à¹à¸¥à¸°à¸¥à¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸
+fileNotFound=Firefox à¹à¸¡à¹à¸à¸à¹à¸à¸¥à¹à¸à¸µà¹ %S
+fileAccessDenied=à¹à¸à¸¥à¹à¸à¸µà¹ %S à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¹à¸²à¸à¹à¸à¹
+dnsNotFound2=à¹à¸£à¸²à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸µà¹ %S
+unknownProtocolFound=Firefox à¹à¸¡à¹à¸à¸£à¸²à¸à¸§à¸´à¸à¸µà¹à¸à¸´à¸à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸µà¹ à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸«à¸à¸¶à¹à¸à¹à¸à¹à¸à¸£à¹à¸à¸à¸à¸¥à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹ (%S) à¹à¸¡à¹à¸ªà¸±à¸¡à¸à¸±à¸à¸à¹à¸à¸±à¸à¹à¸à¸£à¹à¸à¸£à¸¡à¹à¸ ๠หรืà¸à¹à¸¡à¹à¸à¸à¸¸à¸à¸²à¸à¹à¸à¸à¸£à¸´à¸à¸à¸à¸µà¹
+connectionFailure=Firefox à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¸£à¹à¸²à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸à¸¢à¸±à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸µà¹ %S
+netInterrupt=à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸à¸¢à¸±à¸ %S à¸à¸¹à¸à¸à¸±à¸à¸à¸±à¸à¸«à¸§à¸°à¸à¸à¸°à¸à¸µà¹à¸«à¸à¹à¸²à¸à¸³à¸¥à¸±à¸à¹à¸«à¸¥à¸
+netTimeout=à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸µà¹ %S à¹à¸à¹à¹à¸§à¸¥à¸²à¸à¸à¸à¸ªà¸à¸à¸à¸à¸²à¸à¹à¸à¸´à¸à¹à¸
+redirectLoop=Firefox à¸à¸£à¸§à¸à¸à¸à¸§à¹à¸²à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸³à¸¥à¸±à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸ªà¹à¸à¸à¸²à¸à¸à¸³à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸µà¹à¹à¸à¸à¸²à¸à¸à¸µà¹à¹à¸¡à¹à¸¡à¸µà¸§à¸±à¸à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹
+## LOCALIZATION NOTE (confirmRepostPrompt): In this item, donât translate "%S"
+confirmRepostPrompt=à¹à¸à¸·à¹à¸à¹à¸ªà¸à¸à¸à¸¥à¸«à¸à¹à¸²à¸à¸µà¹ %S à¸à¸°à¸à¹à¸à¸à¸ªà¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸¶à¹à¸à¸à¸°à¸à¸³à¸à¹à¸³à¸à¸²à¸£à¸à¸£à¸°à¸à¸³à¹à¸ ๠(à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸ à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸«à¸£à¸·à¸à¸à¸²à¸£à¸¢à¸·à¸à¸¢à¸±à¸à¸à¸³à¸ªà¸±à¹à¸à¸à¸·à¹à¸) à¸à¸µà¹à¹à¸à¹à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¹à¸§à¹à¸à¹à¸à¸à¸«à¸à¹à¸²à¸à¸µà¹
+resendButton.label=สà¹à¸à¹à¸«à¸¡à¹
+unknownSocketType=Firefox à¹à¸¡à¹à¸à¸£à¸²à¸à¸§à¹à¸²à¸à¸°à¸ªà¸·à¹à¸à¸ªà¸²à¸£à¸à¸±à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸¢à¹à¸²à¸à¹à¸£
+netReset=à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸à¸¢à¸±à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸¹à¸à¸à¸±à¸à¸à¸à¸°à¸à¸µà¹à¸«à¸à¹à¸²à¸à¸³à¸¥à¸±à¸à¹à¸«à¸¥à¸
+notCached=à¹à¸¡à¹à¸¡à¸µà¹à¸à¸à¸ªà¸²à¸£à¸à¸µà¹à¸à¸µà¸à¸à¹à¸à¹à¸
+netOffline=à¸à¸à¸°à¸à¸µà¹ Firefox à¸à¸¢à¸¹à¹à¹à¸à¹à¸«à¸¡à¸à¸à¸à¸à¹à¸¥à¸à¹à¹à¸¥à¸°à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¹
+isprinting=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¹à¸à¸à¸ªà¸²à¸£à¸à¸à¸°à¸à¸³à¸¥à¸±à¸à¸à¸´à¸¡à¸à¹à¸«à¸£à¸·à¸à¸à¸¢à¸¹à¹à¹à¸à¸à¸±à¸§à¸à¸¢à¹à¸²à¸à¸à¹à¸à¸à¸à¸´à¸¡à¸à¹
+deniedPortAccess=à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸µà¹à¹à¸à¹à¸à¸à¸£à¹à¸à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢à¸à¸¶à¹à¸à¸à¸à¸à¸´à¹à¸à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸§à¸±à¸à¸à¸¸à¸à¸£à¸°à¸ªà¸à¸à¹à¸à¸·à¹à¸à¸à¸à¸à¹à¸«à¸à¸·à¸à¸à¸²à¸à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸§à¹à¸ Firefox à¹à¸à¹à¸¢à¸à¹à¸¥à¸´à¸à¸à¸³à¸à¸à¸à¸±à¸à¸à¸¥à¹à¸²à¸§à¹à¸à¸·à¹à¸à¸à¸à¸à¹à¸à¸à¸à¸¸à¸
+proxyResolveFailure=Firefox à¸à¸¹à¸à¸à¸³à¸«à¸à¸à¸à¹à¸²à¹à¸«à¹à¹à¸à¹à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸£à¹à¸à¸à¸à¸µà¸à¸µà¹à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸«à¸²à¸à¸
+proxyConnectFailure=Firefox à¸à¸¹à¸à¸à¸³à¸«à¸à¸à¸à¹à¸²à¹à¸«à¹à¹à¸à¹à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸£à¹à¸à¸à¸à¸µà¸à¸µà¹à¸à¸à¸´à¹à¸ªà¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸
+contentEncodingError=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸ªà¸à¸à¸«à¸à¹à¸²à¸à¸µà¹à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸°à¸à¸¹à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸«à¸à¹à¸²à¹à¸à¹à¸£à¸¹à¸à¹à¸à¸à¸à¸²à¸£à¸à¸µà¸à¸à¸±à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸
+unsafeContentType=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸ªà¸à¸à¸«à¸à¹à¸²à¸à¸µà¹à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸°à¸à¸¹à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸«à¸à¹à¸²à¸¡à¸µà¸à¸à¸´à¸à¹à¸à¸¥à¹à¸à¸µà¹à¸à¸²à¸à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัยà¸à¸µà¹à¸à¸°à¹à¸à¸´à¸ à¹à¸à¸£à¸à¸à¸´à¸à¸à¹à¸à¹à¸à¹à¸²à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸à¸·à¹à¸à¹à¸à¹à¸à¸à¸§à¸à¹à¸à¸²à¹à¸«à¹à¸à¸£à¸²à¸à¸à¸¶à¸à¸à¸±à¸à¸«à¸²à¸à¸µà¹
+externalProtocolTitle=à¸à¸³à¸à¸à¹à¸à¸£à¹à¸à¸à¸à¸¥à¸ ายà¸à¸à¸
+externalProtocolPrompt=à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸ ายà¸à¸à¸à¸à¹à¸à¸à¸à¸¹à¸à¹à¸à¸´à¸à¹à¸à¸·à¹à¸à¸à¸±à¸à¸à¸²à¸£à¸à¸±à¸ %1$S: ลิà¸à¸à¹\n\n\nลิà¸à¸à¹à¸à¸µà¹à¸à¸:\n\n%2$S\n\nà¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸: %3$S\n\n\nหาà¸à¸à¸¸à¸à¹à¸¡à¹à¹à¸à¹à¸à¸²à¸à¸«à¸§à¸±à¸à¸à¸³à¸à¸à¸à¸µà¹ มัà¸à¸à¸²à¸à¸à¸°à¹à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸¢à¸²à¸¢à¸²à¸¡à¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸°à¹à¸¢à¸à¸à¹à¸à¸²à¸à¸à¸¸à¸à¸à¹à¸à¸à¹à¸à¹à¸à¸£à¹à¸à¸£à¸¡à¸à¸·à¹à¸à¸à¸±à¹à¸ ยà¸à¹à¸¥à¸´à¸à¸à¸³à¸à¸à¸à¸µà¹à¹à¸§à¹à¸à¹à¸à¹à¸à¸¸à¸à¸à¸°à¹à¸à¹à¹à¸à¸§à¹à¸²à¸à¸³à¸à¸à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¸à¸£à¸°à¸ªà¸à¸à¹à¸£à¹à¸²à¸¢\n
+#LOCALIZATION NOTE (externalProtocolUnknown): The following string is shown if the application name can't be determined
+externalProtocolUnknown=<à¹à¸¡à¹à¸à¸£à¸²à¸>
+externalProtocolChkMsg=à¸à¸à¸à¸³à¸à¸²à¸£à¹à¸¥à¸·à¸à¸à¸à¸à¸à¸à¸±à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸¥à¸´à¸à¸à¹à¸à¸£à¸°à¹à¸ à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸¡à¸
+externalProtocolLaunchBtn=à¹à¸à¸´à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸
+malwareBlocked=à¹à¸à¸à¹à¸à¸µà¹ %S à¸à¸¹à¸à¸£à¸²à¸¢à¸à¸²à¸à¸§à¹à¸²à¹à¸à¹à¸à¹à¸à¸à¹à¸£à¸¸à¸à¸£à¸²à¸à¹à¸¥à¸°à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸¡à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¸à¸¸à¸
+harmfulBlocked=à¹à¸à¸à¹à¸à¸µà¹ %S à¸à¸¹à¸à¸£à¸²à¸¢à¸à¸²à¸à¸§à¹à¸²à¹à¸à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸²à¸à¹à¸à¹à¸à¸à¸±à¸à¸à¸£à¸²à¸¢à¹à¸¥à¸°à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸¡à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¸à¸¸à¸
+unwantedBlocked=à¹à¸à¸à¹à¸à¸µà¹ %S à¸à¸¹à¸à¸£à¸²à¸¢à¸à¸²à¸à¸§à¹à¸²à¹à¸à¸à¸à¹à¸²à¸¢à¸à¸à¸à¸à¹à¹à¸§à¸£à¹à¹à¸¡à¹à¸à¸¶à¸à¸à¸£à¸°à¸ªà¸à¸à¹à¹à¸¥à¸°à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸¡à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¸à¸¸à¸
+deceptiveBlocked=หà¸à¹à¸²à¹à¸§à¹à¸à¸à¸µà¹à¸à¸µà¹ %S à¸à¸¹à¸à¸£à¸²à¸¢à¸à¸²à¸à¸§à¹à¸²à¹à¸à¹à¸à¹à¸à¸à¹à¸«à¸¥à¸à¸à¸¥à¸§à¸à¹à¸¥à¸°à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸¡à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¸à¸¸à¸
+cspBlocked=หà¸à¹à¸²à¸à¸µà¹à¸¡à¸µà¸à¹à¸¢à¸à¸²à¸¢à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸µà¹à¸à¹à¸à¸à¸à¸±à¸à¹à¸¡à¹à¹à¸«à¹à¸«à¸à¹à¸²à¸à¸¹à¸à¹à¸«à¸¥à¸à¸à¹à¸§à¸¢à¸§à¸´à¸à¸µà¸à¸µà¹
+xfoBlocked=หà¸à¹à¸²à¸à¸µà¹à¸¡à¸µà¸à¹à¸¢à¸à¸²à¸¢ X-Frame-Options à¸à¸µà¹à¸à¹à¸à¸à¸à¸±à¸à¹à¸¡à¹à¹à¸«à¹à¸«à¸à¹à¸²à¸à¸¹à¸à¹à¸«à¸¥à¸à¹à¸à¸à¸£à¸´à¸à¸à¸à¸µà¹
+corruptedContentErrorv2=à¹à¸à¸à¹à¸à¸µà¹ %S à¹à¸à¹à¸à¸à¸à¸²à¸£à¸¥à¸°à¹à¸¡à¸´à¸à¹à¸à¸£à¹à¸à¸à¸à¸¥à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢à¸à¸µà¹à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¹à¸à¸¡à¹à¸à¸¡à¹à¸à¹
+remoteXUL=หà¸à¹à¸²à¸à¸µà¹à¹à¸à¹à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µà¸à¸µà¹à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¸à¸¶à¹à¸à¹à¸¡à¹à¸¡à¸µà¹à¸«à¹à¹à¸à¹à¹à¸à¸¢à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸µà¸à¸à¹à¸à¹à¸à¹à¸ Firefox
+## LOCALIZATION NOTE (sslv3Used) - Do not translate "%S".
+sslv3Used=Firefox à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸±à¸à¸à¸£à¸°à¸à¸±à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¸à¸¸à¸à¸à¸ %S à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¹à¸à¹ SSLv3 à¸à¸¶à¹à¸à¹à¸à¹à¸à¹à¸à¸£à¹à¸à¸à¸à¸¥à¸à¸µà¹à¸¡à¸µà¸à¸±à¸à¸«à¸²à¸à¹à¸²à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย
+inadequateSecurityError=à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸°à¹à¸¥à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¸£à¸°à¸à¸±à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸µà¹à¹à¸¡à¹à¹à¸à¸µà¸¢à¸à¸à¸
+blockedByPolicy=à¸à¸à¸à¹à¸à¸£à¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸«à¸à¹à¸²à¸«à¸£à¸·à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹
+networkProtocolError=Firefox à¹à¸à¹à¸à¸à¸à¸²à¸£à¸¥à¸°à¹à¸¡à¸´à¸à¹à¸à¸£à¹à¸à¸à¸à¸¥à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢à¸à¸µà¹à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¹à¸à¸¡à¹à¸à¸¡à¹à¸à¹
diff --git a/browser/chrome/overrides/netError.dtd b/browser/chrome/overrides/netError.dtd
new file mode 100644
index 00000000000..c685fca2a56
--- /dev/null
+++ b/browser/chrome/overrides/netError.dtd
@@ -0,0 +1,143 @@
+
+
+
+%brandDTD;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+หาà¸à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸±à¹à¸à¸à¸¹à¸à¸à¹à¸à¸ à¸à¸µà¹à¸à¸·à¸à¸ªà¸²à¸¡à¸ªà¸´à¹à¸à¸à¸·à¹à¸ ๠à¸à¸µà¹à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸¥à¸à¸:
+
+ - ลà¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸à¹à¸à¸ ายหลัà¸
+ - à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢à¸à¸à¸à¸à¸¸à¸
+ - หาà¸à¸à¸¸à¸à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸¢à¸¹à¹à¹à¸à¹à¸à¸¢à¸¹à¹à¸«à¸¥à¸±à¸à¹à¸à¸£à¹à¸§à¸à¸¥à¸¥à¹ à¸à¸£à¸§à¸à¸ªà¸à¸à¸§à¹à¸² &brandShortName; มีà¸à¸²à¸£à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸§à¹à¸
+
+">
+
+ à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸·à¹à¸à¹à¸à¸¥à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸±à¸§à¸à¸´à¸¡à¸à¹à¹à¸«à¸à¹à¹à¸¥à¹à¸à¸«à¸£à¸·à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸²à¸£à¸à¸´à¸¡à¸à¹à¸à¸·à¹à¸ ๠à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸à¸·à¹à¸à¸à¸¹à¸«à¸²à¸à¹à¸à¸¥à¹à¸à¸¹à¸à¸¢à¹à¸²à¸¢ à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸·à¹à¸ หรืà¸à¸¥à¸ ">
+
+ à¹à¸à¸¥à¹à¸à¸²à¸à¸à¸¹à¸à¹à¸à¸²à¸à¸à¸ ยà¹à¸²à¸¢ หรืà¸à¸ªà¸´à¸à¸à¸´à¸à¸à¸¸à¸à¸²à¸à¸à¸à¸à¹à¸à¸¥à¹à¸à¸²à¸à¸à¹à¸à¸à¸à¸±à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸ ">
+
+&brandShortName; à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸«à¸¥à¸à¸«à¸à¹à¸²à¸à¸µà¹à¹à¸à¹à¸à¹à¸§à¸¢à¹à¸«à¸à¸¸à¸à¸¥à¸à¸²à¸à¸à¸¢à¹à¸²à¸
">
+
+
+à¸à¸¸à¸à¸à¹à¸à¸à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢à¸à¸µà¹à¸à¹à¸à¸à¸à¸µà¹à¸à¸¸à¸à¸à¸°à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸´à¸à¹à¸à¸à¸£à¹à¹à¸à¹à¸
+">
+
+
+
+
+
+
+
+à¹à¸à¸à¸ªà¸²à¸£à¸à¸µà¹à¸à¸à¹à¸¡à¹à¸¡à¸µà¹à¸à¹à¸à¸à¸à¸à¸ &brandShortName;- à¸à¸²à¸¡à¸¡à¸²à¸à¸£à¸à¸²à¸£à¸£à¸±à¸à¸©à¸²à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย &brandShortName; à¸à¸°à¹à¸¡à¹à¸à¸à¹à¸à¸à¸ªà¸²à¸£à¸à¸µà¹à¸¥à¸°à¹à¸à¸µà¸¢à¸à¸à¹à¸à¸à¹à¸«à¹à¹à¸«à¸¡à¹à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
- à¸à¸¥à¸´à¸ ลà¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸ à¹à¸à¸·à¹à¸à¸à¸à¹à¸à¸à¸ªà¸²à¸£à¸à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸«à¸¡à¹
">
+
+ à¸à¸ "ลà¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸" à¹à¸à¸·à¹à¸à¸ªà¸¥à¸±à¸à¹à¸à¹à¸à¹à¸«à¸¡à¸à¸à¸à¸à¹à¸¥à¸à¹à¹à¸¥à¸°à¹à¸«à¸¥à¸à¸«à¸à¹à¸²à¹à¸«à¸¡à¹ ">
+
+ à¹à¸à¸£à¸à¸à¸´à¸à¸à¹à¸à¹à¸à¹à¸²à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸à¸·à¹à¸à¹à¸à¹à¸à¸à¸§à¸à¹à¸à¸²à¹à¸«à¹à¸à¸£à¸²à¸à¸à¸¶à¸à¸à¸±à¸à¸«à¸²à¸à¸µà¹ ">
+
+ à¹à¸à¸£à¸à¸à¸´à¸à¸à¹à¸à¹à¸à¹à¸²à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸à¸·à¹à¸à¹à¸à¹à¸à¸à¸§à¸à¹à¸à¸²à¹à¸«à¹à¸à¸£à¸²à¸à¸à¸¶à¸à¸à¸±à¸à¸«à¸²à¸à¸µà¹ ">
+
+
+
+
+
+ à¸à¸¸à¸à¸à¸²à¸à¸à¸³à¹à¸à¹à¸à¸à¹à¸à¸à¸à¸´à¸à¸à¸±à¹à¸à¸à¸à¸à¸à¹à¹à¸§à¸£à¹à¸à¸·à¹à¸à¹à¸à¸·à¹à¸à¹à¸à¸´à¸à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸µà¹ ">
+
+ à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸«à¹à¹à¸à¹à¹à¸à¸§à¹à¸²à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸£à¹à¸à¸à¸à¸µà¸à¸¹à¸à¸à¹à¸à¸ à¸à¸´à¸à¸à¹à¸à¸à¸¹à¹à¸à¸¹à¹à¸¥à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢à¸à¸à¸à¸à¸¸à¸à¹à¸à¸·à¹à¸à¹à¸«à¹à¹à¸à¹à¹à¸à¸§à¹à¸²à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸£à¹à¸à¸à¸à¸µà¸à¸³à¸¥à¸±à¸à¸à¸³à¸à¸²à¸à¸à¸¢à¸¹à¹ ">
+
+ à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸«à¹à¹à¸à¹à¹à¸à¸§à¹à¸²à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸£à¹à¸à¸à¸à¸µà¸à¸¹à¸à¸à¹à¸à¸ à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸«à¹à¹à¸à¹à¹à¸à¸§à¹à¸²à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¸¡à¸µà¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢à¸à¸µà¹à¸à¸³à¸à¸²à¸à¹à¸à¹ หาà¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸«à¸£à¸·à¸à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢à¸à¸à¸à¸à¸¸à¸à¸à¸¹à¸à¸à¸à¸à¹à¸à¸à¸à¹à¸§à¸¢à¹à¸à¸£à¹à¸§à¸à¸¥à¸¥à¹à¸«à¸£à¸·à¸à¸à¸£à¹à¸à¸à¸à¸µ à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸«à¹à¹à¸à¹à¹à¸à¸§à¹à¸² &brandShortName; à¹à¸à¹à¸£à¸±à¸à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸§à¹à¸ ">
+
+ à¸à¸±à¸à¸«à¸²à¸à¸µà¹à¸à¸²à¸à¸à¸£à¸±à¹à¸à¸à¸²à¸à¸¡à¸µà¸ªà¸²à¹à¸«à¸à¸¸à¸¡à¸²à¸à¸²à¸à¸à¸²à¸£à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸«à¸£à¸·à¸à¸à¸à¸´à¹à¸ªà¸à¸à¸²à¸£à¸¢à¸à¸¡à¸£à¸±à¸à¸à¸¸à¸à¸à¸µà¹ ">
+
+ à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸«à¹à¹à¸à¹à¹à¸à¸§à¹à¸²à¸£à¸°à¸à¸à¸à¸à¸à¸à¸¸à¸à¸¡à¸µà¸à¸±à¸§à¸à¸±à¸à¸à¸²à¸£à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยสà¹à¸§à¸à¸à¸¸à¸à¸à¸¥à¸à¸´à¸à¸à¸±à¹à¸à¸à¸¢à¸¹à¹ สิà¹à¸à¸à¸µà¹à¸à¸²à¸à¹à¸à¸´à¸à¸à¸²à¸à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸à¸µà¹à¹à¸¡à¹à¸¡à¸²à¸à¸£à¸à¸²à¸à¸à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹ ">
+
+ à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸ªà¸à¸à¸«à¸à¹à¸²à¸à¸µà¹à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸°à¸à¸¹à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸¢à¸·à¸à¸¢à¸±à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸à¸à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¹à¸à¹à¸£à¸±à¸ à¹à¸à¸£à¸à¸à¸´à¸à¸à¹à¸à¹à¸à¹à¸²à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸à¸·à¹à¸à¹à¸à¹à¸à¸à¸§à¸à¹à¸à¸²à¹à¸«à¹à¸à¸£à¸²à¸à¸à¸¶à¸à¸à¸±à¸à¸«à¸²à¸à¸µà¹ ">
+
+
+ à¸à¹à¸²à¸à¸¸à¸à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡à¹à¸à¸à¹à¸à¸µà¹ à¸à¸¹à¹à¹à¸à¸¡à¸à¸µà¸à¸²à¸à¸à¸¢à¸²à¸¢à¸²à¸¡à¸¥à¹à¸§à¸à¸à¹à¸à¸¡à¸¹à¸¥ à¹à¸à¹à¸ รหัสà¸à¹à¸²à¸ à¸à¸µà¹à¸¡à¸¥ หรืà¸à¸£à¸²à¸¢à¸¥à¸°à¹à¸à¸µà¸¢à¸à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸à¸à¸à¸à¸à¸¸à¸">
+ à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸µà¹à¸à¸¥à¸à¸à¸ ัย">
+
+ à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸²à¸à¸à¸¹à¸à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸à¸¢à¹à¸²à¸à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸à¸«à¸£à¸·à¸à¸à¸²à¸¬à¸´à¸à¸²à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¸à¸¹à¸à¸à¸±à¹à¸à¸à¹à¸²à¹à¸à¹à¸à¹à¸§à¸¥à¸²à¸à¸µà¹à¸à¸´à¸">
+
+
+
+
+
+à¸à¸±à¸à¸«à¸²à¸à¸µà¹à¸¡à¸±à¸à¹à¸à¸´à¸à¸à¸¶à¹à¸à¸à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹ à¹à¸¥à¸°à¹à¸¡à¹à¸¡à¸µà¸§à¸´à¸à¸µà¹à¸à¸à¸µà¹à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¸±à¸à¸«à¸²à¸à¸µà¹à¹à¸à¹
+à¸à¹à¸²à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢à¸à¸£à¸´à¸©à¸±à¸à¸«à¸£à¸·à¸à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸à¸à¸à¸à¹à¹à¸§à¸£à¹à¸à¹à¸à¸à¸à¸±à¸à¹à¸§à¸£à¸±à¸ª à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¹à¸à¸à¸à¸à¸§à¸²à¸¡à¸à¹à¸§à¸¢à¹à¸«à¸¥à¸·à¸à¸à¸²à¸à¸à¸µà¸¡à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¹à¸à¹ à¸à¸¸à¸à¸¢à¸±à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¹à¸«à¹à¸à¸¹à¹à¸à¸¹à¹à¸¥à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸£à¸²à¸à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸±à¸à¸«à¸²à¸à¸µà¹à¹à¸à¹
+">
+
+à¸à¸²à¸¬à¸´à¸à¸²à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¸à¸¹à¸à¸à¸±à¹à¸à¸à¹à¸²à¹à¸à¹à¸ à¸à¸£à¸§à¸à¹à¸«à¹à¹à¸à¹à¹à¸à¸§à¹à¸²à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¸à¸¹à¸à¸à¸±à¹à¸à¸à¹à¸²à¹à¸à¹à¸à¸§à¸±à¸à¸à¸µà¹ à¹à¸§à¸¥à¸² à¹à¸¥à¸°à¹à¸à¸à¹à¸§à¸¥à¸²à¸à¸µà¹à¸à¸¹à¸à¸à¹à¸à¸à¹à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸£à¸°à¸à¸à¸à¸à¸à¸à¸¸à¸ à¹à¸¥à¹à¸§à¸¥à¸à¸à¸£à¸µà¹à¸à¸£à¸
+à¸à¹à¸²à¸à¸²à¸¬à¸´à¸à¸²à¸à¸à¸à¸à¸¸à¸à¸à¸¹à¸à¸à¸±à¹à¸à¸à¹à¸²à¹à¸à¹à¸à¹à¸§à¸¥à¸²à¸à¸µà¹à¸à¸¹à¸à¸à¹à¸à¸à¸à¸¢à¸¹à¹à¹à¸¥à¹à¸§ à¹à¸ªà¸à¸à¸§à¹à¸²à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸²à¸à¸à¸°à¸à¸¹à¸à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸à¸¢à¹à¸²à¸à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸ à¹à¸¥à¸°à¹à¸¡à¹à¸¡à¸µà¸§à¸´à¸à¸µà¹à¸à¸à¸µà¹à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¸±à¸à¸«à¸²à¸à¸µà¹à¹à¸à¹ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¹à¸«à¹à¸à¸¹à¹à¸à¸¹à¹à¸¥à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸£à¸²à¸à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸±à¸à¸«à¸²à¸à¸µà¹à¹à¸à¹
+">
+
+à¸à¸±à¸à¸«à¸²à¸à¸µà¹à¸¡à¸±à¸à¹à¸à¸´à¸à¸à¸¶à¹à¸à¸à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹ à¹à¸¥à¸°à¹à¸¡à¹à¸¡à¸µà¸§à¸´à¸à¸µà¹à¸à¸à¸µà¹à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¸±à¸à¸«à¸²à¸à¸µà¹à¹à¸à¹ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¹à¸«à¹à¸à¸¹à¹à¸à¸¹à¹à¸¥à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸£à¸²à¸à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸±à¸à¸«à¸²à¸à¸µà¹à¹à¸à¹
+">
+
+ à¹à¸à¸à¹à¸à¸²à¸à¹à¸¡à¹à¸à¸£à¹à¸à¸¡à¹à¸à¹à¸à¸²à¸à¸à¸±à¹à¸§à¸à¸£à¸²à¸§à¸«à¸£à¸·à¸à¸à¸³à¸¥à¸±à¸à¸à¸³à¸à¸²à¸à¸«à¸à¸±à¸à¹à¸à¸´à¸à¹à¸ ลà¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸à¹à¸à¸à¸µà¸à¸ªà¸±à¸à¸à¸£à¸¹à¹ หาà¸à¸à¸¸à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸«à¸¥à¸à¸«à¸à¹à¸²à¹à¸ ๠à¹à¸à¹ à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢à¸à¸à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸ หาà¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸«à¸£à¸·à¸à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢à¸à¸à¸à¸à¸¸à¸à¸à¸¹à¸à¸à¸à¸à¹à¸à¸à¸à¹à¸§à¸¢à¹à¸à¸£à¹à¸§à¸à¸¥à¸¥à¹à¸«à¸£à¸·à¸à¸à¸£à¹à¸à¸à¸à¸µ à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸«à¹à¹à¸à¹à¹à¸à¸§à¹à¸² &brandShortName; à¹à¸à¹à¸£à¸±à¸à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸§à¹à¸ ">
+
+&brandShortName; à¹à¸à¹à¸à¹à¸à¸à¸à¸±à¸à¹à¸¡à¹à¹à¸«à¹à¸«à¸à¹à¸²à¸à¸µà¹à¹à¸«à¸¥à¸à¸à¹à¸§à¸¢à¸§à¸´à¸à¸µà¸à¸µà¹à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸«à¸à¹à¸²à¸¡à¸µà¸à¹à¸¢à¸à¸²à¸¢à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸µà¹à¹à¸¡à¹à¸à¸à¸¸à¸à¸²à¸">
+
+&brandShortName; à¹à¸à¹à¸à¹à¸à¸à¸à¸±à¸à¸«à¸à¹à¸²à¸à¸µà¹à¸à¸²à¸à¸à¸²à¸£à¹à¸«à¸¥à¸à¹à¸à¸à¸£à¸´à¸à¸à¸à¸µà¹à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸«à¸à¹à¸²à¸¡à¸µà¸à¹à¸¢à¸à¸²à¸¢ X-Frame-Options à¸à¸µà¹à¹à¸¡à¹à¸à¸à¸¸à¸à¸²à¸">
+
+à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸ªà¸à¸à¸«à¸à¹à¸²à¸à¸µà¹à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸°à¸à¸¹à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸£à¸§à¸à¸à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸à¸²à¸£à¸ªà¹à¸à¸à¹à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥- à¹à¸à¸£à¸à¸à¸´à¸à¸à¹à¸à¹à¸à¹à¸²à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸à¸·à¹à¸à¹à¸à¹à¸à¸à¸§à¸à¹à¸à¸²à¹à¸«à¹à¸à¸£à¸²à¸à¸à¸¶à¸à¸à¸±à¸à¸«à¸²à¸à¸µà¹
">
+
+
+
+
+
+
+- à¹à¸à¸£à¸à¸à¸´à¸à¸à¹à¸à¹à¸à¹à¸²à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸à¸·à¹à¸à¹à¸à¹à¸à¸à¸§à¸à¹à¸à¸²à¹à¸«à¹à¸à¸£à¸²à¸à¸à¸¶à¸à¸à¸±à¸à¸«à¸²à¸à¸µà¹
">
+
+
+
+
+
+
+ มีà¸à¹à¸¢à¸à¸²à¸¢à¸à¸²à¸£à¸£à¸±à¸à¸©à¸²à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸µà¹à¹à¸£à¸µà¸¢à¸à¸§à¹à¸² HTTP Strict Transport Security (HSTS) à¸à¸¶à¹à¸à¸«à¸¡à¸²à¸¢à¸à¸§à¸²à¸¡à¸§à¹à¸² &brandShortName; สามารà¸à¸à¸³à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸à¹à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัยà¹à¸à¹à¸²à¸à¸±à¹à¸ à¸à¸¸à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸´à¹à¸¡à¸à¹à¸à¸¢à¸à¹à¸§à¹à¸à¹à¸à¸·à¹à¸à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡à¹à¸à¸à¹à¸à¸µà¹à¹à¸à¹">
+
+
+
+ à¹à¸à¹à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µà¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸µà¹à¸¥à¹à¸²à¸ªà¸¡à¸±à¸¢à¹à¸¥à¸°à¹à¸ªà¸µà¹à¸¢à¸à¸à¹à¸à¸à¸²à¸£à¸à¸¹à¸à¹à¸à¸¡à¸à¸µ à¸à¸¹à¹à¹à¸à¸¡à¸à¸µà¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸´à¸à¹à¸à¸¢à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸¸à¸à¸à¸´à¸à¸§à¹à¸²à¸à¸¥à¸à¸à¸ ัยà¹à¸à¹à¸à¸¢à¹à¸²à¸à¸à¹à¸²à¸¢à¸à¸²à¸¢ à¸à¸¹à¹à¸à¸¹à¹à¸¥à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸³à¹à¸à¹à¸à¸à¹à¸à¸à¹à¸à¹à¹à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¹à¸à¸à¸à¸µà¹à¸à¸¸à¸à¸à¸°à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡à¹à¸à¸à¹à¹à¸à¹à¸£à¸«à¸±à¸ªà¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸: NS_ERROR_NET_INADEQUATE_SECURITY
">
+
+
+
+ à¸à¸¹à¹à¸«à¸¡à¸·à¸à¸à¸à¸°à¹à¸à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸¥à¸à¸à¸ ัย à¹à¸à¹à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัยà¹à¸à¹ à¸à¸±à¸à¸«à¸²à¸à¸µà¹à¹à¸à¸´à¸à¸à¸²à¸ à¸à¸¶à¹à¸à¸à¸²à¸à¹à¸à¹à¸à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸à¸à¸à¹à¹à¸§à¸£à¹à¸à¸µà¹à¸à¸´à¸à¸à¸±à¹à¸à¸à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢à¸à¸à¸à¸à¸¸à¸">
+
+
+ à¹à¸ªà¸à¸à¸§à¹à¸²à¸à¸²à¸à¹à¸à¹à¸à¸à¸²à¸£à¹à¸à¸¡à¸à¸µà¹à¸¥à¸°à¸à¸¸à¸à¹à¸¡à¹à¸à¸§à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸à¹à¸à¸¢à¸±à¸à¹à¸à¸à¹à¸à¸µà¹">
+ à¹à¸ªà¸à¸à¸§à¹à¸²à¸à¸²à¸à¹à¸à¹à¸à¸à¸²à¸£à¹à¸à¸¡à¸à¸µ à¹à¸¥à¸°à¹à¸¡à¹à¸¡à¸µà¸§à¸´à¸à¸µà¹à¸à¸à¸µà¹à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸à¹">
+
+ à¸à¸¶à¹à¸à¸à¸³à¹à¸«à¹ &brandShortName; à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัยà¹à¸à¹ à¹à¸¡à¸·à¹à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸¢à¸µà¹à¸¢à¸¡à¸à¸¡ à¹à¸«à¹à¸à¸±à¸à¹à¸à¸à¸à¸²à¸¬à¸´à¸à¸²à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¹à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸£à¸°à¸à¸à¸à¸à¸à¸à¸¸à¸à¹à¸«à¹à¹à¸à¹à¸à¸§à¸±à¸à¸à¸µà¹ à¹à¸§à¸¥à¸² à¹à¸¥à¸°à¹à¸à¸à¹à¸§à¸¥à¸²à¸à¸±à¸à¸à¸¸à¸à¸±à¸ à¹à¸¥à¹à¸§à¸£à¸µà¹à¸à¸£à¸ ">
+
+
+
+
+
+
+
+
+à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸ªà¸à¸à¸«à¸à¹à¸²à¸à¸µà¹à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸°à¸à¸¹à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸£à¸§à¸à¸à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¹à¸à¸£à¹à¸à¸à¸à¸¥à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢- à¹à¸à¸£à¸à¸à¸´à¸à¸à¹à¸à¹à¸à¹à¸²à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¹à¸à¸·à¹à¸à¹à¸à¹à¸à¸à¸§à¸à¹à¸à¸²à¹à¸«à¹à¸à¸£à¸²à¸à¸à¸¶à¸à¸à¸±à¸à¸«à¸²à¸à¸µà¹
">
diff --git a/browser/crashreporter/crashreporter-override.ini b/browser/crashreporter/crashreporter-override.ini
new file mode 100644
index 00000000000..171ac589aff
--- /dev/null
+++ b/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 มีà¸à¸±à¸à¸«à¸²à¹à¸¥à¸°à¹à¸à¹à¸«à¸¢à¸¸à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸ à¹à¸£à¸²à¸à¸°à¸à¸¢à¸²à¸¢à¸²à¸¡à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¹à¸à¹à¸à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¸à¸à¸à¸¸à¸à¸à¸¥à¸±à¸à¸¡à¸²à¹à¸«à¸¡à¸·à¸à¸à¹à¸à¸´à¸¡à¹à¸¡à¸·à¹à¸à¹à¸£à¸´à¹à¸¡à¸à¸³à¸à¸²à¸à¹à¸«à¸¡à¹\n\nà¹à¸à¸à¹à¸¡à¹à¸à¸µà¸à¸µà¹à¸à¸±à¸§à¸£à¸²à¸¢à¸à¸²à¸à¸à¸²à¸£à¸à¸±à¸à¸à¹à¸à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸£à¸²à¸¢à¸à¸²à¸à¸à¸²à¸£à¸à¸±à¸à¸à¹à¸à¸à¹à¸à¹\n\nรายละà¹à¸à¸µà¸¢à¸: %s
+CrashReporterDescriptionText2=Firefox มีà¸à¸±à¸à¸«à¸²à¹à¸¥à¸°à¹à¸à¹à¸«à¸¢à¸¸à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸ à¹à¸£à¸²à¸à¸°à¸à¸¢à¸²à¸¢à¸²à¸¡à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¹à¸à¹à¸à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¸à¸à¸à¸¸à¸à¸à¸¥à¸±à¸à¸¡à¸²à¹à¸«à¸¡à¸·à¸à¸à¹à¸à¸´à¸¡à¹à¸¡à¸·à¹à¸à¹à¸£à¸´à¹à¸¡à¸à¸³à¸à¸²à¸à¹à¸«à¸¡à¹\n\nà¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¹à¸§à¸¢à¹à¸«à¸¥à¸·à¸à¸à¸²à¸£à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸à¹à¸à¸±à¸à¸«à¸²à¸à¸µà¹à¹à¸à¹ à¹à¸à¸¢à¸à¸²à¸£à¸ªà¹à¸à¸£à¸²à¸¢à¸à¸²à¸à¸à¸²à¸£à¸à¸±à¸à¸à¹à¸à¸à¸à¸¥à¸±à¸à¸¡à¸²à¸à¸µà¹à¹à¸£à¸²
diff --git a/browser/defaultagent/defaultagent_localized.ini b/browser/defaultagent/defaultagent_localized.ini
new file mode 100644
index 00000000000..5f6bda3aa6e
--- /dev/null
+++ b/browser/defaultagent/defaultagent_localized.ini
@@ -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/.
+
+# This file is in the UTF-8 encoding
+[Strings]
+DefaultBrowserAgentTaskDescription=à¸à¸²à¸à¸à¸à¸ Default Browser Agent à¸à¸°à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸¡à¸·à¹à¸à¸¡à¸µà¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸²à¸ %MOZ_APP_DISPLAYNAME% à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸·à¹à¸ หาà¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¹à¸à¸´à¸à¸à¸¶à¹à¸à¸ ายà¹à¸à¹à¸ªà¸à¸²à¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¸à¹à¸²à¸ªà¸à¸ªà¸±à¸¢ ระà¸à¸à¸à¸°à¹à¸à¹à¸à¹à¸«à¹à¸à¸¹à¹à¹à¸à¹à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸¥à¸±à¸à¹à¸à¹à¸ %MOZ_APP_DISPLAYNAME% à¹à¸¡à¹à¹à¸à¸´à¸à¸ªà¸à¸à¸à¸£à¸±à¹à¸ à¸à¸²à¸à¸à¸µà¹à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¹à¸à¸¢ %MOZ_APP_DISPLAYNAME% à¹à¸¥à¸°à¸à¸°à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸à¹à¸«à¸¡à¹à¹à¸¡à¸·à¹à¸ %MOZ_APP_DISPLAYNAME% à¸à¸±à¸à¹à¸à¸ à¹à¸¡à¸·à¹à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸²à¸à¸à¸µà¹ à¹à¸«à¹à¸à¸±à¸à¹à¸à¸à¸à¹à¸²à¸à¸³à¸«à¸à¸ âdefault-browser-agent.enabledâ à¸à¸à¸«à¸à¹à¸² about:config หรืà¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¹à¸¢à¸à¸²à¸¢à¸à¸à¸à¹à¸à¸£à¸à¸à¸ %MOZ_APP_DISPLAYNAME% âDisableDefaultBrowserAgentâ
+
+DefaultBrowserNotificationTitle=à¸à¸³à¹à¸«à¹ %MOZ_APP_DISPLAYNAME% à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¸à¸¸à¸
+DefaultBrowserNotificationText=%MOZ_APP_DISPLAYNAME% à¹à¸¡à¹à¹à¸à¹à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¸à¸µà¸à¸à¹à¸à¹à¸ à¸à¸³à¹à¸«à¹à¹à¸à¹à¸à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+DefaultBrowserNotificationYesButtonText=à¹à¸à¹
+DefaultBrowserNotificationNoButtonText=à¹à¸¡à¹
diff --git a/browser/defines.inc b/browser/defines.inc
new file mode 100644
index 00000000000..2f56d261731
--- /dev/null
+++ b/browser/defines.inc
@@ -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/.
+#filter emptyLines
+
+#define MOZ_LANGPACK_CREATOR mozilla.org
+
+# If non-English locales wish to credit multiple contributors, uncomment this
+# variable definition and use the format specified.
+#define MOZ_LANGPACK_CONTRIBUTORS Nattapong Ekudomsuk Patipat Susumpow Pittaya Sroilong Teerapat Taechaiya Vee Satayamas Wichai Termwuttipreecha
+
+#unfilter emptyLines
diff --git a/browser/extensions/formautofill/formautofill.properties b/browser/extensions/formautofill/formautofill.properties
new file mode 100644
index 00000000000..8820ad7c445
--- /dev/null
+++ b/browser/extensions/formautofill/formautofill.properties
@@ -0,0 +1,230 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 (saveAddressesMessage): %S is brandShortName. This string is used on the doorhanger to
+# notify users that addresses are saved.
+saveAddressesMessage = %S สามารà¸à¸à¸±à¸à¸à¸¶à¸à¸à¸µà¹à¸à¸¢à¸¹à¹à¹à¸à¹ à¹à¸à¸·à¹à¸à¹à¸«à¹à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸£à¸à¸à¹à¸à¸à¸à¸à¸£à¹à¸¡à¹à¸à¹à¹à¸£à¹à¸§à¸à¸¶à¹à¸
+# LOCALIZATION NOTE (autofillOptionsLink, autofillOptionsLinkOSX): These strings are used in the doorhanger for
+# updating addresses. The link leads users to Form Autofill browser preferences.
+autofillOptionsLink = à¸à¸±à¸§à¹à¸¥à¸·à¸à¸à¸à¸²à¸£à¸à¸£à¸à¸à¹à¸à¸à¸à¸à¸£à¹à¸¡à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+autofillOptionsLinkOSX = à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸²à¸£à¸à¸£à¸à¸à¹à¸à¸à¸à¸à¸£à¹à¸¡à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+# 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 = à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸±à¸§à¹à¸¥à¸·à¸à¸à¸à¸²à¸£à¸à¸£à¸à¸à¹à¸à¸à¸à¸à¸£à¹à¸¡à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+changeAutofillOptionsOSX = à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸²à¸£à¸à¸£à¸à¸à¹à¸à¸à¸à¸à¸£à¹à¸¡à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+changeAutofillOptionsAccessKey = à¸
+# LOCALIZATION NOTE (addressesSyncCheckbox): If Sync is enabled, this checkbox is displayed on the doorhanger
+# shown when saving addresses.
+addressesSyncCheckbox = à¹à¸à¹à¸à¸à¸±à¸à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸±à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸µà¹à¸à¸´à¸à¸à¹
+# 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 = à¹à¸à¹à¸à¸à¸±à¸à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸à¸à¸±à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸µà¹à¸à¸´à¸à¸à¹
+# LOCALIZATION NOTE (updateAddressMessage, updateAddressDescriptionLabel, createAddressLabel, updateAddressLabel):
+# Used on the doorhanger when an address change is detected.
+updateAddressMessage = à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸à¸à¸à¸¸à¸à¸à¹à¸§à¸¢à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸«à¸¡à¹à¸à¸µà¹à¸«à¸£à¸·à¸à¹à¸¡à¹?
+updateAddressDescriptionLabel = à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸µà¹à¸à¸°à¸à¸±à¸à¹à¸à¸:
+createAddressLabel = สรà¹à¸²à¸à¸à¸µà¹à¸à¸¢à¸¹à¹à¹à¸«à¸¡à¹
+createAddressAccessKey = ส
+updateAddressLabel = à¸à¸±à¸à¹à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
+updateAddressAccessKey = à¸
+# 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 = à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸«à¹ %S à¸à¸±à¸à¸à¸¶à¸à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸à¸à¸µà¹à¸«à¸£à¸·à¸à¹à¸¡à¹? (รหัสà¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸°à¹à¸¡à¹à¸à¸¹à¸à¸à¸±à¸à¸à¸¶à¸)
+saveCreditCardDescriptionLabel = à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸à¸à¸µà¹à¸à¸°à¸à¸±à¸à¸à¸¶à¸:
+saveCreditCardLabel = à¸à¸±à¸à¸à¸¶à¸à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸
+saveCreditCardAccessKey = à¸
+cancelCreditCardLabel = à¹à¸¡à¹à¸à¸±à¸à¸à¸¶à¸
+cancelCreditCardAccessKey = ม
+neverSaveCreditCardLabel = à¹à¸¡à¹à¸à¸±à¸à¸à¸¶à¸à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸à¹à¸ªà¸¡à¸
+neverSaveCreditCardAccessKey = à¸
+# LOCALIZATION NOTE (updateCreditCardMessage, updateCreditCardDescriptionLabel, createCreditCardLabel, updateCreditCardLabel):
+# Used on the doorhanger when an credit card change is detected.
+updateCreditCardMessage = à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸à¸à¸à¸à¸à¸¸à¸à¸à¹à¸§à¸¢à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸«à¸¡à¹à¸à¸µà¹à¸«à¸£à¸·à¸à¹à¸¡à¹?
+updateCreditCardDescriptionLabel = à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸à¸à¸µà¹à¸à¸°à¸à¸±à¸à¹à¸à¸:
+createCreditCardLabel = สรà¹à¸²à¸à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸à¹à¸«à¸¡à¹
+createCreditCardAccessKey = ส
+updateCreditCardLabel = à¸à¸±à¸à¹à¸à¸à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸
+updateCreditCardAccessKey = à¸
+# LOCALIZATION NOTE (openAutofillMessagePanel): Tooltip label for Form Autofill doorhanger icon on address bar.
+openAutofillMessagePanel = à¹à¸à¸´à¸à¹à¸à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸²à¸£à¸à¸£à¸à¸à¹à¸à¸à¸à¸à¸£à¹à¸¡à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+
+# 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 = à¸à¸±à¸§à¹à¸¥à¸·à¸à¸à¸à¸²à¸£à¸à¸£à¸à¸à¹à¸à¸à¸à¸à¸£à¹à¸¡à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+# 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 = à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸²à¸£à¸à¸£à¸à¸à¹à¸à¸à¸à¸à¸£à¹à¸¡à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+# 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 = à¸à¸±à¸§à¹à¸¥à¸·à¸à¸à¸à¸²à¸£à¸à¸£à¸à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+# 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 = à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸²à¸£à¸à¸£à¸à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+# 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 = à¸à¸µà¹à¸à¸¢à¸¹à¹
+category.name = à¸à¸·à¹à¸
+category.organization2 = à¸à¸à¸à¹à¸à¸£
+category.tel = à¹à¸à¸£à¸¨à¸±à¸à¸à¹
+category.email = à¸à¸µà¹à¸¡à¸¥
+# 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 = à¸à¸£à¸à¸ %S à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¹à¸à¹à¸à¸à¸±à¸
+phishingWarningMessage2 = à¸à¸£à¸à¸ %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 à¸à¸£à¸§à¸à¸à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸¡à¹à¸à¸¥à¸à¸à¸ ัย à¸à¸²à¸£à¸à¸£à¸à¸à¹à¸à¸à¸à¸à¸£à¹à¸¡à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¸à¸¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸±à¹à¸§à¸à¸£à¸²à¸§
+# LOCALIZATION NOTE (clearFormBtnLabel2): Label for the button in the dropdown menu that used to clear the populated
+# form.
+clearFormBtnLabel2 = ลà¹à¸²à¸à¹à¸à¸à¸à¸à¸£à¹à¸¡à¸à¸µà¹à¸à¸£à¸à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+
+autofillHeader = à¹à¸à¸à¸à¸à¸£à¹à¸¡à¹à¸¥à¸°à¸à¸²à¸£à¸à¸£à¸à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+# LOCALIZATION NOTE (autofillAddressesCheckbox): Label for the checkbox that enables autofilling addresses.
+autofillAddressesCheckbox = à¸à¸£à¸à¸à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+# LOCALIZATION NOTE (learnMoreLabel): Label for the link that leads users to the Form Autofill SUMO page.
+learnMoreLabel = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+# LOCALIZATION NOTE (savedAddressesBtnLabel): Label for the button that opens a dialog that shows the
+# list of saved addresses.
+savedAddressesBtnLabel = à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹â¦
+# LOCALIZATION NOTE (autofillCreditCardsCheckbox): Label for the checkbox that enables autofilling credit cards.
+autofillCreditCardsCheckbox = à¸à¸£à¸à¸à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+# LOCALIZATION NOTE (savedCreditCardsBtnLabel): Label for the button that opens a dialog that shows the list
+# of saved credit cards.
+savedCreditCardsBtnLabel = à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹â¦
+
+autofillReauthCheckboxMac = à¸à¹à¸à¸à¸à¸²à¸£à¸à¸²à¸£à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸à¸à¸à¸ macOS à¹à¸à¸·à¹à¸à¸à¸£à¸à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´ à¸à¸¹ หรืà¸à¹à¸à¹à¹à¸à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸à¸à¸µà¹à¹à¸à¹à¸à¹à¸§à¹
+autofillReauthCheckboxWin = à¸à¹à¸à¸à¸à¸²à¸£à¸à¸²à¸£à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸à¸à¸à¸ Windows à¹à¸à¸·à¹à¸à¸à¸£à¸à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´ à¸à¸¹ หรืà¸à¹à¸à¹à¹à¸à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸à¸à¸µà¹à¹à¸à¹à¸à¹à¸§à¹
+autofillReauthCheckboxLin = à¸à¹à¸à¸à¸à¸²à¸£à¸à¸²à¸£à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸à¸à¸à¸ Linux à¹à¸à¸·à¹à¸à¸à¸£à¸à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´ à¸à¸¹ หรืà¸à¹à¸à¹à¹à¸à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸à¸à¸µà¹à¹à¸à¹à¸à¹à¸§à¹
+
+# 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 = à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸²à¸£à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸
+autofillReauthOSDialogWin = à¹à¸¡à¸·à¹à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸²à¸£à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸ à¹à¸«à¹à¸à¹à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸£à¸°à¸à¸³à¸à¸±à¸§à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸ Windows à¸à¸à¸à¸à¸¸à¸
+autofillReauthOSDialogLin = à¹à¸¡à¸·à¹à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸²à¸£à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸ à¹à¸«à¹à¸à¹à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸£à¸°à¸à¸³à¸à¸±à¸§à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸ Linux à¸à¸à¸à¸à¸¸à¸
+
+# LOCALIZATION NOTE (manageAddressesTitle, manageCreditCardsTitle): The dialog title for the list of addresses or
+# credit cards in browser preferences.
+manageAddressesTitle = à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹
+manageCreditCardsTitle = à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸à¸à¸µà¹à¸à¸±à¸à¸à¸¶à¸à¹à¸§à¹
+# LOCALIZATION NOTE (addressesListHeader, creditCardsListHeader): The header for the list of addresses or credit cards
+# in browser preferences.
+addressesListHeader = à¸à¸µà¹à¸à¸¢à¸¹à¹
+creditCardsListHeader = à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸
+removeBtnLabel = à¹à¸à¸²à¸à¸à¸
+addBtnLabel = à¹à¸à¸´à¹à¸¡â¦
+editBtnLabel = à¹à¸à¹à¹à¸â¦
+# LOCALIZATION NOTE (manageDialogsWidth): This strings sets the default width for windows used to manage addresses and
+# credit cards.
+manageDialogsWidth = 560px
+
+# LOCALIZATION NOTE (addNewAddressTitle, editAddressTitle): The dialog title for creating or editing addresses
+# in browser preferences.
+addNewAddressTitle = à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸¢à¸¹à¹à¹à¸«à¸¡à¹
+editAddressTitle = à¹à¸à¹à¹à¸à¸à¸µà¹à¸à¸¢à¸¹à¹
+givenName = à¸à¸·à¹à¸à¸à¸£à¸´à¸
+additionalName = à¸à¸·à¹à¸à¸à¸¥à¸²à¸
+familyName = à¸à¸²à¸¡à¸ªà¸à¸¸à¸¥
+organization2 = à¸à¸à¸à¹à¸à¸£
+streetAddress = à¸à¸µà¹à¸à¸¢à¸¹à¹
+
+## address-level-3 (Sublocality) names
+# LOCALIZATION NOTE (neighborhood): Used in IR, MX
+neighborhood = à¸à¸¸à¸¡à¸à¸
+# LOCALIZATION NOTE (village_township): Used in MY
+village_township = หมูà¹à¸à¹à¸²à¸à¸«à¸£à¸·à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸à¸£à¸à¸
+island = à¹à¸à¸²à¸°
+# LOCALIZATION NOTE (townland): Used in IE
+townland = à¹à¸à¸
+
+## address-level-2 names
+city = à¹à¸¡à¸·à¸à¸
+# LOCALIZATION NOTE (district): Used in HK, SD, SY, TR as Address Level-2
+# and used in KR as Sublocality.
+district = à¹à¸à¸
+# LOCALIZATION NOTE (post_town): Used in GB, NO, SE
+post_town = à¹à¸¡à¸·à¸à¸
+# LOCALIZATION NOTE (suburb): Used in AU as Address Level-2
+# and used in ZZ as Sublocality.
+suburb = à¸à¸²à¸à¹à¸¡à¸·à¸à¸
+
+# address-level-1 names
+province = à¸à¸±à¸à¸«à¸§à¸±à¸
+state = รัà¸
+county = à¹à¸à¸²à¸à¹à¸à¸µ
+# LOCALIZATION NOTE (parish): Used in BB, JM
+parish = à¸à¸³à¸à¸¥
+# LOCALIZATION NOTE (prefecture): Used in JP
+prefecture = à¸à¸³à¹à¸ à¸
+# LOCALIZATION NOTE (area): Used in HK
+area = à¹à¸à¸
+# LOCALIZATION NOTE (do_si): Used in KR
+do_si = à¸à¸±à¸à¸«à¸§à¸±à¸
+# LOCALIZATION NOTE (department): Used in NI, CO
+department = à¸à¸±à¸à¸«à¸§à¸±à¸
+# LOCALIZATION NOTE (emirate): Used in AE
+emirate = à¹à¸à¸¡à¸´à¹à¸£à¸
+# LOCALIZATION NOTE (oblast): Used in RU and UA
+oblast = à¹à¸à¸§à¹à¸
+
+# LOCALIZATION NOTE (pin, postalCode, zip, eircode): Postal code name types
+# LOCALIZATION NOTE (pin): Used in IN
+pin = à¸à¸´à¸
+postalCode = รหัสà¹à¸à¸£à¸©à¸à¸µà¸¢à¹
+zip = รหัสà¹à¸à¸£à¸©à¸à¸µà¸¢à¹
+# LOCALIZATION NOTE (eircode): Used in IE
+eircode = à¹à¸à¸µà¸¢à¸£à¹à¹à¸à¹à¸
+
+country = à¸à¸£à¸°à¹à¸à¸¨à¸«à¸£à¸·à¸à¸ ูมิภาà¸
+tel = à¹à¸à¸£à¸¨à¸±à¸à¸à¹
+email = à¸à¸µà¹à¸¡à¸¥
+cancelBtnLabel = ยà¸à¹à¸¥à¸´à¸
+saveBtnLabel = à¸à¸±à¸à¸à¸¶à¸
+countryWarningMessage2 = à¸à¸à¸°à¸à¸µà¹à¸à¸²à¸£à¸à¸£à¸à¸à¹à¸à¸à¸à¸à¸£à¹à¸¡à¸¡à¸µà¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸à¸à¸²à¸°à¸à¸²à¸à¸à¸£à¸°à¹à¸à¸¨à¹à¸à¹à¸²à¸à¸±à¹à¸
+
+# LOCALIZATION NOTE (addNewCreditCardTitle, editCreditCardTitle): The dialog title for creating or editing
+# credit cards in browser preferences.
+addNewCreditCardTitle = à¹à¸à¸´à¹à¸¡à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸à¹à¸«à¸¡à¹
+editCreditCardTitle = à¹à¸à¹à¹à¸à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸
+cardNumber = หมายà¹à¸¥à¸à¸à¸±à¸à¸£
+invalidCardNumber = à¹à¸à¸£à¸à¸à¹à¸à¸à¸«à¸¡à¸²à¸¢à¹à¸¥à¸à¸à¸±à¸à¸£à¸à¸µà¹à¸à¸¹à¸à¸à¹à¸à¸
+nameOnCard = à¸à¸·à¹à¸à¸à¸à¸à¸±à¸à¸£
+cardExpiresMonth = à¹à¸à¸·à¸à¸à¸à¸µà¹à¸«à¸¡à¸à¸à¸²à¸¢à¸¸
+cardExpiresYear = à¸à¸µà¸à¸µà¹à¸«à¸¡à¸à¸à¸²à¸¢à¸¸
+billingAddress = à¸à¸µà¹à¸à¸¢à¸¹à¹à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸£à¸µà¸¢à¸à¹à¸à¹à¸à¹à¸à¸´à¸
+cardNetwork = à¸à¸à¸´à¸à¸à¸±à¸à¸£
+# LOCALIZATION NOTE (cardCVV): Credit card security code https://en.wikipedia.org/wiki/Card_security_code
+cardCVV = CVV
+
+# LOCALIZATION NOTE: (cardNetwork.*): These are brand names and should only be translated when a locale-specific name for that brand is in common use
+cardNetwork.amex = American Express
+cardNetwork.cartebancaire = Carte Bancaire
+cardNetwork.diners = Diners Club
+cardNetwork.discover = Discover
+cardNetwork.jcb = JCB
+cardNetwork.mastercard = MasterCard
+cardNetwork.mir = MIR
+cardNetwork.unionpay = Union Pay
+cardNetwork.visa = Visa
+
+# LOCALIZATION NOTE (editCreditCardPasswordPrompt.*, useCreditCardPasswordPrompt.*): %S is brandShortName.
+editCreditCardPasswordPrompt.win = %S à¸à¸³à¸¥à¸±à¸à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸°à¹à¸ªà¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸ ยืà¸à¸¢à¸±à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸±à¸à¸à¸µ Windows à¸à¸µà¹à¸à¹à¸²à¸à¸¥à¹à¸²à¸
+# LOCALIZATION NOTE (editCreditCardPasswordPrompt.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.
+editCreditCardPasswordPrompt.macos = à¹à¸ªà¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸
+editCreditCardPasswordPrompt.linux = %S à¸à¸³à¸¥à¸±à¸à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸°à¹à¸ªà¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸
+useCreditCardPasswordPrompt.win = %S à¸à¸³à¸¥à¸±à¸à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸°à¹à¸à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸à¸à¸µà¹à¸à¸±à¸à¹à¸à¹à¸à¹à¸§à¹ ยืà¸à¸¢à¸±à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸±à¸à¸à¸µ Windows à¸à¸µà¹à¸à¹à¸²à¸à¸¥à¹à¸²à¸
+# 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 = à¹à¸à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸à¸à¸µà¹à¹à¸à¹à¸à¹à¸§à¹
+useCreditCardPasswordPrompt.linux = %S à¸à¸³à¸¥à¸±à¸à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸°à¹à¸à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸±à¸à¸£à¹à¸à¸£à¸à¸´à¸à¸à¸µà¹à¸à¸±à¸à¹à¸à¹à¸à¹à¸§à¹
diff --git a/browser/extensions/report-site-issue/webcompat.properties b/browser/extensions/report-site-issue/webcompat.properties
new file mode 100644
index 00000000000..f1ce586fbce
--- /dev/null
+++ b/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=รายà¸à¸²à¸à¸à¸±à¸à¸«à¸²à¹à¸à¸à¹â¦
+# 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=รายà¸à¸²à¸à¸à¸±à¸à¸«à¸²à¸à¸§à¸²à¸¡à¹à¸à¹à¸²à¸à¸±à¸à¹à¸à¹à¸à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹
diff --git a/browser/firefox-l10n.js b/browser/firefox-l10n.js
new file mode 100644
index 00000000000..b410ad9aef4
--- /dev/null
+++ b/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/browser/installer/custom.properties b/browser/installer/custom.properties
new file mode 100644
index 00000000000..5d25a19975b
--- /dev/null
+++ b/browser/installer/custom.properties
@@ -0,0 +1,92 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# 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 à¹à¸«à¹à¸à¸¸à¸à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸§à¹à¸à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัยà¹à¸¥à¸°à¸à¹à¸²à¸¢à¸à¸²à¸¢à¸à¹à¸§à¸¢à¸«à¸à¹à¸²à¸à¸à¸à¸µà¹à¸à¸¸à¹à¸à¹à¸à¸¢à¸à¸§à¸²à¸¡à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¹à¸²à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸µà¹à¸à¸¹à¸à¸¢à¸à¸£à¸°à¸à¸±à¸à¸£à¸§à¸¡à¹à¸à¸à¸¶à¸à¸à¹à¸§à¸¢à¸à¸à¸à¹à¸à¸à¸à¸¸à¸à¸à¸²à¸à¸à¸²à¸£à¸à¹à¸¡à¸¢à¸à¸±à¸à¸¥à¸±à¸à¸©à¸à¹à¹à¸¥à¸°à¸à¸²à¸£à¸£à¸§à¸¡à¸à¸²à¸£à¸à¹à¸à¸«à¸²à¸à¸µà¹à¸à¸³à¹à¸«à¹à¸à¸¸à¸à¹à¸à¹à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸·à¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸²à¸à¹à¸§à¹à¸
+CONTEXT_OPTIONS=&à¸à¸±à¸§à¹à¸¥à¸·à¸à¸ $BrandShortName
+CONTEXT_SAFE_MODE=à¹à¸«à¸¡à¸&à¸à¸¥à¸à¸à¸ ัย $BrandShortName
+OPTIONS_PAGE_TITLE=à¸à¸à¸´à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸
+OPTIONS_PAGE_SUBTITLE=à¹à¸¥à¸·à¸à¸à¸à¸±à¸§à¹à¸¥à¸·à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸
+SHORTCUTS_PAGE_TITLE=à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸à¸¥à¸±à¸
+SHORTCUTS_PAGE_SUBTITLE=สรà¹à¸²à¸à¹à¸à¸à¸à¸à¹à¸à¸£à¹à¸à¸£à¸¡
+COMPONENTS_PAGE_TITLE=à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¸à¸£à¸°à¸à¸à¸à¹à¸ªà¸£à¸´à¸¡
+COMPONENTS_PAGE_SUBTITLE=สà¹à¸§à¸à¸à¸£à¸°à¸à¸à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸µà¹à¹à¸à¸°à¸à¸³
+OPTIONAL_COMPONENTS_DESC=à¸à¸£à¸´à¸à¸²à¸£à¸à¸³à¸£à¸¸à¸à¸£à¸±à¸à¸©à¸²à¸à¸°à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¸à¸¸à¸à¸à¸±à¸à¹à¸à¸ $BrandShortName à¸à¸¢à¸¹à¹à¹à¸à¸·à¹à¸à¸à¸«à¸¥à¸±à¸à¹à¸à¸¢à¹à¸¡à¹à¸£à¸à¸à¸§à¸
+MAINTENANCE_SERVICE_CHECKBOX_DESC=à¸à¸´à¸à¸à¸±à¹à¸à¸à¸£à¸´à¸à¸²à¸£&à¸à¸³à¸£à¸¸à¸à¸£à¸±à¸à¸©à¸²
+SUMMARY_PAGE_TITLE=สรุà¸
+SUMMARY_PAGE_SUBTITLE=à¸à¸£à¹à¸à¸¡à¸à¸µà¹à¸à¸°à¹à¸£à¸´à¹à¸¡à¸à¸´à¸à¸à¸±à¹à¸ $BrandShortName
+SUMMARY_INSTALLED_TO=$BrandShortName à¸à¸°à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸à¹à¸§à¹à¸à¸µà¹:
+SUMMARY_REBOOT_REQUIRED_INSTALL=à¸à¸¸à¸à¸à¹à¸à¸à¸à¸³à¸à¸²à¸£à¹à¸£à¸´à¹à¸¡à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¹à¸«à¸¡à¹à¹à¸à¸·à¹à¸à¸à¸³à¹à¸«à¹à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹
+SUMMARY_REBOOT_REQUIRED_UNINSTALL=à¸à¸¸à¸à¸à¸²à¸à¸à¸³à¹à¸à¹à¸à¸à¹à¸à¸à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¹à¸«à¸¡à¹à¹à¸à¸·à¹à¸à¹à¸«à¹à¸à¸²à¸£à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹
+SUMMARY_TAKE_DEFAULTS=à¹&à¸à¹ $BrandShortName à¹à¸à¹à¸à¹à¸§à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¸à¸±à¸
+SUMMARY_INSTALL_CLICK=à¸à¸¥à¸´à¸ à¸à¸´à¸à¸à¸±à¹à¸ à¹à¸à¸·à¹à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸
+SUMMARY_UPGRADE_CLICK=à¸à¸¥à¸´à¸ à¸à¸±à¸à¹à¸à¸£à¸ à¹à¸à¸·à¹à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸
+SURVEY_TEXT=&à¸à¸à¸à¹à¸£à¸²à¸§à¹à¸²à¸à¸¸à¸à¸à¸´à¸à¸à¸¢à¹à¸²à¸à¹à¸£à¸à¸±à¸ $BrandShortName
+LAUNCH_TEXT=à¹&ริà¹à¸¡ $BrandShortName à¸à¸±à¸à¸à¸µ
+CREATE_ICONS_DESC=สรà¹à¸²à¸à¹à¸à¸à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸ $BrandShortName:
+ICONS_DESKTOP=à¸à¸&à¹à¸à¸ªà¸à¹à¸à¹à¸à¸à¸à¸à¸à¸à¸±à¸
+ICONS_STARTMENU=à¹à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸à¹&มà¸à¸¹à¹à¸£à¸´à¹à¸¡à¹à¸à¸£à¹à¸à¸£à¸¡
+ICONS_QUICKLAUNCH=à¹à¸à¹à¸à¸ &Quick Launch à¸à¸à¸à¸à¸±à¸
+WARN_MANUALLY_CLOSE_APP_INSTALL=$BrandShortName à¸à¸°à¸à¹à¸à¸à¸à¸¹à¸à¸à¸´à¸à¹à¸à¸·à¹à¸à¸à¸³à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸\n\nà¹à¸à¸£à¸à¸à¸´à¸ $BrandShortName à¹à¸à¸·à¹à¸à¸à¸³à¸à¹à¸
+WARN_MANUALLY_CLOSE_APP_UNINSTALL=$BrandShortName à¸à¹à¸à¸à¸à¸¹à¸à¸à¸´à¸à¹à¸à¸·à¹à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸\n\nà¹à¸à¸£à¸à¸à¸´à¸ $BrandShortName à¹à¸à¸·à¹à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸
+WARN_MANUALLY_CLOSE_APP_REFRESH=$BrandShortName à¸à¹à¸à¸à¸à¸¹à¸à¸à¸´à¸à¹à¸à¸·à¹à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸¥à¹à¸²à¸\n\nà¹à¸à¸£à¸à¸à¸´à¸ $BrandShortName à¹à¸à¸·à¹à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸
+WARN_WRITE_ACCESS=à¸à¸¸à¸à¹à¸¡à¹à¸¡à¸µà¸ªà¸´à¸à¸à¸´à¹à¸à¸à¸²à¸£à¹à¸à¸µà¸¢à¸à¹à¸à¸¢à¸±à¸à¹à¸à¹à¸£à¸à¸à¸à¸£à¸µà¹à¸à¸µà¹à¸à¸°à¸à¸´à¸à¸à¸±à¹à¸\n\nà¸à¸¥à¸´à¸à¸à¸à¸¥à¸à¹à¸à¸·à¹à¸à¹à¸¥à¸·à¸à¸à¹à¸à¹à¸£à¸à¸à¸à¸£à¸µà¹à¸à¸·à¹à¸
+WARN_DISK_SPACE=à¸à¸¸à¸à¹à¸¡à¹à¸¡à¸µà¸à¸·à¹à¸à¸à¸µà¹à¸à¸´à¸ªà¸à¹à¹à¸à¸µà¸¢à¸à¸à¸à¸à¸µà¹à¸à¸°à¸à¸´à¸à¸à¸±à¹à¸à¹à¸à¸¢à¸±à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¸µà¹\n\nà¸à¸¥à¸´à¸ à¸à¸à¸¥à¸ à¹à¸à¸·à¹à¸à¹à¸¥à¸·à¸à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¸·à¹à¸
+WARN_MIN_SUPPORTED_OSVER_MSG=à¸à¸à¸à¸ ัย à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸ $BrandShortName à¹à¸à¹ $BrandShortName รุà¹à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£ ${MinSupportedVer} หรืà¸à¹à¸«à¸¡à¹à¸à¸§à¹à¸² à¹à¸à¸£à¸à¸à¸¥à¸´à¸à¸à¸¸à¹à¸¡ à¸à¸à¸¥à¸ สำหรัà¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+WARN_MIN_SUPPORTED_CPU_MSG=à¸à¸à¸à¸ ัย à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸ $BrandShortName à¹à¸à¹ $BrandShortName รุà¹à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£à¸«à¸à¹à¸§à¸¢à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¸µà¹à¸£à¸à¸à¸£à¸±à¸ ${MinSupportedCPU} à¹à¸à¸£à¸à¸à¸¥à¸´à¸à¸à¸¸à¹à¸¡ à¸à¸à¸¥à¸ สำหรัà¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+WARN_MIN_SUPPORTED_OSVER_CPU_MSG=à¸à¸à¸à¸ ัย à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸ $BrandShortName à¹à¸à¹ $BrandShortName รุà¹à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£ ${MinSupportedVer} หรืà¸à¹à¸«à¸¡à¹à¸à¸§à¹à¸²à¹à¸¥à¸°à¸«à¸à¹à¸§à¸¢à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¸µà¹à¸£à¸à¸à¸£à¸±à¸ ${MinSupportedCPU} à¹à¸à¸£à¸à¸à¸¥à¸´à¸à¸à¸¸à¹à¸¡ à¸à¸à¸¥à¸ สำหรัà¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+WARN_RESTART_REQUIRED_UNINSTALL=à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¸à¹à¸à¸à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸«à¸¡à¹à¹à¸à¸·à¹à¸à¹à¸«à¹à¸à¸²à¸£à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¹à¸à¸à¸«à¸à¹à¸²à¸à¸à¸ $BrandShortName à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹ à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸£à¸´à¹à¸¡à¸£à¸°à¸à¸à¹à¸«à¸¡à¹à¸à¸à¸à¸à¸µà¹à¸«à¸£à¸·à¸à¹à¸¡à¹?
+WARN_RESTART_REQUIRED_UPGRADE=à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¸à¹à¸à¸à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸«à¸¡à¹à¹à¸à¸·à¹à¸à¹à¸«à¹à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸£à¸à¸à¹à¸à¸à¸«à¸à¹à¸²à¸à¸à¸ $BrandShortName à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹ à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸£à¸´à¹à¸¡à¸£à¸°à¸à¸à¹à¸«à¸¡à¹à¸à¸à¸à¸à¸µà¹à¸«à¸£à¸·à¸à¹à¸¡à¹?
+ERROR_CREATE_DIRECTORY_PREFIX=à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¹à¸à¹à¸£à¸à¸à¸à¸£à¸µ:
+ERROR_CREATE_DIRECTORY_SUFFIX=à¸à¸¥à¸´à¸ ยà¸à¹à¸¥à¸´à¸ à¹à¸à¸·à¹à¸à¸«à¸¢à¸¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸«à¸£à¸·à¸\nลà¸à¸à¹à¸«à¸¡à¹ à¹à¸à¸·à¹à¸à¸¥à¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸
+
+UN_CONFIRM_PAGE_TITLE=à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ $BrandFullName
+UN_CONFIRM_PAGE_SUBTITLE=à¹à¸à¸² $BrandFullName à¸à¸à¸à¸à¸²à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸
+UN_CONFIRM_UNINSTALLED_FROM=$BrandShortName à¸à¸°à¸à¸¹à¸à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹:
+UN_CONFIRM_CLICK=à¸à¸¥à¸´à¸ à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ à¹à¸à¸·à¹à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸
+
+UN_REFRESH_PAGE_TITLE=ลà¹à¸²à¸ $BrandShortName à¹à¸«à¸¡à¹à¸«à¸£à¸·à¸à¹à¸¡à¹?
+UN_REFRESH_PAGE_EXPLANATION=หาà¸à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸¡à¸µà¸à¸±à¸à¸«à¸²à¸à¸±à¸ $BrandShortName à¸à¸²à¸£à¸¥à¹à¸²à¸à¹à¸«à¸¡à¹à¸à¸²à¸à¸à¹à¸§à¸¢à¹à¸à¹\n\nà¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸µà¹à¸à¸°à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¹à¸¥à¸°à¹à¸à¸²à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸à¸ ลà¹à¸²à¸à¹à¸«à¸¡à¹à¹à¸«à¹à¸ªà¸à¹à¸à¸·à¹à¸à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¸µà¹à¸à¸µà¸à¸µà¹à¸ªà¸¸à¸
+UN_REFRESH_LEARN_MORE=à¹&รียà¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+UN_REFRESH_BUTTON=&ลà¹à¸²à¸ $BrandShortName à¹à¸«à¸¡à¹
+
+BANNER_CHECK_EXISTING=à¸à¸³à¸¥à¸±à¸à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹â¦
+
+STATUS_INSTALL_APP=à¸à¸³à¸¥à¸±à¸à¸à¸´à¸à¸à¸±à¹à¸ $BrandShortNameâ¦
+STATUS_INSTALL_LANG=à¸à¸³à¸¥à¸±à¸à¸à¸´à¸à¸à¸±à¹à¸à¹à¸à¸¥à¹à¸ าษา (${AB_CD})â¦
+STATUS_UNINSTALL_MAIN=à¸à¸³à¸¥à¸±à¸à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ $BrandShortNameâ¦
+STATUS_CLEANUP=à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸à¸à¸§à¸²à¸à¸à¸µà¸à¹à¸¥à¹à¸à¸à¹à¸à¸¢â¦
+
+UN_SURVEY_CHECKBOX_LABEL=à¸à¸à¸ Mozilla วà¹à¸²à¸à¸³à¹à¸¡à¸à¸¸à¸à¸à¸¶à¸à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ $BrandShortName
+
+# _DESC strings support approximately 65 characters per line.
+# One line
+OPTIONS_SUMMARY=à¹à¸¥à¸·à¸à¸à¸à¸à¸´à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸µà¹à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£ à¸à¸²à¸à¸à¸±à¹à¸à¸à¸¥à¸´à¸ à¸à¸±à¸à¹à¸
+# One line
+OPTION_STANDARD_DESC=$BrandShortName à¸à¸°à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸à¹à¸à¸¢à¹à¸à¹à¸à¸±à¸§à¹à¸¥à¸·à¸à¸à¸à¸±à¹à¸§à¹à¸
+OPTION_STANDARD_RADIO=&มาà¸à¸£à¸à¸²à¸
+# Two lines
+OPTION_CUSTOM_DESC=à¸à¸¸à¸à¸à¸²à¸à¸à¸°à¹à¸¥à¸·à¸à¸à¸à¸±à¸§à¹à¸¥à¸·à¸à¸à¹à¸à¸à¸²à¸°à¹à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ à¹à¸à¸°à¸à¸³à¹à¸à¸à¸²à¸°à¸à¸¹à¹à¹à¸à¹à¸à¸µà¹à¹à¸à¸µà¹à¸¢à¸§à¸à¸²à¸à¹à¸à¹à¸²à¸à¸±à¹à¸
+OPTION_CUSTOM_RADIO=&à¸à¸³à¸«à¸à¸à¹à¸à¸
+
+# 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=&à¸à¸±à¸à¹à¸à¸£à¸
diff --git a/browser/installer/mui.properties b/browser/installer/mui.properties
new file mode 100644
index 00000000000..ec8d16ff69a
--- /dev/null
+++ b/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=ยิà¸à¸à¸µà¸à¹à¸à¸à¸£à¸±à¸à¸ªà¸¹à¹à¸à¸±à¸§à¸à¹à¸§à¸¢à¸ªà¸£à¹à¸²à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ $BrandFullNameDA
+MUI_TEXT_WELCOME_INFO_TEXT=à¸à¸±à¸§à¸à¹à¸§à¸¢à¸à¸µà¹à¸à¸°à¹à¸à¸°à¸à¸³à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ $BrandFullNameDA à¹à¸«à¹à¸à¸±à¸à¸à¸¸à¸\n\nà¹à¸à¸°à¸à¸³à¹à¸«à¹à¸à¸¸à¸à¸à¸´à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¸·à¹à¸ ๠à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¹à¸à¸à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ สิà¹à¸à¸à¸µà¹à¸à¸³à¹à¸«à¹à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¹à¸à¸¥à¹à¸£à¸°à¸à¸à¸à¸µà¹à¹à¸à¸µà¹à¸¢à¸§à¸à¹à¸à¸à¹à¸à¹à¸à¹à¸à¹à¸à¹à¹à¸à¸¢à¹à¸¡à¹à¸à¹à¸à¸à¹à¸£à¸´à¹à¸¡à¸£à¸°à¸à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¹à¸«à¸¡à¹\n\n$_CLICK
+MUI_TEXT_COMPONENTS_TITLE=à¹à¸¥à¸·à¸à¸à¸ªà¹à¸§à¸à¸à¸£à¸°à¸à¸à¸
+MUI_TEXT_COMPONENTS_SUBTITLE=à¹à¸¥à¸·à¸à¸à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸à¸ $BrandFullNameDA à¸à¸µà¹à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸
+MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE=à¸à¸³à¸à¸à¸´à¸à¸²à¸¢
+MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO=à¹à¸¥à¸·à¹à¸à¸à¹à¸¡à¸²à¸ªà¹à¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¸«à¸à¸·à¸à¸ªà¹à¸§à¸à¸à¸£à¸°à¸à¸à¸à¹à¸à¸·à¹à¸à¸à¸¹à¸£à¸²à¸¢à¸¥à¸°à¹à¸à¸µà¸¢à¸
+MUI_TEXT_DIRECTORY_TITLE=à¹à¸¥à¸·à¸à¸à¸à¸¸à¸à¸à¸´à¸à¸à¸±à¹à¸
+MUI_TEXT_DIRECTORY_SUBTITLE=à¹à¸¥à¸·à¸à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸µà¹à¸à¸°à¸à¸´à¸à¸à¸±à¹à¸ $BrandFullNameDA
+MUI_TEXT_INSTALLING_TITLE=à¸à¸³à¸¥à¸±à¸à¸à¸´à¸à¸à¸±à¹à¸
+MUI_TEXT_INSTALLING_SUBTITLE=à¹à¸à¸£à¸à¸£à¸à¸à¸à¸°à¸à¸µà¹ $BrandFullNameDA à¸à¸³à¸¥à¸±à¸à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸
+MUI_TEXT_FINISH_TITLE=à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹
+MUI_TEXT_FINISH_SUBTITLE=à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹
+MUI_TEXT_ABORT_TITLE=à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸¹à¸à¸¢à¸à¹à¸¥à¸´à¸
+MUI_TEXT_ABORT_SUBTITLE=à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¹à¸¡à¹à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹
+MUI_BUTTONTEXT_FINISH=à¹&สรà¹à¸à¸ªà¸´à¹à¸
+MUI_TEXT_FINISH_INFO_TITLE=à¸à¸³à¸¥à¸±à¸à¸à¸³à¹à¸«à¹à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ $BrandFullNameDA สมà¸à¸¹à¸£à¸à¹
+MUI_TEXT_FINISH_INFO_TEXT=à¸à¸´à¸à¸à¸±à¹à¸ $BrandFullNameDA à¹à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¹à¸¥à¹à¸§\n\nà¸à¸¥à¸´à¸ à¹à¸ªà¸£à¹à¸à¸ªà¸´à¹à¸ à¹à¸à¸·à¹à¸à¸à¸´à¸à¸à¸±à¸§à¸à¹à¸§à¸¢à¸à¸µà¹
+MUI_TEXT_FINISH_INFO_REBOOT=à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¸à¹à¸à¸à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸«à¸¡à¹à¹à¸à¸·à¹à¸à¹à¸«à¹à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸à¸ $BrandFullNameDA à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹ à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸£à¸´à¹à¸¡à¸£à¸°à¸à¸à¹à¸«à¸¡à¹à¸à¸à¸à¸à¸µà¹à¸«à¸£à¸·à¸à¹à¸¡à¹?
+MUI_TEXT_FINISH_REBOOTNOW=à¹à¸£à¸´à¹à¸¡à¸£à¸°à¸à¸à¹à¸«à¸¡à¹à¸à¸à¸à¸à¸µà¹
+MUI_TEXT_FINISH_REBOOTLATER=à¸à¸±à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸£à¸´à¹à¸¡à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¹à¸«à¸¡à¹à¹à¸à¸à¸à¸µà¸«à¸¥à¸±à¸
+MUI_TEXT_STARTMENU_TITLE=à¹à¸¥à¸·à¸à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¹à¸à¹à¸¡à¸à¸¹à¹à¸£à¸´à¹à¸¡
+MUI_TEXT_STARTMENU_SUBTITLE=à¹à¸¥à¸·à¸à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¹à¸à¹à¸¡à¸à¸¹à¹à¸£à¸´à¹à¸¡à¹à¸à¸·à¹à¸à¸ªà¸£à¹à¸²à¸à¸à¸²à¸à¸¥à¸±à¸à¸à¸à¸ $BrandFullNameDA
+MUI_INNERTEXT_STARTMENU_TOP=à¹à¸¥à¸·à¸à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¹à¸¡à¸à¸¹à¹à¸£à¸´à¹à¸¡à¸à¸µà¹à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¸à¸²à¸à¸¥à¸±à¸à¸à¸à¸à¹à¸à¸£à¹à¸à¸£à¸¡ à¸à¸¸à¸à¸¢à¸±à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¹à¸à¸à¸à¸·à¹à¸à¹à¸à¸·à¹à¸à¸ªà¸£à¹à¸²à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¹à¸«à¸¡à¹
+MUI_TEXT_ABORTWARNING=à¸à¸¸à¸à¹à¸à¹à¹à¸à¸«à¸£à¸·à¸à¹à¸¡à¹à¸§à¹à¸²à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸à¸à¸²à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ $BrandFullName?
+MUI_UNTEXT_WELCOME_INFO_TITLE=ยิà¸à¸à¸µà¸à¹à¸à¸à¸£à¸±à¸à¸ªà¸¹à¹à¸à¸±à¸§à¸à¹à¸§à¸¢à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ $BrandFullNameDA
+MUI_UNTEXT_WELCOME_INFO_TEXT=à¸à¸±à¸§à¸à¹à¸§à¸¢à¸à¸µà¹à¸à¸°à¸à¸³à¸à¸¸à¸à¹à¸à¸ªà¸¹à¹à¸à¸²à¸£à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ $BrandFullNameDA\n\nà¸à¹à¸à¸à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸«à¹à¹à¸à¹à¹à¸à¸§à¹à¸² $BrandFullNameDA à¹à¸¡à¹à¹à¸à¹à¸à¸³à¸¥à¸±à¸à¸à¸³à¸à¸²à¸à¸à¸¢à¸¹à¹\n\n$_CLICK
+MUI_UNTEXT_CONFIRM_TITLE=à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ $BrandFullNameDA
+MUI_UNTEXT_CONFIRM_SUBTITLE=à¹à¸à¸² $BrandFullNameDA à¸à¸à¸à¸à¸²à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸
+MUI_UNTEXT_UNINSTALLING_TITLE=à¸à¸³à¸¥à¸±à¸à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸
+MUI_UNTEXT_UNINSTALLING_SUBTITLE=à¹à¸à¸£à¸à¸£à¸à¸à¸à¸°à¸à¸µà¹ $BrandFullNameDA à¸à¸³à¸¥à¸±à¸à¸à¸¹à¸à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸
+MUI_UNTEXT_FINISH_TITLE=à¸à¸²à¸£à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹
+MUI_UNTEXT_FINISH_SUBTITLE=à¸à¸²à¸£à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹à¹à¸¥à¹à¸§
+MUI_UNTEXT_ABORT_TITLE=à¸à¸²à¸£à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸¹à¸à¸¢à¸à¹à¸¥à¸´à¸
+MUI_UNTEXT_ABORT_SUBTITLE=à¸à¸²à¸£à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¹à¸¡à¹à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹
+MUI_UNTEXT_FINISH_INFO_TITLE=à¸à¸³à¸¥à¸±à¸à¹à¸ªà¸£à¹à¸à¸ªà¸´à¹à¸à¸à¸±à¸§à¸à¹à¸§à¸¢à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ $BrandFullNameDA
+MUI_UNTEXT_FINISH_INFO_TEXT=à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ $BrandFullNameDA à¸à¸²à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¹à¸¥à¹à¸§\n\nà¸à¸¥à¸´à¸ à¹à¸ªà¸£à¹à¸à¸ªà¸´à¹à¸ à¹à¸à¸·à¹à¸à¸à¸´à¸à¸à¸±à¸§à¸à¹à¸§à¸¢à¸à¸µà¹
+MUI_UNTEXT_FINISH_INFO_REBOOT=à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¸à¹à¸à¸à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸«à¸¡à¹à¹à¸à¸·à¹à¸à¹à¸«à¹à¸à¸²à¸£à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸à¸ $BrandFullNameDA à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹ à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸£à¸´à¹à¸¡à¸£à¸°à¸à¸à¹à¸«à¸¡à¹à¸à¸à¸à¸à¸µà¹à¸«à¸£à¸·à¸à¹à¸¡à¹?
+MUI_UNTEXT_ABORTWARNING=à¸à¸¸à¸à¹à¸à¹à¹à¸à¸«à¸£à¸·à¸à¹à¸¡à¹à¸§à¹à¸²à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸à¸à¸²à¸à¸à¸²à¸£à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ $BrandFullName?
diff --git a/browser/installer/nsisstrings.properties b/browser/installer/nsisstrings.properties
new file mode 100644
index 00000000000..eb0b93d6bb1
--- /dev/null
+++ b/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=à¸à¸±à¸§à¸à¸´à¸à¸à¸±à¹à¸ $BrandShortName
+
+STUB_CLEANUP_PAVEOVER_HEADER2=มีà¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ $BrandShortName à¸à¸¢à¸¹à¹à¹à¸¥à¹à¸§ มาà¸à¸±à¸à¹à¸à¸à¸à¸±à¸à¹à¸¥à¸¢
+STUB_CLEANUP_REINSTALL_HEADER2=$BrandShortName à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸à¸à¸¢à¸¹à¹à¸à¹à¸à¸à¸«à¸à¹à¸² มารัà¸à¸ªà¸³à¹à¸à¸²à¹à¸«à¸¡à¹à¹à¸«à¹à¸à¸¸à¸à¸à¸±à¸à¹à¸¥à¸¢
+
+STUB_CLEANUP_PAVEOVER_BUTTON2=à¸à¸£à¸±à¸à¸à¸£à¸¸à¸
+STUB_CLEANUP_REINSTALL_BUTTON2=à¸à¸´à¸à¸à¸±à¹à¸à¹à¸«à¸¡à¹
+STUB_CLEANUP_CHECKBOX_LABEL2=à¹à¸£à¸µà¸¢à¸à¸à¸·à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¹à¸¥à¸°à¹à¸à¸²à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¹à¸à¹à¸²à¸à¸à¸à¹à¸à¸·à¹à¸à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¸à¸µà¹à¸à¸µà¸à¸µà¹à¸ªà¸¸à¸
+
+STUB_INSTALLING_LABEL2=à¸à¸à¸°à¸à¸µà¹à¸à¸³à¸¥à¸±à¸à¸à¸´à¸à¸à¸±à¹à¸â¦
+STUB_INSTALLING_HEADLINE2=à¸à¸£à¸±à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸à¸à¸à¸¸à¸à¹à¸«à¹à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡à¸à¸±à¸à¸à¸§à¸²à¸¡à¹à¸£à¹à¸§à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¹à¸¥à¸°à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัย
+STUB_INSTALLING_BODY2=$BrandShortName à¸à¸°à¸à¸£à¹à¸à¸¡à¹à¸à¹à¹à¸à¸à¸µà¸à¹à¸¡à¹à¸à¸µà¹à¸à¸²à¸à¸µ
+STUB_BLURB_FIRST1=$BrandShortName à¸à¸µà¹à¹à¸£à¹à¸§à¸à¸µà¹à¸ªà¸¸à¸à¹à¸¥à¸°à¸à¸à¸à¸ªà¸à¸à¸à¹à¸à¹à¸à¸µà¸à¸µà¹à¸ªà¸¸à¸à¹à¸à¹à¸²à¸à¸µà¹à¹à¸à¸¢à¸¡à¸µà¸¡à¸²
+STUB_BLURB_SECOND1=à¸à¸²à¸£à¹à¸«à¸¥à¸à¸«à¸à¹à¸²à¹à¸¥à¸°à¸à¸²à¸£à¸ªà¸¥à¸±à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸£à¹à¸§à¸à¸¶à¹à¸
+STUB_BLURB_THIRD1=à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸à¸à¸¹à¹à¸à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸µà¹à¸à¸£à¸à¸à¸¥à¸±à¸
+STUB_BLURB_FOOTER2=สรà¹à¸²à¸à¸à¸¶à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¹à¹à¸à¸ à¹à¸¡à¹à¹à¸à¹à¸à¸¥à¸à¸³à¹à¸£
+
+WARN_MIN_SUPPORTED_OSVER_MSG=à¸à¸à¸à¸ ัย à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸ $BrandShortName à¹à¸à¹ $BrandShortName รุà¹à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£ ${MinSupportedVer} หรืà¸à¹à¸«à¸¡à¹à¸à¸§à¹à¸² à¹à¸à¸£à¸à¸à¸¥à¸´à¸à¸à¸¸à¹à¸¡ à¸à¸à¸¥à¸ สำหรัà¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+WARN_MIN_SUPPORTED_CPU_MSG=à¸à¸à¸à¸ ัย à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸ $BrandShortName à¹à¸à¹ $BrandShortName รุà¹à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£à¸«à¸à¹à¸§à¸¢à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¸µà¹à¸£à¸à¸à¸£à¸±à¸ ${MinSupportedCPU} à¹à¸à¸£à¸à¸à¸¥à¸´à¸à¸à¸¸à¹à¸¡ à¸à¸à¸¥à¸ สำหรัà¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+WARN_MIN_SUPPORTED_OSVER_CPU_MSG=à¸à¸à¸à¸ ัย à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸ $BrandShortName à¹à¸à¹ $BrandShortName รุà¹à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£ ${MinSupportedVer} หรืà¸à¹à¸«à¸¡à¹à¸à¸§à¹à¸²à¹à¸¥à¸°à¸«à¸à¹à¸§à¸¢à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¸µà¹à¸£à¸à¸à¸£à¸±à¸ ${MinSupportedCPU} à¹à¸à¸£à¸à¸à¸¥à¸´à¸à¸à¸¸à¹à¸¡ à¸à¸à¸¥à¸ สำหรัà¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+WARN_WRITE_ACCESS_QUIT=à¸à¸¸à¸à¹à¸¡à¹à¸¡à¸µà¸ªà¸´à¸à¸à¸´à¹à¸à¸µà¸¢à¸à¹à¸à¹à¸£à¸à¸à¸à¸£à¸µà¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸
+WARN_DISK_SPACE_QUIT=à¸à¸¸à¸à¹à¸¡à¹à¸¡à¸µà¸à¸·à¹à¸à¸à¸µà¹à¸à¸´à¸ªà¸à¹à¹à¸à¸µà¸¢à¸à¸à¸à¸à¸µà¹à¸à¸°à¸à¸´à¸à¸à¸±à¹à¸
+
+ERROR_DOWNLOAD_CONT=à¸à¸·à¸¡à¸¡ à¸à¹à¸§à¸¢à¹à¸«à¸à¸¸à¸à¸¥à¸à¸²à¸à¸à¸¢à¹à¸²à¸ à¹à¸£à¸²à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸±à¹à¸ $BrandShortName à¹à¸à¹\nà¹à¸¥à¸·à¸à¸ à¸à¸à¸¥à¸ à¹à¸à¸·à¹à¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¹à¸«à¸¡à¹
+
+STUB_CANCEL_PROMPT_HEADING=à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ $BrandShortName หรืà¸à¹à¸¡à¹?
+STUB_CANCEL_PROMPT_MESSAGE=หาà¸à¸à¸¸à¸à¸¢à¸à¹à¸¥à¸´à¸ $BrandShortName à¸à¸°à¹à¸¡à¹à¸à¸¹à¸à¸à¸´à¸à¸à¸±à¹à¸
+STUB_CANCEL_PROMPT_BUTTON_CONTINUE=à¸à¸´à¸à¸à¸±à¹à¸ $BrandShortName
+STUB_CANCEL_PROMPT_BUTTON_EXIT=ยà¸à¹à¸¥à¸´à¸
diff --git a/browser/installer/override.properties b/browser/installer/override.properties
new file mode 100644
index 00000000000..64701efe086
--- /dev/null
+++ b/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=à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ $BrandFullName
+UninstallCaption=à¸à¸²à¸£à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ $BrandFullName
+BackBtn=< &ยà¹à¸à¸à¸à¸¥à¸±à¸
+NextBtn=&à¸à¸±à¸à¹à¸ >
+AcceptBtn=à¸à¸±à¸&ยà¸à¸¡à¸£à¸±à¸à¹à¸à¸·à¹à¸à¸à¹à¸à¹à¸à¸à¹à¸à¸à¸à¸¥à¸à¸ªà¸±à¸à¸à¸²à¸à¸à¸¸à¸à¸²à¸
+DontAcceptBtn=à¸à¸±à¸&à¹à¸¡à¹à¸¢à¸à¸¡à¸£à¸±à¸à¹à¸à¸·à¹à¸à¸à¹à¸à¹à¸à¸à¹à¸à¸à¸à¸¥à¸à¸ªà¸±à¸à¸à¸²à¸à¸à¸¸à¸à¸²à¸
+InstallBtn=&à¸à¸´à¸à¸à¸±à¹à¸
+UninstallBtn=&à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸
+CancelBtn=ยà¸à¹à¸¥à¸´à¸
+CloseBtn=&à¸à¸´à¸
+BrowseBtn=&à¹à¸£à¸µà¸¢à¸à¸à¸¹â¦
+ShowDetailsBtn=à¹à¸ªà¸à¸&รายละà¹à¸à¸µà¸¢à¸
+ClickNext=à¸à¸¥à¸´à¸ à¸à¸±à¸à¹à¸ à¹à¸à¸·à¹à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸
+ClickInstall=à¸à¸¥à¸´à¸ à¸à¸´à¸à¸à¸±à¹à¸ à¹à¸à¸·à¹à¸à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸
+ClickUninstall=à¸à¸¥à¸´à¸ à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ à¹à¸à¸·à¹à¸à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸
+Completed=à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹
+LicenseTextRB=à¹à¸à¸£à¸à¸à¸£à¸§à¸à¸à¸²à¸à¸à¹à¸à¸à¸à¸¥à¸à¸ªà¸´à¸à¸à¸´à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¹à¸à¸à¸à¸³à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ $BrandFullNameDA à¸à¹à¸²à¸à¸¸à¸à¸¢à¸à¸¡à¸£à¸±à¸à¸à¹à¸à¸à¸³à¸«à¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¹à¸à¸à¹à¸à¸à¸à¸¥à¸ à¹à¸¥à¸·à¸à¸à¸à¸±à¸§à¹à¸¥à¸·à¸à¸à¹à¸£à¸à¸à¹à¸²à¸à¸¥à¹à¸²à¸ $_CLICK
+ComponentsText=à¸à¸£à¸§à¸à¸ªà¸à¸à¸ªà¹à¸§à¸à¸à¸£à¸°à¸à¸à¸à¸à¸µà¹à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¹à¸¥à¸°à¹à¸¥à¸·à¸à¸à¸ªà¹à¸§à¸à¸à¸£à¸°à¸à¸à¸à¸à¸µà¹à¸à¸¸à¸à¹à¸¡à¹à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸ $_CLICK
+ComponentsSubText2_NoInstTypes=à¹à¸¥à¸·à¸à¸à¸ªà¹à¸§à¸à¸à¸£à¸°à¸à¸à¸à¹à¸à¸·à¹à¸à¸à¸´à¸à¸à¸±à¹à¸:
+DirText=à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸°à¸à¸´à¸à¸à¸±à¹à¸ $BrandFullNameDA à¹à¸§à¹à¹à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹ à¹à¸à¸·à¹à¸à¸à¸´à¸à¸à¸±à¹à¸à¹à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸·à¹à¸ à¸à¸¥à¸´à¸ à¹à¸£à¸µà¸¢à¸à¸à¸¹ à¹à¸¥à¸°à¹à¸¥à¸·à¸à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸·à¹à¸ $_CLICK
+DirSubText=à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸¥à¸²à¸¢à¸à¸²à¸
+DirBrowseText=à¹à¸¥à¸·à¸à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¹à¸à¸·à¹à¸à¸à¸³à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ $BrandFullNameDA:
+SpaceAvailable="à¸à¸·à¹à¸à¸à¸µà¹à¸§à¹à¸²à¸: "
+SpaceRequired="à¸à¸·à¹à¸à¸à¸µà¹à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£: "
+UninstallingText=$BrandFullNameDA à¸à¸°à¸à¸¹à¸à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹ $_CLICK
+UninstallingSubText=à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸:
+FileError=à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸à¸²à¸£à¹à¸à¸´à¸à¹à¸à¸¥à¹à¹à¸à¸·à¹à¸à¹à¸à¸µà¸¢à¸: \r\n\r\n$0\r\n\r\nà¸à¸¥à¸´à¸ ยà¸à¹à¸¥à¸´à¸ à¹à¸à¸·à¹à¸à¸«à¸¢à¸¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸\r\nลà¸à¸à¹à¸«à¸¡à¹ à¹à¸à¸·à¹à¸à¸¥à¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸ หรืà¸\r\nà¹à¸à¸´à¸à¹à¸à¸¢ à¹à¸à¸·à¹à¸à¸à¹à¸²à¸¡à¹à¸à¸¥à¹à¸à¸µà¹
+FileError_NoIgnore=à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸à¸²à¸£à¹à¸à¸´à¸à¹à¸à¸¥à¹à¹à¸à¸·à¹à¸à¹à¸à¸µà¸¢à¸: \r\n\r\n$0\r\n\r\nà¸à¸¥à¸´à¸ ลà¸à¸à¹à¸«à¸¡à¹ à¹à¸à¸·à¹à¸à¸¥à¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸ หรืà¸\r\nยà¸à¹à¸¥à¸´à¸ à¹à¸à¸·à¹à¸à¸«à¸¢à¸¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸
+CantWrite="à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸µà¸¢à¸: "
+CopyFailed=à¸à¸²à¸£à¸à¸±à¸à¸¥à¸à¸à¸¥à¹à¸¡à¹à¸«à¸¥à¸§
+CopyTo="à¸à¸±à¸à¸¥à¸à¸à¹à¸à¸¢à¸±à¸ "
+Registering="à¸à¸³à¸¥à¸±à¸à¸¥à¸à¸à¸°à¹à¸à¸µà¸¢à¸: "
+Unregistering="à¸à¸³à¸¥à¸±à¸à¸¢à¸à¹à¸¥à¸´à¸à¸à¸²à¸£à¸¥à¸à¸à¸°à¹à¸à¸µà¸¢à¸: "
+SymbolNotFound="à¹à¸¡à¹à¸à¸à¸ªà¸±à¸à¸¥à¸±à¸à¸©à¸à¹: "
+CouldNotLoad="à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸«à¸¥à¸: "
+CreateFolder="สรà¹à¸²à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹: "
+CreateShortcut="สรà¹à¸²à¸à¸à¸²à¸à¸¥à¸±à¸: "
+CreatedUninstaller="à¸à¸±à¸§à¸à¸à¸à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸à¸à¸µà¹à¸ªà¸£à¹à¸²à¸: "
+Delete="ลà¸à¹à¸à¸¥à¹: "
+DeleteOnReboot="ลà¸à¸à¸à¸°à¹à¸£à¸´à¹à¸¡à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¹à¸«à¸¡à¹: "
+ErrorCreatingShortcut="à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸à¸°à¸ªà¸£à¹à¸²à¸à¸à¸²à¸à¸¥à¸±à¸: "
+ErrorCreating="à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸à¸°à¸ªà¸£à¹à¸²à¸: "
+ErrorDecompressing=à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸à¸²à¸£à¸à¸¢à¸²à¸¢à¸à¹à¸à¸¡à¸¹à¸¥! à¸à¸±à¸§à¸à¸´à¸à¸à¸±à¹à¸à¹à¸ªà¸µà¸¢à¸«à¸²à¸¢?
+ErrorRegistering=à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸°à¹à¸à¸µà¸¢à¸ DLL
+ExecShell="ExecShell: "
+Exec="Execute: "
+Extract="à¸à¸¢à¸²à¸¢: "
+ErrorWriting="à¸à¸¢à¸²à¸¢: à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸à¸°à¹à¸à¸µà¸¢à¸à¹à¸à¸¢à¸±à¸à¹à¸à¸¥à¹ "
+InvalidOpcode=à¸à¸±à¸§à¸à¸´à¸à¸à¸±à¹à¸à¹à¸¡à¹à¸ªà¸¡à¸à¸¹à¸£à¸à¹: opcode à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+NoOLE="à¹à¸¡à¹à¸¡à¸µ OLE สำหรัà¸: "
+OutputFolder="à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸¥à¸¥à¸±à¸à¸à¹: "
+RemoveFolder="à¹à¸à¸²à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸à¸: "
+RenameOnReboot="à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸·à¹à¸à¸à¸à¸°à¹à¸£à¸´à¹à¸¡à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¹à¸«à¸¡à¹: "
+Rename="à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸·à¹à¸: "
+Skipped="à¸à¹à¸²à¸¡: "
+CopyDetails=à¸à¸±à¸à¸¥à¸à¸à¸£à¸²à¸¢à¸¥à¸°à¹à¸à¸µà¸¢à¸à¹à¸à¸¢à¸±à¸à¸à¸¥à¸´à¸à¸à¸à¸£à¹à¸
+LogInstall=à¸à¸±à¸à¸à¸¶à¸à¸à¸¹à¸¡à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸
+Byte=B
+Kilo=K
+Mega=M
+Giga=G
diff --git a/browser/pdfviewer/chrome.properties b/browser/pdfviewer/chrome.properties
new file mode 100644
index 00000000000..087646dbe03
--- /dev/null
+++ b/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=à¹à¸à¸à¸ªà¸²à¸£ PDF à¸à¸µà¹à¸à¸²à¸à¹à¸ªà¸à¸à¸à¸¥à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+unsupported_feature_forms=à¹à¸à¸à¸ªà¸²à¸£ PDF à¸à¸µà¹à¸¡à¸µà¹à¸à¸à¸à¸à¸£à¹à¸¡ à¸à¸²à¸£à¸à¸£à¸à¸à¸à¸à¸£à¹à¸¡à¸¢à¸±à¸à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸
+unsupported_feature_signatures=à¹à¸à¸à¸ªà¸²à¸£ PDF à¸à¸µà¹à¸¡à¸µà¸¥à¸²à¸¢à¹à¸à¹à¸à¸à¸´à¸à¸´à¸à¸±à¸¥ à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸¥à¸²à¸¢à¹à¸à¹à¸
+open_with_different_viewer=à¹à¸à¸´à¸à¸à¹à¸§à¸¢à¸à¸±à¸§à¸à¸¹à¸à¸·à¹à¸
+open_with_different_viewer.accessKey=à¸
diff --git a/browser/pdfviewer/viewer.properties b/browser/pdfviewer/viewer.properties
new file mode 100644
index 00000000000..c48a7115e01
--- /dev/null
+++ b/browser/pdfviewer/viewer.properties
@@ -0,0 +1,250 @@
+# 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=หà¸à¹à¸²à¸à¹à¸à¸à¸«à¸à¹à¸²
+previous_label=à¸à¹à¸à¸à¸«à¸à¹à¸²
+next.title=หà¸à¹à¸²à¸à¸±à¸à¹à¸
+next_label=à¸à¸±à¸à¹à¸
+
+# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
+page.title=หà¸à¹à¸²
+# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
+# representing the total number of pages in the document.
+of_pages=à¸à¸²à¸ {{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}} à¸à¸²à¸ {{pagesCount}})
+
+zoom_out.title=à¸à¸¹à¸¡à¸à¸à¸
+zoom_out_label=à¸à¸¹à¸¡à¸à¸à¸
+zoom_in.title=à¸à¸¹à¸¡à¹à¸à¹à¸²
+zoom_in_label=à¸à¸¹à¸¡à¹à¸à¹à¸²
+zoom.title=à¸à¸¹à¸¡
+presentation_mode.title=สลัà¸à¹à¸à¹à¸à¹à¸«à¸¡à¸à¸à¸²à¸£à¸à¸³à¹à¸ªà¸à¸
+presentation_mode_label=à¹à¸«à¸¡à¸à¸à¸²à¸£à¸à¸³à¹à¸ªà¸à¸
+open_file.title=à¹à¸à¸´à¸à¹à¸à¸¥à¹
+open_file_label=à¹à¸à¸´à¸
+print.title=à¸à¸´à¸¡à¸à¹
+print_label=à¸à¸´à¸¡à¸à¹
+download.title=à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+download_label=à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸
+bookmark.title=มุมมà¸à¸à¸à¸±à¸à¸à¸¸à¸à¸±à¸ (à¸à¸±à¸à¸¥à¸à¸à¸«à¸£à¸·à¸à¹à¸à¸´à¸à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸«à¸¡à¹)
+bookmark_label=มุมมà¸à¸à¸à¸±à¸à¸à¸¸à¸à¸±à¸
+
+# Secondary toolbar and context menu
+tools.title=à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸
+tools_label=à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸
+first_page.title=à¹à¸à¸¢à¸±à¸à¸«à¸à¹à¸²à¹à¸£à¸
+first_page_label=à¹à¸à¸¢à¸±à¸à¸«à¸à¹à¸²à¹à¸£à¸
+last_page.title=à¹à¸à¸¢à¸±à¸à¸«à¸à¹à¸²à¸ªà¸¸à¸à¸à¹à¸²à¸¢
+last_page_label=à¹à¸à¸¢à¸±à¸à¸«à¸à¹à¸²à¸ªà¸¸à¸à¸à¹à¸²à¸¢
+page_rotate_cw.title=หมุà¸à¸à¸²à¸¡à¹à¸à¹à¸¡à¸à¸²à¸¬à¸´à¸à¸²
+page_rotate_cw_label=หมุà¸à¸à¸²à¸¡à¹à¸à¹à¸¡à¸à¸²à¸¬à¸´à¸à¸²
+page_rotate_ccw.title=หมุà¸à¸à¸§à¸à¹à¸à¹à¸¡à¸à¸²à¸¬à¸´à¸à¸²
+page_rotate_ccw_label=หมุà¸à¸à¸§à¸à¹à¸à¹à¸¡à¸à¸²à¸¬à¸´à¸à¸²
+
+cursor_text_select_tool.title=à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸²à¸£à¹à¸¥à¸·à¸à¸à¸à¹à¸à¸à¸§à¸²à¸¡
+cursor_text_select_tool_label=à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸²à¸£à¹à¸¥à¸·à¸à¸à¸à¹à¸à¸à¸§à¸²à¸¡
+cursor_hand_tool.title=à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸¡à¸·à¸
+cursor_hand_tool_label=à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸¡à¸·à¸
+
+scroll_page.title=à¹à¸à¹à¸à¸²à¸£à¹à¸¥à¸·à¹à¸à¸à¸«à¸à¹à¸²
+scroll_page_label=à¸à¸²à¸£à¹à¸¥à¸·à¹à¸à¸à¸«à¸à¹à¸²
+scroll_vertical.title=à¹à¸à¹à¸à¸²à¸£à¹à¸¥à¸·à¹à¸à¸à¹à¸à¸§à¸à¸±à¹à¸
+scroll_vertical_label=à¸à¸²à¸£à¹à¸¥à¸·à¹à¸à¸à¹à¸à¸§à¸à¸±à¹à¸
+scroll_horizontal.title=à¹à¸à¹à¸à¸²à¸£à¹à¸¥à¸·à¹à¸à¸à¹à¸à¸§à¸à¸à¸
+scroll_horizontal_label=à¸à¸²à¸£à¹à¸¥à¸·à¹à¸à¸à¹à¸à¸§à¸à¸à¸
+scroll_wrapped.title=à¹à¸à¹à¸à¸²à¸£à¹à¸¥à¸·à¹à¸à¸à¹à¸à¸à¸à¸¥à¸¸à¸¡
+scroll_wrapped_label=à¹à¸¥à¸·à¹à¸à¸à¹à¸à¸à¸à¸¥à¸¸à¸¡
+
+spread_none.title=à¹à¸¡à¹à¸à¹à¸à¸à¸£à¸§à¸¡à¸à¸²à¸£à¸à¸£à¸°à¸à¸²à¸¢à¸«à¸à¹à¸²
+spread_none_label=à¹à¸¡à¹à¸à¸£à¸°à¸à¸²à¸¢
+spread_odd.title=รวมà¸à¸²à¸£à¸à¸£à¸°à¸à¸²à¸¢à¸«à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¸²à¸à¸«à¸à¹à¸²à¸à¸µà¹
+spread_odd_label=à¸à¸£à¸°à¸à¸²à¸¢à¸à¸¢à¹à¸²à¸à¹à¸«à¸¥à¸·à¸à¹à¸¨à¸©
+spread_even.title=รวมà¸à¸²à¸£à¸à¸£à¸°à¸à¸²à¸¢à¸«à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¸²à¸à¸«à¸à¹à¸²à¸à¸¹à¹
+spread_even_label=à¸à¸£à¸°à¸à¸²à¸¢à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸²à¹à¸à¸µà¸¢à¸¡
+
+# Document properties dialog box
+document_properties.title=à¸à¸¸à¸à¸ªà¸¡à¸à¸±à¸à¸´à¹à¸à¸à¸ªà¸²à¸£â¦
+document_properties_label=à¸à¸¸à¸à¸ªà¸¡à¸à¸±à¸à¸´à¹à¸à¸à¸ªà¸²à¸£â¦
+document_properties_file_name=à¸à¸·à¹à¸à¹à¸à¸¥à¹:
+document_properties_file_size=à¸à¸à¸²à¸à¹à¸à¸¥à¹:
+# 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}} à¹à¸à¸à¹)
+# 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}} à¹à¸à¸à¹)
+document_properties_title=à¸à¸·à¹à¸à¹à¸£à¸·à¹à¸à¸:
+document_properties_author=à¸à¸¹à¹à¸ªà¸£à¹à¸²à¸:
+document_properties_subject=à¸à¸·à¹à¸à¹à¸£à¸·à¹à¸à¸:
+document_properties_keywords=à¸à¸³à¸ªà¸³à¸à¸±à¸:
+document_properties_creation_date=วัà¸à¸à¸µà¹à¸ªà¸£à¹à¸²à¸:
+document_properties_modification_date=วัà¸à¸à¸µà¹à¹à¸à¹à¹à¸:
+# 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=à¸à¸¹à¹à¸ªà¸£à¹à¸²à¸:
+document_properties_producer=à¸à¸¹à¹à¸à¸¥à¸´à¸ PDF:
+document_properties_version=รุà¹à¸ PDF:
+document_properties_page_count=à¸à¸³à¸à¸§à¸à¸«à¸à¹à¸²:
+document_properties_page_size=à¸à¸à¸²à¸à¸«à¸à¹à¸²:
+document_properties_page_size_unit_inches=in
+document_properties_page_size_unit_millimeters=mm
+document_properties_page_size_orientation_portrait=à¹à¸à¸§à¸à¸±à¹à¸
+document_properties_page_size_orientation_landscape=à¹à¸à¸§à¸à¸à¸
+document_properties_page_size_name_a3=A3
+document_properties_page_size_name_a4=A4
+document_properties_page_size_name_letter=à¸à¸à¸«à¸¡à¸²à¸¢
+document_properties_page_size_name_legal=à¸à¹à¸à¸à¸à¸«à¸¡à¸²à¸¢
+# 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=มุมมà¸à¸à¹à¸§à¹à¸à¹à¸à¸à¸£à¸§à¸à¹à¸£à¹à¸§:
+document_properties_linearized_yes=à¹à¸à¹
+document_properties_linearized_no=à¹à¸¡à¹
+document_properties_close=à¸à¸´à¸
+
+print_progress_message=à¸à¸³à¸¥à¸±à¸à¹à¸à¸£à¸µà¸¢à¸¡à¹à¸à¸à¸ªà¸²à¸£à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¸´à¸¡à¸à¹â¦
+# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
+# a numerical per cent value.
+print_progress_percent={{progress}}%
+print_progress_close=ยà¸à¹à¸¥à¸´à¸
+
+# 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=à¹à¸à¸´à¸/à¸à¸´à¸à¹à¸à¸à¸à¹à¸²à¸
+toggle_sidebar_notification2.title=à¹à¸à¸´à¸/à¸à¸´à¸à¹à¸à¸à¸à¹à¸²à¸ (à¹à¸à¸à¸ªà¸²à¸£à¸¡à¸µà¹à¸à¹à¸²à¸£à¹à¸²à¸/à¹à¸à¸¥à¹à¹à¸à¸/à¹à¸¥à¹à¸¢à¸à¸£à¹)
+toggle_sidebar_label=à¹à¸à¸´à¸/à¸à¸´à¸à¹à¸à¸à¸à¹à¸²à¸
+document_outline.title=à¹à¸ªà¸à¸à¹à¸à¹à¸²à¸£à¹à¸²à¸à¹à¸à¸à¸ªà¸²à¸£ (à¸à¸¥à¸´à¸à¸ªà¸à¸à¸à¸£à¸±à¹à¸à¹à¸à¸·à¹à¸à¸à¸¢à¸²à¸¢/ยุà¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸±à¹à¸à¸«à¸¡à¸)
+document_outline_label=à¹à¸à¹à¸²à¸£à¹à¸²à¸à¹à¸à¸à¸ªà¸²à¸£
+attachments.title=à¹à¸ªà¸à¸à¹à¸à¸¥à¹à¹à¸à¸
+attachments_label=à¹à¸à¸¥à¹à¹à¸à¸
+layers.title=à¹à¸ªà¸à¸à¹à¸¥à¹à¸¢à¸à¸£à¹ (à¸à¸¥à¸´à¸à¸ªà¸à¸à¸à¸£à¸±à¹à¸à¹à¸à¸·à¹à¸à¸£à¸µà¹à¸à¹à¸à¹à¸¥à¹à¸¢à¸à¸£à¹à¸à¸±à¹à¸à¸«à¸¡à¸à¹à¸à¹à¸à¸ªà¸à¸²à¸à¸°à¹à¸£à¸´à¹à¸¡à¸à¹à¸)
+layers_label=à¹à¸¥à¹à¸¢à¸à¸£à¹
+thumbs.title=à¹à¸ªà¸à¸à¸ าà¸à¸à¸à¸²à¸à¸¢à¹à¸
+thumbs_label=ภาà¸à¸à¸à¸²à¸à¸¢à¹à¸
+current_outline_item.title=à¸à¹à¸à¸«à¸²à¸£à¸²à¸¢à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¹à¸²à¸à¸à¸±à¸à¸à¸¸à¸à¸±à¸
+current_outline_item_label=รายà¸à¸²à¸£à¹à¸à¹à¸²à¸£à¹à¸²à¸à¸à¸±à¸à¸à¸¸à¸à¸±à¸
+findbar.title=à¸à¹à¸à¸«à¸²à¹à¸à¹à¸à¸à¸ªà¸²à¸£
+findbar_label=à¸à¹à¸à¸«à¸²
+
+additional_layers=à¹à¸¥à¹à¸¢à¸à¸£à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
+page_landmark=หà¸à¹à¸² {{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=หà¸à¹à¸² {{page}}
+# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
+# number.
+thumb_page_canvas=ภาà¸à¸à¸à¸²à¸à¸¢à¹à¸à¸à¸à¸à¸«à¸à¹à¸² {{page}}
+
+# Find panel button title and messages
+find_input.title=à¸à¹à¸à¸«à¸²
+find_input.placeholder=à¸à¹à¸à¸«à¸²à¹à¸à¹à¸à¸à¸ªà¸²à¸£â¦
+find_previous.title=หาà¸à¸³à¹à¸«à¸à¹à¸à¸à¹à¸à¸à¸«à¸à¹à¸²à¸à¸à¸à¸§à¸¥à¸µ
+find_previous_label=à¸à¹à¸à¸à¸«à¸à¹à¸²
+find_next.title=หาà¸à¸³à¹à¸«à¸à¹à¸à¸à¸±à¸à¹à¸à¸à¸à¸à¸§à¸¥à¸µ
+find_next_label=à¸à¸±à¸à¹à¸
+find_highlight=à¹à¸à¹à¸à¸ªà¸µà¸à¸±à¹à¸à¸«à¸¡à¸
+find_match_case_label=à¸à¸±à¸§à¸à¸´à¸¡à¸à¹à¹à¸«à¸à¹à¹à¸¥à¹à¸à¸à¸£à¸à¸à¸±à¸
+find_entire_word_label=à¸à¸±à¹à¸à¸à¸³
+find_reached_top=à¸à¹à¸à¸«à¸²à¸à¸¶à¸à¸à¸¸à¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¸«à¸à¹à¸² à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¹à¸à¸à¸²à¸à¸à¹à¸²à¸à¸¥à¹à¸²à¸
+find_reached_bottom=à¸à¹à¸à¸«à¸²à¸à¸¶à¸à¸à¸¸à¸à¸ªà¸´à¹à¸à¸ªà¸¸à¸à¸«à¸à¹à¸² à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¹à¸à¸à¸²à¸à¸à¹à¸²à¸à¸à¸
+# 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}} à¸à¸²à¸ {{total}} à¸à¸µà¹à¸à¸£à¸à¸à¸±à¸
+find_match_count[two]={{current}} à¸à¸²à¸ {{total}} à¸à¸µà¹à¸à¸£à¸à¸à¸±à¸
+find_match_count[few]={{current}} à¸à¸²à¸ {{total}} à¸à¸µà¹à¸à¸£à¸à¸à¸±à¸
+find_match_count[many]={{current}} à¸à¸²à¸ {{total}} à¸à¸µà¹à¸à¸£à¸à¸à¸±à¸
+find_match_count[other]={{current}} à¸à¸²à¸ {{total}} à¸à¸µà¹à¸à¸£à¸à¸à¸±à¸
+# 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]=มาà¸à¸à¸§à¹à¸² {{limit}} à¸à¸µà¹à¸à¸£à¸à¸à¸±à¸
+find_match_count_limit[one]=มาà¸à¸à¸§à¹à¸² {{limit}} à¸à¸µà¹à¸à¸£à¸à¸à¸±à¸
+find_match_count_limit[two]=มาà¸à¸à¸§à¹à¸² {{limit}} à¸à¸µà¹à¸à¸£à¸à¸à¸±à¸
+find_match_count_limit[few]=มาà¸à¸à¸§à¹à¸² {{limit}} à¸à¸µà¹à¸à¸£à¸à¸à¸±à¸
+find_match_count_limit[many]=มาà¸à¸à¸§à¹à¸² {{limit}} à¸à¸µà¹à¸à¸£à¸à¸à¸±à¸
+find_match_count_limit[other]=มาà¸à¸à¸§à¹à¸² {{limit}} à¸à¸µà¹à¸à¸£à¸à¸à¸±à¸
+find_not_found=à¹à¸¡à¹à¸à¸à¸§à¸¥à¸µ
+
+# Error panel labels
+error_more_info=à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+error_less_info=à¸à¹à¸à¸¡à¸¹à¸¥à¸à¹à¸à¸¢à¸¥à¸
+error_close=à¸à¸´à¸
+# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
+# replaced by the PDF.JS version and build ID.
+error_version_info=PDF.js v{{version}} (build: {{build}})
+# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
+# english string describing the error.
+error_message=à¸à¹à¸à¸à¸§à¸²à¸¡: {{message}}
+# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
+# trace.
+error_stack=สà¹à¸à¸: {{stack}}
+# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
+error_file=à¹à¸à¸¥à¹: {{file}}
+# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
+error_line=à¸à¸£à¸£à¸à¸±à¸: {{line}}
+rendering_error=à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸à¸°à¹à¸£à¸à¹à¸à¸à¸£à¹à¸«à¸à¹à¸²
+
+# Predefined zoom values
+page_scale_width=à¸à¸§à¸²à¸¡à¸à¸§à¹à¸²à¸à¸«à¸à¹à¸²
+page_scale_fit=à¸à¸à¸à¸µà¸«à¸à¹à¸²
+page_scale_auto=à¸à¸¹à¸¡à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+page_scale_actual=à¸à¸à¸²à¸à¸à¸£à¸´à¸
+# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
+# numerical scale value.
+page_scale_percent={{scale}}%
+
+# Loading indicator messages
+loading=à¸à¸³à¸¥à¸±à¸à¹à¸«à¸¥à¸â¦
+loading_error=à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸à¸°à¹à¸«à¸¥à¸ PDF
+invalid_file_error=à¹à¸à¸¥à¹ PDF à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸à¸«à¸£à¸·à¸à¹à¸ªà¸µà¸¢à¸«à¸²à¸¢
+missing_file_error=à¹à¸à¸¥à¹ PDF หายà¹à¸
+unexpected_response_error=à¸à¸²à¸£à¸à¸à¸à¸ªà¸à¸à¸à¸à¸à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¸à¸´à¸
+
+# 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}}]
+password_label=à¸à¹à¸à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¹à¸à¸·à¹à¸à¹à¸à¸´à¸à¹à¸à¸¥à¹ PDF à¸à¸µà¹
+password_invalid=รหัสà¸à¹à¸²à¸à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸ à¹à¸à¸£à¸à¸¥à¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸
+password_ok=à¸à¸à¸¥à¸
+password_cancel=ยà¸à¹à¸¥à¸´à¸
+
+printing_not_supported=à¸à¸³à¹à¸à¸·à¸à¸: à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸²à¸£à¸à¸´à¸¡à¸à¹à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸¡à¸à¸µà¹
+printing_not_ready=à¸à¸³à¹à¸à¸·à¸à¸: PDF à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¹à¸«à¸¥à¸à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸¡à¸à¸µà¹à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¸´à¸¡à¸à¹
+web_fonts_disabled=à¹à¸à¸à¸à¸±à¸à¸©à¸£à¹à¸§à¹à¸à¸à¸¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸: à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¹à¸à¸à¸à¸±à¸à¸©à¸£ PDF à¸à¸±à¸à¸à¸±à¸§
diff --git a/browser/profile/bookmarks.inc b/browser/profile/bookmarks.inc
new file mode 100644
index 00000000000..d59e3a8c2b8
--- /dev/null
+++ b/browser/profile/bookmarks.inc
@@ -0,0 +1,72 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 emptyLines
+
+# LOCALIZATION NOTE: The 'en-US' strings in the URLs will be replaced with
+# your locale code, and link to your translated pages as soon as they're
+# live.
+
+#define bookmarks_title à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+#define bookmarks_heading à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+
+#define bookmarks_toolbarfolder à¹à¸à¸¥à¹à¸à¸à¸£à¹à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+#define bookmarks_toolbarfolder_description à¹à¸à¸´à¹à¸¡à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸à¸¢à¸±à¸à¹à¸à¸¥à¹à¸à¸à¸£à¹à¸à¸µà¹à¹à¸à¸·à¹à¸à¹à¸«à¹à¹à¸ªà¸à¸à¸à¸¥à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²à¹à¸à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸µà¹à¸à¸±à¹à¸à¸«à¸à¹à¸²
+
+# LOCALIZATION NOTE (getting_started):
+# link title for https://www.mozilla.org/en-US/firefox/central/
+#define getting_started à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¹à¸à¹à¸à¸²à¸
+
+# LOCALIZATION NOTE (firefox_heading):
+# Firefox links folder name
+#define firefox_heading Mozilla Firefox
+
+# LOCALIZATION NOTE (firefox_help):
+# link title for https://www.mozilla.org/en-US/firefox/help/
+#define firefox_help à¸à¸§à¸²à¸¡à¸à¹à¸§à¸¢à¹à¸«à¸¥à¸·à¸à¹à¸¥à¸°à¸§à¸´à¸à¸µà¹à¸à¹
+
+# LOCALIZATION NOTE (firefox_get_help):
+# link title for https://www.mozilla.org/en-US/firefox/help/
+#define firefox_get_help รัà¸à¸à¸§à¸²à¸¡à¸à¹à¸§à¸¢à¹à¸«à¸¥à¸·à¸
+
+# LOCALIZATION NOTE (firefox_customize):
+# link title for https://www.mozilla.org/en-US/firefox/customize/
+#define firefox_customize à¸à¸£à¸±à¸à¹à¸à¹à¸ Firefox
+
+# LOCALIZATION NOTE (firefox_community):
+# link title for https://www.mozilla.org/en-US/contribute/
+#define firefox_community มีสà¹à¸§à¸à¸£à¹à¸§à¸¡
+
+# LOCALIZATION NOTE (firefox_about):
+# link title for https://www.mozilla.org/en-US/about/
+#define firefox_about à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¹à¸£à¸²
+
+# LOCALIZATION NOTE (nightly_heading):
+# Firefox Nightly links folder name
+#define nightly_heading à¸à¸£à¸±à¸à¸¢à¸²à¸à¸£ Firefox Nightly
+
+# LOCALIZATION NOTE (nightly_blog):
+# Nightly builds only, link title for https://blog.nightly.mozilla.org/
+#define nightly_blog à¸à¸¥à¹à¸à¸ Firefox Nightly
+
+# LOCALIZATION NOTE (bugzilla):
+# Nightly builds only, link title for https://bugzilla.mozilla.org/
+#define bugzilla à¸à¸±à¸§à¸à¸´à¸à¸à¸²à¸¡à¸à¹à¸à¸à¸à¸à¸£à¹à¸à¸ Mozilla
+
+# LOCALIZATION NOTE (mdn):
+# Nightly builds only, link title for https://developer.mozilla.org/
+#define mdn à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢à¸à¸±à¸à¸à¸±à¸à¸à¸² Mozilla
+
+# LOCALIZATION NOTE (nightly_tester_tools):
+# Nightly builds only, link title for https://addons.mozilla.org/en-US/firefox/addon/nightly-tester-tools/
+#define nightly_tester_tools à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸à¸ªà¸à¸ Nightly
+
+# LOCALIZATION NOTE (crashes):
+# Nightly builds only, link title for about:crashes
+#define crashes à¸à¹à¸à¸à¸±à¸à¸à¹à¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸à¸à¸à¸¸à¸
+
+# LOCALIZATION NOTE (planet):
+# Nightly builds only, link title for https://planet.mozilla.org/
+#define planet à¸à¸²à¸§à¹à¸à¸£à¸²à¸°à¸«à¹ Mozilla
+
+#unfilter emptyLines
diff --git a/browser/updater/updater.ini b/browser/updater/updater.ini
new file mode 100644
index 00000000000..a65c26f599d
--- /dev/null
+++ b/browser/updater/updater.ini
@@ -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 file is in the UTF-8 encoding
+# All strings must be less than 600 chars.
+[Strings]
+TitleText=à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸ %MOZ_APP_DISPLAYNAME%
+InfoText=%MOZ_APP_DISPLAYNAME% à¸à¸³à¸¥à¸±à¸à¸à¸´à¸à¸à¸±à¹à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¸à¸à¸à¸à¸¸à¸à¹à¸¥à¸°à¸à¸°à¹à¸£à¸´à¹à¸¡à¹à¸à¸à¸µà¸à¸ªà¸±à¸à¸à¸£à¸¹à¹â¦
+MozillaMaintenanceDescription=à¸à¸£à¸´à¸à¸²à¸£à¸à¸³à¸£à¸¸à¸à¸£à¸±à¸à¸©à¸²à¸à¸à¸ Mozilla à¸à¸³à¹à¸«à¹à¹à¸à¹à¹à¸à¸§à¹à¸²à¸à¸¸à¸à¸¡à¸µ Mozilla Firefox รุà¹à¸à¸¥à¹à¸²à¸ªà¸¸à¸à¹à¸¥à¸°à¸à¸¥à¸à¸à¸ ัยà¸à¸µà¹à¸ªà¸¸à¸à¸à¸¢à¸¹à¹à¹à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸ à¸à¸²à¸£à¸à¸³ Firefox à¹à¸«à¹à¹à¸à¹à¸à¸£à¸¸à¹à¸à¸¥à¹à¸²à¸ªà¸¸à¸à¸à¸¢à¸¹à¹à¹à¸ªà¸¡à¸à¹à¸à¹à¸à¸ªà¸´à¹à¸à¸ªà¸³à¸à¸±à¸à¸à¸¢à¹à¸²à¸à¸¡à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¹à¸¥à¸à¹à¸à¸à¸à¸à¸¸à¸ à¹à¸¥à¸° Mozilla à¹à¸à¸°à¸à¸³à¹à¸à¹à¸à¸à¸¢à¹à¸²à¸à¸¢à¸´à¹à¸à¹à¸«à¹à¸à¸¸à¸à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸£à¸´à¸à¸²à¸£à¸à¸µà¹à¹à¸§à¹
diff --git a/calendar/calendar/calendar-context-menus.ftl b/calendar/calendar/calendar-context-menus.ftl
new file mode 100644
index 00000000000..8590881a847
--- /dev/null
+++ b/calendar/calendar/calendar-context-menus.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/.
+
+calendar-item-context-menu-modify-menuitem =
+ .label = à¹à¸à¹à¹à¸
+ .accesskey = à¸
diff --git a/calendar/calendar/calendar-editable-item.ftl b/calendar/calendar/calendar-editable-item.ftl
new file mode 100644
index 00000000000..679170cc6cd
--- /dev/null
+++ b/calendar/calendar/calendar-editable-item.ftl
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-editable-item-privacy-icon-private =
+ .alt = à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§: à¸à¸´à¸à¸à¸£à¸£à¸¡à¸ªà¹à¸§à¸à¸à¸±à¸§
+calendar-editable-item-privacy-icon-confidential =
+ .alt = à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§: à¹à¸ªà¸à¸à¸§à¸±à¸à¹à¸¥à¸°à¹à¸§à¸¥à¸²à¹à¸à¹à¸²à¸à¸±à¹à¸
+calendar-editable-item-todo-icon-task =
+ .alt = à¸à¸²à¸
+calendar-editable-item-todo-icon-completed-task =
+ .alt = à¸à¸²à¸à¸à¸µà¹à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹
diff --git a/calendar/calendar/calendar-event-dialog-reminder.ftl b/calendar/calendar/calendar-event-dialog-reminder.ftl
new file mode 100644
index 00000000000..6fbe8159b2d
--- /dev/null
+++ b/calendar/calendar/calendar-event-dialog-reminder.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/calendar/calendar/calendar-ics-file-dialog.ftl b/calendar/calendar/calendar-ics-file-dialog.ftl
new file mode 100644
index 00000000000..941485cbbec
--- /dev/null
+++ b/calendar/calendar/calendar-ics-file-dialog.ftl
@@ -0,0 +1,41 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-ics-file-window-2 =
+ .title = à¸à¸³à¹à¸à¹à¸²à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¹à¸¥à¸°à¸à¸²à¸à¹à¸à¸à¸à¸´à¸à¸´à¸
+calendar-ics-file-dialog-import-event-button-label = à¸à¸³à¹à¸à¹à¸²à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹
+calendar-ics-file-dialog-import-task-button-label = à¸à¸³à¹à¸à¹à¸²à¸à¸²à¸
+calendar-ics-file-dialog-2 =
+ .buttonlabelaccept = à¸à¸³à¹à¸à¹à¸²à¸à¸±à¹à¸à¸«à¸¡à¸
+calendar-ics-file-accept-button-ok-label = à¸à¸à¸¥à¸
+calendar-ics-file-cancel-button-close-label = à¸à¸´à¸
+calendar-ics-file-dialog-message-2 = à¸à¸³à¹à¸à¹à¸²à¸à¸²à¸à¹à¸à¸¥à¹â¦
+calendar-ics-file-dialog-calendar-menu-label = à¸à¸³à¹à¸à¹à¸²à¸ªà¸¹à¹à¸à¸à¸´à¸à¸´à¸:
+calendar-ics-file-dialog-items-loading-message =
+ .value = à¸à¸³à¸¥à¸±à¸à¹à¸«à¸¥à¸à¸£à¸²à¸¢à¸à¸²à¸£â¦
+calendar-ics-file-dialog-search-input =
+ .placeholder = à¸à¸£à¸à¸à¸£à¸²à¸¢à¸à¸²à¸£â¦
+calendar-ics-file-dialog-sort-start-ascending =
+ .label = à¹à¸£à¸µà¸¢à¸à¸à¸²à¸¡à¸§à¸±à¸à¹à¸£à¸´à¹à¸¡ (หัวà¸à¸¶à¸à¸à¹à¸²à¸¢)
+# "A > Z" is used as a concise way to say "alphabetical order".
+# You may replace it with something appropriate to your language.
+calendar-ics-file-dialog-sort-title-ascending =
+ .label = à¹à¸£à¸µà¸¢à¸à¸à¸²à¸¡à¸«à¸±à¸§à¹à¸£à¸·à¹à¸à¸ (ภ> ฮ)
+# "Z > A" is used as a concise way to say "reverse alphabetical order".
+# You may replace it with something appropriate to your language.
+calendar-ics-file-dialog-sort-title-descending =
+ .label = à¹à¸£à¸µà¸¢à¸à¸à¸²à¸¡à¸«à¸±à¸§à¹à¸£à¸·à¹à¸à¸ (ฮ > à¸)
+calendar-ics-file-dialog-progress-message = à¸à¸³à¸¥à¸±à¸à¸à¸³à¹à¸à¹à¸²â¦
+calendar-ics-file-import-success = à¸à¸³à¹à¸à¹à¸²à¹à¸£à¸µà¸¢à¸à¸£à¹à¸à¸¢!
+calendar-ics-file-import-error = à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸²à¸¥à¹à¸¡à¹à¸«à¸¥à¸§
+calendar-ics-file-import-complete = à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸²à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹
+calendar-ics-file-import-duplicates =
+ { $duplicatesCount ->
+ *[other] { $duplicatesCount } รายà¸à¸²à¸£à¸à¸¹à¸à¹à¸à¸´à¸à¹à¸à¸¢à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸¡à¸µà¸à¸¢à¸¹à¹à¹à¸à¸à¸à¸´à¸à¸´à¸à¸à¸¥à¸²à¸¢à¸à¸²à¸à¹à¸¥à¹à¸§
+ }
+calendar-ics-file-import-errors =
+ { $errorsCount ->
+ *[other] à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸² { $errorsCount } รายà¸à¸²à¸£à¹à¸à¹ à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸à¸à¹à¸à¸¥à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸£à¸²à¸¢à¸¥à¸°à¹à¸à¸µà¸¢à¸
+ }
+calendar-ics-file-dialog-no-calendars = à¹à¸¡à¹à¸¡à¸µà¸à¸à¸´à¸à¸´à¸à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸²à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸«à¸£à¸·à¸à¸à¸²à¸à¹à¸à¹
diff --git a/calendar/calendar/calendar-invitations-dialog.ftl b/calendar/calendar/calendar-invitations-dialog.ftl
new file mode 100644
index 00000000000..6fbe8159b2d
--- /dev/null
+++ b/calendar/calendar/calendar-invitations-dialog.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/calendar/calendar/calendar-itip-identity-dialog.ftl b/calendar/calendar/calendar-itip-identity-dialog.ftl
new file mode 100644
index 00000000000..6fbe8159b2d
--- /dev/null
+++ b/calendar/calendar/calendar-itip-identity-dialog.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/calendar/calendar/calendar-print.ftl b/calendar/calendar/calendar-print.ftl
new file mode 100644
index 00000000000..6fbe8159b2d
--- /dev/null
+++ b/calendar/calendar/calendar-print.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/calendar/calendar/calendar-summary-dialog.ftl b/calendar/calendar/calendar-summary-dialog.ftl
new file mode 100644
index 00000000000..e41ce045978
--- /dev/null
+++ b/calendar/calendar/calendar-summary-dialog.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/.
+
+calendar-summary-dialog-edit-button =
+ .label = à¹à¸à¹à¹à¸
+ .accesskey = E
+calendar-summary-dialog-edit-menu-button =
+ .label = à¹à¸à¹à¹à¸
+edit-button-context-menu-this-occurrence =
+ .label = à¹à¸à¹à¹à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸à¹à¸²à¸à¸±à¹à¸
+ .accesskey = t
+edit-button-context-menu-all-occurrences =
+ .label = à¹à¸à¹à¹à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸
+ .accesskey = a
diff --git a/calendar/calendar/calendar-uri-redirect-dialog.ftl b/calendar/calendar/calendar-uri-redirect-dialog.ftl
new file mode 100644
index 00000000000..3a4c4694e21
--- /dev/null
+++ b/calendar/calendar/calendar-uri-redirect-dialog.ftl
@@ -0,0 +1,11 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-uri-redirect-window =
+ .title = à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸ªà¹à¸à¸à¸²à¸ URI à¸à¸à¸à¸à¸à¸´à¸à¸´à¸
+calendar-uri-redirect-description =
+ à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸³à¸¥à¸±à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸ªà¹à¸à¸à¸²à¸ URI สำหรัà¸à¸à¸à¸´à¸à¸´à¸ "{ $calendarName }"
+ à¸à¹à¸à¸à¸à¸²à¸£à¸¢à¸à¸¡à¸£à¸±à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸ªà¹à¸à¸à¸²à¸à¹à¸¥à¸°à¹à¸£à¸´à¹à¸¡à¹à¸à¹ URI à¹à¸«à¸¡à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸à¸´à¸à¸´à¸à¸à¸µà¹à¸«à¸£à¸·à¸à¹à¸¡à¹?
+calendar-uri-redirect-original-uri-label = URI à¸à¸±à¸à¸à¸¸à¸à¸±à¸:
+calendar-uri-redirect-target-uri-label = à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸ªà¹à¸à¸à¸²à¸à¹à¸à¸¢à¸±à¸ URI à¹à¸«à¸¡à¹:
diff --git a/calendar/calendar/calendar-widgets.ftl b/calendar/calendar/calendar-widgets.ftl
new file mode 100644
index 00000000000..aa4e8c09be5
--- /dev/null
+++ b/calendar/calendar/calendar-widgets.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/.
+
+calendar-deactivated-notification-events = à¸à¸à¸´à¸à¸´à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¸à¸à¸°à¸à¸µà¹ à¹à¸«à¹à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸à¸´à¸à¸´à¸à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹à¸«à¸£à¸·à¸à¹à¸à¸´à¹à¸¡à¸à¸à¸´à¸à¸´à¸à¹à¸«à¸¡à¹à¹à¸à¸·à¹à¸à¸ªà¸£à¹à¸²à¸à¹à¸¥à¸°à¹à¸à¹à¹à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹
+calendar-deactivated-notification-tasks = à¸à¸à¸´à¸à¸´à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¸à¸à¸°à¸à¸µà¹ à¹à¸«à¹à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸à¸´à¸à¸´à¸à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹à¸«à¸£à¸·à¸à¹à¸à¸´à¹à¸¡à¸à¸à¸´à¸à¸´à¸à¹à¸«à¸¡à¹à¹à¸à¸·à¹à¸à¸ªà¸£à¹à¸²à¸à¹à¸¥à¸°à¹à¸à¹à¹à¸à¸à¸²à¸
diff --git a/calendar/calendar/category-dialog.ftl b/calendar/calendar/category-dialog.ftl
new file mode 100644
index 00000000000..314c04be70a
--- /dev/null
+++ b/calendar/calendar/category-dialog.ftl
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+category-name-label = à¸à¸·à¹à¸
+category-color-label =
+ .label = à¹à¸à¹à¸ªà¸µ
diff --git a/calendar/calendar/preferences.ftl b/calendar/calendar/preferences.ftl
new file mode 100644
index 00000000000..d1885ecc860
--- /dev/null
+++ b/calendar/calendar/preferences.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/.
+
+calendar-title = à¸à¸à¸´à¸à¸´à¸
+calendar-title-reminder = à¸à¸±à¸§à¹à¸à¸·à¸à¸à¸à¸§à¸²à¸¡à¸à¸³
+calendar-title-category = หมวà¸à¸«à¸¡à¸¹à¹
+dateformat-label =
+ .value = รูà¸à¹à¸à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸§à¸±à¸à¸à¸µà¹:
+ .accesskey = ว
+# $date (String) - the formatted example date
+dateformat-long =
+ .label = ยาว: { $date }
+# $date (String) - the formatted example date
+dateformat-short =
+ .label = สัà¹à¸: { $date }
+timezone-label =
+ .value = à¹à¸à¸à¹à¸§à¸¥à¸²:
+weekstart-label =
+ .value = à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸ªà¸±à¸à¸à¸²à¸«à¹à¸à¸µà¹:
+ .accesskey = ร
+day-1-name =
+ .label = วัà¸à¸à¸²à¸à¸´à¸à¸¢à¹
+day-2-name =
+ .label = วัà¸à¸à¸±à¸à¸à¸£à¹
+day-3-name =
+ .label = วัà¸à¸à¸±à¸à¸à¸²à¸£
+day-4-name =
+ .label = วัà¸à¸à¸¸à¸
+day-5-name =
+ .label = วัà¸à¸à¸¤à¸«à¸±à¸ªà¸à¸à¸µ
+day-6-name =
+ .label = วัà¸à¸¨à¸¸à¸à¸£à¹
+day-7-name =
+ .label = วัà¸à¹à¸ªà¸²à¸£à¹
+show-weeknumber-label =
+ .label = à¹à¸ªà¸à¸à¸«à¸¡à¸²à¸¢à¹à¸¥à¸à¸ªà¸±à¸à¸à¸²à¸«à¹à¹à¸à¸¡à¸¸à¸¡à¸¡à¸à¸à¹à¸¥à¸°à¹à¸à¸·à¸à¸à¸à¸à¸²à¸à¹à¸¥à¹à¸
+ .accesskey = ส
+workdays-label =
+ .value = วัà¸à¸à¸³à¸à¸²à¸à¹à¸à¸«à¸à¸¶à¹à¸à¸ªà¸±à¸à¸à¸²à¸«à¹:
+day-1-checkbox =
+ .label = à¸à¸²à¸à¸´à¸à¸¢à¹
+ .accesskey = า
+day-2-checkbox =
+ .label = à¸à¸±à¸à¸à¸£à¹
+ .accesskey = à¸
+day-3-checkbox =
+ .label = à¸à¸±à¸à¸à¸²à¸£
+ .accesskey = à¸
+day-4-checkbox =
+ .label = à¸à¸¸à¸
+ .accesskey = à¸
+day-5-checkbox =
+ .label = à¸à¸¤à¸«à¸±à¸ªà¸à¸à¸µ
+ .accesskey = ฤ
+day-6-checkbox =
+ .label = ศุà¸à¸£à¹
+ .accesskey = ศ
+day-7-checkbox =
+ .label = à¹à¸ªà¸²à¸£à¹
+ .accesskey = ส
+dayweek-legend = มุมมà¸à¸à¸§à¸±à¸à¹à¸¥à¸°à¸ªà¸±à¸à¸à¸²à¸«à¹
+visible-hours-label =
+ .value = à¹à¸ªà¸à¸:
+ .accesskey = ส
+visible-hours-end-label =
+ .value = à¸à¸±à¹à¸§à¹à¸¡à¸à¸à¹à¸à¸à¸£à¸±à¹à¸
+day-start-label =
+ .value = วัà¸à¹à¸£à¸´à¹à¸¡à¸à¸µà¹:
+ .accesskey = ว
+day-end-label =
+ .value = วัà¸à¸ªà¸´à¹à¸à¸ªà¸¸à¸à¸à¸µà¹:
+ .accesskey = à¸
+midnight-label =
+ .label = à¹à¸à¸µà¹à¸¢à¸à¸à¸·à¸
+noon-label =
+ .label = à¹à¸à¸µà¹à¸¢à¸à¸§à¸±à¸
+location-checkbox =
+ .label = à¹à¸ªà¸à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸
+ .accesskey = ส
+multiweek-legend = มุมมà¸à¸à¸«à¸¥à¸²à¸¢à¸ªà¸±à¸à¸à¸²à¸«à¹
+number-of-weeks-label =
+ .value = à¸à¸³à¸à¸§à¸à¸ªà¸±à¸à¸à¸²à¸«à¹à¸à¸µà¹à¸à¸°à¹à¸ªà¸à¸ (รวมà¸à¸¶à¸à¸ªà¸±à¸à¸à¸²à¸«à¹à¸à¹à¸à¸à¸«à¸à¹à¸²):
+ .accesskey = à¸
+week-0-label =
+ .label = à¹à¸¡à¹à¸¡à¸µ
+week-1-label =
+ .label = 1 สัà¸à¸à¸²à¸«à¹
+week-2-label =
+ .label = 2 สัà¸à¸à¸²à¸«à¹
+week-3-label =
+ .label = 3 สัà¸à¸à¸²à¸«à¹
+week-4-label =
+ .label = 4 สัà¸à¸à¸²à¸«à¹
+week-5-label =
+ .label = 5 สัà¸à¸à¸²à¸«à¹
+week-6-label =
+ .label = 6 สัà¸à¸à¸²à¸«à¹
+previous-weeks-label =
+ .value = สัà¸à¸à¸²à¸«à¹à¸à¹à¸à¸à¸«à¸à¹à¸²à¸à¸µà¹à¸à¸°à¹à¸ªà¸à¸:
+ .accesskey = ส
+todaypane-legend = à¸à¸²à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸§à¸±à¸à¸à¸µà¹
+# Note: "Upcoming" is the name of a section and the translation must match the
+# translation of that section name (calendar.upcoming.button.label). Also,
+# it should be upper case (as a proper name) if the target language permits.
+soon-label =
+ .value = สà¹à¸§à¸ à¸à¸³à¸¥à¸±à¸à¸¡à¸²à¸à¸¶à¸ à¹à¸ªà¸à¸:
+ .accesskey = à¸
+event-task-legend = à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¹à¸¥à¸°à¸à¸²à¸
+default-length-label =
+ .value = à¸à¸§à¸²à¸¡à¸¢à¸²à¸§à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¹à¸¥à¸°à¸à¸²à¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸:
+ .accesskey = ย
+task-start-label =
+ .value = วัà¸à¸à¸µà¹à¹à¸£à¸´à¹à¸¡:
+task-start-1-label =
+ .label = à¹à¸¡à¹à¸¡à¸µ
+task-start-2-label =
+ .label = à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸à¸à¸§à¸±à¸
+task-start-3-label =
+ .label = สิà¹à¸à¸ªà¸¸à¸à¸à¸à¸à¸§à¸±à¸
+task-start-4-label =
+ .label = à¸à¸£à¸¸à¹à¸à¸à¸µà¹
+task-start-5-label =
+ .label = สัà¸à¸à¸²à¸«à¹à¸à¸±à¸à¹à¸
+task-start-6-label =
+ .label = สัมà¸à¸±à¸à¸à¹à¸à¸±à¸à¹à¸§à¸¥à¸²à¸à¸±à¸à¸à¸¸à¸à¸±à¸
+task-start-7-label =
+ .label = สัมà¸à¸±à¸à¸à¹à¸à¸±à¸à¹à¸§à¸¥à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+task-start-8-label =
+ .label = สัมà¸à¸±à¸à¸à¹à¸à¸±à¸à¸à¸±à¹à¸§à¹à¸¡à¸à¸à¸±à¸à¹à¸
+task-due-label =
+ .value = วัà¸à¸à¸µà¹à¸à¸£à¸à¸à¸³à¸«à¸à¸:
+edit-intab-label =
+ .label = à¹à¸à¹à¹à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¹à¸¥à¸°à¸à¸²à¸à¹à¸à¹à¸à¹à¸à¹à¸à¸à¹à¸à¸«à¸à¹à¸²à¸à¹à¸²à¸à¹à¸à¹à¸à¸à¸
+ .accesskey = à¸
+accessibility-legend = à¸à¸²à¸£à¸à¹à¸§à¸¢à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸
+accessibility-colors-label =
+ .label = à¸à¸£à¸±à¸à¸ªà¸µà¹à¸«à¹à¹à¸«à¸¡à¸²à¸°à¸ªà¸¡à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¹à¸§à¸¢à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸
+ .accesskey = ส
+reminder-legend = à¹à¸¡à¸·à¹à¸à¸à¸²à¸£à¹à¸à¸·à¸à¸à¸à¸§à¸²à¸¡à¸à¸³à¸à¸£à¸à¸à¸³à¸«à¸à¸:
+reminder-play-checkbox =
+ .label = à¹à¸¥à¹à¸à¹à¸ªà¸µà¸¢à¸
+ .accesskey = ล
+reminder-play-alarm-button =
+ .label = à¹à¸¥à¹à¸
+ .accesskey = ล
+reminder-default-sound-label =
+ .label = à¹à¸à¹à¹à¸ªà¸µà¸¢à¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+ .accesskey = à¸
+reminder-custom-sound-label =
+ .label = à¹à¸à¹à¹à¸à¸¥à¹à¹à¸ªà¸µà¸¢à¸à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹
+ .accesskey = à¸
+reminder-browse-sound-label =
+ .label = à¹à¸£à¸µà¸¢à¸à¸à¸¹â¦
+ .accesskey = ร
+reminder-dialog-label =
+ .label = à¹à¸ªà¸à¸à¸à¸¥à¹à¸à¸à¹à¸à¹à¸à¸à¸à¸à¸²à¸£à¹à¸à¸·à¸à¸à¸à¸§à¸²à¸¡à¸à¸³
+ .accesskey = ส
+missed-reminder-label =
+ .label = à¹à¸ªà¸à¸à¸à¸²à¸£à¹à¸à¸·à¸à¸à¸à¸§à¸²à¸¡à¸à¸³à¸à¸µà¹à¸à¸¥à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸à¸´à¸à¸´à¸à¸à¸µà¹à¹à¸à¸µà¸¢à¸à¹à¸à¹
+ .accesskey = à¸
+reminder-default-legend = à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸²à¸£à¹à¸à¸·à¸à¸à¸à¸§à¸²à¸¡à¸à¸³
+default-snooze-label =
+ .value = à¸à¸§à¸²à¸¡à¸¢à¸²à¸§à¸à¸²à¸£à¹à¸¥à¸·à¹à¸à¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸:
+ .accesskey = à¸
+event-alarm-label =
+ .value = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸²à¸£à¹à¸à¸·à¸à¸à¸à¸§à¸²à¸¡à¸à¸³à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹:
+ .accesskey = à¸
+alarm-on-label =
+ .label = à¹à¸à¸´à¸
+alarm-off-label =
+ .label = à¸à¸´à¸
+task-alarm-label =
+ .value = à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸²à¸£à¹à¸à¸·à¸à¸à¸à¸§à¸²à¸¡à¸à¸³à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸:
+ .accesskey = ร
+event-alarm-time-label =
+ .value = à¹à¸§à¸¥à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸µà¹à¸à¸²à¸£à¹à¸à¸·à¸à¸à¸à¸§à¸²à¸¡à¸à¸³à¸à¸¹à¸à¸à¸±à¹à¸à¸à¹à¸²à¸à¹à¸à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹:
+ .accesskey = à¹
+task-alarm-time-label =
+ .value = à¹à¸§à¸¥à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸µà¹à¸à¸²à¸£à¹à¸à¸·à¸à¸à¸à¸§à¸²à¸¡à¸à¸³à¸à¸¹à¸à¸à¸±à¹à¸à¸à¹à¸²à¸à¹à¸à¸à¸à¸²à¸:
+ .accesskey = à¸
+category-new-label = หมวà¸à¸«à¸¡à¸¹à¹à¹à¸«à¸¡à¹
+category-edit-label = à¹à¸à¹à¹à¸à¸«à¸¡à¸§à¸à¸«à¸¡à¸¹à¹
+category-overwrite-title = à¸à¸³à¹à¸à¸·à¸à¸: à¸à¸·à¹à¸à¸à¹à¸³à¸à¸±à¸
+category-overwrite = มีหมวà¸à¸«à¸¡à¸¹à¹à¸à¸·à¹à¸à¸à¸±à¹à¸à¹à¸¥à¹à¸§ à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸µà¸¢à¸à¸à¸±à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+category-blank-warning = à¸à¸¸à¸à¸à¹à¸à¸à¸à¹à¸à¸à¸à¸·à¹à¸à¸«à¸¡à¸§à¸à¸«à¸¡à¸¹à¹
diff --git a/calendar/chrome/calendar/calendar-alarms.properties b/calendar/chrome/calendar/calendar-alarms.properties
new file mode 100644
index 00000000000..be5d58af64c
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-alarms.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/.
+
+# LOCALIZATION NOTE (reminderCustomTitle):
+# %1$S = unit, %2$S = reminderCustomOrigin
+# Example: "3 minutes" "before the task starts"
+reminderCustomTitle=%1$S %2$S
+reminderTitleAtStartEvent=à¸à¹à¸§à¸à¹à¸§à¸¥à¸²à¸à¸µà¹à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¹à¸£à¸´à¹à¸¡
+reminderTitleAtStartTask=à¸à¹à¸§à¸à¹à¸§à¸¥à¸²à¸à¸µà¹à¸à¸²à¸à¹à¸£à¸´à¹à¸¡
+reminderTitleAtEndEvent=à¸à¹à¸§à¸à¹à¸§à¸¥à¸²à¸à¸µà¹à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸ªà¸´à¹à¸à¸ªà¸¸à¸
+reminderTitleAtEndTask=à¸à¹à¸§à¸à¹à¸§à¸¥à¸²à¸à¸µà¹à¸à¸²à¸à¸ªà¸´à¹à¸à¸ªà¸¸à¸
+
+# LOCALIZATION NOTE (reminderSnoozeOkA11y)
+# This string is not seen in the UI, it is read by screen readers when the user
+# focuses the "OK" button in the "Snooze for..." popup of the alarm dialog.
+# %1$S = any of unit*
+reminderSnoozeOkA11y=à¹à¸¥à¸·à¹à¸à¸à¸à¸²à¸£à¹à¸à¸·à¸à¸à¹à¸à¹à¸à¹à¸§à¸¥à¸² %1$S
+
+reminderCustomOriginBeginBeforeEvent=à¸à¹à¸à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¹à¸£à¸´à¹à¸¡
+reminderCustomOriginBeginAfterEvent=หลัà¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¹à¸£à¸´à¹à¸¡
+reminderCustomOriginEndBeforeEvent=à¸à¹à¸à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸ªà¸´à¹à¸à¸ªà¸¸à¸
+reminderCustomOriginEndAfterEvent=หลัà¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸ªà¸´à¹à¸à¸ªà¸¸à¸
+reminderCustomOriginBeginBeforeTask=à¸à¹à¸à¸à¸à¸²à¸à¹à¸£à¸´à¹à¸¡
+reminderCustomOriginBeginAfterTask=หลัà¸à¸à¸²à¸à¹à¸£à¸´à¹à¸¡
+reminderCustomOriginEndBeforeTask=à¸à¹à¸à¸à¸à¸²à¸à¸ªà¸´à¹à¸à¸ªà¸¸à¸
+reminderCustomOriginEndAfterTask=หลัà¸à¸à¸²à¸à¸ªà¸´à¹à¸à¸ªà¸¸à¸
+
+reminderErrorMaxCountReachedEvent=à¸à¸à¸´à¸à¸´à¸à¸à¸µà¹à¹à¸¥à¸·à¸à¸à¸à¸³à¸à¸±à¸à¹à¸à¸µà¸¢à¸ #1 à¸à¸²à¸£à¹à¸à¸·à¸à¸à¸à¸§à¸²à¸¡à¸à¸³à¸à¹à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¹à¸à¹à¸²à¸à¸±à¹à¸
+reminderErrorMaxCountReachedTask=à¸à¸à¸´à¸à¸´à¸à¸à¸µà¹à¹à¸¥à¸·à¸à¸à¸à¸³à¸à¸±à¸à¹à¸à¸µà¸¢à¸ #1 à¸à¸²à¸£à¹à¸à¸·à¸à¸à¸à¸§à¸²à¸¡à¸à¸³à¸à¹à¸à¸à¸²à¸à¹à¸à¹à¸²à¸à¸±à¹à¸
+
+# LOCALIZATION NOTE (reminderReadonlyNotification)
+# This notification will be presented in the alarm dialog if reminders for not
+# writable items/calendars are displayed.
+# %1$S - localized value of calendar.alarm.snoozeallfor.label (defined in calendar.dtd)
+reminderReadonlyNotification=à¸à¸à¸°à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸´à¸à¹à¸à¸¢à¸à¸²à¸£à¹à¸à¸·à¸à¸à¸à¸§à¸²à¸¡à¸à¸³à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸à¸´à¸à¸´à¸à¹à¸à¸à¸à¹à¸²à¸à¸à¸¢à¹à¸²à¸à¹à¸à¸µà¸¢à¸§ à¹à¸à¹à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸¥à¸·à¹à¸à¸à¹à¸à¹ à¸à¸¸à¹à¸¡ '%1$S' à¸à¸°à¹à¸¥à¸·à¹à¸à¸à¸à¸²à¸£à¹à¸à¸·à¸à¸à¸à¸§à¸²à¸¡à¸à¸³à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¸à¸²à¸°à¸à¸à¸´à¸à¸´à¸à¸à¸µà¹à¹à¸à¸µà¸¢à¸à¹à¸à¹à¹à¸à¹à¸²à¸à¸±à¹à¸
+# LOCALIZATION NOTE (reminderDisabledSnoozeButtonTooltip)
+# This tooltip is only displayed, if the button is disabled
+reminderDisabledSnoozeButtonTooltip=à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¸à¸²à¸£à¹à¸¥à¸·à¹à¸à¸à¸à¸²à¸£à¹à¸à¸·à¸à¸à¸à¸§à¸²à¸¡à¸à¸³à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸à¸´à¸à¸´à¸à¹à¸à¸à¸à¹à¸²à¸à¸à¸¢à¹à¸²à¸à¹à¸à¸µà¸¢à¸§
diff --git a/calendar/chrome/calendar/calendar-event-dialog-attendees.properties b/calendar/chrome/calendar/calendar-event-dialog-attendees.properties
new file mode 100644
index 00000000000..d1e27541af4
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-event-dialog-attendees.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/.
+
+event.attendee.role.required = à¸à¸¹à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸à¸µà¹à¸à¸³à¹à¸à¹à¸
+event.attendee.role.optional = à¸à¸¹à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+event.attendee.role.nonparticipant = à¹à¸¡à¹à¹à¸à¹à¸à¸¹à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡
+event.attendee.role.chair = à¸à¸£à¸°à¸à¸²à¸
+event.attendee.role.unknown = à¸à¸¹à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸à¸µà¹à¹à¸¡à¹à¸£à¸¹à¹à¸à¸±à¸ (%1$S)
+
+event.attendee.usertype.individual = à¸à¸¸à¸à¸à¸¥
+event.attendee.usertype.group = à¸à¸¥à¸¸à¹à¸¡
+event.attendee.usertype.resource = à¸à¸£à¸±à¸à¸¢à¸²à¸à¸£
+event.attendee.usertype.room = หà¹à¸à¸
+event.attendee.usertype.unknown = à¸à¸à¸´à¸à¸à¸µà¹à¹à¸¡à¹à¸£à¸¹à¹à¸à¸±à¸ (%1$S)
diff --git a/calendar/chrome/calendar/calendar-event-dialog.dtd b/calendar/chrome/calendar/calendar-event-dialog.dtd
new file mode 100644
index 00000000000..004e967fff2
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-event-dialog.dtd
@@ -0,0 +1,428 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendar-event-dialog.properties b/calendar/chrome/calendar/calendar-event-dialog.properties
new file mode 100644
index 00000000000..d8668e31743
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-event-dialog.properties
@@ -0,0 +1,541 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 (dailyEveryNth):
+# Edit recurrence window -> Recurrence pattern -> Daily repeat rules
+# #1 - number
+# e.g. "every 4 days"
+dailyEveryNth=à¸à¸¸à¸ #1 วัà¸
+repeatDetailsRuleDaily4=à¸à¸¸à¸à¸§à¸±à¸à¸à¸£à¸£à¸¡à¸à¸²
+
+# LOCALIZATION NOTE (weeklyNthOnNounclass...)
+# Edit recurrence window -> Recurrence pattern -> Weekly repeat rules
+# Translate these strings according to noun class/gender of weekday (%1$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - weekday (one or more)
+# #2 - week interval
+# e.g. "every 3 weeks on Tuesday, Wednesday and Thursday
+weeklyNthOnNounclass1=à¸à¸¸à¸ #2 สัà¸à¸à¸²à¸«à¹à¸à¸µà¹ %1$S
+weeklyNthOnNounclass2=à¸à¸¸à¸ #2 สัà¸à¸à¸²à¸«à¹à¸à¸µà¹ %1$S
+
+# LOCALIZATION NOTE (weeklyEveryNth):
+# Edit recurrence window -> Recurrence pattern -> Weekly repeat rules
+# #1 - interval
+# e.g. "every 5 weeks"
+weeklyEveryNth=à¸à¸¸à¸ #1 สัà¸à¸à¸²à¸«à¹
+
+# LOCALIZATION NOTE ('repeatDetailsDay...' and 'repeatDetailsDay...Nounclass'):
+# Week days names and week days noun classes (feminine/masculine grammatical
+# gender) for languages that need different localization when weekdays nouns
+# have different noun classes (genders).
+# For every weekday, in 'repeatDetailsDay...Nounclass' strings write:
+# "nounclass1" for languages with grammatical genders -> MASCULINE gender;
+# for languages with noun classes -> a noun class;
+# for languages without noun classes or grammatical gender.
+#
+# "nounclass2" for languages with grammatical genders -> FEMININE gender;
+# for languages with noun classes -> a different noun class.
+#
+# "nounclass3", "nounclass4" and so on for languages that need more than two
+# noun classes for weekdays. In this case add corresponding
+# rule string with "Nounclass..." suffix and ordinal string
+# "repeatOrdinalxNounclass..."
+# Will be used rule strings with "Nounclass..." suffix corresponding to the
+# following strings if there is a weekday in the rule string.
+repeatDetailsDay1=วัà¸à¸à¸²à¸à¸´à¸à¸¢à¹
+repeatDetailsDay1Nounclass=nounclass1
+repeatDetailsDay2=วัà¸à¸à¸±à¸à¸à¸£à¹
+repeatDetailsDay2Nounclass=nounclass1
+repeatDetailsDay3=วัà¸à¸à¸±à¸à¸à¸²à¸£
+repeatDetailsDay3Nounclass=nounclass1
+repeatDetailsDay4=วัà¸à¸à¸¸à¸
+repeatDetailsDay4Nounclass=nounclass1
+repeatDetailsDay5=วัà¸à¸à¸¤à¸«à¸±à¸ªà¸à¸à¸µ
+repeatDetailsDay5Nounclass=nounclass1
+repeatDetailsDay6=วัà¸à¸¨à¸¸à¸à¸£à¹
+repeatDetailsDay6Nounclass=nounclass1
+repeatDetailsDay7=วัà¸à¹à¸ªà¸²à¸£à¹
+repeatDetailsDay7Nounclass=nounclass1
+
+# LOCALIZATION NOTE (repeatDetailsAnd)
+# Used to show a number of weekdays in a list
+# i.e. "Sunday, Monday, Tuesday " + and + " Wednesday"
+repeatDetailsAnd=à¹à¸¥à¸°
+
+# LOCALIZATION NOTE (monthlyRuleNthOfEveryNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# Translate these strings according to noun class/gender of weekday (%2$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - list of weekdays with ordinal, article and noun class/gender
+# (ordinal and weekday of every element in the list follow the order
+# and the rule of ordinalWeekdayOrder string)
+# #2 - interval
+# e.g. "the first Monday and the last Friday of every 3 months"
+monthlyRuleNthOfEveryNounclass1=%1$S à¸à¸à¸à¸à¸¸à¸ #2 à¹à¸à¸·à¸à¸
+monthlyRuleNthOfEveryNounclass2=%1$S à¸à¸à¸à¸à¸¸à¸ #2 à¹à¸à¸·à¸à¸
+
+# LOCALIZATION NOTE (ordinalWeekdayOrder):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# This string allows to change the order of the elements "ordinal" and
+# "weekday" (or to insert a word between them) for the argument %1$S of the
+# string monthlyRuleNthOfEveryNounclass...
+# Without changing this string, the order is that one required from most
+# languages: ordinal + weekday (e.g. "'the first' 'Monday' of every 2 months").
+# %1$S - ordinal with article
+# %2$S - weekday noun
+# e.g. "'the first' 'Monday'"
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+ordinalWeekdayOrder=%2$S %1$S
+
+# LOCALIZATION NOTE (monthlyEveryOfEveryNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# Translate these strings according to noun class/gender of weekday (%1$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - list of single weekdays and/or weekdays with ordinal, article and
+# noun class/gender when rule contains also specific day in the month
+# #2 - interval
+# e.g. "every Monday, Tuesday and the second Sunday of every month"
+monthlyEveryOfEveryNounclass1=à¸à¸¸à¸ %1$S à¸à¸à¸à¸à¸¸à¸ #2 à¹à¸à¸·à¸à¸
+monthlyEveryOfEveryNounclass2=à¸à¸¸à¸ %1$S à¸à¸à¸à¸à¸¸à¸ #2 à¹à¸à¸·à¸à¸
+
+# LOCALIZATION NOTE (monthlyDaysOfNth_day):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# %1$S - day of month or a sequence of days of month, possibly followed by an ordinal symbol
+# (depending on the string dayOrdinalSymbol in dateFormat.properties) separated with commas;
+# e.g. "days 3, 6 and 9" or "days 3rd, 6th and 9th"
+monthlyDaysOfNth_day=วัà¸à¸à¸µà¹ %1$S
+
+# LOCALIZATION NOTE (monthlyDaysOfNth):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# %1$S - it's the string monthlyDaysOfNth_day: day of month or a sequence of days
+# of month, possibly followed by an ordinal symbol, separated with commas;
+# #2 - monthly interval
+# e.g. "days 3, 6, 9 and 12 of every 3 months"
+monthlyDaysOfNth=%1$S à¸à¸à¸à¸à¸¸à¸ #2 à¹à¸à¸·à¸à¸
+
+# LOCALIZATION NOTE (monthlyLastDayOfNth):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# %1$S - day of month
+# #2 - month interval
+# e.g. "the last day of every 3 months"
+monthlyLastDayOfNth=วัà¸à¸ªà¸¸à¸à¸à¹à¸²à¸¢à¸à¸à¸à¸à¸¸à¸ #1 à¹à¸à¸·à¸à¸
+
+# LOCALIZATION NOTE (monthlyEveryDayOfNth):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# #2 - month interval
+# e.g. "every day of the month every 4 months"
+monthlyEveryDayOfNth=à¸à¸¸à¸à¸§à¸±à¸à¸à¸à¸à¹à¸à¸·à¸à¸à¸à¸¸à¸ #2 à¹à¸à¸·à¸à¸
+
+# LOCALIZATION NOTE (repeatOrdinal...Nounclass...):
+# Ordinal numbers nouns for every noun class (grammatical genders) of weekdays
+# considered in 'repeatDetailsDayxNounclass' strings. For languages that need
+# localization according to genders or noun classes.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add 'repeatOrdinal...Nounclass' strings with suffix 3, 4 and so on for
+# languages with more than two noun classes for weekdays. In this case
+# must be added corresponding rule strings with 'Nounclass...' suffix and
+# corresponding values "nounclass..." must be written in
+# 'repeatDetailsDayxNounclass' strings.
+repeatOrdinal1Nounclass1=à¹à¸£à¸
+repeatOrdinal2Nounclass1=à¸à¸µà¹à¸ªà¸à¸
+repeatOrdinal3Nounclass1=à¸à¸µà¹à¸ªà¸²à¸¡
+repeatOrdinal4Nounclass1=à¸à¸µà¹à¸ªà¸µà¹
+repeatOrdinal5Nounclass1=à¸à¸µà¹à¸«à¹à¸²
+repeatOrdinal-1Nounclass1=สุà¸à¸à¹à¸²à¸¢
+repeatOrdinal1Nounclass2=à¹à¸£à¸
+repeatOrdinal2Nounclass2=à¸à¸µà¹à¸ªà¸à¸
+repeatOrdinal3Nounclass2=à¸à¸µà¹à¸ªà¸²à¸¡
+repeatOrdinal4Nounclass2=à¸à¸µà¹à¸ªà¸µà¹
+repeatOrdinal5Nounclass2=à¸à¸µà¹à¸«à¹à¸²
+repeatOrdinal-1Nounclass2=สุà¸à¸à¹à¸²à¸¢
+
+# LOCALIZATION NOTE (yearlyNthOn):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# %1$S - month name
+# %2$S - day of month possibly followed by an ordinal symbol (depending on the string
+# dayOrdinalSymbol in dateFormat.properties)
+# #3 - yearly interval
+# e.g. "every 3 years on December 14"
+# "every 2 years on December 8th"
+yearlyNthOn=à¸à¸¸à¸ #3 à¸à¸µà¸à¸µà¹ %2$S %1$S
+
+# LOCALIZATION NOTE (yearlyNthOnNthOfNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# Translate these strings according to noun class/gender of weekday (%2$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - ordinal with article and noun class/gender corresponding to weekday
+# %2$S - weekday
+# %3$S - month
+# #4 - yearly interval
+# e.g. "the second Monday of every March"
+# e.g "every 3 years the second Monday of March"
+yearlyNthOnNthOfNounclass1=à¸à¸¸à¸ #4 à¸à¸µà¸à¸µà¹ %2$S %1$S à¸à¸à¸ %3$S
+yearlyNthOnNthOfNounclass2=à¸à¸¸à¸ #4 à¸à¸µà¸à¸µà¹ %2$S %1$S à¸à¸à¸ %3$S
+
+# LOCALIZATION NOTE (yearlyOnEveryNthOfNthNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# Translate these strings according to noun class/gender of weekday (%1$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - weekday
+# %2$S - month
+# #3 - yearly interval
+# e.g. "every Thursday of March"
+# e.g "every 3 years on every Thursday of March"
+yearlyOnEveryNthOfNthNounclass1=à¸à¸¸à¸ #3 à¸à¸µà¹à¸à¸à¸¸à¸ %1$S à¸à¸à¸ %2$S
+yearlyOnEveryNthOfNthNounclass2=à¸à¸¸à¸ #3 à¸à¸µà¹à¸à¸à¸¸à¸ %1$S à¸à¸à¸ %2$S
+
+#LOCALIZATION NOTE (yearlyEveryDayOf):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# This string describes part of a yearly rule which includes every day of a month.
+# %1$S - month
+# #2 - yearly interval
+# e.g. "every day of December"
+# e.g. "every 3 years every day of December"
+yearlyEveryDayOf=à¸à¸¸à¸ #2 à¸à¸µà¹à¸à¸à¸¸à¸à¸§à¸±à¸à¸à¸à¸ %1$S
+
+repeatDetailsMonth1=มà¸à¸£à¸²à¸à¸¡
+repeatDetailsMonth2=à¸à¸¸à¸¡à¸ าà¸à¸±à¸à¸à¹
+repeatDetailsMonth3=มีà¸à¸²à¸à¸¡
+repeatDetailsMonth4=à¹à¸¡à¸©à¸²à¸¢à¸
+repeatDetailsMonth5=à¸à¸¤à¸©à¸ าà¸à¸¡
+repeatDetailsMonth6=มิà¸à¸¸à¸à¸²à¸¢à¸
+repeatDetailsMonth7=à¸à¸£à¸à¸à¸²à¸à¸¡
+repeatDetailsMonth8=สิà¸à¸«à¸²à¸à¸¡
+repeatDetailsMonth9=à¸à¸±à¸à¸¢à¸²à¸¢à¸
+repeatDetailsMonth10=à¸à¸¸à¸¥à¸²à¸à¸¡
+repeatDetailsMonth11=à¸à¸¤à¸¨à¸à¸´à¸à¸²à¸¢à¸
+repeatDetailsMonth12=à¸à¸±à¸à¸§à¸²à¸à¸¡
+
+# LOCALIZATION NOTE (repeatCount):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event start time (e.g. hh:mm (PM/AM))
+# %4$S - event end time (e.g. hh:mm (PM/AM))
+# #5 - event occurrence times: number
+# e.g. with monthlyRuleNthOfEvery:
+# "Occurs the first Sunday of every 3 month
+# only on 1/1/2009"
+# from 5:00 PM to 6:00 PM"
+# "Occurs the first Sunday of every 3 month
+# effective 1/1/2009 for 5 times
+# from 5:00 PM to 6:00 PM"
+repeatCount=à¹à¸à¸´à¸à¸à¸¶à¹à¸%1$S\nมีà¸à¸¥à¸à¸±à¹à¸à¹à¸à¹ %2$S à¹à¸à¹à¸à¹à¸§à¸¥à¸² #5 à¸à¸£à¸±à¹à¸\nà¸à¸±à¹à¸à¹à¸à¹ %3$S à¸à¸¶à¸ %4$S
+
+# LOCALIZATION NOTE (repeatCountAllDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# #3 - event occurrence times: number
+# e.g. with monthlyRuleNthOfEvery:
+# "Occurs the first Sunday of every 3 month
+# only on 1/1/2009"
+# "Occurs the first Sunday of every 3 month
+# effective 1/1/2009 for 5 times"
+repeatCountAllDay=à¹à¸à¸´à¸à¸à¸¶à¹à¸%1$S\nมีà¸à¸¥à¸à¸±à¹à¸à¹à¸à¹ %2$S à¹à¸à¹à¸à¹à¸§à¸¥à¸² #3 à¸à¸£à¸±à¹à¸
+
+# LOCALIZATION NOTE (repeatDetailsUntil):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event end date (e.g. mm/gg/yyyy)
+# %4$S - event start time (e.g. hh:mm (PM/AM))
+# %5$S - event end time (e.g. hh:mm (PM/AM))
+# e.g. with weeklyNthOn:
+# "Occurs every 2 weeks on Sunday and Friday
+# effective 1/1/2009 until 1/1/2010
+# from 5:00 PM to 6:00 PM"
+repeatDetailsUntil=à¹à¸à¸´à¸à¸à¸¶à¹à¸%1$S\nมีà¸à¸¥à¸à¸±à¹à¸à¹à¸à¹ %2$S à¸à¸à¸à¸¶à¸ %3$S\nà¸à¸±à¹à¸à¹à¸à¹ %4$S à¸à¸¶à¸ %5$S
+
+# LOCALIZATION NOTE (repeatDetailsUntilAllDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event end date (e.g. mm/gg/yyyy)
+# e.g. with monthlyDaysOfNth and all day event:
+# "Occurs day 3 of every 5 month
+# effective 1/1/2009 until 1/1/2010"
+repeatDetailsUntilAllDay=à¹à¸à¸´à¸à¸à¸¶à¹à¸%1$S\nมีà¸à¸¥à¸à¸±à¹à¸à¹à¸à¹ %2$S à¸à¸à¸à¸¶à¸ %3$S
+
+# LOCALIZATION NOTE (repeatDetailsInfinite):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event start time (e.g. hh:mm (PM/AM))
+# %4$S - event end time (e.g. hh:mm (PM/AM))
+# e.g. with monthlyDaysOfNth:
+# "Occurs day 3 of every 5 month
+# effective 1/1/2009
+# from 5:00 PM to 6:00 PM"
+repeatDetailsInfinite=à¹à¸à¸´à¸à¸à¸¶à¹à¸%1$S\nมีà¸à¸¥à¸à¸±à¹à¸à¹à¸à¹ %2$S\nà¸à¸±à¹à¸à¹à¸à¹ %3$S à¸à¸¶à¸ %4$S
+
+# LOCALIZATION NOTE (repeatDetailsInfiniteAllDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# e.g. with monthlyDaysOfNth and all day event:
+# "Occurs day 3 of every 5 month
+# effective 1/1/2009"
+repeatDetailsInfiniteAllDay=à¹à¸à¸´à¸à¸à¸¶à¹à¸%1$S\nมีà¸à¸¥à¸à¸±à¹à¸à¹à¸à¹ %2$S
+
+# LOCALIZATION NOTE (monthlyLastDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# A monthly rule with one or more days of the month (monthlyDaysOfNth) and the
+# string "the last day" of the month.
+# e.g.: "Occurs day 15, 20, 25 and the last day of every 3 months"
+monthlyLastDay=วัà¸à¸ªà¸¸à¸à¸à¹à¸²à¸¢
+
+# LOCALIZATION NOTE (ruleTooComplex):
+# This string is shown in the repeat details area if our code can't handle the
+# complexity of the recurrence rule yet.
+ruleTooComplex=à¸à¸¥à¸´à¸à¸à¸µà¹à¸à¸µà¹à¸ªà¸³à¸«à¸£à¸±à¸à¸£à¸²à¸¢à¸¥à¸°à¹à¸à¸µà¸¢à¸
+
+# LOCALIZATION NOTE (ruleTooComplexSummary):
+# This string is shown in the event summary dialog if our code can't handle the
+# complexity of the recurrence rule yet.
+ruleTooComplexSummary=à¹à¸¡à¹à¸à¸£à¸²à¸à¸£à¸²à¸¢à¸¥à¸°à¹à¸à¸µà¸¢à¸à¸à¸²à¸£à¸à¸³à¸à¹à¸³
+
+# differences between the dialog for an Event or a Task
+newEvent=à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¹à¸«à¸¡à¹
+newTask=à¸à¸²à¸à¹à¸«à¸¡à¹
+itemMenuLabelEvent=à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹
+itemMenuAccesskeyEvent2=ห
+itemMenuLabelTask=à¸à¸²à¸
+itemMenuAccesskeyTask2=à¸
+
+emailSubjectReply=à¸à¸à¸à¸à¸¥à¸±à¸: %1$S
+
+# Link Location Dialog
+specifyLinkLocation=à¹à¸à¸£à¸à¸£à¸°à¸à¸¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸¥à¸´à¸à¸à¹
+enterLinkLocation=à¸à¹à¸à¸à¸«à¸à¹à¸²à¹à¸§à¹à¸à¸«à¸£à¸·à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¹à¸à¸à¸ªà¸²à¸£
+
+summaryDueTaskLabel=à¸à¸£à¸à¸à¸³à¸«à¸à¸:
+
+# Attach File Dialog
+attachViaFilelink=à¹à¸à¸¥à¹à¸à¸µà¹à¹à¸à¹ %1$S
+selectAFile=à¹à¸à¸£à¸à¹à¸¥à¸·à¸à¸à¹à¸à¸¥à¹à¸à¸µà¹à¸à¸°à¹à¸à¸
+removeCalendarsTitle=à¹à¸à¸²à¹à¸à¸¥à¹à¹à¸à¸à¸à¸à¸
+
+# LOCALIZATION NOTE (removeAttachmentsText): Semi-colon list of plural forms for
+# prompting attachment removal.
+# See http://developer.mozilla.org/en/Localization_and_Plurals
+removeAttachmentsText=à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸² #1 à¹à¸à¸¥à¹à¹à¸à¸à¸à¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+
+# Recurrence Dialog Widget Order
+# LOCALIZATION NOTE: You can change the order of below params
+# Edit recurrence window -> Recurrence pattern -> Repeat monthly
+# %1$S - ordinal with article, %2$S - weekday
+# e.g. "the First Saturday"
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+monthlyOrder=%2$S %1$S
+
+# Edit recurrence window -> Recurrence pattern -> Repeat yearly
+# %1$S - day of month, %2$S - of, %3$S - month
+# e.g. "6 [of] September"
+# If you don't need %2$S in your locale - please put this on the third place.
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+yearlyOrder=%1$S %3$S %2$S
+
+# Edit recurrence window -> Recurrence pattern -> Repeat yearly
+# %1$S - ordinal with article, %2$S - weekday, %3$S - of, %4$S - month
+# e.g. "the First Saturday of September"
+# If you don't need %3$S in your locale - please put this on the third place.
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+yearlyOrder2=%2$S %1$S %3$S %4$S
+
+# LOCALIZATION NOTE (pluralForWeekdays):
+# This string allows to set the use of weekdays nouns in plural form for
+# languages that need them in sentences like "every Monday" or "every Sunday
+# of March" etc.
+# Rule strings involved by this setting are:
+# - weeklyNthOn (only the first part) e.g. "every Sunday"
+# - monthlyEveryOfEvery
+# e.g. "every Monday of every month;every Monday every 2 months"
+# - yearlyOnEveryNthOfNth
+# e.g. "every Friday of March;every 2 years on every Friday of March"
+# In your local write:
+# "true" if sentences like those above need weekday in plural form;
+# "false" if sentences like those above don't need weekday in plural form;
+pluralForWeekdays=à¸à¸´à¸
+
+# LOCALIZATION NOTE (repeatDetailsDayxxxPlural):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# Weekdays in plural form used inside sentences like "every Monday" or
+# "every Sunday of May" etc. for languages that need them.
+# These plurals will be used inside the following rule strings only if string
+# 'pluralForWeekdays' (see above) is set to "true":
+# - weeklyNthOn (only the first part) e.g. "every Sunday"
+# - monthlyEveryOfEvery
+# e.g. "every Monday of every month;every Monday every 2 months"
+# - yearlyOnEveryNthOfNth
+# e.g. "every Friday of March;every 2 years on every Friday of March"
+repeatDetailsDay1Plural=วัà¸à¸à¸²à¸à¸´à¸à¸¢à¹
+repeatDetailsDay2Plural=วัà¸à¸à¸±à¸à¸à¸£à¹
+repeatDetailsDay3Plural=วัà¸à¸à¸±à¸à¸à¸²à¸£
+repeatDetailsDay4Plural=วัà¸à¸à¸¸à¸
+repeatDetailsDay5Plural=วัà¸à¸à¸¤à¸«à¸±à¸ªà¸à¸à¸µ
+repeatDetailsDay6Plural=วัà¸à¸¨à¸¸à¸à¸£à¹
+repeatDetailsDay7Plural=วัà¸à¹à¸ªà¸²à¸£à¹
+
+# LOCALIZATION NOTE (eventRecurrenceForeverLabel):
+# Edit/New Event dialog -> datepicker that sets the until date.
+# For recurring rules that repeat forever, this labels appears in the
+# datepicker, below the minimonth, as an option for the until date.
+eventRecurrenceForeverLabel=à¸à¸¥à¸à¸à¹à¸
+
+# LOCALIZATION NOTE (eventRecurrenceMonthlyLastDayLabel):
+# Edit dialog recurrence -> Monthly Recurrence pattern -> Monthly daypicker
+# The label on the monthly daypicker's last button that allows to select
+# the last day of the month inside a BYMONTHDAY rule.
+eventRecurrenceMonthlyLastDayLabel=วัà¸à¸ªà¸¸à¸à¸à¹à¸²à¸¢
+
+# LOCALIZATION NOTE (counterSummaryAccepted) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryAccepted=%1$S à¹à¸à¹à¸¢à¸à¸¡à¸£à¸±à¸à¸à¸³à¹à¸à¸´à¸ à¹à¸à¹à¹à¸à¹à¸ªà¸£à¹à¸²à¸à¸à¸²à¸£à¹à¸à¹à¹à¸¢à¹à¸:
+
+# LOCALIZATION NOTE (counterSummaryDeclined) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryDeclined=%1$S à¹à¸à¹à¸à¸à¸´à¹à¸ªà¸à¸à¸³à¹à¸à¸´à¸ à¹à¸à¹à¹à¸à¹à¸ªà¸£à¹à¸²à¸à¸à¸²à¸£à¹à¸à¹à¹à¸¢à¹à¸:
+
+# LOCALIZATION NOTE (counterSummaryDelegated) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryDelegated=%1$S à¹à¸à¹à¸¡à¸à¸à¸«à¸¡à¸²à¸¢à¸à¸³à¹à¸à¸´à¸ à¹à¸à¹à¹à¸à¹à¸ªà¸£à¹à¸²à¸à¸à¸²à¸£à¹à¸à¹à¹à¸¢à¹à¸:
+
+# LOCALIZATION NOTE (counterSummaryNeedsAction) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryNeedsAction=%1$S à¹à¸¡à¹à¹à¸à¹à¸à¸±à¸à¸ªà¸´à¸à¹à¸à¸§à¹à¸²à¸à¸°à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸«à¸£à¸·à¸à¹à¸¡à¹ à¹à¸¥à¸°à¹à¸à¹à¸ªà¸£à¹à¸²à¸à¸à¸²à¸£à¹à¸à¹à¹à¸¢à¹à¸:
+
+# LOCALIZATION NOTE (counterSummaryTentative) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryTentative=%1$S à¹à¸à¹à¸¢à¸à¸¡à¸£à¸±à¸à¸à¸³à¹à¸à¸´à¸à¸à¸£à¹à¸²à¸§ ๠à¹à¸¥à¸°à¹à¸à¹à¸ªà¸£à¹à¸²à¸à¸à¸²à¸£à¹à¸à¹à¹à¸¢à¹à¸:
+
+# LOCALIZATION NOTE (counterOnPreviousVersionNotification) - this is only visible when opening the
+# dialog from the email summary view after receiving a counter message
+counterOnPreviousVersionNotification=à¸à¸µà¹à¸à¸·à¸à¸à¸²à¸£à¹à¸à¹à¹à¸¢à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸£à¸¸à¹à¸à¸à¹à¸à¸à¸«à¸à¹à¸²à¸à¸à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹
+
+# LOCALIZATION NOTE (counterOnCounterDisallowedNotification) - this is only visible when opening the
+# dialog from the email summary view after receiving a counter message
+counterOnCounterDisallowedNotification=à¸à¸¸à¸à¹à¸¥à¸´à¸à¸à¸à¸¸à¸à¸²à¸à¸à¸²à¸£à¹à¸à¹à¹à¸¢à¹à¸à¹à¸¡à¸·à¹à¸à¸ªà¹à¸à¸à¸³à¹à¸à¸´à¸à¹à¸¥à¹à¸§
+
+# LOCALIZATION NOTE (eventAccepted) - this will be displayed as notification
+# in the summary dialog if the user has accepted the event invitation
+eventAccepted=à¸à¸¸à¸à¹à¸à¹à¸¢à¸à¸¡à¸£à¸±à¸à¸à¸³à¹à¸à¸´à¸à¸à¸µà¹
+
+# LOCALIZATION NOTE (eventTentative) - this will be displayed as notification
+# in the summary dialog if the user has accepted the event invitation tentatively
+eventTentative=à¸à¸¸à¸à¹à¸à¹à¸¢à¸à¸¡à¸£à¸±à¸à¸à¸³à¹à¸à¸´à¸à¸à¸µà¹à¸à¸¢à¹à¸²à¸à¹à¸¡à¹à¹à¸à¹à¸à¸à¸
+
+# LOCALIZATION NOTE (eventDeclined) - this will be displayed as notification
+# in the summary dialog if the user has declined the event invitation
+eventDeclined=à¸à¸¸à¸à¹à¸à¹à¸à¸à¸´à¹à¸ªà¸à¸à¸³à¹à¸à¸´à¸à¸à¸µà¹
+
+# LOCALIZATION NOTE (eventDelegated) - this will be displayed as notification
+# in the summary dialog if the user has delegated his/her participation to one
+# or more other participants (without attending / working on it his/herself)
+eventDelegated=à¸à¸¸à¸à¹à¸à¹à¸¡à¸à¸à¸«à¸¡à¸²à¸¢à¸à¸³à¹à¸à¸´à¸à¸à¸µà¹
+
+# LOCALIZATION NOTE (eventNeedsAction) - this will be displayed as notification
+# in the summary dialog if the user hasn't yet responded to an invitation
+eventNeedsAction=à¸à¸¸à¸à¸¢à¸±à¸à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸à¸¥à¸±à¸à¸à¸³à¹à¸à¸´à¸à¸à¸µà¹
+
+# LOCALIZATION NOTE (taskAccepted) - this will be displayed as notification
+# in the summary dialog if the user has accepted the assigned task
+taskAccepted=à¸à¸¸à¸à¹à¸à¹à¸¢à¸à¸¡à¸£à¸±à¸à¸à¸µà¹à¸à¸°à¸à¸³à¸à¸²à¸à¹à¸à¸à¸²à¸à¸à¸µà¹
+
+# LOCALIZATION NOTE (taskTentative) - this will be displayed as notification
+# in the summary dialog if the user has accepted tentatively the assigned task
+taskTentative=à¸à¸¸à¸à¹à¸à¹à¸¢à¸à¸¡à¸£à¸±à¸à¸à¸µà¹à¸à¸°à¸à¸³à¸à¸²à¸à¹à¸à¸à¸²à¸à¸à¸µà¹à¸à¸¢à¹à¸²à¸à¹à¸¡à¹à¹à¸à¹à¸à¸à¸
+
+# LOCALIZATION NOTE (taskDeclined) - this will be displayed as notification
+# in the summary dialog if the user has declined the assigned task
+taskDeclined=à¸à¸¸à¸à¹à¸à¹à¸à¸à¸´à¹à¸ªà¸à¸à¸µà¹à¸à¸°à¸à¸³à¸à¸²à¸à¹à¸à¸à¸²à¸à¸à¸µà¹
+
+# LOCALIZATION NOTE (taskDelegated) - this will be displayed as notification
+# in the summary dialog if the user has delegated his/her assignment to one or
+# more others (without attending / working on it his/herself)
+taskDelegated=à¸à¸¸à¸à¹à¸à¹à¸¡à¸à¸à¸«à¸¡à¸²à¸¢à¸à¸²à¸à¹à¸à¸à¸²à¸à¸à¸µà¹
+
+# LOCALIZATION NOTE (taskNeedsAction) - this will be displayed as notification
+# in the summary dialog if the user hasn't yet responded to the task assignment
+taskNeedsAction=à¸à¸¸à¸à¸¢à¸±à¸à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸ªà¸à¸à¸à¸à¸²à¸£à¸¡à¸à¸à¸«à¸¡à¸²à¸¢à¸à¸²à¸à¸à¸µà¹
+
+# LOCALIZATION NOTE (taskInProgress) - this will be displayed as notification
+# in the summary dialog if the user is working on an assigned task
+taskInProgress=à¸à¸¸à¸à¹à¸à¹à¹à¸£à¸´à¹à¸¡à¸à¸³à¸à¸²à¸à¹à¸à¸à¸²à¸à¸à¸µà¹à¹à¸à¹à¸£à¸±à¸à¸¡à¸à¸à¸«à¸¡à¸²à¸¢à¸à¸µà¹
+
+# LOCALIZATION NOTE (taskCompleted) - this will be displayed as notification
+# in the summary dialog if the user has completed the work on this assigned task
+taskCompleted=à¸à¸¸à¸à¹à¸à¹à¹à¸ªà¸£à¹à¸à¸ªà¸´à¹à¸à¸à¸²à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¸à¸²à¸à¸à¸µà¹à¹à¸à¹à¸£à¸±à¸à¸¡à¸à¸à¸«à¸¡à¸²à¸¢à¸à¸µà¹
+
+# LOCALIZATION NOTE (sendandcloseButtonLabel) - this is a runtime replacement for
+# event.toolbar.saveandclose.label in the event dialog/tab toolbar if attendees
+# will be notified on saving & closing
+sendandcloseButtonLabel=สà¹à¸à¹à¸¥à¹à¸§à¸à¸´à¸
+
+# LOCALIZATION NOTE (sendandcloseButtonTooltip) - this is a runtime replacement for
+# event.toolbar.saveandclose.tooltip in the event dialog/tab toolbar if attendees
+# will be notified on saving & closing
+sendandcloseButtonTooltip=à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¸à¸¹à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¹à¸¥à¹à¸§à¸à¸´à¸
+
+# LOCALIZATION NOTE (saveandsendButtonLabel) - this is a runtime replacement for
+# event.toolbar.save.label2 in the event dialog/tab toolbar if attendees
+# will be notified on saving
+saveandsendButtonLabel=à¸à¸±à¸à¸à¸¶à¸à¹à¸¥à¹à¸§à¸ªà¹à¸
+
+# LOCALIZATION NOTE (saveandsendButtonTooltip) - this is a runtime replacement
+# for event.toolbar.save.tooltip2 in the event dialog/tab toolbar if attendees
+# will be notified on saving
+saveandsendButtonTooltip=à¸à¸±à¸à¸à¸¶à¸à¹à¸¥à¹à¸§à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¸à¸¹à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡
+
+# LOCALIZATION NOTE (saveandsendMenuLabel) - this is a runtime replacement for
+# event.menu.item.save.label in the event dialog/tab toolbar if attendees
+# will be notified on saving
+saveandsendMenuLabel=à¸à¸±à¸à¸à¸¶à¸à¹à¸¥à¹à¸§à¸ªà¹à¸
+
+# LOCALIZATION NOTE (sendandcloseMenuLabel) - this is a runtime replacement for
+# event.menu.item.saveandclose.label in the event dialog/tab toolbar if attendees
+# will be notified on saving
+sendandcloseMenuLabel=สà¹à¸à¹à¸¥à¹à¸§à¸à¸´à¸
+
+# LOCALIZATION NOTE (attendeesTabLabel) - this is a runtime replacement for
+# event.attendees.label defined in calendar-event-dialog.dtd and used in the
+# event dialog/tab as attendee tab label if an event has at least one attendee
+# %1$S - the number of attendee (1-n)
+attendeesTabLabel=à¸à¸¹à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡ (%1$S):
+
+# LOCALIZATION NOTE (attachmentsTabLabel) - this is a runtime replacement for
+# event.attachments.label defined in calendar-event-dialog.dtd and used in the
+# event dialog/tab as attendee tab label if an event has at least one attachment
+# %1$S - the number of attachments (1-n)
+attachmentsTabLabel=à¹à¸à¸¥à¹à¹à¸à¸ (%1$S):
diff --git a/calendar/chrome/calendar/calendar-extract.properties b/calendar/chrome/calendar/calendar-extract.properties
new file mode 100644
index 00000000000..2972e73bc06
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-extract.properties
@@ -0,0 +1,294 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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:
+# Strings here are used to create events and tasks with start and end times
+# based on email content.
+# None of the strings are displayed in the user interface.
+#
+# You don't have to fill all from.*, until.*, *.prefix and *.suffix patterns.
+# It's ok to leave some empty.
+# Please consider declensions and gender if your language has them.
+# Don't just translate directly. The number of variants doesn't have to be
+# the same as in en-US. All of 0, 1, 2, etc is allowed in patterns except alphabet
+# pattern. You can and should add language specific variants.
+#
+# There are two different ways to find a start time text in email:
+# 1) it matches a from.* pattern and does not have end.prefix or end.suffix next to it
+# 2) it matches until.* pattern and has start.prefix or start.suffix next to it
+# Similar inverse logic applies to end times.
+# These rules enable using prefix and suffix values with only start.* or only until.*
+# patterns localized for some languages and thus not having to repeat the same
+# values in both.
+#
+# Patterns are partially space-insensitive.
+# "deadline is" pattern will find both "deadlineis" and "deadline is"
+# but "deadlineis" won't find "deadline is" or "deadline is".
+# Therefore you should include all spaces that are valid within a pattern.
+
+# LOCALIZATION NOTE (start.prefix):
+# datetimes with these in front are extracted as start times
+# can be a list of values, separate variants by |
+start.prefix =
+
+# LOCALIZATION NOTE (start.suffix):
+# datetimes followed by these are extracted as start times
+start.suffix = à¸à¸±à¹à¸à¹à¸à¹ | à¸à¸à¸à¸¶à¸ | à¸à¸¶à¸ | - | à¸à¸à¸à¸£à¸°à¸à¸±à¹à¸ | à¹à¸¥à¸°
+
+# LOCALIZATION NOTE (end.prefix):
+# datetimes with these in front are extracted as end times
+end.prefix = à¸à¸±à¹à¸à¹à¸à¹ | à¸à¸à¸à¸¶à¸ | à¸à¸¶à¸ | - | à¸à¸à¸à¸£à¸°à¸à¸±à¹à¸ | à¹à¸¥à¸° | à¹à¸§à¸¥à¸²à¸à¸µà¹à¸à¸³à¸«à¸à¸: | à¹à¸§à¸¥à¸²à¸à¸µà¹à¸à¸³à¸«à¸à¸ | สิà¹à¸à¸ªà¸¸à¸à¹à¸¡à¸·à¹à¸
+
+# LOCALIZATION NOTE (end.suffix):
+# datetimes followed by these are extracted as end times
+# can be a list of values, separate variants by |
+end.suffix =
+
+# LOCALIZATION NOTE (no.datetime.prefix):
+# datetimes with these in front won't be used
+# specify full words here
+no.datetime.prefix = สัà¸à¸à¸²à¸«à¹à¸à¸µà¹à¸à¹à¸²à¸à¸¡à¸² | สà¹à¸à¹à¸¥à¹à¸§ | à¸à¸µà¹à¸¡à¸¥ | à¹à¸à¸ | > | à¸à¸à¸à¸ ัย | à¹à¸ | à¹à¸¡à¹à¹à¸à¹
+
+# LOCALIZATION NOTE (no.datetime.suffix):
+# datetimes followed by these won't be used
+no.datetime.suffix = à¸à¸±à¹à¸ | : | à¸à¸µà¹à¸¡à¸¥ | > | % | à¸à¸²à¸ | THB | ฿ | à¸à¸à¸¥à¸¥à¸²à¸£à¹ | USD | $
+
+# LOCALIZATION NOTE (from.*):
+# can be a list of values, separate variants by |
+
+# LOCALIZATION NOTE (from.today):
+# must not be empty!
+from.today = วัà¸à¸à¸µà¹
+
+from.tomorrow = à¸à¸£à¸¸à¹à¸à¸à¸µà¹
+# LOCALIZATION NOTE (until.*):
+# can be a list of values, separate variants by |
+until.tomorrow =
+
+# LOCALIZATION NOTE (from.ordinal.date):
+# #1 = matches numbers 1-31 and number.x
+# should not have "#1" as this would match any single number in email to a time
+from.ordinal.date = วัà¸à¸à¸µà¹ #1
+
+# LOCALIZATION NOTE (until.ordinal.date):
+# #1 = matches numbers 1-31 and number.x
+until.ordinal.date =
+
+from.noon = à¹à¸à¸µà¹à¸¢à¸à¸§à¸±à¸
+until.noon =
+
+# LOCALIZATION NOTE (from.hour):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should not have "#1" as this would match any single number in email to a time
+from.hour = à¹à¸¡à¸·à¹à¸ #1 | à¸à¸£à¸°à¸¡à¸²à¸ #1 | #1 - | #1 à¸à¸¶à¸
+
+# LOCALIZATION NOTE (until.hour):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should also list how to find end of a timeframe
+until.hour = - #1 | à¸à¸¶à¸ #1 | à¸à¸à¸à¸¶à¸ #1 | à¸à¸±à¹à¸à¹à¸à¹ #1
+
+# LOCALIZATION NOTE (from.hour.am):
+# #1 = matches numbers 0-23 and number.0-number.23
+from.hour.am = #1 à¸à¸²à¸¬à¸´à¸à¸²à¸à¹à¸à¸à¹à¸à¸µà¹à¸¢à¸ | #1 am | #1 a.m
+
+# LOCALIZATION NOTE (until.hour.am):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should also list how to find end of a timeframe
+until.hour.am =
+
+# LOCALIZATION NOTE (from.hour.pm):
+# #1 = matches numbers 0-23 and number.0-number.23
+from.hour.pm = #1 à¸à¸²à¸¬à¸´à¸à¸²à¸«à¸¥à¸±à¸à¹à¸à¸µà¹à¸¢à¸ | #1 pm | #1 p.m
+
+# LOCALIZATION NOTE (until.hour.pm):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should also list how to find end of a timeframe
+until.hour.pm =
+
+# LOCALIZATION NOTE (from.half.hour.before):
+# denotes times 30 minutes before next full hour
+from.half.hour.before = à¸à¸£à¸¶à¹à¸à¸à¸±à¹à¸§à¹à¸¡à¸à¸à¹à¸à¸ #1
+
+# LOCALIZATION NOTE (until.half.hour.before):
+# denotes times 30 minutes before next full hour
+until.half.hour.before =
+
+# LOCALIZATION NOTE (from.half.hour.after):
+# denotes times 30 minutes after last full hour
+from.half.hour.after = à¸à¸£à¸¶à¹à¸à¸à¸±à¹à¸§à¹à¸¡à¸à¸«à¸¥à¸±à¸à¸à¸²à¸ #1
+
+# LOCALIZATION NOTE (until.half.hour.after):
+# denotes times 30 minutes after last full hour
+until.half.hour.after =
+
+# LOCALIZATION NOTE (from.hour.minutes):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+from.hour.minutes = #1:#2 | à¹à¸§à¸¥à¸² #1#2
+
+# LOCALIZATION NOTE (until.hour.minutes):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+until.hour.minutes =
+
+# LOCALIZATION NOTE (from.hour.minutes.am):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+from.hour.minutes.am = #1:#2 à¸à¹à¸à¸à¹à¸à¸µà¹à¸¢à¸ | #1:#2 am | #1:#2 a.m
+
+# LOCALIZATION NOTE (until.hour.minutes.am):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+until.hour.minutes.am =
+
+# LOCALIZATION NOTE (from.hour.minutes.pm):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+from.hour.minutes.pm = #1:#2 หลัà¸à¹à¸à¸µà¹à¸¢à¸ | #1:#2 pm | #1:#2 p.m | #1:#2 p
+
+# LOCALIZATION NOTE (until.hour.minutes.pm):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+until.hour.minutes.pm =
+
+# LOCALIZATION NOTE (from.monthname.day):
+# #1 = matches numbers 1-31 and number.x
+# #2 = matches monthname
+from.monthname.day = #1 #2 | วัà¸à¸à¸µà¹ #1 #2
+
+# LOCALIZATION NOTE (until.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+until.monthname.day =
+
+# LOCALIZATION NOTE (from.month.day):
+# #1 = matches numbers 1-31
+# #2 = matches numbers 1-12
+from.month.day = #1/#2
+
+# LOCALIZATION NOTE (until.month.day):
+# #1 = matches numbers 1-31 and number.x
+# #2 = matches numbers 1-12
+until.month.day =
+
+# LOCALIZATION NOTE (from.year.month.day):
+# #1 = matches numbers 1-31
+# #2 = matches numbers 1-12
+# #3 = matches 2/4 numbers
+from.year.month.day = #1/#2/#3 | #3/#2/#1 | #3-#2-#1
+
+# LOCALIZATION NOTE (until.year.month.day):
+# #1 = matches numbers 1-31
+# #2 = matches numbers 1-12
+# #3 = matches 2/4 numbers
+until.year.month.day =
+
+# LOCALIZATION NOTE (from.year.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+# #3 = matches 2/4 numbers
+from.year.monthname.day = #1 #2 #3 | วัà¸à¸à¸µà¹ #1 #2 #3 | #3-#2-#1
+
+# LOCALIZATION NOTE (until.year.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+# #3 = matches 2/4 numbers
+until.year.monthname.day =
+
+# LOCALIZATION NOTE (duration.*):
+# can be a list of values, separate variants by |
+
+# LOCALIZATION NOTE (duration.minutes):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+duration.minutes = #1 à¸à¸²à¸à¸µ | #1 à¸.
+
+# LOCALIZATION NOTE (duration.hours):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+duration.hours = #1 à¸à¸±à¹à¸§à¹à¸¡à¸ | #1 à¸à¸¡.
+
+# LOCALIZATION NOTE (duration.days):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+duration.days = #1 วัà¸
+
+# LOCALIZATION NOTE (month.*):
+# can be a list of values, separate variants by |
+month.1 = มà¸à¸£à¸²à¸à¸¡ | ม.à¸.
+month.2 = à¸à¸¸à¸¡à¸ าà¸à¸±à¸à¸à¹ | à¸.à¸.
+month.3 = มีà¸à¸²à¸à¸¡ | มี.à¸.
+month.4 = à¹à¸¡à¸©à¸²à¸¢à¸ | à¹à¸¡.ย.
+month.5 = à¸à¸¤à¸©à¸ าà¸à¸¡ | à¸.à¸.
+month.6 = มิà¸à¸¸à¸à¸²à¸¢à¸ | มิ.ย.
+month.7 = à¸à¸£à¸à¸à¸²à¸à¸¡ | à¸.à¸.
+month.8 = สิà¸à¸«à¸²à¸à¸¡ | ส.à¸.
+month.9 = à¸à¸±à¸à¸¢à¸²à¸¢à¸ | à¸.ย.
+month.10 = à¸à¸¸à¸¥à¸²à¸à¸¡ | à¸.à¸.
+month.11 = à¸à¸¤à¸¨à¸à¸´à¸à¸²à¸¢à¸ | à¸.ย.
+month.12 = à¸à¸±à¸à¸§à¸²à¸à¸¡ | à¸.à¸.
+
+# LOCALIZATION NOTE (from.weekday.*):
+# used to derive start date based on weekdays mentioned
+# can be a list of values, separate variants by |
+# LOCALIZATION NOTE (from.weekday.0):
+# Regardless of what the first day of the week is in your country, 0 is Sunday here.
+from.weekday.0 = วัà¸à¸à¸²à¸à¸´à¸à¸¢à¹ | à¸à¸²à¸à¸´à¸à¸¢à¹ | à¸à¸².
+from.weekday.1 = วัà¸à¸à¸±à¸à¸à¸£à¹ | à¸à¸±à¸à¸à¸£à¹ | à¸.
+from.weekday.2 = วัà¸à¸à¸±à¸à¸à¸²à¸£ | à¸à¸±à¸à¸à¸²à¸£ | à¸.
+from.weekday.3 = วัà¸à¸à¸¸à¸ | à¸à¸¸à¸ | à¸.
+from.weekday.4 = วัà¸à¸à¸¤à¸«à¸±à¸ªà¸à¸à¸µ | à¸à¸¤à¸«à¸±à¸ªà¸à¸à¸µ | วัà¸à¸à¸¤à¸«à¸±à¸ª | à¸à¸¤à¸«à¸±à¸ª | à¸à¸¤.
+from.weekday.5 = วัà¸à¸¨à¸¸à¸à¸£à¹ | ศุà¸à¸£à¹ | ศ.
+from.weekday.6 = วัà¸à¹à¸ªà¸²à¸£à¹ | à¹à¸ªà¸²à¸£à¹ | ส.
+
+# LOCALIZATION NOTE (until.weekday.*):
+# used to derive end date based on weekdays mentioned
+# can be a list of values, separate variants by |
+# LOCALIZATION NOTE (until.weekday.0):
+# Regardless of what the first day of the week is in your country, 0 is Sunday here.
+until.weekday.0 =
+until.weekday.1 =
+until.weekday.2 =
+until.weekday.3 =
+until.weekday.4 =
+until.weekday.5 =
+until.weekday.6 =
+
+# LOCALIZATION NOTE (number.*):
+# used within other patterns to understand dates where day of month isn't written with digits
+# can be a list of values, separate variants by |
+number.0 = ศูà¸à¸¢à¹
+number.1 = หà¸à¸¶à¹à¸
+number.2 = สà¸à¸
+number.3 = สาม
+number.4 = สีà¹
+number.5 = หà¹à¸²
+number.6 = หà¸
+number.7 = à¹à¸à¹à¸
+number.8 = à¹à¸à¸
+number.9 = à¹à¸à¹à¸²
+number.10 = สิà¸
+number.11 = สิà¸à¹à¸à¹à¸
+number.12 = สิà¸à¸ªà¸à¸
+number.13 = สิà¸à¸ªà¸²à¸¡
+number.14 = สิà¸à¸ªà¸µà¹
+number.15 = สิà¸à¸«à¹à¸²
+number.16 = สิà¸à¸«à¸
+number.17 = สิà¸à¹à¸à¹à¸
+number.18 = สิà¸à¹à¸à¸
+number.19 = สิà¸à¹à¸à¹à¸²
+number.20 = ยีà¹à¸ªà¸´à¸
+number.21 = ยีà¹à¸ªà¸´à¸à¹à¸à¹à¸
+number.22 = ยีà¹à¸ªà¸´à¸à¸ªà¸à¸
+number.23 = ยีà¹à¸ªà¸´à¸à¸ªà¸²à¸¡
+number.24 = ยีà¹à¸ªà¸´à¸à¸ªà¸µà¹
+number.25 = ยีà¹à¸ªà¸´à¸à¸«à¹à¸²
+number.26 = ยีà¹à¸ªà¸´à¸à¸«à¸
+number.27 = ยีà¹à¸ªà¸´à¸à¹à¸à¹à¸
+number.28 = ยีà¹à¸ªà¸´à¸à¹à¸à¸
+number.29 = ยีà¹à¸ªà¸´à¸à¹à¸à¹à¸²
+number.30 = สามสิà¸
+number.31 = สามสิà¸à¹à¸à¹à¸
+
+# LOCALIZATION NOTE (alphabet):
+# list all lower and uppercase letters if your language has an alphabet
+# otherwise leave it empty
+alphabet = à¸à¸à¸à¸à¸
à¸à¸à¸à¸à¸à¸à¸à¸à¸à¸à¸à¸à¸à¸à¸à¸à¸à¸à¸à¸à¸à¸à¸à¸à¸à¸à¸ มยรลวศษสหฬà¸à¸®
diff --git a/calendar/chrome/calendar/calendar-invitations-dialog.dtd b/calendar/chrome/calendar/calendar-invitations-dialog.dtd
new file mode 100644
index 00000000000..2b09df0f353
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-invitations-dialog.dtd
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendar-invitations-dialog.properties b/calendar/chrome/calendar/calendar-invitations-dialog.properties
new file mode 100644
index 00000000000..70c46cdf701
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-invitations-dialog.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/.
+
+allday-event=à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸¥à¸à¸à¸§à¸±à¸
+recurrent-event=à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸à¸´à¸à¸à¹à¸³
+location=à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸: %S
+organizer=à¸à¸¹à¹à¸à¸±à¸: %S
+attendee=à¸à¸¹à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡: %S
+none=à¹à¸¡à¹à¸¡à¸µ
diff --git a/calendar/chrome/calendar/calendar-occurrence-prompt.dtd b/calendar/chrome/calendar/calendar-occurrence-prompt.dtd
new file mode 100644
index 00000000000..74b3bba25c4
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-occurrence-prompt.dtd
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendar-occurrence-prompt.properties b/calendar/chrome/calendar/calendar-occurrence-prompt.properties
new file mode 100644
index 00000000000..edd6ae9045a
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-occurrence-prompt.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/.
+
+header.isrepeating.event.label=à¹à¸à¹à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸à¸´à¸à¸à¹à¸³
+header.isrepeating.task.label=à¹à¸à¹à¸à¸à¸²à¸à¸à¸µà¹à¹à¸à¸´à¸à¸à¹à¸³
+header.containsrepeating.event.label=มีà¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸à¸´à¸à¸à¹à¸³
+header.containsrepeating.task.label=มีà¸à¸²à¸à¸à¸µà¹à¹à¸à¸´à¸à¸à¹à¸³
+header.containsrepeating.mixed.label=มีรายà¸à¸²à¸£à¸à¸à¸´à¸à¸à¹à¸²à¸ ๠à¸à¸µà¹à¹à¸à¸´à¸à¸à¹à¸³
+
+windowtitle.event.copy=à¸à¸±à¸à¸¥à¸à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸à¸´à¸à¸à¹à¸³
+windowtitle.task.copy=à¸à¸±à¸à¸¥à¸à¸à¸à¸²à¸à¸à¸µà¹à¹à¸à¸´à¸à¸à¹à¸³
+windowtitle.mixed.copy=à¸à¸±à¸à¸¥à¸à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸µà¹à¹à¸à¸´à¸à¸à¹à¸³
+windowtitle.event.cut=à¸à¸±à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸à¸´à¸à¸à¹à¸³
+windowtitle.task.cut=à¸à¸±à¸à¸à¸²à¸à¸à¸µà¹à¹à¸à¸´à¸à¸à¹à¸³
+windowtitle.mixed.cut=à¸à¸±à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸µà¹à¹à¸à¸´à¸à¸à¹à¸³
+windowtitle.event.delete=ลà¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸à¸´à¸à¸à¹à¸³
+windowtitle.task.delete=ลà¸à¸à¸²à¸à¸à¸µà¹à¹à¸à¸´à¸à¸à¹à¸³
+windowtitle.mixed.delete=ลà¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸µà¹à¹à¸à¸´à¸à¸à¹à¸³
+windowtitle.event.edit=à¹à¸à¹à¹à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸à¸´à¸à¸à¹à¸³
+windowtitle.task.edit=à¹à¸à¹à¹à¸à¸à¸²à¸à¸à¸µà¹à¹à¸à¸´à¸à¸à¹à¸³
+windowtitle.mixed.edit=à¹à¸à¹à¹à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸µà¹à¹à¸à¸´à¸à¸à¹à¸³
+windowtitle.multipleitems=รายà¸à¸²à¸£à¸à¸µà¹à¹à¸¥à¸·à¸à¸
+
+buttons.single.occurrence.copy.label=à¸à¸±à¸à¸¥à¸à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸à¹à¸²à¸à¸±à¹à¸
+buttons.single.occurrence.cut.label=à¸à¸±à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸à¹à¸²à¸à¸±à¹à¸
+buttons.single.occurrence.delete.label=ลà¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸à¹à¸²à¸à¸±à¹à¸
+buttons.single.occurrence.edit.label=à¹à¸à¹à¹à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸à¹à¸²à¸à¸±à¹à¸
+
+buttons.multiple.occurrence.copy.label=à¸à¸±à¸à¸¥à¸à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸¥à¸·à¸à¸à¹à¸à¹à¸²à¸à¸±à¹à¸
+buttons.multiple.occurrence.cut.label=à¸à¸±à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸¥à¸·à¸à¸à¹à¸à¹à¸²à¸à¸±à¹à¸
+buttons.multiple.occurrence.delete.label=ลà¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸¥à¸·à¸à¸à¹à¸à¹à¸²à¸à¸±à¹à¸
+buttons.multiple.occurrence.edit.label=à¹à¸à¹à¹à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸¥à¸·à¸à¸à¹à¸à¹à¸²à¸à¸±à¹à¸
+
+buttons.single.allfollowing.copy.label=à¸à¸±à¸à¸¥à¸à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸¥à¸°à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¹à¸à¸à¸à¸²à¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+buttons.single.allfollowing.cut.label=à¸à¸±à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸¥à¸°à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¹à¸à¸à¸à¸²à¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+buttons.single.allfollowing.delete.label=ลà¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸¥à¸°à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¹à¸à¸à¸à¸²à¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+buttons.single.allfollowing.edit.label=à¹à¸à¹à¹à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸¥à¸°à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¹à¸à¸à¸à¸²à¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+
+buttons.multiple.allfollowing.copy.label=à¸à¸±à¸à¸¥à¸à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸¥à¸·à¸à¸à¹à¸¥à¸°à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¹à¸à¸à¸à¸²à¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+buttons.multiple.allfollowing.cut.label=à¸à¸±à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸¥à¸·à¸à¸à¹à¸¥à¸°à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¹à¸à¸à¸à¸²à¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+buttons.multiple.allfollowing.delete.label=ลà¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸¥à¸·à¸à¸à¹à¸¥à¸°à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¹à¸à¸à¸à¸²à¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+buttons.multiple.allfollowing.edit.label=à¹à¸à¹à¹à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸¥à¸·à¸à¸à¹à¸¥à¸°à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¹à¸à¸à¸à¸²à¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+
+buttons.single.parent.copy.label=à¸à¸±à¸à¸¥à¸à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸
+buttons.single.parent.cut.label=à¸à¸±à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸
+buttons.single.parent.delete.label=ลà¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸
+buttons.single.parent.edit.label=à¹à¸à¹à¹à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸
+
+buttons.multiple.parent.copy.label=à¸à¸±à¸à¸¥à¸à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸µà¹à¹à¸¥à¸·à¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+buttons.multiple.parent.cut.label=à¸à¸±à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸µà¹à¹à¸¥à¸·à¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+buttons.multiple.parent.delete.label=ลà¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸µà¹à¹à¸¥à¸·à¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+buttons.multiple.parent.edit.label=à¹à¸à¹à¹à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸µà¹à¹à¸¥à¸·à¸à¸à¸à¸±à¹à¸à¸«à¸¡à¸
diff --git a/calendar/chrome/calendar/calendar.dtd b/calendar/chrome/calendar/calendar.dtd
new file mode 100644
index 00000000000..c337e79d9d4
--- /dev/null
+++ b/calendar/chrome/calendar/calendar.dtd
@@ -0,0 +1,411 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendar.properties b/calendar/chrome/calendar/calendar.properties
new file mode 100644
index 00000000000..75bda53d83b
--- /dev/null
+++ b/calendar/chrome/calendar/calendar.properties
@@ -0,0 +1,794 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Misc. strings in JS
+
+# LOCALIZATION NOTE (PrintPreviewWindowTitle):
+# %1$S will be replaced with the title of a html frame
+PrintPreviewWindowTitle=à¸à¸±à¸§à¸à¸¢à¹à¸²à¸à¸à¹à¸à¸à¸à¸´à¸¡à¸à¹à¸à¸à¸ %1$S
+Untitled=à¹à¸¡à¹à¸¡à¸µà¸à¸·à¹à¸
+
+# Default name for new events
+newEvent=à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¹à¸«à¸¡à¹
+
+# Titles for the event/task dialog
+newEventDialog=à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¹à¸«à¸¡à¹
+editEventDialog=à¹à¸à¹à¹à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹
+newTaskDialog=à¸à¸²à¸à¹à¸«à¸¡à¹
+editTaskDialog=à¹à¸à¹à¹à¸à¸à¸²à¸
+
+# Do you want to save changes?
+askSaveTitleEvent=à¸à¸±à¸à¸à¸¶à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹
+askSaveTitleTask=à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸
+askSaveMessageEvent=ยัà¸à¹à¸¡à¹à¹à¸à¹à¸à¸±à¸à¸à¸¶à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹ à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸¶à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸«à¸£à¸·à¸à¹à¸¡à¹?
+askSaveMessageTask=ยัà¸à¹à¸¡à¹à¹à¸à¹à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸ à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸¶à¸à¸à¸²à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+
+# Event Dialog Warnings
+warningEndBeforeStart=วัà¸à¸à¸µà¹à¸ªà¸´à¹à¸à¸ªà¸¸à¸à¸à¸µà¹à¸à¸¸à¸à¸à¹à¸à¸à¹à¸à¸´à¸à¸à¹à¸à¸à¸§à¸±à¸à¸à¸µà¹à¹à¸£à¸´à¹à¸¡
+warningUntilDateBeforeStart=à¸à¸à¸à¸¶à¸à¸§à¸±à¸à¸à¸µà¹à¹à¸à¸´à¸à¸à¹à¸à¸à¸§à¸±à¸à¸à¸µà¹à¹à¸£à¸´à¹à¸¡
+
+# The name of the calendar provided with the application by default
+homeCalendarName=หà¸à¹à¸²à¹à¸£à¸
+
+# The name given to a calendar if an opened calendar has an empty filename
+untitledCalendarName=à¸à¸à¸´à¸à¸´à¸à¹à¸¡à¹à¸¡à¸µà¸à¸·à¹à¸
+
+# Event status: Tentative, Confirmed, Cancelled
+# ToDo task status: NeedsAction, InProcess, Completed, Cancelled
+statusTentative =à¹à¸¡à¹à¹à¸à¹à¸à¸à¸
+statusConfirmed =ยืà¸à¸¢à¸±à¸à¹à¸¥à¹à¸§
+eventStatusCancelled=ยà¸à¹à¸¥à¸´à¸à¹à¸¥à¹à¸§
+todoStatusCancelled =ยà¸à¹à¸¥à¸´à¸à¹à¸¥à¹à¸§
+statusNeedsAction =à¸à¹à¸à¸à¸à¸²à¸£à¸à¸²à¸£à¸à¸£à¸°à¸à¸³
+statusInProcess =à¸à¸¢à¸¹à¹à¸£à¸°à¸«à¸§à¹à¸²à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£
+statusCompleted =à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹
+
+# Task priority, these should match the priority.level.* labels in calendar.dtd
+highPriority=สูà¸
+normalPriority=à¸à¸à¸à¸´
+lowPriority=à¸à¹à¸³
+
+importPrompt=à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸²à¸£à¸²à¸¢à¸à¸²à¸£à¹à¸«à¸¥à¹à¸²à¸à¸µà¹à¸à¸²à¸à¸à¸à¸´à¸à¸´à¸à¹à¸?
+exportPrompt=à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸ªà¹à¸à¸à¸à¸à¸à¸à¸´à¸à¸´à¸à¹à¸?
+pastePrompt=à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸§à¸²à¸à¸¥à¸à¹à¸à¸à¸à¸´à¸à¸´à¸à¹à¸à¸à¸µà¹à¹à¸à¸µà¸¢à¸à¹à¸à¹à¸à¸±à¸à¸à¸¸à¸à¸±à¸à¸à¸à¸à¸à¸¸à¸?
+publishPrompt=à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸¢à¹à¸à¸£à¹à¸à¸à¸´à¸à¸´à¸à¹à¸?
+
+# LOCALIZATION NOTE (pasteEventAlso): The users pasting operation includes among
+# others also a meeting invitation - this is used as a affix in
+# pasteNotifyAbout
+pasteEventAlso=à¸à¸²à¸£à¸§à¸²à¸à¸à¸à¸à¸à¸¸à¸à¸¡à¸µà¸à¸²à¸£à¸à¸£à¸°à¸à¸¸à¸¡
+# LOCALIZATION NOTE (pasteEventsAlso): The users pasting operation includes among
+# others also several meeting invitations - this is used as a affix in
+# pasteNotifyAbout
+pasteEventsAlso=à¸à¸²à¸£à¸§à¸²à¸à¸à¸à¸à¸à¸¸à¸à¸¡à¸µà¸à¸²à¸£à¸à¸£à¸°à¸à¸¸à¸¡
+# LOCALIZATION NOTE (pasteTaskAlso): The users pasting operation includes among
+# others also an assigned task - this is used as a affix in pasteNotifyAbout
+pasteTaskAlso=à¸à¸²à¸£à¸§à¸²à¸à¸à¸à¸à¸à¸¸à¸à¸¡à¸µà¸à¸²à¸à¸à¸µà¹à¸¡à¸à¸à¸«à¸¡à¸²à¸¢
+# LOCALIZATION NOTE (pasteTasksAlso): The users pasting operation include among
+# others also several assigned tasks - this is used as a affix in
+# pasteNotifyAbout
+pasteTasksAlso=à¸à¸²à¸£à¸§à¸²à¸à¸à¸à¸à¸à¸¸à¸à¸¡à¸µà¸à¸²à¸à¸à¸µà¹à¸¡à¸à¸à¸«à¸¡à¸²à¸¢
+# LOCALIZATION NOTE (pasteItemsAlso): The users pasting operation includes among
+# others also assigned task(s) and meeting invitation(s) - this is used as a affix
+# in pasteNotifyAbout
+pasteItemsAlso=à¸à¸²à¸£à¸§à¸²à¸à¸à¸à¸à¸à¸¸à¸à¸¡à¸µà¸à¸²à¸£à¸à¸£à¸°à¸à¸¸à¸¡à¹à¸¥à¸°à¸à¸²à¸à¸à¸µà¹à¸¡à¸à¸à¸«à¸¡à¸²à¸¢
+# LOCALIZATION NOTE (pasteEventOnly): The users is pasting a meeting -
+# this is used as a affix in pasteNotifyAbout
+pasteEventOnly=à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸§à¸²à¸à¸à¸²à¸£à¸à¸£à¸°à¸à¸¸à¸¡
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting several meetings -
+# this is used as a affix in pasteNotifyAbout
+pasteEventsOnly=à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸§à¸²à¸à¸à¸²à¸£à¸à¸£à¸°à¸à¸¸à¸¡
+# LOCALIZATION NOTE (pasteEventOnly): The users is pasting an assigned task -
+# this is used as a affix in pasteNotifyAbout
+pasteTaskOnly=à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸§à¸²à¸à¸à¸²à¸à¸à¸µà¹à¸¡à¸à¸à¸«à¸¡à¸²à¸¢
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting several assigned
+# tasks - this is used as a affix in pasteNotifyAbout
+pasteTasksOnly=à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸§à¸²à¸à¸à¸²à¸à¸à¸µà¹à¸¡à¸à¸à¸«à¸¡à¸²à¸¢
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting assigned task(s) and
+# meeting(s) - this is used as a affix in pasteNotifyAbout
+pasteItemsOnly=à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸§à¸²à¸à¸à¸²à¸£à¸à¸£à¸°à¸à¸¸à¸¡à¹à¸¥à¸°à¸à¸²à¸à¸à¸µà¹à¸¡à¸à¸à¸«à¸¡à¸²à¸¢
+
+# LOCALIZATION NOTE (pasteNotifyAbout): Text displayed if pasting an invitation
+# or assigned task
+# %1$S - pasteEvent* or pasteTask*
+pasteNotifyAbout=%1$S - à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸ªà¹à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¹à¸«à¹à¸à¸±à¸à¸à¸¸à¸à¸à¸à¸à¸µà¹à¹à¸à¸µà¹à¸¢à¸§à¸à¹à¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+
+# LOCALIZATION NOTE (pasteAndNotifyLabel): button label used in calendar prompt
+# of the pasted item has attendees
+pasteAndNotifyLabel=วาà¸à¹à¸¥à¹à¸§à¸ªà¹à¸à¸à¸à¸à¸à¸µà¹
+# LOCALIZATION NOTE (pasteDontNotifyLabel): button label used in calendar prompt
+# of the pasted item has attendees
+pasteDontNotifyLabel=วาà¸à¹à¸à¸¢à¹à¸¡à¹à¸ªà¹à¸
+
+# LOCALIZATION NOTE (importItemsFailed):
+# %1$S will be replaced with number of failed items
+# %2$S will be replaced with last error code / error string
+importItemsFailed=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸² %1$S รายà¸à¸²à¸£ à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸ªà¸¸à¸à¸à¹à¸²à¸¢à¸à¸·à¸: %2$S
+# LOCALIZATION NOTE (noItemsInCalendarFile2):
+# %1$S will be replaced with file path
+noItemsInCalendarFile2=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¹à¸²à¸à¸²à¸ %1$S à¹à¸à¹ à¹à¸¡à¹à¸¡à¸µà¸£à¸²à¸¢à¸à¸²à¸£à¸à¸µà¹à¸à¸³à¹à¸à¹à¸²à¹à¸à¹à¹à¸à¹à¸à¸¥à¹à¸à¸µà¹
+
+#spaces needed at the end of the following lines
+eventDescription=à¸à¸³à¸à¸à¸´à¸à¸²à¸¢:
+
+unableToRead=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¹à¸²à¸à¸à¸²à¸à¹à¸à¸¥à¹:
+unableToWrite=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸µà¸¢à¸à¹à¸à¸¢à¸±à¸à¹à¸à¸¥à¹:
+defaultFileName=MozillaCalEvents
+HTMLTitle=à¸à¸à¸´à¸à¸´à¸ Mozilla
+
+# LOCALIZATION NOTE (timezoneError):
+# used for an error message like 'An unknown and undefined timezone was found while reading c:\Mycalendarfile.ics'
+# %1$S will be replaced with the path to a file
+timezoneError=à¸à¸à¹à¸à¸à¹à¸§à¸¥à¸²à¸à¸µà¹à¹à¸¡à¹à¸à¸£à¸²à¸à¹à¸¥à¸°à¹à¸¡à¹à¹à¸à¹à¸£à¸°à¸à¸¸à¸à¸à¸°à¸à¹à¸²à¸ %1$S
+
+# LOCALIZATION NOTE (duplicateError):
+# %1$S will be replaced with number of duplicate items
+# %2$S will be replaced with a file path pointing to a calendar
+duplicateError=%1$S รายà¸à¸²à¸£à¸à¸¹à¸à¹à¸à¸´à¸à¹à¸à¸¢à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸¡à¸µà¸à¸¢à¸¹à¹à¹à¸¥à¹à¸§à¸à¸±à¹à¸à¹à¸à¸à¸à¸´à¸à¸´à¸à¸à¸¥à¸²à¸¢à¸à¸²à¸à¹à¸¥à¸° %2$S
+
+unableToCreateProvider=à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸à¸²à¸£à¹à¸à¸£à¸µà¸¢à¸¡à¸à¸à¸´à¸à¸´à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¸¢à¸¹à¹à¸à¸µà¹ %1$S สำหรัà¸à¹à¸à¹à¸à¸²à¸ à¹à¸¥à¸°à¸à¸°à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¹
+
+# Sample: Unknown timezone "USPacific" in "Dentist Appt". Using the 'floating' local timezone instead: 2008/02/28 14:00:00
+unknownTimezoneInItem=à¹à¸¡à¹à¸£à¸¹à¹à¸à¸±à¸à¹à¸à¸à¹à¸§à¸¥à¸² "%1$S" à¹à¸ "%2$S" à¸à¸°à¸à¸·à¸à¹à¸à¹à¸à¹à¸à¸à¹à¸§à¸¥à¸²à¸à¹à¸à¸à¸à¸´à¹à¸ 'à¹à¸à¸à¸¥à¸à¸¢' à¹à¸à¸: %3$S
+TimezoneErrorsAlertTitle=à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸à¹à¸§à¸¥à¸²
+TimezoneErrorsSeeConsole=à¸à¸¹à¸à¸à¸à¹à¸à¸¥à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸: à¹à¸à¸à¹à¸§à¸¥à¸²à¸à¸µà¹à¹à¸¡à¹à¸£à¸¹à¹à¸à¸±à¸à¸à¸°à¸à¸·à¸à¹à¸à¹à¸à¹à¸à¸à¹à¸§à¸¥à¸²à¸à¹à¸à¸à¸à¸´à¹à¸ 'à¹à¸à¸à¸¥à¸à¸¢'
+
+# The following strings are for the prompt to delete/unsubscribe from the calendar
+removeCalendarTitle=à¹à¸à¸²à¸à¸à¸´à¸à¸´à¸à¸à¸à¸
+removeCalendarButtonDelete=ลà¸à¸à¸à¸´à¸à¸´à¸
+removeCalendarButtonUnsubscribe=à¹à¸¥à¸´à¸à¸à¸à¸à¸£à¸±à¸
+
+# LOCALIZATION NOTE (removeCalendarMessageDeleteOrUnsubscribe): Shown for
+# calendar where both deleting and unsubscribing is possible.
+# %1$S: The name of a calendar
+removeCalendarMessageDeleteOrUnsubscribe=à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸²à¸à¸à¸´à¸à¸´à¸ "%1$S" à¸à¸à¸à¸«à¸£à¸·à¸à¹à¸¡à¹? à¸à¸²à¸£à¹à¸¥à¸´à¸à¸à¸à¸à¸£à¸±à¸à¸à¸°à¹à¸à¸²à¸à¸à¸´à¸à¸´à¸à¸à¸à¸à¸à¸²à¸à¸£à¸²à¸¢à¸à¸²à¸£ à¹à¸¥à¸°à¸à¸²à¸£à¸¥à¸à¸à¹à¸à¸°à¸¥à¹à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸´à¸à¸´à¸à¸à¸¢à¹à¸²à¸à¸à¸²à¸§à¸£à¸à¹à¸§à¸¢
+
+# LOCALIZATION NOTE (removeCalendarMessageDelete): Shown for calendar where
+# deleting is the only option.
+# %1$S: The name of a calendar
+removeCalendarMessageDelete=à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸¥à¸à¸à¸à¸´à¸à¸´à¸ "%1$S" à¸à¸¢à¹à¸²à¸à¸à¸²à¸§à¸£à¸«à¸£à¸·à¸à¹à¸¡à¹?
+
+# LOCALIZATION NOTE (removeCalendarMessageUnsubscribe): Shown for calendar
+# where unsubscribing is the only option.
+# %1$S: The name of a calendar
+removeCalendarMessageUnsubscribe=à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸¥à¸´à¸à¸à¸à¸à¸£à¸±à¸à¸à¸²à¸à¸à¸à¸´à¸à¸´à¸ "%1$S" หรืà¸à¹à¸¡à¹?
+
+WeekTitle=สัà¸à¸à¸²à¸«à¹ %1$S
+None=à¹à¸¡à¹à¸¡à¸µ
+
+# Error strings
+## @name UID_NOT_FOUND
+## @loc none
+
+# LOCALIZATION NOTE (tooNewSchemaErrorText):
+# %1$S will be replaced with the name of the host application, e.g. 'Thunderbird'
+# %2$S will be replaced with the name of the new copy of the file, e.g. 'local-2020-05-11T21-30-17.sqlite'
+tooNewSchemaErrorText=à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸´à¸à¸´à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¸²à¸à¸±à¸à¹à¸¡à¹à¹à¸à¹à¸à¸±à¸ %1$S รุà¹à¸à¸à¸µà¹ à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸´à¸à¸´à¸à¹à¸à¹à¸à¸£à¹à¸à¸¥à¹à¸à¸à¸à¸à¸¸à¸à¸à¸¹à¸à¸à¸±à¸à¹à¸à¸à¹à¸à¸¢ %1$S รุà¹à¸à¸à¸µà¹à¹à¸«à¸¡à¹à¸à¸§à¹à¸²à¸à¸µà¹ à¹à¸à¸¥à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸ªà¸³à¸£à¸à¸à¹à¸à¹à¸à¸¹à¸à¸ªà¸£à¹à¸²à¸à¸à¸¶à¹à¸à¹à¸¥à¹à¸§à¸à¸·à¹à¸ "%2$S" à¸à¸³à¸¥à¸±à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸à¸à¹à¸§à¸¢à¹à¸à¸¥à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸ªà¸£à¹à¸²à¸à¸à¸¶à¹à¸à¹à¸«à¸¡à¹
+
+# List of events or todos (unifinder)
+eventUntitled=à¹à¸¡à¹à¸¡à¸µà¸à¸·à¹à¸
+
+# Tooltips of events or todos
+tooltipTitle=à¸à¸·à¹à¸à¹à¸£à¸·à¹à¸à¸:
+tooltipLocation=à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸:
+# event date, usually an interval, such as
+# Date: 7:00--8:00 Thu 9 Oct 2011
+# Date: Thu 9 Oct 2000 -- Fri 10 Oct 2000
+tooltipDate=วัà¸à¸à¸µà¹:
+# event calendar name
+tooltipCalName=à¸à¸·à¹à¸à¸à¸à¸´à¸à¸´à¸:
+# event status: tentative, confirmed, cancelled
+tooltipStatus=สà¸à¸²à¸à¸°:
+# event organizer
+tooltipOrganizer=à¸à¸¹à¹à¸à¸±à¸:
+# task/todo fields
+# start date time, due date time, task priority number, completed date time
+tooltipStart=à¹à¸£à¸´à¹à¸¡:
+tooltipDue=à¸à¸£à¸à¸à¸³à¸«à¸à¸:
+tooltipPriority=à¸à¸§à¸²à¸¡à¸ªà¸³à¸à¸±à¸:
+tooltipPercent=% à¸à¸µà¹à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹:
+tooltipCompleted=à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹:
+
+# Tooltips for attendees and organizer in event and summary dialog
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendee.combined): tooltip for itip icon in summary/event dialog.
+# Given an attendee loungeexample.org of type room is a mandatory participant and has accepted the
+# invitation, the tooltip would be:
+# lounge@example.org (room) is a required participant. lounge@example.org has confirmed attendance.
+# %1$S - value of dialog.tooltip.attendeeRole2.*
+# %2$S - value of dialog.tooltip.attendeePartStat2.*
+dialog.tooltip.attendee.combined=%1$S %2$S
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.CHAIR): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+dialog.tooltip.attendeeRole2.CHAIR=%1$S à¹à¸à¹à¸à¸à¸£à¸°à¸à¸²à¸à¹à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.NON-PARTICIPANT): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+dialog.tooltip.attendeeRole2.NON-PARTICIPANT=%1$S à¹à¸à¹à¸à¸à¸¹à¹à¹à¸¡à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.OPT-PARTICIPANT): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+dialog.tooltip.attendeeRole2.OPT-PARTICIPANT=%1$S à¹à¸à¹à¸à¸à¸¹à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸à¸µà¹à¹à¸¡à¹à¸à¸³à¹à¸à¹à¸
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.REQ-PARTICIPANT): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+dialog.tooltip.attendeeRole2.REQ-PARTICIPANT=%1$S à¹à¸à¹à¸à¸à¸¹à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸à¸µà¹à¸à¸³à¹à¸à¹à¸
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.ACCEPTED): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.ACCEPTED=%1$S à¹à¸à¹à¸¢à¸·à¸à¸¢à¸±à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¹à¸§à¸¡
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.DECLINED): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.DECLINED=%1$S à¹à¸à¹à¸à¸à¸´à¹à¸ªà¸à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¹à¸§à¸¡
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.DELEGATED): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.DELEGATED=%1$S à¹à¸à¹à¸¡à¸à¸à¸«à¸¡à¸²à¸¢à¹à¸«à¹à¸à¸¹à¹à¸à¸·à¹à¸à¹à¸à¹à¸²à¸£à¹à¸§à¸¡
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.NEEDS-ACTION): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.NEEDS-ACTION=%1$S ยัà¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸«à¹à¸à¸à¸à¸à¸¥à¸±à¸
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.TENTATIVE): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.TENTATIVE=%1$S à¹à¸à¹à¸¢à¸·à¸à¸¢à¸±à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸à¸¢à¹à¸²à¸à¹à¸¡à¹à¹à¸à¹à¸à¸à¸
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.INDIVIDUAL): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name representing individual attendee
+dialog.tooltip.attendeeUserType2.INDIVIDUAL=%1$S
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.GROUP): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name representing a group (e.g. a distribution list)
+dialog.tooltip.attendeeUserType2.GROUP=%1$S (à¸à¸¥à¸¸à¹à¸¡)
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.RESOURCE): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name representing a resource (e.g. projector)
+dialog.tooltip.attendeeUserType2.RESOURCE=%1$S (à¸à¸£à¸±à¸à¸¢à¸²à¸à¸£)
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.ROOM): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name representing a room
+dialog.tooltip.attendeeUserType2.ROOM=%1$S (หà¹à¸à¸)
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.UNKNOWN): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name representing an attendee of unknown type
+dialog.tooltip.attendeeUserType2.UNKNOWN=%1$S
+
+#File commands and dialogs
+New=à¹à¸«à¸¡à¹
+Open=à¹à¸à¸´à¸
+filepickerTitleImport=à¸à¸³à¹à¸à¹à¸²
+filepickerTitleExport=สà¹à¸à¸à¸à¸
+
+# Filters for export/import/open file picker. %1$S will be replaced with
+# wildmat used to filter files by extension, such as (*.html; *.htm).
+filterIcs=iCalendar (%1$S)
+filterXml=à¹à¸à¸à¸ªà¸²à¸£ XML (%1$S)
+filterHtml=หà¸à¹à¸²à¹à¸§à¹à¸ (%1$S)
+filterOutlookCsv=à¸à¹à¸²à¸à¸µà¹à¸à¸±à¹à¸à¸à¹à¸§à¸¢à¹à¸à¸£à¸·à¹à¸à¸à¸«à¸¡à¸²à¸¢à¸à¸¸à¸¥à¸ าà¸à¸à¸à¸ Outlook (%1$S)
+
+# Remote calendar errors
+genericErrorTitle=à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸
+httpPutError=à¸à¸²à¸£à¹à¸à¸¢à¹à¸à¸£à¹à¹à¸à¸¥à¹à¸à¸à¸´à¸à¸´à¸à¸¥à¹à¸¡à¹à¸«à¸¥à¸§\nรหัสสà¸à¸²à¸à¸°: %1$S: %2$S
+otherPutError=à¸à¸²à¸£à¹à¸à¸¢à¹à¸à¸£à¹à¹à¸à¸¥à¹à¸à¸à¸´à¸à¸´à¸à¸¥à¹à¸¡à¹à¸«à¸¥à¸§\nรหัสสà¸à¸²à¸à¸°: 0x%1$S
+
+# LOCALIZATION NOTE (readOnlyMode):
+# used for an message like 'There has been an error reading data for calendar: Home. It has been...'
+# %1$S will be replaced with the name of a calendar
+readOnlyMode=มีà¸à¸±à¸à¸«à¸²à¹à¸à¸à¸²à¸£à¸à¹à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸à¸´à¸à¸´à¸: %1$S à¸à¸¶à¹à¸à¹à¸à¹à¸à¸¹à¸à¸à¸³à¸«à¸à¸à¹à¸«à¹à¹à¸à¸´à¸à¹à¸à¹à¸«à¸¡à¸à¸à¹à¸²à¸à¸à¸¢à¹à¸²à¸à¹à¸à¸µà¸¢à¸§ à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸±à¸à¸à¸à¸´à¸à¸´à¸à¸à¸µà¹à¸à¸²à¸à¸à¸°à¸ªà¹à¸à¸à¸¥à¹à¸«à¹à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¸¹à¸à¸«à¸²à¸¢à¹à¸à¹ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸µà¹à¹à¸à¹à¹à¸à¸¢à¹à¸¥à¸·à¸à¸ 'à¹à¸à¹à¹à¸à¸à¸à¸´à¸à¸´à¸'
+
+# LOCALIZATION NOTE (disabledMode):
+# used for an message like 'There has been an error reading data for calendar: Home. It has been...'
+# %1$S will be replaced with the name of a calendar
+disabledMode=มีà¸à¸±à¸à¸«à¸²à¹à¸à¸à¸²à¸£à¸à¹à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸à¸´à¸à¸´à¸: %1$S à¸à¸¶à¹à¸à¹à¸à¹à¸à¸¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸à¸à¸§à¹à¸²à¸à¸°à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¹à¸à¹à¸à¸¢à¹à¸²à¸à¸à¸¥à¸à¸à¸ ัย
+
+# LOCALIZATION NOTE (minorError):
+# used for an message like 'There has been an error reading data for calendar: Home. However this...'
+# %1$S will be replaced with the name of a calendar
+minorError=มีà¸à¸±à¸à¸«à¸²à¹à¸à¸à¸²à¸£à¸à¹à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸à¸´à¸à¸´à¸: %1$S à¹à¸à¹à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸·à¸à¸§à¹à¸²à¸£à¹à¸²à¸¢à¹à¸£à¸à¸¡à¸²à¸à¸à¸±à¸ à¸à¸±à¸à¸à¸±à¹à¸à¹à¸à¸£à¹à¸à¸£à¸¡à¸à¸°à¸à¸¢à¸²à¸¢à¸²à¸¡à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸
+
+# LOCALIZATION NOTE (stillReadOnlyError):
+# used for an message like 'There has been an error reading data for calendar: Home.'
+# %1$S will be replaced with the name of a calendar
+stillReadOnlyError=à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸à¸²à¸£à¸à¹à¸²à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸à¸´à¸à¸´à¸: %1$S
+utf8DecodeError=à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸à¸°à¸à¸à¸à¸£à¸«à¸±à¸ªà¹à¸à¸¥à¹ iCalendar (ics) à¹à¸à¹à¸ UTF-8 à¸à¸£à¸§à¸à¸ªà¸à¸à¸§à¹à¸²à¹à¸à¸¥à¹ รวมà¸à¸¶à¸à¹à¸à¸£à¸·à¹à¸à¸à¸«à¸¡à¸²à¸¢à¹à¸¥à¸°à¸à¸±à¸§à¸à¸±à¸à¸©à¸£à¸à¸µà¹à¸¡à¸µà¹à¸à¸£à¸·à¹à¸à¸à¸«à¸¡à¸²à¸¢à¸à¸³à¸à¸±à¸à¸à¸²à¸£à¸à¸à¸à¹à¸ªà¸µà¸¢à¸à¸à¸¹à¸à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¸à¹à¸§à¸¢à¸£à¸«à¸±à¸ªà¸à¸±à¸à¸à¸£à¸° UTF-8
+icsMalformedError=à¸à¸²à¸£à¹à¸¢à¸à¸§à¸´à¹à¸à¸£à¸²à¸°à¸«à¹à¹à¸à¸¥à¹ iCalendar (ics) ลà¹à¸¡à¹à¸«à¸¥à¸§ à¸à¸£à¸§à¸à¸ªà¸à¸à¸§à¹à¸²à¹à¸à¸¥à¹à¸ªà¸à¸à¸à¸¥à¹à¸à¸à¸à¸±à¸à¹à¸§à¸¢à¸²à¸à¸£à¸à¹à¹à¸à¸¥à¹ iCalendar (ics)
+itemModifiedOnServerTitle=รายà¸à¸²à¸£à¸¡à¸µà¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹
+itemModifiedOnServer=มีà¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸µà¹à¸à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹\n
+modifyWillLoseData=à¸à¸²à¸£à¸ªà¹à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸à¸à¸à¸¸à¸à¸à¸°à¹à¸à¸µà¸¢à¸à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸µà¹à¸à¸³à¸à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹
+deleteWillLoseData=à¸à¸²à¸£à¸¥à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸µà¹à¸à¸°à¸ªà¹à¸à¸à¸¥à¹à¸«à¹à¸ªà¸¹à¸à¹à¸ªà¸µà¸¢à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸µà¹à¸à¸³à¸à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹
+updateFromServer=ละà¸à¸´à¹à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸à¸à¸à¸±à¸à¹à¸¥à¹à¸§à¹à¸«à¸¥à¸à¹à¸«à¸¡à¹
+proceedModify=สà¹à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸à¸à¸à¸±à¸à¸à¹à¸à¹à¸
+proceedDelete=ลà¸à¸à¹à¸à¹à¸
+dav_notDav=à¸à¸£à¸±à¸à¸¢à¸²à¸à¸£à¸à¸µà¹ %1$S à¹à¸¡à¹à¹à¸à¹à¸à¸¸à¸à¸ªà¸°à¸ªà¸¡ DAV หรืà¸à¹à¸¡à¹à¸¡à¸µà¹à¸«à¹à¹à¸à¹
+dav_davNotCaldav=à¸à¸£à¸±à¸à¸¢à¸²à¸à¸£à¸à¸µà¹ %1$S à¹à¸à¹à¸à¸à¸¸à¸à¸ªà¸°à¸ªà¸¡ DAV à¹à¸à¹à¹à¸¡à¹à¹à¸à¹à¸à¸à¸´à¸à¸´à¸ CalDAV
+itemPutError=มีà¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¹à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹
+itemDeleteError=มีà¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸²à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹
+caldavRequestError=à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸à¸°à¸ªà¹à¸à¸à¸³à¹à¸à¸´à¸
+caldavResponseError=à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸à¸°à¸ªà¹à¸à¸à¸²à¸£à¸à¸à¸à¸ªà¸à¸à¸
+caldavRequestStatusCode=รหัสสà¸à¸²à¸à¸°: %1$S
+caldavRequestStatusCodeStringGeneric=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¸³à¸à¸
+caldavRequestStatusCodeString400=à¸à¸³à¸à¸à¸¡à¸µà¹à¸§à¸¢à¸²à¸à¸£à¸à¹à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸à¹à¸¥à¸°à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¹à¸à¹
+caldavRequestStatusCodeString403=à¸à¸¹à¹à¹à¸à¹à¸à¸²à¸à¸ªà¸´à¸à¸à¸´à¸à¸à¸¸à¸à¸²à¸à¸à¸µà¹à¸à¸³à¹à¸à¹à¸à¹à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸²à¸¡à¸à¸³à¸à¸
+caldavRequestStatusCodeString404=à¹à¸¡à¹à¸à¸à¸à¸£à¸±à¸à¸¢à¸²à¸à¸£
+caldavRequestStatusCodeString409=à¸à¸£à¸±à¸à¸¢à¸²à¸à¸£à¸¡à¸µà¸à¹à¸à¸à¸±à¸à¹à¸¢à¹à¸
+caldavRequestStatusCodeString412=à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¹à¸à¸·à¹à¸à¸à¹à¸à¸¥à¹à¸§à¸à¸«à¸à¹à¸²à¸¥à¹à¸¡à¹à¸«à¸¥à¸§
+caldavRequestStatusCodeString500=à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸ ายà¹à¸
+caldavRequestStatusCodeString502=à¹à¸à¸à¹à¸§à¸¢à¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸ (à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸à¸£à¹à¸à¸à¸à¸µ?)
+caldavRequestStatusCodeString503=à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸ ายà¹à¸ (à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸«à¸¢à¸¸à¸à¸à¸³à¸à¸²à¸à¸à¸±à¹à¸§à¸à¸£à¸²à¸§?)
+caldavRedirectTitle=à¸à¸±à¸à¹à¸à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸à¸´à¸à¸´à¸ %1$S?
+caldavRedirectText=à¸à¸³à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸ %1$S à¸à¸³à¸¥à¸±à¸à¸à¸°à¸à¸¹à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸ªà¹à¸à¸à¸²à¸à¹à¸à¸¢à¸±à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¹à¸«à¸¡à¹ à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¹à¸à¹à¸à¸à¹à¸²à¸à¹à¸à¹à¸à¸à¸µà¹à¸«à¸£à¸·à¸à¹à¸¡à¹?
+caldavRedirectDisableCalendar=à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸à¸´à¸à¸´à¸
+
+
+# LOCALIZATION NOTE (likelyTimezone):
+# Translators, please put the most likely timezone(s) where the people using
+# your locale will be. Use the Olson ZoneInfo timezone name *in English*,
+# ie "Europe/Paris", (continent or ocean)/(largest city in timezone).
+# Order does not matter, except if two historically different zones now match,
+# such as America/New_York and America/Toronto, will only find first listed.
+# (Particularly needed to guess the most relevant timezones if there are
+# similar timezones at the same June/December GMT offsets with alphabetically
+# earlier ZoneInfo timezone names. Sample explanations for English below.)
+# for english-US:
+# America/Los_Angeles likelier than America/Dawson
+# America/New_York likelier than America/Detroit (NY for US-EasternTime)
+# for english:
+# Europe/London likelier than Atlantic/Canary
+# Europe/Paris likelier than Africa/Ceuta (for WestEuropeanTime)
+# America/Halifax likelier than America/Glace_Bay (Canada-AtlanticTime)
+# America/Mexico_City likelier than America/Cancun
+# America/Argentina/Buenos_Aires likelier than America/Araguaina
+# America/Sao_Paolo (may not recognize: summer-time dates change every year)
+# Asia/Singapore likelier than Antarctica/Casey
+# Asia/Tokyo likelier than Asia/Dili
+# Africa/Lagos likelier than Africa/Algiers (for WestAfricanTime)
+# Africa/Johannesburg likelier than Africa/Blantyre (for SouthAfricanStdTime)
+# Africa/Nairobi likelier than Africa/Addis_Ababa (for EastAfricanTime)
+# Australia/Brisbane likelier than Antarctica/DumontDUrville
+# Australia/Sydney likelier than Australia/Currie or Australia/Hobart
+# Pacific/Auckland likelier than Antarctica/McMurdo
+likelyTimezone=America/New_York, America/Chicago, America/Denver, America/Phoenix, America/Los_Angeles, America/Anchorage, America/Adak, Pacific/Honolulu, America/Puerto_Rico, America/Halifax, America/Mexico_City, America/Argentina/Buenos_Aires, America/Sao_Paulo, Europe/London, Europe/Paris, Asia/Singapore, Asia/Tokyo, Africa/Lagos, Africa/Johannesburg, Africa/Nairobi, Australia/Brisbane, Australia/Sydney, Pacific/Auckland
+
+# Guessed Timezone errors and warnings.
+# Testing note:
+# * remove preference for calendar.timezone.default in userprofile/prefs.js
+# * repeat
+# - set OS timezone to a city (windows: click right on clock in taskbar)
+# - restart
+# - observe guess in error console and verify whether guessed timezone city
+# makes sense for OS city.
+#
+# 'Warning: Operating system timezone "E. South America Standard Time"
+# no longer matches ZoneInfo timezone "America/Sao_Paulo".'
+# Testing notes:
+# - Brasil DST change dates are set every year by decree, so likely out of sync.
+# - Only appears on OSes from which timezone can be obtained
+# (windows; or TZ env var, /etc/localtime target path, or line in
+# /etc/timezone or /etc/sysconfig/clock contains ZoneInfo timezone id).
+# - Windows: turning off "Automatically adjust clock for daylight saving time"
+# can also trigger this warning.
+WarningOSTZNoMatch=à¸à¸³à¹à¸à¸·à¸à¸: à¹à¸à¸à¹à¸§à¸¥à¸²à¸à¸à¸à¸£à¸°à¸à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£ "%1$S"\nà¹à¸¡à¹à¸à¸£à¸à¸à¸±à¸à¹à¸à¸à¹à¸§à¸¥à¸² ZoneInfo ภายà¹à¸ "%2$S" à¸à¸µà¸à¸à¹à¸à¹à¸
+
+# "Skipping Operating System timezone 'Pacific/New_Country'."
+# Testing note: not easily testable. May occur someday if (non-windows)
+# OS uses different version of ZoneInfo database which has a timezone name
+# that is not included in our current ZoneInfo database (or if the mapping
+# mapping from windows to ZoneInfo timezone ids does).
+SkippingOSTimezone=à¸à¸³à¸¥à¸±à¸à¸à¹à¸²à¸¡à¹à¸à¸à¹à¸§à¸¥à¸²à¸à¸à¸à¸£à¸°à¸à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£ '%1$S'
+
+# "Skipping locale timezone 'America/New_Yawk'."
+# Testing note: Skipping occurs if a likelyTimezone id is unknown or misspelled.
+SkippingLocaleTimezone=à¸à¸³à¸¥à¸±à¸à¸à¹à¸²à¸¡à¹à¸à¸à¹à¸§à¸¥à¸²à¸à¸à¸à¸ าษา '%1$S'
+
+# Testing note: "No match" timezones include Bucharest on W2k.
+# Brazil timezones may be "No match" (change every year, so often out of date,
+# and changes are often more than a week different).
+warningUsingFloatingTZNoMatch=à¸à¸³à¹à¸à¸·à¸à¸: à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¹à¸à¸à¹à¸§à¸¥à¸² "à¹à¸à¸à¸¥à¸à¸¢"\nà¹à¸¡à¹à¸¡à¸µà¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹à¸§à¸¥à¸² ZoneInfo à¸à¸µà¹à¸à¸£à¸à¸à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸à¹à¸§à¸¥à¸²à¸à¸à¸à¸£à¸°à¸à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£
+
+# "Warning: Using guessed timezone
+# America/New York (UTC-0500/-0400).
+# [rfc2445 summer daylight saving shift rules for timezone]
+# This ZoneInfo timezone almost matches/seems to match..."
+# This ZoneInfo timezone was chosen based on ... "
+WarningUsingGuessedTZ=à¸à¸³à¹à¸à¸·à¸à¸: à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¹à¸à¸à¹à¸§à¸¥à¸²à¸à¸µà¹à¸à¸²à¸à¹à¸à¸²\n %1$S (UTC%2$S).\n%3$S\n%4$S
+
+# Testing note: "Almost match" timezones include Cairo on W2k.
+TZAlmostMatchesOSDifferAtMostAWeek=à¹à¸à¸à¹à¸§à¸¥à¸² ZoneInfo à¸à¸µà¹à¹à¸à¸·à¸à¸à¸à¸£à¸à¸à¸±à¸à¹à¸à¸à¹à¸§à¸¥à¸²à¸à¸à¸à¸£à¸°à¸à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£\nสำหรัà¸à¸à¸à¸à¸µà¹ à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¸£à¸°à¸«à¸§à¹à¸²à¸à¹à¸§à¸¥à¸²à¸à¸à¸¡à¹à¸ªà¸à¹à¸¥à¸°à¹à¸§à¸¥à¸²à¸¡à¸²à¸à¸£à¸à¸²à¸\nà¹à¸à¸à¸£à¸±à¹à¸à¸à¸±à¸à¹à¸à¸à¸°à¹à¸à¸à¸à¹à¸²à¸à¸à¸²à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸à¹à¸§à¸¥à¸²à¸à¸à¸à¸£à¸°à¸à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£\nà¸à¸¢à¹à¸²à¸à¸¡à¸²à¸à¸«à¸à¸¶à¹à¸à¸ªà¸±à¸à¸à¸²à¸«à¹\nà¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸à¸¡à¸µà¸à¸²à¸à¸à¸¢à¹à¸²à¸à¸à¸µà¹à¹à¸¡à¹à¹à¸«à¸¡à¸·à¸à¸à¸à¸±à¸ à¹à¸à¹à¸ วัà¸à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¸µà¹à¹à¸à¸à¸à¹à¸²à¸à¸à¸±à¸\nหรืà¸à¸à¸à¸à¸µà¹à¹à¸à¸à¸à¹à¸²à¸à¸à¸±à¸ หรืà¸à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸à¸à¸à¸´à¸à¸´à¸à¸à¸µà¹à¹à¸¡à¹à¹à¸à¹à¹à¸à¸£à¹à¸à¹à¸£à¸µà¸¢à¸
+
+TZSeemsToMatchOS=à¹à¸à¸à¹à¸§à¸¥à¸² ZoneInfo à¸à¸µà¹à¸à¸¹à¹à¸«à¸¡à¸·à¸à¸à¸à¸°à¸à¸£à¸à¸à¸±à¸à¹à¸à¸à¹à¸§à¸¥à¸²à¸à¸à¸à¸£à¸°à¸à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£à¹à¸à¸à¸µà¸à¸µà¹
+
+# LOCALIZATION NOTE (TZFromOS):
+# used for a display of a chosen timezone
+# %1$S will be replaced with the name of a timezone
+TZFromOS=à¹à¸à¸à¹à¸§à¸¥à¸² ZoneInfo à¸à¸µà¹à¸à¸¹à¸à¹à¸¥à¸·à¸à¸à¸à¸²à¸¡à¸à¸±à¸§à¸£à¸°à¸à¸¸à¹à¸à¸à¹à¸§à¸¥à¸²à¸à¸à¸à¸£à¸°à¸à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£ "%1$S"
+
+# Localization note (TZFromLocale): Substitute name of your locale language.
+TZFromLocale=à¹à¸à¸à¹à¸§à¸¥à¸² ZoneInfo à¸à¸µà¹à¸à¸¹à¸à¹à¸¥à¸·à¸à¸à¹à¸«à¹à¸à¸£à¸à¸à¸±à¸à¹à¸à¸à¹à¸§à¸¥à¸²à¸à¸à¸à¸£à¸°à¸à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£à¸à¸µà¹à¹à¸à¸°à¸à¸³à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸¹à¹à¹à¸à¹\nà¸à¸´à¸à¹à¸à¸à¸£à¹à¹à¸à¹à¸à¸à¸µà¹à¹à¸à¹à¸ าษาà¹à¸à¸¢
+
+TZFromKnownTimezones=à¹à¸à¸à¹à¸§à¸¥à¸² ZoneInfo à¸à¸µà¹à¸à¸¹à¸à¹à¸¥à¸·à¸à¸à¹à¸«à¹à¸à¸£à¸à¸à¸±à¸à¹à¸à¸à¹à¸§à¸¥à¸²à¸à¸à¸à¸£à¸°à¸à¸à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£à¸à¹à¸§à¸¢à¹à¸à¸à¹à¸§à¸¥à¸²à¸à¸µà¹à¸£à¸¹à¹à¸à¸±à¸à¸à¸²à¸¡\nลำà¸à¸±à¸à¸à¸±à¸§à¸à¸±à¸à¸©à¸£à¸à¸à¸ id à¹à¸à¸à¹à¸§à¸¥à¸²
+
+# Print Layout
+formatListName = รายà¸à¸²à¸£
+weekPrinterName = à¸à¸²à¸£à¸§à¸²à¸à¹à¸à¸à¸£à¸²à¸¢à¸ªà¸±à¸à¸à¸²à¸«à¹
+monthPrinterName = à¸à¸²à¸£à¸²à¸à¸£à¸²à¸¢à¹à¸à¸·à¸à¸
+tasksWithNoDueDate = à¸à¸²à¸à¸à¸µà¹à¹à¸¡à¹à¸¡à¸µà¸§à¸±à¸à¸à¸£à¸à¸à¸³à¸«à¸à¸
+
+# Providers
+caldavName=CalDAV
+compositeName=Composite
+icsName=iCalendar (ICS)
+memoryName=à¸à¸±à¹à¸§à¸à¸£à¸²à¸§ (หà¸à¹à¸§à¸¢à¸à¸§à¸²à¸¡à¸à¸³)
+storageName=à¹à¸à¹à¸à¸£à¸·à¹à¸à¸ (SQLite)
+
+# Used in created html code for list layout print and html export
+htmlPrefixTitle=à¸à¸·à¹à¸à¹à¸£à¸·à¹à¸à¸
+htmlPrefixWhen=à¹à¸¡à¸·à¹à¸
+htmlPrefixLocation=à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸
+htmlPrefixDescription=à¸à¸³à¸à¸à¸´à¸à¸²à¸¢
+htmlTaskCompleted=%1$S (à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹)
+
+# Categories
+addCategory=à¹à¸à¸´à¹à¸¡à¸«à¸¡à¸§à¸à¸«à¸¡à¸¹à¹
+multipleCategories=หลายหมวà¸à¸«à¸¡à¸¹à¹
+
+today=วัà¸à¸à¸µà¹
+tomorrow=à¸à¸£à¸¸à¹à¸à¸à¸µà¹
+yesterday=à¹à¸¡à¸·à¹à¸à¸§à¸²à¸à¸à¸µà¹
+
+#Today pane
+eventsonly=à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹
+eventsandtasks=à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¹à¸¥à¸°à¸à¸²à¸
+tasksonly=à¸à¸²à¸
+shortcalendarweek=สัà¸à¸à¸²à¸«à¹
+
+go=à¹à¸
+
+# Some languages have different conjugations of 'next' and 'last'. If yours
+# does not, simply repeat the value. This will be used with day names, as in
+# 'next Sunday'.
+next1=à¸à¸±à¸à¹à¸
+next2=à¸à¸±à¸à¹à¸
+last1=สุà¸à¸à¹à¸²à¸¢
+last2=สุà¸à¸à¹à¸²à¸¢
+
+# Alarm Dialog
+# LOCALIZATION NOTE (alarmWindowTitle.label): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/Localization_and_Plurals
+alarmWindowTitle.label=#1 à¸à¸²à¸£à¹à¸à¸·à¸à¸à¸à¸§à¸²à¸¡à¸à¸³
+
+# LOCALIZATION NOTE (alarmStarts):
+# used for a display the start of an alarm like 'Starts: Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with a date-time
+alarmStarts=à¹à¸£à¸´à¹à¸¡: %1$S
+
+# LOCALIZATION NOTE (alarmTodayAt):
+# used for a display the date-time of an alarm like 'Today at Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with a date-time
+alarmTodayAt=วัà¸à¸à¸µà¹à¸à¸µà¹ %1$S
+
+# LOCALIZATION NOTE (alarmTomorrowAt):
+# used for a display the date-time of an alarm like 'Tomorrow at Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with a date-time
+alarmTomorrowAt=à¸à¸£à¸¸à¹à¸à¸à¸µà¹à¸à¸µà¹ %1$S
+
+# LOCALIZATION NOTE (alarmYesterdayAt):
+# used for a display the date-time of an alarm like 'Yesterday at Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with a date-time
+alarmYesterdayAt=à¹à¸¡à¸·à¹à¸à¸§à¸²à¸à¸à¸µà¹à¸à¸µà¹ %1$S
+
+# Alarm interface strings
+# LOCALIZATION NOTE: These strings do not get displayed. They are only visible
+# when exporting an item with i.e a DISPLAY alarm, that doesn't have a
+# description set, or an EMAIL alarm that doesn't have a summary set.
+alarmDefaultDescription=à¸à¸³à¸à¸à¸´à¸à¸²à¸¢ Mozilla à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+alarmDefaultSummary=à¸à¸à¸ªà¸£à¸¸à¸ Mozilla à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+
+# LOCALIZATION NOTE (alarmSnoozeLimitExceeded): Semi-colon list of plural
+# forms.
+alarmSnoozeLimitExceeded=à¸à¸¸à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸¥à¸·à¹à¸à¸à¸à¸²à¸£à¹à¸à¸·à¸à¸à¹à¸à¹à¸à¹à¸§à¸¥à¸²à¸¡à¸²à¸à¸à¸§à¹à¸² #1 à¹à¸à¸·à¸à¸à¹à¸à¹
+
+taskDetailsStatusNeedsAction=à¸à¹à¸à¸à¸à¸²à¸£à¸à¸²à¸£à¸à¸£à¸°à¸à¸³
+
+# LOCALIZATION NOTE (taskDetailsStatusInProgress):
+# used for a display of how much of a task is completed '25% Complete'
+# %1$S will be replaced with the number of percentage completed
+taskDetailsStatusInProgress=à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹ %1$S%%
+taskDetailsStatusCompleted=à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹
+
+# LOCALIZATION NOTE (taskDetailsStatusCompletedOn):
+# used for a display of completion date like 'Completed on Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with the completion date-time of the task
+taskDetailsStatusCompletedOn=à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹à¹à¸¡à¸·à¹à¸ %1$S
+taskDetailsStatusCancelled=ยà¸à¹à¸¥à¸´à¸à¹à¸¥à¹à¸§
+
+gettingCalendarInfoCommon=à¸à¸³à¸¥à¸±à¸à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸à¸´à¸à¸´à¸â¦
+
+# LOCALIZATION NOTE (gettingCalendarInfoDetail):
+# used for a progress-display of processed like 'Checking Calendar 5 of 10'
+# %1$S will be replaced with the index of the currently processed calendar
+# %2$S will be replaced with the total numbers of calendars
+gettingCalendarInfoDetail=à¸à¸³à¸¥à¸±à¸à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸à¸´à¸à¸´à¸ %1$S à¸à¸²à¸ %2$S
+
+# LOCALIZATION NOTE (errorCode):
+# %1$S will be replaced with the number of an error code
+errorCode=รหัสà¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸: %1$S
+
+# LOCALIZATION NOTE (errorDescription):
+# %1$S will be replaced with the description of an error
+errorDescription=à¸à¸³à¸à¸à¸´à¸à¸²à¸¢: %1$S
+
+# LOCALIZATION NOTE (errorWriting):
+# used for an message like 'An error occurred when writing to the calendar Home!'
+# %1$S will be replaced with the name of a calendar
+errorWriting2=à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸¡à¸·à¹à¸à¹à¸à¸µà¸¢à¸à¸¥à¸à¹à¸à¸à¸à¸´à¸à¸´à¸ %1$S! à¹à¸à¸£à¸à¸à¸¹à¸à¹à¸²à¸à¸¥à¹à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+# LOCALIZATION NOTE (errorWritingDetails):
+# This will be displayed in the detail section of the error dialog
+errorWritingDetails=หาà¸à¸à¸¸à¸à¹à¸«à¹à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸«à¸¥à¸±à¸à¸à¸²à¸à¸à¸µà¹à¹à¸¥à¸·à¹à¸à¸à¸«à¸£à¸·à¸à¹à¸à¸´à¸à¹à¸à¸¢à¸à¸²à¸£à¹à¸à¸·à¸à¸à¸à¸§à¸²à¸¡à¸à¸³ à¹à¸¥à¸°à¹à¸¡à¹à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸´à¹à¸¡à¸«à¸£à¸·à¸à¹à¸à¹à¹à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¹à¸à¸à¸à¸´à¸à¸´à¸à¸à¸µà¹ à¸à¸¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¸£à¸·à¹à¸à¸à¸«à¸¡à¸²à¸¢à¸à¸à¸´à¸à¸´à¸à¸à¸µà¹à¸§à¹à¸²à¹à¸à¹à¸à¹à¸à¸à¸à¹à¸²à¸à¸à¸¢à¹à¸²à¸à¹à¸à¸µà¸¢à¸§à¹à¸à¸·à¹à¸à¸«à¸¥à¸µà¸à¹à¸¥à¸µà¹à¸¢à¸à¸à¸²à¸£à¹à¸«à¹à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸±à¸à¸à¸¥à¹à¸²à¸§à¹à¸à¸à¸à¸²à¸à¸ à¹à¸¡à¸·à¹à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸à¸à¸±à¹à¸ à¹à¸«à¹à¹à¸à¸à¸µà¹à¸à¸¸à¸à¸ªà¸¡à¸à¸±à¸à¸´à¸à¸à¸´à¸à¸´à¸à¹à¸à¸¢à¸à¸¥à¸´à¸à¸à¸§à¸²à¸à¸µà¹à¸à¸à¸´à¸à¸´à¸à¸à¸µà¹à¹à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸µà¹à¸à¸¢à¸¹à¹à¹à¸à¸à¸à¸´à¸à¸´à¸à¸«à¸£à¸·à¸à¸¡à¸¸à¸¡à¸¡à¸à¸à¸à¸²à¸
+
+# LOCALIZATION NOTE (tooltipCalendarDisabled):
+# used for an alert-message like 'The calendar Home is momentarily not available'
+# %1$S will be replaced with the name of a calendar
+tooltipCalendarDisabled=à¸à¸à¸´à¸à¸´à¸ %1$S à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¹à¸à¹à¸à¸±à¹à¸§à¸à¸£à¸²à¸§
+
+# LOCALIZATION NOTE (tooltipCalendarReadOnly):
+# used for an message like 'The calendar Home is readonly'
+# %1$S will be replaced with the name of a calendar
+tooltipCalendarReadOnly=à¸à¸à¸´à¸à¸´à¸ %1$S à¹à¸à¹à¸à¹à¸à¸à¸à¹à¸²à¸à¸à¸¢à¹à¸²à¸à¹à¸à¸µà¸¢à¸§
+
+taskEditInstructions=à¸à¸¥à¸´à¸à¸à¸µà¹à¸à¸µà¹à¹à¸à¸·à¹à¸à¹à¸à¸´à¹à¸¡à¸à¸²à¸à¹à¸«à¸¡à¹
+taskEditInstructionsReadonly=à¹à¸à¸£à¸à¹à¸¥à¸·à¸à¸à¸à¸à¸´à¸à¸´à¸à¸à¸µà¹à¹à¸à¸µà¸¢à¸à¹à¸à¹
+taskEditInstructionsCapability=à¹à¸à¸£à¸à¹à¸¥à¸·à¸à¸à¸à¸à¸´à¸à¸´à¸à¸à¸µà¹à¸£à¸à¸à¸£à¸±à¸à¸à¸²à¸
+
+eventDetailsStartDate=à¹à¸£à¸´à¹à¸¡:
+eventDetailsEndDate=สิà¹à¸à¸ªà¸¸à¸:
+
+# LOCALIZATION NOTE (datetimeWithTimezone):
+# used for a display of a date-time with timezone 'Thu 2 Oct 2008 13:21', Europe/Paris
+# %1$S will be replaced with the completion date-time
+# %2$S will be replaced with the name of the timezone
+datetimeWithTimezone=%1$S, %2$S
+
+# LOCALIZATION NOTE (singleLongCalendarWeek):
+# used for display of calendar weeks in short form like 'Calendar Week 43'
+# %1$S will be replaced with the index of the week
+singleLongCalendarWeek=สัà¸à¸à¸²à¸«à¹à¸à¸à¸´à¸à¸´à¸: %1$S
+
+# LOCALIZATION NOTE (severalLongCalendarWeeks):
+# used for display of calendar weeks in short form like 'Calendar Weeks 43 - 45'
+# %1$S will be replaced with the index of the start-week
+# %2$S will be replaced with the index of the end-week
+severalLongCalendarWeeks=สัà¸à¸à¸²à¸«à¹à¸à¸à¸´à¸à¸´à¸ %1$S-%2$S
+
+# LOCALIZATION NOTE (singleShortCalendarWeek):
+# used for display of calendar weeks in short form like 'CW 43'
+# %1$S will be replaced with the index of the week
+singleShortCalendarWeek=สัà¸à¸à¸²à¸«à¹: %1$S
+
+# LOCALIZATION NOTE (severalShortCalendarWeeks):
+# used for display of calendar weeks in short form like 'CWs 43 - 45'
+# %1$S will be replaced with the index of the start-week
+# %2$S will be replaced with the index of the end-week
+severalShortCalendarWeeks=สัà¸à¸à¸²à¸«à¹: %1$S-%2$S
+
+# LOCALIZATION NOTE (abbreviationOfWeek):
+# Used for displaying the week number in the first day box of every week
+# in multiweek and month views.
+# It allows to localize the label with the week number in case your locale
+# requires it.
+# Take into account that this label is placed in the same room of the day label
+# inside the day boxes, exactly on left side, hence a possible string shouldn't
+# be too long otherwise it will create confusion between the week number and
+# the day number other than a possible crop when the window is resized.
+#
+# %1$S is a number from 1 to 53 that represents the week number.
+abbreviationOfWeek=%1$S
+
+# Task tree, "Due In" column.
+# LOCALIZATION NOTE (dueInDays, dueInHours): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/Localization_and_Plurals
+dueInDays=#1 วัà¸
+dueInHours=#1 à¸à¸±à¹à¸§à¹à¸¡à¸
+dueInLessThanOneHour=< 1 à¸à¸±à¹à¸§à¹à¸¡à¸
+
+# LOCALIZATION NOTE (monthInYear):
+# used for display of Month-dates like 'December 2008'
+# %1$S will be replaced with name of the month
+# %2$S will be replaced with the year
+monthInYear=%1$S %2$S
+
+# LOCALIZATION NOTE (monthInYear.monthFormat):
+# If your language requires a different declension, change this to
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+monthInYear.monthFormat=nominative
+
+# LOCALIZATION NOTE (formatDateLong):
+# used for display dates in long format like 'Mon 15 Oct 2008' when it's
+# impossible to retrieve the formatatted date from the OS.
+# %1$S will be replaced with name of the day in short format;
+# %2$S will be replaced with the day-index of the month, possibly followed by an ordinal symbol
+# (depending on the string dayOrdinalSymbol in dateFormat.properties);
+# %3$S will be replaced with the name of the month in short format;
+# %4$S will be replaced with the year.
+formatDateLong=%1$S %2$S %3$S %4$S
+
+# LOCALIZATION NOTE (dayHeaderLabel):
+# used for display the labels in the header of the days in day/week views in short
+# or long format. For example: 'Monday 6 Oct.' or 'Mon. 6 Oct.'
+# %1$S will be replaced with name of the day in short or long format
+# %2$S will be replaced with the day-index of the month, possibly followed by an ordinal symbol
+# (depending on the string dayOrdinalSymbol in dateFormat.properties), plus the name
+# of the month in short format (the day/month order depends on the OS settings).
+dayHeaderLabel=%1$S %2$S
+
+# LOCALIZATION NOTE (daysIntervalInMonth):
+# used for display of intervals in the form of 'March 3 - 9, 2008'
+# %1$S will be replaced with name of the month of the start date
+# %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol
+# %3$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol
+# %4$S will be replaced with the common year of both dates
+# The presence of the ordinal symbol in the day-indexes depends on the string
+# dayOrdinalSymbol in dateFormat.properties
+daysIntervalInMonth=%2$S â %3$S %1$S %4$S
+
+# LOCALIZATION NOTE (daysIntervalInMonth.monthFormat):
+# If your language requires a different declension, change this to
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+daysIntervalInMonth.monthFormat=nominative
+
+# LOCALIZATION NOTE (daysIntervalBetweenMonths):
+# used for display of intervals in the form 'September 29 - October 5, 2008'
+# %1$S will be replaced with name of the month of the start date
+# %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol
+# %3$S will be replaced with name of the month of the end date
+# %4$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol
+# %5$S will be replaced with the common year of both dates
+# The presence of the ordinal symbol in the day-indexes depends on the string
+# dayOrdinalSymbol in dateFormat.properties
+daysIntervalBetweenMonths=%2$S %1$S â %4$S %3$S %5$S
+
+# LOCALIZATION NOTE (daysIntervalBetweenMonths.monthFormat):
+# If your language requires a different declension, change this to
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+daysIntervalBetweenMonths.monthFormat=nominative
+
+# LOCALIZATION NOTE (daysIntervalBetweenYears):
+# used for display of intervals in the form 'December 29, 2008 - January 4, 2009'
+# %1$S will be replaced with name of the month of the start date
+# %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol
+# %3$S will be replaced with the year of the start date
+# %4$S will be replaced with name of the month of the end date
+# %5$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol
+# %6$S will be replaced with the year of the end date
+# The presence of the ordinal symbol in the day-indexes depends on the string
+# dayOrdinalSymbol in dateFormat.properties
+daysIntervalBetweenYears=%2$S %1$S %3$S â %5$S %4$S %6$S
+
+# LOCALIZATION NOTE (daysIntervalBetweenYears.monthFormat):
+# If your language requires a different declension, change this to
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+daysIntervalBetweenYears.monthFormat=nominative
+
+# LOCALIZATION NOTE (datetimeIntervalOnSameDateTime):
+# used for intervals where end is equals to start
+# displayed form is '5 Jan 2006 13:00'
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+datetimeIntervalOnSameDateTime=%1$S %2$S
+
+# LOCALIZATION NOTE (datetimeIntervalOnSameDay):
+# used for intervals where end is on the same day as start, so we can leave out the
+# end date but still include end time
+# displayed form is '5 Jan 2006 13:00 - 17:00'
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+# %3$S will be replaced with the time of the end date
+datetimeIntervalOnSameDay=%1$S %2$S â %3$S
+
+# LOCALIZATION NOTE (datetimeIntervalOnSeveralDays):
+# used for intervals spanning multiple days by including date and time
+# displayed form is '5 Jan 2006 13:00 - 7 Jan 2006 9:00'
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+# %3$S will be replaced with the date of the end date
+# %4$S will be replaced with the time of the end date
+datetimeIntervalOnSeveralDays=%1$S %2$S â %3$S %4$S
+
+# LOCALIZATION NOTE (datetimeIntervalTaskWithoutDate):
+# used for task without start and due date
+# (showed only in exported calendar in Html format)
+datetimeIntervalTaskWithoutDate= à¹à¸¡à¹à¸¡à¸µà¸§à¸±à¸à¹à¸£à¸´à¹à¸¡à¸«à¸£à¸·à¸à¸à¸£à¸à¸à¸³à¸«à¸à¸
+# LOCALIZATION NOTE (datetimeIntervalTaskWithoutDueDate):
+# used for intervals in task with only start date
+# displayed form is 'start date 5 Jan 2006 13:00'
+# (showed only in exported calendar in Html format)
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+datetimeIntervalTaskWithoutDueDate=วัà¸à¸à¸µà¹à¹à¸£à¸´à¹à¸¡ %1$S %2$S
+# LOCALIZATION NOTE (datetimeIntervalTaskWithoutStartDate):
+# used for intervals in task with only due date
+# displayed form is 'due date 5 Jan 2006 13:00'
+# (showed only in exported calendar in Html format)
+# %1$S will be replaced with the date of the due date
+# %2$S will be replaced with the time of the due date
+datetimeIntervalTaskWithoutStartDate=วัà¸à¸à¸µà¹à¸à¸£à¸à¸à¸³à¸«à¸à¸ %1$S %2$S
+
+# LOCALIZATION NOTE (dragLabelTasksWithOnlyEntryDate
+# dragLabelTasksWithOnlyDueDate)
+# Labels that appear while dragging a task with only
+# entry date OR due date
+dragLabelTasksWithOnlyEntryDate=à¹à¸§à¸¥à¸²à¹à¸£à¸´à¹à¸¡
+dragLabelTasksWithOnlyDueDate=à¸à¸£à¸à¸à¸³à¸«à¸à¸à¸à¸µà¹
+
+deleteTaskLabel=ลà¸à¸à¸²à¸
+deleteTaskMessage=à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸¥à¸à¸à¸²à¸à¸à¸µà¹à¸«à¸£à¸·à¸à¹à¸¡à¹?
+deleteTaskAccesskey=ล
+deleteItemLabel=ลà¸
+deleteItemMessage=à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸¥à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸µà¹à¸«à¸£à¸·à¸à¹à¸¡à¹?
+deleteItemAccesskey=ล
+deleteEventLabel=ลà¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹
+deleteEventMessage=à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸¥à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¸«à¸£à¸·à¸à¹à¸¡à¹?
+deleteEventAccesskey=ล
+
+calendarPropertiesEveryMinute=à¸à¸¸à¸ #1 à¸à¸²à¸à¸µ
+
+# LOCALIZATION NOTE (extractUsing)
+# Used in message header
+# %1$S will be replaced with language name from languageNames.properties
+extractUsing=à¸à¸³à¸¥à¸±à¸à¹à¸à¹ %1$S
+
+# LOCALIZATION NOTE (extractUsingRegion)
+# Used in message header
+# %1$S will be replaced with language name from languageNames.properties
+# %2$S will be replaced with region like US in en-US
+extractUsingRegion=à¸à¸³à¸¥à¸±à¸à¹à¸à¹ %1$S (%2$S)
+
+# LOCALIZATION NOTE (unit)
+# Used to determine the correct plural form of a unit
+unitMinutes=#1 à¸à¸²à¸à¸µ
+unitHours=#1 à¸à¸±à¹à¸§à¹à¸¡à¸
+unitDays=#1 วัà¸
+unitWeeks=#1 สัà¸à¸à¸²à¸«à¹
+
+# LOCALIZATION NOTE (showCalendar)
+# Used in calendar list context menu
+# %1$S will be replaced with the calendar name
+# uses the access key calendar.context.togglevisible.accesskey
+showCalendar=à¹à¸ªà¸à¸ %1$S
+hideCalendar=à¸à¹à¸à¸ %1$S
+# uses the access key calendar.context.showonly.accesskey
+showOnlyCalendar=à¹à¸ªà¸à¸ %1$S à¹à¸à¹à¸²à¸à¸±à¹à¸
+
+# LOCALIZATION NOTE (modifyConflict)
+# Used by the event dialog to resolve item modification conflicts.
+modifyConflictPromptTitle=à¸à¹à¸à¸à¸±à¸à¹à¸¢à¹à¸à¸à¸²à¸£à¸à¸£à¸±à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¸£à¸²à¸¢à¸à¸²à¸£
+modifyConflictPromptMessage=รายà¸à¸²à¸£à¸à¸µà¹à¸à¸³à¸¥à¸±à¸à¸à¸°à¸à¸¹à¸à¹à¸à¹à¹à¸à¹à¸à¸à¸¥à¹à¸à¸à¹à¸à¹à¸à¸à¸à¹à¸à¹à¸à¸¹à¸à¸à¸£à¸±à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸±à¹à¸à¹à¸à¹à¹à¸¡à¸·à¹à¸à¸à¸¹à¸à¹à¸à¸´à¸
+modifyConflictPromptButton1=à¹à¸à¸µà¸¢à¸à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¸à¸·à¹à¸ à¹
+modifyConflictPromptButton2=ละà¸à¸´à¹à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸à¹à¸«à¸¥à¹à¸²à¸à¸µà¹
+
+# LOCALIZATION_NOTE(dialog.attendee.append.delegatedFrom): this is appended behind an attendee name
+# in the tooltip and the visible name for an attendee in the event summary dialog - don't add
+# leading or trailing whitespaces here
+# %1$S - a single delegatee or a comma separated list of delegatees
+# delegation is different from simple invitation forwarding - in case of delegation the original
+# invited attendee gets replaced
+dialog.attendee.append.delegatedFrom=(มà¸à¸à¸«à¸¡à¸²à¸¢à¹à¸¥à¹à¸§à¸à¸²à¸ %1$S)
+# LOCALIZATION_NOTE(dialog.attendee.append.delegatedTo): this is appended behind an attendee name
+# in the tooltip for an attendee in the event summary dialog - don't add leading or trailing
+# whitespaces here
+# delegation is different from simple invitation forwarding - in case of delegation the original
+# invited attendee gets replaced
+dialog.attendee.append.delegatedTo=(มà¸à¸à¸«à¸¡à¸²à¸¢à¹à¸¥à¹à¸§à¸à¸¶à¸ %1$S)
+
+# Accessible description of a grid calendar with no selected date
+minimonthNoSelectedDate=à¹à¸¡à¹à¹à¸à¹à¹à¸¥à¸·à¸à¸à¸§à¸±à¸à¸à¸µà¹
diff --git a/calendar/chrome/calendar/calendarCreation.dtd b/calendar/chrome/calendar/calendarCreation.dtd
new file mode 100644
index 00000000000..dd74b929c9b
--- /dev/null
+++ b/calendar/chrome/calendar/calendarCreation.dtd
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendarCreation.properties b/calendar/chrome/calendar/calendarCreation.properties
new file mode 100644
index 00000000000..a2d649e7fa2
--- /dev/null
+++ b/calendar/chrome/calendar/calendarCreation.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/.
+
+error.invalidUri=à¹à¸à¸£à¸à¸à¹à¸à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¸µà¹à¸à¸¹à¸à¸à¹à¸à¸
+error.alreadyExists=à¸à¸¸à¸à¸à¸à¸à¸£à¸±à¸à¸à¸à¸´à¸à¸´à¸à¸à¸µà¹à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¹à¸¥à¹à¸§
diff --git a/calendar/chrome/calendar/categories.properties b/calendar/chrome/calendar/categories.properties
new file mode 100644
index 00000000000..e4fb8c88e35
--- /dev/null
+++ b/calendar/chrome/calendar/categories.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/.
+
+# default categories
+
+categories2=วัà¸à¸à¸£à¸à¸£à¸à¸,วัà¸à¹à¸à¸´à¸,à¸à¸¸à¸£à¸à¸´à¸,สายà¹à¸à¸£,à¹à¸à¸¥à¹à¸à¸à¸à¹,à¸à¸²à¸£à¹à¸à¹à¸à¸à¸±à¸,ลูà¸à¸à¹à¸²,รายà¸à¸²à¸£à¹à¸à¸£à¸,à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡,à¸à¸à¸à¸à¸§à¸±à¸,วัà¸à¸«à¸¢à¸¸à¸,à¸à¸§à¸²à¸¡à¸à¸´à¸,à¸à¸²à¸£à¸à¸à¸,à¸à¸²à¸£à¸à¸£à¸°à¸à¸¸à¸¡,à¸à¸·à¹à¸ à¹,สà¹à¸§à¸à¸à¸±à¸§,à¹à¸à¸£à¸à¸à¸²à¸£,วัà¸à¸«à¸¢à¸¸à¸à¸ªà¸²à¸à¸²à¸£à¸à¸°,สà¸à¸²à¸à¸°,à¸à¸±à¸à¸à¸¥à¸²à¸¢à¹à¸à¸à¸£à¹,à¸à¸²à¸£à¸à¹à¸à¸à¹à¸à¸µà¹à¸¢à¸§,à¸à¹à¸§à¸à¸§à¸±à¸à¸«à¸¢à¸¸à¸
diff --git a/calendar/chrome/calendar/dateFormat.properties b/calendar/chrome/calendar/dateFormat.properties
new file mode 100644
index 00000000000..a49a313543e
--- /dev/null
+++ b/calendar/chrome/calendar/dateFormat.properties
@@ -0,0 +1,146 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# In case you are looking for the note about different declensions on date
+# formats, here it is. If your language doesn't use different declensions of
+# month names, you shouldn't have much work. Just leave the *.monthFormat
+# string on "nominative" and the string month.*.name will be filled in.
+#
+# If you need a different form for a string, you can change the
+# *.monthFormat to a different value. Supported values are currently:
+# nominative (default), genitive
+# The modified month name form will then be filled in accordingly. If this
+# system does not suit your needs, please file a bug!
+
+# LOCALIZATION NOTE (month.*.name):
+# Some languages require different declensions of month names.
+# These values will be used if *.monthFormat is set to "nominative" or in places
+# where using a different declension is not yet supported.
+month.1.name=มà¸à¸£à¸²à¸à¸¡
+month.2.name=à¸à¸¸à¸¡à¸ าà¸à¸±à¸à¸à¹
+month.3.name=มีà¸à¸²à¸à¸¡
+month.4.name=à¹à¸¡à¸©à¸²à¸¢à¸
+month.5.name=à¸à¸¤à¸©à¸ าà¸à¸¡
+month.6.name=มิà¸à¸¸à¸à¸²à¸¢à¸
+month.7.name=à¸à¸£à¸à¸à¸²à¸à¸¡
+month.8.name=สิà¸à¸«à¸²à¸à¸¡
+month.9.name=à¸à¸±à¸à¸¢à¸²à¸¢à¸
+month.10.name=à¸à¸¸à¸¥à¸²à¸à¸¡
+month.11.name=à¸à¸¤à¸¨à¸à¸´à¸à¸²à¸¢à¸
+month.12.name=à¸à¸±à¸à¸§à¸²à¸à¸¡
+
+# LOCALIZATION NOTE (month.*.genitive):
+# Some languages require different declensions of month names.
+# These values will be used if *.monthFormat is set to "genitive"
+# If your language doesn't use different declensions, just set the same
+# values as for month.*.name.
+month.1.genitive=มà¸à¸£à¸²à¸à¸¡
+month.2.genitive=à¸à¸¸à¸¡à¸ าà¸à¸±à¸à¸à¹
+month.3.genitive=มีà¸à¸²à¸à¸¡
+month.4.genitive=à¹à¸¡à¸©à¸²à¸¢à¸
+month.5.genitive=à¸à¸¤à¸©à¸ าà¸à¸¡
+month.6.genitive=มิà¸à¸¸à¸à¸²à¸¢à¸
+month.7.genitive=à¸à¸£à¸à¸à¸²à¸à¸¡
+month.8.genitive=สิà¸à¸«à¸²à¸à¸¡
+month.9.genitive=à¸à¸±à¸à¸¢à¸²à¸¢à¸
+month.10.genitive=à¸à¸¸à¸¥à¸²à¸à¸¡
+month.11.genitive=à¸à¸¤à¸¨à¸à¸´à¸à¸²à¸¢à¸
+month.12.genitive=à¸à¸±à¸à¸§à¸²à¸à¸¡
+
+month.1.Mmm=ม.à¸.
+month.2.Mmm=à¸.à¸.
+month.3.Mmm=มี.à¸.
+month.4.Mmm=à¹à¸¡.ย.
+month.5.Mmm=à¸.à¸.
+month.6.Mmm=มิ.ย.
+month.7.Mmm=à¸.à¸.
+month.8.Mmm=ส.à¸.
+month.9.Mmm=à¸.ย.
+month.10.Mmm=à¸.à¸.
+month.11.Mmm=à¸.ย.
+month.12.Mmm=à¸.à¸.
+
+day.1.name=วัà¸à¸à¸²à¸à¸´à¸à¸¢à¹
+day.2.name=วัà¸à¸à¸±à¸à¸à¸£à¹
+day.3.name=วัà¸à¸à¸±à¸à¸à¸²à¸£
+day.4.name=วัà¸à¸à¸¸à¸
+day.5.name=วัà¸à¸à¸¤à¸«à¸±à¸ªà¸à¸à¸µ
+day.6.name=วัà¸à¸¨à¸¸à¸à¸£à¹
+day.7.name=วัà¸à¹à¸ªà¸²à¸£à¹
+
+day.1.Mmm=à¸à¸²à¸à¸´à¸à¸¢à¹
+day.2.Mmm=à¸à¸±à¸à¸à¸£à¹
+day.3.Mmm=à¸à¸±à¸à¸à¸²à¸£
+day.4.Mmm=à¸à¸¸à¸
+day.5.Mmm=à¸à¸¤à¸«à¸±à¸ªà¸à¸à¸µ
+day.6.Mmm=ศุà¸à¸£à¹
+day.7.Mmm=à¹à¸ªà¸²à¸£à¹
+
+# Can someone tell me why we're not counting from zero?
+day.1.short=à¸à¸²
+day.2.short=à¸
+day.3.short=à¸
+day.4.short=à¸
+day.5.short=à¸à¸¤
+day.6.short=ศ
+day.7.short=ส
+
+# Localizable day's date
+day.1.number=1
+day.2.number=2
+day.3.number=3
+day.4.number=4
+day.5.number=5
+day.6.number=6
+day.7.number=7
+day.8.number=8
+day.9.number=9
+day.10.number=10
+day.11.number=11
+day.12.number=12
+day.13.number=13
+day.14.number=14
+day.15.number=15
+day.16.number=16
+day.17.number=17
+day.18.number=18
+day.19.number=19
+day.20.number=20
+day.21.number=21
+day.22.number=22
+day.23.number=23
+day.24.number=24
+day.25.number=25
+day.26.number=26
+day.27.number=27
+day.28.number=28
+day.29.number=29
+day.30.number=30
+day.31.number=31
+
+# LOCALIZATION NOTE (dayOrdinalSymbol):
+# Allows to insert a string, a character or a symbol after the number of a
+# monthday in order to give it the meaning of ordinal number e.g. 1 -> 1st etc.
+# It's mainly used when formatting dates with both monthday and month name. It
+# affects the following localizable strings that hence must be localized *without*
+# any ordinal symbol for the monthday number:
+# dayHeaderLabel, monthlyDaysOfNth_day,
+# yearlyNthOn, daysIntervalBetweenYears,
+# daysIntervalBetweenMonths, daysIntervalInMonth.
+# Write only a single string if the ordinal symbol is the same for every monthday, otherwise
+# write a sequence of _31_ strings (one for each monthday) separated with commas.
+# If your language doesn't require that in the mentioned strings, leave it empty.
+# e.g.
+# dayOrdinalSymbol=.
+# -> daysIntervalInMonth: 'March 3. - 9., 2008'
+# dayOrdinalSymbol=st,nd,rd,th,th,th,th,th,th,th,th,th,th,th,th,
+# th,th,th,th,th,st,nd,rd,th,th,th,th,th,th,th,st
+# -> daysIntervalBetweenMonths: 'September 29th - November 1st, 2008'
+dayOrdinalSymbol=
+
+noon=à¹à¸à¸µà¹à¸¢à¸à¸§à¸±à¸
+midnight=à¹à¸à¸µà¹à¸¢à¸à¸à¸·à¸
+
+AllDay=à¸à¸¥à¸à¸à¸§à¸±à¸
+Repeating=(à¹à¸à¸´à¸à¸à¹à¸³)
diff --git a/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd b/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd
new file mode 100644
index 00000000000..4c57836ccb4
--- /dev/null
+++ b/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/global.dtd b/calendar/chrome/calendar/global.dtd
new file mode 100644
index 00000000000..b9ea1cb59fb
--- /dev/null
+++ b/calendar/chrome/calendar/global.dtd
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/menuOverlay.dtd b/calendar/chrome/calendar/menuOverlay.dtd
new file mode 100644
index 00000000000..5e484309999
--- /dev/null
+++ b/calendar/chrome/calendar/menuOverlay.dtd
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/migration.dtd b/calendar/chrome/calendar/migration.dtd
new file mode 100644
index 00000000000..1edbc394cf4
--- /dev/null
+++ b/calendar/chrome/calendar/migration.dtd
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/migration.properties b/calendar/chrome/calendar/migration.properties
new file mode 100644
index 00000000000..0fd0b21071b
--- /dev/null
+++ b/calendar/chrome/calendar/migration.properties
@@ -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/.
+
+migratingApp = à¸à¸³à¸¥à¸±à¸à¹à¸¢à¸à¸¢à¹à¸²à¸¢ %1$Sâ¦
+
+# The next two lines are duplicated from migration.dtd until there is branding
+# for lightning
+migrationTitle = %1$S: à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸²à¸à¹à¸à¸¡à¸¹à¸¥
+migrationDescription=%1$S สามารà¸à¸à¸³à¹à¸à¹à¸²à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸´à¸à¸´à¸à¸à¸²à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸¢à¸à¸à¸à¸´à¸¢à¸¡à¸«à¸¥à¸²à¸¢à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¹à¸à¹ à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸²à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸¹à¸à¸à¸à¸à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸ à¹à¸à¸£à¸à¹à¸¥à¸·à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸³à¹à¸à¹à¸²
+finished = à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹
+disableExtTitle = à¸à¸à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸µà¹à¹à¸à¹à¸²à¸à¸±à¸à¹à¸¡à¹à¹à¸à¹
+disableExtText = à¸à¸¸à¸à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢ Mozilla Calendar à¸à¸¶à¹à¸à¹à¸à¹à¸²à¸à¸±à¸à¹à¸¡à¹à¹à¸à¹à¸à¸±à¸ Lightning à¹à¸§à¹ สà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸°à¸à¸¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸¥à¸° %1$S à¸à¸°à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸«à¸¡à¹
diff --git a/calendar/chrome/calendar/provider-uninstall.dtd b/calendar/chrome/calendar/provider-uninstall.dtd
new file mode 100644
index 00000000000..a63ca4e9cae
--- /dev/null
+++ b/calendar/chrome/calendar/provider-uninstall.dtd
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/timezones.properties b/calendar/chrome/calendar/timezones.properties
new file mode 100644
index 00000000000..e41aae75338
--- /dev/null
+++ b/calendar/chrome/calendar/timezones.properties
@@ -0,0 +1,483 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+pref.timezone.floating=à¹à¸§à¸¥à¸²à¸à¹à¸à¸à¸à¸´à¹à¸
+pref.timezone.UTC=UTC/GMT
+
+# I've derived this list out of timezones.dtd
+# - replaced '_' with ' ' on value side
+# - corrected 'St xyz' to 'St. xyz'
+
+# timezone names:
+pref.timezone.Africa.Abidjan=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸²à¸à¸µà¸à¸²à¸
+pref.timezone.Africa.Accra=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸±à¸à¸à¸£à¸²
+pref.timezone.Africa.Addis_Ababa=à¹à¸à¸à¸£à¸´à¸à¸²/à¹à¸à¸à¸à¸´à¸ªà¸à¸²à¸à¸²à¸à¸²
+pref.timezone.Africa.Algiers=à¹à¸à¸à¸£à¸´à¸à¸²/à¹à¸à¸¥à¹à¸à¸µà¸¢à¸£à¹
+pref.timezone.Africa.Asmara=à¹à¸à¸à¸£à¸´à¸à¸²/à¹à¸à¸ªà¸¡à¸²à¸£à¸²
+pref.timezone.Africa.Bamako=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸²à¸¡à¸²à¹à¸
+pref.timezone.Africa.Bangui=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸±à¸à¸à¸µ
+pref.timezone.Africa.Banjul=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸±à¸à¸à¸¹à¸¥
+pref.timezone.Africa.Bissau=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸´à¸ªà¹à¸à¸²
+pref.timezone.Africa.Blantyre=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸¥à¸±à¸à¹à¸à¸£à¹
+pref.timezone.Africa.Brazzaville=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸£à¸²à¸à¸à¸²à¸§à¸´à¸¥
+pref.timezone.Africa.Bujumbura=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸¹à¸à¸¸à¸¡à¸à¸¹à¸£à¸²
+pref.timezone.Africa.Cairo=à¹à¸à¸à¸£à¸´à¸à¸²/à¹à¸à¹à¸£
+pref.timezone.Africa.Casablanca=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸²à¸à¸²à¸à¸¥à¸±à¸à¸à¸²
+pref.timezone.Africa.Ceuta=à¹à¸à¸à¸£à¸´à¸à¸²/à¹à¸à¸§à¸à¸²
+pref.timezone.Africa.Conakry=à¹à¸à¸à¸£à¸´à¸à¸²/à¹à¸à¸à¸²à¸à¸£à¸µ
+pref.timezone.Africa.Dakar=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸²à¸à¸²à¸£à¹
+pref.timezone.Africa.Dar_es_Salaam=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸²à¸£à¹à¹à¸à¸ªà¸à¸²à¸¥à¸²à¸¡
+pref.timezone.Africa.Djibouti=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸´à¸à¸¹à¸à¸´
+pref.timezone.Africa.Douala=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸¹à¸à¸²à¸¥à¸²
+pref.timezone.Africa.El_Aaiun=à¹à¸à¸à¸£à¸´à¸à¸²/à¹à¸à¸¥à¸à¸²à¸¢à¸¹à¸
+pref.timezone.Africa.Freetown=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸£à¸µà¸à¸²à¸§à¸à¹
+pref.timezone.Africa.Gaborone=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸²à¹à¸à¹à¸£à¹à¸
+pref.timezone.Africa.Harare=à¹à¸à¸à¸£à¸´à¸à¸²/ฮาราà¹à¸£
+pref.timezone.Africa.Johannesburg=à¹à¸à¸à¸£à¸´à¸à¸²/à¹à¸à¸®à¸±à¸à¹à¸à¸ªà¹à¸à¸´à¸£à¹à¸
+pref.timezone.Africa.Kampala=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸±à¸¡à¸à¸²à¸¥à¸²
+pref.timezone.Africa.Khartoum=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸²à¸£à¹à¸à¸¹à¸¡
+pref.timezone.Africa.Kigali=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸´à¸à¸²à¸¥à¸µ
+pref.timezone.Africa.Kinshasa=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸´à¸à¸à¸²à¸à¸²
+pref.timezone.Africa.Lagos=à¹à¸à¸à¸£à¸´à¸à¸²/ลาà¸à¸à¸ª
+pref.timezone.Africa.Libreville=à¹à¸à¸à¸£à¸´à¸à¸²/ลีà¹à¸à¸£à¸à¸§à¸´à¸¥
+pref.timezone.Africa.Lome=à¹à¸à¸à¸£à¸´à¸à¸²/à¹à¸¥à¹à¸¡
+pref.timezone.Africa.Luanda=à¹à¸à¸à¸£à¸´à¸à¸²/ลูà¸à¸±à¸à¸à¸²
+pref.timezone.Africa.Lubumbashi=à¹à¸à¸à¸£à¸´à¸à¸²/ลูà¸à¸¸à¸¡à¸à¸²à¸à¸µ
+pref.timezone.Africa.Lusaka=à¹à¸à¸à¸£à¸´à¸à¸²/ลูà¸à¸²à¸à¸²
+pref.timezone.Africa.Malabo=à¹à¸à¸à¸£à¸´à¸à¸²/มาลาà¹à¸
+pref.timezone.Africa.Maputo=à¹à¸à¸à¸£à¸´à¸à¸²/มาà¸à¸¹à¹à¸
+pref.timezone.Africa.Maseru=à¹à¸à¸à¸£à¸´à¸à¸²/มาà¹à¸à¸£à¸¹
+pref.timezone.Africa.Mbabane=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸±à¸¡à¸à¸²à¸à¸²à¹à¸
+pref.timezone.Africa.Mogadishu=à¹à¸à¸à¸£à¸´à¸à¸²/à¹à¸¡à¸à¸²à¸à¸´à¸à¸¹
+pref.timezone.Africa.Monrovia=à¹à¸à¸à¸£à¸´à¸à¸²/มà¸à¸à¹à¸£à¹à¸§à¸µà¸¢
+pref.timezone.Africa.Nairobi=à¹à¸à¸à¸£à¸´à¸à¸²/à¹à¸à¹à¸£à¸à¸µ
+pref.timezone.Africa.Ndjamena=à¹à¸à¸à¸£à¸´à¸à¸²/à¹à¸à¹à¸à¸à¸²à¹à¸¡à¸à¸²
+pref.timezone.Africa.Niamey=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸µà¸à¸²à¹à¸¡
+pref.timezone.Africa.Nouakchott=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸¹à¹à¸à¸à¸à¸à¸
+pref.timezone.Africa.Ouagadougou=à¹à¸à¸à¸£à¸´à¸à¸²/วาà¸à¸²à¸à¸¹à¸à¸¹
+pref.timezone.Africa.Porto-Novo=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸à¸£à¹à¹à¸-à¹à¸à¹à¸§
+pref.timezone.Africa.Sao_Tome=à¹à¸à¸à¸£à¸´à¸à¸²/à¹à¸à¸²à¹à¸à¹à¸¡
+pref.timezone.Africa.Tripoli=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸£à¸´à¹à¸à¸¥à¸µ
+pref.timezone.Africa.Tunis=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸¹à¸à¸´à¸ª
+pref.timezone.Africa.Windhoek=à¹à¸à¸à¸£à¸´à¸à¸²/วิà¸à¸à¹à¸®à¸¸à¸
+pref.timezone.America.Adak=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¸à¸±à¸
+pref.timezone.America.Anchorage=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸à¹à¸à¸à¹à¸£à¸
+pref.timezone.America.Anguilla=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸à¸à¸§à¸´à¸¥à¸¥à¸²
+pref.timezone.America.Antigua=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸à¸à¸´à¸à¸²
+pref.timezone.America.Araguaina=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¸£à¸²à¸à¸§à¸¢à¸à¸²
+pref.timezone.America.Argentina.Buenos_Aires=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¸£à¹à¹à¸à¸à¸à¸´à¸à¸²/à¸à¸±à¸§à¹à¸à¸ªà¹à¸à¹à¸£à¸ª
+pref.timezone.America.Argentina.Catamarca=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¸£à¹à¹à¸à¸à¸à¸´à¸à¸²/à¸à¸²à¸à¸²à¸¡à¸²à¸£à¹à¸à¸²
+pref.timezone.America.Argentina.Cordoba=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¸£à¹à¹à¸à¸à¸à¸´à¸à¸²/à¸à¸à¸£à¹à¹à¸à¸à¸²
+pref.timezone.America.Argentina.Jujuy=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¸£à¹à¹à¸à¸à¸à¸´à¸à¸²/à¸à¸¹à¸à¸¸à¸¢
+pref.timezone.America.Argentina.La_Rioja=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¸£à¹à¹à¸à¸à¸à¸´à¸à¸²/ลารีà¹à¸à¸à¸²
+pref.timezone.America.Argentina.Mendoza=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¸£à¹à¹à¸à¸à¸à¸´à¸à¸²/à¹à¸¡à¸à¹à¸à¸à¸²
+pref.timezone.America.Argentina.Rio_Gallegos=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¸£à¹à¹à¸à¸à¸à¸´à¸à¸²/ริà¹à¸à¸à¸²à¹à¸¢à¸à¸à¸ª
+pref.timezone.America.Argentina.San_Juan=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¸£à¹à¹à¸à¸à¸à¸´à¸à¸²/à¸à¸²à¸à¸®à¸§à¸
+pref.timezone.America.Argentina.Tucuman=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¸£à¹à¹à¸à¸à¸à¸´à¸à¸²/à¸à¸¹à¸à¸¸à¸¡à¸²à¸
+pref.timezone.America.Argentina.Ushuaia=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¸£à¹à¹à¸à¸à¸à¸´à¸à¸²/à¸à¸¹à¸à¸±à¸§à¹à¸
+pref.timezone.America.Aruba=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¸£à¸¹à¸à¸²
+pref.timezone.America.Asuncion=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸°à¸à¸¸à¸à¸à¸´à¸à¸à¸
+pref.timezone.America.Atikokan=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸°à¸à¸´à¹à¸à¹à¸à¸
+pref.timezone.America.Bahia=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¹à¸¢à¸µà¸¢
+pref.timezone.America.Barbados=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¸£à¹à¹à¸à¹à¸à¸ª
+pref.timezone.America.Belem=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸µà¹à¸¥à¹à¸¡
+pref.timezone.America.Belize=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸¥à¸µà¸
+pref.timezone.America.Blanc-Sablon=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸¥à¸±à¸-à¸à¸²à¸à¸¥à¸
+pref.timezone.America.Boa_Vista=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸±à¸§à¸§à¸µà¸ªà¸à¸²
+pref.timezone.America.Bogota=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¹à¸à¸à¸²
+pref.timezone.America.Boise=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸à¸¢à¸à¸µ
+pref.timezone.America.Cambridge_Bay=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸¡à¸à¸£à¸´à¸à¸à¹à¹à¸à¸¢à¹
+pref.timezone.America.Campo_Grande=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸±à¸¡à¸à¸¹à¸à¸£à¸±à¸à¸à¸µ
+pref.timezone.America.Cancun=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸à¸à¸¸à¸
+pref.timezone.America.Caracas=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¸£à¸²à¸à¸±à¸ª
+pref.timezone.America.Cayenne=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¹à¸¢à¸
+pref.timezone.America.Cayman=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸¢à¹à¹à¸¡à¸
+pref.timezone.America.Chicago=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸´à¸à¸²à¹à¸
+pref.timezone.America.Chihuahua=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸µà¸§à¸²à¸§à¸²
+pref.timezone.America.Costa_Rica=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸à¸ªà¸à¸²à¸£à¸´à¸à¸²
+pref.timezone.America.Cuiaba=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸¹à¸¢à¸²à¸à¸²
+pref.timezone.America.Curacao=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸¹à¸£à¸²à¹à¸à¸²
+pref.timezone.America.Danmarkshavn=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¸à¸¡à¸²à¸£à¹à¸à¸ªà¸®à¸²à¸§à¸à¹
+pref.timezone.America.Dawson=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸à¸§à¹à¸ªà¸±à¸
+pref.timezone.America.Dawson_Creek=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸à¸§à¹à¸ªà¸±à¸à¸à¸£à¸µà¸
+pref.timezone.America.Denver=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸à¹à¸§à¸à¸£à¹
+pref.timezone.America.Detroit=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸µà¸à¸£à¸à¸¢à¸à¹
+pref.timezone.America.Dominica=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸¡à¸´à¸à¸´à¸à¸²
+pref.timezone.America.Edmonton=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸à¸¡à¸±à¸à¸à¸±à¸
+pref.timezone.America.Eirunepe=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸£à¸¹à¹à¸à¹à¸
+pref.timezone.America.El_Salvador=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸¥à¸à¸±à¸¥à¸§à¸²à¸à¸à¸£à¹
+pref.timezone.America.Fortaleza=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸à¸£à¹à¸à¸²à¹à¸¥à¸à¸²
+pref.timezone.America.Glace_Bay=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸¥à¸à¹à¸à¸¢à¹
+pref.timezone.America.Godthab=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¹à¸à¸à¸à¸²à¸
+pref.timezone.America.Goose_Bay=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸¹à¸ªà¹à¸à¸¢à¹
+pref.timezone.America.Grand_Turk=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸£à¸à¸à¹à¹à¸à¸´à¸£à¹à¸
+pref.timezone.America.Grenada=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸£à¹à¸à¸à¸²
+pref.timezone.America.Guadeloupe=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸§à¸²à¹à¸à¸à¸¥à¸¹à¸
+pref.timezone.America.Guatemala=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸±à¸§à¹à¸à¸¡à¸²à¸¥à¸²
+pref.timezone.America.Guayaquil=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸±à¸§à¸¢à¸²à¸à¸´à¸¥
+pref.timezone.America.Guyana=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¸¢à¸à¸²à¸à¸²
+pref.timezone.America.Halifax=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸®à¸¥à¸´à¹à¸à¸à¸à¹
+pref.timezone.America.Havana=à¸à¹à¸¡à¸£à¸´à¸à¸²/ฮาวาà¸à¸²
+pref.timezone.America.Hermosillo=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸£à¹à¹à¸¡à¸à¸µà¹à¸¢
+pref.timezone.America.Indiana.Indianapolis=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸´à¸à¸à¸µà¹à¸à¸à¸²/à¸à¸´à¸à¸à¸µà¹à¸à¸à¸²à¹à¸à¸¥à¸´à¸ª
+pref.timezone.America.Indiana.Knox=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸´à¸à¸à¸µà¹à¸à¸à¸²/à¸à¹à¸à¸à¸à¹
+pref.timezone.America.Indiana.Marengo=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸´à¸à¸à¸µà¹à¸à¸à¸²/มาà¹à¸£à¸à¹à¸
+pref.timezone.America.Indiana.Petersburg=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸´à¸à¸à¸µà¹à¸à¸à¸²/à¸à¸µà¹à¸à¸à¸£à¹à¸ªà¹à¸à¸´à¸£à¹à¸
+pref.timezone.America.Indiana.Vevay=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸´à¸à¸à¸µà¹à¸à¸à¸²/วีà¹à¸§à¸¢à¹
+pref.timezone.America.Indiana.Vincennes=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸´à¸à¸à¸µà¹à¸à¸à¸²/à¹à¸§à¸à¸à¸à¸à¸à¹
+pref.timezone.America.Inuvik=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸´à¸à¸¹à¸§à¸´à¸
+pref.timezone.America.Iqaluit=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸´à¸à¸²à¸¥à¸¸à¸¢à¸à¹
+pref.timezone.America.Jamaica=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¹à¸¡à¸à¸²
+pref.timezone.America.Juneau=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸¹à¹à¸
+pref.timezone.America.Kentucky.Louisville=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸à¸à¸±à¸à¸à¸µ/ลุยสà¹à¸§à¸´à¸¥à¸¥à¹
+pref.timezone.America.Kentucky.Monticello=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸à¸à¸±à¸à¸à¸µ/มà¸à¸à¸à¸´à¹à¸à¸¥à¹à¸¥
+pref.timezone.America.La_Paz=à¸à¹à¸¡à¸£à¸´à¸à¸²/ลาà¸à¸²à¸
+pref.timezone.America.Lima=à¸à¹à¸¡à¸£à¸´à¸à¸²/ลิมา
+pref.timezone.America.Los_Angeles=à¸à¹à¸¡à¸£à¸´à¸à¸²/ลà¸à¸ªà¹à¸à¸à¹à¸à¸¥à¸´à¸ª
+pref.timezone.America.Maceio=à¸à¹à¸¡à¸£à¸´à¸à¸²/มาà¹à¸à¹à¸
+pref.timezone.America.Managua=à¸à¹à¸¡à¸£à¸´à¸à¸²/มาà¸à¸²à¸à¸±à¸§
+pref.timezone.America.Manaus=à¸à¹à¸¡à¸£à¸´à¸à¸²/มาà¹à¸à¸²à¸ªà¹
+pref.timezone.America.Martinique=à¸à¹à¸¡à¸£à¸´à¸à¸²/มารà¹à¸à¸´à¸à¸µà¸
+pref.timezone.America.Mazatlan=à¸à¹à¸¡à¸£à¸´à¸à¸²/มาà¸à¸±à¸à¸¥à¸±à¸
+pref.timezone.America.Menominee=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸¡à¹à¸à¸¡à¸´à¸à¸µ
+pref.timezone.America.Merida=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸¡à¸£à¸µà¸à¸²
+pref.timezone.America.Mexico_City=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸¡à¹à¸à¸à¸´à¹à¸à¸à¸´à¸à¸µ
+pref.timezone.America.Miquelon=à¸à¹à¸¡à¸£à¸´à¸à¸²/มีà¹à¸à¸à¸¥à¸
+pref.timezone.America.Moncton=à¸à¹à¸¡à¸£à¸´à¸à¸²/มà¸à¸à¸à¹à¸à¸±à¸
+pref.timezone.America.Monterrey=à¸à¹à¸¡à¸£à¸´à¸à¸²/มà¸à¸à¹à¸à¸à¸£à¹à¹à¸£à¸¢à¹
+pref.timezone.America.Montevideo=à¸à¹à¸¡à¸£à¸´à¸à¸²/มà¸à¸à¹à¸à¸§à¸´à¹à¸à¹à¸
+pref.timezone.America.Montreal=à¸à¹à¸¡à¸£à¸´à¸à¸²/มà¸à¸à¸à¸£à¸µà¸à¸à¸¥
+pref.timezone.America.Montserrat=à¸à¹à¸¡à¸£à¸´à¸à¸²/มà¸à¸à¸à¹à¹à¸à¸à¸£à¹à¸£à¸±à¸
+pref.timezone.America.Nassau=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸ªà¸à¸
+pref.timezone.America.New_York=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸´à¸§à¸¢à¸à¸£à¹à¸
+pref.timezone.America.Nipigon=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸´à¸à¸´à¸à¸à¸
+pref.timezone.America.Nome=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸¡
+pref.timezone.America.Noronha=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸£à¸à¸à¸¢à¸²
+pref.timezone.America.North_Dakota.Center=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸à¸£à¹à¸à¸à¸²à¹à¸à¸à¸²/à¹à¸à¸à¹à¸à¸à¸£à¹
+pref.timezone.America.North_Dakota.New_Salem=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸à¸£à¹à¸à¸à¸²à¹à¸à¸à¸²/à¸à¸´à¸§à¹à¸à¹à¸¥à¸¡
+pref.timezone.America.Panama=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¸à¸²à¸¡à¸²
+pref.timezone.America.Pangnirtung=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸à¹à¸à¸µà¸¢à¸£à¹à¸à¸¸à¸
+pref.timezone.America.Paramaribo=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¸£à¸²à¸¡à¸²à¸£à¸´à¹à¸
+pref.timezone.America.Phoenix=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸µà¸à¸´à¸à¸à¹
+pref.timezone.America.Port-au-Prince=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸à¸£à¹à¹à¸à¹à¸à¸£à¸à¸à¹
+pref.timezone.America.Port_of_Spain=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸à¸£à¹à¸à¸à¸à¸à¸ªà¹à¸à¸
+pref.timezone.America.Porto_Velho=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸à¸£à¹à¹à¸à¹à¸§à¸¥à¹à¸®
+pref.timezone.America.Puerto_Rico=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸à¸£à¹à¹à¸à¸£à¸´à¹à¸
+pref.timezone.America.Rainy_River=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸£à¸à¸à¸µà¹à¸£à¸´à¹à¸§à¸à¸£à¹
+pref.timezone.America.Rankin_Inlet=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸£à¸à¸à¸´à¸à¸à¸´à¸à¹à¸¥à¸
+pref.timezone.America.Recife=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸£à¸à¸µà¸à¸µ
+pref.timezone.America.Regina=à¸à¹à¸¡à¸£à¸´à¸à¸²/รีà¹à¸à¸à¸²
+pref.timezone.America.Rio_Branco=à¸à¹à¸¡à¸£à¸´à¸à¸²/รีà¸à¸¹à¸à¸£à¸±à¸à¸à¸¹
+pref.timezone.America.Santiago=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸±à¸à¸à¸´à¸à¸²à¹à¸
+pref.timezone.America.Santo_Domingo=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸±à¸à¹à¸à¹à¸à¸¡à¸´à¸à¹à¸
+pref.timezone.America.Sao_Paulo=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸²à¹à¸à¸²à¹à¸¥
+pref.timezone.America.Scoresbysund=à¸à¹à¸¡à¸£à¸´à¸à¸²/สà¸à¸à¸£à¹à¸ªà¸à¸´à¸à¸¸à¸à¸à¹
+pref.timezone.America.Shiprock=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸´à¸à¸£à¹à¸à¸
+pref.timezone.America.St_Johns=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸à¸à¹à¸à¸à¸«à¹à¸
+pref.timezone.America.St_Kitts=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸à¸à¹à¸à¸´à¸à¸ªà¹
+pref.timezone.America.St_Lucia=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸à¸à¹à¸¥à¸¹à¹à¸à¸µà¸¢
+pref.timezone.America.St_Thomas=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸à¸à¹à¹à¸à¸¡à¸±à¸ª
+pref.timezone.America.St_Vincent=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸à¸à¹à¸§à¸´à¸à¹à¸à¸à¸à¹
+pref.timezone.America.Swift_Current=à¸à¹à¸¡à¸£à¸´à¸à¸²/สวิà¸à¸à¹à¹à¸à¸à¹à¸£à¸à¸à¹
+pref.timezone.America.Tegucigalpa=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸à¸¹à¸à¸´à¸à¸±à¸¥à¸à¸²
+pref.timezone.America.Thule=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸¹à¹à¸¥
+pref.timezone.America.Thunder_Bay=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸±à¸à¹à¸à¸à¸£à¹à¹à¸à¸¢à¹
+pref.timezone.America.Tijuana=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸´à¸®à¸±à¸§à¸à¸²
+pref.timezone.America.Toronto=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸£à¸à¸à¹à¸
+pref.timezone.America.Tortola=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸à¸£à¹à¹à¸à¸à¸²
+pref.timezone.America.Vancouver=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸§à¸à¸à¸¹à¹à¸§à¸à¸£à¹
+pref.timezone.America.Whitehorse=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸§à¸à¹à¸®à¸à¸£à¹à¸ª
+pref.timezone.America.Winnipeg=à¸à¹à¸¡à¸£à¸´à¸à¸²/วิà¸à¸à¸´à¹à¸à¸
+pref.timezone.America.Yakutat=à¸à¹à¸¡à¸£à¸´à¸à¸²/ยาà¸à¸¹à¸à¸±à¸
+pref.timezone.America.Yellowknife=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸¢à¸¥à¹à¸¥à¸§à¹à¹à¸à¸à¹
+pref.timezone.Antarctica.Casey=à¹à¸à¸à¸à¸²à¸£à¹à¸à¸à¸´à¸à¸²/à¸à¸²à¹à¸
+pref.timezone.Antarctica.Davis=à¹à¸à¸à¸à¸²à¸£à¹à¸à¸à¸´à¸à¸²/à¹à¸à¸§à¸´à¸ª
+pref.timezone.Antarctica.DumontDUrville=à¹à¸à¸à¸à¸²à¸£à¹à¸à¸à¸´à¸à¸²/à¸à¸¹à¸¡à¸à¸à¹à¹à¸à¸à¸£à¹à¸§à¸´à¸¥à¸¥à¹
+pref.timezone.Antarctica.Mawson=à¹à¸à¸à¸à¸²à¸£à¹à¸à¸à¸´à¸à¸²/มà¸à¸§à¹à¸ªà¸±à¸
+pref.timezone.Antarctica.McMurdo=à¹à¸à¸à¸à¸²à¸£à¹à¸à¸à¸´à¸à¸²/à¹à¸¡à¸à¹à¸¡à¸à¸£à¹à¹à¸
+pref.timezone.Antarctica.Palmer=à¹à¸à¸à¸à¸²à¸£à¹à¸à¸à¸´à¸à¸²/à¸à¸²à¸¥à¹à¸¡à¸à¸£à¹
+pref.timezone.Antarctica.Rothera=à¹à¸à¸à¸à¸²à¸£à¹à¸à¸à¸´à¸à¸²/รà¸à¸à¹à¸à¸à¸£à¸²
+pref.timezone.Antarctica.South_Pole=à¹à¸à¸à¸à¸²à¸£à¹à¸à¸à¸´à¸à¸²/à¸à¸±à¹à¸§à¹à¸¥à¸à¹à¸à¹
+pref.timezone.Antarctica.Syowa=à¹à¸à¸à¸à¸²à¸£à¹à¸à¸à¸´à¸à¸²/à¹à¸à¹à¸¢à¸§à¸²
+pref.timezone.Antarctica.Vostok=à¹à¸à¸à¸à¸²à¸£à¹à¸à¸à¸´à¸à¸²/วà¸à¸ªà¸à¹à¸à¸
+pref.timezone.Arctic.Longyearbyen=à¸à¸²à¸£à¹à¸à¸à¸´à¸/ลà¸à¸à¹à¸¢à¸µà¸¢à¸£à¹à¹à¸à¸µà¸¢à¸
+pref.timezone.Asia.Aden=à¹à¸à¹à¸à¸µà¸¢/à¹à¸à¹à¸à¸
+pref.timezone.Asia.Almaty=à¹à¸à¹à¸à¸µà¸¢/à¸à¸±à¸¥à¸¡à¸²à¸à¸µ
+pref.timezone.Asia.Amman=à¹à¸à¹à¸à¸µà¸¢/à¸à¸±à¸¡à¸¡à¸²à¸
+pref.timezone.Asia.Anadyr=à¹à¸à¹à¸à¸µà¸¢/à¸à¸à¸²à¹à¸à¸£à¹
+pref.timezone.Asia.Aqtau=à¹à¸à¹à¸à¸µà¸¢/à¹à¸à¸à¸à¸
+pref.timezone.Asia.Aqtobe=à¹à¸à¹à¸à¸µà¸¢/à¹à¸à¸à¹à¸à¹à¸
+pref.timezone.Asia.Ashgabat=à¹à¸à¹à¸à¸µà¸¢/à¸à¸²à¸à¸à¸²à¸à¸±à¸
+pref.timezone.Asia.Baghdad=à¹à¸à¹à¸à¸µà¸¢/à¹à¸à¸à¹à¸à¸
+pref.timezone.Asia.Bahrain=à¹à¸à¹à¸à¸µà¸¢/à¸à¸²à¸«à¹à¹à¸£à¸
+pref.timezone.Asia.Baku=à¹à¸à¹à¸à¸µà¸¢/à¸à¸²à¸à¸¹
+pref.timezone.Asia.Bangkok=à¹à¸à¹à¸à¸µà¸¢/à¸à¸£à¸¸à¸à¹à¸à¸
+pref.timezone.Asia.Beirut=à¹à¸à¹à¸à¸µà¸¢/à¹à¸à¸£à¸¸à¸
+pref.timezone.Asia.Bishkek=à¹à¸à¹à¸à¸µà¸¢/à¸à¸´à¸à¹à¸à¸
+pref.timezone.Asia.Brunei=à¹à¸à¹à¸à¸µà¸¢/à¸à¸£à¸¹à¹à¸
+pref.timezone.Asia.Choibalsan=à¹à¸à¹à¸à¸µà¸¢/à¸à¸à¸¢à¸à¸±à¸¥à¸à¸±à¸
+pref.timezone.Asia.Chongqing=à¹à¸à¹à¸à¸µà¸¢/à¸à¸à¸à¸´à¹à¸
+pref.timezone.Asia.Colombo=à¹à¸à¹à¸à¸µà¸¢/à¹à¸à¸¥à¸±à¸¡à¹à¸
+pref.timezone.Asia.Damascus=à¹à¸à¹à¸à¸µà¸¢/à¸à¸²à¸¡à¸±à¸ªà¸à¸±à¸ª
+pref.timezone.Asia.Dhaka=à¹à¸à¹à¸à¸µà¸¢/à¸à¸²à¸à¸²
+pref.timezone.Asia.Dili=à¹à¸à¹à¸à¸µà¸¢/à¸à¸´à¸¥à¸µ
+pref.timezone.Asia.Dubai=à¹à¸à¹à¸à¸µà¸¢/à¸à¸¹à¹à¸
+pref.timezone.Asia.Dushanbe=à¹à¸à¹à¸à¸µà¸¢/à¸à¸¹à¸à¸²à¸à¹à¸
+pref.timezone.Asia.Gaza=à¹à¸à¹à¸à¸µà¸¢/à¸à¸²à¸à¸²
+pref.timezone.Asia.Harbin=à¹à¸à¹à¸à¸µà¸¢/ฮารà¹à¸à¸´à¸
+pref.timezone.Asia.Hong_Kong=à¹à¸à¹à¸à¸µà¸¢/ฮà¹à¸à¸à¸à¸
+pref.timezone.Asia.Hovd=à¹à¸à¹à¸à¸µà¸¢/ฮà¸à¸à¸à¹
+pref.timezone.Asia.Irkutsk=à¹à¸à¹à¸à¸µà¸¢/à¹à¸à¸à¸à¸¸à¸à¸ªà¸à¹
+pref.timezone.Asia.Istanbul=à¹à¸à¹à¸à¸µà¸¢/à¸à¸´à¸ªà¸à¸±à¸à¸à¸¹à¸¥
+pref.timezone.Asia.Jakarta=à¹à¸à¹à¸à¸µà¸¢/à¸à¸²à¸à¸²à¸£à¹à¸à¸²
+pref.timezone.Asia.Jayapura=à¹à¸à¹à¸à¸µà¸¢/à¸à¸²à¸¢à¸²à¸à¸¹à¸£à¸²
+pref.timezone.Asia.Jerusalem=à¹à¸à¹à¸à¸µà¸¢/à¹à¸¢à¸£à¸¹à¸à¸²à¹à¸¥à¹à¸¡
+pref.timezone.Asia.Kabul=à¹à¸à¹à¸à¸µà¸¢/à¸à¸²à¸à¸¹à¸¥
+pref.timezone.Asia.Kamchatka=à¹à¸à¹à¸à¸µà¸¢/à¸à¸±à¸¡à¸à¸±à¸à¸à¸²
+pref.timezone.Asia.Karachi=à¹à¸à¹à¸à¸µà¸¢/à¸à¸²à¸£à¸²à¸à¸µ
+pref.timezone.Asia.Kashgar=à¹à¸à¹à¸à¸µà¸¢/à¸à¸²à¸à¸à¸²à¸£à¹
+pref.timezone.Asia.Kathmandu=à¹à¸à¹à¸à¸µà¸¢/à¸à¸²à¸à¸¡à¸²à¸à¸à¸¸
+pref.timezone.Asia.Krasnoyarsk=à¹à¸à¹à¸à¸µà¸¢/à¸à¸¥à¸²à¸ªà¹à¸à¸¢à¸²à¸£à¹à¸ªà¸à¹
+pref.timezone.Asia.Kuala_Lumpur=à¹à¸à¹à¸à¸µà¸¢/à¸à¸±à¸§à¸¥à¸²à¸¥à¸±à¸¡à¹à¸à¸à¸£à¹
+pref.timezone.Asia.Kuching=à¹à¸à¹à¸à¸µà¸¢/à¸à¸¹à¸à¸´à¸
+pref.timezone.Asia.Kuwait=à¹à¸à¹à¸à¸µà¸¢/à¸à¸¹à¹à¸§à¸
+pref.timezone.Asia.Macau=à¹à¸à¹à¸à¸µà¸¢/มาà¹à¸à¹à¸²
+pref.timezone.Asia.Magadan=à¹à¸à¹à¸à¸µà¸¢/มาà¸à¸²à¸à¸²à¸
+pref.timezone.Asia.Makassar=à¹à¸à¹à¸à¸µà¸¢/มาà¸à¸²à¸ªà¸à¸²à¸£à¹
+pref.timezone.Asia.Manila=à¹à¸à¹à¸à¸µà¸¢/มะà¸à¸´à¸¥à¸²
+pref.timezone.Asia.Muscat=à¹à¸à¹à¸à¸µà¸¢/มัสà¸à¸±à¸
+pref.timezone.Asia.Nicosia=à¹à¸à¹à¸à¸µà¸¢/à¸à¸´à¹à¸à¹à¸à¸µà¸¢
+pref.timezone.Asia.Novosibirsk=à¹à¸à¹à¸à¸µà¸¢/à¹à¸à¹à¸§à¸à¸´à¹à¸à¸µà¸¢à¸£à¹à¸à¸à¹
+pref.timezone.Asia.Omsk=à¹à¸à¹à¸à¸µà¸¢/à¸à¸à¸¡à¸ªà¸à¹
+pref.timezone.Asia.Oral=à¹à¸à¹à¸à¸µà¸¢/à¹à¸à¸£à¸±à¸¥
+pref.timezone.Asia.Phnom_Penh=à¹à¸à¹à¸à¸µà¸¢/à¸à¸à¸¡à¹à¸à¸
+pref.timezone.Asia.Pontianak=à¹à¸à¹à¸à¸µà¸¢/à¸à¸à¸à¸à¸´à¸à¸²à¸à¸±à¸
+pref.timezone.Asia.Pyongyang=à¹à¸à¹à¸à¸µà¸¢/à¹à¸à¸µà¸¢à¸à¸¢à¸²à¸
+pref.timezone.Asia.Qatar=à¹à¸à¹à¸à¸µà¸¢/à¸à¸²à¸à¸²à¸£à¹
+pref.timezone.Asia.Qyzylorda=à¹à¸à¹à¸à¸µà¸¢/à¸à¸´à¸à¸à¸µà¸¥à¸à¸£à¹à¸à¸²
+pref.timezone.Asia.Rangoon=à¹à¸à¹à¸à¸µà¸¢/ยà¹à¸²à¸à¸à¸¸à¹à¸
+pref.timezone.Asia.Riyadh=à¹à¸à¹à¸à¸µà¸¢/ริยาà¸
+pref.timezone.Asia.Sakhalin=à¹à¸à¹à¸à¸µà¸¢/à¸à¸²à¸®à¸²à¸¥à¸´à¸
+pref.timezone.Asia.Samarkand=à¹à¸à¹à¸à¸µà¸¢/à¸à¸²à¸¡à¸²à¸£à¹à¸à¸²à¸à¸à¹
+pref.timezone.Asia.Seoul=à¹à¸à¹à¸à¸µà¸¢/à¹à¸à¸¥
+pref.timezone.Asia.Shanghai=à¹à¸à¹à¸à¸µà¸¢/à¹à¸à¸µà¹à¸¢à¸à¹à¸®à¹
+pref.timezone.Asia.Singapore=à¹à¸à¹à¸à¸µà¸¢/สิà¸à¸à¹à¸à¸£à¹
+pref.timezone.Asia.Taipei=à¹à¸à¹à¸à¸µà¸¢/à¹à¸à¹à¸
+pref.timezone.Asia.Tashkent=à¹à¸à¹à¸à¸µà¸¢/à¸à¸²à¸à¹à¸à¸à¸à¹
+pref.timezone.Asia.Tbilisi=à¹à¸à¹à¸à¸µà¸¢/à¸à¸à¸´à¸¥à¸´à¸à¸´
+pref.timezone.Asia.Tehran=à¹à¸à¹à¸à¸µà¸¢/à¹à¸à¸«à¸°à¸£à¸²à¸
+pref.timezone.Asia.Thimphu=à¹à¸à¹à¸à¸µà¸¢/à¸à¸´à¸¡à¸à¸¹
+pref.timezone.Asia.Tokyo=à¹à¸à¹à¸à¸µà¸¢/à¹à¸à¹à¸à¸µà¸¢à¸§
+pref.timezone.Asia.Ulaanbaatar=à¹à¸à¹à¸à¸µà¸¢/à¸à¸¹à¸¥à¸²à¸à¸à¸²à¸à¸à¸£à¹
+pref.timezone.Asia.Urumqi=à¹à¸à¹à¸à¸µà¸¢/à¸à¸¸à¸£à¸¸à¸¡à¸à¸µ
+pref.timezone.Asia.Vientiane=à¹à¸à¹à¸à¸µà¸¢/à¹à¸§à¸µà¸¢à¸à¸à¸±à¸à¸à¸à¹
+pref.timezone.Asia.Vladivostok=à¹à¸à¹à¸à¸µà¸¢/วลาà¸à¸´à¸§à¸à¸ªà¸à¹à¸à¸
+pref.timezone.Asia.Yakutsk=à¹à¸à¹à¸à¸µà¸¢/ยาà¸à¸¸à¸à¸ªà¸à¹
+pref.timezone.Asia.Yekaterinburg=à¹à¸à¹à¸à¸µà¸¢/à¹à¸¢à¸à¸²à¹à¸à¸£à¸´à¸à¸à¸¸à¸£à¹à¸
+pref.timezone.Asia.Yerevan=à¹à¸à¹à¸à¸µà¸¢/à¹à¸¢à¹à¸£à¸§à¸²à¸
+pref.timezone.Atlantic.Azores=à¹à¸à¸à¹à¸¥à¸à¸à¸´à¸/à¸à¸°à¸à¸à¸£à¹à¸ª
+pref.timezone.Atlantic.Bermuda=à¹à¸à¸à¹à¸¥à¸à¸à¸´à¸/à¹à¸à¸à¸£à¹à¸¡à¸´à¸§à¸à¸²
+pref.timezone.Atlantic.Canary=à¹à¸à¸à¹à¸¥à¸à¸à¸´à¸/à¸à¸²à¸à¸²à¸£à¸µ
+pref.timezone.Atlantic.Cape_Verde=à¹à¸à¸à¹à¸¥à¸à¸à¸´à¸/à¸à¸²à¸à¸¹à¹à¸§à¸£à¹à¸à¸µ
+pref.timezone.Atlantic.Faroe=à¹à¸à¸à¹à¸¥à¸à¸à¸´à¸/à¹à¸à¹à¸£
+pref.timezone.Atlantic.Madeira=à¹à¸à¸à¹à¸¥à¸à¸à¸´à¸/มาà¹à¸à¸£à¸²
+pref.timezone.Atlantic.Reykjavik=à¹à¸à¸à¹à¸¥à¸à¸à¸´à¸/à¹à¸£à¸à¸¢à¸²à¸§à¸´à¸
+pref.timezone.Atlantic.South_Georgia=à¹à¸à¸à¹à¸¥à¸à¸à¸´à¸/à¹à¸à¸²à¸à¹à¸à¸à¸£à¹à¹à¸à¸µà¸¢
+pref.timezone.Atlantic.St_Helena=à¹à¸à¸à¹à¸¥à¸à¸à¸´à¸/à¹à¸à¸à¸à¹à¹à¸®à¹à¸¥à¸à¸²
+pref.timezone.Atlantic.Stanley=à¹à¸à¸à¹à¸¥à¸à¸à¸´à¸/สà¹à¸à¸à¸¥à¸µà¸¢à¹
+pref.timezone.Australia.Adelaide=à¸à¸à¸ªà¹à¸à¸£à¹à¸¥à¸µà¸¢/à¹à¸à¸à¸´à¹à¸¥à¸
+pref.timezone.Australia.Brisbane=à¸à¸à¸ªà¹à¸à¸£à¹à¸¥à¸µà¸¢/à¸à¸£à¸´à¸ªà¹à¸à¸
+pref.timezone.Australia.Broken_Hill=à¸à¸à¸ªà¹à¸à¸£à¹à¸¥à¸µà¸¢/à¹à¸à¸£à¸à¹à¸à¹à¸à¸®à¸´à¸¥à¸¥à¹
+pref.timezone.Australia.Currie=à¸à¸à¸ªà¹à¸à¸£à¹à¸¥à¸µà¸¢/à¹à¸à¸à¸£à¹à¸£à¸µ
+pref.timezone.Australia.Darwin=à¸à¸à¸ªà¹à¸à¸£à¹à¸¥à¸µà¸¢/à¸à¸²à¸£à¹à¸§à¸´à¸
+pref.timezone.Australia.Eucla=à¸à¸à¸ªà¹à¸à¸£à¹à¸¥à¸µà¸¢/ยูà¸à¸¥à¸²
+pref.timezone.Australia.Hobart=à¸à¸à¸ªà¹à¸à¸£à¹à¸¥à¸µà¸¢/à¹à¸®à¸à¸²à¸£à¹à¸
+pref.timezone.Australia.Lindeman=à¸à¸à¸ªà¹à¸à¸£à¹à¸¥à¸µà¸¢/ลิà¸à¹à¸à¸à¹à¸¡à¸
+pref.timezone.Australia.Lord_Howe=à¸à¸à¸ªà¹à¸à¸£à¹à¸¥à¸µà¸¢/ลà¸à¸£à¹à¸à¹à¸®à¹à¸§
+pref.timezone.Australia.Melbourne=à¸à¸à¸ªà¹à¸à¸£à¹à¸¥à¸µà¸¢/à¹à¸¡à¸¥à¹à¸à¸´à¸£à¹à¸
+pref.timezone.Australia.Perth=à¸à¸à¸ªà¹à¸à¸£à¹à¸¥à¸µà¸¢/à¹à¸à¸´à¸£à¹à¸
+pref.timezone.Australia.Sydney=à¸à¸à¸ªà¹à¸à¸£à¹à¸¥à¸µà¸¢/à¸à¸´à¸à¸à¸µà¸¢à¹
+pref.timezone.Europe.Amsterdam=ยุà¹à¸£à¸/à¸à¸±à¸¡à¸ªà¹à¸à¸à¸£à¹à¸à¸±à¸¡
+pref.timezone.Europe.Andorra=ยุà¹à¸£à¸/à¸à¸±à¸à¸à¸à¸£à¹à¸£à¸²
+pref.timezone.Europe.Athens=ยุà¹à¸£à¸/à¹à¸à¹à¸à¸à¸ªà¹
+pref.timezone.Europe.Belgrade=ยุà¹à¸£à¸/à¹à¸à¸¥à¹à¸à¸£à¸
+pref.timezone.Europe.Berlin=ยุà¹à¸£à¸/à¹à¸à¸à¸£à¹à¸¥à¸´à¸
+pref.timezone.Europe.Bratislava=ยุà¹à¸£à¸/à¸à¸£à¸²à¸à¸´à¸ªà¸¥à¸²à¸§à¸²
+pref.timezone.Europe.Brussels=ยุà¹à¸£à¸/à¸à¸£à¸±à¸ªà¹à¸à¸¥à¸ªà¹
+pref.timezone.Europe.Bucharest=ยุà¹à¸£à¸/à¸à¸¹à¸à¸²à¹à¸£à¸ªà¸à¹
+pref.timezone.Europe.Budapest=ยุà¹à¸£à¸/à¸à¸¹à¸à¸²à¹à¸à¸ªà¸à¹
+pref.timezone.Europe.Chisinau=ยุà¹à¸£à¸/à¸à¸µà¸à¸µà¹à¸à¸²
+pref.timezone.Europe.Copenhagen=ยุà¹à¸£à¸/à¹à¸à¹à¸à¸à¹à¸®à¹à¸à¸
+pref.timezone.Europe.Dublin=ยุà¹à¸£à¸/à¸à¸±à¸à¸¥à¸´à¸
+pref.timezone.Europe.Gibraltar=ยุà¹à¸£à¸/ยิà¸à¸£à¸à¸¥à¸à¸²à¸£à¹
+pref.timezone.Europe.Guernsey=ยุà¹à¸£à¸/à¹à¸à¸´à¸£à¹à¸à¸à¸µà¸¢à¹
+pref.timezone.Europe.Helsinki=ยุà¹à¸£à¸/à¹à¸®à¸¥à¸à¸´à¸à¸à¸´
+pref.timezone.Europe.Isle_of_Man=ยุà¹à¸£à¸/à¹à¸à¸²à¸°à¹à¸¡à¸
+pref.timezone.Europe.Istanbul=ยุà¹à¸£à¸/à¸à¸´à¸ªà¸à¸±à¸à¸à¸¹à¸¥
+pref.timezone.Europe.Jersey=ยุà¹à¸£à¸/à¹à¸à¸à¸£à¹à¸à¸µà¸¢à¹
+pref.timezone.Europe.Kaliningrad=ยุà¹à¸£à¸/à¸à¸²à¸¥à¸µà¸à¸´à¸à¸à¸£à¸²à¸
+pref.timezone.Europe.Kiev=ยุà¹à¸£à¸/à¹à¸à¸µà¸¢à¸
+pref.timezone.Europe.Lisbon=ยุà¹à¸£à¸/ลิสà¸à¸à¸
+pref.timezone.Europe.Ljubljana=ยุà¹à¸£à¸/ลูà¸à¸¥à¸´à¸¢à¸²à¸à¸²
+pref.timezone.Europe.London=ยุà¹à¸£à¸/ลà¸à¸à¸à¸à¸
+pref.timezone.Europe.Luxembourg=ยุà¹à¸£à¸/ลัà¸à¹à¸à¸¡à¹à¸à¸´à¸£à¹à¸
+pref.timezone.Europe.Madrid=ยุà¹à¸£à¸/มาà¸à¸£à¸´à¸
+pref.timezone.Europe.Malta=ยุà¹à¸£à¸/มà¸à¸¥à¸à¸²
+pref.timezone.Europe.Mariehamn=ยุà¹à¸£à¸/มารีฮามà¸à¹
+pref.timezone.Europe.Minsk=ยุà¹à¸£à¸/มิà¸à¸ªà¸à¹
+pref.timezone.Europe.Monaco=ยุà¹à¸£à¸/à¹à¸¡à¸à¸²à¹à¸
+pref.timezone.Europe.Moscow=ยุà¹à¸£à¸/มà¸à¸ªà¹à¸
+pref.timezone.Europe.Nicosia=ยุà¹à¸£à¸/à¸à¸´à¹à¸à¹à¸à¸µà¸¢
+pref.timezone.Europe.Oslo=ยุà¹à¸£à¸/à¸à¸à¸ªà¹à¸¥
+pref.timezone.Europe.Paris=ยุà¹à¸£à¸/à¸à¸²à¸£à¸µà¸ª
+pref.timezone.Europe.Podgorica=ยุà¹à¸£à¸/à¸à¸à¸à¹à¸à¸£à¸´à¸à¸²
+pref.timezone.Europe.Prague=ยุà¹à¸£à¸/à¸à¸£à¸²à¸
+pref.timezone.Europe.Riga=ยุà¹à¸£à¸/ริà¸à¸²
+pref.timezone.Europe.Rome=ยุà¹à¸£à¸/à¹à¸£à¸¡
+pref.timezone.Europe.Samara=ยุà¹à¸£à¸/à¸à¸²à¸¡à¸²à¸£à¸²
+pref.timezone.Europe.San_Marino=ยุà¹à¸£à¸/à¸à¸²à¸à¸¡à¸²à¸£à¸µà¹à¸
+pref.timezone.Europe.Sarajevo=ยุà¹à¸£à¸/à¸à¸²à¸£à¸²à¹à¸¢à¹à¸§
+pref.timezone.Europe.Simferopol=ยุà¹à¸£à¸/à¸à¸´à¸¡à¹à¸à¸à¹à¸£à¹à¸à¸¥
+pref.timezone.Europe.Skopje=ยุà¹à¸£à¸/สà¹à¸à¹à¸à¸µà¸¢
+pref.timezone.Europe.Sofia=ยุà¹à¸£à¸/à¹à¸à¹à¸à¸µà¸¢
+pref.timezone.Europe.Stockholm=ยุà¹à¸£à¸/สà¸à¸à¸à¹à¸®à¸¥à¹à¸¡
+pref.timezone.Europe.Tallinn=ยุà¹à¸£à¸/à¸à¸²à¸¥à¸¥à¸´à¸à¸à¹
+pref.timezone.Europe.Tirane=ยุà¹à¸£à¸/à¸à¸´à¸£à¸²à¸à¸²
+pref.timezone.Europe.Uzhgorod=ยุà¹à¸£à¸/à¸à¸¸à¸à¹à¸à¸£à¸à¸
+pref.timezone.Europe.Vaduz=ยุà¹à¸£à¸/วาà¸à¸¸à¸
+pref.timezone.Europe.Vatican=ยุà¹à¸£à¸/วาà¸à¸´à¸à¸±à¸
+pref.timezone.Europe.Vienna=ยุà¹à¸£à¸/à¹à¸§à¸µà¸¢à¸à¸à¸²
+pref.timezone.Europe.Vilnius=ยุà¹à¸£à¸/วิลà¸à¸µà¸à¸¸à¸ª
+pref.timezone.Europe.Volgograd=ยุà¹à¸£à¸/à¹à¸§à¸¥à¹à¸à¸à¸£à¸²à¸
+pref.timezone.Europe.Warsaw=ยุà¹à¸£à¸/วà¸à¸£à¹à¸à¸
+pref.timezone.Europe.Zagreb=ยุà¹à¸£à¸/à¸à¸²à¹à¸à¸£à¹à¸
+pref.timezone.Europe.Zaporozhye=ยุà¹à¸£à¸/à¸à¸²à¹à¸à¹à¸£à¸à¸µ
+pref.timezone.Europe.Zurich=ยุà¹à¸£à¸/à¸à¸¹à¸£à¸´à¸
+pref.timezone.Indian.Antananarivo=à¸à¸´à¸à¹à¸à¸µà¸¢/à¸à¸±à¸à¸à¸²à¸à¸²à¸à¸²à¸£à¸´à¹à¸§
+pref.timezone.Indian.Chagos=à¸à¸´à¸à¹à¸à¸µà¸¢/à¸à¸²à¸à¸à¸ª
+pref.timezone.Indian.Christmas=à¸à¸´à¸à¹à¸à¸µà¸¢/à¸à¸£à¸´à¸ªà¸à¹à¸¡à¸²à¸ª
+pref.timezone.Indian.Cocos=à¸à¸´à¸à¹à¸à¸µà¸¢/à¹à¸à¹à¸à¸ª
+pref.timezone.Indian.Comoro=à¸à¸´à¸à¹à¸à¸µà¸¢/à¹à¸à¹à¸¡à¹à¸£
+pref.timezone.Indian.Kerguelen=à¸à¸´à¸à¹à¸à¸µà¸¢/à¹à¸à¸£à¹à¹à¸à¹à¸¥à¸
+pref.timezone.Indian.Mahe=à¸à¸´à¸à¹à¸à¸µà¸¢/มาà¹à¸®
+pref.timezone.Indian.Maldives=à¸à¸´à¸à¹à¸à¸µà¸¢/มัลà¸à¸µà¸à¸ªà¹
+pref.timezone.Indian.Mauritius=à¸à¸´à¸à¹à¸à¸µà¸¢/มà¸à¸£à¸´à¹à¸à¸µà¸¢à¸ª
+pref.timezone.Indian.Mayotte=à¸à¸´à¸à¹à¸à¸µà¸¢/มายà¸à¸
+pref.timezone.Indian.Reunion=à¸à¸´à¸à¹à¸à¸µà¸¢/à¹à¸£à¸à¸¹à¹à¸à¸µà¸¢à¸
+pref.timezone.Pacific.Apia=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸²à¸à¸µà¸à¸²
+pref.timezone.Pacific.Auckland=à¹à¸à¸à¸´à¸à¸´à¸/à¹à¸à¸à¹à¸¥à¸à¸à¹
+pref.timezone.Pacific.Chatham=à¹à¸à¸à¸´à¸à¸´à¸/à¹à¸à¸à¸±à¸¡
+pref.timezone.Pacific.Easter=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸µà¸ªà¹à¸à¸à¸£à¹
+pref.timezone.Pacific.Efate=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸µà¸à¸²à¹à¸
+pref.timezone.Pacific.Enderbury=à¹à¸à¸à¸´à¸à¸´à¸/à¹à¸à¸à¹à¸à¸à¸£à¹à¹à¸à¸à¸£à¸µ
+pref.timezone.Pacific.Fakaofo=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸²à¹à¸à¸²à¹à¸
+pref.timezone.Pacific.Fiji=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸´à¸à¸´
+pref.timezone.Pacific.Funafuti=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸¹à¸à¸°à¸à¸¹à¸à¸µ
+pref.timezone.Pacific.Galapagos=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸²à¸¥à¸²à¸à¸²à¸à¸à¸ª
+pref.timezone.Pacific.Gambier=à¹à¸à¸à¸´à¸à¸´à¸/à¹à¸à¸¡à¹à¸à¸µà¸¢à¸£à¹
+pref.timezone.Pacific.Guadalcanal=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸§à¸²à¸à¸²à¸¥à¸à¸°à¹à¸à¸¥
+pref.timezone.Pacific.Guam=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸§à¸¡
+pref.timezone.Pacific.Honolulu=à¹à¸à¸à¸´à¸à¸´à¸/à¹à¸®à¹à¸à¸¥à¸¹à¸¥à¸¹
+pref.timezone.Pacific.Johnston=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸à¸«à¹à¸à¸ªà¸à¸±à¸
+pref.timezone.Pacific.Kiritimati=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸´à¸£à¸´à¸ªà¸¡à¸²à¸ª
+pref.timezone.Pacific.Kosrae=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸à¸ªà¹à¸£
+pref.timezone.Pacific.Kwajalein=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸§à¸²à¸à¸²à¸¥à¸µà¸
+pref.timezone.Pacific.Majuro=à¹à¸à¸à¸´à¸à¸´à¸/มาà¸à¸¹à¹à¸£
+pref.timezone.Pacific.Marquesas=à¹à¸à¸à¸´à¸à¸´à¸/มารà¹à¹à¸à¸§à¸à¸±à¸ª
+pref.timezone.Pacific.Midway=à¹à¸à¸à¸´à¸à¸´à¸/มิà¸à¹à¸§à¸¢à¹
+pref.timezone.Pacific.Nauru=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸²à¸à¸¹à¸£à¸¹
+pref.timezone.Pacific.Niue=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸µà¸à¸¹à¹à¸
+pref.timezone.Pacific.Norfolk=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸à¸£à¹à¸à¸à¸¥à¹à¸
+pref.timezone.Pacific.Noumea=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸¹à¹à¸¡à¸à¸²
+pref.timezone.Pacific.Pago_Pago=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸²à¹à¸à¸à¸²à¹à¸
+pref.timezone.Pacific.Palau=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸²à¹à¸¥à¸²
+pref.timezone.Pacific.Pitcairn=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸´à¸à¹à¸à¸£à¹à¸
+pref.timezone.Pacific.Ponape=à¹à¸à¸à¸´à¸à¸´à¸/à¹à¸à¸à¸²à¹à¸
+pref.timezone.Pacific.Port_Moresby=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸à¸£à¹à¸à¸¡à¸à¸£à¹à¸ªà¸à¸µ
+pref.timezone.Pacific.Rarotonga=à¹à¸à¸à¸´à¸à¸´à¸/ราà¹à¸£à¸à¸à¸à¸à¸²
+pref.timezone.Pacific.Saipan=à¹à¸à¸à¸´à¸à¸´à¸/à¹à¸à¸à¸±à¸
+pref.timezone.Pacific.Tahiti=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸²à¸®à¸´à¸à¸´
+pref.timezone.Pacific.Tarawa=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸²à¸£à¸°à¸§à¸²
+pref.timezone.Pacific.Tongatapu=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸à¸à¸à¸²à¸à¸²à¸à¸¹
+pref.timezone.Pacific.Truk=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸£à¸¸à¸
+pref.timezone.Pacific.Wake=à¹à¸à¸à¸´à¸à¸´à¸/à¹à¸§à¸
+pref.timezone.Pacific.Wallis=à¹à¸à¸à¸´à¸à¸´à¸/วาลลิส
+
+# the following have been missing
+pref.timezone.America.Indiana.Tell_City=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸´à¸à¸à¸µà¹à¸à¸à¸²/à¹à¸à¸¥à¸¥à¹à¸à¸´à¸à¸µ
+pref.timezone.America.Indiana.Winamac=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸´à¸à¸à¸µà¹à¸à¸à¸²/วิà¸à¸²à¹à¸¡à¸
+pref.timezone.America.Marigot=à¸à¹à¸¡à¸£à¸´à¸à¸²/มาริà¹à¸à¸à¹
+pref.timezone.America.Resolute=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸£à¹à¸à¸¥à¸¹à¸
+pref.timezone.America.St_Barthelemy=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸à¸à¹à¸à¸²à¸£à¹à¹à¸à¹à¸¥à¸¡à¸µ
+
+# added with 2008d:
+pref.timezone.America.Argentina.San_Luis=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¸£à¹à¹à¸à¸à¸à¸´à¸à¸²/à¸à¸±à¸à¸¥à¸¹à¸à¸´à¸ª
+pref.timezone.America.Santarem=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸±à¸à¸à¸²à¹à¸£à¸¡
+pref.timezone.Asia.Ho_Chi_Minh=à¹à¸à¹à¸à¸µà¸¢/à¹à¸®à¸à¸´à¸¡à¸´à¸à¸«à¹
+pref.timezone.Asia.Kolkata=à¹à¸à¹à¸à¸µà¸¢/à¹à¸à¸¥à¸à¸²à¸à¸²
+
+# added with 2008i:
+pref.timezone.America.Argentina.Salta=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¸£à¹à¹à¸à¸à¸à¸´à¸à¸²/à¸à¸±à¸¥à¸à¸²
+
+# added with 2010i
+pref.timezone.America.Matamoros=à¸à¹à¸¡à¸£à¸´à¸à¸²/มาà¸à¸²à¹à¸¡à¸£à¸à¸ª
+pref.timezone.America.Ojinaga=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸à¸´à¸à¸²à¸à¸²
+pref.timezone.America.Santa_Isabel=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¸à¸à¸²à¸à¸´à¸à¸²à¹à¸à¸¥
+pref.timezone.Antarctica.Macquarie=à¹à¸à¸à¸à¸²à¸£à¹à¸à¸à¸´à¸à¸²/à¹à¸¡à¸à¸à¸§à¸à¸£à¸µ
+pref.timezone.Asia.Novokuznetsk=à¹à¸à¹à¸à¸µà¸¢/à¹à¸à¹à¸§à¸à¸¸à¸à¹à¸à¸à¸ªà¸à¹
+
+#added with 2011b
+pref.timezone.America.Bahia_Banderas=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸²à¹à¸à¸µà¸¢à¸à¸±à¸à¹à¸à¸£à¸±à¸ª
+pref.timezone.America.North_Dakota.Beulah=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸à¸£à¹à¸à¸à¸²à¹à¸à¸à¸²/à¹à¸à¸¥à¸²à¸«à¹
+pref.timezone.Pacific.Chuuk=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸¹à¸
+pref.timezone.Pacific.Pohnpei=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸à¸«à¹à¸à¹à¸
+
+#added with 2011n
+pref.timezone.Africa.Juba=à¹à¸à¸à¸£à¸´à¸à¸²/à¸à¸¹à¸à¸²
+pref.timezone.America.Kralendijk=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸£à¸²à¹à¸¥à¸à¸à¸´à¸à¸à¹
+pref.timezone.America.Lower_Princes=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸¥à¹à¸§à¸à¸£à¹à¸à¸£à¸´à¸à¸à¹
+pref.timezone.America.Metlakatla=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸¡à¸à¸¥à¸²à¸à¸²à¸à¸¥à¸°
+pref.timezone.America.Sitka=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸´à¸à¸à¸²
+pref.timezone.Asia.Hebron=à¹à¸à¹à¸à¸µà¸¢/à¹à¸®à¸à¸£à¸à¸
+
+#added with 2013a
+pref.timezone.America.Creston=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¹à¸à¸£à¸ªà¸à¸±à¸
+pref.timezone.Asia.Khandyga=à¹à¸à¹à¸à¸µà¸¢/ฮัà¸à¸à¸·à¸¢à¸à¸²
+pref.timezone.Asia.Ust-Nera=à¹à¸à¹à¸à¸µà¸¢/à¸à¸¸à¸ªà¸à¹à¹à¸à¸£à¸²
+pref.timezone.Europe.Busingen=ยุà¹à¸£à¸/à¸à¸¸à¸ªà¸à¸´à¸à¹à¸à¹à¸
+
+#added with 2014b
+pref.timezone.Antarctica.Troll=à¹à¸à¸à¸à¸²à¸£à¹à¸à¸à¸´à¸à¸²/à¹à¸à¸£à¸¥
+
+#added with 2014j
+pref.timezone.Asia.Chita=à¹à¸à¹à¸à¸µà¸¢/à¸à¸´à¸à¸²
+pref.timezone.Asia.Srednekolymsk=à¹à¸à¹à¸à¸µà¸¢/à¸à¹à¸£à¸à¹à¸à¸à¹à¸à¸¥à¸´à¸¡à¸ªà¸à¹
+pref.timezone.Pacific.Bougainville=à¹à¸à¸à¸´à¸à¸´à¸/à¸à¸¹à¹à¸à¸à¸§à¸´à¸¥à¸¥à¹
+
+#added with 2.2015g
+pref.timezone.America.Fort_Nelson=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸à¸£à¹à¸à¹à¸à¸¥à¸ªà¸±à¸
+
+#added with 2.2016b
+pref.timezone.Europe.Ulyanovsk=ยุà¹à¸£à¸/à¸à¸¸à¸¥à¸¢à¸²à¸à¸à¸à¸ªà¸à¹
+pref.timezone.Europe.Astrakhan=ยุà¹à¸£à¸/à¸à¸±à¸ªà¸à¸£à¸²à¸à¸±à¸
+pref.timezone.Asia.Barnaul=à¹à¸à¹à¸à¸µà¸¢/à¸à¸²à¸£à¸à¸±à¸¥
+
+#added with 2.2016i
+pref.timezone.Asia.Yangon=à¹à¸à¹à¸à¸µà¸¢/ยà¹à¸²à¸à¸à¸¸à¹à¸
+pref.timezone.Asia.Tomsk=à¹à¸à¹à¸à¸µà¸¢/à¸à¸à¸¡à¸ªà¸à¹
+pref.timezone.Asia.Famagusta=à¹à¸à¹à¸à¸µà¸¢/à¸à¸²à¸¡à¸²à¸à¸¸à¸ªà¸à¸²
+pref.timezone.Europe.Kirov=ยุà¹à¸£à¸/à¸à¸µà¸£à¸à¸
+
+#added with 2.2016j
+pref.timezone.Europe.Saratov=ยุà¹à¸£à¸/à¸à¸²à¸£à¸²à¸à¸à¸
+pref.timezone.Asia.Atyrau=à¹à¸à¹à¸à¸µà¸¢/à¸à¸°à¸à¸µà¸£à¸²à¸à¸¹
+
+#added with 2.2017b
+pref.timezone.America.Punta_Arenas=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸±à¸à¸à¸²à¹à¸à¸£à¸µà¸à¸²à¸ªà¹
+
+#added with 2.2018i
+pref.timezone.Asia.Qostanay=à¹à¸à¹à¸à¸µà¸¢/à¸à¸à¸ªà¸à¸²à¹à¸
+
+#added with 2.2020a
+pref.timezone.America.Nuuk=à¸à¹à¸¡à¸£à¸´à¸à¸²/à¸à¸¸à¸
diff --git a/calendar/chrome/lightning/lightning-toolbar.dtd b/calendar/chrome/lightning/lightning-toolbar.dtd
new file mode 100644
index 00000000000..f29a873f81e
--- /dev/null
+++ b/calendar/chrome/lightning/lightning-toolbar.dtd
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/lightning/lightning.dtd b/calendar/chrome/lightning/lightning.dtd
new file mode 100644
index 00000000000..68679162bf6
--- /dev/null
+++ b/calendar/chrome/lightning/lightning.dtd
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/lightning/lightning.properties b/calendar/chrome/lightning/lightning.properties
new file mode 100644
index 00000000000..2ac484eccce
--- /dev/null
+++ b/calendar/chrome/lightning/lightning.properties
@@ -0,0 +1,165 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Task mode title
+taskModeApplicationTitle=à¸à¸²à¸
+
+# Tab titles
+tabTitleCalendar=à¸à¸à¸´à¸à¸´à¸
+tabTitleTasks=à¸à¸²à¸
+
+# Html event display in message
+imipHtml.header=à¸à¸³à¹à¸à¸´à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹
+imipHtml.summary=à¸à¸·à¹à¸à¹à¸£à¸·à¹à¸à¸:
+imipHtml.location=à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸:
+imipHtml.when=à¹à¸¡à¸·à¹à¸:
+imipHtml.organizer=à¸à¸¹à¹à¸à¸±à¸:
+imipHtml.description=à¸à¸³à¸à¸à¸´à¸à¸²à¸¢:
+# LOCALIZATION_NOTE(imipHtml.attachments): This is a label for one or more (additional) links to
+# documents or websites attached to this event.
+imipHtml.attachments=à¹à¸à¸¥à¹à¹à¸à¸:
+imipHtml.comment=à¸à¸§à¸²à¸¡à¸à¸´à¸à¹à¸«à¹à¸:
+imipHtml.attendees=à¸à¸¹à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡:
+# LOCALIZATION_NOTE(imipHtml.url): This is a label for a reference to an (alternate) online
+# representation of the event (either directly human readable or not).
+imipHtml.url=ลิà¸à¸à¹à¸à¸µà¹à¹à¸à¸µà¹à¸¢à¸§à¸à¹à¸à¸:
+imipHtml.canceledOccurrences=à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¸¢à¸à¹à¸¥à¸´à¸:
+imipHtml.modifiedOccurrences=à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸:
+imipHtml.newLocation=à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¹à¸«à¸¡à¹: %1$S
+# LOCALIZATION_NOTE(imipHtml.attendeeDelegatedFrom): this is appended behind an attendee name in the
+# email invitation preview - don't add leading/trailing whitespaces here
+# %1$S - a single delegator or a comma separated list of delegators
+imipHtml.attendeeDelegatedFrom=(มà¸à¸à¸«à¸¡à¸²à¸¢à¹à¸¥à¹à¸§à¸à¸²à¸ %1$S)
+# LOCALIZATION_NOTE(imipHtml.attendeeDelegatedTo): this is appended behind an attendee name in the
+# email invitation preview - don't add leading/trailing whitespaces here
+# %1$S - a single delegatee or a comma separated list of delegatees
+imipHtml.attendeeDelegatedTo=(มà¸à¸à¸«à¸¡à¸²à¸¢à¹à¸¥à¹à¸§à¸à¸¶à¸ %1$S)
+
+# LOCALIZATION_NOTE(imipHtml.attendee.combined): tooltip for itip icon in email invitation preview.
+# Given an attendee loungeexample.org of type room is a mandatory participant and has accepted the
+# invitation, the tooltip would be:
+# lounge@example.org (room) is a required participant. lounge@example.org has confirmed attendance.
+# %1$S - value of imipHtml.attendeeRole2.*
+# %2$S - value of imipHtml.attendeePartStat2.*
+imipHtml.attendee.combined=%1$S %2$S
+
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.CHAIR): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.CHAIR=%1$S à¹à¸à¹à¸à¸à¸£à¸°à¸à¸²à¸à¹à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.NON-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.NON-PARTICIPANT=%1$S à¹à¸à¹à¸à¸à¸¹à¹à¹à¸¡à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.OPT-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.OPT-PARTICIPANT=%1$S à¹à¸à¹à¸à¸à¸¹à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸à¸µà¹à¹à¸¡à¹à¸à¸³à¹à¸à¹à¸
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.REQ-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.REQ-PARTICIPANT=%1$S à¹à¸à¹à¸à¸à¸¹à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸à¸µà¹à¸à¸³à¹à¸à¹à¸
+
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.ACCEPTED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.ACCEPTED=%1$S à¹à¸à¹à¸¢à¸·à¸à¸¢à¸±à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¹à¸§à¸¡
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.DECLINED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.DECLINED=%1$S à¹à¸à¹à¸à¸à¸´à¹à¸ªà¸à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¹à¸§à¸¡
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.DELEGATED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+# %2$S - single delegatee or comma separated list of delegatees
+# delegation is different from invitation forwarding - in case of the former the original attendee
+# is replaced, while on the latter the receiver may take part additionally
+imipHtml.attendeePartStat2.DELEGATED=%1$S à¹à¸à¹à¸¡à¸à¸à¸«à¸¡à¸²à¸¢à¹à¸«à¹à¸à¸¹à¹à¸à¸·à¹à¸à¹à¸à¹à¸²à¸£à¹à¸§à¸¡ %2$S
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.NEEDS-ACTION): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.NEEDS-ACTION=%1$S ยัà¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸«à¹à¸à¸à¸à¸à¸¥à¸±à¸
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.TENTATIVE): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.TENTATIVE=%1$S à¹à¸à¹à¸¢à¸·à¸à¸¢à¸±à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸à¸¢à¹à¸²à¸à¹à¸¡à¹à¹à¸à¹à¸à¸à¸
+
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.INDIVIDUAL): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name representing an individual attendee
+imipHtml.attendeeUserType2.INDIVIDUAL=%1$S
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.GROUP): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name representing a group (e.g. a distribution list)
+imipHtml.attendeeUserType2.GROUP=%1$S (à¸à¸¥à¸¸à¹à¸¡)
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.RESOURCE): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name representing a resource (e.g. projector)
+imipHtml.attendeeUserType2.RESOURCE=%1$S (à¸à¸£à¸±à¸à¸¢à¸²à¸à¸£)
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.ROOM): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name representing a room
+imipHtml.attendeeUserType2.ROOM=%1$S (หà¹à¸à¸)
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.UNKNOWN): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name representing an attendee of unknown type
+imipHtml.attendeeUserType2.UNKNOWN=%1$S
+
+imipAddedItemToCal2=à¹à¸à¸´à¹à¸¡à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¹à¸à¸¢à¸±à¸à¸à¸à¸´à¸à¸´à¸à¸à¸à¸à¸à¸¸à¸à¹à¸¥à¹à¸§
+imipCanceledItem2=ลà¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸²à¸à¸à¸à¸´à¸à¸´à¸à¸à¸à¸à¸à¸¸à¸à¹à¸¥à¹à¸§
+imipUpdatedItem2=à¸à¸±à¸à¹à¸à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¹à¸¥à¹à¸§
+imipBarCancelText=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¸¢à¸à¹à¸¥à¸´à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹
+imipBarCounterErrorText=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¹à¸à¹à¹à¸¢à¹à¸à¸à¸³à¹à¸à¸´à¸à¸à¸¶à¹à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¹à¸à¹
+imipBarCounterPreviousVersionText=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¹à¸à¹à¹à¸¢à¹à¸à¸à¸³à¹à¸à¸´à¸à¸£à¸¸à¹à¸à¸à¹à¸à¸à¸«à¸à¹à¸²
+imipBarCounterText=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¹à¸à¹à¹à¸¢à¹à¸à¸à¸³à¹à¸à¸´à¸
+imipBarDisallowedCounterText=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¹à¸à¹à¹à¸¢à¹à¸à¸à¸¶à¸à¹à¸¡à¹à¸§à¹à¸²à¸à¸¸à¸à¸à¸°à¹à¸¡à¹à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¸¡à¸µà¸à¸²à¸£à¹à¸à¹à¹à¸¢à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸´à¸à¸à¸£à¸£à¸¡à¸à¸µà¹à¹à¸¥à¹à¸§
+imipBarDeclineCounterText=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¸à¸à¸à¸à¸¥à¸±à¸à¸à¸²à¸£à¹à¸à¹à¹à¸¢à¹à¸à¸à¸à¸à¸à¸¸à¸
+imipBarRefreshText=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸à¸²à¸¡à¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹
+imipBarPublishText=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹
+imipBarRequestText=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¸à¸³à¹à¸à¸´à¸à¹à¸à¸¢à¸±à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹
+imipBarSentText=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¸ªà¹à¸à¹à¸¥à¹à¸§
+imipBarSentButRemovedText=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¸ªà¹à¸à¹à¸¥à¹à¸§à¸à¸¶à¹à¸à¹à¸¡à¹à¸à¸¢à¸¹à¹à¹à¸à¸à¸à¸´à¸à¸´à¸à¸à¸à¸à¸à¸¸à¸à¸à¸µà¸à¸à¹à¸à¹à¸à¹à¸¥à¹à¸§
+imipBarUpdateText=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹
+imipBarUpdateMultipleText=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¸«à¸¥à¸²à¸¢à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹
+imipBarUpdateSeriesText=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¸à¸±à¸à¹à¸à¸à¸à¸¸à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¸¡à¸µà¸à¸¢à¸¹à¹
+imipBarAlreadyProcessedText=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¸à¸¹à¸à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¹à¸à¹à¸¥à¹à¸§
+imipBarProcessedNeedsAction=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¸à¸¸à¸à¸¢à¸±à¸à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸ªà¸à¸à¸
+imipBarProcessedMultipleNeedsAction=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸«à¸¥à¸²à¸¢à¸à¸¢à¹à¸²à¸à¸à¸µà¹à¸à¸¸à¸à¸¢à¸±à¸à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸à¸¥à¸±à¸
+imipBarProcessedSeriesNeedsAction=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¸à¸¸à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹à¸à¸¸à¸à¸¢à¸±à¸à¹à¸¡à¹à¹à¸à¹à¸à¸à¸à¸à¸¥à¸±à¸
+imipBarReplyText=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¸à¸à¸à¸à¸¥à¸±à¸à¸à¸³à¹à¸à¸´à¸
+imipBarReplyToNotExistingItem=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¸à¸à¸à¸à¸¥à¸±à¸à¸à¸µà¹à¸à¹à¸²à¸à¸à¸´à¸à¸à¸¶à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸¶à¹à¸à¹à¸¡à¹à¸à¸¢à¸¹à¹à¹à¸à¸à¸à¸´à¸à¸´à¸à¸à¸à¸à¸à¸¸à¸
+# LOCALIZATION_NOTE(imipBarReplyToRecentlyRemovedItem):
+# %1$S - datetime of deletion
+imipBarReplyToRecentlyRemovedItem=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¸à¸à¸à¸à¸¥à¸±à¸à¸à¸µà¹à¸à¹à¸²à¸à¸à¸´à¸à¸à¸¶à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸¶à¹à¸à¸à¸¹à¸à¹à¸à¸²à¸à¸à¸à¸à¸²à¸à¸à¸à¸´à¸à¸´à¸à¸à¸à¸à¸à¸¸à¸à¹à¸¡à¸·à¹à¸ %1$S
+imipBarUnsupportedText2=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹ %1$S รุà¹à¸à¸à¸µà¹à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¹à¸à¹
+imipBarProcessingFailed=à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¹à¸à¸à¸§à¸²à¸¡à¸¥à¹à¸¡à¹à¸«à¸¥à¸§ สà¸à¸²à¸à¸°: %1$S
+imipBarCalendarDeactivated=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¡à¸µà¸à¹à¸à¸¡à¸¹à¸¥à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹ à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸à¸´à¸à¸´à¸à¹à¸à¸·à¹à¸à¸à¸±à¸à¸à¸²à¸£
+imipBarNotWritable=à¹à¸¡à¹à¸¡à¸µà¸à¸à¸´à¸à¸´à¸à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸µà¸¢à¸à¹à¸à¹à¸à¸µà¹à¸à¸¹à¸à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¹à¸à¸´à¸ à¹à¸à¸£à¸à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸¸à¸à¸ªà¸¡à¸à¸±à¸à¸´à¸à¸à¸´à¸à¸´à¸
+imipSendMail.title=à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¸à¸²à¸à¸à¸µà¹à¸¡à¸¥
+imipSendMail.text=à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸ªà¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¹à¸à¸·à¸à¸à¸à¸²à¸à¸à¸µà¹à¸¡à¸¥à¸à¸à¸à¸à¸µà¹à¸«à¸£à¸·à¸à¹à¸¡à¹?
+imipNoIdentity=à¹à¸¡à¹à¸¡à¸µ
+imipNoCalendarAvailable=à¹à¸¡à¹à¸¡à¸µà¸à¸à¸´à¸à¸´à¸à¸à¸µà¹à¹à¸à¸µà¸¢à¸à¹à¸à¹
+
+itipReplySubject2=à¸à¸à¸à¸à¸¥à¸±à¸à¸à¸³à¹à¸à¸´à¸: %1$S
+itipReplyBodyAccept=%1$S à¹à¸à¹à¸¢à¸à¸¡à¸£à¸±à¸à¸à¸³à¹à¸à¸´à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸à¸à¸à¸¸à¸
+itipReplyBodyDecline=%1$S à¹à¸à¹à¸à¸à¸´à¹à¸ªà¸à¸à¸³à¹à¸à¸´à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸à¸à¸à¸¸à¸
+itipReplySubjectAccept2=ยà¸à¸¡à¸£à¸±à¸: %1$S
+itipReplySubjectDecline2=à¸à¸à¸´à¹à¸ªà¸à¸à¸³à¹à¸à¸´à¸: %1$S
+itipReplySubjectTentative2=à¹à¸¡à¹à¹à¸à¹à¸à¸à¸: %1$S
+itipRequestSubject2=à¸à¸³à¹à¸à¸´à¸: %1$S
+itipRequestUpdatedSubject2=à¸à¸±à¸à¹à¸à¸: %1$S
+itipRequestBody=%1$S à¹à¸à¹à¹à¸à¸´à¸à¸à¸¸à¸à¹à¸à¸¢à¸±à¸ %2$S
+itipCancelSubject2=ยà¸à¹à¸¥à¸´à¸: %1$S
+itipCancelBody=%1$S à¹à¸à¹à¸¢à¸à¹à¸¥à¸´à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸µà¹: %2$S
+itipCounterBody=%1$S à¹à¸à¹à¸ªà¸£à¹à¸²à¸à¸à¸²à¸£à¹à¸à¹à¹à¸¢à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸ "%2$S":
+itipDeclineCounterBody=%1$S à¹à¸à¹à¸à¸à¸´à¹à¸ªà¸à¸à¸²à¸£à¹à¸à¹à¹à¸¢à¹à¸à¸à¸à¸à¸à¸¸à¸à¸ªà¸³à¸«à¸£à¸±à¸ "%2$S"
+itipDeclineCounterSubject=à¸à¸à¸´à¹à¸ªà¸à¸à¸²à¸£à¹à¸à¹à¹à¸¢à¹à¸: %1$S
+
+confirmProcessInvitation=à¸à¸¸à¸à¹à¸à¹à¸¥à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸µà¹à¹à¸¡à¸·à¹à¸à¹à¸¡à¹à¸à¸²à¸à¸¡à¸²à¸à¸µà¹ à¸à¸¸à¸à¹à¸à¹à¹à¸à¸«à¸£à¸·à¸à¹à¸¡à¹à¸§à¹à¸²à¸à¹à¸à¸à¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¸³à¹à¸à¸´à¸à¸à¸µà¹?
+confirmProcessInvitationTitle=à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¸³à¹à¸à¸´à¸à¸«à¸£à¸·à¸à¹à¸¡à¹?
+
+invitationsLink.label=à¸à¸³à¹à¸à¸´à¸: %1$S
+
+# LOCALIZATION NOTE(noIdentitySelectedNotification):
+noIdentitySelectedNotification=หาà¸à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¹à¸à¸à¸´à¸à¸´à¸à¸à¸µà¹à¹à¸à¸·à¹à¸à¹à¸à¹à¸à¸à¸³à¹à¸à¸´à¸à¸à¸¶à¸à¸«à¸£à¸·à¸à¸à¸²à¸à¸à¸¸à¸à¸à¸¥à¸à¸·à¹à¸ à¸à¸¸à¸à¸à¸§à¸£à¸à¸³à¸«à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸£à¸°à¸à¸³à¸à¸±à¸§à¸à¸µà¹à¸¡à¸¥à¸à¹à¸²à¸à¸¥à¹à¸²à¸
diff --git a/chat/accounts.dtd b/chat/accounts.dtd
new file mode 100644
index 00000000000..268ef24b950
--- /dev/null
+++ b/chat/accounts.dtd
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/chat/accounts.properties b/chat/accounts.properties
new file mode 100644
index 00000000000..7d536135598
--- /dev/null
+++ b/chat/accounts.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 (passwordPromptTitle, passwordPromptText):
+# %S is replaced with the name of the account
+passwordPromptTitle=รหัสà¸à¹à¸²à¸à¸ªà¸³à¸«à¸£à¸±à¸ %S
+passwordPromptText=à¹à¸à¸£à¸à¸à¹à¸à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸à¸à¸à¸¸à¸à¸ªà¸³à¸«à¸£à¸±à¸ %S à¹à¸à¸·à¹à¸à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¸à¸à¸µ
+passwordPromptSaveCheckbox=à¹à¸à¹à¸à¸±à¸§à¸à¸±à¸à¸à¸²à¸£à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¹à¸à¸·à¹à¸à¸à¸à¸à¸³à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸µà¹
diff --git a/chat/commands.properties b/chat/commands.properties
new file mode 100644
index 00000000000..8a876c207c5
--- /dev/null
+++ b/chat/commands.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 (commands):
+# %S is a comma separated list of command names.
+commands=à¸à¸³à¸ªà¸±à¹à¸: %S\nà¹à¸à¹ /help <command> สำหรัà¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+# LOCALIZATION NOTE (noCommand, noHelp):
+# %S is the command name the user typed.
+noCommand=à¹à¸¡à¹à¸¡à¸µà¸à¸³à¸ªà¸±à¹à¸ '%S'
+noHelp=à¹à¸¡à¹à¸¡à¸µà¸à¹à¸à¸à¸§à¸²à¸¡à¸à¹à¸§à¸¢à¹à¸«à¸¥à¸·à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸³à¸ªà¸±à¹à¸ '%S' à¸à¸à¸à¸ ัย!
+
+sayHelpString=say <message>: สà¹à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸à¸¢à¹à¸¡à¹à¸¡à¸µà¸à¸²à¸£à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¸³à¸ªà¸±à¹à¸
+rawHelpString=raw <message>: สà¹à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸à¸¢à¹à¸¡à¹à¸¡à¸µà¸à¸²à¸£à¸«à¸¥à¸µà¸à¹à¸¥à¸µà¹à¸¢à¸à¹à¸à¸à¸à¸´à¸à¸µ HTML
+helpHelpString=help <name>: à¹à¸ªà¸à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¹à¸§à¸¢à¹à¸«à¸¥à¸·à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸³à¸ªà¸±à¹à¸ <name> หรืà¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸³à¸ªà¸±à¹à¸à¸à¸µà¹à¹à¸à¹à¸à¹à¸à¹à¸à¹à¹à¸¡à¸·à¹à¸à¸à¸¹à¸à¹à¸à¹à¹à¸à¸¢à¹à¸¡à¹à¸¡à¸µà¸à¸²à¸£à¸²à¸¡à¸´à¹à¸à¸à¸£à¹
+
+# LOCALIZATION NOTE (statusCommand):
+# %1$S is replaced with a status command name
+# (one of "back", "away", "busy", "dnd", or "offline").
+# %2$S is replaced with the localized version of that status type
+# (one of the 5 strings below).
+statusCommand=%1$S <status message>: à¸à¸±à¹à¸à¸ªà¸à¸²à¸à¸°à¹à¸à¹à¸ %2$S à¸à¹à¸§à¸¢à¸à¹à¸à¸à¸§à¸²à¸¡à¸ªà¸à¸²à¸à¸°à¸à¸±à¸§à¹à¸¥à¸·à¸à¸
+back=à¸à¸£à¹à¸à¸¡à¹à¸à¹à¸à¸²à¸
+away=à¹à¸¡à¹à¸à¸¢à¸¹à¹
+busy=à¹à¸¡à¹à¸à¸£à¹à¸à¸¡à¹à¸à¹à¸à¸²à¸
+dnd=à¹à¸¡à¹à¸à¸£à¹à¸à¸¡à¹à¸à¹à¸à¸²à¸
+offline=à¸à¸à¸à¹à¸¥à¸à¹
diff --git a/chat/contacts.properties b/chat/contacts.properties
new file mode 100644
index 00000000000..10a18b468ff
--- /dev/null
+++ b/chat/contacts.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/.
+
+# LOCALIZATION NOTE (defaultGroup):
+# This is the name of the group that will automatically be created when adding a
+# buddy without specifying a group.
+defaultGroup=à¸à¸¹à¹à¸à¸´à¸à¸à¹à¸
diff --git a/chat/conversations.properties b/chat/conversations.properties
new file mode 100644
index 00000000000..105b367a2ab
--- /dev/null
+++ b/chat/conversations.properties
@@ -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/.
+
+# LOCALIZATION NOTE (targetChanged):
+# %1$S is the new conversation title (display name of the new target),
+# %2$S is the protocol name used for the new target.
+targetChanged=à¸à¸²à¸£à¸ªà¸à¸à¸à¸²à¸à¸°à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸à¸à¹à¸§à¸¢ %1$S à¹à¸à¸¢à¹à¸à¹ %2$S
+
+# LOCALIZATION NOTE (statusChanged):
+# %1$S is the display name of the contact.
+# %2$S is the new status type (a value from status.properties).
+statusChanged=%1$S à¸à¸à¸à¸à¸µà¹ %2$S
+# LOCALIZATION NOTE (statusChangedWithStatusText):
+# %1$S is the display name of the contact.
+# %2$S is the new status type (a value from status.properties).
+# %3$S is the status text (eg. "I'm currently away from the computer").
+statusChangedWithStatusText=%1$S à¸à¸à¸à¸à¸µà¹ %2$S: %3$S
+# LOCALIZATION NOTE (statusChangedFromUnknown[WithStatusText]):
+# special case of the previous 2 strings for when the status was
+# previously unknown. These 2 strings should not mislead the user
+# into thinking the person's status has just changed.
+statusChangedFromUnknown=%1$S %2$S
+statusChangedFromUnknownWithStatusText=%1$S %2$S: %3$S
+# LOCALIZATION NOTE (statusKnown[WithStatusText]):
+# special case of the previous 2 strings for when an account has just
+# been reconnected, so the status is now known. These 2 strings should not
+# mislead the user into thinking the person's status has just changed.
+statusKnown=à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¸à¸à¸µà¸à¸à¸à¸à¸¸à¸à¹à¸«à¸¡à¹à¹à¸¥à¹à¸§ (%1$S %2$S)
+statusKnownWithStatusText=à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¸à¸à¸µà¸à¸à¸à¸à¸¸à¸à¹à¸«à¸¡à¹à¹à¸¥à¹à¸§ (%1$S %2$S: %3$S).
+# LOCALIZATION NOTE (statusUnknown):
+# %S is the display name of the contact.
+statusUnknown=à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¸à¸à¸µà¸à¸à¸à¸à¸¸à¸à¹à¸¥à¹à¸§ (à¹à¸¡à¹à¸à¸£à¸²à¸à¸ªà¸à¸²à¸à¸°à¸à¸à¸ %S à¸à¸µà¸à¸à¹à¸à¹à¸)
+
+accountDisconnected=à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¸à¸à¸µà¸à¸à¸à¸à¸¸à¸à¹à¸¥à¹à¸§
+accountReconnected=à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¸à¸à¸µà¸à¸à¸à¸à¸¸à¸à¹à¸«à¸¡à¹à¹à¸¥à¹à¸§
+
+# LOCALIZATION NOTE (autoReply):
+# %S is replaced by the text of a message that was sent as an automatic reply.
+autoReply=à¸à¸²à¸£à¸à¸à¸à¸à¸¥à¸±à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´ - %S
+
+# LOCALIZATION NOTE (noTopic):
+# Displayed instead of the topic when no topic is set.
+noTopic=à¹à¸¡à¹à¸¡à¸µà¸à¹à¸à¸à¸§à¸²à¸¡à¸«à¸±à¸§à¸à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸«à¹à¸à¸à¸à¸µà¹
+
+# LOCALIZATION NOTE (topicSet):
+# %1$S is the conversation name, %2$S is the topic.
+topicSet=หัวà¸à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸ %1$S à¸à¸·à¸: %2$S
+# LOCALIZATION NOTE (topicNotSet):
+# %S is the conversation name.
+topicNotSet=à¹à¸¡à¹à¸¡à¸µà¸«à¸±à¸§à¸à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸ %S
+# LOCALIZATION NOTE (topicChanged):
+# %1$S is the user who changed the topic, %2$S is the new topic.
+topicChanged=%1$S à¹à¸à¹à¹à¸à¸¥à¸µà¹à¸¢à¸à¸«à¸±à¸§à¸à¹à¸à¹à¸à¹à¸: %2$S
+# LOCALIZATION NOTE (topicCleared):
+# %1$S is the user who cleared the topic.
+topicCleared=%1$S à¹à¸à¹à¸¥à¹à¸²à¸à¸«à¸±à¸§à¸à¹à¸
+
+# LOCALIZATION NOTE (nickSet):
+# This is displayed as a system message when a participant changes his/her
+# nickname in a conversation.
+# %1$S is the old nick.
+# %2$S is the new nick.
+nickSet=%1$S à¸à¸¹à¸à¸£à¸¹à¹à¸à¸±à¸à¹à¸à¸à¸·à¹à¸ %2$S à¹à¸¥à¹à¸§
+# LOCALIZATION NOTE (nickSet.you):
+# This is displayed as a system message when your nickname is changed.
+# %S is your new nick.
+nickSet.you=à¸à¸¸à¸à¸à¸¹à¸à¸£à¸¹à¹à¸à¸±à¸à¹à¸à¸à¸·à¹à¸ %S à¹à¸¥à¹à¸§
+
+# LOCALIZATION NOTE (messenger.conversations.selections.ellipsis):
+# ellipsis is used when copying a part of a message to show that the message was cut
+messenger.conversations.selections.ellipsis=[â¦]
+
+# LOCALIZATION NOTE (messenger.conversations.selections.{system,content,action}MessagesTemplate):
+# These 3 templates are used to format selected messages before copying them.
+# Do not translate the texts between % characters, but feel free to adjust
+# whitespace and separators to make them fit your locale.
+messenger.conversations.selections.systemMessagesTemplate=%time% - %message%
+messenger.conversations.selections.contentMessagesTemplate=%time% - %sender%: %message%
+messenger.conversations.selections.actionMessagesTemplate=%time% * %sender% %message%
diff --git a/chat/dateFormat.properties b/chat/dateFormat.properties
new file mode 100644
index 00000000000..b84c3ff83c3
--- /dev/null
+++ b/chat/dateFormat.properties
@@ -0,0 +1,62 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+month.1.Mmm=ม.à¸.
+month.2.Mmm=à¸.à¸.
+month.3.Mmm=มี.à¸.
+month.4.Mmm=à¹à¸¡.ย.
+month.5.Mmm=à¸.à¸.
+month.6.Mmm=มิ.ย.
+month.7.Mmm=à¸.à¸.
+month.8.Mmm=ส.à¸.
+month.9.Mmm=à¸.ย.
+month.10.Mmm=à¸.à¸.
+month.11.Mmm=à¸.ย.
+month.12.Mmm=à¸.à¸.
+
+month.1.name=มà¸à¸£à¸²à¸à¸¡
+month.2.name=à¸à¸¸à¸¡à¸ าà¸à¸±à¸à¸à¹
+month.3.name=มีà¸à¸²à¸à¸¡
+month.4.name=à¹à¸¡à¸©à¸²à¸¢à¸
+month.5.name=à¸à¸¤à¸©à¸ าà¸à¸¡
+month.6.name=มิà¸à¸¸à¸à¸²à¸¢à¸
+month.7.name=à¸à¸£à¸à¸à¸²à¸à¸¡
+month.8.name=สิà¸à¸«à¸²à¸à¸¡
+month.9.name=à¸à¸±à¸à¸¢à¸²à¸¢à¸
+month.10.name=à¸à¸¸à¸¥à¸²à¸à¸¡
+month.11.name=à¸à¸¤à¸¨à¸à¸´à¸à¸²à¸¢à¸
+month.12.name=à¸à¸±à¸à¸§à¸²à¸à¸¡
+
+day.1.name=วัà¸à¸à¸²à¸à¸´à¸à¸¢à¹
+day.2.name=วัà¸à¸à¸±à¸à¸à¸£à¹
+day.3.name=วัà¸à¸à¸±à¸à¸à¸²à¸£
+day.4.name=วัà¸à¸à¸¸à¸
+day.5.name=วัà¸à¸à¸¤à¸«à¸±à¸ªà¸à¸à¸µ
+day.6.name=วัà¸à¸¨à¸¸à¸à¸£à¹
+day.7.name=วัà¸à¹à¸ªà¸²à¸£à¹
+
+day.1.Mmm=à¸à¸².
+day.2.Mmm=à¸.
+day.3.Mmm=à¸.
+day.4.Mmm=à¸.
+day.5.Mmm=à¸à¸¤.
+day.6.Mmm=ศ.
+day.7.Mmm=ส.
+
+day.1.short=à¸à¸²
+day.2.short=à¸
+day.3.short=à¸
+day.4.short=à¸
+day.5.short=à¸à¸¤
+day.6.short=ศ
+day.7.short=ส
+
+noon=à¹à¸à¸µà¹à¸¢à¸à¸§à¸±à¸
+midnight=à¹à¸à¸µà¹à¸¢à¸à¸à¸·à¸
+
+AllDay=à¸à¸¥à¸à¸à¸§à¸±à¸
+
+# LOCALIZATION NOTE (finduri-MonthYear):
+# %1$S is the month name, %2$S is the year (4 digits format).
+finduri-MonthYear=%1$S %2$S
diff --git a/chat/facebook.properties b/chat/facebook.properties
new file mode 100644
index 00000000000..c45a7e7bf89
--- /dev/null
+++ b/chat/facebook.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/.
+
+facebook.chat.name=Facebook Chat
+facebook.disabled=à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸ Facebook Chat à¸à¸µà¸à¸à¹à¸à¹à¸à¹à¸à¸·à¹à¸à¸à¸à¸²à¸ Facebook à¹à¸à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¸à¹à¸§à¸¢à¹ XMPP à¸à¸à¸à¹à¸à¸²
diff --git a/chat/imtooltip.properties b/chat/imtooltip.properties
new file mode 100644
index 00000000000..e11a98c0ee8
--- /dev/null
+++ b/chat/imtooltip.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/.
+
+buddy.username=à¸à¸·à¹à¸à¸à¸¹à¹à¹à¸à¹
+buddy.account=à¸à¸±à¸à¸à¸µ
+contact.tags=à¸à¹à¸²à¸¢à¸à¸³à¸à¸±à¸
+
+otr.tag=สà¸à¸²à¸à¸° OTR
+message.status=à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸¥à¹à¸§
diff --git a/chat/irc.properties b/chat/irc.properties
new file mode 100644
index 00000000000..a8c3c642b36
--- /dev/null
+++ b/chat/irc.properties
@@ -0,0 +1,209 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 (irc.usernameHint):
+# This is displayed inside the accountUsernameInfoWithDescription
+# string defined in imAccounts.properties when the user is
+# configuring an IRC account.
+irc.usernameHint=à¸à¸·à¹à¸à¹à¸¥à¹à¸
+
+# LOCALIZATION NOTE (connection.error.*):
+# These will show in the account manager if the account is
+# disconnected because of an error.
+connection.error.lost=à¸à¸²à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹
+connection.error.timeOut=à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸«à¸¡à¸à¹à¸§à¸¥à¸²
+connection.error.invalidUsername=%S à¹à¸¡à¹à¹à¸à¹à¸à¸·à¹à¸à¸à¸¹à¹à¹à¸à¹à¸à¸µà¹à¸à¸à¸¸à¸à¸²à¸
+connection.error.invalidPassword=รหัสà¸à¹à¸²à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+connection.error.passwordRequired=à¸à¹à¸à¸à¸à¸²à¸£à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸
+
+# LOCALIZATION NOTE (joinChat.*):
+# These show up on the join chat menu. An underscore is for the access key.
+joinChat.channel=_à¸à¹à¸à¸
+joinChat.password=_รหัสà¸à¹à¸²à¸
+
+# LOCALIZATION NOTE (options.*):
+# These are the protocol specific options shown in the account manager and
+# account wizard windows.
+options.server=à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹
+options.port=à¸à¸à¸£à¹à¸
+options.ssl=à¹à¸à¹ SSL
+options.encoding=à¸à¸¸à¸à¸à¸±à¸à¸à¸£à¸°
+options.quitMessage=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸à¸
+options.partMessage=à¸à¹à¸à¸à¸§à¸²à¸¡à¸¥à¸²
+options.showServerTab=à¹à¸ªà¸à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸²à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹
+options.alternateNicks=à¸à¸·à¹à¸à¹à¸¥à¹à¸à¸à¸·à¹à¸
+
+# LOCALIZATION NOTE (ctcp.version):
+# %1$S is the nickname of the user whose version was requested.
+# %2$S is the version response from the client.
+ctcp.version=%1$S à¸à¸³à¸¥à¸±à¸à¹à¸à¹ "%2$S"
+# LOCALIZATION NOTE (ctcp.time):
+# %1$S is the nickname of the user whose time was requested.
+# %2$S is the time response.
+ctcp.time=à¹à¸§à¸¥à¸²à¸ªà¸³à¸«à¸£à¸±à¸ %1$S à¸à¸·à¸ %2$S
+
+# LOCALZIATION NOTE (command.*):
+# These are the help messages for each command, the %S is the command name
+# Each command first gives the parameter it accepts and then a description of
+# the command.
+command.action=%S <à¸à¸²à¸£à¸à¸£à¸°à¸à¸³à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£>: à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸²à¸£à¸à¸£à¸°à¸à¸³
+command.ban=%S <nick!user@host>: หà¹à¸²à¸¡à¸à¸¹à¹à¹à¸à¹à¸à¸µà¹à¸à¸£à¸à¸à¸±à¸à¸£à¸¹à¸à¹à¸à¸à¸à¸µà¹à¸à¸³à¸«à¸à¸
+command.ctcp=%S <nick> <msg>: สà¹à¸à¸à¹à¸à¸à¸§à¸²à¸¡ CTCP à¹à¸à¸¢à¸±à¸à¸à¸·à¹à¸à¹à¸¥à¹à¸
+command.chanserv=%S <command>: สà¹à¸à¸à¸³à¸ªà¸±à¹à¸à¹à¸à¸¢à¸±à¸ ChanServ
+command.deop=%S <nick1>[,<nick2>]*: à¹à¸à¸²à¸ªà¸à¸²à¸à¸°à¸à¸¹à¹à¸à¸§à¸à¸à¸¸à¸¡à¸à¹à¸à¸à¸à¸à¸à¸à¸²à¸à¸à¸à¹à¸à¸à¸à¸«à¸à¸¶à¹à¸ à¸à¸¸à¸à¸à¹à¸à¸à¹à¸à¹à¸à¸à¸¹à¹à¸à¸§à¸à¸à¸¸à¸¡à¸à¹à¸à¸à¹à¸à¸·à¹à¸à¸à¸³à¸ªà¸´à¹à¸à¸à¸µà¹
+command.devoice=%S <nick1>[,<nick2>]*: à¹à¸à¸²à¸ªà¸à¸²à¸à¸°à¸à¸²à¸£à¸à¸¹à¸à¸à¹à¸à¸à¸à¸à¸à¸à¸²à¸à¸à¸à¹à¸à¸à¸à¸«à¸à¸¶à¹à¸ à¹à¸à¸·à¹à¸à¸à¹à¸à¸à¸à¸±à¸à¹à¸¡à¹à¹à¸«à¹à¸à¸¹à¸à¸«à¸²à¸à¸à¹à¸à¸à¸à¸±à¸à¸à¸¥à¹à¸²à¸§à¸¡à¸µà¸à¸²à¸£à¸à¸§à¸à¸à¸¸à¸¡ (+m) à¸à¸¸à¸à¸à¹à¸à¸à¹à¸à¹à¸à¸à¸¹à¹à¸à¸§à¸à¸à¸¸à¸¡à¸à¹à¸à¸à¹à¸à¸·à¹à¸à¸à¸³à¸ªà¸´à¹à¸à¸à¸µà¹
+command.invite2=%S <nick>[ <nick>]* [<channel>]: à¹à¸à¸´à¸à¸à¸·à¸à¹à¸¥à¹à¸à¸à¸¢à¹à¸²à¸à¸à¹à¸à¸¢à¸«à¸à¸¶à¹à¸à¸à¸·à¹à¸à¹à¸«à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸à¸¸à¸à¹à¸à¸à¹à¸à¸à¸à¸±à¸à¸à¸¸à¸à¸±à¸ หรืà¸à¹à¸«à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸à¹à¸à¸à¸à¸µà¹à¸£à¸°à¸à¸¸
+command.join=%S <room1>[ <key1>][,<room2>[ <key2>]]*: à¸à¹à¸à¸à¸à¹à¸à¸à¸à¸¢à¹à¸²à¸à¸à¹à¸à¸¢à¸«à¸à¸¶à¹à¸à¸à¹à¸à¸ à¹à¸à¸¢à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸°à¸à¸¸à¸à¸µà¸¢à¹à¸à¸à¸à¸à¹à¸à¸à¹à¸à¹à¹à¸à¹à¸à¹à¸¥à¸°à¸à¸£à¸±à¹à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£
+command.kick=%S <nick> [<message>]: à¹à¸à¸²à¹à¸à¸£à¸à¸²à¸à¸à¸à¸à¸à¸à¸à¸²à¸à¸à¹à¸à¸ à¹à¸à¸¢à¸à¸¸à¸à¸à¸°à¸à¹à¸à¸à¹à¸à¹à¸à¸à¸¹à¹à¸à¸§à¸à¸à¸¸à¸¡à¸à¹à¸à¸à¸à¸¶à¸à¸à¸°à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸µà¹à¹à¸à¹
+command.list=%S: à¹à¸ªà¸à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸«à¹à¸à¸à¸ªà¸à¸à¸à¸²à¸à¸à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢ à¹à¸à¸£à¸à¸£à¸°à¸§à¸±à¸à¸à¹à¸§à¸¢à¸§à¹à¸²à¸à¸²à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸²à¸à¹à¸¡à¹à¹à¸«à¹à¸à¸¸à¸à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸«à¸²à¸à¸à¸¸à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸µà¹
+command.memoserv=%S <command>: สà¹à¸à¸à¸³à¸ªà¸±à¹à¸à¹à¸à¸¢à¸±à¸ MemoServ
+command.modeUser2=%S <nick> [(+|-)<mode>]: รัภà¸à¸±à¹à¸à¸à¹à¸² หรืà¸à¹à¸¥à¸´à¸à¸à¸±à¹à¸à¸à¹à¸²à¹à¸«à¸¡à¸à¸à¸à¸à¸à¸¹à¹à¹à¸à¹
+command.modeChannel2=%S [<channel>] [(+|-)<new mode> [<parameter>][,<parameter>]*]: รัภà¸à¸±à¹à¸à¸à¹à¸² หรืà¸à¹à¸¥à¸´à¸à¸à¸±à¹à¸à¸à¹à¸²à¹à¸«à¸¡à¸à¸à¹à¸à¸
+command.msg=%S <nick> <message>: สà¹à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸¶à¸à¸à¸¹à¹à¹à¸à¹ (à¹à¸¡à¹à¸ªà¹à¸à¸à¸¶à¸à¸à¹à¸à¸à¹à¸à¸¢à¸à¸£à¸)
+command.nick=%S <new nickname>: à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸·à¹à¸à¹à¸¥à¹à¸à¸à¸à¸à¸à¸¸à¸
+command.nickserv=%S <command>: สà¹à¸à¸à¸³à¸ªà¸±à¹à¸à¹à¸à¸¢à¸±à¸ NickServ
+command.notice=%S <target> <message>: สà¹à¸à¸à¸£à¸°à¸à¸²à¸¨à¹à¸à¸¢à¸±à¸à¸à¸¹à¹à¹à¸à¹à¸«à¸£à¸·à¸à¸à¹à¸à¸
+command.op=%S <nick1>[,<nick2>]*: มà¸à¸à¸ªà¸à¸²à¸à¸°à¸à¸¹à¹à¸à¸§à¸à¸à¸¸à¸¡à¸à¹à¸à¸à¹à¸«à¹à¹à¸à¹à¸à¸à¹à¸à¸à¸à¸«à¸à¸¶à¹à¸ à¸à¸¸à¸à¸à¹à¸à¸à¹à¸à¹à¸à¸à¸¹à¹à¸à¸§à¸à¸à¸¸à¸¡à¸à¹à¸à¸à¹à¸à¸·à¹à¸à¸à¸³à¸ªà¸´à¹à¸à¸à¸µà¹
+command.operserv=%S <command>: สà¹à¸à¸à¸³à¸ªà¸±à¹à¸à¹à¸à¸¢à¸±à¸ OperServ
+command.part=%S [message]: à¸à¸à¸à¸à¸²à¸à¸à¹à¸à¸à¸à¸±à¸à¸à¸¸à¸à¸±à¸à¸à¸£à¹à¸à¸¡à¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+command.ping=%S [<nick>]: à¸à¸²à¸¡à¹à¸§à¸¥à¸²à¸à¸µà¹à¸¥à¹à¸²à¸à¹à¸²à¸à¸à¸à¸à¸¹à¹à¹à¸à¹ (หรืà¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸«à¸²à¸à¹à¸¡à¹à¹à¸à¹à¸£à¸°à¸à¸¸à¸à¸¹à¹à¹à¸à¹)
+command.quit=%S <message>: à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸²à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸£à¹à¸à¸¡à¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+command.quote=%S <command>: สà¹à¸à¸à¸³à¸ªà¸±à¹à¸à¸à¸´à¸à¹à¸à¸¢à¸±à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹
+command.time=%S: à¹à¸ªà¸à¸à¸à¸¥à¹à¸§à¸¥à¸²à¸à¹à¸à¸à¸à¸´à¹à¸à¸à¸±à¸à¸à¸¸à¸à¸±à¸à¸à¸µà¹à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹ IRC
+command.topic=%S [<new topic>]: à¸à¸±à¹à¸à¸à¹à¸²à¸«à¸±à¸§à¸à¹à¸à¸à¸à¸à¸à¹à¸à¸à¸à¸µà¹
+command.umode=%S (+|-)<new mode>: à¸à¸±à¹à¸à¸à¹à¸²à¸«à¸£à¸·à¸à¹à¸¥à¸´à¸à¸à¸±à¹à¸à¸à¹à¸²à¹à¸«à¸¡à¸à¸à¸¹à¹à¹à¸à¹
+command.version=%S <nick>: à¸à¸à¸£à¸¸à¹à¸à¸à¸à¸à¹à¸à¸¥à¹à¸à¸à¸à¹à¸à¸à¸à¸à¸¹à¹à¹à¸à¹
+command.voice=%S <nick1>[,<nick2>]*: มà¸à¸à¸ªà¸à¸²à¸à¸°à¸à¸²à¸£à¸à¸¹à¸à¸à¹à¸à¸à¹à¸«à¹à¹à¸à¹à¸à¸à¹à¸à¸à¸à¸«à¸à¸¶à¹à¸ à¸à¸¸à¸à¸à¹à¸à¸à¹à¸à¹à¸à¸à¸¹à¹à¸à¸§à¸à¸à¸¸à¸¡à¸à¹à¸à¸à¹à¸à¸·à¹à¸à¸à¸³à¸ªà¸´à¹à¸à¸à¸µà¹
+command.whois2=%S [<nick>]: รัà¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸¹à¹à¹à¸à¹
+
+# LOCALIZATION NOTE (message.*):
+# These are shown as system messages in the conversation.
+# %1$S is the nick and %2$S is the nick and host of the user who joined.
+message.join=%1$S [%2$S] à¹à¸à¹à¸²à¸«à¹à¸à¸à¹à¸¥à¹à¸§
+message.rejoined=à¸à¸¸à¸à¹à¸à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸«à¹à¸à¸à¸à¸µà¹à¸à¸µà¸à¸à¸£à¸±à¹à¸à¹à¸¥à¹à¸§
+# %1$S is the nick of who kicked you.
+# %2$S is message.kicked.reason, if a kick message was given.
+message.kicked.you=à¸à¸¸à¸à¸à¸¹à¸à¹à¸à¸°à¸à¸à¸à¹à¸à¸¢ %1$S %2$S
+# %1$S is the nick that is kicked, %2$S the nick of the person who kicked
+# %1$S. %3$S is message.kicked.reason, if a kick message was given.
+message.kicked=%1$S à¹à¸à¹à¸à¸¹à¸ %2$S %3$S à¹à¸à¸°à¸à¸à¸
+# %S is the kick message
+message.kicked.reason=: %S
+# %1$S is the new mode, %2$S is the nickname of the user whose mode
+# was changed, and %3$S is who set the mode.
+message.usermode=à¹à¸«à¸¡à¸ %1$S สำหรัภ%2$S à¸à¸±à¹à¸à¹à¸à¸¢ %3$S
+# %1$S is the new channel mode and %2$S is who set the mode.
+message.channelmode=à¹à¸«à¸¡à¸à¸à¹à¸à¸ %1$S à¸à¸±à¹à¸à¹à¸à¸¢ %2$S
+# %S is the user's mode.
+message.yourmode=à¹à¸«à¸¡à¸à¸à¸à¸à¸à¸¸à¸à¸à¸·à¸ %S
+# Could not change the nickname. %S is the user's nick.
+message.nick.fail=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¸·à¹à¸à¹à¸¥à¹à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£ à¸à¸·à¹à¸à¹à¸¥à¹à¸à¸à¸à¸à¸à¸¸à¸à¸¢à¸±à¸à¸à¸à¹à¸à¹à¸ %S
+# The parameter is the message.parted.reason, if a part message is given.
+message.parted.you=à¸à¸¸à¸à¹à¸à¹à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸ (ลา %1$S)
+# %1$S is the user's nick, %2$S is message.parted.reason, if a part message is given.
+message.parted=%1$S à¹à¸à¹à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸à¹à¸¥à¹à¸§ (ลา %2$S)
+# %S is the part message supplied by the user.
+message.parted.reason=: %S
+# %1$S is the user's nick, %2$S is message.quit2 if a quit message is given.
+message.quit=%1$S à¹à¸à¹à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸à¹à¸¥à¹à¸§ (à¸à¸à¸ %2$S)
+# The parameter is the quit message given by the user.
+message.quit2=: %S
+# %1$S is the nickname of the user that invited us, %2$S is the conversation
+# name.
+message.inviteReceived=%1$S à¹à¸à¹à¹à¸à¸´à¸à¸à¸¸à¸à¹à¸à¸¢à¸±à¸ %2$S
+# %1$S is the nickname of the invited user, %2$S is the conversation name
+# they were invited to.
+message.invited=%1$S à¹à¸à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡ %2$S à¹à¸¥à¹à¸§
+# %1$S is the nickname of the invited user, %2$S is the conversation name
+# they were invited to but are already in
+message.alreadyInChannel=%1$S à¸à¸¢à¸¹à¹à¹à¸ %2$S à¸à¸¢à¸¹à¹à¹à¸¥à¹à¸§
+# %S is the nickname of the user who was summoned.
+message.summoned=%S à¸à¸¹à¸à¸à¸§à¸à¹à¸¥à¹à¸§
+# %S is the nickname of the user whose WHOIS information follows this message.
+message.whois=à¸à¹à¸à¸¡à¸¹à¸¥ WHOIS สำหรัภ%S:
+# %1$S is the nickname of the (offline) user whose WHOWAS information follows this message.
+message.whowas=%1$S à¸à¸à¸à¹à¸¥à¸à¹à¸à¸¢à¸¹à¹ à¸à¹à¸à¸¡à¸¹à¸¥ WHOWAS สำหรัภ%1$S:
+# %1$S is the entry description (from tooltip.*), %2$S is its value.
+message.whoisEntry=\ua0\ua0\ua0\ua0%1$S: %2$S
+# %S is the nickname that is not known to the server.
+message.unknownNick=%S à¹à¸à¹à¸à¸à¸·à¹à¸à¹à¸¥à¹à¸à¸à¸µà¹à¹à¸¡à¹à¸£à¸¹à¹à¸à¸±à¸
+# %1$S is the nickname of the user who changed the mode and %2$S is the new
+# channel key (password).
+message.channelKeyAdded=%1$S à¹à¸à¹à¹à¸à¸¥à¸µà¹à¸¢à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¹à¸à¸à¹à¸à¹à¸ %2$S
+message.channelKeyRemoved=%S à¹à¸à¹à¹à¸à¸²à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¹à¸à¸à¸à¸à¸
+# This will be followed by a list of ban masks.
+message.banMasks=à¸à¸¹à¹à¹à¸à¹à¸à¸µà¹à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸²à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹à¸à¸¹à¸à¸«à¹à¸²à¸¡à¸à¸²à¸ %S:
+message.noBanMasks=à¹à¸¡à¹à¸¡à¸µà¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¸µà¹à¸à¸¹à¸à¸«à¹à¸²à¸¡à¸ªà¸³à¸«à¸£à¸±à¸ %S
+message.banMaskAdded=à¸à¸¹à¹à¹à¸à¹à¸à¸µà¹à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸²à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¸µà¹à¸à¸£à¸à¸à¸±à¸ %1$S à¹à¸à¹à¸à¸¹à¸à¸«à¹à¸²à¸¡à¹à¸à¸¢ %2$S
+message.banMaskRemoved=à¸à¸¹à¹à¹à¸à¹à¸à¸µà¹à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸²à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¸à¸µà¹à¸à¸£à¸à¸à¸±à¸ %1$S à¹à¸¡à¹à¹à¸à¹à¸à¸¹à¸à¸«à¹à¸²à¸¡à¹à¸à¸¢ %2$S à¸à¸µà¸à¸à¹à¸à¹à¸
+# LOCALIZATION NOTE (message.ping): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# %1$S is the nickname of the user or the server that was pinged.
+# #2 is the delay (in milliseconds).
+message.ping=à¸à¸²à¸£à¸à¸à¸à¸à¸¥à¸±à¸ Ping à¸à¸²à¸ %1$S à¹à¸ #2 มิลลิวิà¸à¸²à¸à¸µ
+
+
+# LOCALIZATION NOTE (error.*):
+# These are shown as error messages in the conversation or server tab.
+# %S is the channel name.
+error.noChannel=à¹à¸¡à¹à¸¡à¸µà¸à¹à¸à¸: %S
+error.tooManyChannels=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸²à¸£à¹à¸§à¸¡ %S; à¸à¸¸à¸à¹à¸à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸à¹à¸à¸à¸¡à¸²à¸à¹à¸à¸´à¸à¹à¸
+# %1$S is your new nick, %2$S is the kill message from the server.
+error.nickCollision=à¸à¸·à¹à¸à¹à¸¥à¹à¸à¸à¸¹à¸à¹à¸à¹à¹à¸¥à¹à¸§ à¸à¸³à¸¥à¸±à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸·à¹à¸à¹à¸¥à¹à¸à¹à¸à¹à¸ %1$S [%2$S]
+error.erroneousNickname=%S à¹à¸¡à¹à¹à¸à¹à¸à¸·à¹à¸à¹à¸¥à¹à¸à¸à¸µà¹à¸à¸à¸¸à¸à¸²à¸
+error.banned=à¸à¸¸à¸à¸à¸¹à¸à¸«à¹à¸²à¸¡à¸à¸²à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸µà¹
+error.bannedSoon=à¸à¸¸à¸à¸à¸°à¸à¸¹à¸à¸«à¹à¸²à¸¡à¸à¸²à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸µà¹à¹à¸à¹à¸£à¹à¸§ ๠à¸à¸µà¹
+error.mode.wrongUser=à¸à¸¸à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸«à¸¡à¸à¹à¸«à¹à¸à¸¹à¹à¹à¸à¹à¸à¸·à¹à¸
+# %S is the nickname or channel name that isn't available.
+error.noSuchNick=%S à¹à¸¡à¹à¸à¸à¸à¹à¸¥à¸à¹
+error.wasNoSuchNick=à¹à¸¡à¹à¸¡à¸µà¸à¸·à¹à¸à¹à¸¥à¹à¸: %S
+error.noSuchChannel=à¹à¸¡à¹à¸¡à¸µà¸à¹à¸à¸: %S
+error.unavailable=%S à¹à¸¡à¹à¸à¸£à¹à¸à¸¡à¹à¸à¹à¸à¸²à¸à¹à¸à¸à¸à¸°à¸à¸µà¹
+# %S is the channel name.
+error.channelBanned=à¸à¸¸à¸à¹à¸à¹à¸à¸¹à¸à¸«à¹à¸²à¸¡à¸à¸²à¸ %S
+error.cannotSendToChannel=à¸à¸¸à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¹à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸à¸¢à¸±à¸ %S
+error.channelFull=à¸à¹à¸à¸ %S à¹à¸à¹à¸¡à¹à¸¥à¹à¸§
+error.inviteOnly=à¸à¸¸à¸à¸à¹à¸à¸à¸à¸¹à¸à¹à¸à¸´à¸à¹à¸à¸·à¹à¸à¹à¸à¹à¸²à¸£à¹à¸§à¸¡ %S
+error.nonUniqueTarget=%S à¹à¸¡à¹à¹à¸à¹ user@host หรืà¸à¸à¸·à¹à¸à¹à¸à¸à¸ªà¸±à¹à¸à¸à¸µà¹à¹à¸¡à¹à¸à¹à¸³à¸à¸±à¸à¸«à¸£à¸·à¸à¸à¸¸à¸à¹à¸à¹à¸à¸¢à¸²à¸¢à¸²à¸¡à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸à¹à¸à¸à¸¡à¸²à¸à¹à¸à¸´à¸à¹à¸à¸à¸£à¹à¸à¸¡à¸à¸±à¸à¹à¸à¸à¸£à¸±à¹à¸à¹à¸à¸µà¸¢à¸§
+error.notChannelOp=à¸à¸¸à¸à¹à¸¡à¹à¹à¸à¹à¹à¸à¹à¸à¸à¸¹à¹à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¹à¸à¸ %S
+error.notChannelOwner=à¸à¸¸à¸à¹à¸¡à¹à¹à¸à¹à¹à¸à¹à¸²à¸à¸à¸à¸à¹à¸à¸ %S
+error.wrongKey=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸²à¸£à¹à¸§à¸¡ %S รหัสà¸à¹à¸²à¸à¸à¹à¸à¸à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+error.sendMessageFailed=à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸à¸°à¸ªà¹à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸¥à¹à¸²à¸ªà¸¸à¸à¸à¸à¸à¸à¸¸à¸ à¹à¸à¸£à¸à¸¥à¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸à¹à¸¡à¸·à¹à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸à¹à¸à¸¹à¸à¸ªà¸£à¹à¸²à¸à¸à¸¶à¹à¸à¹à¸«à¸¡à¹à¹à¸¥à¹à¸§
+# %1$S is the channel the user tried to join, %2$S is the channel
+# he was forwarded to.
+error.channelForward=à¸à¸¸à¸à¸à¸²à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸²à¸£à¹à¸§à¸¡ %1$S à¹à¸à¹ à¹à¸¥à¸°à¸à¸°à¸à¸¹à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸ªà¹à¸à¸à¸²à¸à¹à¸à¸¢à¸±à¸ %2$S à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+# %S is the mode that the user tried to set but was not recognized
+# by the server as a valid mode.
+error.unknownMode=''%S' à¹à¸¡à¹à¹à¸à¹à¹à¸«à¸¡à¸à¸à¸¹à¹à¹à¸à¹à¸à¸µà¹à¸à¸¹à¸à¸à¹à¸à¸à¸à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸µà¹
+
+# LOCALIZATION NOTE (tooltip.*):
+# These are the descriptions given in a tooltip with information received
+# from a whois response.
+# The human readable ("realname") description of the user.
+tooltip.realname=à¸à¸·à¹à¸
+tooltip.server=à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸à¸¢à¸±à¸
+# The username and hostname that the user connects from (usually based on the
+# reverse DNS of the user's IP, but often mangled by the server to
+# protect users).
+tooltip.connectedFrom=à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸²à¸
+tooltip.registered=ลà¸à¸à¸°à¹à¸à¸µà¸¢à¸
+tooltip.registeredAs=ลà¸à¸à¸°à¹à¸à¸µà¸¢à¸à¹à¸à¸à¸·à¹à¸
+tooltip.secure=à¸à¸³à¸¥à¸±à¸à¹à¸à¹à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸µà¹à¸à¸¥à¸à¸à¸ ัย
+# The away message of the user
+tooltip.away=à¹à¸¡à¹à¸à¸¢à¸¹à¹
+tooltip.ircOp=à¸à¸¹à¹à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£ IRC
+tooltip.bot=à¸à¸à¸
+tooltip.lastActivity=à¸à¸´à¸à¸à¸£à¸£à¸¡à¸¥à¹à¸²à¸ªà¸¸à¸
+# %S is the timespan elapsed since the last activity.
+tooltip.timespan=%S à¸à¸µà¹à¹à¸¥à¹à¸§
+tooltip.channels=à¹à¸à¹à¸à¸²à¸à¹à¸à¸à¸à¸°à¸à¸µà¹
+
+# %1$S is the server name, %2$S is some generic server information (usually a
+# location or the date the user was last seen).
+tooltip.serverValue=%1$S (%2$S)
+
+# LOCALIZATION NOTE (yes, no):
+# These are used to turn true/false values into a yes/no response.
+yes=à¹à¸à¹
+no=à¹à¸¡à¹
diff --git a/chat/logger.properties b/chat/logger.properties
new file mode 100644
index 00000000000..6ac973d5360
--- /dev/null
+++ b/chat/logger.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 (badLogfile):
+# %S is the filename of the log file.
+badLogfile=à¹à¸à¸¥à¹à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸±à¸à¸à¸¶à¸à¸§à¹à¸²à¸à¹à¸à¸¥à¹à¸²à¸«à¸£à¸·à¸à¹à¸ªà¸µà¸¢à¸«à¸²à¸¢: %S
diff --git a/chat/matrix.properties b/chat/matrix.properties
new file mode 100644
index 00000000000..7b9bf83ee7b
--- /dev/null
+++ b/chat/matrix.properties
@@ -0,0 +1,128 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 (options.*):
+# These are the protocol specific options shown in the account manager and
+# account wizard windows.
+options.connectServer=à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹
+options.connectPort=à¸à¸à¸£à¹à¸
+
+options.saveToken=à¸à¸±à¸à¹à¸à¹à¸à¹à¸à¹à¸à¹à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸
+
+# LOCALIZATION NOTE (authPrompt):
+# This is the prompt in the browser window that pops up to authorize us
+# to use a Matrix account. It is shown in the title bar of the authorization
+# window.
+
+# LOCALIZATION NOTE (connection.*):
+# These will be displayed in the account manager in order to show the progress
+# of the connection.
+# (These will be displayed in account.connection.progress from
+# accounts.properties, which adds ⦠at the end, so do not include
+# periods at the end of these messages.)
+
+# LOCALIZATION NOTE (connection.error.*):
+# These will show in the account manager if an error occurs during the
+# connection attempt.
+
+# LOCALIZATION NOTE (chatRoomField.*):
+# These are the name of fields displayed in the 'Join Chat' dialog
+# for Matrix accounts.
+# The _ character won't be displayed; it indicates the next
+# character of the string should be used as the access key for this
+# field.
+chatRoomField.room=_หà¹à¸à¸
+
+# LOCALIZATION NOTE (tooltip.*):
+# These are the descriptions given in a tooltip with information received
+# from the "User" object.
+# The human readable name of the user.
+tooltip.displayName=à¸à¸·à¹à¸à¸à¸µà¹à¹à¸à¹à¹à¸ªà¸à¸à¸à¸¥
+# %S is the timespan elapsed since the last activity.
+tooltip.timespan=%S à¸à¸µà¹à¸à¹à¸²à¸à¸¡à¸²
+tooltip.lastActive=à¸à¸²à¸£à¸à¸£à¸°à¸à¸³à¸¥à¹à¸²à¸ªà¸¸à¸
+
+# LOCALIZATION NOTE (powerLevel.*):
+# These are the string representations of different standard power levels and strings.
+# %S are one of the power levels, Default/Moderator/Admin/Restricted/Custom.
+powerLevel.default=à¸à¹à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸
+powerLevel.moderator=à¸à¸¹à¹à¸à¸¹à¹à¸¥
+powerLevel.custom=à¸à¸³à¸«à¸à¸à¹à¸à¸
+# %1$S is the power level name
+# %2$S is the power level number
+
+# LOCALIZATION NOTE (detail.*):
+# These are the string representations of different matrix properties.
+# %S will typically be strings with the actual values.
+# Example placeholder: "Foo bar"
+# Example placeholder: "My first room"
+# Example placeholder: "5"
+# Example placeholder: "#thunderbird:mozilla.org"
+# %S are all admin users. Example: "@foo:example.com, @bar:example.com"
+# %S are all moderators. Example: "@lorem:mozilla.org, @ipsum:mozilla.org"
+# Example placeholder: "#thunderbird:matrix.org"
+# Example placeholder: "can_join"
+# This is a heading, followed by the powerLevel.* strings
+detail.power=ระà¸à¸±à¸à¸à¸¥à¸±à¸à¸à¸²à¸:
+
+# LOCALIZATION NOTE (command.*):
+# These are the help messages for each command, the %S is the command name
+# Each command first gives the parameter it accepts and then a description of
+# the command.
+
+# LOCALIZATION NOTE (message.*):
+# These are shown as system messages in the conversation.
+# %S is the reason string for the particular action.
+# Used within context of ban, kick and withdrew invite.
+# Gets message.reason appended, if a reason was specified.
+# %1$S is the name of the user who banned.
+# %2$S is the name of the user who got banned.
+# %1$S is the name of the user who accepted the invitation.
+# %2$S is the name of the user who sent the invitation.
+# %S is the name of the user who accepted an invitation.
+# %1$S is the name of the user who invited.
+# %2$S is the name of the user who got invited.
+# %1$S is the name of the user who changed their display name.
+# %2$S is the old display name.
+# %3$S is the new display name.
+# %1$S is the name of the user who set their display name.
+# %2$S is the newly set display name.
+# %1$S is the name of the user who removed their display name.
+# %2$S is the old display name which has been removed.
+# %S is the name of the user who has joined the room.
+# %S is the name of the user who has rejected the invitation.
+# %S is the name of the user who has left the room.
+# %1$S is the name of the user who unbanned.
+# %2$S is the name of the user who got unbanned.
+# Gets message.reason appended, if a reason was specified.
+# %1$S is the name of the user who kicked.
+# %2$S is the name of the user who got kicked.
+# Gets message.reason appended, if a reason was specified.
+# %1$S is the name of the user who withdrew invitation.
+# %2$S is the name of the user whose invitation has been withdrawn.
+# %S is the name of the user who has removed the room name.
+# %1$S is the name of the user who changed the room name.
+# %2$S is the new room name.
+# %1$S is the name of the user who changed the power level.
+# %2$S is a list of "message.powerLevel.fromTo" strings representing power level changes separated by commas
+# power level changes, separated by commas if there are multiple changes.
+# %1$S is the name of the target user whose power level has been changed.
+# %2$S is the old power level.
+# %2$S is the new power level.
+# %S is the name of the user who has allowed guests to join the room.
+# %S is the name of the user who has prevented guests to join the room.
+# %S is the name of the user who has made future room history visible to anyone.
+# %S is the name of the user who has made future room history visible to all room members.
+# %S is the name of the user who has made future room history visible to all room members, from the point they are invited.
+# %S is the name of the user who has made future room history visible to all room members, from the point they joined.
+# %1$S is the name of the user who changed the address.
+# %2$S is the old address.
+# %3$S is the new address.
+# %1$S is the name of the user who added the address.
+# %2$S is a comma delimited list of added addresses.
+# %1$S is the name of the user who removed the address.
+# %2$S is a comma delimited list of removed addresses.
+# %1$S is the name of the user that edited the alias addresses.
+# %2$S is a comma delimited list of removed addresses.
+# %3$S is a comma delmited list of added addresses.
diff --git a/chat/status.properties b/chat/status.properties
new file mode 100644
index 00000000000..07d3696cce7
--- /dev/null
+++ b/chat/status.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/.
+
+availableStatusType=à¸à¸£à¹à¸à¸¡à¹à¸à¹à¸à¸²à¸
+awayStatusType=à¹à¸¡à¹à¸à¸¢à¸¹à¹
+unavailableStatusType=à¹à¸¡à¹à¸à¸£à¹à¸à¸¡à¹à¸à¹à¸à¸²à¸
+offlineStatusType=à¸à¸à¸à¹à¸¥à¸à¹
+invisibleStatusType=มà¸à¸à¹à¸¡à¹à¹à¸«à¹à¸
+idleStatusType=à¹à¸¡à¹à¹à¸à¹à¹à¸à¹à¸à¸²à¸
+mobileStatusType=มืà¸à¸à¸·à¸
+# LOCALIZATION NOTE (unknownStatusType):
+# the status of a buddy is unknown when it's in the list of a disconnected account
+unknownStatusType=à¹à¸¡à¹à¸à¸£à¸²à¸
+
+# LOCALIZATION NOTE (statusWithStatusMessage):
+# Used to display the status of a buddy together with its status message.
+# %1$S is the status type, %2$S is the status message text.
+statusWithStatusMessage=%1$S - %2$S
+
+# LOCALIZATION NOTE (messenger.status.defaultIdleAwayMessage):
+# This will be the away message put automatically when the user is idle.
+messenger.status.defaultIdleAwayMessage=à¸à¸à¸°à¸à¸µà¹à¸à¸±à¸à¹à¸¡à¹à¹à¸à¹à¸à¸¢à¸¹à¹à¸à¸µà¹à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹
diff --git a/chat/twitter.properties b/chat/twitter.properties
new file mode 100644
index 00000000000..7f8bc7fff6e
--- /dev/null
+++ b/chat/twitter.properties
@@ -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/.
+
+# LOCALIZATION NOTE (twitter.protocolName)
+# This name is used whenever the name of the protocol is shown.
+twitter.protocolName=Twitter
+
+# LOCALIZATION NOTE (error.*):
+# These are errors that will be shown to the user in conversation.
+error.tooLong=สà¸à¸²à¸à¸°à¸¡à¸µà¸à¸§à¸²à¸¡à¸¢à¸²à¸§à¹à¸à¸´à¸ 140 à¸à¸±à¸à¸à¸£à¸°
+# LOCALIZATION NOTE (error.general, error.retweet, error.delete):
+# %1$S will be either the error string returned by the twitter server,
+# in English, inside parenthesis, or the empty string if we have no specific
+# message for the error.
+# %2$S is the message that caused the error.
+error.general=à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸ %1$S à¸à¸à¸°à¸ªà¹à¸: %2$S
+error.retweet=à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸ %1$S à¸à¸à¸°à¸£à¸µà¸à¸§à¸µà¸: %2$S
+error.delete=à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸ %1$S à¸à¸à¸°à¸¥à¸: %2$S
+error.like=à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸ %1$S à¸à¸à¸°à¸à¸¹à¸à¹à¸: %2$S
+error.unlike=à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸ %1$S à¸à¸à¸°à¹à¸¥à¸´à¸à¸à¸¹à¸à¹à¸: %2$S
+# LOCALIZATION NOTE (error.descriptionTooLong)
+# %S is the truncated string that was sent to the server.
+error.descriptionTooLong=à¸à¸³à¸à¸à¸´à¸à¸²à¸¢à¸¢à¸²à¸§à¹à¸à¸´à¸à¸à¸§à¸²à¸¡à¸¢à¸²à¸§à¸ªà¸¹à¸à¸ªà¸¸à¸ (à¸à¸±à¸à¸à¸£à¸° 160 à¸à¸±à¸§) à¸à¸¶à¹à¸à¸à¸¹à¸à¸à¸±à¸à¸à¸à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¹à¸à¹à¸: %S
+
+# LOCALIZATION NOTE (timeline):
+# This is the title of the conversation tab, %S will be replaced by
+# @.
+timeline=à¹à¸à¸¡à¹à¹à¸¥à¸à¹à¸à¸à¸ %S
+
+# LOCALIZATION NOTE (action.*):
+# This will be an action in the context menu of displayed tweets.
+action.copyLink=à¸à¸±à¸à¸¥à¸à¸à¸¥à¸´à¸à¸à¹à¹à¸à¸¢à¸±à¸à¸à¸§à¸µà¸
+action.retweet=รีà¸à¸§à¸µà¸
+action.reply=à¸à¸à¸à¸à¸¥à¸±à¸
+action.delete=ลà¸
+# LOCALIZATION NOTE (action.follow, action.stopFollowing):
+# %S will be replaced by the screen name of a twitter user.
+action.follow=à¸à¸´à¸à¸à¸²à¸¡ %S
+action.stopFollowing=หยุà¸à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡ %S
+action.like=à¸à¸¹à¸à¹à¸
+action.unlike=à¹à¸à¸²à¸à¸²à¸£à¸à¸¹à¸à¹à¸à¸à¸à¸
+
+# LOCALIZATION NOTE (event.follow, event.unfollow, event.followed):
+# This will be displayed in system messages inside the timeline conversation.
+# %S will be replaced by the screen name of a twitter user.
+event.follow=à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¸à¸´à¸à¸à¸²à¸¡ %S
+event.unfollow=à¸à¸¸à¸à¹à¸¡à¹à¹à¸à¹à¸à¸³à¸¥à¸±à¸à¸à¸´à¸à¸à¸²à¸¡ %S à¸à¸µà¸à¸à¹à¸à¹à¸
+event.followed=%S à¸à¸³à¸¥à¸±à¸à¸à¸´à¸à¸à¸²à¸¡à¸à¸¸à¸
+# LOCALIZATION NOTE (event.deleted):
+# %S will be replaced by the text of the deleted tweet.
+event.deleted=à¸à¸¸à¸à¹à¸à¹à¸¥à¸à¸à¸§à¸µà¸à¸à¸µà¹: "%S"
+
+# LOCALIZATION NOTE (replyingToStatusText):
+# This will be visible in the status bar of the conversation window
+# while the user is typing a reply to a tweet.
+# %S will be replaced by the text of the tweet the user is replying to.
+replyingToStatusText=à¸à¸³à¸¥à¸±à¸à¸à¸à¸à¸à¸¥à¸±à¸à¸à¸¶à¸: %S
+
+# LOCALIZATION NOTE (connection.*):
+# These will be displayed in the account manager in order to show the progress
+# of the connection.
+# (These will be displayed in account.connection.progress from
+# accounts.properties, which adds ⦠at the end, so do not include
+# periods at the end of these messages.)
+connection.initAuth=à¸à¸³à¸¥à¸±à¸à¹à¸£à¸´à¹à¸¡à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸
+connection.requestAuth=à¸à¸³à¸¥à¸±à¸à¸£à¸à¸à¸²à¸£à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸à¸à¸à¸à¸à¸¸à¸
+connection.requestAccess=à¸à¸³à¸¥à¸±à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸à¸à¸±à¹à¸à¸ªà¸¸à¸à¸à¹à¸²à¸¢
+connection.requestTimelines=à¸à¸³à¸¥à¸±à¸à¸à¸à¹à¸à¸¡à¹à¹à¸¥à¸à¹à¸à¸à¸à¸à¸¹à¹à¹à¸à¹
+# LOCALIZATION NOTE (connection.error.*):
+# These will show in the account manager if an error occurs during the
+# connection attempt.
+connection.error.userMismatch=à¸à¸·à¹à¸à¸à¸¹à¹à¹à¸à¹à¹à¸¡à¹à¸à¸£à¸à¸à¸±à¸
+connection.error.failedToken=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸±à¸à¹à¸à¹à¸à¹à¸à¸à¸³à¸à¸
+connection.error.authCancelled=à¸à¸¸à¸à¹à¸à¹à¸¢à¸à¹à¸¥à¸´à¸à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸
+connection.error.authFailed=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸±à¸à¸à¸²à¸£à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸
+connection.error.noNetwork=à¹à¸¡à¹à¸¡à¸µà¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢
+
+# LOCALIZATION NOTE (authPrompt):
+# This is the prompt in the browser window that pops up to authorize us
+# to use a Twitter account. It is shown in the title bar of the authorization
+# window.
+authPrompt=à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¹à¸à¹à¸à¸±à¸à¸à¸µ Twitter à¸à¸à¸à¸à¸¸à¸
+
+# LOCALIZATION NOTE (options.*):
+# These are the protocol specific options shown in the account manager and
+# account wizard windows.
+options.track=à¸à¸³à¸ªà¸³à¸à¸±à¸à¸à¸µà¹à¸à¸´à¸à¸à¸²à¸¡
+
+# LOCALIZATION NOTE (tooltip.*):
+# These are the Twitter information that will appear in the tooltip
+# for each participant on the home timeline.
+# LOCALIZATION NOTE (tooltip.created_at): the date the user joined.
+tooltip.created_at=à¸à¸¹à¹à¹à¸à¹à¸à¸±à¹à¸à¹à¸à¹
+tooltip.location=à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸
+tooltip.lang=ภาษา
+tooltip.time_zone=à¹à¸à¸à¹à¸§à¸¥à¸²
+tooltip.url=หà¸à¹à¸²à¹à¸£à¸
+# LOCALIZATION NOTE (tooltip.protected):
+# whether the user's tweets are publicly visible.
+tooltip.protected=à¸à¸à¸à¹à¸à¸à¸à¸§à¸µà¸
+# LOCALIZATION NOTE (tooltip.following):
+# whether you are subscribed to the user's tweets.
+tooltip.following=à¸à¸³à¸¥à¸±à¸à¸à¸´à¸à¸à¸²à¸¡à¹à¸à¸à¸à¸°à¸à¸µà¹
+tooltip.name=à¸à¸·à¹à¸
+tooltip.description=à¸à¸³à¸à¸à¸´à¸à¸²à¸¢
+# LOCALIZATION NOTE (tooltip.*_count):
+# Please see the right side of the official Twitter website UI.
+tooltip.friends_count=à¸à¸³à¸¥à¸±à¸à¸à¸´à¸à¸à¸²à¸¡
+tooltip.statuses_count=à¸à¸§à¸µà¸
+tooltip.followers_count=à¸à¸¹à¹à¸à¸´à¸à¸à¸²à¸¡
+tooltip.listed_count=รายà¸à¸²à¸£
+
+# LOCALIZATION NOTE (yes, no):
+# These are used to turn true/false values into a yes/no response.
+yes=à¹à¸à¹
+no=à¹à¸¡à¹
+
+command.follow=%S <username>[ <username>]*: à¹à¸£à¸´à¹à¸¡à¸à¸´à¸à¸à¸²à¸¡à¸à¸¹à¹à¹à¸à¹
+command.unfollow=%S <username>[ <username>]*: หยุà¸à¸à¸´à¸à¸à¸²à¸¡à¸à¸¹à¹à¹à¸à¹
+
+twitter.disabled=à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸ Twitter à¸à¸µà¸à¸à¹à¸à¹à¸à¹à¸à¸·à¹à¸à¸à¸à¸²à¸ Twitter à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¸£à¹à¸à¸à¸à¸¥à¸à¸²à¸£à¸ªà¸à¸£à¸µà¸¡à¹à¸¥à¹à¸§
diff --git a/chat/xmpp.properties b/chat/xmpp.properties
new file mode 100644
index 00000000000..19d966df0c5
--- /dev/null
+++ b/chat/xmpp.properties
@@ -0,0 +1,276 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 (connection.*)
+# These will be displayed in the account manager in order to show the progress
+# of the connection.
+# (These will be displayed in account.connection.progress from
+# accounts.properties, which adds ⦠at the end, so do not include
+# periods at the end of these messages.)
+connection.initializingStream=à¸à¸³à¸¥à¸±à¸à¹à¸à¸£à¸µà¸¢à¸¡à¹à¸à¹à¸à¸²à¸à¸ªà¸à¸£à¸µà¸¡
+connection.initializingEncryption=à¸à¸³à¸¥à¸±à¸à¹à¸à¸£à¸µà¸¢à¸¡à¹à¸à¹à¸à¸²à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¸«à¸±à¸ª
+connection.authenticating=à¸à¸³à¸¥à¸±à¸à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸
+connection.gettingResource=à¸à¸³à¸¥à¸±à¸à¸£à¸±à¸à¸à¸£à¸±à¸à¸¢à¸²à¸à¸£
+connection.downloadingRoster=à¸à¸³à¸¥à¸±à¸à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸£à¸²à¸¢à¸à¸·à¹à¸à¸à¸¹à¹à¸à¸´à¸à¸à¹à¸
+connection.srvLookup=à¸à¸³à¸¥à¸±à¸à¸à¹à¸à¸«à¸²à¹à¸£à¸à¸à¸à¸£à¹à¸ SRV
+
+# LOCALIZATION NOTE (connection.error.*)
+# These will show in the account manager if an error occurs during the
+# connection attempt.
+connection.error.invalidUsername=à¸à¸·à¹à¸à¸à¸¹à¹à¹à¸à¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸ (à¸à¸·à¹à¸à¸à¸¹à¹à¹à¸à¹à¸à¸à¸à¸à¸¸à¸à¸à¸§à¸£à¸¡à¸µà¸à¸±à¸à¸à¸£à¸° '@')
+connection.error.failedToCreateASocket=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¸£à¹à¸²à¸à¸à¹à¸à¸à¹à¸à¹à¸ (à¸à¸¸à¸à¸à¸à¸à¹à¸¥à¸à¹à¸à¸¢à¸¹à¹à¸«à¸£à¸·à¸à¹à¸à¸¥à¹à¸²?)
+connection.error.serverClosedConnection=à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¹à¸à¹à¸à¸´à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸
+connection.error.resetByPeer=à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸¹à¸à¸£à¸µà¹à¸à¹à¸à¹à¸à¸¢à¹à¸à¸µà¸¢à¸£à¹
+connection.error.timedOut=à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸«à¸¡à¸à¹à¸§à¸¥à¸²
+connection.error.receivedUnexpectedData=à¹à¸à¹à¸£à¸±à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¹à¸¡à¹à¸à¸²à¸à¹à¸§à¹
+connection.error.incorrectResponse=à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸à¸à¸à¸à¸¥à¸±à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+connection.error.startTLSRequired=à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¹à¸à¸à¸à¸²à¸£à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¸«à¸±à¸ª à¹à¸à¹à¸à¸¸à¸à¹à¸à¹à¸à¸´à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸
+connection.error.startTLSNotSupported=à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¸«à¸±à¸ª à¹à¸à¹à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸à¸à¸à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£
+connection.error.failedToStartTLS=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸£à¸´à¹à¸¡à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¸«à¸±à¸ª
+connection.error.noAuthMec=à¹à¸¡à¹à¸¡à¸µà¸à¸¥à¹à¸à¸à¸²à¸£à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸à¸à¸µà¹à¹à¸ªà¸à¸à¹à¸à¸¢à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹
+connection.error.noCompatibleAuthMec=à¹à¸¡à¹à¸¡à¸µà¸à¸¥à¹à¸à¸à¸²à¸£à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸à¸à¸µà¹à¹à¸ªà¸à¸à¹à¸à¸¢à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸µà¹à¸£à¸à¸à¸£à¸±à¸
+connection.error.notSendingPasswordInClear=à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸£à¸à¸à¸£à¸±à¸à¸à¸²à¸£à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸à¹à¸à¸¢à¸à¸²à¸£à¸ªà¹à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¹à¸à¹à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸£à¸£à¸¡à¸à¸²
+connection.error.authenticationFailure=à¸à¸²à¸£à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸à¸¥à¹à¸¡à¹à¸«à¸¥à¸§
+connection.error.notAuthorized=à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸£à¸à¸à¸à¸§à¸²à¸¡à¸à¸¹à¸à¸à¹à¸à¸ (à¸à¸¸à¸à¸à¹à¸à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸´à¸à¸«à¸£à¸·à¸à¹à¸à¸¥à¹à¸²?)
+connection.error.failedToGetAResource=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸±à¸à¸à¸£à¸±à¸à¸¢à¸²à¸à¸£
+connection.error.failedMaxResourceLimit=à¸à¸±à¸à¸à¸µà¸à¸µà¹à¸à¸¹à¸à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸²à¸à¸«à¸¥à¸²à¸¢à¸à¸µà¹à¸¡à¸²à¸à¹à¸à¸´à¸à¹à¸à¹à¸à¹à¸§à¸¥à¸²à¹à¸à¸µà¸¢à¸§à¸à¸±à¸
+connection.error.failedResourceNotValid=à¸à¸£à¸±à¸à¸¢à¸²à¸à¸£à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸
+connection.error.XMPPNotSupported=à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸µà¹à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸ XMPP
+
+# LOCALIZATION NOTE (conversation.error.notDelivered):
+# This is displayed in a conversation as an error message when a message
+# the user has sent wasn't delivered.
+# %S is replaced by the text of the message that wasn't delivered.
+conversation.error.notDelivered=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¹à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹: %S
+# This is displayed in a conversation as an error message when joining a MUC
+# fails.
+# %S is the name of the MUC.
+conversation.error.joinFailed=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸²à¸£à¹à¸§à¸¡: %S
+# This is displayed in a conversation as an error message when the user is
+# banned from a room.
+# %S is the name of the MUC room.
+conversation.error.joinForbidden=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸²à¸£à¹à¸§à¸¡ %S à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸¸à¸à¸à¸¹à¸à¸«à¹à¸²à¸¡à¸à¸²à¸à¸«à¹à¸à¸à¸à¸µà¹
+conversation.error.joinFailedNotAuthorized=à¸à¸³à¹à¸à¹à¸à¸à¹à¸à¸à¸¥à¸à¸à¸°à¹à¸à¸µà¸¢à¸: à¸à¸¸à¸à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸«à¹à¸à¸à¸à¸µà¹
+conversation.error.creationFailedNotAllowed=à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸¹à¸à¸à¸³à¸à¸±à¸: à¸à¸¸à¸à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¸ªà¸£à¹à¸²à¸à¸«à¹à¸à¸
+# This is displayed in a conversation as an error message when remote server
+# is not found.
+# %S is the name of MUC room.
+conversation.error.joinFailedRemoteServerNotFound=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸«à¹à¸à¸ %S à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸µà¹à¹à¸®à¸ªà¸à¹à¸«à¹à¸à¸
+conversation.error.changeTopicFailedNotAuthorized=à¸à¸¸à¸à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¸à¸±à¹à¸à¸«à¸±à¸§à¸à¹à¸à¸à¸à¸à¸«à¹à¸à¸à¸à¸µà¹
+# This is displayed in a conversation as an error message when the user sends
+# a message to a room that he is not in.
+# %1$S is the name of MUC room.
+# %2$S is the text of the message that wasn't delivered.
+conversation.error.sendFailedAsNotInRoom=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¹à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸¶à¸ %1$S à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸¸à¸à¹à¸¡à¹à¹à¸à¹à¸à¸¢à¸¹à¹à¹à¸à¸«à¹à¸à¸à¸à¸µà¸à¸à¹à¸à¹à¸: %2$S
+# This is displayed in a conversation as an error message when the user sends
+# a message to a room that the recipient is not in.
+# %1$S is the jid of the recipient.
+# %2$S is the text of the message that wasn't delivered.
+conversation.error.sendFailedAsRecipientNotInRoom=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¹à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸¶à¸ %1$S à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸¹à¹à¸£à¸±à¸à¹à¸¡à¹à¹à¸à¹à¸à¸¢à¸¹à¹à¹à¸à¸«à¹à¸à¸à¸à¸µà¸à¸à¹à¸à¹à¸: %2$S
+# These are displayed in a conversation as a system error message.
+conversation.error.remoteServerNotFound=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸à¸à¸à¸¹à¹à¸£à¸±à¸
+conversation.error.unknownSendError=à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¸µà¹à¹à¸¡à¹à¸à¸£à¸²à¸à¸ªà¸²à¹à¸«à¸à¸¸à¹à¸à¸à¸²à¸£à¸ªà¹à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹
+# %S is the name of the message recipient.
+conversation.error.sendServiceUnavailable=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¹à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸¶à¸ %S à¹à¸à¹à¹à¸à¸à¸à¸°à¸à¸µà¹
+# %S is the nick of participant that is not in room.
+conversation.error.nickNotInRoom=%S à¹à¸¡à¹à¹à¸à¹à¸à¸¢à¸¹à¹à¹à¸à¸«à¹à¸à¸
+conversation.error.banCommandAnonymousRoom=à¸à¸¸à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸«à¹à¸²à¸¡à¸à¸¹à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸à¸²à¸à¸«à¹à¸à¸à¸à¸´à¸£à¸à¸²à¸¡ ลà¸à¸ /kick à¹à¸à¸
+conversation.error.banKickCommandNotAllowed=à¸à¸¸à¸à¹à¸¡à¹à¸¡à¸µà¸ªà¸´à¸à¸à¸´à¹à¸à¸µà¹à¸à¸³à¹à¸à¹à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¹à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸£à¸²à¸¢à¸à¸µà¹à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸
+conversation.error.banKickCommandConflict=à¸à¸à¸à¸ ัย à¸à¸¸à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸¥à¸à¸à¸±à¸§à¸à¸¸à¸à¹à¸à¸à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸
+conversation.error.changeNickFailedConflict=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸·à¹à¸à¹à¸¥à¹à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¸ %S à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸·à¹à¸à¹à¸¥à¹à¸à¸à¸µà¹à¸à¸¹à¸à¹à¸à¹à¹à¸¥à¹à¸§
+conversation.error.changeNickFailedNotAcceptable=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸·à¹à¸à¹à¸¥à¹à¸à¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¸ %S à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸·à¹à¸à¹à¸¥à¹à¸à¸à¸¹à¸à¸¥à¹à¸à¸à¹à¸à¸«à¹à¸à¸à¸à¸µà¹
+conversation.error.inviteFailedForbidden=à¸à¸¸à¸à¹à¸¡à¹à¸¡à¸µà¸ªà¸´à¸à¸à¸´à¹à¸à¸µà¹à¸à¸³à¹à¸à¹à¸à¹à¸à¸à¸²à¸£à¹à¸à¸´à¸à¸à¸¹à¹à¹à¸à¹à¹à¸à¹à¸²à¸ªà¸¹à¹à¸«à¹à¸à¸à¸à¸µà¹
+# %S is the jid of user that is invited.
+conversation.error.failedJIDNotFound=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸²à¸à¸¶à¸ %S
+# %S is the jid that is invalid.
+conversation.error.invalidJID=%S à¹à¸à¹à¸ JID à¸à¸µà¹à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸ (à¸à¸±à¸§à¸£à¸°à¸à¸¸ Jabber à¸à¹à¸à¸à¸à¸¢à¸¹à¹à¹à¸à¸£à¸¹à¸à¹à¸à¸ user@domain)
+conversation.error.commandFailedNotInRoom=à¸à¸¸à¸à¸à¹à¸à¸à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸«à¹à¸à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸à¹à¸à¸·à¹à¸à¹à¸«à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¸³à¸ªà¸±à¹à¸à¸à¸µà¹à¹à¸à¹
+# %S is the name of the recipient.
+conversation.error.resourceNotAvailable=à¸à¸¸à¸à¸à¹à¸à¸à¹à¸£à¸´à¹à¸¡à¸à¸¸à¸¢à¸à¹à¸à¸à¹à¸à¸·à¹à¸à¸à¸à¸²à¸ %S สามารà¸à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¸à¹à¸à¸¥à¹à¸à¸à¸à¹à¹à¸à¹à¸¡à¸²à¸à¸à¸§à¹à¸²à¸«à¸à¸¶à¹à¸à¹à¸à¸£à¸·à¹à¸à¸
+
+# LOCALIZATION NOTE (conversation.error.version.*):
+# %S is the name of the recipient.
+conversation.error.version.unknown=à¹à¸à¸¥à¹à¸à¸à¸à¹à¸à¸à¸ %S à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¸à¸²à¸£à¸ªà¸à¸à¸à¸²à¸¡à¹à¸§à¸à¸£à¹à¸à¸±à¸à¸à¸à¸à¸à¸à¸à¸à¹à¹à¸§à¸£à¹
+
+# LOCALIZATION NOTE (tooltip.*):
+# These are the titles of lines of information that will appear in
+# the tooltip showing details about a contact or conversation.
+# LOCALIZATION NOTE (tooltip.status):
+# %S will be replaced by the XMPP resource identifier
+tooltip.status=สà¸à¸²à¸à¸° (%S)
+tooltip.statusNoResource=สà¸à¸²à¸à¸°
+tooltip.subscription=à¸à¸²à¸£à¸à¸à¸à¸£à¸±à¸
+tooltip.fullName=à¸à¸·à¹à¸à¹à¸à¹à¸¡
+tooltip.nickname=à¸à¸·à¹à¸à¹à¸¥à¹à¸
+tooltip.email=à¸à¸µà¹à¸¡à¸¥
+tooltip.birthday=วัà¸à¹à¸à¸´à¸
+tooltip.userName=à¸à¸·à¹à¸à¸à¸¹à¹à¹à¸à¹
+tooltip.title=à¸à¸·à¹à¸à¹à¸£à¸·à¹à¸à¸
+tooltip.organization=à¸à¸à¸à¹à¸à¸£
+tooltip.locality=สà¸à¸²à¸à¸à¸µà¹
+tooltip.country=à¸à¸£à¸°à¹à¸à¸¨
+
+tooltip.telephone=หมายà¹à¸¥à¸à¹à¸à¸£à¸¨à¸±à¸à¸à¹
+
+# LOCALIZATION NOTE (chatRoomField.*):
+# These are the name of fields displayed in the 'Join Chat' dialog
+# for XMPP accounts.
+# The _ character won't be displayed; it indicates the next
+# character of the string should be used as the access key for this
+# field.
+chatRoomField.room=_หà¹à¸à¸
+chatRoomField.server=à¹à¸à¸´_รà¹à¸à¹à¸§à¸à¸£à¹
+chatRoomField.nick=_à¸à¸·à¹à¸à¹à¸¥à¹à¸
+chatRoomField.password=รหั_สà¸à¹à¸²à¸
+
+# LOCALIZATION NOTE (conversation.muc.*):
+# These are displayed as a system message when a chatroom invitation is
+# received.
+# %1$S is the inviter.
+# %2$S is the room.
+# %3$S is the reason which is a message provided by the person sending the
+# invitation.
+conversation.muc.invitationWithReason2=%1$S à¹à¸à¹à¹à¸à¸´à¸à¸à¸¸à¸à¹à¸«à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡ %2$S: %3$S
+# %3$S is the password of the room.
+# %4$S is the reason which is a message provided by the person sending the
+# invitation.
+conversation.muc.invitationWithReason2.password=%1$S à¹à¸à¹à¹à¸à¸´à¸à¸à¸¸à¸à¹à¸«à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡ %2$S à¸à¹à¸§à¸¢à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸ %3$S: %4$S
+conversation.muc.invitationWithoutReason=%1$S à¹à¸à¹à¹à¸à¸´à¸à¸à¸¸à¸à¹à¸«à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡ %2$S
+# %3$S is the password of the room.
+conversation.muc.invitationWithoutReason.password=%1$S à¹à¸à¹à¹à¸à¸´à¸à¸à¸¸à¸à¹à¸«à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡ %2$S à¸à¹à¸§à¸¢à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸ %3$S
+
+# LOCALIZATION NOTE (conversation.muc.join):
+# This is displayed as a system message when a participant joins room.
+# %S is the nick of the participant.
+conversation.message.join=%S à¹à¸à¹à¸²à¸«à¹à¸à¸à¹à¸¥à¹à¸§
+
+# LOCALIZATION NOTE (conversation.muc.rejoined):
+# This is displayed as a system message when a participant rejoins room after
+# parting it.
+conversation.message.rejoined=à¸à¸¸à¸à¹à¸à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸«à¹à¸à¸à¹à¸«à¸¡à¹à¹à¸¥à¹à¸§
+
+# LOCALIZATION NOTE (conversation.message.parted.*):
+# These are displayed as a system message when a participant parts a room.
+# %S is the part message supplied by the user.
+conversation.message.parted.you=à¸à¸¸à¸à¹à¸à¹à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸
+conversation.message.parted.you.reason=à¸à¸¸à¸à¹à¸à¹à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸: %S
+# %1$S is the participant that is leaving.
+# %2$S is the part message supplied by the participant.
+conversation.message.parted=%1$S à¹à¸à¹à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸
+conversation.message.parted.reason=%1$S à¹à¸à¹à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸: %2$S
+
+# LOCALIZATION NOTE (conversation.message.invitationDeclined*):
+# %1$S is the invitee that declined the invitation.
+# %2$S is the decline message supplied by the invitee.
+conversation.message.invitationDeclined=%1$S à¹à¸à¹à¸à¸à¸´à¹à¸ªà¸à¸à¸³à¹à¸à¸´à¸à¸à¸à¸à¸à¸¸à¸
+conversation.message.invitationDeclined.reason=%1$S à¹à¸à¹à¸à¸à¸´à¹à¸ªà¸à¸à¸³à¹à¸à¸´à¸à¸à¸à¸à¸à¸¸à¸: %2$S
+
+# LOCALIZATION NOTE (conversation.message.banned.*):
+# These are displayed as a system message when a participant is banned from
+# a room.
+# %1$S is the participant that is banned.
+# %2$S is the reason.
+# %3$S is the person who is banning.
+conversation.message.banned=%1$S à¹à¸à¹à¸à¸¹à¸à¸«à¹à¸²à¸¡à¸à¸²à¸à¸«à¹à¸à¸
+conversation.message.banned.reason=%1$S à¹à¸à¹à¸à¸¹à¸à¸«à¹à¸²à¸¡à¸à¸²à¸à¸«à¹à¸à¸: %2$S
+# %1$S is the person who is banning.
+# %2$S is the participant that is banned.
+# %3$S is the reason.
+conversation.message.banned.actor=%1$S à¹à¸à¹à¸«à¹à¸²à¸¡ %2$S à¸à¸²à¸à¸«à¹à¸à¸
+conversation.message.banned.actor.reason=%1$S à¹à¸à¹à¸«à¹à¸²à¸¡ %2$S à¸à¸²à¸à¸«à¹à¸à¸: %3$S
+conversation.message.banned.you=à¸à¸¸à¸à¹à¸à¹à¸à¸¹à¸à¸«à¹à¸²à¸¡à¸à¸²à¸à¸«à¹à¸à¸
+# %1$S is the reason.
+conversation.message.banned.you.reason=à¸à¸¸à¸à¹à¸à¹à¸à¸¹à¸à¸«à¹à¸²à¸¡à¸à¸²à¸à¸«à¹à¸à¸: %1$S
+# %1$S is the person who is banning.
+# %2$S is the reason.
+conversation.message.banned.you.actor=%1$S à¹à¸à¹à¸«à¹à¸²à¸¡à¸à¸¸à¸à¸à¸²à¸à¸«à¹à¸à¸
+conversation.message.banned.you.actor.reason=%1$S à¹à¸à¹à¸«à¹à¸²à¸¡à¸à¸¸à¸à¸à¸²à¸à¸«à¹à¸à¸: %2$S
+
+# LOCALIZATION NOTE (conversation.message.kicked.*):
+# These are displayed as a system message when a participant is kicked from
+# a room.
+# %1$S is the participant that is kicked.
+# %2$S is the reason.
+conversation.message.kicked=%1$S à¹à¸à¹à¸à¸¹à¸à¹à¸à¸°à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸
+conversation.message.kicked.reason=%1$S à¹à¸à¹à¸à¸¹à¸à¹à¸à¸°à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸: %2$S
+# %1$S is the person who is kicking.
+# %2$S is the participant that is kicked.
+# %3$S is the reason.
+conversation.message.kicked.actor=%1$S à¹à¸à¹à¹à¸à¸° %2$S à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸
+conversation.message.kicked.actor.reason=%1$S à¹à¸à¹à¹à¸à¸° %2$S à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸: %3$S
+conversation.message.kicked.you=à¸à¸¸à¸à¸à¸¹à¸à¹à¸à¸°à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸à¹à¸¥à¹à¸§
+# %1$S is the reason.
+conversation.message.kicked.you.reason=à¸à¸¸à¸à¸à¸¹à¸à¹à¸à¸°à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸à¹à¸¥à¹à¸§: %1$S
+# %1$S is the person who is kicking.
+# %2$S is the reason.
+conversation.message.kicked.you.actor=%1$S à¹à¸à¹à¹à¸à¸°à¸à¸¸à¸à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸
+conversation.message.kicked.you.actor.reason=%1$S à¹à¸à¹à¹à¸à¸°à¸à¸¸à¸à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸: %2$S
+
+# LOCALIZATION NOTE (conversation.message.removedNonMember.*):
+# These are displayed as a system message when a participant is removed from
+# a room because the room has been changed to members-only.
+# %1$S is the participant that is removed.
+# %2$S is the person who changed the room configuration.
+conversation.message.removedNonMember=%1$S à¹à¸à¹à¸à¸¹à¸à¹à¸à¸²à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸¹à¸à¸à¸³à¸«à¸à¸à¸à¹à¸²à¹à¸«à¹à¸à¸³à¸à¸±à¸à¹à¸à¸µà¸¢à¸à¹à¸à¸à¸²à¸°à¸ªà¸¡à¸²à¸à¸´à¸à¹à¸à¹à¸²à¸à¸±à¹à¸
+conversation.message.removedNonMember.actor=%1$S à¹à¸à¹à¸à¸¹à¸à¹à¸à¸²à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸à¹à¸à¸·à¹à¸à¸à¸à¸²à¸ %2$S à¹à¸à¹à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸«à¹à¸à¸³à¸à¸±à¸à¹à¸à¸µà¸¢à¸à¹à¸à¸à¸²à¸°à¸ªà¸¡à¸²à¸à¸´à¸à¹à¸à¹à¸²à¸à¸±à¹à¸
+conversation.message.removedNonMember.you=à¸à¸¸à¸à¹à¸à¹à¸à¸¹à¸à¹à¸à¸²à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸¹à¸à¸à¸³à¸«à¸à¸à¸à¹à¸²à¹à¸«à¹à¸à¸³à¸à¸±à¸à¹à¸à¸µà¸¢à¸à¹à¸à¸à¸²à¸°à¸ªà¸¡à¸²à¸à¸´à¸à¹à¸à¹à¸²à¸à¸±à¹à¸
+# %1$S is the person who changed the room configuration.
+conversation.message.removedNonMember.you.actor=à¸à¸¸à¸à¹à¸à¹à¸à¸¹à¸à¹à¸à¸²à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸à¹à¸à¸·à¹à¸à¸à¸à¸²à¸ %1$S à¹à¸à¹à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸«à¹à¸à¸³à¸à¸±à¸à¹à¸à¸µà¸¢à¸à¹à¸à¸à¸²à¸°à¸ªà¸¡à¸²à¸à¸´à¸à¹à¸à¹à¸²à¸à¸±à¹à¸
+
+# LOCALIZATION NOTE (conversation.message.MUCShutdown):
+# These are displayed as a system message when a participant is removed from
+# a room because of a system shutdown.
+conversation.message.mucShutdown=à¸à¸¸à¸à¹à¸à¹à¸à¸¹à¸à¹à¸à¸²à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸£à¸°à¸à¸à¸à¸¹à¸à¸à¸´à¸
+
+# LOCALIZATION NOTE (conversation.message.version*):
+# %1$S is the name of the user whose version was requested.
+# %2$S is the client name response from the client.
+# %3$S is the client version response from the client.
+# %4$S is the operating system(OS) response from the client.
+conversation.message.version=%1$S à¸à¸³à¸¥à¸±à¸à¹à¸à¹ "%2$S %3$S"
+conversation.message.versionWithOS=%1$S à¸à¸³à¸¥à¸±à¸à¹à¸à¹ "%2$S %3$S" à¸à¸ %4$S
+
+# LOCALIZATION NOTE (options.*):
+# These are the protocol specific options shown in the account manager and
+# account wizard windows.
+options.resource=à¸à¸£à¸±à¸à¸¢à¸²à¸à¸£
+options.priority=à¸à¸§à¸²à¸¡à¸ªà¸³à¸à¸±à¸
+options.connectionSecurity=à¸à¸§à¸²à¸¡à¸à¸¥à¸à¸à¸ ัยà¸à¸à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸
+options.connectionSecurity.requireEncryption=à¸à¹à¸à¸à¸à¸²à¸£à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¸«à¸±à¸ª
+options.connectionSecurity.opportunisticTLS=à¹à¸à¹à¸à¸²à¸£à¹à¸à¹à¸²à¸£à¸«à¸±à¸ªà¸«à¸²à¸à¸à¸£à¹à¸à¸¡à¹à¸à¹à¸à¸²à¸
+options.connectionSecurity.allowUnencryptedAuth=à¸à¸à¸¸à¸à¸²à¸à¹à¸«à¹à¸ªà¹à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¹à¸à¸à¹à¸¡à¹à¹à¸à¹à¸²à¸£à¸«à¸±à¸ª
+options.connectServer=à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹
+options.connectPort=à¸à¸à¸£à¹à¸
+options.domain=à¹à¸à¹à¸¡à¸
+
+# LOCALIZATION NOTE (*.protocolName)
+# This name is used whenever the name of the protocol is shown.
+gtalk.protocolName=Google Talk
+odnoklassniki.protocolName=Odnoklassniki
+
+# LOCALIZATION NOTE (gtalk.usernameHint):
+# This is displayed inside the accountUsernameInfoWithDescription
+# string defined in imAccounts.properties when the user is
+# configuring a Google Talk account.
+gtalk.usernameHint=à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸µà¹à¸¡à¸¥
+
+# LOCALIZATION NOTE (odnoklassniki.usernameHint):
+# This is displayed inside the accountUsernameInfoWithDescription
+# string defined in imAccounts.properties when the user is
+# configuring a Odnoklassniki account.
+odnoklassniki.usernameHint=ID à¹à¸à¸£à¹à¸à¸¥à¹
+
+# LOCALZIATION NOTE (command.*):
+# These are the help messages for each command.
+command.join3=%S [<room>[@<server>][/<nick>]] [<password>]: à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸«à¹à¸à¸à¹à¸à¸¢à¸£à¸°à¸à¸¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸·à¹à¸, หรืà¸à¸à¸·à¹à¸, หรืà¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸«à¹à¸à¸à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+command.part2=%S [<message>]: à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸à¸à¸±à¸à¸à¸¸à¸à¸±à¸à¸à¸£à¹à¸à¸¡à¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+command.topic=%S [<new topic>]: à¸à¸±à¹à¸à¸à¹à¸²à¸«à¸±à¸§à¸à¹à¸à¸à¸à¸à¸«à¹à¸à¸à¸à¸µà¹
+command.ban=%S <nick>[<message>]: หà¹à¸²à¸¡à¹à¸à¸£à¸à¸²à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸ à¹à¸à¸¢à¸à¸¸à¸à¸à¸°à¸à¹à¸à¸à¹à¸à¹à¸à¸à¸¹à¹à¸à¸¹à¹à¸¥à¸«à¹à¸à¸à¸à¸¶à¸à¸à¸°à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸µà¹à¹à¸à¹
+command.kick=%S <nick>[<message>]: à¹à¸à¸²à¹à¸à¸£à¸à¸²à¸à¸à¸à¸à¸à¸à¸à¸²à¸à¸«à¹à¸à¸ à¹à¸à¸¢à¸à¸¸à¸à¸à¸°à¸à¹à¸à¸à¹à¸à¹à¸à¸à¸¹à¹à¸à¸¹à¹à¸¥à¸«à¹à¸à¸à¸à¸¶à¸à¸à¸°à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸µà¹à¹à¸à¹
+command.invite=%S <jid>[<message>]: à¹à¸à¸´à¸à¸à¸¹à¹à¹à¸à¹à¹à¸«à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸«à¹à¸à¸à¸à¸±à¸à¸à¸¸à¸à¸±à¸à¸à¸£à¹à¸à¸¡à¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+command.inviteto=%S <room jid>[<password>]: à¹à¸à¸´à¸à¸à¸¹à¹à¸ªà¸à¸à¸à¸²à¸à¸à¸à¸à¸¸à¸à¹à¸«à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸«à¹à¸à¸à¸à¸£à¹à¸à¸¡à¸à¹à¸§à¸¢à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸«à¸²à¸à¸à¸³à¹à¸à¹à¸
+command.me=%S <à¸à¸²à¸£à¸à¸£à¸°à¸à¸³à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£>: à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¸²à¸£à¸à¸£à¸°à¸à¸³
+command.nick=%S <new nickname>: à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸·à¹à¸à¹à¸¥à¹à¸à¸à¸à¸à¸à¸¸à¸
+command.msg=%S <nick> <message>: สà¹à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸¶à¸à¸à¸¹à¹à¹à¸à¹à¸²à¸£à¹à¸§à¸¡à¸à¸µà¹à¸à¸¢à¸¹à¹à¹à¸à¸«à¹à¸à¸
+command.version=%S: à¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¹à¸à¸¥à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¸à¸¹à¹à¸ªà¸à¸à¸à¸²à¸à¸à¸à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¹à¸à¹
diff --git a/chat/yahoo.properties b/chat/yahoo.properties
new file mode 100644
index 00000000000..5ad8e33da5a
--- /dev/null
+++ b/chat/yahoo.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/.
+
+yahoo.disabled=à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸ Yahoo Messenger à¸à¸µà¸à¸à¹à¸à¹à¸à¹à¸à¸·à¹à¸à¸à¸à¸²à¸ Yahoo à¹à¸à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¸£à¹à¸à¸à¸à¸¥à¸à¸±à¹à¸à¹à¸à¸´à¸¡
diff --git a/devtools/client/aboutdebugging.ftl b/devtools/client/aboutdebugging.ftl
new file mode 100644
index 00000000000..1fb719ecc1e
--- /dev/null
+++ b/devtools/client/aboutdebugging.ftl
@@ -0,0 +1,390 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = à¸à¸²à¸£à¸à¸µà¸à¸±à¹à¸ - à¸à¸±à¹à¸à¸à¹à¸²
+
+# 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 = à¸à¸²à¸£à¸à¸µà¸à¸±à¹à¸ - รัà¸à¹à¸à¸¡à¹ / { $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 } à¸à¸µà¹
+
+# 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 = à¸à¸±à¹à¸à¸à¹à¸²
+
+# Text displayed in the about:debugging sidebar when USB devices discovery is enabled.
+about-debugging-sidebar-usb-enabled = à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸ 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 = à¸à¸´à¸à¹à¸à¹à¸à¸²à¸ USB à¸à¸¢à¸¹à¹
+
+# Connection status (connected) for runtime items in the sidebar
+aboutdebugging-sidebar-runtime-connection-status-connected = à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸¥à¹à¸§
+# Connection status (disconnected) for runtime items in the sidebar
+aboutdebugging-sidebar-runtime-connection-status-disconnected = à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸¥à¹à¸§
+
+# Text displayed in the about:debugging sidebar when no device was found.
+about-debugging-sidebar-no-devices = à¹à¸¡à¹à¸à¸à¸à¸¸à¸à¸à¸£à¸à¹
+
+# 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 = à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸
+
+# Text displayed in buttons found in sidebar items when the runtime is connecting.
+about-debugging-sidebar-item-connect-button-connecting = à¸à¸³à¸¥à¸±à¸à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸â¦
+
+# Text displayed in buttons found in sidebar items when the connection failed.
+about-debugging-sidebar-item-connect-button-connection-failed = à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸¥à¹à¸¡à¹à¸«à¸¥à¸§
+
+# 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 = à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸¢à¸±à¸à¸£à¸à¸à¹à¸²à¸à¸à¸¢à¸¹à¹ à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸à¹à¸²à¸«à¸¡à¸²à¸¢
+
+# Text displayed as connection error in sidebar item when the connection has timed out.
+about-debugging-sidebar-item-connect-button-connection-timeout = à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸«à¸¡à¸à¹à¸§à¸¥à¸²
+
+# 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 = à¸à¸³à¸¥à¸±à¸à¸£à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹â¦
+
+# Text displayed in sidebar items for remote devices that have been disconnected from the
+# computer.
+about-debugging-sidebar-runtime-item-unplugged = à¸à¸à¸à¸à¸¥à¸±à¹à¸à¹à¸¥à¹à¸§
+
+# 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://developer.mozilla.org/docs/Tools/about:debugging)
+about-debugging-sidebar-support = à¸à¹à¸²à¸¢à¸ªà¸à¸±à¸à¸ªà¸à¸¸à¸à¸à¸²à¸£à¸à¸µà¸à¸±à¹à¸
+
+# 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 = à¹à¸à¸à¸à¸à¸à¹à¸§à¸¢à¹à¸«à¸¥à¸·à¸
+
+# 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 = à¹à¸£à¸µà¸¢à¸à¸à¸¸à¸à¸à¸£à¸à¹à¹à¸«à¸¡à¹
+
+# Setup Page strings
+
+# Title of the Setup page.
+about-debugging-setup-title = à¸à¸±à¹à¸à¸à¹à¸²
+
+# Introduction text in the Setup page to explain how to configure remote debugging.
+about-debugging-setup-intro = à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸§à¸´à¸à¸µà¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸µà¹à¸à¸¸à¸à¸à¹à¸à¸à¸à¸²à¸£à¸à¸µà¸à¸±à¹à¸à¸à¸¸à¸à¸à¸£à¸à¹à¸à¸à¸à¸à¸¸à¸à¸à¸²à¸à¸£à¸°à¸¢à¸°à¹à¸à¸¥
+
+# Explanatory text in the Setup page about what the 'This Firefox' page is for
+about-debugging-setup-this-firefox2 = à¹à¸à¹ { about-debugging-this-firefox-runtime-name } à¹à¸à¸·à¹à¸à¸à¸µà¸à¸±à¹à¸à¸ªà¹à¸§à¸à¸à¸¢à¸²à¸¢à¹à¸¥à¸°à¸à¸±à¸§à¸à¸³à¸à¸²à¸à¸à¸£à¸´à¸à¸²à¸£à¸à¸ { -brand-shorter-name } รุà¹à¸à¸à¸µà¹
+
+# Title of the heading Connect section of the Setup page.
+about-debugging-setup-connect-heading = à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸¸à¸à¸à¸£à¸à¹
+
+# 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 = à¸à¸²à¸£à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸°à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¹à¸¥à¸°à¹à¸à¸´à¹à¸¡à¸ªà¹à¸§à¸à¸à¸£à¸°à¸à¸à¸à¸à¸²à¸£à¸à¸µà¸à¸±à¹à¸à¸à¹à¸²à¸ USB à¸à¸à¸ Android à¸à¸µà¹à¸à¸³à¹à¸à¹à¸à¹à¸ { -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 = à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸¸à¸à¸à¸£à¸à¹ 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 = à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸¸à¸à¸à¸£à¸à¹ 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 = à¸à¸³à¸¥à¸±à¸à¸à¸±à¸à¹à¸à¸â¦
+
+# USB section of the Setup page (USB status)
+about-debugging-setup-usb-status-enabled = à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸¢à¸¹à¹
+about-debugging-setup-usb-status-disabled = à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸¢à¸¹à¹
+about-debugging-setup-usb-status-updating = à¸à¸³à¸¥à¸±à¸à¸à¸±à¸à¹à¸à¸â¦
+
+# USB section step by step guide
+about-debugging-setup-usb-step-enable-dev-menu2 = à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸¡à¸à¸¹à¸à¸±à¸à¸à¸±à¸à¸à¸²à¹à¸à¸à¸¸à¸à¸à¸£à¸à¹ Android à¸à¸à¸à¸à¸¸à¸
+
+# USB section step by step guide
+about-debugging-setup-usb-step-enable-debug2 = à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸²à¸£à¸à¸µà¸à¸±à¹à¸ USB à¹à¸à¹à¸¡à¸à¸¹à¸à¸±à¸à¸à¸±à¸à¸à¸² Android
+
+# USB section step by step guide
+about-debugging-setup-usb-step-enable-debug-firefox2 = à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸²à¸£à¸à¸µà¸à¸±à¹à¸ USB à¹à¸ Firefox à¹à¸à¸à¸¸à¸à¸à¸£à¸à¹ Android
+
+# USB section step by step guide
+about-debugging-setup-usb-step-plug-device = à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸¸à¸à¸à¸£à¸à¹ Android à¸à¸±à¸à¸à¸à¸¡à¸à¸´à¸§à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸
+
+# Text shown in the USB section of the setup page with a link to troubleshoot connection errors.
+# The link goes to https://developer.mozilla.org/docs/Tools/Remote_Debugging/Debugging_over_USB
+about-debugging-setup-usb-troubleshoot = มีà¸à¸±à¸à¸«à¸²à¹à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¸à¸à¸¸à¸à¸à¸£à¸à¹ USB? à¹à¸à¹à¹à¸à¸à¸±à¸à¸«à¸²
+
+# Network section of the Setup page
+about-debugging-setup-network =
+ .title = à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢
+
+# Text shown in the Network section of the setup page with a link to troubleshoot connection errors.
+# The link goes to https://developer.mozilla.org/en-US/docs/Tools/Remote_Debugging/Debugging_over_a_network
+about-debugging-setup-network-troubleshoot = มีà¸à¸±à¸à¸«à¸²à¹à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¹à¸²à¸à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢? à¹à¸à¹à¹à¸à¸à¸±à¸à¸«à¸²
+
+# 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 = à¹à¸à¸´à¹à¸¡
+
+# Text to display when there are no locations to show.
+about-debugging-network-locations-empty-text = ยัà¸à¹à¸¡à¹à¹à¸à¹à¹à¸à¸´à¹à¸¡à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸à¹à¸à¸£à¸·à¸à¸à¹à¸²à¸¢
+
+# 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 = à¹à¸®à¸ªà¸à¹
+
+# 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 = à¹à¸à¸²à¸à¸à¸
+
+# 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 = à¹à¸®à¸ªà¸à¹ â{ $host-value }â à¹à¸¡à¹à¸à¸¹à¸à¸à¹à¸à¸ รูà¸à¹à¸à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£à¸à¸·à¸ âhostname: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 = à¹à¸®à¸ªà¸à¹ â{ $host-value }â à¸à¸¹à¸à¸¥à¸à¸à¸°à¹à¸à¸µà¸¢à¸à¹à¸¥à¹à¸§
+
+# 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 = สà¹à¸§à¸à¸à¸¢à¸²à¸¢à¸à¸±à¹à¸§à¸à¸£à¸²à¸§
+# Title of the extensions category.
+about-debugging-runtime-extensions =
+ .name = สà¹à¸§à¸à¸à¸¢à¸²à¸¢
+# Title of the tabs category.
+about-debugging-runtime-tabs =
+ .name = à¹à¸à¹à¸
+# Title of the service workers category.
+about-debugging-runtime-service-workers =
+ .name = à¸à¸±à¸§à¸à¸³à¸à¸²à¸à¸à¸£à¸´à¸à¸²à¸£
+# Title of the shared workers category.
+about-debugging-runtime-shared-workers =
+ .name = à¸à¸±à¸§à¸à¸³à¸à¸²à¸à¸à¸µà¹à¹à¸à¹à¸£à¹à¸§à¸¡à¸à¸±à¸
+# Title of the other workers category.
+about-debugging-runtime-other-workers =
+ .name = à¸à¸±à¸§à¸à¸³à¸à¸²à¸à¸à¸·à¹à¸ à¹
+# Title of the processes category.
+about-debugging-runtime-processes =
+ .name = à¹à¸à¸£à¹à¸à¸ª
+
+# Label of the button opening the performance profiler panel in runtime pages for remote
+# runtimes.
+about-debugging-runtime-profile-button2 = à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸à¹à¸à¸£à¹à¸à¸¥à¹
+
+# 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 MDN.
+# https://developer.mozilla.org/en-US/docs/Tools/about%3Adebugging#Service_workers_not_compatible
+about-debugging-runtime-service-workers-not-compatible = à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸à¹à¸²à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸à¸à¸à¸¸à¸à¹à¸à¹à¸²à¸à¸±à¸à¹à¸¡à¹à¹à¸à¹à¸à¸±à¸à¸à¸±à¸§à¸à¸³à¸à¸²à¸à¸à¸£à¸´à¸à¸²à¸£ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+# This string is displayed in the runtime page if the remote browser version is too old.
+# "Troubleshooting" link points to https://developer.mozilla.org/docs/Tools/about:debugging#Troubleshooting
+# { $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 = à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸µà¹à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸¡à¸µà¸£à¸¸à¹à¸à¹à¸à¹à¸² ({ $runtimeVersion }) รุà¹à¸à¸à¸µà¹à¸£à¸à¸à¸£à¸±à¸à¸à¸±à¹à¸à¸à¹à¸³à¸à¸·à¸ ({ $minVersion }) à¸à¸µà¹à¹à¸à¹à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸µà¹à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¹à¸¥à¸°à¸à¸²à¸à¸à¸³à¹à¸«à¹ DevTools ลà¹à¸¡à¹à¸«à¸¥à¸§ à¹à¸à¸£à¸à¸à¸±à¸à¹à¸à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸µà¹à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸ à¸à¸²à¸£à¹à¸à¹à¹à¸à¸à¸±à¸à¸«à¸²
+
+# 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 = Firefox รุà¹à¸à¸à¸µà¹à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸µà¸à¸±à¹à¸ Firefox สำหรัภAndroid (68) à¹à¸à¹ à¹à¸£à¸²à¹à¸à¸°à¸à¸³à¹à¸«à¹à¸à¸´à¸à¸à¸±à¹à¸ Firefox สำหรัภAndroid Nightly à¸à¸à¹à¸à¸£à¸¨à¸±à¸à¸à¹à¸à¸à¸à¸à¸¸à¸à¹à¸à¸·à¹à¸à¸à¸³à¸à¸²à¸£à¸à¸à¸ªà¸à¸ รายละà¹à¸à¸µà¸¢à¸à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+# This string is displayed in the runtime page if the remote browser version is too recent.
+# "Troubleshooting" link points to https://developer.mozilla.org/docs/Tools/about:debugging#Troubleshooting
+# { $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 = à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¸à¸µà¹à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸à¹à¸à¸£à¸¸à¹à¸ ({ $runtimeVersion }, buildID { $runtimeID }) à¸à¸¶à¹à¸à¹à¸«à¸¡à¹à¸à¸§à¹à¸² { -brand-shorter-name } ({ $localVersion }, buildID { $localID }) à¸à¸¶à¹à¸à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¹à¸¥à¸°à¸à¸²à¸à¸à¸³à¹à¸«à¹ DevTools à¸à¸³à¸à¸²à¸à¸¥à¹à¸¡à¹à¸«à¸¥à¸§à¹à¸à¹ à¹à¸à¸£à¸à¸à¸±à¸à¹à¸à¸ Firefox à¸à¸²à¸£à¹à¸à¹à¹à¸à¸à¸±à¸à¸«à¸²
+
+# 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 = à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸
+
+# 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 = à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸£à¸à¸¡à¸à¹à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸
+
+# 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 = à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸£à¸à¸¡à¸à¹à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸
+
+# Title of a modal dialog displayed on remote runtime pages after clicking on the Profile Runtime button.
+about-debugging-profiler-dialog-title2 = à¸à¸±à¸§à¸ªà¸£à¹à¸²à¸à¹à¸à¸£à¹à¸à¸¥à¹
+
+# 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 = ยุภ/ à¸à¸¢à¸²à¸¢
+
+# 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 = ยัà¸à¹à¸¡à¹à¸¡à¸µà¸ªà¸´à¹à¸à¹à¸
+
+# 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 = à¸à¸£à¸§à¸à¸ªà¸à¸
+
+# 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 = à¹à¸«à¸¥à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸±à¹à¸§à¸à¸£à¸²à¸§â¦
+
+# Text displayed when trying to install a temporary extension in the "This Firefox" page.
+about-debugging-tmp-extension-install-error = à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸£à¸°à¸«à¸§à¹à¸²à¸à¸à¸´à¸à¸à¸±à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¹à¸à¸à¸à¸±à¹à¸§à¸à¸£à¸²à¸§
+
+# 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 = à¹à¸«à¸¥à¸à¹à¸«à¸¡à¹
+
+# 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 = à¹à¸à¸²à¸à¸à¸
+
+# 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 = à¹à¸¥à¸·à¸à¸à¹à¸à¸¥à¹ manifest.json หรืà¸à¹à¸à¸¥à¹à¹à¸à¹à¸à¸à¸²à¸§à¸£ .xpi/.zip
+
+# This string is displayed as a message about the add-on having a temporaryID.
+about-debugging-tmp-extension-temporary-id = WebExtension à¸à¸µà¹à¸¡à¸µ ID à¸à¸±à¹à¸§à¸à¸£à¸²à¸§ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+# Text displayed for extensions in "runtime" pages, before displaying a link the extension's
+# manifest URL.
+about-debugging-extension-manifest-url =
+ .label = URL à¹à¸à¸¥à¹à¸à¸³à¸à¸±à¸
+
+# 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 ภายà¹à¸
+
+# Text displayed for extensions (temporary extensions only) in "runtime" pages, before
+# displaying the location of the temporary extension.
+about-debugging-extension-location =
+ .label = à¸à¸³à¹à¸«à¸à¹à¸à¸à¸µà¹à¸à¸±à¹à¸
+
+# 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 สà¹à¸§à¸à¸à¸¢à¸²à¸¢
+
+# 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 = à¸à¸¥à¸±à¸
+ .disabledTitle = à¸à¸²à¸£à¸à¸¥à¸±à¸à¸à¸±à¸§à¸à¸³à¸à¸²à¸à¸à¸£à¸´à¸à¸²à¸£à¸à¸¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸¢à¸¹à¹à¸ªà¸³à¸«à¸£à¸±à¸ { -brand-shorter-name } à¹à¸à¸à¸«à¸¥à¸²à¸¢à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¹à¸à¸à¸à¸°à¸à¸µà¹
+
+# This string is displayed as a label of the button that starts a service worker.
+about-debugging-worker-action-start2 = à¹à¸£à¸´à¹à¸¡
+ .disabledTitle = à¸à¸²à¸£à¹à¸£à¸´à¹à¸¡à¸à¸±à¸§à¸à¸³à¸à¸²à¸à¸à¸£à¸´à¸à¸²à¸£à¸à¸¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸¢à¸¹à¹à¸ªà¸³à¸«à¸£à¸±à¸ { -brand-shorter-name } à¹à¸à¸à¸«à¸¥à¸²à¸¢à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¹à¸à¸à¸à¸°à¸à¸µà¹
+
+# This string is displayed as a label of the button that unregisters a service worker.
+about-debugging-worker-action-unregister = à¹à¸¥à¸´à¸à¸¥à¸à¸à¸°à¹à¸à¸µà¸¢à¸
+
+# Displayed for service workers in runtime pages that listen to Fetch events.
+about-debugging-worker-fetch-listening =
+ .label = à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥
+ .value = à¸à¸³à¸¥à¸±à¸à¸£à¸±à¸à¸à¸±à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸²à¸£à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥
+
+# Displayed for service workers in runtime pages that do not listen to Fetch events.
+about-debugging-worker-fetch-not-listening =
+ .label = à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥
+ .value = à¹à¸¡à¹à¹à¸à¹à¸£à¸±à¸à¸à¸±à¸à¹à¸«à¸à¸¸à¸à¸²à¸£à¸à¹à¸à¸²à¸£à¸à¸¶à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸¢à¸¹à¹
+
+# Displayed for service workers in runtime pages that are currently running (service
+# worker instance is active).
+about-debugging-worker-status-running = à¸à¸³à¸¥à¸±à¸à¸à¸³à¸à¸²à¸
+
+# Displayed for service workers in runtime pages that are registered but stopped.
+about-debugging-worker-status-stopped = หยุà¸à¸à¸¢à¸¹à¹
+
+# Displayed for service workers in runtime pages that are registering.
+about-debugging-worker-status-registering = à¸à¸³à¸¥à¸±à¸à¸¥à¸à¸à¸°à¹à¸à¸µà¸¢à¸
+
+# Displayed for service workers in runtime pages, to label the scope of a worker
+about-debugging-worker-scope =
+ .label = à¸à¸à¸à¹à¸à¸
+
+# Displayed for service workers in runtime pages, to label the push service endpoint (url)
+# of a worker
+about-debugging-worker-push-service =
+ .label = à¸à¸£à¸´à¸à¸²à¸£à¸à¸¥à¸±à¸
+
+# Displayed as title of the inspect button when service worker debugging is disabled.
+about-debugging-worker-inspect-action-disabled =
+ .title = à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸±à¸§à¸à¸³à¸à¸²à¸à¸à¸£à¸´à¸à¸²à¸£à¸à¸¹à¸à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¸à¸¢à¸¹à¹à¸ªà¸³à¸«à¸£à¸±à¸ { -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 = à¹à¸à¹à¸à¸¢à¸±à¸à¹à¸¡à¹à¹à¸à¹à¹à¸«à¸¥à¸à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸¡à¸à¸µà¹à¹à¸¥à¸°à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸à¹
+
+# Displayed as name for the Main Process debug target in the Processes category. Only for
+# remote runtimes, if `devtools.aboutdebugging.process-debugging` is true.
+about-debugging-main-process-name = à¹à¸à¸£à¹à¸à¸ªà¸«à¸¥à¸±à¸
+
+# Displayed as description for the Main Process debug target in the Processes category.
+# Only for remote browsers, if `devtools.aboutdebugging.process-debugging` is true.
+about-debugging-main-process-description2 = à¹à¸à¸£à¹à¸à¸ªà¸«à¸¥à¸±à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸à¹à¸²à¸«à¸¡à¸²à¸¢
+
+# Displayed instead of the Main Process debug target when the preference
+# `devtools.browsertoolbox.fission` is true.
+about-debugging-multiprocess-toolbox-name = à¸à¸¥à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¹à¸à¸à¸«à¸¥à¸²à¸¢à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£
+
+# Description for the Multiprocess Toolbox target.
+about-debugging-multiprocess-toolbox-description = à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¸«à¸¥à¸±à¸à¹à¸¥à¸°à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸«à¸²à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸à¹à¸²à¸«à¸¡à¸²à¸¢
+
+# Alt text used for the close icon of message component (warnings, errors and notifications).
+about-debugging-message-close-icon =
+ .alt = à¸à¸´à¸à¸à¹à¸à¸à¸§à¸²à¸¡
+
+# Label text used for the error details of message component.
+about-debugging-message-details-label-error = รายละà¹à¸à¸µà¸¢à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸
+
+# Label text used for the warning details of message component.
+about-debugging-message-details-label-warning = รายละà¹à¸à¸µà¸¢à¸à¸à¸³à¹à¸à¸·à¸à¸
+
+# Label text used for default state of details of message component.
+about-debugging-message-details-label = รายละà¹à¸à¸µà¸¢à¸
diff --git a/devtools/client/accessibility.ftl b/devtools/client/accessibility.ftl
new file mode 100644
index 00000000000..139098c1114
--- /dev/null
+++ b/devtools/client/accessibility.ftl
@@ -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/.
+
+
+### These strings are used inside the Accessibility panel.
+
+accessibility-learn-more = à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+accessibility-text-label-header = à¸à¹à¸²à¸¢à¸à¸·à¹à¸à¹à¸¥à¸°à¸à¸·à¹à¸à¸à¹à¸à¸à¸§à¸²à¸¡
+
+accessibility-keyboard-header = à¹à¸à¹à¸à¸à¸´à¸¡à¸à¹
+
+## Text entries that are used as text alternative for icons that depict accessibility isses.
+
+accessibility-warning =
+ .alt = à¸à¸³à¹à¸à¸·à¸à¸
+
+accessibility-fail =
+ .alt = à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸
+
+accessibility-best-practices =
+ .alt = วิà¸à¸µà¸à¸à¸´à¸à¸±à¸à¸´à¸à¸µà¹à¸à¸µà¸à¸µà¹à¸ªà¸¸à¸
+
+## 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 = à¹à¸à¹à¹à¸à¸à¸à¸£à¸´à¸à¸´à¸§à¸à¹ alt à¹à¸à¸·à¹à¸à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸¢à¸à¸·à¹à¸à¹à¸«à¹à¸à¸±à¸à¸à¸à¸à¹à¸à¸£à¸°à¸à¸à¸ area
à¸à¸µà¹à¸¡à¸µà¹à¸à¸à¸à¸£à¸´à¸à¸´à¸§à¸à¹ href à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+accessibility-text-label-issue-dialog = à¸à¸¥à¹à¸à¸à¹à¸à¹à¸à¸à¸à¸à¸§à¸£à¸¡à¸µà¸à¹à¸²à¸¢à¸à¸·à¹à¸ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+accessibility-text-label-issue-document-title = à¹à¸à¸à¸ªà¸²à¸£à¸à¹à¸à¸à¸¡à¸µ title à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+accessibility-text-label-issue-embed = à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸µà¹à¸à¸±à¸à¸à¹à¸à¸à¸¡à¸µà¸à¹à¸²à¸¢à¸à¸·à¹à¸ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+accessibility-text-label-issue-figure = รูà¸à¸ าà¸à¸à¸µà¹à¸¡à¸µà¸à¸³à¸à¸à¸´à¸à¸²à¸¢à¸ าà¸à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¸à¸§à¸£à¸¡à¸µà¸à¹à¸²à¸¢à¸à¸³à¸à¸±à¸ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+accessibility-text-label-issue-fieldset = à¸à¸à¸à¹à¸à¸£à¸°à¸à¸à¸ fieldset à¸à¹à¸à¸à¸¡à¸µà¸à¹à¸²à¸¢à¸à¸³à¸à¸±à¸ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+accessibility-text-label-issue-fieldset-legend2 = à¹à¸à¹à¸à¸à¸à¹à¸à¸£à¸°à¸à¸à¸ legend à¹à¸à¸·à¹à¸à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸¢à¸à¸³à¸à¸±à¸à¹à¸«à¹à¸à¸±à¸ fieldset à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+accessibility-text-label-issue-form = à¸à¸à¸à¹à¸à¸£à¸°à¸à¸à¸à¹à¸à¸à¸à¸à¸£à¹à¸¡à¸à¹à¸à¸à¸¡à¸µà¸à¹à¸²à¸¢à¸à¸·à¹à¸ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+accessibility-text-label-issue-form-visible = à¸à¸à¸à¹à¸à¸£à¸°à¸à¸à¸à¹à¸à¸à¸à¸à¸£à¹à¸¡à¸à¹à¸à¸à¸¡à¸µà¸à¹à¸²à¸¢à¸à¸³à¸à¸±à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸¡à¸à¸à¹à¸«à¹à¸à¹à¸à¹ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+accessibility-text-label-issue-frame = à¸à¸à¸à¹à¸à¸£à¸°à¸à¸à¸ frame à¸à¹à¸à¸à¸¡à¸µà¸à¹à¸²à¸¢à¸à¸³à¸à¸±à¸ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+accessibility-text-label-issue-glyph = à¹à¸à¹à¹à¸à¸à¸à¸£à¸´à¸à¸´à¸§à¸à¹ alt à¹à¸à¸·à¹à¸à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸¢à¸à¸³à¸à¸±à¸à¹à¸«à¹à¸à¸±à¸à¸à¸à¸à¹à¸à¸£à¸°à¸à¸à¸ mglyph à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+accessibility-text-label-issue-heading = หัวà¹à¸£à¸·à¹à¸à¸à¸à¹à¸à¸à¸¡à¸µà¸à¹à¸²à¸¢à¸à¸·à¹à¸ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+accessibility-text-label-issue-heading-content = หัวà¹à¸£à¸·à¹à¸à¸à¸à¸§à¸£à¸¡à¸µà¸à¸£à¸´à¸à¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸¡à¸à¸à¹à¸«à¹à¸à¹à¸à¹ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+accessibility-text-label-issue-iframe = à¹à¸à¹à¹à¸à¸à¸à¸£à¸´à¸à¸´à¸§à¸à¹ title à¹à¸à¸·à¹à¸à¸à¸à¸´à¸à¸²à¸¢à¹à¸à¸·à¹à¸à¸«à¸² iframe à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+accessibility-text-label-issue-image = à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸µà¹à¸¡à¸µà¸ าà¸à¸à¹à¸à¸à¸¡à¸µà¸à¹à¸²à¸¢à¸à¸·à¹à¸ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+accessibility-text-label-issue-interactive = à¸à¸à¸à¹à¸à¸£à¸°à¸à¸à¸à¹à¸à¸à¹à¸à¹à¸à¸à¸à¸à¹à¸à¸à¸¡à¸µà¸à¹à¸²à¸¢à¸à¸·à¹à¸ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+accessibility-text-label-issue-optgroup-label2 = à¹à¸à¹à¹à¸à¸à¸à¸£à¸´à¸à¸´à¸§à¸à¹ label à¹à¸à¸·à¹à¸à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸¢à¸à¸³à¸à¸±à¸à¹à¸«à¹à¸à¸±à¸ optgroup à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+accessibility-text-label-issue-toolbar = à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¹à¸à¸à¸¡à¸µà¸à¹à¸²à¸¢à¸à¸·à¹à¸à¹à¸¡à¸·à¹à¸à¸¡à¸µà¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸¡à¸²à¸à¸à¸§à¹à¸²à¸«à¸à¸¶à¹à¸à¹à¸à¸ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+## 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 = à¸à¸à¸à¹à¸à¸£à¸°à¸à¸à¸à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸à¸±à¸ªà¹à¸à¹à¸à¸§à¸£à¸¡à¸µà¸à¸²à¸£à¸ªà¸·à¹à¸à¸à¸§à¸²à¸¡à¸«à¸¡à¸²à¸¢à¹à¸à¸´à¸à¹à¸à¹à¸à¸à¸ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+accessibility-keyboard-issue-tabindex = หลีà¸à¹à¸¥à¸µà¹à¸¢à¸à¸à¸²à¸£à¹à¸à¹à¹à¸à¸à¸à¸£à¸´à¸à¸´à¸§à¸à¹ tabindex à¸à¸µà¹à¸¡à¸µà¸à¹à¸²à¸¡à¸²à¸à¸à¸§à¹à¸²à¸¨à¸¹à¸à¸¢à¹ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+accessibility-keyboard-issue-action = à¸à¸à¸à¹à¸à¸£à¸°à¸à¸à¸à¹à¸à¸´à¸à¹à¸à¹à¸à¸à¸à¸à¹à¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¸¢à¹à¸à¹à¹à¸à¹à¸à¸à¸´à¸¡à¸à¹à¹à¸à¹ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+accessibility-keyboard-issue-focusable = à¸à¸à¸à¹à¸à¸£à¸°à¸à¸à¸à¹à¸à¸´à¸à¹à¸à¹à¸à¸à¸à¸à¹à¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸à¸±à¸ªà¹à¸à¹ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+accessibility-keyboard-issue-focus-visible = à¸à¸à¸à¹à¸à¸£à¸°à¸à¸à¸à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸à¸±à¸ªà¹à¸à¹à¸à¸²à¸à¸à¸²à¸à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸²à¸£à¹à¸à¸à¸±à¸ª à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+accessibility-keyboard-issue-mouse-only = à¸à¸à¸à¹à¸à¸£à¸°à¸à¸à¸à¸à¸µà¹à¸à¸¥à¸´à¸à¹à¸à¹à¸à¹à¸à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸à¸±à¸ªà¹à¸à¹à¹à¸¥à¸°à¸à¸§à¸£à¸¡à¸µà¸à¸²à¸£à¸ªà¸·à¹à¸à¸à¸§à¸²à¸¡à¸«à¸¡à¸²à¸¢à¹à¸à¸´à¸à¹à¸à¹à¸à¸à¸ à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
diff --git a/devtools/client/accessibility.properties b/devtools/client/accessibility.properties
new file mode 100644
index 00000000000..5342e9cbdd4
--- /dev/null
+++ b/devtools/client/accessibility.properties
@@ -0,0 +1,298 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 (accessibility.role): A title text used for Accessibility
+# tree header column that represents accessible element role.
+accessibility.role=à¸à¸à¸à¸²à¸
+
+# LOCALIZATION NOTE (accessibility.name): A title text used for Accessibility
+# tree header column that represents accessible element name.
+accessibility.name=à¸à¸·à¹à¸
+
+# LOCALIZATION NOTE (accessibility.logo): A title text used for Accessibility
+# logo used on the accessibility panel landing page.
+accessibility.logo=à¹à¸¥à¹à¸à¹à¸à¸²à¸£à¸à¹à¸§à¸¢à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸
+
+# LOCALIZATION NOTE (accessibility.properties): A title text used for header
+# for Accessibility details sidebar.
+accessibility.properties=à¸à¸¸à¸à¸ªà¸¡à¸à¸±à¸à¸´
+
+# LOCALIZATION NOTE (accessibility.treeName): A title text used for
+# Accessibility tree (that represents accessible element name) container.
+accessibility.treeName=à¸à¹à¸à¹à¸¡à¹à¸à¸²à¸£à¸à¹à¸§à¸¢à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸
+
+# LOCALIZATION NOTE (accessibility.accessible.notAvailable): A title text
+# displayed when accessible sidebar panel does not have an accessible object to
+# display.
+accessibility.accessible.notAvailable=à¹à¸¡à¹à¸¡à¸µà¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¹à¸§à¸¢à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸
+
+# LOCALIZATION NOTE (accessibility.enable): A title text for Enable
+# accessibility button used to enable accessibility service.
+accessibility.enable=à¹à¸à¸´à¸à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸²à¸£à¸à¹à¸§à¸¢à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸
+
+# LOCALIZATION NOTE (accessibility.enabling): A title text for Enable
+# accessibility button used when accessibility service is being enabled.
+accessibility.enabling=à¸à¸³à¸¥à¸±à¸à¹à¸à¸´à¸à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸²à¸£à¸à¹à¸§à¸¢à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸â¦
+
+# LOCALIZATION NOTE (accessibility.disable): A title text for Disable
+# accessibility button used to disable accessibility service.
+accessibility.disable=à¸à¸´à¸à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸²à¸£à¸à¹à¸§à¸¢à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸
+
+# LOCALIZATION NOTE (accessibility.disabling): A title text for Disable
+# accessibility button used when accessibility service is being
+# disabled.
+accessibility.disabling=à¸à¸³à¸¥à¸±à¸à¸à¸´à¸à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸²à¸£à¸à¹à¸§à¸¢à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸â¦
+
+# LOCALIZATION NOTE (accessibility.pick): A title text for Picker button
+# button used to pick accessible objects from the page.
+accessibility.pick=à¹à¸¥à¸·à¸à¸à¸§à¸±à¸à¸à¸¸à¸à¸µà¹à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¹à¸à¸²à¸à¸«à¸à¹à¸²
+
+# 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=à¸à¸£à¸´à¸à¸²à¸£à¸à¸²à¸£à¸à¹à¸§à¸¢à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¹à¸à¹ à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸¹à¸à¹à¸à¹à¸ ายà¸à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸±à¸à¸à¸±à¸à¸à¸²
+
+# 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=à¸à¸£à¸´à¸à¸²à¸£à¸à¸²à¸£à¸à¹à¸§à¸¢à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸°à¸à¸¹à¸à¸à¸´à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¹à¸à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+
+# 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=à¸à¸£à¸´à¸à¸²à¸£à¸à¸²à¸£à¸à¹à¸§à¸¢à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¸´à¸à¹à¸à¹ à¹à¸à¸·à¹à¸à¸à¸à¸²à¸à¸à¸¹à¸à¸à¸´à¸à¸à¹à¸²à¸à¸à¹à¸²à¸à¸³à¸«à¸à¸à¸à¸§à¸²à¸¡à¹à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸±à¸§à¸à¸£à¸´à¸à¸²à¸£à¸à¸²à¸£à¸à¹à¸§à¸¢à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸
+
+# 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=à¸à¸£à¸´à¸à¸²à¸£à¸à¸²à¸£à¸à¹à¸§à¸¢à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸°à¸à¸¹à¸à¹à¸à¸´à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸à¹à¸à¹à¸¥à¸°à¸«à¸à¹à¸²à¸à¹à¸²à¸à¸à¸±à¹à¸à¸«à¸¡à¸
+
+# 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=à¹à¸£à¸µà¸¢à¸à¸£à¸¹à¹à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡
+
+# 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=à¸à¸±à¸§à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸²à¸£à¸à¹à¸§à¸¢à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸«à¹à¸à¸¸à¸à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸à¸à¸²à¸£à¸à¹à¸§à¸¢à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸à¸à¸«à¸à¹à¸²à¸à¸±à¸à¸à¸¸à¸à¸±à¸ à¸à¸¶à¹à¸à¸à¸¹à¸à¹à¸à¹à¹à¸à¸¢à¹à¸à¸£à¹à¸à¸£à¸¡à¸à¹à¸²à¸à¸«à¸à¹à¸²à¸à¸à¹à¸¥à¸°à¹à¸à¸à¹à¸à¹à¸¥à¸¢à¸µà¸à¹à¸§à¸¢à¹à¸«à¸¥à¸·à¸à¸à¸·à¹à¸à¹ %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=à¸à¸¸à¸à¸¥à¸±à¸à¸©à¸à¸°à¸à¸²à¸£à¸à¹à¸§à¸¢à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¸à¸²à¸à¸ªà¹à¸à¸à¸¥à¸à¹à¸à¹à¸à¸à¹à¸à¸£à¸·à¹à¸à¸à¸¡à¸·à¸à¸à¸±à¸à¸à¸±à¸à¸à¸²à¹à¸¥à¸°à¸à¸§à¸£à¸à¸´à¸à¹à¸¡à¸·à¹à¸à¹à¸¡à¹à¹à¸à¹à¹à¸à¹
+
+# 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=à¸à¸´à¸¡à¸à¹à¹à¸à¹à¸ JSON
+
+# LOCALIZATION NOTE (accessibility.checks): A title text used for header for checks
+# section in Accessibility details sidebar.
+accessibility.checks=à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸
+
+# 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=à¹à¸¡à¹à¸¡à¸µà¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¹à¸«à¸à¸à¸à¸µà¹
+
+# LOCALIZATION NOTE (accessibility.contrast.header): A title text used for header for
+# checks related to color and contrast.
+accessibility.contrast.header=สีà¹à¸¥à¸°à¸à¸§à¸²à¸¡à¹à¸à¸£à¸µà¸¢à¸à¸à¹à¸²à¸
+
+# 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=à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸à¸§à¸
+
+# 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=à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸à¸²à¸à¹à¸«à¸à¹
+
+# 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=à¸à¹à¸à¸à¸§à¸²à¸¡à¸¡à¸µà¸à¸à¸²à¸ 14 à¸à¸¸à¸à¹à¸¥à¸°à¸«à¸à¸²à¸«à¸£à¸·à¸à¹à¸«à¸à¹à¸à¸§à¹à¸² หรืà¸à¸¡à¸µà¸à¸à¸²à¸ 18 à¸à¸¸à¸à¸«à¸£à¸·à¸à¹à¸«à¸à¹à¸à¸§à¹à¸²
+
+# 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=à¸à¸£à¸à¸à¸²à¸¡à¸¡à¸²à¸à¸£à¸à¸²à¸ WCAG AA สำหรัà¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¹ %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=à¸à¸£à¸à¸à¸²à¸¡à¸¡à¸²à¸à¸£à¸à¸²à¸ WCAG AAA สำหรัà¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¹ %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=à¹à¸¡à¹à¸à¸£à¸à¸à¸²à¸¡à¸¡à¸²à¸à¸£à¸à¸²à¸ WCAG สำหรัà¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¹ %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=à¹à¸¥à¸·à¸à¸à¸ªà¸µà¸à¸µà¹à¹à¸¡à¹à¹à¸à¸£à¹à¸à¹à¸ª
+
+# 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=à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸²à¸£à¸à¹à¸§à¸¢à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸
+
+# 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=à¹à¸¡à¹à¸¡à¸µ
+
+# 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=à¸à¸±à¸à¸«à¸²à¸à¸±à¹à¸à¸«à¸¡à¸
+
+# 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=à¸à¸§à¸²à¸¡à¹à¸à¸£à¸µà¸¢à¸à¸à¹à¸²à¸
+
+# 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=à¸à¹à¸²à¸¢à¸à¸·à¹à¸à¸à¹à¸à¸à¸§à¸²à¸¡
+
+# 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=à¹à¸à¹à¸à¸à¸´à¸¡à¸à¹
+
+# 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=à¸à¸§à¸²à¸¡à¹à¸à¸£à¸µà¸¢à¸à¸à¹à¸²à¸
+
+# 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=à¸à¸³à¹à¸à¸·à¸à¸à¸à¸§à¸²à¸¡à¹à¸à¸£à¸µà¸¢à¸à¸à¹à¸²à¸
+
+# 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=à¹à¸à¹à¸à¸à¸´à¸¡à¸à¹
+
+# 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=à¸à¹à¸²à¸¢à¸à¸·à¹à¸à¸à¹à¸à¸à¸§à¸²à¸¡
+
+# 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=à¹à¸¡à¹à¸à¸£à¸à¸à¸²à¸¡à¸¡à¸²à¸à¸£à¸à¸²à¸ WCAG สำหรัà¸à¸à¹à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¹
+
+# 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=à¹à¸¡à¹à¸à¸£à¸à¸à¸²à¸¡à¸¡à¸²à¸à¸£à¸à¸²à¸ WCAG สำหรัà¸à¸à¸²à¸£à¸à¹à¸§à¸¢à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸à¹à¸à¹à¸à¸à¸´à¸¡à¸à¹
+
+# 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=à¹à¸¡à¹à¸à¸£à¸à¸à¸²à¸¡à¸¡à¸²à¸à¸£à¸à¸²à¸ WCAG สำหรัà¸à¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸ªà¸à¸à¹à¸à¸
+
+# 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=à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸±à¸à¸«à¸²:
+
+# LOCALIZATION NOTE (accessibility.tree.filters.prefs): A title text for the
+# preferences button tooltip that contains preferences for accessibility audit.
+accessibility.tree.filters.prefs=à¸à¸³à¸«à¸à¸à¸à¹à¸²à¸à¸²à¸£à¸à¸³à¸«à¸à¸à¸¥à¸±à¸à¸©à¸à¸°
+
+# LOCALIZATION NOTE (accessibility.progress.initializing): A title text for the
+# accessibility panel overlay shown when accessibility audit is starting up.
+accessibility.progress.initializing=à¸à¸³à¸¥à¸±à¸à¹à¸à¸£à¸µà¸¢à¸¡à¹à¸à¹à¸à¸²à¸â¦
+
+# 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=à¸à¸³à¸¥à¸±à¸à¸à¸£à¸§à¸à¸ªà¸à¸ #1 à¹à¸«à¸à¸
+
+# LOCALIZATION NOTE (accessibility.progress.finishing): A title text for the
+# accessibility panel overlay shown when accessibility audit is finishing up.
+accessibility.progress.finishing=à¸à¸³à¸¥à¸±à¸à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¹à¸«à¹à¹à¸ªà¸£à¹à¸à¸ªà¸´à¹à¸â¦
+
+# LOCALIZATION NOTE (accessibility.beta): A title text for the features in the
+# accessibility panel that are currently in beta.
+accessibility.beta=beta
+
+# 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=à¹à¸¥à¸·à¹à¸à¸à¹à¸«à¸à¸à¸à¸µà¹à¹à¸¥à¸·à¸à¸à¹à¸à¹à¸à¸¡à¸¸à¸¡à¸¡à¸à¸à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´
+
+# 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=à¹à¸¥à¸·à¹à¸à¸à¹à¸à¹à¸à¸¡à¸¸à¸¡à¸¡à¸à¸
+
+# LOCALIZATION NOTE (accessibility.documentation.label): This is the label for
+# the Documentation menu item.
+accessibility.documentation.label=à¹à¸à¸à¸ªà¸²à¸£à¸à¸£à¸°à¸à¸à¸â¦
+
+# 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=à¸à¸³à¸¥à¸à¸:
+
+# 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=à¸à¸²à¸à¸à¸à¸ªà¸µà¹à¸à¸
+
+# 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=à¸à¸²à¸à¸à¸à¸ªà¸µà¹à¸à¸µà¸¢à¸§
+
+# 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=à¸à¸²à¸à¸à¸à¸ªà¸µà¸à¹à¸³à¹à¸à¸´à¸
+
+# 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=à¸à¸²à¸£à¸ªà¸¹à¸à¹à¸ªà¸µà¸¢à¸à¸§à¸²à¸¡à¹à¸à¸£à¸µà¸¢à¸à¸à¹à¸²à¸
+
+# 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=à¸à¸²à¸à¸à¸à¸à¸¸à¸à¸ªà¸µ
+
+# 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=à¹à¸ªà¸à¸à¸¥à¸³à¸à¸±à¸à¹à¸à¹à¸
+
+# 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=à¹à¸ªà¸à¸à¸¥à¸³à¸à¸±à¸à¹à¸à¹à¸à¸à¸à¸à¸à¸à¸à¹à¸à¸£à¸°à¸à¸à¸à¹à¸¥à¸°à¸à¸±à¸à¸à¸µà¹à¸à¹à¸
diff --git a/devtools/client/animationinspector.properties b/devtools/client/animationinspector.properties
new file mode 100644
index 00000000000..149750d1fe2
--- /dev/null
+++ b/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=à¹à¸¡à¹à¸à¸à¸ าà¸à¹à¸à¸¥à¸·à¹à¸à¸à¹à¸«à¸§à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸à¸à¹à¸à¸£à¸°à¸à¸à¸à¸à¸±à¸à¸à¸¸à¸à¸±à¸\nà¹à¸¥à¸·à¸à¸à¸à¸à¸à¹à¸à¸£à¸°à¸à¸à¸à¸à¸·à¹à¸à¸à¸²à¸à¸«à¸à¹à¸²
+
+# LOCALIZATION NOTE (player.animationDurationLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation duration.
+player.animationDurationLabel=ระยะà¹à¸§à¸¥à¸²:
+
+# 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=หà¸à¹à¸§à¸à¹à¸§à¸¥à¸²:
+
+# LOCALIZATION NOTE (player.animationEndDelayLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation endDelay.
+player.animationEndDelayLabel=à¸à¸à¸à¸²à¸£à¸«à¸à¹à¸§à¸à¹à¸§à¸¥à¸²:
+
+# 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=à¸à¸±à¸à¸£à¸²à¸à¸²à¸£à¹à¸¥à¹à¸:
+
+# 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=à¸à¸³à¸à¹à¸³:
+
+# 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=∞
+
+# 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=à¸à¸²à¸£à¸à¸§à¸à¸à¹à¸³à¹à¸£à¸´à¹à¸¡: %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=Easing à¸à¸±à¹à¸à¸«à¸¡à¸:
+
+# 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=à¸à¸±à¸à¸à¹à¸à¸±à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸§à¸¥à¸²à¸ าà¸à¹à¸à¸¥à¸·à¹à¸à¸à¹à¸«à¸§:
+
+# 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=à¹à¸à¸´à¸¡:
+
+# 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=à¸à¸´à¸¨à¸à¸²à¸:
+
+# 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=ภาà¸à¹à¸à¸¥à¸·à¹à¸à¸à¹à¸«à¸§à¸à¸µà¹à¸à¸³à¸¥à¸±à¸à¸à¸³à¸à¸²à¸à¸à¸ Compositor thread
+
+# 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=à¸à¸¸à¸à¸ªà¸¡à¸à¸±à¸à¸´à¸ าà¸à¹à¸à¸¥à¸·à¹à¸à¸à¹à¸«à¸§à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸¹à¸à¹à¸à¸´à¹à¸¡à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸
+
+# 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=à¸à¸¸à¸à¸ªà¸¡à¸à¸±à¸à¸´à¸ าà¸à¹à¸à¸¥à¸·à¹à¸à¸à¹à¸«à¸§à¸à¸²à¸à¸ªà¹à¸§à¸à¸à¸¹à¸à¹à¸à¸´à¹à¸¡à¸à¸£à¸°à¸ªà¸´à¸à¸à¸´à¸ าà¸
+
+# 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=à¹à¸¥à¹à¸à¸ าà¸à¹à¸à¸¥à¸·à¹à¸à¸à¹à¸«à¸§à¸à¹à¸
+
+# 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=หยุà¸à¸ าà¸à¹à¸à¸¥à¸·à¹à¸à¸à¹à¸«à¸§à¸à¸±à¹à¸§à¸à¸£à¸²à¸§
+
+# 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=à¸à¸£à¸à¸ าà¸à¹à¸à¸¥à¸·à¹à¸à¸à¹à¸«à¸§à¸à¸¥à¸±à¸
+
+# 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 - ภาà¸à¹à¸à¸¥à¸·à¹à¸à¸à¹à¸«à¸§ 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 - à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¹à¸²à¸ 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 - ภาà¸à¹à¸à¸¥à¸·à¹à¸à¸à¹à¸«à¸§à¸à¸²à¸à¸ªà¸à¸£à¸´à¸à¸à¹
+
+# 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=ภาà¸à¹à¸à¸¥à¸·à¹à¸à¸à¹à¸«à¸§à¸à¸²à¸à¸ªà¸à¸£à¸´à¸à¸à¹
+
+# 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/devtools/client/application.ftl b/devtools/client/application.ftl
new file mode 100644
index 00000000000..a0377cb67b5
--- /dev/null
+++ b/devtools/client/application.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/.
+
+
+### 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 = à¸à¸±à¸§à¸à¸³à¸à¸²à¸à¸à¸£à¸´à¸à¸²à¸£
+
+# 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 = à¹à¸à¸´à¸ about:debugging สำหรัà¸à¸à¸±à¸§à¸à¸³à¸à¸²à¸à¸à¸£à¸´à¸à¸²à¸£à¸à¸²à¸à¹à¸à¹à¸¡à¸à¸à¸·à¹à¸ à¹
+
+# Text for the button to unregister a Service Worker. Displayed for active Service Workers.
+serviceworker-worker-unregister = à¹à¸¥à¸´à¸à¸¥à¸à¸à¸°à¹à¸à¸µà¸¢à¸
+
+# 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 = à¸à¸µà¸à¸±à¹à¸
+ .title = สามารà¸à¸à¸µà¸à¸±à¹à¸à¹à¸à¹à¹à¸à¸à¸²à¸°à¹à¸§à¸´à¸£à¹à¸à¹à¸à¸à¸£à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸µà¹à¸à¸³à¸à¸²à¸à¸à¸¢à¸¹à¹à¹à¸à¹à¸²à¸à¸±à¹à¸
+
+# Alt text for the image icon displayed inside a debug link for a service worker.
+serviceworker-worker-inspect-icon =
+ .alt = à¸à¸£à¸§à¸à¸ªà¸à¸
+
+# 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 = à¹à¸£à¸´à¹à¸¡
+
+# Text displayed for the updated time of the service worker. The